Combinatorial Optimization, Mixed Integer Programming and Network Theory

This chapter covers basic theoretical and practical aspects of Mixed integer Programming (MIP) both theoretical and practical topics related to Continuous Linear Programming (CLP) and Network Theory using Python. Like, Continuous Linear Programming, MIP uses linear equations to model optimization problems. However, some of the decision variables can only take Integer values. Feasible solutions are no longer found at vertices of the feasibility region, and this fundamental fact drastically increases the complexity of MIP problems. Network Theory provides a framework rather useful to solve MIP problems, and therefore it is also introduced in this course. CLP allows us to model, solve and analyse the solution of optimization problems using linear equations. “The world is not linear” but still, CLP is a really powerful tool to solve a plethora of real world optimisation problems.

Tutorials

This section contains some basic tutorials:

Exercises

In this section you have a collection of CLP problems sorted by difficulty:

  • Easy problems: You can tackle these problems after the first lesson on MIP.

  • Normal problems: These problems require that you are familiar with concepts like Duality and the Simplex method.

  • Hard problems: This is the type of problems that definitively get you ready for the exam.

Solved Exercises

In this section you have the solution to the different exercises.

Python libraries

This section contains Python library tutorials: