SlideShare a Scribd company logo
1 of 19
Download to read offline
Decision Optimization
Interesting Use Cases for
the CPLEX Remote Object
Laszlo Ladanyi & Daniel Junglas
© 2013 IBM Corporation
Decision Optimization
2
History
 CPLEX Remote Object
– Introduced with 12.5.0 in Fall 2012
• 3 transports: tcpip, MPI, process (ssh)
– Example codes:
• Parmipopt:
- Start two workers one working on primal and one working on dual bounds
- Stop when bounds match
• Parbenders
- master solves sub-problems within lazy constraint callback
- sub-problems solved on remote machines using remote
CPLEX objects
2
© 2013 IBM Corporation
Decision Optimization
3
Fast forward to 12.6.0: DistMIP
 DistMIP: A distributed memory MIP solver
– Built using the CPLEX remote object
– “Master” distributes tasks to multiple “workers” and controls them
– Communication to workers done transparently via CPLEX Remote Object function
– Algorithm runs deterministically
3
© 2013 IBM Corporation
Decision Optimization
4
DistMIP
 Phases of the algorithm
– Presolve problem
• Copy presolved model
to workers
– Racing Rampup
• Until winner is chosen then
terminate other rampup runs
– Distributed tree search
• Distribute nodes from tree
of the winner across workers
• Process distributed tree search
4
Presolve
Rampup
Worker1
Worker2
WorkerN
Tree Search
Worker1
Worker2
WorkerN
© 2013 IBM Corporation
Decision Optimization
5
DistMIP: Racing Rampup
 Task
– Run concurrent MIP optimizer until
– “Good” run has produced enough nodes to distribute among workers
 Each worker gets same problem
– Setup different parameter settings
• Different random seeds
– Candidate winner (currently): worker with best dual;
Stop when candidate winner has enough nodes
– Exchange primal and dual bounds between workers
5
© 2013 IBM Corporation
Decision Optimization
6
Racing Rampup
6
Master
Main
problem
Worker N
Worker 1
root
presolve
© 2013 IBM Corporation
Decision Optimization
7
Racing Rampup
7
Master
Main
problem
Worker N
Worker 1
root
presolve
root
root
Copy problem
Start limited MIP optimization
© 2013 IBM Corporation
Decision Optimization
8
Racing Rampup
8
Master
Worker N
Worker 1
root
root
root
Master querries workers:
• primal bound
• dual bound
• number of nodes
Primal bound
Dual bound 1
Dual bound N
© 2013 IBM Corporation
Decision Optimization
9
Racing Rampup
9
Master
Worker N
Worker 1
root
root
root
Master
• Check for termination
• Spread best primal bound
• Other workers may prune
nodes from their tree
Primal bound
Primal bound
© 2013 IBM Corporation
Decision Optimization
10
Racing Rampup
10
Master
Worker N
Worker 1
root
root
root
Master querries worker
• Determines winner to
be worker N
Primal bound
Dual bound 1
Dual bound N
© 2013 IBM Corporation
Decision Optimization
11
Racing Rampup
11
Master
Worker N
Worker 1
root
root
root
Master querries worker
• Determines winner to
be worker N
• Terminates other workers
kill
© 2013 IBM Corporation
Decision Optimization
12
DistMIP: Racing Rampup
 Termination
– Regularly (after deterministic time interval) workers report dual bound and open-
node count to master
– Master interrupts rampup if worker with best dual bound has enough nodes for
starting tree search
– Otherwise workers continue
 Infinite Rampup
– Run until problem solved or time limit
12
© 2013 IBM Corporation
Decision Optimization
13
DistMIP: Distributed Tree Search
 Master collects and redistributes nodes from winner to workers
 Workers explore nodes independently as individual MIPs
– Master distributes information between workers
• New incumbents
• Root bounds
 Master rebalances nodes from time to time
13
© 2013 IBM Corporation
Decision Optimization
14
Racing Rampup
14
Master
Worker N
Worker 1
root
root
Master queries winner
• Grab open nodes
• Distribute nodes to
worker queues
Grab nodes
© 2013 IBM Corporation
Decision Optimization
15
Racing Rampup
15
Master
Worker N
Worker 1
root
Master
• Setup node from queue in
each worker
• Start MIP optimizer to
deterministic time limit
• Winner continues its tree
Setup node
root
© 2013 IBM Corporation
Decision Optimization
16
DistMIP: Distributed Tree Search
 Steady state
– Master has queue of nodes assigned to each worker
– Worker gets single node to work on
 In a loop
– Each worker runs for limited deterministic time up to synchronization point
– At synchronization point
• Exchange dual bound, tree size, solutions,...
• Possibly master grabs nodes from workers
• Possibly master reassigns nodes to workers
16
© 2013 IBM Corporation
Decision Optimization
17
DistMIP: Performance
 Infinite Rampup
