We may earn an affiliate commission when you visit our partners.
Course image
Prof. Peter James Stuckey and Prof. Jimmy Ho Man Lee

优化问题是一种常见的决策问题,它在我们的社会中很常见。它的应用可以从数独问题的解决涵盖到婚礼的座次安排。同样的技术可以用于航班与机组成员的安排,钢铁生产的调节,和钢铁从矿区到港口的调度问题。在生产中,人力资源与生产材料的合理决策可以使企业获得成千上万的利润提升。类似的问题也存在于我们的日常生活中,它们包括决定包裹的运输路径,调整学校课程时间,和传输能源到千家万户。尽管这些问题很基础,不过以一般本科教育的知识来解决这些问题都会十分困难。

这个课程是设计给已完成离散优化建模基础篇的同学。你将学习到更多关于如何使用先进的高级建模语言表述清楚具有挑战性的离散优化问题,并让约束求解器完成其余工作。本课程将重点介绍模型调试与改良,如何把一个复杂的约束定义封装到一个谓词里面,及如何着手各种复杂的项目调度和打包问题。当你掌握这种先进的技术,你将能够解决以前难以想象的问题。

Enroll now

What's inside

Syllabus

调试与改良模型
跟计算机程序一样,模型也会有错误。在这一单元中,你将会看到许多不同错误的症状(如不能满足,太多解,太少解),而且学到不同的方法来发现你的模型的问题在哪里,你可以如何去修复它们。有了这些技能,你就可以开发和调试复杂的模型。这个单元的学习目标是:1.改正不正确的Minizinc模型; 2. 运用调试技巧来查明模型里面的错误; 3. 解释在关系语义下的一些为定义的表达式; 4. 修改一个正确的MiniZinc模型从而让它变得更有效率。
Read more
谓词
在这个模块中你将会学习到如何把一个复杂的约束定义封装到一个谓词里面,从而可以重复使用它。这可以让你建立越来越复杂的模型的同时,通过模块化的方式提升它的可读性。你将会第一次碰到多目标函数的问题,和学习如何压缩他们到一个目标函数里。除此以外,你还会学到如何对于安排宴会座次问题进行建模,这会在日常生活的许多场景中帮到你。你的学习目标有:1. 建立一个模型利用谓词和局部变量来让重要的约束抽象化; 2. 对于在MiniZinc模型中的不同的表达式进行分类。
调度问题
学习如何着手各种复杂的项目调度问题,从只有简单的次序要求的问题到有单一资源甚至累积资源的问题。你将会在这些应用中看到如何对于一些复杂的约束进行建模。这个单元的学习目标有: 1. 建立复杂的调度问题的模型; 2. 发现调度问题的子结构,如问题中分离调度和累积调度。
Packing 打包问题
在这个单元中,你可以学习到打包问题的一些重要应用,从正方形打包到直边形打包(考虑或不考虑旋转)。同样地,你将会看到在这些应用中如何对一些复杂的约束进行建模。你的学习目标有:1. 建立一个复杂的打包模型; 2. 通过全局约束(如diffn和geost)来描述打包问题。
对称与支配
在最后的单元中,我们将会探讨在离散优化问题中不同类型的对称。你将会学到如何用不同的方法和特殊的约束来打破这种对称性从而提升解决的效率。你也将会学到支配的概念,一种更广义上的对称,还有打破支配的技巧。你的学习目标有:1. 在问题的陈述中发现对称性; 2. 通过增加适当的打破对称性的约束来更改具有对称性的MiniZinc的模型; 3. 总结模型中存在的不同类型的对称; 4. 通过发现支配来提升模型。

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Builds a strong foundation for beginners who want to explore optimization techniques
Taught by professors who are recognized for their work in constraint optimization
Covers advanced techniques for modeling and solving challenging optimization problems
Develops skills that are highly relevant in academic research and industrial applications
Facilitates efficient and accurate modeling of complex optimization problems
Requires prior knowledge in discrete optimization modeling

Save this course

Save 离散优化建模高阶篇 Advanced Modeling for Discrete Optimization to your list so you can find it easily later:
Save

Reviews summary

Advanced modeling for optimization

This course builds on an introductory modeling course in discrete optimization. It teaches advanced techniques for formulating discrete optimization problems in a high-level language and letting a constraint solver do the rest. The course is focused on debugging and improving models, encapsulating complex constraint definitions into a predicate, and tackling complex scheduling and packing problems. Upon mastering these advanced techniques, you will be able to solve problems that were previously unimaginable.
Instructions are very clear.
"... the instructions were crystal clear"
Interesting and engaging material.
"... the material was engaging ..."
Highly structured and effective course.
"this course was structured and effective"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 离散优化建模高阶篇 Advanced Modeling for Discrete Optimization with these activities:
使用 MiniZinc 求解器
通过使用教程来熟悉 MiniZinc 求解器将使你能够更有效地解决优化问题。
Browse courses on MiniZinc
Show steps
  • 查找关于 MiniZinc 求解器的教程
  • 按照教程学习如何使用求解器
  • 尝试使用求解器解决一些示例问题
调试 MiniZinc 模型
通过定期练习解决调试问题,你可以提高识别和解决你模型中的错误的能力。
Browse courses on MiniZinc
Show steps
  • 在你的 MiniZinc 模型中引入错误
  • 尝试解决错误,直到你的模型可以正确运行
Show all two activities

Career center

