an integrated solver for optimization problemscoral.ie.lehigh.edu/mip-2006/talks/yunes.pdf · an...

227
An Integrated Solver for Optimization Problems Ionut ¸ D. Aron 1 John N. Hooker 2 Tallys H. Yunes 3 1 Department of Computer Science, Brown University 2 Tepper School of Business, Carnegie Mellon University 3 Department of Management Science, University of Miami June 6 2006

Upload: others

Post on 04-Feb-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

An Integrated Solver for Optimization Problems

Ionut D. Aron1 John N. Hooker2 Tallys H. Yunes3

1Department of Computer Science, Brown University

2Tepper School of Business, Carnegie Mellon University

3Department of Management Science, University of Miami

June 6 2006

Page 2: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

I’d Like To Thank the Program Committee for...

Inviting me to be here

Placing my talk right after Jon Lee’s

I A “foolish” model depends on your vocabularyI Larger vocabulary ⇒ more natural modelsI Some things we once worried about are now automatic

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 2

Page 3: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

I’d Like To Thank the Program Committee for...

Inviting me to be here

Placing my talk right after Jon Lee’s

I A “foolish” model depends on your vocabularyI Larger vocabulary ⇒ more natural modelsI Some things we once worried about are now automatic

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 2

Page 4: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

I’d Like To Thank the Program Committee for...

Inviting me to be here

Placing my talk right after Jon Lee’s

I A “foolish” model depends on your vocabularyI Larger vocabulary ⇒ more natural modelsI Some things we once worried about are now automatic

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 2

Page 5: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

I’d Like To Thank the Program Committee for...

Inviting me to be here

Placing my talk right after Jon Lee’sI A “foolish” model depends on your vocabulary

I Larger vocabulary ⇒ more natural modelsI Some things we once worried about are now automatic

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 2

Page 6: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

I’d Like To Thank the Program Committee for...

Inviting me to be here

Placing my talk right after Jon Lee’sI A “foolish” model depends on your vocabularyI Larger vocabulary ⇒ more natural models

I Some things we once worried about are now automatic

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 2

Page 7: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

I’d Like To Thank the Program Committee for...

Inviting me to be here

Placing my talk right after Jon Lee’sI A “foolish” model depends on your vocabularyI Larger vocabulary ⇒ more natural modelsI Some things we once worried about are now automatic

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 2

Page 8: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Outline

Introduction and Motivation

SIMPL Concepts

3 Modeling Examples

Computational Experiments

Future Work and Conclusion

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 3

Page 9: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Why Integrate?

Integration: combination of two or more solution techniquesinto a well-coordinated optimization algorithm

Recent research shows integration can sometimes significantlyoutperform traditional methods in

I Planning and scheduling (jobs, crews, sports, etc.)I Routing and transportationI Engineering and network designI ManufacturingI Inventory managementI Etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 4

Page 10: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Why Integrate?

Integration: combination of two or more solution techniquesinto a well-coordinated optimization algorithm

Recent research shows integration can sometimes significantlyoutperform traditional methods in

I Planning and scheduling (jobs, crews, sports, etc.)I Routing and transportationI Engineering and network designI ManufacturingI Inventory managementI Etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 4

Page 11: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Why Integrate?

Integration: combination of two or more solution techniquesinto a well-coordinated optimization algorithm

Recent research shows integration can sometimes significantlyoutperform traditional methods in

I Planning and scheduling (jobs, crews, sports, etc.)I Routing and transportationI Engineering and network designI ManufacturingI Inventory managementI Etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 4

Page 12: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Why Integrate?

Integration: combination of two or more solution techniquesinto a well-coordinated optimization algorithm

Recent research shows integration can sometimes significantlyoutperform traditional methods in

I Planning and scheduling (jobs, crews, sports, etc.)I Routing and transportationI Engineering and network designI ManufacturingI Inventory managementI Etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 4

Page 13: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Integration Continued

We are mostly interested in combining traditional OR techniques(LP, MILP) with Constraint Programming

Some benefits of integration:

Models are simpler, smaller and more natural

It combines complementary strengths of different optimizationtechniques

Problem structure is more easily captured and exploited

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 5

Page 14: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Integration Continued

We are mostly interested in combining traditional OR techniques(LP, MILP) with Constraint Programming

Some benefits of integration:

Models are simpler, smaller and more natural

It combines complementary strengths of different optimizationtechniques

Problem structure is more easily captured and exploited

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 5

Page 15: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Integration Continued

We are mostly interested in combining traditional OR techniques(LP, MILP) with Constraint Programming

Some benefits of integration:

Models are simpler, smaller and more natural

It combines complementary strengths of different optimizationtechniques

Problem structure is more easily captured and exploited

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 5

Page 16: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Integration Continued

We are mostly interested in combining traditional OR techniques(LP, MILP) with Constraint Programming

Some benefits of integration:

Models are simpler, smaller and more natural

It combines complementary strengths of different optimizationtechniques

Problem structure is more easily captured and exploited

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 5

Page 17: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Integration Continued

We are mostly interested in combining traditional OR techniques(LP, MILP) with Constraint Programming

Some benefits of integration:

Models are simpler, smaller and more natural

It combines complementary strengths of different optimizationtechniques

Problem structure is more easily captured and exploited

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 5

Page 18: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Integration Continued

We are mostly interested in combining traditional OR techniques(LP, MILP) with Constraint Programming

Some benefits of integration:

Models are simpler, smaller and more natural

It combines complementary strengths of different optimizationtechniques

Problem structure is more easily captured and exploited

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 5

Page 19: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming (CP)

Originated from the AI and CS communities (80’s)

Concerned with Constraint Satisfaction Problems (CSPs):

I Given variables xi ∈ Di

I Given constraints ci : D1 × · · · ×Dn → {T, F}I Assign values to variables to satisfy all constraints

Main Ideas:

I Constraints eliminate infeasible values: domain reductionI Local inferences are shared: constraint propagation

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 6

Page 20: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming (CP)

Originated from the AI and CS communities (80’s)

Concerned with Constraint Satisfaction Problems (CSPs):I Given variables xi ∈ Di

I Given constraints ci : D1 × · · · ×Dn → {T, F}I Assign values to variables to satisfy all constraints

Main Ideas:

I Constraints eliminate infeasible values: domain reductionI Local inferences are shared: constraint propagation

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 6

Page 21: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming (CP)

Originated from the AI and CS communities (80’s)

Concerned with Constraint Satisfaction Problems (CSPs):I Given variables xi ∈ Di

I Given constraints ci : D1 × · · · ×Dn → {T, F}I Assign values to variables to satisfy all constraints

Main Ideas:I Constraints eliminate infeasible values: domain reductionI Local inferences are shared: constraint propagation

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 6

Page 22: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming (CP)

Originated from the AI and CS communities (80’s)

Concerned with Constraint Satisfaction Problems (CSPs):I Given variables xi ∈ Di

I Given constraints ci : D1 × · · · ×Dn → {T, F}I Assign values to variables to satisfy all constraints

Main Ideas:I Constraints eliminate infeasible values: domain reductionI Local inferences are shared: constraint propagation

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 6

Page 23: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming (continued)

When compared to MILP models, CP models usually have

More informative (larger) variable domains:

I city ∈ { Atlanta, Boston, Miami, San Francisco }I `i = location of facility iI contrast with: xij = 1 if facility i is placed in location j

More expressive constraints:

I alldifferent: all variables from a set assume distinct valuesI element: implements variable indices (Cx)I cumulative: job scheduling with resource constraintsI etc.I These are called global constraints

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 7

Page 24: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming (continued)

When compared to MILP models, CP models usually have

More informative (larger) variable domains:

I city ∈ { Atlanta, Boston, Miami, San Francisco }I `i = location of facility iI contrast with: xij = 1 if facility i is placed in location j

