Forming and Solving Optimization Problems Theory and Software Tools

24
CES 735/6 Imre P´ olik Outline Optimization problems Modelling Solvers Modelling environments Resources Forming and Solving Optimization Problems Theory and Software Tools Imre P´ olik, PhD McMaster University School of Computational Engineering and Science February 14, 2008

Transcript of Forming and Solving Optimization Problems Theory and Software Tools

Page 1: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

Resources

Forming and Solving Optimization ProblemsTheory and Software Tools

Imre Polik, PhD

McMaster UniversitySchool of Computational Engineering and Science

February 14, 2008

Page 2: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

Resources

Outline

1 Optimization problems

2 Modelling

3 Solvers

4 Modelling environments

Page 3: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solution

Problem input/output

Modelling

Solvers

Modellingenvironments

Resources

Optimization problems

Linear (LP)

Convex quadratic (QP)

Piecewise linear, quadratic

Second order (SOCP)

Semidefinite (SDP)

Convex nonlinear (NLP)

Mixed integer, binary (MILP, MIQP)

Nonconvex quadratic

Quadratically constrained quadratic (QCQP)

Geometric (GP)

Nonlinear semidefinite (NLSDP)

General nonlinear (NLP)

Global optimization

Page 4: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solution

Problem input/output

Modelling

Solvers

Modellingenvironments

Resources

Choosing a solver

Identify the problem type

Decision Tree for Optimization Software

Requirements

accuracysolution timeproblem sizeplatform, programming environmentlicensing, cost

Choose the most specific solver

Reformulate the problem to use a better solver

Starting solution

Page 5: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solution

Problem input/output

Modelling

Solvers

Modellingenvironments

Resources

Entering the problem

Native solver input

usually text-basedsolver specific

Modelling environment

standard interface to many solverscustom GUI designautomatic derivativesplotting(Matlab), AMPL, GAMS, MPL, ILOG, XPRESS-IVE,AIMMS, LINDO, CVX, YALMIP

Spreadsheet application

Database integration

Callable library, embedded solvers

tighter integrationC, C++, Fortran, Java, .NET, C#, VB, Delphi,Python, (Matlab, R, etc.)

Page 6: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solution

Problem input/output

Modelling

Solvers

Modellingenvironments

Resources

Interpreting the solution

Solver exit flag

(nearly) optimalinfeasible problemnumerical problemslack of progress

Does it make sense?

better than previous solutiontoo good to be truemissing constraints, incorrect data

Optimality

the solution is rarely optimalthe role of convexity

Infeasible problem

certificateconflicting constraints

Page 7: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Reformulating theproblem

Managing constraints

Solvers

Modellingenvironments

Resources

Solvers

1 Optimization problems

2 ModellingReformulating the problemManaging constraints

3 Solvers

4 Modelling environments

Page 8: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Reformulating theproblem

Managing constraints

Solvers

Modellingenvironments

Resources

Equalities and inequalities

Equalities into inequalities

h(x) = 0⇔ h(x) ≤ 0, h(x) ≥ 0

possibly empty interiorincreased problem size

h(x) = 0⇔ h(x) ≤ ε, h(x) ≥ −ε

nonempty interiorexplicit tolerance

Inequalities into equalities

g(x) ≤ 0⇔ g(x) + s = 0, s ≥ 0

slack variableincreased problem size

g(x) ≤ 0⇔ g(x) = −z2

nonlinearity

Page 9: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Reformulating theproblem

Managing constraints

Solvers

Modellingenvironments

Resources

Managing constraints and variables

New variables

trigonometry

u, ±√

1− u2 ⇔ sinα, cos α

grouping common terms

Smart variables

extremely important in integer programming

Adding constraints gradually

only a few constraints are active at optimalitycolumn generationquick resolve

Page 10: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Reformulating theproblem

Managing constraints

Solvers

Modellingenvironments

Resources

Relaxation

Remove some constraints

integralitysemidefiniteness

Solve the easier problem

LP instead of MILPSDP instead of NLSDP

Hope for the best

manage unsatisfied constraintsprovides a bound on the optimumbranch-and-bound

Powerful technique

Page 11: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Linear/quadraticoptimization

Conic optimization

Nonlinearoptimization

NEOS

Modellingenvironments

Resources

Solvers

1 Optimization problems

2 Modelling

3 SolversLinear/quadratic optimizationConic optimizationNonlinear optimizationNEOS

4 Modelling environments

Page 12: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Linear/quadraticoptimization

Conic optimization

Nonlinearoptimization

NEOS

Modellingenvironments

Resources

LP/MILP

CPLEX, XPRESS-MP