Learners who complete 离散优化建模高阶篇 Advanced Modeling for Discrete Optimization will develop knowledge and skills that may be useful to these careers:
Operations Research Analyst
Operations Research Analysts use advanced analytical techniques to help organizations make better decisions. They may work in a variety of industries, including manufacturing, healthcare, finance, and transportation. This course can help Operations Research Analysts develop the skills they need to succeed in their careers. It will provide them with a strong foundation in the theory and practice of discrete optimization, as well as the skills they need to use optimization software to solve real-world problems.
Data Scientist
Data Scientists use data to solve problems and make better decisions. They may work in a variety of industries, including healthcare, finance, and retail. This course can help Data Scientists develop the skills they need to succeed in their careers. It will provide them with a strong foundation in the theory and practice of discrete optimization, as well as the skills they need to use optimization software to solve real-world problems.
Management Consultant
Management Consultants help organizations improve their performance. They may work in a variety of areas, including strategy, operations, and technology. This course can help Management Consultants develop the skills they need to succeed in their careers. It will provide them with a strong foundation in the theory and practice of discrete optimization, as well as the skills they need to use optimization software to solve real-world problems.
Software Engineer
Software Engineers design, develop, and maintain software applications. They may work in a variety of industries, including technology, finance, and healthcare. This course can help Software Engineers develop the skills they need to succeed in their careers. It will provide them with a strong foundation in the theory and practice of discrete optimization, as well as the skills they need to use optimization software to solve real-world problems.
Business Analyst
Business Analysts help organizations improve their performance by analyzing their business processes and identifying areas for improvement. They may work in a variety of industries, including healthcare, finance, and manufacturing. This course can help Business Analysts develop the skills they need to succeed in their careers. It will provide them with a strong foundation in the theory and practice of discrete optimization, as well as the skills they need to use optimization software to solve real-world problems.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical methods to analyze financial data. They may work in a variety of industries, including investment banking, hedge funds, and asset management. This course can help Quantitative Analysts develop the skills they need to succeed in their careers. It will provide them with a strong foundation in the theory and practice of discrete optimization, as well as the skills they need to use optimization software to solve real-world problems.
Industrial Engineer
Industrial Engineers design, improve, and install integrated systems for managing industrial production and operations. They may work in a variety of industries, including manufacturing, healthcare, and transportation. This course can help Industrial Engineers develop the skills they need to succeed in their careers. It will provide them with a strong foundation in the theory and practice of discrete optimization, as well as the skills they need to use optimization software to solve real-world problems.
Systems Analyst
Systems Analysts design, develop, and implement computer systems. They may work in a variety of industries, including technology, finance, and healthcare. This course can help Systems Analysts develop the skills they need to succeed in their careers. It will provide them with a strong foundation in the theory and practice of discrete optimization, as well as the skills they need to use optimization software to solve real-world problems.
Logistics Manager
Logistics Managers plan, implement, and control the flow of goods and services. They may work in a variety of industries, including manufacturing, transportation, and retail. This course may be useful for Logistics Managers who want to develop a stronger foundation in discrete optimization. It will provide them with the skills they need to use optimization software to solve real-world problems.
Operations Manager
Operations Managers plan and direct the activities of an organization's production and delivery systems. They may work in a variety of industries, including manufacturing, healthcare, and retail. This course may be useful for Operations Managers who want to develop a stronger foundation in discrete optimization. It will provide them with the skills they need to use optimization software to solve real-world problems.
Financial Analyst
Financial Analysts analyze financial data to make investment recommendations. They may work in a variety of industries, including investment banking, hedge funds, and asset management. This course may be useful for Financial Analysts who want to develop a stronger foundation in discrete optimization. It will provide them with the skills they need to use optimization software to solve real-world problems.
Actuary
Actuaries use mathematical and statistical methods to assess risk and uncertainty. They may work in a variety of industries, including insurance, healthcare, and finance. This course may be useful for Actuaries who want to develop a stronger foundation in discrete optimization. It will provide them with the skills they need to use optimization software to solve real-world problems.
Economist
Economists study the production, distribution, and consumption of goods and services. They may work in a variety of industries, including government, academia, and business. This course may be useful for Economists who want to develop a stronger foundation in discrete optimization. It will provide them with the skills they need to use optimization software to solve real-world problems.
Statistician
Statisticians collect, analyze, and interpret data. They may work in a variety of industries, including healthcare, finance, and marketing. This course may be useful for Statisticians who want to develop a stronger foundation in discrete optimization. It will provide them with the skills they need to use optimization software to solve real-world problems.
Project Manager
Project Managers plan, organize, and execute projects. They may work in a variety of industries, including construction, engineering, and technology. This course may be useful for Project Managers who want to develop a stronger foundation in discrete optimization. It will provide them with the skills they need to use optimization software to solve real-world problems.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 离散优化建模高阶篇 Advanced Modeling for Discrete Optimization.
本书提供了整数和组合优化问题的全面概述,包括建模技术、求解算法和复杂性分析。它提供了本课程中介绍的建模技术和求解算法的更深入的覆盖范围。
本书提供了组合优化问题的全面概述,包括求解算法、复杂性分析和近似算法。它为本课程中介绍的更高级主题奠定了基础。
本书提供了离散优化问题的基础知识,包括建模技术、求解算法和复杂性分析。它为本课程中介绍的更高级主题奠定了基础。
本书提供了调度理论和算法的全面概述,包括单机调度、多机调度和车间调度。它为本课程中介绍的调度问题奠定了基础。
本书提供了约束满足问题中的对称性的全面概述,包括对称性检测算法、对称性打破技术和实际应用。它为本课程中介绍的对称性和支配主题奠定了基础。
本书提供了图算法的全面概述,包括最短路径算法、最大流算法和匹配算法。它提供了建模技术和算法,这些技术和算法对于本课程中介绍的某些调度和打包问题非常有用。

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to 离散优化建模高阶篇 Advanced Modeling for Discrete Optimization.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser