SlideShare a Scribd company logo
1 of 22
Alkis Vazacopoulos
Robert Ashford
Optimization Direct
Optimization Direct, CPLEX and
Very Large Optimization Models
Summary
• Introduce Optimization Direct Inc.
• Explain what we do
• Look at getting the most from optimization
• some modeling issues
• optimizer issues
• Example of large scale optimization:
scheduling heuristic
Optimization Direct
• IBM Business Partner
• Sell CPLEX optimization Studio
• More than 30 years of experience in developing and selling
Optimization software
• Experience in implementing optimization technology in all the
verticals
• Sold to end users – Fortune 500 companies
• Train our customers to get the maximum out of the IBM
software
• Help the customers get a flying start and get the most from
optimization and the software right away
Background
• Robert Ashford
• Robert co-founded Dash Optimization in 1984. Helped pioneer the
development of new modeling and solution technologies – the first
integrated development environment for optimization – in the
forefront of technology development driving the size, complexity and
scope of applications. Dash was sold in 2008 and Robert continued
leading development within Fair Isaac until the Fall of 2010, Dr.
Ashford subsequently, co-founded Optimization Direct in 2014.
• Alkis Vazacopoulos
• Alkis is a Business Analytics and Optimization expert. From
January 2008 to January 2011 he was Vice President at FICO
Research. Prior to that he was the President at Dash Optimization,
Inc. where he worked closely with end users, consulting companies,
OEMs/ISVs in developing optimization solutions.
Get more from Optimization
• Modeling
• Use modeling language and ‘Developer Studio’
environment
• Such as OPL and CPLEX Optimization Studio
• Easier to build, debug, manage models
• Exploit (data) sparsity
• Keep formulations tight
• Optimization
• Many models solve out-of-the-box
• Others (usually large) models do not
• Tune optimizer
• Distributed MIP
• Use Heuristics
Modeling: Use Sparsity
Avoid unnecessary looping: example of network model
Xsdij = traffic on link (i,j) from route (s,d)
Σj Xsdlj - Σi Xsdil = 0, for all s,d,l ϵ {Nodes}
Coded as:
int NbNodes = ...;
range Nodes = 1..NbNodes;
dvar float+ X[Nodes][Nodes][Nodes][Nodes] = ...;
forall(s in Nodes, d in Nodes, l in Nodes : s != d && s != l && d != l)
XFlow:
sum(j in Nodes) X[s][d][l][j] – sum(i in Nodes) X[s][d][i][l] == 0;
is inefficient: loops over all combinations
Modeling: Use Sparsity
More efficient: only loop over existent links and routes
Xkl = traffic on link l from route k
Σj: (n,j) ϵ {links} Xk(n,j) - Σi: (i,n) ϵ {links} Xk(I,n) = 0, all k ϵ {Links}, n ϵ {Nodes}
coded as
int NbNodes = ...;
range Nodes = 1..NbNodes;
tuple link { int s; int d;}
{link} Links = ...;
dvar float+ X[Links][Links];
forall( k in Links, n in Nodes : n != k.s && n != k.d )
XFlow:
sum(<n,j> in Links) X[k][<n,j>]
– sum(<i,n> in Links) X[k][<i,n>] == 0;
Tight Formulations
• Make LP feasible region as small as possible whilst
containing integer feasible points
• ‘big-M’/indicator constraints well known:
• y - M x ≤ 0, y ≥ 0, s binary. Identify directly to solver.
• Take care with others. Customer example: xi binary
2 x1 + 2 x2 + x3 + x4 ≤ 3 is worse than
x1 + x2 ≤ 1 and x1 + x2 + x3 + x4 ≤ 2
2 x1 + 2 x2 + x3 + x4 ≤ 2 is worse than
x1 + x2 ≤ 1 and x1 + x2 + x3 + x4 ≤ 1
Driving the Optimizer
• Performance of modern commercial software and
hardware in a different league from ten years ago
• Hardware
• Around 10 X faster than 10 years ago
• Depends on characteristic of interest
• Software
• CPLEX leads
• 100X ~ 1000X faster than best open source
• Tunable to specific model classes
• Exploits multiple processor cores
• Exploits multiple machine clusters
Hardware characteristics
1990 2005 2014 Improvement
IBM PS/2 80-111 Intel Pentium 4 540 Intel i7-4790K
Processor speed 20 MHz 3.2 GHz 4.4GHz 220
Cores 1 1 4 4
Time for a FP multiply 1.4 – 2.8 ms. 0.08
†
– 0.3 ns. 0.008
†
– 0.2 ns. 7,000 – 350,000
†
Typical memory size 4 Mbyte 2 GByte 16 GByte 4000
Memory speed 85 ns. 45 ns. 12 ns 7
L2 cache size None 1 Mbyte 8 Mbyte
Typical disk capacity 115 Mbyte 120 GByte 1 TByte 9,000
† using the vector facility.
CPLEX Performance Improvements
Where’s the Problem?
• Many models now solved routinely which would have
been impossible (‘unsolvable’) a few years ago
• BUT: have super-linear growth of solving effort as model
size/complexity increases
• AND: customer models keep getting larger
• Globalized business has larger and more complex supply
chain
• Optimization expanding into new areas, especially
scheduling
• Detailed models easier to sell to management and end-
users
Getting more difficult
• Solver has to
• (Presolve and) solve LP relaxation
• Find and apply cuts
• Branch on remaining infeasibilities (and find and apply cuts too)
• Look for feasible solutions with heuristics all the while
• Simplex relaxation solves theoretically NP, but in practice effort
increases between linearly and quadratic
• Barrier solver effort grows more slowly, but:
• cross-over still grows quickly
• usually get more integer infeasibilities
• can’t use last solution/basis to accelerate
• Cutting grows faster than quadratic: each cuts requires more
effort, more cuts/round, more rounds of cuts, each round harder to
apply.
• Branching is exponential: 2n in number of (say) binaries n
What can we do? Tuning the Optimizer
• Models usually solved many times
• Repeat planning or scheduling process
• Solve multiple scenarios
• Good algorithms for dynamic parameter/strategy choice
• Expert analysis may do even better trading off solution
time and optimality level:
• LP algorithm choice
• Kind of cuts and their intensity
• Heuristic choice, effort and frequency
• Branching strategies and priorities
• Use more parallelism: more cores, distributed computers
• Sophisticated auto tuner for small/medium sized models
Model/Application Specific Solution
Techniques
• Proof of optimality (say to 1%) may be impractical
• Want good solutions to (say) 20%
• Solve smaller model(s)
• Heuristic approach used e.g. by RINS and local branching
• Use knowledge of model structure to break it down into
sub-models and combine solutions
• Prove solution quality by a very aggressive root solve
of whole model
Example: Large Scale Scheduling model
• Schedule 800 entities over 70 periods
• Have target number of active periods for each entity
• Entities have mutual interactions within each period
• 94K variables, 213K constraints, 93K binaries
• No usable (say within 30% gap) solution after 2 days
run time on fastest hardware (Intel i7 4790K ‘Devil’s
Canyon’)
Heuristic Solution Approach
• Solves sequence of sub-models
• Delivers usable solutions (12%-16% gap)
• Takes 4-12 hours run time
• Multiple instances can be run concurrently with
different seeds
• Can run on only 2 cores
• Can interrupt at any point and take best solution so far
Scheduling Model Heuristic Behavior
1480
743
411
239
185170163159151146145143142140139138136134133129128126125124123122121120 117 116
1480
706
371
231
186176166156148146143135134132131130129128127126125124123122 119
0
200
400
600
800
1000
1200
1400
1600
0 50 100 150 200 250 300 350 400
SolutionValues
Time in Minutes
5678
1234
Parallel Heuristic Approach
• Run several instances with different seeds
simultaneously
• CPLEX callable library very flexible, so
• Exchange solution information between runs
• Kill sub-model solves when done better elsewhere
• Improves sub-model selection
• 4 instances run on 4 core i7-4790K
• Each instance slower than serial case which mostly used
2 cores each
• Outweighed by information exchange
• Could easily implement on clusters of computers
Parallel Heuristic Behavior
1480
141414031400
817801800
757
519
476
320
275
225211210198183167166159149147140138137136135131130129127 126124123122121
118 117 115
1480
706
371
231
186176166156148146143135134132131130129128127126125124123 122 119
0
200
400
600
800
1000
1200
1400
1600
0 50 100 150 200 250 300 350 400
Solutions
Time in Minutes
Parallel Serial
Parallel Heuristic Behavior: 2 cores/instance
1480
1416
743739737724
692690689
643641
587
464
358337319293288
245244243
192191190187173170167164163161159152146142141140136132130129127
124 122121 120 118 117
1480
706
371
231
186176166156148146 143 135134132131130129
128
126
125
124
123
122
0
200
400
600
800
1000
1200
1400
1600
-10 40 90 140 190 240
Solutions
Time in Minutes
2 Cores 4 Threads Ea Serial
Thanks for listening
Robert Ashford
rwa@optimizationdirect.com
www.optimizationdirect.com

More Related Content

What's hot

Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQICS
 
A whirlwind tour of the LLVM optimizer
A whirlwind tour of the LLVM optimizerA whirlwind tour of the LLVM optimizer
A whirlwind tour of the LLVM optimizerNikita Popov
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardAnimesh Chaturvedi
 
LLVM Register Allocation
LLVM Register AllocationLLVM Register Allocation
LLVM Register AllocationWang Hsiangkai
 
Rational Team Concert Process Customization - What you can and cannot do
Rational Team Concert Process Customization - What you can and cannot doRational Team Concert Process Customization - What you can and cannot do
Rational Team Concert Process Customization - What you can and cannot doRalph Schoon
 
Best Practices for Building an Enterprise SOA Infrastructure on Oracle SOA Suite
Best Practices for Building an Enterprise SOA Infrastructure on Oracle SOA SuiteBest Practices for Building an Enterprise SOA Infrastructure on Oracle SOA Suite
Best Practices for Building an Enterprise SOA Infrastructure on Oracle SOA SuiteMatt Wright
 
Accelerating HPC Applications on NVIDIA GPUs with OpenACC
Accelerating HPC Applications on NVIDIA GPUs with OpenACCAccelerating HPC Applications on NVIDIA GPUs with OpenACC
Accelerating HPC Applications on NVIDIA GPUs with OpenACCinside-BigData.com
 
Test unitaire
Test unitaireTest unitaire
Test unitaireIsenDev
 
Futex Scaling for Multi-core Systems
Futex Scaling for Multi-core SystemsFutex Scaling for Multi-core Systems
Futex Scaling for Multi-core SystemsDavidlohr Bueso
 
LLVM Register Allocation (2nd Version)
LLVM Register Allocation (2nd Version)LLVM Register Allocation (2nd Version)
LLVM Register Allocation (2nd Version)Wang Hsiangkai
 
PeopleSoft 9.2 Webinar Series - Part 1 - Upgrade Roadmap and Planning
PeopleSoft 9.2 Webinar Series - Part 1 - Upgrade Roadmap and PlanningPeopleSoft 9.2 Webinar Series - Part 1 - Upgrade Roadmap and Planning
PeopleSoft 9.2 Webinar Series - Part 1 - Upgrade Roadmap and PlanningArvind Rajan
 
Kotlin Coroutines and Android sitting in a tree
Kotlin Coroutines and Android sitting in a treeKotlin Coroutines and Android sitting in a tree
Kotlin Coroutines and Android sitting in a treeKai Koenig
 
Presentation systemc
Presentation systemcPresentation systemc
Presentation systemcSUBRAHMANYA S
 
Yapp methodology anjo-kolk
Yapp methodology anjo-kolkYapp methodology anjo-kolk
Yapp methodology anjo-kolkToon Koppelaars
 
Example of JAVA Program
Example of JAVA ProgramExample of JAVA Program
Example of JAVA ProgramTrenton Asbury
 

What's hot (20)

Network-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQNetwork-Connected Development with ZeroMQ
Network-Connected Development with ZeroMQ
 
A whirlwind tour of the LLVM optimizer
A whirlwind tour of the LLVM optimizerA whirlwind tour of the LLVM optimizer
A whirlwind tour of the LLVM optimizer
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-Hard
 
LLVM Register Allocation
LLVM Register AllocationLLVM Register Allocation
LLVM Register Allocation
 
Rational Team Concert Process Customization - What you can and cannot do
Rational Team Concert Process Customization - What you can and cannot doRational Team Concert Process Customization - What you can and cannot do
Rational Team Concert Process Customization - What you can and cannot do
 
Preparing for Scala 3
Preparing for Scala 3Preparing for Scala 3
Preparing for Scala 3
 
Best Practices for Building an Enterprise SOA Infrastructure on Oracle SOA Suite
Best Practices for Building an Enterprise SOA Infrastructure on Oracle SOA SuiteBest Practices for Building an Enterprise SOA Infrastructure on Oracle SOA Suite
Best Practices for Building an Enterprise SOA Infrastructure on Oracle SOA Suite
 
Accelerating HPC Applications on NVIDIA GPUs with OpenACC
Accelerating HPC Applications on NVIDIA GPUs with OpenACCAccelerating HPC Applications on NVIDIA GPUs with OpenACC
Accelerating HPC Applications on NVIDIA GPUs with OpenACC
 
Test unitaire
Test unitaireTest unitaire
Test unitaire
 
Linux Internals - Interview essentials 4.0
Linux Internals - Interview essentials 4.0Linux Internals - Interview essentials 4.0
Linux Internals - Interview essentials 4.0
 
Futex Scaling for Multi-core Systems
Futex Scaling for Multi-core SystemsFutex Scaling for Multi-core Systems
Futex Scaling for Multi-core Systems
 
LLVM Register Allocation (2nd Version)
LLVM Register Allocation (2nd Version)LLVM Register Allocation (2nd Version)
LLVM Register Allocation (2nd Version)
 
PeopleSoft 9.2 Webinar Series - Part 1 - Upgrade Roadmap and Planning
PeopleSoft 9.2 Webinar Series - Part 1 - Upgrade Roadmap and PlanningPeopleSoft 9.2 Webinar Series - Part 1 - Upgrade Roadmap and Planning
PeopleSoft 9.2 Webinar Series - Part 1 - Upgrade Roadmap and Planning
 
Kotlin Coroutines and Android sitting in a tree
Kotlin Coroutines and Android sitting in a treeKotlin Coroutines and Android sitting in a tree
Kotlin Coroutines and Android sitting in a tree
 
Presentation systemc
Presentation systemcPresentation systemc
Presentation systemc
 
JavaScript Event Loop
JavaScript Event LoopJavaScript Event Loop
JavaScript Event Loop
 
Java basic introduction
Java basic introductionJava basic introduction
Java basic introduction
 
Yapp methodology anjo-kolk
Yapp methodology anjo-kolkYapp methodology anjo-kolk
Yapp methodology anjo-kolk
 
Example of JAVA Program
Example of JAVA ProgramExample of JAVA Program
Example of JAVA Program
 
La programmation fonctionnelle en javascript / PF
La programmation fonctionnelle en javascript / PFLa programmation fonctionnelle en javascript / PF
La programmation fonctionnelle en javascript / PF
 

Viewers also liked

Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization StudioRecent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization StudioIBM Decision Optimization
 
Product Mix Optimization Case Study - OPL/ CPLEX Code
Product Mix Optimization Case Study - OPL/ CPLEX Code Product Mix Optimization Case Study - OPL/ CPLEX Code
Product Mix Optimization Case Study - OPL/ CPLEX Code OptiRisk India
 
Programmation par contraintes
Programmation par contraintesProgrammation par contraintes
Programmation par contraintesOrochi Krizalid
 
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...Philippe Laborie
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP OptimizerPhilippe Laborie
 
Modeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerModeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerPhilippe Laborie
 
Prestige intl realty llc lisitng_power_point
Prestige intl realty llc lisitng_power_pointPrestige intl realty llc lisitng_power_point
Prestige intl realty llc lisitng_power_pointarmandopa01
 
Sujet Brevet Pondichery 2014
Sujet Brevet Pondichery 2014Sujet Brevet Pondichery 2014
Sujet Brevet Pondichery 2014mlaugel
 
Asian Architecture Case Study
Asian Architecture Case StudyAsian Architecture Case Study
Asian Architecture Case Studynadiacbass
 
A travellers guide to leh ladhak
A travellers guide to leh ladhakA travellers guide to leh ladhak
A travellers guide to leh ladhakPriyanka9989
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-claseBeatriz Moreyra
 

Viewers also liked (18)

Présentation Cplex
Présentation CplexPrésentation Cplex
Présentation Cplex
 
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization StudioRecent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
 
Opl
OplOpl
Opl
 
Product Mix Optimization Case Study - OPL/ CPLEX Code
Product Mix Optimization Case Study - OPL/ CPLEX Code Product Mix Optimization Case Study - OPL/ CPLEX Code
Product Mix Optimization Case Study - OPL/ CPLEX Code
 
Programmation par contraintes
Programmation par contraintesProgrammation par contraintes
Programmation par contraintes
 
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...
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
Modeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerModeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP Optimizer
 
Prestige intl realty llc lisitng_power_point
Prestige intl realty llc lisitng_power_pointPrestige intl realty llc lisitng_power_point
Prestige intl realty llc lisitng_power_point
 
Game on
Game onGame on
Game on
 
Sujet Brevet Pondichery 2014
Sujet Brevet Pondichery 2014Sujet Brevet Pondichery 2014
Sujet Brevet Pondichery 2014
 
Job search presentation
Job search presentationJob search presentation
Job search presentation
 
Logotipoppt
LogotipopptLogotipoppt
Logotipoppt
 
L1
L1L1
L1
 
Take action on workplace safety
Take action on workplace safetyTake action on workplace safety
Take action on workplace safety
 
Asian Architecture Case Study
Asian Architecture Case StudyAsian Architecture Case Study
Asian Architecture Case Study
 
A travellers guide to leh ladhak
A travellers guide to leh ladhakA travellers guide to leh ladhak
A travellers guide to leh ladhak
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 

Similar to Solving Large Scale Optimization Problems using CPLEX Optimization Studio

CPLEX Optimization Studio, Modeling, Theory, Best Practices and Case Studies
CPLEX Optimization Studio, Modeling, Theory, Best Practices and Case StudiesCPLEX Optimization Studio, Modeling, Theory, Best Practices and Case Studies
CPLEX Optimization Studio, Modeling, Theory, Best Practices and Case Studiesoptimizatiodirectdirect
 
Very largeoptimizationparallel
Very largeoptimizationparallelVery largeoptimizationparallel
Very largeoptimizationparallelAlkis Vazacopoulos
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_SummaryHiram Fleitas León
 
10x latency improvement – how to squeeze performance out of your BizTalk solu...
10x latency improvement – how to squeeze performance out of your BizTalk solu...10x latency improvement – how to squeeze performance out of your BizTalk solu...
10x latency improvement – how to squeeze performance out of your BizTalk solu...BizTalk360
 
BizTalk Server Performance Tips
BizTalk Server Performance TipsBizTalk Server Performance Tips
BizTalk Server Performance TipsBizTalk360
 
PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko Neotys
 
Software Engineering Advice from Google's Jeff Dean for Big, Distributed Systems
Software Engineering Advice from Google's Jeff Dean for Big, Distributed SystemsSoftware Engineering Advice from Google's Jeff Dean for Big, Distributed Systems
Software Engineering Advice from Google's Jeff Dean for Big, Distributed Systemsadrianionel
 
Introduction to the Typesafe Reactive Platform
Introduction to the Typesafe Reactive PlatformIntroduction to the Typesafe Reactive Platform
Introduction to the Typesafe Reactive PlatformBoldRadius Solutions
 
Accelerating Data Processing in Spark SQL with Pandas UDFs
Accelerating Data Processing in Spark SQL with Pandas UDFsAccelerating Data Processing in Spark SQL with Pandas UDFs
Accelerating Data Processing in Spark SQL with Pandas UDFsDatabricks
 
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Databricks
 
Designing, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons LearnedDesigning, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons LearnedDenny Lee
 
Big Data in the Cloud: How the RISElab Enables Computers to Make Intelligent ...
Big Data in the Cloud: How the RISElab Enables Computers to Make Intelligent ...Big Data in the Cloud: How the RISElab Enables Computers to Make Intelligent ...
Big Data in the Cloud: How the RISElab Enables Computers to Make Intelligent ...Amazon Web Services
 
Extreme Programming (XP): Revisted
Extreme Programming (XP): RevistedExtreme Programming (XP): Revisted
Extreme Programming (XP): RevistedMike Harris
 
Fundamentals.pptx
Fundamentals.pptxFundamentals.pptx
Fundamentals.pptxdhivyak49
 
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)Mauro Vallati
 
Converting Your Legacy Data to S1000D
Converting Your Legacy Data to S1000DConverting Your Legacy Data to S1000D
Converting Your Legacy Data to S1000Ddclsocialmedia
 
In the age of Big Data, what role for Software Engineers?
In the age of Big Data, what role for Software Engineers?In the age of Big Data, what role for Software Engineers?
In the age of Big Data, what role for Software Engineers?CS, NcState
 
Optimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studiesOptimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studiesAlkis Vazacopoulos
 

Similar to Solving Large Scale Optimization Problems using CPLEX Optimization Studio (20)

Large scalecplex
Large scalecplexLarge scalecplex
Large scalecplex
 
CPLEX Optimization Studio, Modeling, Theory, Best Practices and Case Studies
CPLEX Optimization Studio, Modeling, Theory, Best Practices and Case StudiesCPLEX Optimization Studio, Modeling, Theory, Best Practices and Case Studies
CPLEX Optimization Studio, Modeling, Theory, Best Practices and Case Studies
 
Very largeoptimizationparallel
Very largeoptimizationparallelVery largeoptimizationparallel
Very largeoptimizationparallel
 
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
 
10x latency improvement – how to squeeze performance out of your BizTalk solu...
10x latency improvement – how to squeeze performance out of your BizTalk solu...10x latency improvement – how to squeeze performance out of your BizTalk solu...
10x latency improvement – how to squeeze performance out of your BizTalk solu...
 
Scaling tappsi
Scaling tappsiScaling tappsi
Scaling tappsi
 
BizTalk Server Performance Tips
BizTalk Server Performance TipsBizTalk Server Performance Tips
BizTalk Server Performance Tips
 
PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko PAC 2019 virtual Alexander Podelko
PAC 2019 virtual Alexander Podelko
 
Software Engineering Advice from Google's Jeff Dean for Big, Distributed Systems
Software Engineering Advice from Google's Jeff Dean for Big, Distributed SystemsSoftware Engineering Advice from Google's Jeff Dean for Big, Distributed Systems
Software Engineering Advice from Google's Jeff Dean for Big, Distributed Systems
 
Introduction to the Typesafe Reactive Platform
Introduction to the Typesafe Reactive PlatformIntroduction to the Typesafe Reactive Platform
Introduction to the Typesafe Reactive Platform
 
Accelerating Data Processing in Spark SQL with Pandas UDFs
Accelerating Data Processing in Spark SQL with Pandas UDFsAccelerating Data Processing in Spark SQL with Pandas UDFs
Accelerating Data Processing in Spark SQL with Pandas UDFs
 
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
 
Designing, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons LearnedDesigning, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons Learned
 
Big Data in the Cloud: How the RISElab Enables Computers to Make Intelligent ...
Big Data in the Cloud: How the RISElab Enables Computers to Make Intelligent ...Big Data in the Cloud: How the RISElab Enables Computers to Make Intelligent ...
Big Data in the Cloud: How the RISElab Enables Computers to Make Intelligent ...
 
Extreme Programming (XP): Revisted
Extreme Programming (XP): RevistedExtreme Programming (XP): Revisted
Extreme Programming (XP): Revisted
 
Fundamentals.pptx
Fundamentals.pptxFundamentals.pptx
Fundamentals.pptx
 
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
Argumentation in Artificial Intelligence: From Theory to Practice (Practice)
 
Converting Your Legacy Data to S1000D
Converting Your Legacy Data to S1000DConverting Your Legacy Data to S1000D
Converting Your Legacy Data to S1000D
 
In the age of Big Data, what role for Software Engineers?
In the age of Big Data, what role for Software Engineers?In the age of Big Data, what role for Software Engineers?
In the age of Big Data, what role for Software Engineers?
 
Optimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studiesOptimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studies
 

Recently uploaded

BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceDelhi Call girls
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...amitlee9823
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...amitlee9823
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...only4webmaster01
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramMoniSankarHazra
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...amitlee9823
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...amitlee9823
 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachBoston Institute of Analytics
 

Recently uploaded (20)

BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Nandini Layout ☎ 7737669865 🥵 Book Your One night Stand
 
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men  🔝Bangalore🔝   Esc...
➥🔝 7737669865 🔝▻ Bangalore Call-girls in Women Seeking Men 🔝Bangalore🔝 Esc...
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men  🔝Thrissur🔝   Escor...
➥🔝 7737669865 🔝▻ Thrissur Call-girls in Women Seeking Men 🔝Thrissur🔝 Escor...
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics Program
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night StandCall Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Doddaballapur Road ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning Approach
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 