– General purpose applicability to harder problems
• Exploit / reduce performance variability
• Limited scalability (4-8 machines)
– Average speedup on our testset
• >100s: 1.4x
• >1000s: 1.7x
 DistMIP
– Special purpose solver for problems that require dealing with combinatorial growth
of tree size
17
© 2013 IBM Corporation
Decision Optimization
18
DistMIP: Technical details
 Master
– Responsible of enforcing limits
 Rampup Workers
– Combining presolve reductions from workers only allows one worker to carry out
dual reductions
18
© 2013 IBM Corporation
Decision Optimization
19
Ease of Use
 Setup a Virtual Machine Configuration file config.vmc
– Read in config file
• CPLEX> read config.vmc
• CPXXreadcopyvmconfig (env, “config.vmc”)
• CPXXreadvmcconfig (env, “...”);
– Call distmip optimizer
• CPLEX> optimize
• CPXXdistmipopt(env, lp);
19

More Related Content

What's hot

A (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingA (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for Scheduling
Philippe Laborie
 

What's hot (9)

Solving Large Scale Optimization Problems using CPLEX Optimization Studio
Solving Large Scale Optimization Problems using CPLEX Optimization StudioSolving Large Scale Optimization Problems using CPLEX Optimization Studio
Solving Large Scale Optimization Problems using CPLEX Optimization Studio
 
CPLEX 12.5.1 remote object - June 2013
CPLEX 12.5.1 remote object - June 2013CPLEX 12.5.1 remote object - June 2013
CPLEX 12.5.1 remote object - June 2013
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
2009 : Solving linear optimization problems with MOSEK
2009 : Solving linear optimization problems with MOSEK2009 : Solving linear optimization problems with MOSEK
2009 : Solving linear optimization problems with MOSEK
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer Models
 
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizer
 
A (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingA (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for Scheduling
 

Viewers also liked

2015 07-04 taizéviering
2015 07-04   taizéviering2015 07-04   taizéviering
2015 07-04 taizéviering
ann Vantomme
 
Texas Cattlemen Versus Oprah
Texas Cattlemen Versus OprahTexas Cattlemen Versus Oprah
Texas Cattlemen Versus Oprah
Kaylin Whitaker
 
1ste communie 2012
1ste communie 2012 1ste communie 2012
1ste communie 2012
ann Vantomme
 
Three Day Forensic Peer Support Training_Application FINAL
Three Day Forensic Peer Support Training_Application    FINALThree Day Forensic Peer Support Training_Application    FINAL
Three Day Forensic Peer Support Training_Application FINAL
Michael Little
 

Viewers also liked (20)

Comparative Insurance Industries Overview between USA and Bangladesh
Comparative Insurance Industries Overview between USA and BangladeshComparative Insurance Industries Overview between USA and Bangladesh
Comparative Insurance Industries Overview between USA and Bangladesh
 
Drunk driving
Drunk drivingDrunk driving
Drunk driving
 
Overview of Trans- pacific Partnership
Overview of Trans- pacific Partnership Overview of Trans- pacific Partnership
Overview of Trans- pacific Partnership
 
CTFの話 - coinsLT #10
CTFの話 - coinsLT #10CTFの話 - coinsLT #10
CTFの話 - coinsLT #10
 
Recent progress in CPLEX 12.6.2
Recent progress in CPLEX 12.6.2Recent progress in CPLEX 12.6.2
Recent progress in CPLEX 12.6.2
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
2015 07-04 taizéviering
2015 07-04   taizéviering2015 07-04   taizéviering
2015 07-04 taizéviering
 
Texas Cattlemen Versus Oprah
Texas Cattlemen Versus OprahTexas Cattlemen Versus Oprah
Texas Cattlemen Versus Oprah
 
2016 04-24 5e paaszondag
2016 04-24 5e paaszondag2016 04-24 5e paaszondag
2016 04-24 5e paaszondag
 
1ste communie 2012
1ste communie 2012 1ste communie 2012
1ste communie 2012
 
2016 01-01 nieuwjaar
2016 01-01 nieuwjaar2016 01-01 nieuwjaar
2016 01-01 nieuwjaar
 
ادویه ضد اضطراب و خواب آور Asma Sahar Habib
ادویه ضد اضطراب و خواب آور Asma Sahar Habibادویه ضد اضطراب و خواب آور Asma Sahar Habib
ادویه ضد اضطراب و خواب آور Asma Sahar Habib
 
Estruc dinam
Estruc dinamEstruc dinam
Estruc dinam
 
apoptosis medical pathology
apoptosis medical pathology apoptosis medical pathology
apoptosis medical pathology
 
Question 1
Question 1 Question 1
Question 1
 
Texas Frac Competition
Texas Frac CompetitionTexas Frac Competition
Texas Frac Competition
 
Corporate Travel Management | Atyourprice | Infiniti Software Solutions
Corporate Travel Management | Atyourprice | Infiniti Software SolutionsCorporate Travel Management | Atyourprice | Infiniti Software Solutions
Corporate Travel Management | Atyourprice | Infiniti Software Solutions
 
Ppt pengmas 2015
Ppt pengmas 2015Ppt pengmas 2015
Ppt pengmas 2015
 
Solar system design
Solar system designSolar system design
Solar system design
 
Three Day Forensic Peer Support Training_Application FINAL
Three Day Forensic Peer Support Training_Application    FINALThree Day Forensic Peer Support Training_Application    FINAL
Three Day Forensic Peer Support Training_Application FINAL
 

Similar to Interesting Use Cases for the CPLEX Remote Object

zIIP Capacity Planning
zIIP Capacity PlanningzIIP Capacity Planning
zIIP Capacity Planning
Martin Packer
 
Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012
Mike Willbanks
 
PPCD_And_AmazonRDS
PPCD_And_AmazonRDSPPCD_And_AmazonRDS
PPCD_And_AmazonRDS
Vibhor Kumar
 

Similar to Interesting Use Cases for the CPLEX Remote Object (20)

zIIP Capacity Planning
zIIP Capacity PlanningzIIP Capacity Planning
zIIP Capacity Planning
 
zIIP Capacity Planning
zIIP Capacity PlanningzIIP Capacity Planning
zIIP Capacity Planning
 
Ibm spectrum scale fundamentals workshop for americas part 2 IBM Spectrum Sca...
Ibm spectrum scale fundamentals workshop for americas part 2 IBM Spectrum Sca...Ibm spectrum scale fundamentals workshop for americas part 2 IBM Spectrum Sca...
Ibm spectrum scale fundamentals workshop for americas part 2 IBM Spectrum Sca...
 
Inside Apache SystemML by Frederick Reiss
Inside Apache SystemML by Frederick ReissInside Apache SystemML by Frederick Reiss
Inside Apache SystemML by Frederick Reiss
 
C-MR: Continuously Executing MapReduce Workflows on Multi-Core Processors
C-MR: Continuously Executing MapReduce Workflows on Multi-Core ProcessorsC-MR: Continuously Executing MapReduce Workflows on Multi-Core Processors
C-MR: Continuously Executing MapReduce Workflows on Multi-Core Processors
 
Open Mic on Managed Mail Replica
Open Mic on Managed Mail ReplicaOpen Mic on Managed Mail Replica
Open Mic on Managed Mail Replica
 
Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012
 
zIIP Capacity Planning - May 2018
zIIP Capacity Planning - May 2018zIIP Capacity Planning - May 2018
zIIP Capacity Planning - May 2018
 
Ml also helps generic compiler ?
Ml also helps generic compiler ?Ml also helps generic compiler ?
Ml also helps generic compiler ?
 
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
 
IBM Runtimes Performance Observations with Apache Spark
IBM Runtimes Performance Observations with Apache SparkIBM Runtimes Performance Observations with Apache Spark
IBM Runtimes Performance Observations with Apache Spark
 
Model Transformation A Personal Perspective
Model Transformation A Personal PerspectiveModel Transformation A Personal Perspective
Model Transformation A Personal Perspective
 
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...
 
IBM MQ Disaster Recovery
IBM MQ Disaster RecoveryIBM MQ Disaster Recovery
IBM MQ Disaster Recovery
 
Toronto meetup 20190917
Toronto meetup 20190917Toronto meetup 20190917
Toronto meetup 20190917
 
IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning
 
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the mythsDB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
 
PPCD_And_AmazonRDS
PPCD_And_AmazonRDSPPCD_And_AmazonRDS
PPCD_And_AmazonRDS
 
OpenPOWER Application Optimization
OpenPOWER Application Optimization OpenPOWER Application Optimization
OpenPOWER Application Optimization
 
Apache Spark Performance Observations
Apache Spark Performance ObservationsApache Spark Performance Observations
Apache Spark Performance Observations
 

Recently uploaded

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Interesting Use Cases for the CPLEX Remote Object

  • 1. Decision Optimization Interesting Use Cases for the CPLEX Remote Object Laszlo Ladanyi & Daniel Junglas
  • 2. © 2013 IBM Corporation Decision Optimization 2 History  CPLEX Remote Object – Introduced with 12.5.0 in Fall 2012 • 3 transports: tcpip, MPI, process (ssh) – Example codes: • Parmipopt: - Start two workers one working on primal and one working on dual bounds - Stop when bounds match • Parbenders - master solves sub-problems within lazy constraint callback - sub-problems solved on remote machines using remote CPLEX objects 2
  • 3. © 2013 IBM Corporation Decision Optimization 3 Fast forward to 12.6.0: DistMIP  DistMIP: A distributed memory MIP solver – Built using the CPLEX remote object – “Master” distributes tasks to multiple “workers” and controls them – Communication to workers done transparently via CPLEX Remote Object function – Algorithm runs deterministically 3
  • 4. © 2013 IBM Corporation Decision Optimization 4 DistMIP  Phases of the algorithm – Presolve problem • Copy presolved model to workers – Racing Rampup • Until winner is chosen then terminate other rampup runs – Distributed tree search • Distribute nodes from tree of the winner across workers • Process distributed tree search 4 Presolve Rampup Worker1 Worker2 WorkerN Tree Search Worker1 Worker2 WorkerN
  • 5. © 2013 IBM Corporation Decision Optimization 5 DistMIP: Racing Rampup  Task – Run concurrent MIP optimizer until – “Good” run has produced enough nodes to distribute among workers  Each worker gets same problem – Setup different parameter settings • Different random seeds – Candidate winner (currently): worker with best dual; Stop when candidate winner has enough nodes – Exchange primal and dual bounds between workers 5
  • 6. © 2013 IBM Corporation Decision Optimization 6 Racing Rampup 6 Master Main problem Worker N Worker 1 root presolve
  • 7. © 2013 IBM Corporation Decision Optimization 7 Racing Rampup 7 Master Main problem Worker N Worker 1 root presolve root root Copy problem Start limited MIP optimization
  • 8. © 2013 IBM Corporation Decision Optimization 8 Racing Rampup 8 Master Worker N Worker 1 root root root Master querries workers: • primal bound • dual bound • number of nodes Primal bound Dual bound 1 Dual bound N
  • 9. © 2013 IBM Corporation Decision Optimization 9 Racing Rampup 9 Master Worker N Worker 1 root root root Master • Check for termination • Spread best primal bound • Other workers may prune nodes from their tree Primal bound Primal bound
  • 10. © 2013 IBM Corporation Decision Optimization 10 Racing Rampup 10 Master Worker N Worker 1 root root root Master querries worker • Determines winner to be worker N Primal bound Dual bound 1 Dual bound N
  • 11. © 2013 IBM Corporation Decision Optimization 11 Racing Rampup 11 Master Worker N Worker 1 root root root Master querries worker • Determines winner to be worker N • Terminates other workers kill
  • 12. © 2013 IBM Corporation Decision Optimization 12 DistMIP: Racing Rampup  Termination – Regularly (after deterministic time interval) workers report dual bound and open- node count to master – Master interrupts rampup if worker with best dual bound has enough nodes for starting tree search – Otherwise workers continue  Infinite Rampup – Run until problem solved or time limit 12
  • 13. © 2013 IBM Corporation Decision Optimization 13 DistMIP: Distributed Tree Search  Master collects and redistributes nodes from winner to workers  Workers explore nodes independently as individual MIPs – Master distributes information between workers • New incumbents • Root bounds  Master rebalances nodes from time to time 13
  • 14. © 2013 IBM Corporation Decision Optimization 14 Racing Rampup 14 Master Worker N Worker 1 root root Master queries winner • Grab open nodes • Distribute nodes to worker queues Grab nodes
  • 15. © 2013 IBM Corporation Decision Optimization 15 Racing Rampup 15 Master Worker N Worker 1 root Master • Setup node from queue in each worker • Start MIP optimizer to deterministic time limit • Winner continues its tree Setup node root
  • 16. © 2013 IBM Corporation Decision Optimization 16 DistMIP: Distributed Tree Search  Steady state – Master has queue of nodes assigned to each worker – Worker gets single node to work on  In a loop – Each worker runs for limited deterministic time up to synchronization point – At synchronization point • Exchange dual bound, tree size, solutions,... • Possibly master grabs nodes from workers • Possibly master reassigns nodes to workers 16
  • 17. © 2013 IBM Corporation Decision Optimization 17 DistMIP: Performance  Infinite Rampup – General purpose applicability to harder problems • Exploit / reduce performance variability • Limited scalability (4-8 machines) – Average speedup on our testset • >100s: 1.4x • >1000s: 1.7x  DistMIP – Special purpose solver for problems that require dealing with combinatorial growth of tree size 17
  • 18. © 2013 IBM Corporation Decision Optimization 18 DistMIP: Technical details  Master – Responsible of enforcing limits  Rampup Workers – Combining presolve reductions from workers only allows one worker to carry out dual reductions 18
  • 19. © 2013 IBM Corporation Decision Optimization 19 Ease of Use  Setup a Virtual Machine Configuration file config.vmc – Read in config file • CPLEX> read config.vmc • CPXXreadcopyvmconfig (env, “config.vmc”) • CPXXreadvmcconfig (env, “...”); – Call distmip optimizer • CPLEX> optimize • CPXXdistmipopt(env, lp); 19