Optimization Algorithms & Tools for AI


Basic Information

Topics

Many complex systems, ranging from social, industrial, economics, financial, educational, to military, require that we obtain high-quality solutions to combinatorial problems. Linear programming and its extensions developed in operations research once formed the primary paradigm for solving combinatorial problems. During the last three decades, a plethora of paradigms have been developed for combinatorial problems, including constraint programming (CP), propositional satisfiability testing (SAT), satisfiability modulo theories (SMT), and answer set programming (ASP). Search algorithms, which play an important role in traditional symbolic AI, find solutions to problems by exploring and navigating through complex knowledge spaces. Search algorithms are still indispensable in the current development of neuro-symbolic AI that aims for more sophisticated, flexible, and explainable AI systems. This course covers some of the basic optimization algorithms, including the Simplex, branch-and-bound, and cutting-plane algorithms for Mixed Integer Programming (MIP), the DPLL and CDCL algorithms for Satisfiability (SAT), and various kinds of propagation algorithms for Constraint Programming (CP). This course also covers several optimization tools and many constraint satisfaction and optimization problems.

References

Homework

Exams and Grading

Course Outline and Homework Assignments

  1. Introduction
  2. Linear Programming (LP)
  3. Mixed Integer Programming (MIP)
  4. Constraint Programming (CP)
  5. Satisfiability (SAT)
  6. Optimization Tools
  7. Final Project Presentation and Review