CSEN 913

4 lecture hours

5  ECTS credits

Special Topics in Multi-disciplinary optimization



    The industrial and commercial worlds are increasingly competitive, requiring companies to be more productive and more responsive to market changes. As a consequence there is a strong need for solutions to large scale combinatorial optimization problems in domains such as production scheduling, transport, resource allocation, finance and network management. Optimization technology is certainly reaching a level of maturity. Having emerged in the 50s within the Operations Research community, it has evolved and comprises new paradigms such as constraint programming and local search techniques. Today there is a necessity (for efficiency, scalability and tractability) to integrate techniques from the different paradigms.
    This elective course, covers core methods and techniques from the different paradigms used to tackle constrained optimization problems drawing from the fields of Artificial Intelligence and Operations Research. The course addresses the fundamental issue of constraint model design and efficient solution building. This includes the realm of constraint programming, graph theory, linear and non-linear programming, mathematical programming, local search algorithms and the hybridization of techniques.



    This course introduces students to three main domains of constrained optimization: constraint programming, operations research, and algorithm hybridization, some applications.
    1.     Constraint Programming: constraint satisfaction problems, redundant and dual modeling, set models, propagation and search, global constraints,
    2.     Operations Research: relevant graph algorithms, linear and non linear programming, unimodular matrices, cutting planes, integer programming, branch and cut algorithms.
    3.     Algorithm Hybridization: techniques to integrate algorithms from CP and OR, repair and incremental algorithms,
    4.     Applications: scheduling, resource allocation, knapsack, combinatorial design.


  • By the end of this course, students will develop core skills required to design and implement solution algorithms to complex optimization problems.  They will have the know-how to select a type of algorithm given some problem structure. Finally, we intend to consider some programming exercises using the constraint logic programming language ECLiPSe to test and apply the acquired knowledge

Course Editions