SlideShare a Scribd company logo
1 of 17
Download to read offline
Feb. 20, 2019
Feb. 20, 2019
ROADEF-2019
ROADEF-2019
© 2019 IBM Corporation
© 2019 IBM Corporation
Recent advances on
large scheduling problems
in CP Optimizer
Philippe Laborie, IBM
laborie@fr.ibm.com
2 / 17 ROADEF 2019 © 2019 IBM Corporation
In this presentation
1. Recap about IBM CP Optimizer
By the way: if you have CPLEX, you also have
CP Optimizer!
2. Performance improvements on scheduling problems
in coming release V12.9
3 / 17 ROADEF 2019 © 2019 IBM Corporation
CP Optimizer for scheduling in two sentences
A mathematical modeling language for combinatorial
optimization problems that extends ILP (and classical CP)
with some algebra on intervals and functions allowing
compact and maintainable formulations for complex
scheduling problems
A continuously improving automatic search algorithm
that is complete, anytime, efficient (e.g. competitive with
problem-specific algorithms on classical problems) and
scalable
Recent review of CP Optimizer (modeling concepts,
applications, examples, tools, performance,…) :
IBM ILOG CP Optimizer for scheduling. Constraints (2018)
23:210–250. http://ibm.biz/Constraints2018
4 / 17 ROADEF 2019 © 2019 IBM Corporation
Typical scheduling problems for CP Optimizer
5 / 17 ROADEF 2019 © 2019 IBM Corporation
Illustration on an academical scheduling problem
Resource-Constrained Project Scheduling (RCPSP)
Notorious NP-Hard problem in combinatorial optimization
(>5000 references on Google Scholar)
N tasks with precedence constraints
M resources of limited capacity
Minimize project makespan
1
1
2
2
4
4
3
3
5
5
6
6
0 7
R1
R2
1
2
3
4
5
6
p1
=2
(1,2)
C1
=2
C2
=3
time
6 / 17 ROADEF 2019 © 2019 IBM Corporation
Formulation of the RCPSP in ILP
Example of the Start/End Event-based formulation (SEE)
O(N3
)
* A. Tesch. Compact MIP Models for the Resource-Constrained Project Scheduling
Problem. Master's Thesis. Technische Universität Berlin. 2015.
7 / 17 ROADEF 2019 © 2019 IBM Corporation
Formulation of the RCPSP in CP Optimizer
Use of interval variables for tasks and cumul functions
for resource usage
O(N)
xi
xj
Qij
Di
pulse(xi
,Qij
)
compact
8 / 17 ROADEF 2019 © 2019 IBM Corporation
Formulation of the RCPSP in CP Optimizer
Use of interval variables for tasks and cumul functions
for resource usage
from docplex.cp.model import *
model = CpoModel()
# Decision variables: tasks x
x = [interval_var(size=D[i]) for i in N]
# Objective: minimize project makespan
model.add(minimize(max(end_of(x[i]) for i in N)))
# Constraints: resource capacities
for j in M: model.add(sum(pulse(x[i],q) for [i,q] in R[j]) <= C[j])
# Constraints: precedence between tasks
for [i,j] in P: model.add(end_before_start(x[i],x[j]))
# Solve the model
sol = model.solve(TimeLimit=300)
compact
xi
xj
Qij
Di
pulse(xi
,Qij
)
9 / 17 ROADEF 2019 © 2019 IBM Corporation
Classical RCPSP benchmarks (5023 instances)
CP Optimizer 12.9 results with automatic search using a
time limit of 5mn (code of previous slide)
Maximal time to first feasible solution: 0.08s anytime
complete
efficient
10 / 17 ROADEF 2019 © 2019 IBM Corporation
Classical RCPSP benchmarks
CP Optimizer 12.9 results with automatic search
completeefficient
11 / 17 ROADEF 2019 © 2019 IBM Corporation
Classical RCPSP benchmarks
CP Optimizer 12.9 results with automatic search using a
time limit of 5mn (code of previous slide)
These problems are tiny compared to industrial problems !
12 / 17 ROADEF 2019 © 2019 IBM Corporation
Automatic Search
Main principle: cooperation between several approaches
100
101
102
103
104
105
106
CP Optimizer Automatic Search
Failure-Directed Search
Large-Neighborhood Search
Iterative Diving
Problem size
(number of
interval
variables)
Existing RCPSP instances
13 / 17 ROADEF 2019 © 2019 IBM Corporation
Iterative diving
By the way: “CP” in “CP Optimizer” means Constraint
Programming 
Idea of iterative diving: perform aggressive dives (no
backtrack) in the search tree explored by CP
For instance on RCPSP it boils down to some very
classical ideas (list scheduling, decoding schemes, …)
The challenge was to generalize these problem-specific
ideas to the general modeling concepts of CP Optimizer
14 / 17 ROADEF 2019 © 2019 IBM Corporation
CP Optimizer V12.9
New benchmark with RCPSP from 500 to 500.000 tasks
Largest problem: 500.000 tasks, 79 resources,
4.740.783 precedences, 4.433.550 resource requirements
Time to first feasible solution (V12.8 v.s. V12.9)
0E+00 5E+04 1E+05 2E+05 2E+05 3E+05 3E+05 4E+05 4E+05 5E+05 5E+05
0
500
1000
1500
2000
2500
3000
First solution time for large RCPSPs (automatic search with 4 workers)
V12.8 V12.9
Instance size (Number of tasks)
Firstsolutiontime(s)
scalable
15 / 17 ROADEF 2019 © 2019 IBM Corporation
Example of cumul function value
ResourceloadResourceloadResourceload
Resource load for one of the resources of a large instance
(500.000 tasks)
16 / 17 ROADEF 2019 © 2019 IBM Corporation
CP Optimizer automatic search
Objective
landscapes
Failure-directed
search
Iterative
diving
With 4 workers, average speed-up of 42% between 12.8
and coming version 12.9
17 / 17 ROADEF 2019 © 2019 IBM Corporation
Conclusion
A mathematical modeling language for combinatorial
optimization problems that extends ILP (and classical CP)
with some algebra on intervals and functions allowing
compact and maintainable formulations for complex
scheduling problems
A continuously improving automatic search algorithm
that is complete, anytime, efficient (e.g. competitive with
problem-specific algorithms on classical problems) and
scalable
Recent review of CP Optimizer (modeling concepts,
applications, examples, tools, performance,…) :
IBM ILOG CP Optimizer for scheduling. Constraints (2018)
23:210–250. http://ibm.biz/Constraints2018

More Related Content

What's hot

An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...Philippe Laborie
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingPhilippe Laborie
 
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 SchedulingPhilippe Laborie
 
Optimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsOptimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsPhilippe Laborie
 
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsIBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsPhilippe 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
 
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
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizerPaulShawIBM
 
Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Philippe Laborie
 
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 ModelsPhilippe Laborie
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP OptimizerPhilippe Laborie
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer WalkthroughPaulShawIBM
 
Multiclass classification using Massively Threaded Multiprocessors
Multiclass classification using Massively Threaded MultiprocessorsMulticlass classification using Massively Threaded Multiprocessors
Multiclass classification using Massively Threaded Multiprocessorssergherrero
 
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Bob Fourer
 
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
 
Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Bob Fourer
 
Model-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingModel-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingBob Fourer
 
Chapter 15 cost estimation
Chapter 15   cost estimationChapter 15   cost estimation
Chapter 15 cost estimationBich Lien Pham
 
Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Bob Fourer
 
Linear Programming
Linear ProgrammingLinear Programming
Linear ProgrammingHumma Rashid
 

What's hot (20)

An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint Programming
 
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
 
Optimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsOptimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applications
 
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsIBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
 
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
 
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
 
Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...
 
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
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
Multiclass classification using Massively Threaded Multiprocessors
Multiclass classification using Massively Threaded MultiprocessorsMulticlass classification using Massively Threaded Multiprocessors
Multiclass classification using Massively Threaded Multiprocessors
 
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...
 
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
 
Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...
 
Model-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingModel-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-Making
 
Chapter 15 cost estimation
Chapter 15   cost estimationChapter 15   cost estimation
Chapter 15 cost estimation
 
Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018
 
Linear Programming
Linear ProgrammingLinear Programming
Linear Programming
 

Similar to Advances in solving large scheduling problems with CP Optimizer

Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTXDecision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTXSanjayKPrasad2
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPyDataParis
 
Navy Training Scheduling - Euro 2021
Navy Training Scheduling - Euro 2021 Navy Training Scheduling - Euro 2021
Navy Training Scheduling - Euro 2021 Eray Cakici
 
6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABB6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABBHeiko Koziolek
 
Constraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in SchedulingConstraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in SchedulingEray Cakici
 
Constraint programming
Constraint programmingConstraint programming
Constraint programmingJoseph Mathew
 
Ray stratton aace presentation
Ray stratton aace presentationRay stratton aace presentation
Ray stratton aace presentationDr Ezzat Mansour
 
Algorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptxAlgorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptxsadeepaJayatissa1
 
Galvanise NYC - Scaling R with Hadoop & Spark. V1.0
Galvanise NYC - Scaling R with Hadoop & Spark. V1.0Galvanise NYC - Scaling R with Hadoop & Spark. V1.0
Galvanise NYC - Scaling R with Hadoop & Spark. V1.0vithakur
 
“Programação paralela híbrida com MPI e OpenMP – uma abordagem prática”. Edua...
“Programação paralela híbrida com MPI e OpenMP – uma abordagem prática”. Edua...“Programação paralela híbrida com MPI e OpenMP – uma abordagem prática”. Edua...
“Programação paralela híbrida com MPI e OpenMP – uma abordagem prática”. Edua...lccausp
 
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...Heiko Koziolek
 
Innovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilitiesInnovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilitiesIBM Decision Optimization
 
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...Pooyan Jamshidi
 
IUA 2001 Creative Techniques for Application Tuning
IUA 2001   Creative Techniques for Application TuningIUA 2001   Creative Techniques for Application Tuning
IUA 2001 Creative Techniques for Application TuningGary Cherlet
 

Similar to Advances in solving large scheduling problems with CP Optimizer (20)

Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTXDecision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandas
 
Navy Training Scheduling - Euro 2021
Navy Training Scheduling - Euro 2021 Navy Training Scheduling - Euro 2021
Navy Training Scheduling - Euro 2021
 
6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABB6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABB
 
Constraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in SchedulingConstraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in Scheduling
 
End of Year Presentation
End of Year PresentationEnd of Year Presentation
End of Year Presentation
 
Constraint programming
Constraint programmingConstraint programming
Constraint programming
 
Ch1
Ch1Ch1
Ch1
 
Ch1
Ch1Ch1
Ch1
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
 
Ray stratton aace presentation
Ray stratton aace presentationRay stratton aace presentation
Ray stratton aace presentation
 
Algorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptxAlgorithmic Software Cost Estimation V2(1) (1).pptx
Algorithmic Software Cost Estimation V2(1) (1).pptx
 
Galvanise NYC - Scaling R with Hadoop & Spark. V1.0
Galvanise NYC - Scaling R with Hadoop & Spark. V1.0Galvanise NYC - Scaling R with Hadoop & Spark. V1.0
Galvanise NYC - Scaling R with Hadoop & Spark. V1.0
 
Ial impl-imf-book-1-0
Ial impl-imf-book-1-0Ial impl-imf-book-1-0
Ial impl-imf-book-1-0
 
1806 cosmic progress
1806 cosmic progress1806 cosmic progress
1806 cosmic progress
 
“Programação paralela híbrida com MPI e OpenMP – uma abordagem prática”. Edua...
“Programação paralela híbrida com MPI e OpenMP – uma abordagem prática”. Edua...“Programação paralela híbrida com MPI e OpenMP – uma abordagem prática”. Edua...
“Programação paralela híbrida com MPI e OpenMP – uma abordagem prática”. Edua...
 
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
 
Innovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilitiesInnovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilities
 
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
 
IUA 2001 Creative Techniques for Application Tuning
IUA 2001   Creative Techniques for Application TuningIUA 2001   Creative Techniques for Application Tuning
IUA 2001 Creative Techniques for Application Tuning
 

Recently uploaded

eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 

Recently uploaded (20)

eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 

