约束编程是一种编程范式,其中指定了一组问题解决方案必须满足的约束,而不是一组获得此类解决方案的步骤。约束编程中使用的技术来自人工智能、计算逻辑和运筹学等不同领域。通过仅陈述问题解决方案必须满足的约束来解决问题的过程涉及通过一组变量对问题进行建模,每个变量都涵盖特定的域,以及限制变量域值的约束。然后可以通过约束编程语言指定和解决约束问题。本课程的目的是让学生了解约束编程的基本概念,培养建模和解决组合优化问题的技能,并提供机会使用现代约束编程环境将约束求解技术应用于实际问题。涵盖的主题包括约束和估值,