Solving Large Scale Optimization Problems using CPLEX Optimization Studio

  • 1. Alkis Vazacopoulos Robert Ashford Optimization Direct Optimization Direct, CPLEX and Very Large Optimization Models
  • 2. Summary • Introduce Optimization Direct Inc. • Explain what we do • Look at getting the most from optimization • some modeling issues • optimizer issues • Example of large scale optimization: scheduling heuristic
  • 3. Optimization Direct • IBM Business Partner • Sell CPLEX optimization Studio • More than 30 years of experience in developing and selling Optimization software • Experience in implementing optimization technology in all the verticals • Sold to end users – Fortune 500 companies • Train our customers to get the maximum out of the IBM software • Help the customers get a flying start and get the most from optimization and the software right away
  • 4. Background • Robert Ashford • Robert co-founded Dash Optimization in 1984. Helped pioneer the development of new modeling and solution technologies – the first integrated development environment for optimization – in the forefront of technology development driving the size, complexity and scope of applications. Dash was sold in 2008 and Robert continued leading development within Fair Isaac until the Fall of 2010, Dr. Ashford subsequently, co-founded Optimization Direct in 2014. • Alkis Vazacopoulos • Alkis is a Business Analytics and Optimization expert. From January 2008 to January 2011 he was Vice President at FICO Research. Prior to that he was the President at Dash Optimization, Inc. where he worked closely with end users, consulting companies, OEMs/ISVs in developing optimization solutions.
  • 5. Get more from Optimization • Modeling • Use modeling language and ‘Developer Studio’ environment • Such as OPL and CPLEX Optimization Studio • Easier to build, debug, manage models • Exploit (data) sparsity • Keep formulations tight • Optimization • Many models solve out-of-the-box • Others (usually large) models do not • Tune optimizer • Distributed MIP • Use Heuristics
  • 6. Modeling: Use Sparsity Avoid unnecessary looping: example of network model Xsdij = traffic on link (i,j) from route (s,d) Σj Xsdlj - Σi Xsdil = 0, for all s,d,l ϵ {Nodes} Coded as: int NbNodes = ...; range Nodes = 1..NbNodes; dvar float+ X[Nodes][Nodes][Nodes][Nodes] = ...; forall(s in Nodes, d in Nodes, l in Nodes : s != d && s != l && d != l) XFlow: sum(j in Nodes) X[s][d][l][j] – sum(i in Nodes) X[s][d][i][l] == 0; is inefficient: loops over all combinations
  • 7. Modeling: Use Sparsity More efficient: only loop over existent links and routes Xkl = traffic on link l from route k Σj: (n,j) ϵ {links} Xk(n,j) - Σi: (i,n) ϵ {links} Xk(I,n) = 0, all k ϵ {Links}, n ϵ {Nodes} coded as int NbNodes = ...; range Nodes = 1..NbNodes; tuple link { int s; int d;} {link} Links = ...; dvar float+ X[Links][Links]; forall( k in Links, n in Nodes : n != k.s && n != k.d ) XFlow: sum(<n,j> in Links) X[k][<n,j>] – sum(<i,n> in Links) X[k][<i,n>] == 0;
  • 8. Tight Formulations • Make LP feasible region as small as possible whilst containing integer feasible points • ‘big-M’/indicator constraints well known: • y - M x ≤ 0, y ≥ 0, s binary. Identify directly to solver. • Take care with others. Customer example: xi binary 2 x1 + 2 x2 + x3 + x4 ≤ 3 is worse than x1 + x2 ≤ 1 and x1 + x2 + x3 + x4 ≤ 2 2 x1 + 2 x2 + x3 + x4 ≤ 2 is worse than x1 + x2 ≤ 1 and x1 + x2 + x3 + x4 ≤ 1
  • 9. Driving the Optimizer • Performance of modern commercial software and hardware in a different league from ten years ago • Hardware • Around 10 X faster than 10 years ago • Depends on characteristic of interest • Software • CPLEX leads • 100X ~ 1000X faster than best open source • Tunable to specific model classes • Exploits multiple processor cores • Exploits multiple machine clusters
  • 10. Hardware characteristics 1990 2005 2014 Improvement IBM PS/2 80-111 Intel Pentium 4 540 Intel i7-4790K Processor speed 20 MHz 3.2 GHz 4.4GHz 220 Cores 1 1 4 4 Time for a FP multiply 1.4 – 2.8 ms. 0.08 † – 0.3 ns. 0.008 † – 0.2 ns. 7,000 – 350,000 † Typical memory size 4 Mbyte 2 GByte 16 GByte 4000 Memory speed 85 ns. 45 ns. 12 ns 7 L2 cache size None 1 Mbyte 8 Mbyte Typical disk capacity 115 Mbyte 120 GByte 1 TByte 9,000 † using the vector facility.
  • 12. Where’s the Problem? • Many models now solved routinely which would have been impossible (‘unsolvable’) a few years ago • BUT: have super-linear growth of solving effort as model size/complexity increases • AND: customer models keep getting larger • Globalized business has larger and more complex supply chain • Optimization expanding into new areas, especially scheduling • Detailed models easier to sell to management and end- users
  • 13. Getting more difficult • Solver has to • (Presolve and) solve LP relaxation • Find and apply cuts • Branch on remaining infeasibilities (and find and apply cuts too) • Look for feasible solutions with heuristics all the while • Simplex relaxation solves theoretically NP, but in practice effort increases between linearly and quadratic • Barrier solver effort grows more slowly, but: • cross-over still grows quickly • usually get more integer infeasibilities • can’t use last solution/basis to accelerate • Cutting grows faster than quadratic: each cuts requires more effort, more cuts/round, more rounds of cuts, each round harder to apply. • Branching is exponential: 2n in number of (say) binaries n
  • 14. What can we do? Tuning the Optimizer • Models usually solved many times • Repeat planning or scheduling process • Solve multiple scenarios • Good algorithms for dynamic parameter/strategy choice • Expert analysis may do even better trading off solution time and optimality level: • LP algorithm choice • Kind of cuts and their intensity • Heuristic choice, effort and frequency • Branching strategies and priorities • Use more parallelism: more cores, distributed computers • Sophisticated auto tuner for small/medium sized models
  • 15. Model/Application Specific Solution Techniques • Proof of optimality (say to 1%) may be impractical • Want good solutions to (say) 20% • Solve smaller model(s) • Heuristic approach used e.g. by RINS and local branching • Use knowledge of model structure to break it down into sub-models and combine solutions • Prove solution quality by a very aggressive root solve of whole model
  • 16. Example: Large Scale Scheduling model • Schedule 800 entities over 70 periods • Have target number of active periods for each entity • Entities have mutual interactions within each period • 94K variables, 213K constraints, 93K binaries • No usable (say within 30% gap) solution after 2 days run time on fastest hardware (Intel i7 4790K ‘Devil’s Canyon’)
  • 17. Heuristic Solution Approach • Solves sequence of sub-models • Delivers usable solutions (12%-16% gap) • Takes 4-12 hours run time • Multiple instances can be run concurrently with different seeds • Can run on only 2 cores • Can interrupt at any point and take best solution so far
  • 18. Scheduling Model Heuristic Behavior 1480 743 411 239 185170163159151146145143142140139138136134133129128126125124123122121120 117 116 1480 706 371 231 186176166156148146143135134132131130129128127126125124123122 119 0 200 400 600 800 1000 1200 1400 1600 0 50 100 150 200 250 300 350 400 SolutionValues Time in Minutes 5678 1234
  • 19. Parallel Heuristic Approach • Run several instances with different seeds simultaneously • CPLEX callable library very flexible, so • Exchange solution information between runs • Kill sub-model solves when done better elsewhere • Improves sub-model selection • 4 instances run on 4 core i7-4790K • Each instance slower than serial case which mostly used 2 cores each • Outweighed by information exchange • Could easily implement on clusters of computers
  • 20. Parallel Heuristic Behavior 1480 141414031400 817801800 757 519 476 320 275 225211210198183167166159149147140138137136135131130129127 126124123122121 118 117 115 1480 706 371 231 186176166156148146143135134132131130129128127126125124123 122 119 0 200 400 600 800 1000 1200 1400 1600 0 50 100 150 200 250 300 350 400 Solutions Time in Minutes Parallel Serial
  • 21. Parallel Heuristic Behavior: 2 cores/instance 1480 1416 743739737724 692690689 643641 587 464 358337319293288 245244243 192191190187173170167164163161159152146142141140136132130129127 124 122121 120 118 117 1480 706 371 231 186176166156148146 143 135134132131130129 128 126 125 124 123 122 0 200 400 600 800 1000 1200 1400 1600 -10 40 90 140 190 240 Solutions Time in Minutes 2 Cores 4 Threads Ea Serial
  • 22. Thanks for listening Robert Ashford rwa@optimizationdirect.com www.optimizationdirect.com

Editor's Notes

  1. All out of node l for route (s,d) = all going in to node l on route (s,d)
  2. All going out of node n for route k = all going in to node n for route k
  3. x1=x2=2/3;x3=1/3. xi=1/3.
  4. Red ≥ 10 sec, orange ≥ 100 sec yellow ≥ 1000 sec on Xeon X 5650 at 2.67Ghz