Advances in solving large scheduling problems with CP Optimizer

  • 1. Feb. 20, 2019 Feb. 20, 2019 ROADEF-2019 ROADEF-2019 © 2019 IBM Corporation © 2019 IBM Corporation Recent advances on large scheduling problems in CP Optimizer Philippe Laborie, IBM laborie@fr.ibm.com
  • 2. 2 / 17 ROADEF 2019 © 2019 IBM Corporation In this presentation 1. Recap about IBM CP Optimizer By the way: if you have CPLEX, you also have CP Optimizer! 2. Performance improvements on scheduling problems in coming release V12.9
  • 3. 3 / 17 ROADEF 2019 © 2019 IBM Corporation CP Optimizer for scheduling in two sentences A mathematical modeling language for combinatorial optimization problems that extends ILP (and classical CP) with some algebra on intervals and functions allowing compact and maintainable formulations for complex scheduling problems A continuously improving automatic search algorithm that is complete, anytime, efficient (e.g. competitive with problem-specific algorithms on classical problems) and scalable Recent review of CP Optimizer (modeling concepts, applications, examples, tools, performance,…) : IBM ILOG CP Optimizer for scheduling. Constraints (2018) 23:210–250. http://ibm.biz/Constraints2018
  • 4. 4 / 17 ROADEF 2019 © 2019 IBM Corporation Typical scheduling problems for CP Optimizer
  • 5. 5 / 17 ROADEF 2019 © 2019 IBM Corporation Illustration on an academical scheduling problem Resource-Constrained Project Scheduling (RCPSP) Notorious NP-Hard problem in combinatorial optimization (>5000 references on Google Scholar) N tasks with precedence constraints M resources of limited capacity Minimize project makespan 1 1 2 2 4 4 3 3 5 5 6 6 0 7 R1 R2 1 2 3 4 5 6 p1 =2 (1,2) C1 =2 C2 =3 time
  • 6. 6 / 17 ROADEF 2019 © 2019 IBM Corporation Formulation of the RCPSP in ILP Example of the Start/End Event-based formulation (SEE) O(N3 ) * A. Tesch. Compact MIP Models for the Resource-Constrained Project Scheduling Problem. Master's Thesis. Technische Universität Berlin. 2015.
  • 7. 7 / 17 ROADEF 2019 © 2019 IBM Corporation Formulation of the RCPSP in CP Optimizer Use of interval variables for tasks and cumul functions for resource usage O(N) xi xj Qij Di pulse(xi ,Qij ) compact
  • 8. 8 / 17 ROADEF 2019 © 2019 IBM Corporation Formulation of the RCPSP in CP Optimizer Use of interval variables for tasks and cumul functions for resource usage from docplex.cp.model import * model = CpoModel() # Decision variables: tasks x x = [interval_var(size=D[i]) for i in N] # Objective: minimize project makespan model.add(minimize(max(end_of(x[i]) for i in N))) # Constraints: resource capacities for j in M: model.add(sum(pulse(x[i],q) for [i,q] in R[j]) <= C[j]) # Constraints: precedence between tasks for [i,j] in P: model.add(end_before_start(x[i],x[j])) # Solve the model sol = model.solve(TimeLimit=300) compact xi xj Qij Di pulse(xi ,Qij )
  • 9. 9 / 17 ROADEF 2019 © 2019 IBM Corporation Classical RCPSP benchmarks (5023 instances) CP Optimizer 12.9 results with automatic search using a time limit of 5mn (code of previous slide) Maximal time to first feasible solution: 0.08s anytime complete efficient
  • 10. 10 / 17 ROADEF 2019 © 2019 IBM Corporation Classical RCPSP benchmarks CP Optimizer 12.9 results with automatic search completeefficient
  • 11. 11 / 17 ROADEF 2019 © 2019 IBM Corporation Classical RCPSP benchmarks CP Optimizer 12.9 results with automatic search using a time limit of 5mn (code of previous slide) These problems are tiny compared to industrial problems !
  • 12. 12 / 17 ROADEF 2019 © 2019 IBM Corporation Automatic Search Main principle: cooperation between several approaches 100 101 102 103 104 105 106 CP Optimizer Automatic Search Failure-Directed Search Large-Neighborhood Search Iterative Diving Problem size (number of interval variables) Existing RCPSP instances
  • 13. 13 / 17 ROADEF 2019 © 2019 IBM Corporation Iterative diving By the way: “CP” in “CP Optimizer” means Constraint Programming  Idea of iterative diving: perform aggressive dives (no backtrack) in the search tree explored by CP For instance on RCPSP it boils down to some very classical ideas (list scheduling, decoding schemes, …) The challenge was to generalize these problem-specific ideas to the general modeling concepts of CP Optimizer
  • 14. 14 / 17 ROADEF 2019 © 2019 IBM Corporation CP Optimizer V12.9 New benchmark with RCPSP from 500 to 500.000 tasks Largest problem: 500.000 tasks, 79 resources, 4.740.783 precedences, 4.433.550 resource requirements Time to first feasible solution (V12.8 v.s. V12.9) 0E+00 5E+04 1E+05 2E+05 2E+05 3E+05 3E+05 4E+05 4E+05 5E+05 5E+05 0 500 1000 1500 2000 2500 3000 First solution time for large RCPSPs (automatic search with 4 workers) V12.8 V12.9 Instance size (Number of tasks) Firstsolutiontime(s) scalable
  • 15. 15 / 17 ROADEF 2019 © 2019 IBM Corporation Example of cumul function value ResourceloadResourceloadResourceload Resource load for one of the resources of a large instance (500.000 tasks)
  • 16. 16 / 17 ROADEF 2019 © 2019 IBM Corporation CP Optimizer automatic search Objective landscapes Failure-directed search Iterative diving With 4 workers, average speed-up of 42% between 12.8 and coming version 12.9
  • 17. 17 / 17 ROADEF 2019 © 2019 IBM Corporation Conclusion A mathematical modeling language for combinatorial optimization problems that extends ILP (and classical CP) with some algebra on intervals and functions allowing compact and maintainable formulations for complex scheduling problems A continuously improving automatic search algorithm that is complete, anytime, efficient (e.g. competitive with problem-specific algorithms on classical problems) and scalable Recent review of CP Optimizer (modeling concepts, applications, examples, tools, performance,…) : IBM ILOG CP Optimizer for scheduling. Constraints (2018) 23:210–250. http://ibm.biz/Constraints2018