|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/advanced-modeling
课程评论:没有评论
课程名称:离散优化高级建模 课程概述:优化是决策的一种常见形式,广泛应用于社会的各个领域。其应用范围从解数独谜题到婚宴座位安排,甚至可以用于飞机及其机组人员的调度、钢铁生产的协调以及铁矿石从矿区到港口的运输。有效的人力和物资资源管理能够为企业节省数百万美元的利润。类似的问题也贯穿我们的日常生活,如包裹的递送路线、学校的课程表以及家庭用电的分配。尽管这些问题至关重要,但使用传统的计算机科学方法解决时往往非常困难。 本课程针对已完成基础离散优化建模的学生,您将学习如何利用先进的高级建模语言来解决复杂的离散优化问题,并借助库约束求解软件来完成其余部分。课程内容将侧重于调试和改进模型、将模型部分封装在谓词中,以及处理高级调度和包装问题。随着对这一高级技术的掌握,您将能够解决过去无法想象的问题。 课程大纲: 1. 模块名称:调试和改进模型 描述:模型与计算机程序类似,可能存在缺陷。在这一模块中,您将看到不同缺陷的症状(不可满足、解的数量过多或过少),并学习发现模型问题的相关方法以及修正方法。掌握这些工具后,您将能够开发和调试复杂模型。 2. 模块名称:谓词 描述:在这一模块中,您将学习如何将复杂约束定义封装在谓词定义中,以实现重用。这将使您能够构建更复杂且具有更好可读性的模块化模型。您还将首次遇到多目标问题,并学习如何将其压缩为一个单一目标。此外,您将学习婚宴座位问题的建模,这将在生活中的许多场合帮助您。 3. 模块名称:调度 描述:学习如何解决各种形式的复杂项目调度问题,从仅有基础优先级要求的问题到具有单一资源甚至累计资源的问题。您将看到如何在这些应用中建模一些复杂的约束。 4. 模块名称:包装 描述:在这一模块中,您将学习包装的重要应用,从正方形到不规则形状的打包,包括旋转与否。您将再次看到如何建模这些应用中出现的一些复杂约束。 5. 模块名称:对称性与优势 描述:最后一个模块探讨了离散优化问题中可能出现的各种对称形式。您将学习各种方法和特殊约束以打破这些对称性,从而提高求解效率。此外,您还将学习优势的概念,这是一种对称性的一般化,并掌握打破优势的技术。 观看课程宣传视频,请点击:[这里](https://www.youtube.com/watch?v=hc3cBvtrem0&t=8s)
Name:Debugging and Improving Models
Description:Similar to computer programs, models can have bugs. In this module, you will see the symptoms (unsatisfiability, too many solutions, too few solutions) of different bugs, and learn methods to discover what is going wrong with your model and how to fix it. Equipped with these tools, you will be able to develop and debug complex models.
Name:Predicates
Description:In this module, you will learn how to encapsulate a complex constraint definition in a predicate definition to enable its reuse. This will enable the construction of far more complex models with improved readability in a modular manner. You will also encounter for the first time a problem with multiple objectives and learn how to compress them into one single objective. In addition to this, you will learn how to model the banquet seating problem, which will assist you in many occasions in life.
Name:Scheduling
Description:Learn how to tackle complex project scheduling problems of various forms, progressively from ones with only basic precedence requirements to ones with unary resources and even cumulative resources. You will see how to model some of the complex constraints that arise in these applications.
Name:Packing
Description:In this module, you will learn the important application of packing, from the packing of squares to rectilinear shapes with and without rotation. Again, you will see how to model some of the complex constraints that arise in these applications.
Name:Symmetry and Dominance
Description:This final module looks at the various forms of symmetries that can appear in discrete optimization problems. You will learn various methods and special constraints to break such symmetries so as to increase solving efficiency. You will also learn the notion of dominance, which is a generalization of symmetries, and also dominance breaking techniques.
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 who have completed Basic Modelling for Discrete Optimization. In this course you will learn much more about solving challenging discrete optimization 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 course will focus on debugging and improving models, encapsulating parts of models in predicates, and tackling advanced scheduling and packing problems. As you master this advanced technology, you will be able to tackle problems that were inconceivable to solve previously. Watch the course promotional video here: https://www.youtube.com/watch?v=hc3cBvtrem0&t=8s