31
GAMS Recent Enhancements Jan-Hendrik Jagla [email protected] Michael Bussieck [email protected] GAMS Software GmbH www.gams.de Saarbrücken, September 5 th 2007

GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

GAMSRecent Enhancements

Jan-Hendrik Jagla [email protected]

Michael Bussieck [email protected]

GAMS Software GmbH www.gams.de

Saarbrücken, September 5th 2007

Page 2: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Agenda

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

2

Page 3: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Agenda

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

3

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

Page 4: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Then …

4

GAMS Users Guide (1988)

Page 5: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

àHardly predictable how much performance gain comes

from hardware and how much from software

* MIP 1988 solver ZOOM, 2007 solver CPLEX

… and now

Type s in 1988 s in 2007 Improvement Factor

camcge NLP 468 0.031 15097

dinamico LP 1986 0.125 15888

àHardly predictable how much performance gain comes

from hardware and how much from software

* MIP 1988 solver ZOOM, 2007 solver CPLEX5

dinamico LP 1986 0.125 15888

egypt* MIP 1758 0.015 117200

fertd* MIP 2382 0.062 38419

ganges NLP 546 0.109 5009

sarf LP 9210 0.139 66259

yemcem* MIP 510 0.140 3643

Page 6: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Agenda

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

6

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

Page 7: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Release Notes

