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

Tendances (20)

=SLAM ppt.pdf
=SLAM ppt.pdf=SLAM ppt.pdf
=SLAM ppt.pdf
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
 
Knapsack problem using dynamic programming
Knapsack problem using dynamic programmingKnapsack problem using dynamic programming
Knapsack problem using dynamic programming
 
Tutorial on word2vec
Tutorial on word2vecTutorial on word2vec
Tutorial on word2vec
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandas
 
Examples of Informed Search
Examples of Informed SearchExamples of Informed Search
Examples of Informed Search
 
Tsp is NP-Complete
Tsp is NP-CompleteTsp is NP-Complete
Tsp is NP-Complete
 
Innovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilitiesInnovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilities
 
Operations Research ppt
Operations Research pptOperations Research ppt
Operations Research ppt
 
Glove global vectors for word representation
Glove global vectors for word representationGlove global vectors for word representation
Glove global vectors for word representation
 
Solving travelling salesman problem using firefly algorithm
Solving travelling salesman problem using firefly algorithmSolving travelling salesman problem using firefly algorithm
Solving travelling salesman problem using firefly algorithm
 
Daa notes 2
Daa notes 2Daa notes 2
Daa notes 2
 
Introdcution to Openfoam--working with free software
Introdcution to Openfoam--working with free softwareIntrodcution to Openfoam--working with free software
Introdcution to Openfoam--working with free software
 
Travelling Salesman Problem using Partical Swarm Optimization
Travelling Salesman Problem using Partical Swarm OptimizationTravelling Salesman Problem using Partical Swarm Optimization
Travelling Salesman Problem using Partical Swarm Optimization
 
GCDA - GIAC Certificated Detection Analyst
GCDA - GIAC Certificated Detection AnalystGCDA - GIAC Certificated Detection Analyst
GCDA - GIAC Certificated Detection Analyst
 
Global optimization
Global optimizationGlobal optimization
Global optimization
 
Traveling Salesman Problem (TSP)
Traveling Salesman Problem (TSP)Traveling Salesman Problem (TSP)
Traveling Salesman Problem (TSP)
 
Machine learning for predictive maintenance external
Machine learning for predictive maintenance   externalMachine learning for predictive maintenance   external
Machine learning for predictive maintenance external
 
15 Machine Learning Multilayer Perceptron
15 Machine Learning Multilayer Perceptron15 Machine Learning Multilayer Perceptron
15 Machine Learning Multilayer Perceptron
 
Solving Large Scale Optimization Problems using CPLEX Optimization Studio
Solving Large Scale Optimization Problems using CPLEX Optimization StudioSolving Large Scale Optimization Problems using CPLEX Optimization Studio
Solving Large Scale Optimization Problems using CPLEX Optimization Studio
 

Similaire à Modeling and Solving Resource-Constrained Project Scheduling Problems with IBM ILOG CP Optimizer

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
 

Similaire à Modeling and Solving Resource-Constrained Project Scheduling Problems with IBM ILOG CP Optimizer (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
 
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
 
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsIBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
 
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...
 
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...
 
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
 
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
 
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

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
Philippe Laborie
 

Plus de Philippe Laborie (6)

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

TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 

Dernier (20)

Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 

Modeling and Solving Resource-Constrained Project Scheduling Problems with IBM ILOG CP Optimizer

  • 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)