« search calendars« CRM/DIMACS Workshop on Mixed-Integer Nonlinear Programming

« Modeling Power of Mixed Integer Convex Optimization Problems And Their Effective Solution with Julia and JuMP

Modeling Power of Mixed Integer Convex Optimization Problems And Their Effective Solution with Julia and JuMP

October 07, 2019, 9:00 AM - 10:00 AM

Location:

Auditorium (Amphitheatre Banque Nationale)

HEC Montreal

Cote-Sainte-Catherine Building

Click here for map.

Juan Pablo Vielma, Massachusetts Institute of Technology

More than 50 years of development have made mixed integer linear programming (MILP) an extremely successful tool. MILP’s modeling flexibility allows it describe a wide range of business, engineering and scientific problems, and, while MILP is NP-hard, many of these problems are routinely solved in practice thanks to state-of-the-art solvers that nearly double their machine-independent speeds every year. Inspired by this success, the last decade has seen a surge of activity on the solution and application of mixed integer convex programming (MICP), which extends MILP’s versatility by allowing the use of convex constraints in addition to linear inequalities.

In this talk we cover various recent developments concerning theory, algorithms and computation for MICP. Solvers for MICP can be significantly more effective than those for more general non-convex optimization, so one of the questions we cover in this talk is what classes of non-convex constraints can be modeled through MICP. We also cover various topics concerning the modeling and computational solution of MICP problems using the Julia programming language and the JuMP modeling language for optimization. In particular, we show how mixed integer optimal control problems where the variables are polynomials can be easily modeled and solved by seamlessly combining several Julia packages and JuMP extensions with the Julia-written MICP solver Pajarito.jl. Finally, we introduce Hypatia.jl: a Julia-based interior point solver for general non-symmetric conic programming.