New Solvers– COIN-OR Solvers (http://www.coin-or.org/)

• MINLP solver: CoinBonmin

– AlphaECP• MINLP solver

• Extended Cutting Plane method by T. Westerlund

and T. Lastusilta (Abo Akademi University, Finland)

– LINDOGlobal• finds proven optimal solutions to non-convex MINLP

• Global Optimization Solver from LINDO Systems,Inc

Improvements• BARON, CONOPT, CPLEX, MOSEK, XPRESS,…

New Solvers– COIN-OR Solvers (http://www.coin-or.org/)

• MINLP solver: CoinBonmin

– AlphaECP• MINLP solver

• Extended Cutting Plane method by T. Westerlund

and T. Lastusilta (Abo Akademi University, Finland)

– LINDOGlobal• finds proven optimal solutions to non-convex MINLP

• Global Optimization Solver from LINDO Systems,Inc

Improvements• BARON, CONOPT, CPLEX, MOSEK, XPRESS,…

7

Page 8: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• CPLEX– parallel extension for B&B and interior point solver

– concurrent optimizer – academic license includes 4 threads

• MOSEK– parallel extension for the interior solver comes free of charge

– concurrent optimizer

• XPRESS– parallel extension for B&B and interior point solver

– academic license includes 4 threads

• XA (XAPAR)

Multiple Threads

• CPLEX– parallel extension for B&B and interior point solver

– concurrent optimizer – academic license includes 4 threads

• MOSEK– parallel extension for the interior solver comes free of charge

– concurrent optimizer

• XPRESS– parallel extension for B&B and interior point solver

– academic license includes 4 threads

• XA (XAPAR)8

Page 9: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Grid Computing

• pool of connected computers

managed and available as

common computing resource

• e.g. Condor, Sun Grid Engine

• pool of connected computers

managed and available as

common computing resource

• e.g. Condor, Sun Grid Engine

9

Loop(p(pp),

ret.fx = rmin +(rmax-rmin)

/(card(pp)+1)*ord(pp) ;

Solve minvar min var using miqcp;

xres(i,p) = x.l(i);

report(p,i,'inc') = xi.l(i);

report(p,i,'dec') = xd.l(i)

);

Generation

Solution

Update

Loop

Page 10: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Minor Changes to Model

10

Page 11: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

SUNgrid

www.network.com

• On-demand grid computing service operated by Sun Microsystems

• Access to enormous computing power over Internet

• Opteron-based servers with 4 GB of RAM per CPU

• Solaris 10 OS, and Sun Grid Engine 6 software.

• $1 per CPU-hour

• GAMS Distribution 22.5 available• 250 free CPU hours to new users

www.gams.com/sungrid

àF. Nelissen: “Grid Computing in Finance using an Algebraic

Modeling System”, Thursday 2:30-3pm, Room A2 4 1.32

www.network.com

• On-demand grid computing service operated by Sun Microsystems

• Access to enormous computing power over Internet

• Opteron-based servers with 4 GB of RAM per CPU

• Solaris 10 OS, and Sun Grid Engine 6 software.

• $1 per CPU-hour

• GAMS Distribution 22.5 available• 250 free CPU hours to new users

www.gams.com/sungrid

àF. Nelissen: “Grid Computing in Finance using an Algebraic

Modeling System”, Thursday 2:30-3pm, Room A2 4 1.32

11

Page 12: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Agenda

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

12

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

Page 13: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• Problem format is old/traditional

• Limited support for symbolic reformulations

– logical constructs

– constraints tightening, softening

– stochastic programming

è Automated symbolic reformulations will gain importance

Algebraic Modeling Languages

• Problem format is old/traditional

• Limited support for symbolic reformulations

– logical constructs

– constraints tightening, softening

– stochastic programming

è Automated symbolic reformulations will gain importance

13

Page 14: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Symbolic Reformulations and GAMS

• GAMS/DECIS

– solves two-stage stochastic linear programs with recourse

– two-stage decomposition (Benders)

– stores only one instance of the problem and generates scenario

sub-problems as needed

– solution Strategies (Universe problem/Importance sampling)

• GAMS/NLPEC

– solves MPECs as NLPs

– 23 different reformulation strategies

• GAMS/PATHNLP

– solves NLPs as MCPs

– internal reformulation via KKT conditions

– requires 1st

and 2nd

order derivatives

• GAMS/DECIS

– solves two-stage stochastic linear programs with recourse

– two-stage decomposition (Benders)

– stores only one instance of the problem and generates scenario

sub-problems as needed

– solution Strategies (Universe problem/Importance sampling)

• GAMS/NLPEC

– solves MPECs as NLPs

– 23 different reformulation strategies

• GAMS/PATHNLP

– solves NLPs as MCPs

– internal reformulation via KKT conditions

– requires 1st

and 2nd

order derivatives14

Page 15: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• GAMS/Convert

– model translation tools

– GAMS à other formats/languages

– makes use of infix notation available

– GAMS

– NLP2MCP

– CHull

Option GAMS

- converts indexed input model into scalar model

- “standardized” model format

- easier to deal with

- confidentiality issues

- nonlinearity information is still available

Symbolic Reformulations and GAMS

è ENLP

è LOGMIP

• GAMS/Convert

– model translation tools

– GAMS à other formats/languages

– makes use of infix notation available

– GAMS

– NLP2MCP

– CHull

Option GAMS

- converts indexed input model into scalar model

- “standardized” model format

- easier to deal with

- confidentiality issues

- nonlinearity information is still available 15

è ENLP

è LOGMIP

Page 16: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• Michael C. Ferris and Jeffrey D. Horn (1998)

“NLP2MCP: Automatic conversion of nonlinear

programs into mixed complementarity problems”

– Reformulate NLP via KKT into MCP model

– Requires 1st

derivatives

• Original approach

– individual tool that translates an indexed model

– tough approach due to potential beastiness of NLPs

• New approach

– integrated in GAMS/Convert

– result is the source of a scalar MCP model

NLP2MCP

• Michael C. Ferris and Jeffrey D. Horn (1998)

“NLP2MCP: Automatic conversion of nonlinear

programs into mixed complementarity problems”

– Reformulate NLP via KKT into MCP model

– Requires 1st

derivatives

• Original approach

– individual tool that translates an indexed model

– tough approach due to potential beastiness of NLPs

• New approach

– integrated in GAMS/Convert

– result is the source of a scalar MCP model16

Page 17: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• Why convert to MCP

– Second order information implicitly available

– Remove “superbasic” dependence

– Exploit multiplier information

– Incorporate into MPEC

• Likely that MCP solver will find a solution

– Solution is only guaranteed to be feasible for the

original problem

– In the convex case, every KKT point corresponds

to a global solution of the NLP

NLP2MCP

• Why convert to MCP

– Second order information implicitly available

– Remove “superbasic” dependence

– Exploit multiplier information

– Incorporate into MPEC

• Likely that MCP solver will find a solution

– Solution is only guaranteed to be feasible for the

original problem

– In the convex case, every KKT point corresponds

to a global solution of the NLP

17

Page 18: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Reference is paper by R.T. Rockafellar (1999)

• Classical problem

• Soft penalization of constraints

Extended Nonlinear Programming (ENLP)

Reference is paper by R.T. Rockafellar (1999)

• Classical problem

• Soft penalization of constraints

18

Page 19: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• Motivation

– automates tedious algebra writing

– avoids mistakes

– infeasibility analysis

– real world applications always need a solution

• Implement a “solver” that

– extends an NLP based on user provided information

– passes the modified model to an NLP solver

– reads the solution back

– is aware of a class of different extension functions

Extending NLPs automatically

• Motivation

– automates tedious algebra writing

– avoids mistakes

– infeasibility analysis

– real world applications always need a solution

• Implement a “solver” that

– extends an NLP based on user provided information

– passes the modified model to an NLP solver

– reads the solution back

– is aware of a class of different extension functions19

Page 20: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• Converts input model to a scalar NLP or MCP

• Reads ENLP information file to extend the model

• Solves the created ENLP / EMCP

• Reads solution back

• Solver options

– SolveasMCP ENLP will be converted to and solved as MCP

– SubSolver subsolver to run

– SubSolverOpt optfile value to pass to the subsolver

– Terminate terminate after generating scalar GAMS model

– …

GAMS “Solver” ENLP

• Converts input model to a scalar NLP or MCP

• Reads ENLP information file to extend the model

• Solves the created ENLP / EMCP

• Reads solution back

• Solver options

– SolveasMCP ENLP will be converted to and solved as MCP

– SubSolver subsolver to run

– SubSolverOpt optfile value to pass to the subsolver

– Terminate terminate after generating scalar GAMS model

– …20

Page 21: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• GAMS/Convert

– model translation tools

– GAMS à other formats/languages

– makes use of infix notation available

– GAMS

– NLP2MCP

– Chull

Symbolic Reformulations and GAMS

è ENLP

è LOGMIP

• GAMS/Convert

– model translation tools

– GAMS à other formats/languages

– makes use of infix notation available

– GAMS

– NLP2MCP

– Chull

21

è ENLP

è LOGMIP

Page 22: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• Convex Hull reformulation of linear and nonlinear models

with disjunctions

• User provides disjunction information

• Result is a scalar GAMS model

representing the Convex Hull

Convex Hull

• Convex Hull reformulation of linear and nonlinear models

with disjunctions

• User provides disjunction information

• Result is a scalar GAMS model

representing the Convex Hull

22

Page 23: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• Developed by Aldo Vecchietti and Ignacio E. Grossmann

http://www.logmip.ceride.gov.ar/

• Add-on modeling framework to formulate models with

disjunction and logic propositions

• Language Compiler

• Solution algorithms and techniques for solving linear and

nonlinear disjunctive programming problems

• Add-on tool as of GAMS Distribution 21.7 (April 2005)

Logical Mixed Integer Programming (LogMIP)

• Developed by Aldo Vecchietti and Ignacio E. Grossmann

http://www.logmip.ceride.gov.ar/

• Add-on modeling framework to formulate models with

disjunction and logic propositions

• Language Compiler

• Solution algorithms and techniques for solving linear and

nonlinear disjunctive programming problems

• Add-on tool as of GAMS Distribution 21.7 (April 2005)23

Page 24: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

LogMIP Example

StageJob

1 2 3

A 5 - 3

B - 3 2

C 2 4 -

.321,},{

0,,,

005

0601

(8)0205

6T

5T

8T..

min

321

12

3

21

3

23

2

32

2

13

1

31

1

3

2

1

,,kfalsetrueY

xxxT

xx

Y

xx

Y

xx

Y

xx

Y

xx

Y

xx

Y

x

x

xts

TZ

k=∈

≤−

¬∨

≤+−

≤+−

¬∨

≤+−

≤+−

¬∨

≤+−

+≥

+≥

+≥

=

24

C 2 4 -

Raman & Grossmann (1994).321,},{

0,,,

005

0601

(8)0205

6T

5T

8T..

min

321

12

3

21

3

23

2

32

2

13

1

31

1

3

2

1

,,kfalsetrueY

xxxT

xx

Y

xx

Y

xx

Y

xx

Y

xx

Y

xx

Y

x

x

xts

TZ

k=∈

≤−

¬∨

≤+−

≤+−

¬∨

≤+−

≤+−

¬∨

≤+−

+≥

+≥

+≥

=

Page 25: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• Reformulation

– Convex Hull (only linear)

– Big M (only linear)

– Need MIP solver

• Logic based Method

– Logic-based Outer Approximation

– Solves a series of NLP and MIP sub-problems

– Needs NLP an MIP solver

LogMIP “Solver”

• Reformulation

– Convex Hull (only linear)

– Big M (only linear)

– Need MIP solver

• Logic based Method

– Logic-based Outer Approximation

– Solves a series of NLP and MIP sub-problems

– Needs NLP an MIP solver

25

Page 26: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• New way of expressing relationships among variables

• Specify binary variable to control whether or not a constraint

takes effect

• Can be numerically more robust and accurate than

conventional Big M formulations

CPLEX Indicator Constraints

• New way of expressing relationships among variables

• Specify binary variable to control whether or not a constraint

takes effect

• Can be numerically more robust and accurate than

conventional Big M formulations

26

Page 27: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Agenda

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

27

Then and now

Recent Enhancements

Extending Algebraic Modeling

Well then?

Page 28: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

• GAMS already supports a wide collection of

established mathematical programming classes

(LP,MIP,QCP,MIQCP,NLP,DNLP,MINLP,MCP,MPEC,CNS,Global)

• New research breaks out of traditional MP classes

– broaden algebraic modeling

– proven research add-ons to GAMS

– engaged in systematic modification of constraints

(activate, deactivate, soften, tighten)

– But! Each approach has its individual intermediate

format

Well then?

• GAMS already supports a wide collection of

established mathematical programming classes

(LP,MIP,QCP,MIQCP,NLP,DNLP,MINLP,MCP,MPEC,CNS,Global)

• New research breaks out of traditional MP classes

– broaden algebraic modeling

– proven research add-ons to GAMS

– engaged in systematic modification of constraints

(activate, deactivate, soften, tighten)

– But! Each approach has its individual intermediate

format

28

Page 29: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Need of an integrated framework for automated

mathematical programming reformulations

– provide new facilities for seamless integration

of new model types

– benefit models with constructs like

• disjunctions

• indicator constraints

• extended nonlinear programs

• conditional value at risk

• stochasticity (chance constraints)

Automatic Reformulation Framework

àNeed of an integrated framework for automated

mathematical programming reformulations

– provide new facilities for seamless integration

of new model types

– benefit models with constructs like

• disjunctions

• indicator constraints

• extended nonlinear programs

• conditional value at risk

• stochasticity (chance constraints)

29

Page 30: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

– try as research code

– committed to backward compatibility

– analyze big picture

– generalize

– implement sub-language

– does it proof itself?

– define standard

– integrate in GAMS language

– work with solver developers

Evolution in the GAMS way

0.

1.

2.

3.

– try as research code

– committed to backward compatibility

– analyze big picture

– generalize

– implement sub-language

– does it proof itself?

– define standard

– integrate in GAMS language

– work with solver developers

30

0.

1.

2.

3.

Page 31: GAMS Recent Enhancements€¦ · – concurrent optimizer – academic license includes 4 threads • MOSEK – parallel extension for the interior solver comes free of charge –

Contacting GAMS

Europe

GAMS Software GmbHEupener Str. 135-13750933 CologneGermanyPhone: +49 221 949 9170

Fax: +49 221 949 9171

http://www.gams.de

[email protected]

[email protected]

USA

GAMS Development Corp. 1217 Potomac Street, NW Washington, DC 20007USA Phone: +1 202 342 0180

Fax: +1 202 342 0181

http://www.gams.com

[email protected]

[email protected]

Europe

GAMS Software GmbHEupener Str. 135-13750933 CologneGermanyPhone: +49 221 949 9170

Fax: +49 221 949 9171

http://www.gams.de

[email protected]

[email protected]

USA

GAMS Development Corp. 1217 Potomac Street, NW Washington, DC 20007USA Phone: +1 202 342 0180

Fax: +1 202 342 0181

http://www.gams.com

[email protected]

[email protected]

31