SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
© 2009 IBM Corporation
®
Modeling and Solving
Resource-Constrained Project Scheduling Problems
with IBM ILOG CP Optimizer
Philippe Laborie
ILOG Principal Scientist
IBM Software Group
laborie@fr.ibm.com
2
IBM Software Group
© 2009 IBM Corporation
What is IBM ILOG CP Optimizer?
 A Constraint Programming engine for combinatorial
problems (including scheduling problems)
 Implements a Model & Run paradigm
– Model: Concise and Expressive modeling language
– Run: Powerful automatic search procedure
 Available through the following interfaces:
– OPL (Optimization Programming Language)
– C++ (native interface)
– Java, .NET (wrapping of the C++ engine)
3
IBM Software Group
© 2009 IBM Corporation
Modeling
Language
[1,2]
IBM ILOG CP Optimizer for Detailed Scheduling
[1] Reasoning with Conditional Time-intervals. FLAIRS-08.
[2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09.
• Extension of classical CSP with a new type of decision variable:
optional interval variable :
Domain(a)  {}  { [s,e) | s,e, s≤e }
• Introduction of mathematical notions such as sequences and functions to
capture temporal aspects of scheduling problems
Absent interval Interval of integers
4
IBM Software Group
© 2009 IBM Corporation
Automatic
Search
[3,4]
IBM ILOG CP Optimizer for Detailed Scheduling
[3] Randomized Large Neighborhood Search for Cumulative Scheduling. ICAPS-05.
[4] Self-Adapting Large Neighborhood Search: Application to Single-mode Scheduling Problems. MISTA-07.
POS generation
Fragment
Selection
- Problem structure
- Randomization
Tree search
- LP relaxation
- Propagation
- Dominance rules
Continue
search ?
Problem
Machine
Learning
Techniques
[1] Reasoning with Conditional Time-intervals. FLAIRS-08.
[2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09.
Self-Adapting
Large Neighborhood
Search
5
IBM Software Group
© 2009 IBM Corporation
IBM ILOG CP Optimizer for Detailed Scheduling
Modeling
Language
[1,2]
Automatic
Search
[3,4]
Efficient
search
Easy
modeling
[3] Randomized Large Neighborhood Search for Cumulative Scheduling. ICAPS-05.
[4] Self-Adapting Large Neighborhood Search: Application to Single-mode Scheduling Problems. MISTA-07.
[1] Reasoning with Conditional Time-intervals. FLAIRS-08.
[2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09.
6
IBM Software Group
© 2009 IBM Corporation
IBM ILOG CP Optimizer for Detailed Scheduling
Modeling
Language
[1,2]
Automatic
Search
[3,4]
Efficient
search
Easy
modeling
Detailed Scheduling
Problems
[3] Randomized Large Neighborhood Search for Cumulative Scheduling. ICAPS-05.
[4] Self-Adapting Large Neighborhood Search: Application to Single-mode Scheduling Problems. MISTA-07.
[1] Reasoning with Conditional Time-intervals. FLAIRS-08.
[2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09.
7
IBM Software Group
© 2009 IBM Corporation
IBM ILOG CP Optimizer for Detailed Scheduling
Modeling
Language
[1,2]
Automatic
Search
[3,4]
Efficient
search
Easy
modeling
[3] Randomized Large Neighborhood Search for Cumulative Scheduling. ICAPS-05.
[4] Self-Adapting Large Neighborhood Search: Application to Single-mode Scheduling Problems. MISTA-07.
[1] Reasoning with Conditional Time-intervals. FLAIRS-08.
[2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09.
Resource-Constrained
Project Scheduling
Problems
8
IBM Software Group
© 2009 IBM Corporation
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
Unperformed
Tasks
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
No
YesYes
Inventories
No
Resource-Constrained Project Scheduling Problems
9
IBM Software Group
© 2009 IBM Corporation
Basic RCPSP
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
No
YesYes
Inventories
No
Unperformed
Tasks
Basic RCPSP
10
IBM Software Group
© 2009 IBM Corporation
Basic RCPSP
 The model is using CP Optimizer engine
11
IBM Software Group
© 2009 IBM Corporation
Basic RCPSP
Data
 Data reading:
– Problem size (number of tasks and resources)
– Resource capacities
– Tasks with their processing time, resource demand and successors
12
IBM Software Group
© 2009 IBM Corporation
Basic RCPSP
Decisions
 Decision variables:
– Tasks: array of interval variables
itvs[t]
t.pt
13
IBM Software Group
© 2009 IBM Corporation
Basic RCPSP
Objective
 Objective:
– Minimize project makespan
itvs[t1]
itvs[t2]
itvs[tn]
max(t in Tasks) endOf(itvs[t])
14
IBM Software Group
© 2009 IBM Corporation
Basic RCPSP
Constraints
 Constraints:
– Resource capacity constraints (using cumul functions)
itvs[t]
t.dmds[r] pulse
itvs[t1]itvs[t2]
itvs[tn]
 pulse
Capacity[r]
15
IBM Software Group
© 2009 IBM Corporation
Basic RCPSP
Constraints
 Constraints:
– Precedence constraints between tasks
itvs[t1]
itvs[t2]
itvs[tn]
16
IBM Software Group
© 2009 IBM Corporation
Multi-ModeRCPSP
 Each task must be one among several alternative execution modes
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
No
Yes
No
Yes
Inventories
Unperformed
Tasks
Multi-Mode RCPSP
task
alternative
mode1 mode2 mode3
17
IBM Software Group
© 2009 IBM Corporation
Multi-ModeRCPSP
 Each task must be one among several alternative execution modes
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
No
Yes
No
Yes
Inventories
Unperformed
Tasks
Multi-Mode RCPSP
mode1 mode2 mode3
R1
R2
task
alternative
18
IBM Software Group
© 2009 IBM Corporation
Multi-Mode RCPSP
 Alternative constraint:
– Mode selection for each task (using alternative constraints)
– Resource usage for each mode
19
IBM Software Group
© 2009 IBM Corporation
Inventories
 Cumul functions with stepAtStart/stepAtEnd
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
NoNo
Yes
Unperformed
Tasks
Inventories
producer[p]
QProd[p]stepAtEnd
consumer[c]
QCons[c] stepAtStart
p c
Yes
Modeling Inventories
20
IBM Software Group
© 2009 IBM Corporation
Max.Delays
 Precedence constraints with delays
Modeling Maximum Delays
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
NoNo
Yes
Unperformed
Tasks
Inventories
Yes
task[1] task[2]
[dmin,dmax]
21
IBM Software Group
© 2009 IBM Corporation
Calendars
 Intensity functions
Modeling Resource Calendars
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
NoNo
Yes
Unperformed
Tasks
Inventories
Yes
task (size=9)
workingTime
length=11
100%
0%
22
IBM Software Group
© 2009 IBM Corporation
Opt.Tasks
 Optional Interval Variables
– Constraint presenceOf(a) constrains an optional interval variable a to be present in the solution
Modeling Optional Tasks
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
NoNo
Yes
Unperformed
Tasks
Inventories
Yes
23
IBM Software Group
© 2009 IBM Corporation
WBS
 Hierarchical description of projects with alternative and optional sub-projects
Modeling Work-Breakdown Structures
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
NoNo
Yes
Unperformed
Tasks
Inventories
Yes
project1 project2
dec11 dec12 dec21 dec22
OR OR
AND AND AND AND
Optional sub-projects
In the decomposition
24
IBM Software Group
© 2009 IBM Corporation
Modeling Work-Breakdown Structures
25
IBM Software Group
© 2009 IBM Corporation
Objective
 Objective functions
– Combinations of startOf, endOf, sizeOf, lengthOf, presenceOf with algebraical expressions
Modeling Objective Functions
Resource
Types
Multi-
Modes
Max-
Delays
Resource
Calendars
Optional
Tasks
Work
Breakdown
Structure
Objective
Function
Makespan
Earliness/
Tardiness
Task
Durations
Allocation
Costs
No
Yes
Renewable
Non-
Renewable
No
Yes
No
Yes
NoNo
Yes
Unperformed
Tasks
Inventories
Yes
26
IBM Software Group
© 2009 IBM Corporation
Objective
 Objective functions
– Combinations of startOf, endOf, sizeOf, lengthOf, presenceOf with algebraical expressions
Modeling Objective Functions
27
IBM Software Group
© 2009 IBM Corporation
Experimental Results (excerpts)
(1) Instances j120* of the PSPLIB
(2) Instances mm50* of the PSPLIB
(3) Random selection of 60 instances from the benchmark proposed in:
M. Vanhoucke, E. Demeulemeester, and W. Herroelen. An exact procedure for the
resource-constrained weighted earliness-tardiness project scheduling problem.
Annals of Operations Research, 102(1-4):179–196, 2001.
(4) Benchmark proposed in:
N. Policella, X. Wang, S.F. Smith, and A. Oddi. Exploiting temporal flexibility to
obtain high quality schedules. In Proc. AAAI-2005, 2005
(5) Benchmark proposed in:
I. Refanidis. Managing Personal Tasks with Time Constraints and Preferences.
Proc. ICAPS-07, 2007.
Benchmark Mean relative distance
to best known UB
# Improved UB /
# Instances
RCPSP (1)
1.2% 2/600
MRCPSP/max (2)
1.1% 30/270
RCPSP w/ Early/Tardy (3)
-2.1% 16/60
Max. quality RCPSP (4)
-2.7% NA/3600
Personal Task Scheduling (5)
-12.5% 60/60
28
IBM Software Group
© 2009 IBM Corporation
Finding out More …
 http://www.ilog.com/products/oplstudio/trial.cfm
– Trial version of OPL with CP Optimizer support
 http://www.ilog.com/products/cpoptimizer
– White papers, Presentations, Data sheet
 http://www2.ilog.com/techreports has some technical reports adapted
from papers
– TR-07-001: Large neighborhood search (MISTA-07)
– TR-08-001: Reasoning with conditional time intervals (FLAIRS-08)
– TR-09-001: Reasoning with conditional time intervals (II) (FLAIRS-09)
– TR-08-002: Scheduling model exhaustive & formal description
– TR-09-002: CP Optimizer illustrated on 3 scheduling problems (CPAIOR-09)

Contenu connexe

Tendances

Multiobjective presentation
Multiobjective presentationMultiobjective presentation
Multiobjective presentationMohammed Kamil
 
Operating System 5
Operating System 5Operating System 5
Operating System 5tech2click
 
Multi Objective Optimization
Multi Objective OptimizationMulti Objective Optimization
Multi Objective OptimizationNawroz University
 
Artificial bee colony (abc)
Artificial bee colony (abc)Artificial bee colony (abc)
Artificial bee colony (abc)quadmemo
 
Multi Objective Optimization and Pareto Multi Objective Optimization with cas...
Multi Objective Optimization and Pareto Multi Objective Optimization with cas...Multi Objective Optimization and Pareto Multi Objective Optimization with cas...
Multi Objective Optimization and Pareto Multi Objective Optimization with cas...Aditya Deshpande
 
Introduction to optimization technique
Introduction to optimization techniqueIntroduction to optimization technique
Introduction to optimization techniqueKAMINISINGH963
 
Introduction to Approximation Algorithms
Introduction to Approximation AlgorithmsIntroduction to Approximation Algorithms
Introduction to Approximation AlgorithmsJhoirene Clemente
 
TEACHING AND LEARNING BASED OPTIMISATION
TEACHING AND LEARNING BASED OPTIMISATIONTEACHING AND LEARNING BASED OPTIMISATION
TEACHING AND LEARNING BASED OPTIMISATIONUday Wankar
 
Mining the CPLEX Node Log for Faster MIP Performance
Mining the CPLEX Node Log for Faster MIP PerformanceMining the CPLEX Node Log for Faster MIP Performance
Mining the CPLEX Node Log for Faster MIP PerformanceIBM Decision Optimization
 
Lecture: Ensembles and free energy in Monte Carlo simulations
Lecture: Ensembles and free energy in Monte Carlo simulationsLecture: Ensembles and free energy in Monte Carlo simulations
Lecture: Ensembles and free energy in Monte Carlo simulationsNikolai Priezjev
 
Multi-Objective Evolutionary Algorithms
Multi-Objective Evolutionary AlgorithmsMulti-Objective Evolutionary Algorithms
Multi-Objective Evolutionary AlgorithmsSong Gao
 
5.2 divide and conquer
5.2 divide and conquer5.2 divide and conquer
5.2 divide and conquerKrish_ver2
 
Operating system deign and implementation
Operating system deign and implementationOperating system deign and implementation
Operating system deign and implementationsangrampatil81
 
Online Coreset Selection for Rehearsal-based Continual Learning
Online Coreset Selection for Rehearsal-based Continual LearningOnline Coreset Selection for Rehearsal-based Continual Learning
Online Coreset Selection for Rehearsal-based Continual LearningMLAI2
 
Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Pankaj Suryawanshi
 
Teaching learning based optimization technique
Teaching   learning based optimization techniqueTeaching   learning based optimization technique
Teaching learning based optimization techniqueSmriti Mehta
 

Tendances (20)

Multiobjective presentation
Multiobjective presentationMultiobjective presentation
Multiobjective presentation
 
Operating System 5
Operating System 5Operating System 5
Operating System 5
 
Multi Objective Optimization
Multi Objective OptimizationMulti Objective Optimization
Multi Objective Optimization
 
Artificial bee colony (abc)
Artificial bee colony (abc)Artificial bee colony (abc)
Artificial bee colony (abc)
 
Multi Objective Optimization and Pareto Multi Objective Optimization with cas...
Multi Objective Optimization and Pareto Multi Objective Optimization with cas...Multi Objective Optimization and Pareto Multi Objective Optimization with cas...
Multi Objective Optimization and Pareto Multi Objective Optimization with cas...
 
Introduction to optimization technique
Introduction to optimization techniqueIntroduction to optimization technique
Introduction to optimization technique
 
Introduction to Approximation Algorithms
Introduction to Approximation AlgorithmsIntroduction to Approximation Algorithms
Introduction to Approximation Algorithms
 
TEACHING AND LEARNING BASED OPTIMISATION
TEACHING AND LEARNING BASED OPTIMISATIONTEACHING AND LEARNING BASED OPTIMISATION
TEACHING AND LEARNING BASED OPTIMISATION
 
Mining the CPLEX Node Log for Faster MIP Performance
Mining the CPLEX Node Log for Faster MIP PerformanceMining the CPLEX Node Log for Faster MIP Performance
Mining the CPLEX Node Log for Faster MIP Performance
 
job scheduling
job schedulingjob scheduling
job scheduling
 
Lecture: Ensembles and free energy in Monte Carlo simulations
Lecture: Ensembles and free energy in Monte Carlo simulationsLecture: Ensembles and free energy in Monte Carlo simulations
Lecture: Ensembles and free energy in Monte Carlo simulations
 
Multi-Objective Evolutionary Algorithms
Multi-Objective Evolutionary AlgorithmsMulti-Objective Evolutionary Algorithms
Multi-Objective Evolutionary Algorithms
 
5.2 divide and conquer
5.2 divide and conquer5.2 divide and conquer
5.2 divide and conquer
 
Operating system deign and implementation
Operating system deign and implementationOperating system deign and implementation
Operating system deign and implementation
 
Online Coreset Selection for Rehearsal-based Continual Learning
Online Coreset Selection for Rehearsal-based Continual LearningOnline Coreset Selection for Rehearsal-based Continual Learning
Online Coreset Selection for Rehearsal-based Continual Learning
 
Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)Linux Memory Management with CMA (Contiguous Memory Allocator)
Linux Memory Management with CMA (Contiguous Memory Allocator)
 
Final Exam OS fall 2012-2013 with answers
Final Exam OS fall 2012-2013 with answersFinal Exam OS fall 2012-2013 with answers
Final Exam OS fall 2012-2013 with answers
 
Teaching learning based optimization technique
Teaching   learning based optimization techniqueTeaching   learning based optimization technique
Teaching learning based optimization technique
 
Least cost
Least costLeast cost
Least cost
 
Ch5 answers
Ch5 answersCh5 answers
Ch5 answers
 

Similaire à IBM ILOG CP Optimizer for Modeling Resource-Constrained Project Scheduling Problems

TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizerPaulShawIBM
 
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
 
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
 
Recent advances on large scheduling problems in CP Optimizer
Recent advances on large scheduling problems in CP OptimizerRecent advances on large scheduling problems in CP Optimizer
Recent advances on large scheduling problems in CP OptimizerPhilippe Laborie
 
CP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancementCP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancementPhilippe Laborie
 
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...Philippe Laborie
 
Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPhilippe Laborie
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer WalkthroughPaulShawIBM
 
“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
 
ICAPS-2020 Industry Session
ICAPS-2020 Industry SessionICAPS-2020 Industry Session
ICAPS-2020 Industry SessionPhilippe Laborie
 
Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Kyle Brown
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPyDataParis
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patternsKyle Brown
 
The Impact of Compiler Auto-Optimisation on Arm-based HPC Microarchitectures
The Impact of Compiler Auto-Optimisation on Arm-based HPC MicroarchitecturesThe Impact of Compiler Auto-Optimisation on Arm-based HPC Microarchitectures
The Impact of Compiler Auto-Optimisation on Arm-based HPC MicroarchitecturesNECST Lab @ Politecnico di Milano
 
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...Srivatsan Ramanujam
 
PRETZEL: Opening the Black Box of Machine Learning Prediction Serving Systems
PRETZEL: Opening the Black Box of Machine Learning Prediction Serving SystemsPRETZEL: Opening the Black Box of Machine Learning Prediction Serving Systems
PRETZEL: Opening the Black Box of Machine Learning Prediction Serving SystemsNECST Lab @ Politecnico di Milano
 
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
 
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
 
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACHPERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACHcscpconf
 

Similaire à IBM ILOG CP Optimizer for Modeling Resource-Constrained Project Scheduling Problems (20)

TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizer
 
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...
 
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
 
Recent advances on large scheduling problems in CP Optimizer
Recent advances on large scheduling problems in CP OptimizerRecent advances on large scheduling problems in CP Optimizer
Recent advances on large scheduling problems in CP Optimizer
 
CP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancementCP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancement
 
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
 
Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP Optimizer
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
“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...
 
ICAPS-2020 Industry Session
ICAPS-2020 Industry SessionICAPS-2020 Industry Session
ICAPS-2020 Industry Session
 
Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandas
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patterns
 
The Impact of Compiler Auto-Optimisation on Arm-based HPC Microarchitectures
The Impact of Compiler Auto-Optimisation on Arm-based HPC MicroarchitecturesThe Impact of Compiler Auto-Optimisation on Arm-based HPC Microarchitectures
The Impact of Compiler Auto-Optimisation on Arm-based HPC Microarchitectures
 
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
PyMADlib - A Python wrapper for MADlib : in-database, parallel, machine learn...
 
PRETZEL: Opening the Black Box of Machine Learning Prediction Serving Systems
PRETZEL: Opening the Black Box of Machine Learning Prediction Serving SystemsPRETZEL: Opening the Black Box of Machine Learning Prediction Serving Systems
PRETZEL: Opening the Black Box of Machine Learning Prediction Serving Systems
 
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
 
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...
 
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACHPERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
 

Plus de 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
 
Objective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingObjective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingPhilippe Laborie
 
New Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling ProblemNew Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling ProblemPhilippe 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
 
Model Presolve, Warmstart and Conflict Refining in CP Optimizer
Model Presolve, Warmstart and Conflict Refining in CP OptimizerModel Presolve, Warmstart and Conflict Refining in CP Optimizer
Model Presolve, Warmstart and Conflict Refining in CP OptimizerPhilippe Laborie
 
Reasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsReasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsPhilippe Laborie
 
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...Philippe Laborie
 

Plus de Philippe Laborie (7)

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
 
Objective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingObjective Landscapes for Constraint Programming
Objective Landscapes for Constraint Programming
 
New Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling ProblemNew Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling Problem
 
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
 
Model Presolve, Warmstart and Conflict Refining in CP Optimizer
Model Presolve, Warmstart and Conflict Refining in CP OptimizerModel Presolve, Warmstart and Conflict Refining in CP Optimizer
Model Presolve, Warmstart and Conflict Refining in CP Optimizer
 
Reasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsReasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervals
 
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
 

Dernier

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Dernier (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

IBM ILOG CP Optimizer for Modeling Resource-Constrained Project Scheduling Problems

  • 1. © 2009 IBM Corporation ® Modeling and Solving Resource-Constrained Project Scheduling Problems with IBM ILOG CP Optimizer Philippe Laborie ILOG Principal Scientist IBM Software Group laborie@fr.ibm.com
  • 2. 2 IBM Software Group © 2009 IBM Corporation What is IBM ILOG CP Optimizer?  A Constraint Programming engine for combinatorial problems (including scheduling problems)  Implements a Model & Run paradigm – Model: Concise and Expressive modeling language – Run: Powerful automatic search procedure  Available through the following interfaces: – OPL (Optimization Programming Language) – C++ (native interface) – Java, .NET (wrapping of the C++ engine)
  • 3. 3 IBM Software Group © 2009 IBM Corporation Modeling Language [1,2] IBM ILOG CP Optimizer for Detailed Scheduling [1] Reasoning with Conditional Time-intervals. FLAIRS-08. [2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09. • Extension of classical CSP with a new type of decision variable: optional interval variable : Domain(a)  {}  { [s,e) | s,e, s≤e } • Introduction of mathematical notions such as sequences and functions to capture temporal aspects of scheduling problems Absent interval Interval of integers
  • 4. 4 IBM Software Group © 2009 IBM Corporation Automatic Search [3,4] IBM ILOG CP Optimizer for Detailed Scheduling [3] Randomized Large Neighborhood Search for Cumulative Scheduling. ICAPS-05. [4] Self-Adapting Large Neighborhood Search: Application to Single-mode Scheduling Problems. MISTA-07. POS generation Fragment Selection - Problem structure - Randomization Tree search - LP relaxation - Propagation - Dominance rules Continue search ? Problem Machine Learning Techniques [1] Reasoning with Conditional Time-intervals. FLAIRS-08. [2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09. Self-Adapting Large Neighborhood Search
  • 5. 5 IBM Software Group © 2009 IBM Corporation IBM ILOG CP Optimizer for Detailed Scheduling Modeling Language [1,2] Automatic Search [3,4] Efficient search Easy modeling [3] Randomized Large Neighborhood Search for Cumulative Scheduling. ICAPS-05. [4] Self-Adapting Large Neighborhood Search: Application to Single-mode Scheduling Problems. MISTA-07. [1] Reasoning with Conditional Time-intervals. FLAIRS-08. [2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09.
  • 6. 6 IBM Software Group © 2009 IBM Corporation IBM ILOG CP Optimizer for Detailed Scheduling Modeling Language [1,2] Automatic Search [3,4] Efficient search Easy modeling Detailed Scheduling Problems [3] Randomized Large Neighborhood Search for Cumulative Scheduling. ICAPS-05. [4] Self-Adapting Large Neighborhood Search: Application to Single-mode Scheduling Problems. MISTA-07. [1] Reasoning with Conditional Time-intervals. FLAIRS-08. [2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09.
  • 7. 7 IBM Software Group © 2009 IBM Corporation IBM ILOG CP Optimizer for Detailed Scheduling Modeling Language [1,2] Automatic Search [3,4] Efficient search Easy modeling [3] Randomized Large Neighborhood Search for Cumulative Scheduling. ICAPS-05. [4] Self-Adapting Large Neighborhood Search: Application to Single-mode Scheduling Problems. MISTA-07. [1] Reasoning with Conditional Time-intervals. FLAIRS-08. [2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-09. Resource-Constrained Project Scheduling Problems
  • 8. 8 IBM Software Group © 2009 IBM Corporation Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs Unperformed Tasks No Yes Renewable Non- Renewable No Yes No Yes No YesYes Inventories No Resource-Constrained Project Scheduling Problems
  • 9. 9 IBM Software Group © 2009 IBM Corporation Basic RCPSP Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs No Yes Renewable Non- Renewable No Yes No Yes No YesYes Inventories No Unperformed Tasks Basic RCPSP
  • 10. 10 IBM Software Group © 2009 IBM Corporation Basic RCPSP  The model is using CP Optimizer engine
  • 11. 11 IBM Software Group © 2009 IBM Corporation Basic RCPSP Data  Data reading: – Problem size (number of tasks and resources) – Resource capacities – Tasks with their processing time, resource demand and successors
  • 12. 12 IBM Software Group © 2009 IBM Corporation Basic RCPSP Decisions  Decision variables: – Tasks: array of interval variables itvs[t] t.pt
  • 13. 13 IBM Software Group © 2009 IBM Corporation Basic RCPSP Objective  Objective: – Minimize project makespan itvs[t1] itvs[t2] itvs[tn] max(t in Tasks) endOf(itvs[t])
  • 14. 14 IBM Software Group © 2009 IBM Corporation Basic RCPSP Constraints  Constraints: – Resource capacity constraints (using cumul functions) itvs[t] t.dmds[r] pulse itvs[t1]itvs[t2] itvs[tn]  pulse Capacity[r]
  • 15. 15 IBM Software Group © 2009 IBM Corporation Basic RCPSP Constraints  Constraints: – Precedence constraints between tasks itvs[t1] itvs[t2] itvs[tn]
  • 16. 16 IBM Software Group © 2009 IBM Corporation Multi-ModeRCPSP  Each task must be one among several alternative execution modes Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs No Yes Renewable Non- Renewable No Yes No Yes No Yes No Yes Inventories Unperformed Tasks Multi-Mode RCPSP task alternative mode1 mode2 mode3
  • 17. 17 IBM Software Group © 2009 IBM Corporation Multi-ModeRCPSP  Each task must be one among several alternative execution modes Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs No Yes Renewable Non- Renewable No Yes No Yes No Yes No Yes Inventories Unperformed Tasks Multi-Mode RCPSP mode1 mode2 mode3 R1 R2 task alternative
  • 18. 18 IBM Software Group © 2009 IBM Corporation Multi-Mode RCPSP  Alternative constraint: – Mode selection for each task (using alternative constraints) – Resource usage for each mode
  • 19. 19 IBM Software Group © 2009 IBM Corporation Inventories  Cumul functions with stepAtStart/stepAtEnd Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs No Yes Renewable Non- Renewable No Yes No Yes NoNo Yes Unperformed Tasks Inventories producer[p] QProd[p]stepAtEnd consumer[c] QCons[c] stepAtStart p c Yes Modeling Inventories
  • 20. 20 IBM Software Group © 2009 IBM Corporation Max.Delays  Precedence constraints with delays Modeling Maximum Delays Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs No Yes Renewable Non- Renewable No Yes No Yes NoNo Yes Unperformed Tasks Inventories Yes task[1] task[2] [dmin,dmax]
  • 21. 21 IBM Software Group © 2009 IBM Corporation Calendars  Intensity functions Modeling Resource Calendars Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs No Yes Renewable Non- Renewable No Yes No Yes NoNo Yes Unperformed Tasks Inventories Yes task (size=9) workingTime length=11 100% 0%
  • 22. 22 IBM Software Group © 2009 IBM Corporation Opt.Tasks  Optional Interval Variables – Constraint presenceOf(a) constrains an optional interval variable a to be present in the solution Modeling Optional Tasks Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs No Yes Renewable Non- Renewable No Yes No Yes NoNo Yes Unperformed Tasks Inventories Yes
  • 23. 23 IBM Software Group © 2009 IBM Corporation WBS  Hierarchical description of projects with alternative and optional sub-projects Modeling Work-Breakdown Structures Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs No Yes Renewable Non- Renewable No Yes No Yes NoNo Yes Unperformed Tasks Inventories Yes project1 project2 dec11 dec12 dec21 dec22 OR OR AND AND AND AND Optional sub-projects In the decomposition
  • 24. 24 IBM Software Group © 2009 IBM Corporation Modeling Work-Breakdown Structures
  • 25. 25 IBM Software Group © 2009 IBM Corporation Objective  Objective functions – Combinations of startOf, endOf, sizeOf, lengthOf, presenceOf with algebraical expressions Modeling Objective Functions Resource Types Multi- Modes Max- Delays Resource Calendars Optional Tasks Work Breakdown Structure Objective Function Makespan Earliness/ Tardiness Task Durations Allocation Costs No Yes Renewable Non- Renewable No Yes No Yes NoNo Yes Unperformed Tasks Inventories Yes
  • 26. 26 IBM Software Group © 2009 IBM Corporation Objective  Objective functions – Combinations of startOf, endOf, sizeOf, lengthOf, presenceOf with algebraical expressions Modeling Objective Functions
  • 27. 27 IBM Software Group © 2009 IBM Corporation Experimental Results (excerpts) (1) Instances j120* of the PSPLIB (2) Instances mm50* of the PSPLIB (3) Random selection of 60 instances from the benchmark proposed in: M. Vanhoucke, E. Demeulemeester, and W. Herroelen. An exact procedure for the resource-constrained weighted earliness-tardiness project scheduling problem. Annals of Operations Research, 102(1-4):179–196, 2001. (4) Benchmark proposed in: N. Policella, X. Wang, S.F. Smith, and A. Oddi. Exploiting temporal flexibility to obtain high quality schedules. In Proc. AAAI-2005, 2005 (5) Benchmark proposed in: I. Refanidis. Managing Personal Tasks with Time Constraints and Preferences. Proc. ICAPS-07, 2007. Benchmark Mean relative distance to best known UB # Improved UB / # Instances RCPSP (1) 1.2% 2/600 MRCPSP/max (2) 1.1% 30/270 RCPSP w/ Early/Tardy (3) -2.1% 16/60 Max. quality RCPSP (4) -2.7% NA/3600 Personal Task Scheduling (5) -12.5% 60/60
  • 28. 28 IBM Software Group © 2009 IBM Corporation Finding out More …  http://www.ilog.com/products/oplstudio/trial.cfm – Trial version of OPL with CP Optimizer support  http://www.ilog.com/products/cpoptimizer – White papers, Presentations, Data sheet  http://www2.ilog.com/techreports has some technical reports adapted from papers – TR-07-001: Large neighborhood search (MISTA-07) – TR-08-001: Reasoning with conditional time intervals (FLAIRS-08) – TR-09-001: Reasoning with conditional time intervals (II) (FLAIRS-09) – TR-08-002: Scheduling model exhaustive & formal description – TR-09-002: CP Optimizer illustrated on 3 scheduling problems (CPAIOR-09)