SlideShare a Scribd company logo
Dec. 5, 2017
Dec. 5, 2017
Journée industrielle GDR-RO / pre-GDR-IA
Journée industrielle GDR-RO / pre-GDR-IA
© 2017 IBM Corporation
© 2017 IBM Corporation
CP Optimizer
A generic optimization engine
at the crossroad of AI and OR
for solving industrial scheduling problems
Philippe Laborie, IBM
laborie@fr.ibm.com
2 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
What is scheduling ?
« Scheduling is concerned with the allocation
of scarce resources to activities over time
with the objective of optimizing one or more
performance measures. »
3 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
What is scheduling ?
« Scheduling is concerned with the allocation
of scarce resources to activities over time
with the objective of optimizing one or more
performance measures. »
activity
R2
time
resources
R3
R1
4 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Examples of scheduling problems
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
5 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Examples of scheduling problems
In the real life, scheduling problems are more complex
6 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Examples of scheduling problems
Complex objectives:
resource costs,
tardiness, throughput
Complex constraints:
activities, resources
Overconstrained
Ill-defined
Large
(e.g. 1000000 tasks)
Require fast
solving time
In the real life, scheduling problems are more complex
Heterogeneous
decisions
7 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
What is CP Optimizer ?
Historically developed since 2007 by ILOG, now IBM
Our team has 20+ years of experience in designing
combinatorial optimization tools for real-life industrial
problems, and particularly scheduling problems
#1 objective of CP Optimizer : lower the barrier to entry
for efficiently solving industrial scheduling problems
In particular, no need to be an OR, AI or algorithmist
expert
8 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
What is CP Optimizer ?
Model & run approach:
User focuses on a declarative mathematical model of
the problem using the classical ingredients of
combinatorial optimization: variables, constraints,
expressions, objective function
Resolution is performed by an automated search
algorithm with the following properties: complete,
deterministic, anytime, efficient, robust, continuously
improving ...
9 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
What is CP Optimizer ?
Model & run approach: wait … this already exists: it looks
like Mixed Integer Linear Programming (MILP) !
Right: we borrowed a lot from the MILP paradigm when
designing CP optimizer
Wrong: MILP is usually not good for scheduling problems
Difficult to model them
Many modeling tricks exist but they are brittle
Large models (typically in n2
or n3
with problem size)
Poor performance, especially on large problems
Often it takes long even to get a feasible solution (not
anytime)
10 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
MILP models for RCPSP
Example of MILP models for RCPSP *
Discrete time model (DT)
* Alexander Tesch. “Compact MIP Models for the RCPSP”. Tech report. ZIB. 2015.
O(n.T) > O(n2
)
11 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
MILP models for RCPSP
Example of MILP models for RCPSP *
Start/end event-based model (SEE)
O(n3
)
* Alexander Tesch. “Compact MIP Models for the RCPSP”. Tech report. ZIB. 2015.
12 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
MILP models for RCPSP
Example of MILP models for RCPSP *
On/off event-based model (OOE)
O(n3
)O(n3
)
* Alexander Tesch. “Compact MIP Models for the RCPSP”. Tech report. ZIB. 2015.
13 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
What’s wrong with MILP for scheduling ?
It’s missing the essential ingredient of scheduling: time
Interestingly, time is a very relevant topic in AI
Temporal reasoning
Reasoning on action and change
14 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Time in AI: examples
Allen’s interval algebra (1983)
Temporal constraint networks (1991)
15 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Time in AI: examples
Temporal planning in PDDL 2.1 (2003)
(define (domain jug-pouring)
(:requirements :typing :fluents)
(:types jug)
(:functions
(amount ?j - jug)
(capacity ?j - jug))
(:action pour
:parameters (?jug1 ?jug2 - jug)
:precondition (>= (- (capacity ?jug2) (amount ?jug2)) (amount ?jug1))
:effect (and (assign (amount ?jug1) 0)
(increase (amount ?jug2) (amount ?jug1)))
)
?jug1
?jug2
time
amount
pour(?jug1,?jug2)
16 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Time in AI: examples
MILP models only deal with numerical values ( x∈ )
A set of other simple mathematical concepts seem to
naturally emerge when dealing with time:
Intervals : a = [s,e) = { x∈ | s≤x<e }
Functions : f: →
Permutations
Occurrence / non-occurrence of an event : optional interval
ℝ
ℝ
ℝ ℤ
17 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
What is CP Optimizer ?
What if we integrate these mathematical concepts in the
model …
And keep all the good ideas of MILP:
Model & run
Exact algorithm
Input/output file format
Language versatility (C++, Python, Java, C#, OPL)
Modeling assistance (warnings, …)
Conflict refiner
Warm-start
…
That’s exactly what CP Optimizer is about !
18 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
CP Optimizer model for RCPSP
O(n)
Ultracompact CP Optimizer model for the RCPSP
19 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
CP Optimizer model for RCPSP
20 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
CP Optimizer modeling concepts
Allows easy modeling of:
Variable activity duration, partially preemptive tasks
Optional activities, oversubscribed problems
Hierarchical problems (Work Breakdown Structures)
Alternative resources and modes (MM-RCPSP)
Resource calendars and breaks
Cumulative resources, inventories, reservoirs
Parallel batches, activity incompatibilities
Unary resources with setup times and costs
Complex objective functions
Unlike MILP, in CP Optimizer the size of the model in
general grows linearly with the size of the problem
instance
21 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
CP Optimizer model for Work-Breakdown Structures
task
dec
OR
OR
Note the similarities with Hierarchical Task Network (HTN) in A.I. Planning
22 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
CP Optimizer model for semiconductor manufacturing
Step 1 Step 2 ...Lot 1
Lot 2
...
S. Knopp et al. Modeling Maximum Time Lags
in Complex Job-Shops with Batching in
Semiconductor Manufacturing. PMS 2016.
23 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Performance on classical scheduling benchmarks
Results published in CPAIOR-2015 (using V12.6)
Job-shop
15 instances closed out of 48 open ones
Job-shop with operators
208 instances closed out of 222 open ones
Flexible job-shop
74 instances closed out of 107 open ones
RCPSP
52 new lower bounds
RCPSP with maximum delays
51 new lower bounds out of 58 instances
Multi-mode RCPSP
535 instances closed out of 552
Multi-mode RCPSP with maximum delays
All 85 open instances of the benchmark closed
24 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Performance evolution
25 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Under the hood
Artificial Intelligence Operations Research
Constraint
propagation
Learning
Temporal
constraint
networks
2-SAT
networks
No-goods
Linear
relaxations
Problem
specific
scheduling
algorithms
Tree searchRestarts
LNS Randomization
Model presolveHeuristics
26 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Conclusion
CP Optimizer ⊂ AI ∪ OR
CP Optimizer ≠ CP
CP Optimizer = Exact algorithm for optimality proofs +
Fast heuristic for finding feasible
solutions and optimizing them
CP Optimizer ecosystem ≈ MILP ecosystem :
Model & run paradigm
Clean combinatorial optimization framework
Language versatility: C++, Python, Java, C#, OPL
Well documented improvements of automatic search
I/O file format
Modeling assistance
Conflict refiner
Warm-start
27 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation
Some references
P. Laborie, J. Rogerie. Reasoning with Conditional Time-Intervals. In: Proc.
FLAIRS-2008, p555-560.
P. Laborie, J. Rogerie, P. Shaw, P. Vilím. Reasoning with Conditional Time-
Intervals. Part II: An Algebraical Model for Resources. In: Proc. FLAIRS-2009,
p201-206.
P. Laborie. CP Optimizer for detailed scheduling illustrated on three
problems. In: Proc. CPAIOR-2009.
P. Laborie, B. Messaoudi. New Results for the GEO-CAPE Observation
Scheduling Problem. In Proc. ICAPS-2017.
P. Laborie, D. Godard. Self-Adapting Large Neighborhood Search:
Application to Single-Mode Scheduling Problems. In: Proc. MISTA-2007.
P. Laborie, J. Rogerie. Temporal Linear Relaxation in IBM ILOG CP Optimizer.
Journal of Scheduling 19(4), 391–400 (2016).
P. Vilím. Timetable Edge Finding Filtering Algorithm for Discrete Cumulative
Resources . In: Proc. CPAIOR-2011.
P. Vilím, P. Laborie, P. Shaw. Failure-directed Search for Constraint-based
Scheduling. In: Proc. CPAIOR-2015.
M
odeling
concepts
Examples
Searchalgorithm

More Related Content

What's hot

Objective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingObjective Landscapes for Constraint Programming
Objective Landscapes for Constraint Programming
Philippe 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 Scheduling
Philippe 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
 
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
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 Models
Philippe Laborie
 
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
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizer
PaulShawIBM
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
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 Programming
Philippe 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 Optimizer
Philippe Laborie
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
PaulShawIBM
 
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
Philippe Laborie
 
Cp04invitedslide
Cp04invitedslideCp04invitedslide
Cp04invitedslide
Jean-Francois Puget
 
Lessonslearnedeuro
LessonslearnedeuroLessonslearnedeuro
Lessonslearnedeuro
Jean-Francois Puget
 
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
Roland Wunderling
 
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
 
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
 
IJET-V3I1P14
IJET-V3I1P14IJET-V3I1P14
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Transformation based monetary cost op...
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Transformation based monetary cost op...IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Transformation based monetary cost op...
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Transformation based monetary cost op...
IEEEGLOBALSOFTSTUDENTPROJECTS
 
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Academia de Ingeniería de México
 

What's hot (20)

Objective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingObjective Landscapes for Constraint Programming
Objective Landscapes for 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
 
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...
 
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
 
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
 
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...
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizer
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
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
 
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
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
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
 
Cp04invitedslide
Cp04invitedslideCp04invitedslide
Cp04invitedslide
 
Lessonslearnedeuro
LessonslearnedeuroLessonslearnedeuro
Lessonslearnedeuro
 
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
 
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...
 
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...
 
IJET-V3I1P14
IJET-V3I1P14IJET-V3I1P14
IJET-V3I1P14
 
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Transformation based monetary cost op...
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Transformation based monetary cost op...IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Transformation based monetary cost op...
IEEE 2014 JAVA CLOUD COMPUTING PROJECTS Transformation based monetary cost op...
 
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
 

Similar to CP Optimizer: a generic optimization engine at the crossroad of AI and OR for solving industrial scheduling problems

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
Eray Cakici
 
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
SanjayKPrasad2
 
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Alkis Vazacopoulos
 
Constraint programming
Constraint programmingConstraint programming
Constraint programming
Joseph Mathew
 
Closing the Gap on Digital Manufacturing
Closing the Gap on Digital ManufacturingClosing the Gap on Digital Manufacturing
Closing the Gap on Digital Manufacturing
ARC Advisory Group
 
USING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICS
USING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICSUSING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICS
USING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICS
HCL Technologies
 
Chapter 01 erp sap overview erp6
Chapter 01 erp sap overview erp6Chapter 01 erp sap overview erp6
Chapter 01 erp sap overview erp6
Venkata Rakesh Chunduri
 
Industrial Algorithms
Industrial AlgorithmsIndustrial Algorithms
Industrial Algorithms
Alkis Vazacopoulos
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandas
PyDataParis
 
Navy Training Scheduling - Euro 2021
Navy Training Scheduling - Euro 2021 Navy Training Scheduling - Euro 2021
Navy Training Scheduling - Euro 2021
Eray Cakici
 
SGI HPC Systems Help Fuel Manufacturing Rebirth 2015
SGI HPC Systems Help Fuel Manufacturing Rebirth 2015SGI HPC Systems Help Fuel Manufacturing Rebirth 2015
SGI HPC Systems Help Fuel Manufacturing Rebirth 2015
Josh Goergen
 
SQL on Hadoop - 12th Swiss Big Data User Group Meeting, 3rd of July, 2014, ET...
SQL on Hadoop - 12th Swiss Big Data User Group Meeting, 3rd of July, 2014, ET...SQL on Hadoop - 12th Swiss Big Data User Group Meeting, 3rd of July, 2014, ET...
SQL on Hadoop - 12th Swiss Big Data User Group Meeting, 3rd of July, 2014, ET...
Romeo Kienzler
 
SQL on Hadoop
SQL on HadoopSQL on Hadoop
Model Parallelism in Spark ML Cross-Validation with Nick Pentreath and Bryan ...
Model Parallelism in Spark ML Cross-Validation with Nick Pentreath and Bryan ...Model Parallelism in Spark ML Cross-Validation with Nick Pentreath and Bryan ...
Model Parallelism in Spark ML Cross-Validation with Nick Pentreath and Bryan ...
Databricks
 
End of Year Presentation
End of Year PresentationEnd of Year Presentation
End of Year Presentation
Chanwit Kaewkasi
 
NGD Systems and Microsoft Keynote Presentation at IPDPS MPP in Vacouver
NGD Systems and Microsoft Keynote Presentation at IPDPS MPP in VacouverNGD Systems and Microsoft Keynote Presentation at IPDPS MPP in Vacouver
NGD Systems and Microsoft Keynote Presentation at IPDPS MPP in Vacouver
Scott Shadley, MBA,PMC-III
 
PJM01_RUC_2003_Presentation
PJM01_RUC_2003_PresentationPJM01_RUC_2003_Presentation
PJM01_RUC_2003_Presentation
Lisa Statland
 
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
IRJET Journal
 
Model-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical SoftwareModel-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical Software
gjuljo
 
Presentation on CASP
Presentation on CASPPresentation on CASP
Presentation on CASP
varun raj
 

Similar to CP Optimizer: a generic optimization engine at the crossroad of AI and OR for solving industrial scheduling problems (20)

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
 
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
 
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
 
Constraint programming
Constraint programmingConstraint programming
Constraint programming
 
Closing the Gap on Digital Manufacturing
Closing the Gap on Digital ManufacturingClosing the Gap on Digital Manufacturing
Closing the Gap on Digital Manufacturing
 
USING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICS
USING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICSUSING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICS
USING FACTORY DESIGN PATTERNS IN MAP REDUCE DESIGN FOR BIG DATA ANALYTICS
 
Chapter 01 erp sap overview erp6
Chapter 01 erp sap overview erp6Chapter 01 erp sap overview erp6
Chapter 01 erp sap overview erp6
 
Industrial Algorithms
Industrial AlgorithmsIndustrial Algorithms
Industrial Algorithms
 
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
 
SGI HPC Systems Help Fuel Manufacturing Rebirth 2015
SGI HPC Systems Help Fuel Manufacturing Rebirth 2015SGI HPC Systems Help Fuel Manufacturing Rebirth 2015
SGI HPC Systems Help Fuel Manufacturing Rebirth 2015
 
SQL on Hadoop - 12th Swiss Big Data User Group Meeting, 3rd of July, 2014, ET...
SQL on Hadoop - 12th Swiss Big Data User Group Meeting, 3rd of July, 2014, ET...SQL on Hadoop - 12th Swiss Big Data User Group Meeting, 3rd of July, 2014, ET...
SQL on Hadoop - 12th Swiss Big Data User Group Meeting, 3rd of July, 2014, ET...
 
SQL on Hadoop
SQL on HadoopSQL on Hadoop
SQL on Hadoop
 
Model Parallelism in Spark ML Cross-Validation with Nick Pentreath and Bryan ...
Model Parallelism in Spark ML Cross-Validation with Nick Pentreath and Bryan ...Model Parallelism in Spark ML Cross-Validation with Nick Pentreath and Bryan ...
Model Parallelism in Spark ML Cross-Validation with Nick Pentreath and Bryan ...
 
End of Year Presentation
End of Year PresentationEnd of Year Presentation
End of Year Presentation
 
NGD Systems and Microsoft Keynote Presentation at IPDPS MPP in Vacouver
NGD Systems and Microsoft Keynote Presentation at IPDPS MPP in VacouverNGD Systems and Microsoft Keynote Presentation at IPDPS MPP in Vacouver
NGD Systems and Microsoft Keynote Presentation at IPDPS MPP in Vacouver
 
PJM01_RUC_2003_Presentation
PJM01_RUC_2003_PresentationPJM01_RUC_2003_Presentation
PJM01_RUC_2003_Presentation
 
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
Limited Budget but Effective End to End MLOps Practices (Machine Learning Mod...
 
Model-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical SoftwareModel-Driven Development for Safety-Critical Software
Model-Driven Development for Safety-Critical Software
 
Presentation on CASP
Presentation on CASPPresentation on CASP
Presentation on CASP
 

Recently uploaded

ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 

Recently uploaded (20)

ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 

CP Optimizer: a generic optimization engine at the crossroad of AI and OR for solving industrial scheduling problems

  • 1. Dec. 5, 2017 Dec. 5, 2017 Journée industrielle GDR-RO / pre-GDR-IA Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation © 2017 IBM Corporation CP Optimizer A generic optimization engine at the crossroad of AI and OR for solving industrial scheduling problems Philippe Laborie, IBM laborie@fr.ibm.com
  • 2. 2 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation What is scheduling ? « Scheduling is concerned with the allocation of scarce resources to activities over time with the objective of optimizing one or more performance measures. »
  • 3. 3 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation What is scheduling ? « Scheduling is concerned with the allocation of scarce resources to activities over time with the objective of optimizing one or more performance measures. » activity R2 time resources R3 R1
  • 4. 4 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Examples of scheduling problems 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
  • 5. 5 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Examples of scheduling problems In the real life, scheduling problems are more complex
  • 6. 6 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Examples of scheduling problems Complex objectives: resource costs, tardiness, throughput Complex constraints: activities, resources Overconstrained Ill-defined Large (e.g. 1000000 tasks) Require fast solving time In the real life, scheduling problems are more complex Heterogeneous decisions
  • 7. 7 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation What is CP Optimizer ? Historically developed since 2007 by ILOG, now IBM Our team has 20+ years of experience in designing combinatorial optimization tools for real-life industrial problems, and particularly scheduling problems #1 objective of CP Optimizer : lower the barrier to entry for efficiently solving industrial scheduling problems In particular, no need to be an OR, AI or algorithmist expert
  • 8. 8 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation What is CP Optimizer ? Model & run approach: User focuses on a declarative mathematical model of the problem using the classical ingredients of combinatorial optimization: variables, constraints, expressions, objective function Resolution is performed by an automated search algorithm with the following properties: complete, deterministic, anytime, efficient, robust, continuously improving ...
  • 9. 9 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation What is CP Optimizer ? Model & run approach: wait … this already exists: it looks like Mixed Integer Linear Programming (MILP) ! Right: we borrowed a lot from the MILP paradigm when designing CP optimizer Wrong: MILP is usually not good for scheduling problems Difficult to model them Many modeling tricks exist but they are brittle Large models (typically in n2 or n3 with problem size) Poor performance, especially on large problems Often it takes long even to get a feasible solution (not anytime)
  • 10. 10 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation MILP models for RCPSP Example of MILP models for RCPSP * Discrete time model (DT) * Alexander Tesch. “Compact MIP Models for the RCPSP”. Tech report. ZIB. 2015. O(n.T) > O(n2 )
  • 11. 11 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation MILP models for RCPSP Example of MILP models for RCPSP * Start/end event-based model (SEE) O(n3 ) * Alexander Tesch. “Compact MIP Models for the RCPSP”. Tech report. ZIB. 2015.
  • 12. 12 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation MILP models for RCPSP Example of MILP models for RCPSP * On/off event-based model (OOE) O(n3 )O(n3 ) * Alexander Tesch. “Compact MIP Models for the RCPSP”. Tech report. ZIB. 2015.
  • 13. 13 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation What’s wrong with MILP for scheduling ? It’s missing the essential ingredient of scheduling: time Interestingly, time is a very relevant topic in AI Temporal reasoning Reasoning on action and change
  • 14. 14 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Time in AI: examples Allen’s interval algebra (1983) Temporal constraint networks (1991)
  • 15. 15 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Time in AI: examples Temporal planning in PDDL 2.1 (2003) (define (domain jug-pouring) (:requirements :typing :fluents) (:types jug) (:functions (amount ?j - jug) (capacity ?j - jug)) (:action pour :parameters (?jug1 ?jug2 - jug) :precondition (>= (- (capacity ?jug2) (amount ?jug2)) (amount ?jug1)) :effect (and (assign (amount ?jug1) 0) (increase (amount ?jug2) (amount ?jug1))) ) ?jug1 ?jug2 time amount pour(?jug1,?jug2)
  • 16. 16 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Time in AI: examples MILP models only deal with numerical values ( x∈ ) A set of other simple mathematical concepts seem to naturally emerge when dealing with time: Intervals : a = [s,e) = { x∈ | s≤x<e } Functions : f: → Permutations Occurrence / non-occurrence of an event : optional interval ℝ ℝ ℝ ℤ
  • 17. 17 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation What is CP Optimizer ? What if we integrate these mathematical concepts in the model … And keep all the good ideas of MILP: Model & run Exact algorithm Input/output file format Language versatility (C++, Python, Java, C#, OPL) Modeling assistance (warnings, …) Conflict refiner Warm-start … That’s exactly what CP Optimizer is about !
  • 18. 18 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation CP Optimizer model for RCPSP O(n) Ultracompact CP Optimizer model for the RCPSP
  • 19. 19 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation CP Optimizer model for RCPSP
  • 20. 20 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation CP Optimizer modeling concepts Allows easy modeling of: Variable activity duration, partially preemptive tasks Optional activities, oversubscribed problems Hierarchical problems (Work Breakdown Structures) Alternative resources and modes (MM-RCPSP) Resource calendars and breaks Cumulative resources, inventories, reservoirs Parallel batches, activity incompatibilities Unary resources with setup times and costs Complex objective functions Unlike MILP, in CP Optimizer the size of the model in general grows linearly with the size of the problem instance
  • 21. 21 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation CP Optimizer model for Work-Breakdown Structures task dec OR OR Note the similarities with Hierarchical Task Network (HTN) in A.I. Planning
  • 22. 22 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation CP Optimizer model for semiconductor manufacturing Step 1 Step 2 ...Lot 1 Lot 2 ... S. Knopp et al. Modeling Maximum Time Lags in Complex Job-Shops with Batching in Semiconductor Manufacturing. PMS 2016.
  • 23. 23 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Performance on classical scheduling benchmarks Results published in CPAIOR-2015 (using V12.6) Job-shop 15 instances closed out of 48 open ones Job-shop with operators 208 instances closed out of 222 open ones Flexible job-shop 74 instances closed out of 107 open ones RCPSP 52 new lower bounds RCPSP with maximum delays 51 new lower bounds out of 58 instances Multi-mode RCPSP 535 instances closed out of 552 Multi-mode RCPSP with maximum delays All 85 open instances of the benchmark closed
  • 24. 24 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Performance evolution
  • 25. 25 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Under the hood Artificial Intelligence Operations Research Constraint propagation Learning Temporal constraint networks 2-SAT networks No-goods Linear relaxations Problem specific scheduling algorithms Tree searchRestarts LNS Randomization Model presolveHeuristics
  • 26. 26 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Conclusion CP Optimizer ⊂ AI ∪ OR CP Optimizer ≠ CP CP Optimizer = Exact algorithm for optimality proofs + Fast heuristic for finding feasible solutions and optimizing them CP Optimizer ecosystem ≈ MILP ecosystem : Model & run paradigm Clean combinatorial optimization framework Language versatility: C++, Python, Java, C#, OPL Well documented improvements of automatic search I/O file format Modeling assistance Conflict refiner Warm-start
  • 27. 27 / 27 Journée industrielle GDR-RO / pre-GDR-IA © 2017 IBM Corporation Some references P. Laborie, J. Rogerie. Reasoning with Conditional Time-Intervals. In: Proc. FLAIRS-2008, p555-560. P. Laborie, J. Rogerie, P. Shaw, P. Vilím. Reasoning with Conditional Time- Intervals. Part II: An Algebraical Model for Resources. In: Proc. FLAIRS-2009, p201-206. P. Laborie. CP Optimizer for detailed scheduling illustrated on three problems. In: Proc. CPAIOR-2009. P. Laborie, B. Messaoudi. New Results for the GEO-CAPE Observation Scheduling Problem. In Proc. ICAPS-2017. P. Laborie, D. Godard. Self-Adapting Large Neighborhood Search: Application to Single-Mode Scheduling Problems. In: Proc. MISTA-2007. P. Laborie, J. Rogerie. Temporal Linear Relaxation in IBM ILOG CP Optimizer. Journal of Scheduling 19(4), 391–400 (2016). P. Vilím. Timetable Edge Finding Filtering Algorithm for Discrete Cumulative Resources . In: Proc. CPAIOR-2011. P. Vilím, P. Laborie, P. Shaw. Failure-directed Search for Constraint-based Scheduling. In: Proc. CPAIOR-2015. M odeling concepts Examples Searchalgorithm