LP, MIP, QP, MIQPmodel development environmentcallable from C, C++, Java, Fortran, VB6 and .NETindustry leadersfree limited student version

LpSolve, Soplex, CLP

LP/MILPfree, open source

Page 13: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Linear/quadraticoptimization

Conic optimization

Nonlinearoptimization

NEOS

Modellingenvironments

Resources

Conic optimization

LP, SOCP, SDP

CSDP, SDPA

written in Clarge scale problemsparallel, distributed operationno SOCP

SeDuMi, SDPT3

written in Matlabmixed LP/SOCP/SDPeasy to use

Others: DSDP, SDPLR, PENNON, SBMethod,

Page 14: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Linear/quadraticoptimization

Conic optimization

Nonlinearoptimization

NEOS

Modellingenvironments

Resources

Nonlinear optimization

IPOPT

open source

SNOPT, KNITRO, MINOS, etc.

commercial

LGO, Baron, Globsol

global optimizationreasonable sizes

Issues

availability of gradient, Hessiancost of function evaluationstarting point

Page 15: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Linear/quadraticoptimization

Conic optimization

Nonlinearoptimization

NEOS

Modellingenvironments

Resources

NEOS

Free online access to solvers

Various interfaces

webemailmodelling lenguages

Great for comparisons, testing

Page 16: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

ILOG OPLDevelopment Studio

XPRESS-IVE

AIMMS

AMPL and GAMS

Matlab

CVX

YALMIP

Resources

Modelling environments

1 Optimization problems

2 Modelling

3 Solvers

4 Modelling environmentsILOG OPL Development StudioXPRESS-IVEAIMMSAMPL and GAMSMatlabCVXYALMIP

Page 17: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

ILOG OPLDevelopment Studio

XPRESS-IVE

AIMMS

AMPL and GAMS

Matlab

CVX

YALMIP

Resources

ILOG OPL Development Studio

Built around CPLEX

LP, QP, MILP, MIQP

Extensive GUI creation

Mapping tools

Integration with C++, Java

Spreadsheet and database integration

Embeddability

ILOG Optimization Decision Manager

planning scheduling

Page 18: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

ILOG OPLDevelopment Studio

XPRESS-IVE

AIMMS

AMPL and GAMS

Matlab

CVX

YALMIP

Resources

XPRESS-IVE

Built around the XPRESS-MP solvers

LP, QP, MILP, MIQP

Integration with C++, Java

Spreadsheet and database integration

Embeddability

Abilities similar to ILOG OPL

Page 19: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

ILOG OPLDevelopment Studio

XPRESS-IVE

AIMMS

AMPL and GAMS

Matlab

CVX

YALMIP

Resources

AIMMS

General nonlinear modelling environment

A handful of solvers (LP, MILP, QP, MIQP, NLP)

Graphical user interface

GUI building

Database, spreadsheet integration

Free student version

Page 20: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

ILOG OPLDevelopment Studio

XPRESS-IVE

AIMMS

AMPL and GAMS

Matlab

CVX

YALMIP

Resources

AMPL and GAMS

General nonlinear modelling environments

Plenty of solvers

Free student version available

Text-based, no GUI (AMPL has a simple one)

No SDP

Page 21: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

ILOG OPLDevelopment Studio

XPRESS-IVE

AIMMS

AMPL and GAMS

Matlab

CVX

YALMIP

Resources

Matlab

Powerful computational background

Optimization Toolbox (LP, QP, NLP)

Robust Control Toolbox (SDP)

Not embeddable

Page 22: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

ILOG OPLDevelopment Studio

XPRESS-IVE

AIMMS

AMPL and GAMS

Matlab

CVX

YALMIP

Resources

CVX

Disciplined convex optimization

Maintain convexity by construction

Only two solvers (SeDuMi and SDPT3)

LP, QP, SOCP, SDP, GP

Written in Matlab

Page 23: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

ILOG OPLDevelopment Studio

XPRESS-IVE

AIMMS

AMPL and GAMS

Matlab

CVX

YALMIP

Resources

YALMIP

Written in Matlab

Free, open source

Powerful modelling abilities

Covers all kinds of optimization problems

Connected to more than 30 solvers

Page 24: Forming and Solving Optimization Problems Theory and Software Tools

CES 735/6

Imre Polik

Outline

Optimizationproblems

Modelling

Solvers

Modellingenvironments

Resources

Resources

NETLIB

Software repositorybenchmark problems

COIN-OR

Open source initiative for optimizationLP, MILP, QP, MIQP, SDP, NLPautomatic differentiation

Decision Tree for Optimization Software

Hans Mittelmann’s benchmarks