More expressive constraints:

I alldifferent: all variables from a set assume distinct valuesI element: implements variable indices (Cx)I cumulative: job scheduling with resource constraintsI etc.I These are called global constraints

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 7

Page 25: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming (continued)

When compared to MILP models, CP models usually have

More informative (larger) variable domains:I city ∈ { Atlanta, Boston, Miami, San Francisco }I `i = location of facility iI contrast with: xij = 1 if facility i is placed in location j

More expressive constraints:

I alldifferent: all variables from a set assume distinct valuesI element: implements variable indices (Cx)I cumulative: job scheduling with resource constraintsI etc.I These are called global constraints

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 7

Page 26: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming (continued)

When compared to MILP models, CP models usually have

More informative (larger) variable domains:I city ∈ { Atlanta, Boston, Miami, San Francisco }I `i = location of facility iI contrast with: xij = 1 if facility i is placed in location j

More expressive constraints:I alldifferent: all variables from a set assume distinct valuesI element: implements variable indices (Cx)I cumulative: job scheduling with resource constraintsI etc.

I These are called global constraints

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 7

Page 27: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming (continued)

When compared to MILP models, CP models usually have

More informative (larger) variable domains:I city ∈ { Atlanta, Boston, Miami, San Francisco }I `i = location of facility iI contrast with: xij = 1 if facility i is placed in location j

More expressive constraints:I alldifferent: all variables from a set assume distinct valuesI element: implements variable indices (Cx)I cumulative: job scheduling with resource constraintsI etc.I These are called global constraints

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 7

Page 28: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work

Existing modeling languages and programming libraries supportintegration to a greater or lesser extent:

ECLiPSe, Rodosek, Wallace and Rajian 99

OPL, Van Hentenryck, Lustig, Michel and Puget 99

Mosel, Colombani and Heipcke 02

SCIP, Achterberg 04

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 8

Page 29: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work

Existing modeling languages and programming libraries supportintegration to a greater or lesser extent:

ECLiPSe, Rodosek, Wallace and Rajian 99

OPL, Van Hentenryck, Lustig, Michel and Puget 99

Mosel, Colombani and Heipcke 02

SCIP, Achterberg 04

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 8

Page 30: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work

Existing modeling languages and programming libraries supportintegration to a greater or lesser extent:

ECLiPSe, Rodosek, Wallace and Rajian 99

OPL, Van Hentenryck, Lustig, Michel and Puget 99

Mosel, Colombani and Heipcke 02

SCIP, Achterberg 04

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 8

Page 31: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work (continued)

Some relevant concepts and techniques:

Allowing information exchange among solvers: Rodosek, Wallace &Hajian 99

Decomposition approaches: Benders 62, Eremin & Wallace 01,Hooker & Ottosson 03, Hooker & Yan 95, Jain & Grossmann 01

Relaxation of global constraints as systems of linear inequalities:Hooker 00, Refalo 00, Williams & Yan 01, Yunes 02

Propagation and variable fixing using relaxations: Focacci, Lodi &Milano 99

Generation of cutting planes as a form of logical inference:Bockmayr & Kasper 98, Bockmayr & Eisenbrand 00

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 9

Page 32: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work (continued)

Some relevant concepts and techniques:

Allowing information exchange among solvers: Rodosek, Wallace &Hajian 99

Decomposition approaches: Benders 62, Eremin & Wallace 01,Hooker & Ottosson 03, Hooker & Yan 95, Jain & Grossmann 01

Relaxation of global constraints as systems of linear inequalities:Hooker 00, Refalo 00, Williams & Yan 01, Yunes 02

Propagation and variable fixing using relaxations: Focacci, Lodi &Milano 99

Generation of cutting planes as a form of logical inference:Bockmayr & Kasper 98, Bockmayr & Eisenbrand 00

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 9

Page 33: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work (continued)

Some relevant concepts and techniques:

Allowing information exchange among solvers: Rodosek, Wallace &Hajian 99

Decomposition approaches: Benders 62, Eremin & Wallace 01,Hooker & Ottosson 03, Hooker & Yan 95, Jain & Grossmann 01

Relaxation of global constraints as systems of linear inequalities:Hooker 00, Refalo 00, Williams & Yan 01, Yunes 02

Propagation and variable fixing using relaxations: Focacci, Lodi &Milano 99

Generation of cutting planes as a form of logical inference:Bockmayr & Kasper 98, Bockmayr & Eisenbrand 00

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 9

Page 34: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work (continued)

Some relevant concepts and techniques:

Allowing information exchange among solvers: Rodosek, Wallace &Hajian 99

Decomposition approaches: Benders 62, Eremin & Wallace 01,Hooker & Ottosson 03, Hooker & Yan 95, Jain & Grossmann 01

Relaxation of global constraints as systems of linear inequalities:Hooker 00, Refalo 00, Williams & Yan 01, Yunes 02

Propagation and variable fixing using relaxations: Focacci, Lodi &Milano 99

Generation of cutting planes as a form of logical inference:Bockmayr & Kasper 98, Bockmayr & Eisenbrand 00

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 9

Page 35: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work (continued)

Some relevant concepts and techniques:

Allowing information exchange among solvers: Rodosek, Wallace &Hajian 99

Decomposition approaches: Benders 62, Eremin & Wallace 01,Hooker & Ottosson 03, Hooker & Yan 95, Jain & Grossmann 01

Relaxation of global constraints as systems of linear inequalities:Hooker 00, Refalo 00, Williams & Yan 01, Yunes 02

Propagation and variable fixing using relaxations: Focacci, Lodi &Milano 99

Generation of cutting planes as a form of logical inference:Bockmayr & Kasper 98, Bockmayr & Eisenbrand 00

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 9

Page 36: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work (continued)

Some relevant concepts and techniques:

Allowing information exchange among solvers: Rodosek, Wallace &Hajian 99

Decomposition approaches: Benders 62, Eremin & Wallace 01,Hooker & Ottosson 03, Hooker & Yan 95, Jain & Grossmann 01

Relaxation of global constraints as systems of linear inequalities:Hooker 00, Refalo 00, Williams & Yan 01, Yunes 02

Propagation and variable fixing using relaxations: Focacci, Lodi &Milano 99

Generation of cutting planes as a form of logical inference:Bockmayr & Kasper 98, Bockmayr & Eisenbrand 00

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 9

Page 37: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Previous Work (continued)

Some relevant concepts and techniques:

Allowing information exchange among solvers: Rodosek, Wallace &Hajian 99

Decomposition approaches: Benders 62, Eremin & Wallace 01,Hooker & Ottosson 03, Hooker & Yan 95, Jain & Grossmann 01

Relaxation of global constraints as systems of linear inequalities:Hooker 00, Refalo 00, Williams & Yan 01, Yunes 02

Propagation and variable fixing using relaxations: Focacci, Lodi &Milano 99

Generation of cutting planes as a form of logical inference:Bockmayr & Kasper 98, Bockmayr & Eisenbrand 00

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 9

Page 38: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

SIMPL Objectives

High-level modeling languageI Concise and easily understandable modelsI Natural specification of integrated modelsI Allow user to reveal problem structure to the solver

Low-level integrationI Increased effectiveness when underlying technologies interact

at a micro level during the search

Modularity, flexibility, extensibility, efficiencyI Make it easy to add new types of constraints, relaxations,

solvers and search strategies

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 10

Page 39: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

SIMPL Objectives

High-level modeling languageI Concise and easily understandable modelsI Natural specification of integrated modelsI Allow user to reveal problem structure to the solver

Low-level integrationI Increased effectiveness when underlying technologies interact

at a micro level during the search

Modularity, flexibility, extensibility, efficiencyI Make it easy to add new types of constraints, relaxations,

solvers and search strategies

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 10

Page 40: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

SIMPL Objectives

High-level modeling languageI Concise and easily understandable modelsI Natural specification of integrated modelsI Allow user to reveal problem structure to the solver

Low-level integrationI Increased effectiveness when underlying technologies interact

at a micro level during the search

Modularity, flexibility, extensibility, efficiencyI Make it easy to add new types of constraints, relaxations,

solvers and search strategies

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 10

Page 41: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

SIMPL Objectives

High-level modeling languageI Concise and easily understandable modelsI Natural specification of integrated modelsI Allow user to reveal problem structure to the solver

Low-level integrationI Increased effectiveness when underlying technologies interact

at a micro level during the search

Modularity, flexibility, extensibility, efficiencyI Make it easy to add new types of constraints, relaxations,

solvers and search strategies

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 10

Page 42: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Main Idea Behind SIMPL

CP and MILP are special cases of a general method, ratherthan separate methods to be combined

Common solution strategy: Search-Infer-Relax

Search = enumeration of problem restrictions

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 11

Page 43: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Main Idea Behind SIMPL

CP and MILP are special cases of a general method, ratherthan separate methods to be combined

Common solution strategy: Search-Infer-Relax

Search = enumeration of problem restrictions

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 11

Page 44: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Main Idea Behind SIMPL

CP and MILP are special cases of a general method, ratherthan separate methods to be combined

Common solution strategy: Search-Infer-Relax

Search = enumeration of problem restrictions

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 11

Page 45: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Main Idea Behind SIMPL

CP and MILP are special cases of a general method, ratherthan separate methods to be combined

Common solution strategy: Search-Infer-Relax

Search = enumeration of problem restrictions

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 11

Page 46: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

The Ubiquity of Search, Inference, Relaxation

SolutionMethod Restriction Inference Relaxation

MILP Branch onfractional vars.

Cutting planes,preprocessing

LP relaxation

CP Split variabledomains

Domain reduction,propagation

Current domains

CGO Split intervalsInterv. propag.,lagr. mult.

LP or NLP relaxation

Benders SubproblemBenders cuts(nogoods)

Master problem

DPL Branching Resolution andconfl. clauses

Processedconfl. clauses

Tabu SearchCurrentneighborhood Tabu list Same as restriction

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 12

Page 47: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

The Ubiquity of Search, Inference, Relaxation

SolutionMethod Restriction Inference Relaxation

MILP Branch onfractional vars.

Cutting planes,preprocessing

LP relaxation

CP Split variabledomains

Domain reduction,propagation

Current domains

CGO Split intervalsInterv. propag.,lagr. mult.

LP or NLP relaxation

Benders SubproblemBenders cuts(nogoods)

Master problem

DPL Branching Resolution andconfl. clauses

Processedconfl. clauses

Tabu SearchCurrentneighborhood Tabu list Same as restriction

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 12

Page 48: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint-Based Control

Search: constraints direct the searchI Each constraint has a branching moduleI This module creates new problem restrictions

Infer: constraints drive the inferenceI Each constraint has a filtering/inference moduleI This module creates new constraints to tighten the relaxations

Relax: constraints create the relaxationsI Each constraint has a relaxation moduleI This module reformulates the constraint according to different

relaxations (LP, MILP, CP, etc.)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 13

Page 49: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint-Based Control

Search: constraints direct the searchI Each constraint has a branching moduleI This module creates new problem restrictions

Infer: constraints drive the inferenceI Each constraint has a filtering/inference moduleI This module creates new constraints to tighten the relaxations

Relax: constraints create the relaxationsI Each constraint has a relaxation moduleI This module reformulates the constraint according to different

relaxations (LP, MILP, CP, etc.)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 13

Page 50: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint-Based Control

Search: constraints direct the searchI Each constraint has a branching moduleI This module creates new problem restrictions

Infer: constraints drive the inferenceI Each constraint has a filtering/inference moduleI This module creates new constraints to tighten the relaxations

Relax: constraints create the relaxationsI Each constraint has a relaxation moduleI This module reformulates the constraint according to different

relaxations (LP, MILP, CP, etc.)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 13

Page 51: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint-Based Control

Search: constraints direct the searchI Each constraint has a branching moduleI This module creates new problem restrictions

Infer: constraints drive the inferenceI Each constraint has a filtering/inference moduleI This module creates new constraints to tighten the relaxations

Relax: constraints create the relaxationsI Each constraint has a relaxation moduleI This module reformulates the constraint according to different

relaxations (LP, MILP, CP, etc.)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 13

Page 52: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning

Manufacture several products at a plant of limited capacity

Products made in one of several production modes (e.g. smallscale, medium scale, etc.)

x = quantity of a product

Only certain ranges of quantities are possible: gaps in thedomain of x

Net income function f(x) is semi-continuous piecewise linear

Objective: maximize net income

Previous work: Refalo (1999), Ottosson, Thorsteinsson andHooker (1999, 2002)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 14

Page 53: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning

Manufacture several products at a plant of limited capacity

Products made in one of several production modes (e.g. smallscale, medium scale, etc.)

x = quantity of a product

Only certain ranges of quantities are possible: gaps in thedomain of x

Net income function f(x) is semi-continuous piecewise linear

Objective: maximize net income

Previous work: Refalo (1999), Ottosson, Thorsteinsson andHooker (1999, 2002)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 14

Page 54: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning

Manufacture several products at a plant of limited capacity

Products made in one of several production modes (e.g. smallscale, medium scale, etc.)

x = quantity of a product

Only certain ranges of quantities are possible: gaps in thedomain of x

Net income function f(x) is semi-continuous piecewise linear

Objective: maximize net income

Previous work: Refalo (1999), Ottosson, Thorsteinsson andHooker (1999, 2002)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 14

Page 55: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning

Manufacture several products at a plant of limited capacity

Products made in one of several production modes (e.g. smallscale, medium scale, etc.)

x = quantity of a product

Only certain ranges of quantities are possible: gaps in thedomain of x

Net income function f(x) is semi-continuous piecewise linear

Objective: maximize net income

Previous work: Refalo (1999), Ottosson, Thorsteinsson andHooker (1999, 2002)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 14

Page 56: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning

Manufacture several products at a plant of limited capacity

Products made in one of several production modes (e.g. smallscale, medium scale, etc.)

x = quantity of a product

Only certain ranges of quantities are possible: gaps in thedomain of x

Net income function f(x) is semi-continuous piecewise linear

Objective: maximize net income

Previous work: Refalo (1999), Ottosson, Thorsteinsson andHooker (1999, 2002)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 14

Page 57: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning

Manufacture several products at a plant of limited capacity

Products made in one of several production modes (e.g. smallscale, medium scale, etc.)

x = quantity of a product

Only certain ranges of quantities are possible: gaps in thedomain of x

Net income function f(x) is semi-continuous piecewise linear

Objective: maximize net income

Previous work: Refalo (1999), Ottosson, Thorsteinsson andHooker (1999, 2002)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 14

Page 58: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning

Manufacture several products at a plant of limited capacity

Products made in one of several production modes (e.g. smallscale, medium scale, etc.)

x = quantity of a product

Only certain ranges of quantities are possible: gaps in thedomain of x

Net income function f(x) is semi-continuous piecewise linear

Objective: maximize net income

Previous work: Refalo (1999), Ottosson, Thorsteinsson andHooker (1999, 2002)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 14

Page 59: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning

Manufacture several products at a plant of limited capacity

Products made in one of several production modes (e.g. smallscale, medium scale, etc.)

x = quantity of a product

Only certain ranges of quantities are possible: gaps in thedomain of x

Net income function f(x) is semi-continuous piecewise linear

Objective: maximize net income

Previous work: Refalo (1999), Ottosson, Thorsteinsson andHooker (1999, 2002)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 14

Page 60: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningShape of Net Income Function f(x)

f(x)

x

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 15

Page 61: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 62: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 63: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 64: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 65: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 66: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik

∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 67: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 68: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i

∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 69: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 70: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 71: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k

∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 72: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: MILP

xi = quantity of product i (continuous)

yik = whether or not product i is made in mode k (binary)

λik, µik = weights for mode k (convex combination)

MILP Model

max∑

ik λikcik + µikdik∑i xi ≤ C

xi =∑

k λikLik + µikUik, ∀ i∑k λik + µik = 1, ∀ i

0 ≤ λik ≤ yik, ∀ i, k

0 ≤ µik ≤ yik, ∀ i, k∑k yik = 1, ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 16

Page 73: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: Integrated

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

Integrated Model

max∑

i ui∑i xi ≤ C

piecewise(xi, ui, Li, Ui, ci, di), ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 17

Page 74: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: Integrated

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

Integrated Model

max∑

i ui∑i xi ≤ C

piecewise(xi, ui, Li, Ui, ci, di), ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 17

Page 75: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: Integrated

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

Integrated Model

max∑

i ui∑i xi ≤ C

piecewise(xi, ui, Li, Ui, ci, di), ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 17

Page 76: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: Integrated

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

Integrated Model

max∑

i ui∑i xi ≤ C

piecewise(xi, ui, Li, Ui, ci, di), ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 17

Page 77: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: Integrated

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

Integrated Model

max∑

i ui

∑i xi ≤ C

piecewise(xi, ui, Li, Ui, ci, di), ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 17

Page 78: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: Integrated

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

Integrated Model

max∑

i ui∑i xi ≤ C

piecewise(xi, ui, Li, Ui, ci, di), ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 17

Page 79: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: Integrated

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

Integrated Model

max∑

i ui∑i xi ≤ C

piecewise(xi, ui, Li, Ui, ci, di), ∀ i

f(xi)

xiLik Uik

cik

dik

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 17

Page 80: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL Model

OBJECTIVEmax sum i of u[i]

CONSTRAINTScapacity means {

sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 81: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL Model

OBJECTIVEmax sum i of u[i]

CONSTRAINTScapacity means {

sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 82: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL Model

OBJECTIVEmax sum i of u[i]

CONSTRAINTScapacity means {

sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 83: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL Model

OBJECTIVEmax sum i of u[i]

CONSTRAINTScapacity means {

sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 84: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL ModelOBJECTIVE

max sum i of u[i]CONSTRAINTS

capacity means {sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 85: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL ModelOBJECTIVE

max sum i of u[i]

CONSTRAINTScapacity means {

sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 86: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL ModelOBJECTIVE

max sum i of u[i]CONSTRAINTS

capacity means {sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 87: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL ModelOBJECTIVE

max sum i of u[i]CONSTRAINTS

capacity means {sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 88: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL ModelOBJECTIVE

max sum i of u[i]CONSTRAINTS

capacity means {sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 89: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL ModelOBJECTIVE

max sum i of u[i]CONSTRAINTS

capacity means {sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCH

type = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 90: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL ModelOBJECTIVE

max sum i of u[i]CONSTRAINTS

capacity means {sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }

branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 91: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production Planning: SIMPL Model

xi = quantity of product i (continuous)

ui = net income from product i (continuous)

SIMPL ModelOBJECTIVE

max sum i of u[i]CONSTRAINTS

capacity means {sum i of x[i] <= Crelaxation = { lp, cp } }

income means {piecewise(x[i],u[i],L[i],U[i],c[i],d[i]) forall irelaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { income:most }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 18

Page 92: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningRelaxation and Branching for piecewise

f(x)

x

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 19

Page 93: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningRelaxation and Branching for piecewise

f(x)

x

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 19

Page 94: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningRelaxation and Branching for piecewise

f(x)

x

x value OK, y value OK: no problem

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 19

Page 95: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningRelaxation and Branching for piecewise

f(x)

x

x value not OK: split domain

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 19

Page 96: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningRelaxation and Branching for piecewise

f(x)

x

child 1

child 2

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 19

Page 97: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningRelaxation and Branching for piecewise

f(x)

x

x OK, y not OK: 3-way branch on x

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 19

Page 98: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningRelaxation and Branching for piecewise

f(x)

x

child 1

child 2

child 3

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 19

Page 99: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningComputational Results: Number of Search Nodes

10 20 30 40 50

Number of Products

1

10

100

1000

10000

100000

Node

s MILP Integrated

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 20

Page 100: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningComputational Results: Number of Search Nodes

10 20 30 40 50

Number of Products

1

10

100

1000

10000

100000

Node

s MILP Integrated

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 20

Page 101: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningComputational Results: CPU Time (s)

10 20 30 40 50

Number of Products

0

2

4

6

8

10

12

14

Tim

e (s

)

MILP Integrated

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 21

Page 102: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 1: Production PlanningComputational Results: CPU Time (s)

10 20 30 40 50

Number of Products

0

2

4

6

8

10

12

14

Tim

e (s

)

MILP Integrated

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 21

Page 103: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration

A product (e.g. computer) is made up of several components(e.g. memory, cpu, etc.)

Components come in different types

Type k of component i uses/produces aijk units of resource j

cj = unit cost of resource j

Lower and upper bounds on resource usage/production

Objective: minimize total cost

Previous work: Thorsteinsson and Ottosson (2001)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 22

Page 104: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration

A product (e.g. computer) is made up of several components(e.g. memory, cpu, etc.)

Components come in different types

Type k of component i uses/produces aijk units of resource j

cj = unit cost of resource j

Lower and upper bounds on resource usage/production

Objective: minimize total cost

Previous work: Thorsteinsson and Ottosson (2001)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 22

Page 105: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration

A product (e.g. computer) is made up of several components(e.g. memory, cpu, etc.)

Components come in different types

Type k of component i uses/produces aijk units of resource j

cj = unit cost of resource j

Lower and upper bounds on resource usage/production

Objective: minimize total cost

Previous work: Thorsteinsson and Ottosson (2001)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 22

Page 106: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration

A product (e.g. computer) is made up of several components(e.g. memory, cpu, etc.)

Components come in different types

Type k of component i uses/produces aijk units of resource j

cj = unit cost of resource j

Lower and upper bounds on resource usage/production

Objective: minimize total cost

Previous work: Thorsteinsson and Ottosson (2001)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 22

Page 107: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration

A product (e.g. computer) is made up of several components(e.g. memory, cpu, etc.)

Components come in different types

Type k of component i uses/produces aijk units of resource j

cj = unit cost of resource j

Lower and upper bounds on resource usage/production

Objective: minimize total cost

Previous work: Thorsteinsson and Ottosson (2001)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 22

Page 108: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration

A product (e.g. computer) is made up of several components(e.g. memory, cpu, etc.)

Components come in different types

Type k of component i uses/produces aijk units of resource j

cj = unit cost of resource j

Lower and upper bounds on resource usage/production

Objective: minimize total cost

Previous work: Thorsteinsson and Ottosson (2001)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 22

Page 109: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration

A product (e.g. computer) is made up of several components(e.g. memory, cpu, etc.)

Components come in different types

Type k of component i uses/produces aijk units of resource j

cj = unit cost of resource j

Lower and upper bounds on resource usage/production

Objective: minimize total cost

Previous work: Thorsteinsson and Ottosson (2001)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 22

Page 110: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration

A product (e.g. computer) is made up of several components(e.g. memory, cpu, etc.)

Components come in different types

Type k of component i uses/produces aijk units of resource j

cj = unit cost of resource j

Lower and upper bounds on resource usage/production

Objective: minimize total cost

Previous work: Thorsteinsson and Ottosson (2001)

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 22

Page 111: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 112: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 113: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 114: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 115: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 116: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 117: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 118: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 119: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k

∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 120: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: MILP

xik = whether or not type k is chosen for component i (binary)

qik = # units of component i of type k to install (integer)

rj = amount of resource j produced (continuous)

MILP Model

min∑

j cjrj

rj =∑

ik aijkqik, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

qik ≤ Mixik, ∀ i, k∑k xik = 1, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 23

Page 121: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 122: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)

ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 123: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)

rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 124: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 125: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 126: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 127: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 128: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 129: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi

and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 130: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 131: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi)

→ automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 132: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: Integrated

qi = # units of component i to install (integer)ti = type chosen for component i (discrete)rj = amount of resource j produced (continuous)

Integrated Model

min∑

j cjrj

rj =∑

i aijtiqi, ∀ j

Lj ≤ rj ≤ Uj, ∀ j

zij = aijtiqi and element(ti, (aij1qi, . . . , aijnqi), zij)

∨k∈Dti

(zij = aijkqi) → automatic and dynamic convex hull relax.

converted to

equiv

alent

to

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 24

Page 133: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { quant, t:most, q:least:triple, types:most }inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 134: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]

CONSTRAINTSresource means {

r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { quant, t:most, q:least:triple, types:most }inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 135: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { quant, t:most, q:least:triple, types:most }inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 136: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { quant, t:most, q:least:triple, types:most }inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 137: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCH

type = { bb:bestdive }branching = { quant, t:most, q:least:triple, types:most }inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 138: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }

branching = { quant, t:most, q:least:triple, types:most }inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 139: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = {

quant,

t:most, q:least:triple

, types:most

}

inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 140: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = {

quant,

t:most, q:least:triple

, types:most

}inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 141: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = {

quant,

t:most, q:least:triple

, types:most

}inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 142: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = {

quant,

t:most, q:least:triple

, types:most

}inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 143: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { quant, t:most, q:least:triple

, types:most

}inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 144: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product Configuration: SIMPL Model

OBJECTIVE min sum j of c[j]*r[j]CONSTRAINTS

resource means {r[j] = sum i of a[i][j][t[i]]*q[i] forall jrelaxation = { lp, cp } }

quant means {q[1] >= 1 => q[2] = 0relaxation = { lp, cp } }

types means {t[1] = 1 => t[2] in {1, 2}t[3] = 1 => (t[4] in {1, 3} and t[5] in {1, 3, 4, 6}

and t[6] = 3)relaxation = { lp, cp } }

SEARCHtype = { bb:bestdive }branching = { quant, t:most, q:least:triple, types:most }inference = { q:redcost }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 25

Page 145: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product ConfigurationComputational Results: Number of Search Nodes

2 4 6 8 10

Problem Instances (Thorsteinsson and Ottosson, 2001)

0

100

200

300

400

500

600

700

Node

s

MILP Integrated

1 3 5 7 9

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 26

Page 146: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product ConfigurationComputational Results: Number of Search Nodes

2 4 6 8 10

Problem Instances (Thorsteinsson and Ottosson, 2001)

0

100

200

300

400

500

600

700

Node

s

MILP Integrated

1 3 5 7 9

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 26

Page 147: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product ConfigurationComputational Results: CPU Time (s)

2 4 6 8 10

Problem Instances (Thorsteinsson and Ottosson, 2001)

0

5

10

15

20

Tim

e (s

)

MILP Integrated

1 3 5 7 9

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 27

Page 148: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 2: Product ConfigurationComputational Results: CPU Time (s)

2 4 6 8 10

Problem Instances (Thorsteinsson and Ottosson, 2001)

0

5

10

15

20

Tim

e (s

)

MILP Integrated

1 3 5 7 9

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 27

Page 149: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel Machines

Given n jobs and m parallel (disjunctive) machines

cij and pij = processing cost and time of job i on machine j

Job i has release date ri and due date di

Objective: schedule all jobs and minimize total cost

Jain and Grossmann (2001)

I Hybrid MILP/CP Benders decomposition approachI Required development of special purpose codeI Up to 1000 times faster than commercial solvers

In SIMPL we can get the same results with very little effort

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 28

Page 150: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel Machines

Given n jobs and m parallel (disjunctive) machines

cij and pij = processing cost and time of job i on machine j

Job i has release date ri and due date di

Objective: schedule all jobs and minimize total cost

Jain and Grossmann (2001)

I Hybrid MILP/CP Benders decomposition approachI Required development of special purpose codeI Up to 1000 times faster than commercial solvers

In SIMPL we can get the same results with very little effort

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 28

Page 151: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel Machines

Given n jobs and m parallel (disjunctive) machines

cij and pij = processing cost and time of job i on machine j

Job i has release date ri and due date di

Objective: schedule all jobs and minimize total cost

Jain and Grossmann (2001)

I Hybrid MILP/CP Benders decomposition approachI Required development of special purpose codeI Up to 1000 times faster than commercial solvers

In SIMPL we can get the same results with very little effort

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 28

Page 152: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel Machines

Given n jobs and m parallel (disjunctive) machines

cij and pij = processing cost and time of job i on machine j

Job i has release date ri and due date di

Objective: schedule all jobs and minimize total cost

Jain and Grossmann (2001)

I Hybrid MILP/CP Benders decomposition approachI Required development of special purpose codeI Up to 1000 times faster than commercial solvers

In SIMPL we can get the same results with very little effort

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 28

Page 153: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel Machines

Given n jobs and m parallel (disjunctive) machines

cij and pij = processing cost and time of job i on machine j

Job i has release date ri and due date di

Objective: schedule all jobs and minimize total cost

Jain and Grossmann (2001)

I Hybrid MILP/CP Benders decomposition approachI Required development of special purpose codeI Up to 1000 times faster than commercial solvers

In SIMPL we can get the same results with very little effort

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 28

Page 154: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel Machines

Given n jobs and m parallel (disjunctive) machines

cij and pij = processing cost and time of job i on machine j

Job i has release date ri and due date di

Objective: schedule all jobs and minimize total cost

Jain and Grossmann (2001)

I Hybrid MILP/CP Benders decomposition approachI Required development of special purpose codeI Up to 1000 times faster than commercial solvers

In SIMPL we can get the same results with very little effort

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 28

Page 155: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel Machines

Given n jobs and m parallel (disjunctive) machines

cij and pij = processing cost and time of job i on machine j

Job i has release date ri and due date di

Objective: schedule all jobs and minimize total cost

Jain and Grossmann (2001)I Hybrid MILP/CP Benders decomposition approachI Required development of special purpose codeI Up to 1000 times faster than commercial solvers

In SIMPL we can get the same results with very little effort

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 28

Page 156: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel Machines

Given n jobs and m parallel (disjunctive) machines

cij and pij = processing cost and time of job i on machine j

Job i has release date ri and due date di

Objective: schedule all jobs and minimize total cost

Jain and Grossmann (2001)I Hybrid MILP/CP Benders decomposition approachI Required development of special purpose codeI Up to 1000 times faster than commercial solvers

In SIMPL we can get the same results with very little effort

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 28

Page 157: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: MILP Model

xij = whether or not job j is assigned to machine i (binary)yjk = whether or not j precedes k on some machine (binary)tj = start time of job j (continuous)

min∑

ij cijxij

rj ≤ tj ≤ dj −∑

i pijxij, ∀ j∑i xij = 1, ∀ j

yjk + ykj ≤ 1, ∀ k > j

yjk + ykj ≥ xij + xik − 1, ∀ k > j, i

yjk + ykj + xij + xi′k ≤ 2, ∀ k > j, i′ 6= i

tk ≥ tj +∑

i pijxij −M(1− yjk), ∀ k 6= j∑j pijxij ≤ maxj{dj} −minj{rj}, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 29

Page 158: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: MILP Model

xij = whether or not job j is assigned to machine i (binary)

yjk = whether or not j precedes k on some machine (binary)tj = start time of job j (continuous)

min∑

ij cijxij

rj ≤ tj ≤ dj −∑

i pijxij, ∀ j∑i xij = 1, ∀ j

yjk + ykj ≤ 1, ∀ k > j

yjk + ykj ≥ xij + xik − 1, ∀ k > j, i

yjk + ykj + xij + xi′k ≤ 2, ∀ k > j, i′ 6= i

tk ≥ tj +∑

i pijxij −M(1− yjk), ∀ k 6= j∑j pijxij ≤ maxj{dj} −minj{rj}, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 29

Page 159: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: MILP Model

xij = whether or not job j is assigned to machine i (binary)yjk = whether or not j precedes k on some machine (binary)

tj = start time of job j (continuous)

min∑

ij cijxij

rj ≤ tj ≤ dj −∑

i pijxij, ∀ j∑i xij = 1, ∀ j

yjk + ykj ≤ 1, ∀ k > j

yjk + ykj ≥ xij + xik − 1, ∀ k > j, i

yjk + ykj + xij + xi′k ≤ 2, ∀ k > j, i′ 6= i

tk ≥ tj +∑

i pijxij −M(1− yjk), ∀ k 6= j∑j pijxij ≤ maxj{dj} −minj{rj}, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 29

Page 160: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: MILP Model

xij = whether or not job j is assigned to machine i (binary)yjk = whether or not j precedes k on some machine (binary)tj = start time of job j (continuous)

min∑

ij cijxij

rj ≤ tj ≤ dj −∑

i pijxij, ∀ j∑i xij = 1, ∀ j

yjk + ykj ≤ 1, ∀ k > j

yjk + ykj ≥ xij + xik − 1, ∀ k > j, i

yjk + ykj + xij + xi′k ≤ 2, ∀ k > j, i′ 6= i

tk ≥ tj +∑

i pijxij −M(1− yjk), ∀ k 6= j∑j pijxij ≤ maxj{dj} −minj{rj}, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 29

Page 161: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: MILP Model

xij = whether or not job j is assigned to machine i (binary)yjk = whether or not j precedes k on some machine (binary)tj = start time of job j (continuous)

min∑

ij cijxij

rj ≤ tj ≤ dj −∑

i pijxij, ∀ j∑i xij = 1, ∀ j

yjk + ykj ≤ 1, ∀ k > j

yjk + ykj ≥ xij + xik − 1, ∀ k > j, i

yjk + ykj + xij + xi′k ≤ 2, ∀ k > j, i′ 6= i

tk ≥ tj +∑

i pijxij −M(1− yjk), ∀ k 6= j∑j pijxij ≤ maxj{dj} −minj{rj}, ∀ i

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 29

Page 162: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesBenders Decomposition Approach

Master ProblemI Assign jobs to machines at minimum costI “Ignore” release dates and due datesI xij = 1 if job i assigned to machine j

Subproblem for machine jI Try to find feasible schedule with given set of jobs Ij

I If infeasible, generate Benders cut∑i∈Ij

xij ≤ |Ij| − 1

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 30

Page 163: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesBenders Decomposition Approach

Master ProblemI Assign jobs to machines at minimum costI “Ignore” release dates and due datesI xij = 1 if job i assigned to machine j

Subproblem for machine jI Try to find feasible schedule with given set of jobs Ij

I If infeasible, generate Benders cut∑i∈Ij

xij ≤ |Ij| − 1

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 30

Page 164: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesBenders Decomposition Approach

Master ProblemI Assign jobs to machines at minimum costI “Ignore” release dates and due datesI xij = 1 if job i assigned to machine j

Subproblem for machine jI Try to find feasible schedule with given set of jobs Ij

I If infeasible, generate Benders cut

∑i∈Ij

xij ≤ |Ij| − 1

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 30

Page 165: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesBenders Decomposition Approach

Master ProblemI Assign jobs to machines at minimum costI “Ignore” release dates and due datesI xij = 1 if job i assigned to machine j

Subproblem for machine jI Try to find feasible schedule with given set of jobs Ij

I If infeasible, generate Benders cut∑i∈Ij

xij ≤ |Ij| − 1

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 30

Page 166: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 167: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 168: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 169: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 170: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 171: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij

∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 172: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 173: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 174: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 175: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 176: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: Integrated Benders

xij = whether or not job j is assigned to machine i (binary)

yj = machine assigned to job j (integer)

tj = start time of job j (continuous)

Integrated Benders Model

min∑

ij cijxij∑i xij = 1, ∀ j

(xij = 1) ⇔ (yj = i), ∀ i, j

rj ≤ tj ≤ dj − pyjj, ∀ j

cumulative((tj, pij, 1 |xij = 1), 1), ∀ i

Need to tell the solver how to decompose the model

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 31

Page 177: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: SIMPL Model

OBJECTIVE min sum i,j of c[i][j]*x[i][j]CONSTRAINTSassign means {sum i of x[i][j] = 1 forall jrelaxation = { ip:master } }

xy means {x[i][j] = 1 <=> y[j] = i forall i, jrelaxation = { cp:sub } }

tbounds means {r[j] <= t[j] <= d[j] - p[y[j]][j] forall jrelaxation = { ip:master, cp:sub } }

machinecap means {cumulative({t[j],p[i][j],1} forall j | x[i][j]=1, 1) forall irelaxation = { ip:master, cp:sub:decomp } }inference = { feasibility } }

SEARCHtype = { benders }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 32

Page 178: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: SIMPL Model

OBJECTIVE min sum i,j of c[i][j]*x[i][j]

CONSTRAINTSassign means {

sum i of x[i][j] = 1 forall jrelaxation = { ip:master } }

xy means {x[i][j] = 1 <=> y[j] = i forall i, jrelaxation = { cp:sub } }

tbounds means {r[j] <= t[j] <= d[j] - p[y[j]][j] forall jrelaxation = { ip:master, cp:sub } }

machinecap means {cumulative({t[j],p[i][j],1} forall j | x[i][j]=1, 1) forall irelaxation = { ip:master, cp:sub:decomp } }inference = { feasibility } }

SEARCHtype = { benders }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 32

Page 179: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: SIMPL Model

OBJECTIVE min sum i,j of c[i][j]*x[i][j]CONSTRAINTS

assign means {sum i of x[i][j] = 1 forall jrelaxation = { ip:master } }

xy means {x[i][j] = 1 <=> y[j] = i forall i, jrelaxation = { cp:sub } }

tbounds means {r[j] <= t[j] <= d[j] - p[y[j]][j] forall jrelaxation = { ip:master, cp:sub } }

machinecap means {cumulative({t[j],p[i][j],1} forall j | x[i][j]=1, 1) forall irelaxation = { ip:master, cp:sub:decomp } }inference = { feasibility } }

SEARCHtype = { benders }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 32

Page 180: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: SIMPL Model

OBJECTIVE min sum i,j of c[i][j]*x[i][j]CONSTRAINTSassign means {sum i of x[i][j] = 1 forall jrelaxation = { ip:master } }

xy means {x[i][j] = 1 <=> y[j] = i forall i, jrelaxation = { cp:sub } }

tbounds means {r[j] <= t[j] <= d[j] - p[y[j]][j] forall jrelaxation = { ip:master, cp:sub } }

machinecap means {cumulative({t[j],p[i][j],1} forall j | x[i][j]=1, 1) forall irelaxation = { ip:master, cp:sub:decomp } }inference = { feasibility } }

SEARCHtype = { benders }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 32

Page 181: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: SIMPL Model

OBJECTIVE min sum i,j of c[i][j]*x[i][j]CONSTRAINTSassign means {sum i of x[i][j] = 1 forall jrelaxation = { ip:master } }

xy means {x[i][j] = 1 <=> y[j] = i forall i, jrelaxation = { cp:sub } }

tbounds means {r[j] <= t[j] <= d[j] - p[y[j]][j] forall jrelaxation = { ip:master, cp:sub } }

machinecap means {cumulative({t[j],p[i][j],1} forall j | x[i][j]=1, 1) forall irelaxation = { ip:master, cp:sub:decomp } }inference = { feasibility } }

SEARCHtype = { benders }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 32

Page 182: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: SIMPL Model

OBJECTIVE min sum i,j of c[i][j]*x[i][j]CONSTRAINTSassign means {sum i of x[i][j] = 1 forall jrelaxation = { ip:master } }

xy means {x[i][j] = 1 <=> y[j] = i forall i, jrelaxation = { cp:sub } }

tbounds means {r[j] <= t[j] <= d[j] - p[y[j]][j] forall jrelaxation = { ip:master, cp:sub } }

machinecap means {cumulative({t[j],p[i][j],1} forall j | x[i][j]=1, 1) forall irelaxation = { ip:master, cp:sub:decomp } }inference = { feasibility } }

SEARCHtype = { benders }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 32

Page 183: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: SIMPL Model

OBJECTIVE min sum i,j of c[i][j]*x[i][j]CONSTRAINTSassign means {sum i of x[i][j] = 1 forall jrelaxation = { ip:master } }

xy means {x[i][j] = 1 <=> y[j] = i forall i, jrelaxation = { cp:sub } }

tbounds means {r[j] <= t[j] <= d[j] - p[y[j]][j] forall jrelaxation = { ip:master, cp:sub } }

machinecap means {cumulative({t[j],p[i][j],1} forall j | x[i][j]=1, 1) forall irelaxation = { ip:master, cp:sub:decomp } }inference = { feasibility } }

SEARCHtype = { benders }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 32

Page 184: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling: SIMPL Model

OBJECTIVE min sum i,j of c[i][j]*x[i][j]CONSTRAINTSassign means {sum i of x[i][j] = 1 forall jrelaxation = { ip:master } }

xy means {x[i][j] = 1 <=> y[j] = i forall i, jrelaxation = { cp:sub } }

tbounds means {r[j] <= t[j] <= d[j] - p[y[j]][j] forall jrelaxation = { ip:master, cp:sub } }

machinecap means {cumulative({t[j],p[i][j],1} forall j | x[i][j]=1, 1) forall irelaxation = { ip:master, cp:sub:decomp } }inference = { feasibility } }

SEARCHtype = { benders }

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 32

Page 185: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesComputational Results

Instances from Jain and Grossmann (2001)

Long Processing Times

MILP Integrated BendersJobs Machines Nodes Time (s) Iterations Cuts Time (s)

3 2

1 0.00 2 1 0.00

7 3

1 0.02 12 14 0.09

12 3

11060 16.50 26 37 0.58

15 5

3674 14.30 22 31 0.96

20 5

159400 3123.34 30 52 3.21

22 5

> 5.0M > 48h 38 59 6.70

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 33

Page 186: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesComputational Results

Instances from Jain and Grossmann (2001)

Long Processing Times

MILP Integrated BendersJobs Machines Nodes Time (s) Iterations Cuts Time (s)

3 2

1 0.00 2 1 0.00

7 3

1 0.02 12 14 0.09

12 3

11060 16.50 26 37 0.58

15 5

3674 14.30 22 31 0.96

20 5

159400 3123.34 30 52 3.21

22 5

> 5.0M > 48h 38 59 6.70

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 33

Page 187: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesComputational Results

Instances from Jain and Grossmann (2001)

Long Processing Times

MILP Integrated BendersJobs Machines Nodes Time (s) Iterations Cuts Time (s)

3 2 1 0.00

2 1 0.00

7 3 1 0.02

12 14 0.09

12 3 11060 16.50

26 37 0.58

15 5 3674 14.30

22 31 0.96

20 5 159400 3123.34

30 52 3.21

22 5 > 5.0M > 48h

38 59 6.70

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 33

Page 188: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesComputational Results

Instances from Jain and Grossmann (2001)

Long Processing Times

MILP Integrated BendersJobs Machines Nodes Time (s) Iterations Cuts Time (s)

3 2 1 0.00 2 1 0.007 3 1 0.02 12 14 0.0912 3 11060 16.50 26 37 0.5815 5 3674 14.30 22 31 0.9620 5 159400 3123.34 30 52 3.2122 5 > 5.0M > 48h 38 59 6.70

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 33

Page 189: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesComputational Results (continued)

Instances from Jain and Grossmann (2001)Shorter processing times make the problem easier to solve

Short Processing Times

MILP Integrated BendersJobs Machines Nodes Time (s) Iterations Cuts Time (s)

3 2

1 0.00 1 0 0.00

7 3

1 0.01 1 0 0.01

12 3

4950 1.98 1 0 0.01

15 5

14000 19.80 1 0 0.03

20 5

140 5.73 3 3 0.12

22 5

> 16.9M > 48h 5 4 0.38

25 5

> 4.5M > 48h 16 22 0.86

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 34

Page 190: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesComputational Results (continued)

Instances from Jain and Grossmann (2001)Shorter processing times make the problem easier to solve

Short Processing Times

MILP Integrated BendersJobs Machines Nodes Time (s) Iterations Cuts Time (s)

3 2

1 0.00 1 0 0.00

7 3

1 0.01 1 0 0.01

12 3

4950 1.98 1 0 0.01

15 5

14000 19.80 1 0 0.03

20 5

140 5.73 3 3 0.12

22 5

> 16.9M > 48h 5 4 0.38

25 5

> 4.5M > 48h 16 22 0.86

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 34

Page 191: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesComputational Results (continued)

Instances from Jain and Grossmann (2001)Shorter processing times make the problem easier to solve

Short Processing Times

MILP Integrated BendersJobs Machines Nodes Time (s) Iterations Cuts Time (s)

3 2 1 0.00

1 0 0.00

7 3 1 0.01

1 0 0.01

12 3 4950 1.98

1 0 0.01

15 5 14000 19.80

1 0 0.03

20 5 140 5.73

3 3 0.12

22 5 > 16.9M > 48h

5 4 0.38

25 5 > 4.5M > 48h

16 22 0.86

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 34

Page 192: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Example 3: Job Scheduling on Parallel MachinesComputational Results (continued)

Instances from Jain and Grossmann (2001)Shorter processing times make the problem easier to solve

Short Processing Times

MILP Integrated BendersJobs Machines Nodes Time (s) Iterations Cuts Time (s)

3 2 1 0.00 1 0 0.007 3 1 0.01 1 0 0.0112 3 4950 1.98 1 0 0.0115 5 14000 19.80 1 0 0.0320 5 140 5.73 3 3 0.1222 5 > 16.9M > 48h 5 4 0.3825 5 > 4.5M > 48h 16 22 0.86

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 34

Page 193: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work

Regarding SIMPL itself...

I Support other integrated approaches, e.g. local search, B&PI More features: non-linear solver, cutting planes, more

constraintsI More powerful language in SEARCH section (like OPL)I More intelligent model compilation (e.g. detect special

structures)I Improve performance (code optimization)I etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 35

Page 194: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work

Regarding SIMPL itself...

I Support other integrated approaches, e.g. local search, B&PI More features: non-linear solver, cutting planes, more

constraintsI More powerful language in SEARCH section (like OPL)I More intelligent model compilation (e.g. detect special

structures)I Improve performance (code optimization)I etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 35

Page 195: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work

Regarding SIMPL itself...I Support other integrated approaches, e.g. local search, B&P

I More features: non-linear solver, cutting planes, moreconstraints

I More powerful language in SEARCH section (like OPL)I More intelligent model compilation (e.g. detect special

structures)I Improve performance (code optimization)I etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 35

Page 196: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work

Regarding SIMPL itself...I Support other integrated approaches, e.g. local search, B&PI More features: non-linear solver, cutting planes, more

constraints

I More powerful language in SEARCH section (like OPL)I More intelligent model compilation (e.g. detect special

structures)I Improve performance (code optimization)I etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 35

Page 197: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work

Regarding SIMPL itself...I Support other integrated approaches, e.g. local search, B&PI More features: non-linear solver, cutting planes, more

constraintsI More powerful language in SEARCH section (like OPL)

I More intelligent model compilation (e.g. detect specialstructures)

I Improve performance (code optimization)I etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 35

Page 198: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work

Regarding SIMPL itself...I Support other integrated approaches, e.g. local search, B&PI More features: non-linear solver, cutting planes, more

constraintsI More powerful language in SEARCH section (like OPL)I More intelligent model compilation (e.g. detect special

structures)

I Improve performance (code optimization)I etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 35

Page 199: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work

Regarding SIMPL itself...I Support other integrated approaches, e.g. local search, B&PI More features: non-linear solver, cutting planes, more

constraintsI More powerful language in SEARCH section (like OPL)I More intelligent model compilation (e.g. detect special

structures)I Improve performance (code optimization)

I etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 35

Page 200: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work

Regarding SIMPL itself...I Support other integrated approaches, e.g. local search, B&PI More features: non-linear solver, cutting planes, more

constraintsI More powerful language in SEARCH section (like OPL)I More intelligent model compilation (e.g. detect special

structures)I Improve performance (code optimization)I etc.

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 35

Page 201: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work (continued)

Regarding SIMPL’s availability...

I Distribute source code?I Distribute executable?I Add it to NEOS? COIN-OR?I We are still thinking about it...I Whichever way we go, we still need to clean it up a bit...

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 36

Page 202: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work (continued)

Regarding SIMPL’s availability...

I Distribute source code?I Distribute executable?I Add it to NEOS? COIN-OR?I We are still thinking about it...I Whichever way we go, we still need to clean it up a bit...

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 36

Page 203: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work (continued)

Regarding SIMPL’s availability...I Distribute source code?

I Distribute executable?I Add it to NEOS? COIN-OR?I We are still thinking about it...I Whichever way we go, we still need to clean it up a bit...

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 36

Page 204: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work (continued)

Regarding SIMPL’s availability...I Distribute source code?I Distribute executable?

I Add it to NEOS? COIN-OR?I We are still thinking about it...I Whichever way we go, we still need to clean it up a bit...

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 36

Page 205: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work (continued)

Regarding SIMPL’s availability...I Distribute source code?I Distribute executable?I Add it to NEOS? COIN-OR?

I We are still thinking about it...I Whichever way we go, we still need to clean it up a bit...

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 36

Page 206: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work (continued)

Regarding SIMPL’s availability...I Distribute source code?I Distribute executable?I Add it to NEOS? COIN-OR?I We are still thinking about it...

I Whichever way we go, we still need to clean it up a bit...

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 36

Page 207: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Future Work (continued)

Regarding SIMPL’s availability...I Distribute source code?I Distribute executable?I Add it to NEOS? COIN-OR?I We are still thinking about it...I Whichever way we go, we still need to clean it up a bit...

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 36

Page 208: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Conclusion

Many theoretical and technological breakthroughs over the last fewdecades have helped OR become more accessible and popular

Many important problems are still hard for traditional methods

Recent literature shows integrated methods can succeed whentraditional methods fail

SIMPL is

I a step toward making integrated methods more accessible to alarger group of users

I a very useful research tool

We still have a long way to go, but important steps have been takenand initial results are encouraging

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 37

Page 209: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Conclusion

Many theoretical and technological breakthroughs over the last fewdecades have helped OR become more accessible and popular

Many important problems are still hard for traditional methods

Recent literature shows integrated methods can succeed whentraditional methods fail

SIMPL is

I a step toward making integrated methods more accessible to alarger group of users

I a very useful research tool

We still have a long way to go, but important steps have been takenand initial results are encouraging

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 37

Page 210: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Conclusion

Many theoretical and technological breakthroughs over the last fewdecades have helped OR become more accessible and popular

Many important problems are still hard for traditional methods

Recent literature shows integrated methods can succeed whentraditional methods fail

SIMPL is

I a step toward making integrated methods more accessible to alarger group of users

I a very useful research tool

We still have a long way to go, but important steps have been takenand initial results are encouraging

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 37

Page 211: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Conclusion

Many theoretical and technological breakthroughs over the last fewdecades have helped OR become more accessible and popular

Many important problems are still hard for traditional methods

Recent literature shows integrated methods can succeed whentraditional methods fail

SIMPL is

I a step toward making integrated methods more accessible to alarger group of users

I a very useful research tool

We still have a long way to go, but important steps have been takenand initial results are encouraging

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 37

Page 212: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Conclusion

Many theoretical and technological breakthroughs over the last fewdecades have helped OR become more accessible and popular

Many important problems are still hard for traditional methods

Recent literature shows integrated methods can succeed whentraditional methods fail

SIMPL is

I a step toward making integrated methods more accessible to alarger group of users

I a very useful research tool

We still have a long way to go, but important steps have been takenand initial results are encouraging

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 37

Page 213: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Conclusion

Many theoretical and technological breakthroughs over the last fewdecades have helped OR become more accessible and popular

Many important problems are still hard for traditional methods

Recent literature shows integrated methods can succeed whentraditional methods fail

SIMPL is

I a step toward making integrated methods more accessible to alarger group of users

I a very useful research tool

We still have a long way to go, but important steps have been takenand initial results are encouraging

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 37

Page 214: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Conclusion

Many theoretical and technological breakthroughs over the last fewdecades have helped OR become more accessible and popular

Many important problems are still hard for traditional methods

Recent literature shows integrated methods can succeed whentraditional methods fail

SIMPL is

I a step toward making integrated methods more accessible to alarger group of users

I a very useful research tool

We still have a long way to go, but important steps have been takenand initial results are encouraging

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 37

Page 215: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Conclusion

Many theoretical and technological breakthroughs over the last fewdecades have helped OR become more accessible and popular

Many important problems are still hard for traditional methods

Recent literature shows integrated methods can succeed whentraditional methods fail

SIMPL is

I a step toward making integrated methods more accessible to alarger group of users

I a very useful research tool

We still have a long way to go, but important steps have been takenand initial results are encouraging

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 37

Page 216: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

That’s All Folks!

Thank you!

Any Questions?

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 38

Page 217: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 218: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 219: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 220: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 221: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 222: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 223: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 224: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 225: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 226: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39

Page 227: An Integrated Solver for Optimization Problemscoral.ie.lehigh.edu/mip-2006/talks/Yunes.pdf · An Integrated Solver for Optimization Problems Ionut¸ D. Aron1 John N. Hooker2 Tallys

Constraint Programming Example

x ∈ {1, 3}y ∈ {1, 2, 3}z ∈ {1, 2, 3}w ∈ {1, 2, 4}

element(z, [1, 3, 5], x) (x is the zth element of [1, 3, 5])

alldifferent(x, y, z, w) (all variables take distinct values)

2z − w ≥ 0

Aron, Hooker and Yunes An Integrated Solver for Optimization Problems 39