|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/basic-modeling
课程评论:没有评论
课程名称:离散优化基础建模 课程概述:优化是一种常见的决策形式,在我们社会中无处不在。其应用范围从解决数独游戏到婚宴座位安排,涉及飞机和机组人员调度、钢铁生产协调,以及从矿山到港口的铁矿石运输等。有效的人力和物资管理决策能够帮助企业提高数百万美元的利润。这些问题也贯穿于我们的日常生活中,包括快递的日常送货路线、学校课程表的制定以及家庭供电等。尽管这些问题极为重要,但用传统的本科计算机科学方法解决它们却非常困难。 本课程旨在帮助有兴趣处理各种优化应用的学生。您将学习一种全新的思维方式,通过使用先进的高级建模语言来阐述问题,并借助库约束求解软件完成后续步骤。这将使您能够充分发挥工业求解技术的力量,这些技术经过数十年和上百位博士研究者的完善,使得原本被认为是不可解决的问题变得简单易行。 课程大纲: 1. MiniZinc简介:您将学习MiniZinc的基础知识,这是一种用于离散优化问题的高级建模语言。结合MiniZinc的简便性与开源工业求解技术的强大,您将轻松解决背包问题、图着色、生产计划和复杂的算术谜题等应用。 2. 集合建模:您将学习如何建模涉及集合选择的问题。特别是,您将看到在变量没有基数约束、具有固定基数和有界基数时表示集合变量的不同方式。您还需要确保所有模型决策都是有效的,并且每个有效决策对应于恰好一个模型决策。 3. 函数建模:您将学习如何建模纯分配问题和分区问题,这些问题在某种程度上是函数的变体。这些问题在排班和约束聚类中有应用。在建模技术方面,您将看到公共子表达式消除和中间变量的强大,以及第一次接触全局基数约束。此外,MiniZinc还提供去除值对称的约束。 4. 多重建模:在本课程的最后模块中,您将看到离散优化问题常常可以从多个角度来看待,并且可以从每个角度完全不同地建模。每种观点可能具有优缺点,并且不同模型之间可以互相结合以互助。 通过本课程,您将掌握离散优化的建模技巧,打开解决复杂问题的新视野。
Name:MiniZinc introduction
Description:In this first module, you will learn the basics of MiniZinc, a high-level modeling language for discrete optimization problems. Combining the simplicity of MiniZinc with the power of open-source industrial solving technologies, you will learn how to solve applications such as knapsack problems, graph coloring, production planning and tricky Cryptarithm puzzles, with great ease.
Name:Modeling with Sets
Description:In this module, you will learn how to model problems involving set selection. In particular, you will see different ways of representing set variables when the variable has no constraints on its cardinality, has fixed cardinality and bounded cardinality. You also have to ensure all model decisions are valid decisions, and each valid decision corresponds to exactly one model decision.
Name:Modeling with Functions
Description:In this module, you will learn how to model pure assignment problems and partition problems, which are functions in disguise. These problems find applications in rostering and constrained clustering. In terms of modeling techniques, you will see the power of common subexpression elimination and intermediate variables, and encounter the global cardinality constraint for the first time. MiniZinc also provides constraints for removing value symmetries.
Name:Multiple Modeling
Description:In the final module of this course you will see how discrete optimization problems can often be seen from multiple viewpoints, and modeled completely differently from each viewpoint. Each viewpoint may have strengths and weaknesses, and indeed the different models can be combined to help each other.
Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars. Similar problems also underpin much of our daily lives and are part of determining daily delivery routes for packages, making school timetables, and delivering power to our homes. Despite their fundamental importance, all of these problems are a nightmare to solve using traditional undergraduate computer science methods. This course is intended for students interested in tackling all facets of optimization applications. You will learn an entirely new way to think about solving these challenging problems by stating the problem in a state-of-the-art high level modeling language, and letting library constraint solving software do the rest. This will allow you to unlock the power of industrial solving technologies, which have been perfected over decades by hundreds of PhD researchers. With access to this advanced technology, problems that are considered inconceivable to solve before will suddenly become easy. Watch the course promotional video here: https://www.youtube.com/watch?v=hc3cBvtrem0&t=8s