SlideShare a Scribd company logo
1 of 49
Download to read offline
IBM ILOG CP Optimizer
for Detailed Scheduling
Illustrated on Three Problems
May 30, 2009
Philippe Laborie
Principal Scientist
laborie@fr.ibm.com
06/24/14 © ILOG, All rights reserved 2
What is IBM ILOG CP Optimizer?
 A component of IBM ILOG CPLEX Optimization Studio
 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
 C++ (native interface)
 Java, .NET (wrapping of the C++ engine)
06/24/14 © ILOG, All rights reserved 3
IBM ILOG CP Optimizer for Detailed Scheduling
 CP Optimizer provides some specific decision
variables and constraints for modeling and
solving detailed scheduling problems
06/24/14 © ILOG, All rights reserved 4
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
06/24/14 © ILOG, All rights reserved 5
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
06/24/14 © ILOG, All rights reserved 6
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.
06/24/14 © ILOG, All rights reserved 7
IBM ILOG CP Optimizer for Detailed Scheduling
Modeling
Language
[1,2]
Automatic
Search
[3,4]
Efficient
search
Easy
modeling
Scheduling applications
(Here: [5,6,7])
[5] Danna, Perron: Structured vs. Unstructured Large Neighborhood Search.
[6] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling.
[7] Refanidis: Managing Personal Tasks with Time Constraints and Preferences.
[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.
06/24/14 © ILOG, All rights reserved 8
Problem #1: Flow-shop with Earliness/Tardiness
 Classical Flow-Shop Scheduling problem:
 n jobs, m machines
op[1,1] op[1,2] op[1,3]
op[2,1] op[2,2] op[2,3]
op[3,1] op[3,2] op[3,3]
06/24/14 © ILOG, All rights reserved 9
Problem #1: Flow-shop with Earliness/Tardiness
 Classical Flow-Shop Scheduling problem:
 n jobs, m machines
 Job release dates ( ), due dates ( ) and weight
op[1,1] op[1,2] op[1,3]
op[2,1] op[2,2] op[2,3]
op[3,1] op[3,2] op[3,3]
op[1,1] op[1,2] op[1,3]
op[2,3]
op[3,1] op[3,2] op[3,3]
op[2,1] op[2,2]
06/24/14 © ILOG, All rights reserved 10
Problem #1: Flow-shop with Earliness/Tardiness
 The model is using CP Optimizer engine
06/24/14 © ILOG, All rights reserved 11
Problem #1: Flow-shop with Earliness/Tardiness
Data
 Data reading and computation:
 Problem size (n, m)
 Job release date (rd), due-date (dd), weight (w)
 Operation processing time (pt)
 Normalization factor (W)
06/24/14 © ILOG, All rights reserved 12
Problem #1: Flow-shop with Earliness/Tardiness
Decisions
 Decision variables and expressions:
 Operations: 2D array of interval variables
 Jobs end time: 1D array of integer expressions
06/24/14 © ILOG, All rights reserved 13
Problem #1: Flow-shop with Earliness/Tardiness
Objective
 Objective:
 Weighted sum of earliness/tardiness costs
dd[i]
+w[i]/W-w[i]/W
06/24/14 © ILOG, All rights reserved 14
Problem #1: Flow-shop with Earliness/Tardiness
Constraints
 Constraints:
 Release dates of job i (using startOf integer expression)
 Precedence constraints between operations of job i
 No-overlap of operations on the same machine j
06/24/14 © ILOG, All rights reserved 15
Problem #1: Flow-shop with Earliness/Tardiness
 Experimental results
 Average improvement:
 Compared to GA: 25%
 Compared to LNS: 1.7%
[5] Danna, Perron: Structured vs. Unstructured Large Neighborhood Search.
06/24/14 © ILOG, All rights reserved 16
Problem #2: Oversubscribed Scheduling
 USAF Satellite Control Network scheduling problem [6]
 A set of n communication requests for Earth orbiting
satellites must be scheduled on a total of 32 antennas
spread across 13 ground-based tracking stations.
 Objective is to maximize the number of satisfied
requests
 In the instances, n ranges from to 400 to 1300
[6] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling.
06/24/14 © ILOG, All rights reserved 17
Problem #2: Oversubscribed SchedulingStation1Station2Station3
06/24/14 © ILOG, All rights reserved 18
Problem #2: Oversubscribed SchedulingStation1Station2Station3
Communication requestsTaski
06/24/14 © ILOG, All rights reserved 19
Problem #2: Oversubscribed SchedulingStation1Station2Station3
Taski
Alti,1
Alti,2 Alti,3
Alternative assignments
to stations  time windows
Alti,4
OR
06/24/14 © ILOG, All rights reserved 20
Problem #2: Oversubscribed SchedulingStation1Station2Station3
Alti,1
Alti,2
Alti,4
Alti,3
Selected alternative will use
1 antenna for communication
with the satellite
Taski
06/24/14 © ILOG, All rights reserved 21
Problem #2: Oversubscribed Scheduling
Data
 Data reading and computation:
 Tuple sets of Stations and Alternative assignments
 Tasks: set of tasks of the problem
06/24/14 © ILOG, All rights reserved 22
Problem #2: Oversubscribed Scheduling
Decisions
 Decision variables:
 Tasks: array of optional interval variables
 Alternative assignments: array of optional interval variables,
each possible assignment is defined with a specific time-window ([smin,emax]) and
a size
06/24/14 © ILOG, All rights reserved 23
Problem #2: Oversubscribed Scheduling
Objective
 Objective:
 Maximize number of executed tasks (modeled with a sum of presenceOf
constraints)
06/24/14 © ILOG, All rights reserved 24
Problem #2: Oversubscribed Scheduling
Constraints
 Constraints:
 Alternative assignments for a given task t using an alternative constraint
 Maximal capacity of stations (number of antennas) using a constrained cumul
function
06/24/14 © ILOG, All rights reserved 25
Problem #2: Oversubscribed Scheduling
 Experimental Results
 In average, compared with SWO, the number of
unscheduled tasks is decreased by 5.3%
[6] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling.
06/24/14 © ILOG, All rights reserved 26
Problem #3: Personal Tasks Scheduling
 Personal tasks scheduling [7]
 Schedule a personal agenda composed of n tasks
 Integration with Google Calendar available online:
http://selfplanner.uom.gr/
[7] Refanidis: Managing Personal Tasks with Time Constraints and Preferences.
06/24/14 © ILOG, All rights reserved 27
Problem #3: Personal Tasks Scheduling
 Tasks are preemptive
 A task specifies a fixed total processing time
 It can be split into one or several parts
 Min/max value for the duration of each individual part
 Minimal delay between consecutive parts of the same task
Min/max duration
for each part
Part1 Part2 Part3
Task
…
06/24/14 © ILOG, All rights reserved 28
Problem #3: Personal Tasks Scheduling
 Tasks are preemptive
 A task specifies a fixed total processing time
 It can be split into one or several parts
 Min/max value for the duration of each individual part
 Minimal delay between consecutive parts of the same task
Part1 Part2 Part3
Task
…
Min delay between
Consecutive task parts
06/24/14 © ILOG, All rights reserved 29
Problem #3: Personal Tasks Scheduling
 Each task specifies a set of time-windows where it can
be executed
Task
Task domain
Part1 Part2 Part3 …
06/24/14 © ILOG, All rights reserved 30
Problem #3: Personal Tasks Scheduling
 Precedence constraints
 Locations, distances and transition times
Task1
Task3
Task2
Task4
Task2
Task1
Task3
Task5
1
2
3
4
06/24/14 © ILOG, All rights reserved 31
Problem #3: Personal Tasks Scheduling
 Objective function: maximize task satisfaction
 5 types of task-dependent preference functions:
Task
Part1 Part2 Part3 …
06/24/14 © ILOG, All rights reserved 32
Problem #3: Personal Tasks Scheduling
Data
 Data reading:
 Tasks characteristics
06/24/14 © ILOG, All rights reserved 33
Problem #3: Personal Tasks Scheduling
Data
 Data reading:
 Distance matrix
1
2
3
4
06/24/14 © ILOG, All rights reserved 34
Problem #3: Personal Tasks Scheduling
Data
 Data reading:
 Task ordering
Task1
Task3
Task2
06/24/14 © ILOG, All rights reserved 35
Problem #3: Personal Tasks Scheduling
Data
 Data computing:
 Computation of envelope of possible task parts:
there are at most t.dur / t.smin parts for a task t
06/24/14 © ILOG, All rights reserved 36
Problem #3: Personal Tasks Scheduling
Data
 Data computing:
 Step functions for task domains
0
1
holes
Part1 Part2 Part3 …
06/24/14 © ILOG, All rights reserved 37
Problem #3: Personal Tasks Scheduling
Decisions
 Decision variables:
 Tasks: array of interval variables
 Task parts: array of optional interval variables
 Sequence variable defined over all task parts
06/24/14 © ILOG, All rights reserved 38
Problem #3: Personal Tasks Scheduling
Objective
 Objective function:
 Sum of individual task satisfaction
 5 types of preference functions (note that some are quadratic)
Part1 Part2 Part3 …
06/24/14 © ILOG, All rights reserved 39
Problem #3: Personal Tasks Scheduling
Constraints
 Constraints:
 Task domain
0
1
holes
Part1 Part2 Part3 …
06/24/14 © ILOG, All rights reserved 40
Problem #3: Personal Tasks Scheduling
Constraints
 Constraints:
 Task decomposition into parts
Task
Part1 Part2 Part3 …
06/24/14 © ILOG, All rights reserved 41
Problem #3: Personal Tasks Scheduling
Constraints
 Constraints:
 Ordering constraints
Task1
Task3
Task2
06/24/14 © ILOG, All rights reserved 42
Problem #3: Personal Tasks Scheduling
Constraints
 Constraints:
 No-overlap constraint between task parts using transition distance
06/24/14 © ILOG, All rights reserved 43
Problem #3: Personal Tasks Scheduling
 Experimental Results
 More solutions
found for large
instances
 Average task
satisfaction
increases from
78% to 87% in
average (12.5%
improvement)
[7] Refanidis: Managing Personal Tasks with Time Constraints and Preferences.
06/24/14 © ILOG, All rights reserved 44
Conclusion
 These problems cover many aspects of
scheduling …
Domain Activity
type
Resource
type
Temporal
network
Objective
function
Aerospace
Manufacturing
Project
scheduling
Non-
preemptive
Non-
preemptive
Preemptive
Disjunctive
Disjunctive
Cumulative None
Structured
(jobs)
Unstructured
Earliness/
tardiness
Scheduled
tasks
Complex
temporal
preferences
#1#2#3
06/24/14 © ILOG, All rights reserved 45
Conclusion
 They can easily be modeled with CP Optimizer
…
OPL Model size
15 lines
20 lines
#1#2#3
42 lines
06/24/14 © ILOG, All rights reserved 46
Conclusion
 They can efficiently be solved by CP Optimizer
…
OPL Model size
CPO Automatic search (no parameter tuning)
vs. state-of-the-art
15 lines
20 lines
42 lines
Competitive with state of the art (GA, LNS)
Number of unscheduled tasks decreased by 5%
Finds solution to more instances
Solution quality increased by 12.5%
#1#2#3
06/24/14 © ILOG, All rights reserved 47
Some more results … (compiled in 2007)
06/24/14 © ILOG, All rights reserved 48
Finding out more …
 Product page:
 http://www-03.ibm.com/software/products/en/ibmilogcpleoptistud/
 Trial version
 Product documentation
 White papers
 Presentations
 IBM ILOG Optimization Forums / Constraint Programming:
 http://www.ibm.com/developerworks/forums/category.jspa?categoryID=268
06/24/14 © ILOG, All rights reserved 49
Finding out more …
 Some papers on CP Optimizer (not limited to scheduling)
P. Laborie, J. Rogerie, P. Shaw and P. Vilim. "Reasoning with Conditional Time-intervals - Part II: an Algebraical
Model for Resources". In Proceedings of the Twenty-Second International FLAIRS Conference. 2009.
P. Laborie. "IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems". In Proceedings of the
6th International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial
Optimization Problems (CP-AI-OR'09). 2009.
P. Vilim. "Max Energy Filtering Algorithm for Discrete Cumulative Resources". In Proceedings of the 6th International
Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems
(CP-AI-OR'09). 2009.
P. Vilim. "Edge finding filtering algorithm for discrete cumulative resources in O(knlog(n))". In Proceedings of the
15th international conference on Principles and practice of constraint programming (CP'09). 2009.
P. Laborie and J. Rogerie. "Reasoning with Conditional Time-intervals". In Proceedings of the Twenty-First
International FLAIRS Conference. pp555-560. 2008.
P. Laborie and D. Godard. "Self-Adapting Large Neighborhood Search: Application to single-mode scheduling
problems". In Proceedings of the 3rd Multidisciplinary International Conference on Scheduling: Theory and Applications
(MISTA). pp276-284. 2007.
P. Vilim. "Global Constraints in Scheduling". PhD thesis. Charles University, Prague. 2007.
A. Gargani and P. Refalo. "An Efficient Model and Strategy for the Steel Mill Slab Design Problem". In Proceedings
of the 13th international conference on Principles and Practice of Constraint Programming (CP'07). 2007.
P. Refalo: ”Impact-Based Search Strategies for Constraint Programming“. In Proceedings of the 10th international
conference on Principles and Practice of Constraint Programming (CP'04). 2004.
P. Shaw: "A Constraint for Bin Packing". In Proceedings of the 10th international conference on Principles and Practice
of Constraint Programming (CP'04). 2004.

More Related Content

What's hot

Parallel Programing Model
Parallel Programing ModelParallel Programing Model
Parallel Programing Model
Adlin Jeena
 
operating system question bank
operating system question bankoperating system question bank
operating system question bank
rajatdeep kaur
 

What's hot (20)

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
 
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
 
Fundamentals of Computer Design including performance measurements & quantita...
Fundamentals of Computer Design including performance measurements & quantita...Fundamentals of Computer Design including performance measurements & quantita...
Fundamentals of Computer Design including performance measurements & quantita...
 
Operating systems chapter 5 silberschatz
Operating systems chapter 5 silberschatzOperating systems chapter 5 silberschatz
Operating systems chapter 5 silberschatz
 
Optimization tutorial
Optimization tutorialOptimization tutorial
Optimization tutorial
 
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...
 
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
 
TEACHING AND LEARNING BASED OPTIMISATION
TEACHING AND LEARNING BASED OPTIMISATIONTEACHING AND LEARNING BASED OPTIMISATION
TEACHING AND LEARNING BASED OPTIMISATION
 
How CFD & Daylight Modelling Can Support Successful UK Planning Applications
How CFD & Daylight Modelling Can Support Successful UK Planning ApplicationsHow CFD & Daylight Modelling Can Support Successful UK Planning Applications
How CFD & Daylight Modelling Can Support Successful UK Planning Applications
 
Richard Quincey - TM54 Analysis Webinar
Richard Quincey - TM54 Analysis WebinarRichard Quincey - TM54 Analysis Webinar
Richard Quincey - TM54 Analysis Webinar
 
Operating System Lecture Notes
Operating System Lecture NotesOperating System Lecture Notes
Operating System Lecture Notes
 
Introduction to optimization Problems
Introduction to optimization ProblemsIntroduction to optimization Problems
Introduction to optimization Problems
 
Energy-aware Task Scheduling using Ant-colony Optimization in cloud
Energy-aware Task Scheduling using Ant-colony Optimization in cloudEnergy-aware Task Scheduling using Ant-colony Optimization in cloud
Energy-aware Task Scheduling using Ant-colony Optimization in cloud
 
Rtos 8051
Rtos 8051Rtos 8051
Rtos 8051
 
Parallel Programing Model
Parallel Programing ModelParallel Programing Model
Parallel Programing Model
 
Energy management system slide 2
Energy management system slide 2Energy management system slide 2
Energy management system slide 2
 
Operating Systems A-Z
Operating Systems A-ZOperating Systems A-Z
Operating Systems A-Z
 
operating system question bank
operating system question bankoperating system question bank
operating system question bank
 
CPU scheduling ppt file
CPU scheduling ppt fileCPU scheduling ppt file
CPU scheduling ppt file
 
HCE experiencia el Complejo Asistencial de Ávila
HCE experiencia el Complejo Asistencial de ÁvilaHCE experiencia el Complejo Asistencial de Ávila
HCE experiencia el Complejo Asistencial de Ávila
 

Viewers also liked

Ibm ilog odme based solution webinar
Ibm ilog odme based solution webinarIbm ilog odme based solution webinar
Ibm ilog odme based solution webinar
OptiRisk India
 
Ibm log differentiators for strategic network planning 2011 v6
Ibm log differentiators for strategic network planning 2011 v6Ibm log differentiators for strategic network planning 2011 v6
Ibm log differentiators for strategic network planning 2011 v6
Artem Vinogradov
 
Wsd as distributed constraint optimization problem
Wsd as distributed constraint optimization problemWsd as distributed constraint optimization problem
Wsd as distributed constraint optimization problem
lolokikipipi
 

Viewers also liked (20)

CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
Cp04invitedslide
Cp04invitedslideCp04invitedslide
Cp04invitedslide
 
Reasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsReasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervals
 
Optimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsOptimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applications
 
Ibm ilog odme based solution webinar
Ibm ilog odme based solution webinarIbm ilog odme based solution webinar
Ibm ilog odme based solution webinar
 
Ibm log differentiators for strategic network planning 2011 v6
Ibm log differentiators for strategic network planning 2011 v6Ibm log differentiators for strategic network planning 2011 v6
Ibm log differentiators for strategic network planning 2011 v6
 
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 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 ...
 
Process Scheduling
Process SchedulingProcess Scheduling
Process Scheduling
 
BlogWell Chicago Social Media Case Study: MillerCoors, presented by Lisa Zimm...
BlogWell Chicago Social Media Case Study: MillerCoors, presented by Lisa Zimm...BlogWell Chicago Social Media Case Study: MillerCoors, presented by Lisa Zimm...
BlogWell Chicago Social Media Case Study: MillerCoors, presented by Lisa Zimm...
 
Local coordination in online distributed constraint optimization problems - P...
Local coordination in online distributed constraint optimization problems - P...Local coordination in online distributed constraint optimization problems - P...
Local coordination in online distributed constraint optimization problems - P...
 
Wsd as distributed constraint optimization problem
Wsd as distributed constraint optimization problemWsd as distributed constraint optimization problem
Wsd as distributed constraint optimization problem
 
Logica | Intelligent Self learning - a helping hand in financial crime
Logica | Intelligent Self learning - a helping hand in financial crimeLogica | Intelligent Self learning - a helping hand in financial crime
Logica | Intelligent Self learning - a helping hand in financial crime
 
Lessonslearnedeuro
LessonslearnedeuroLessonslearnedeuro
Lessonslearnedeuro
 
Nurse Rostering Problem - A comparison between Constraint Programming on CHOC...
Nurse Rostering Problem - A comparison between Constraint Programming on CHOC...Nurse Rostering Problem - A comparison between Constraint Programming on CHOC...
Nurse Rostering Problem - A comparison between Constraint Programming on CHOC...
 
Scheduling algo(by HJ)
Scheduling algo(by HJ)Scheduling algo(by HJ)
Scheduling algo(by HJ)
 
Process scheduling
Process schedulingProcess scheduling
Process scheduling
 
Disk scheduling
Disk schedulingDisk scheduling
Disk scheduling
 
Sequencing problems in Operations Research
Sequencing problems in Operations ResearchSequencing problems in Operations Research
Sequencing problems in Operations Research
 

Similar to IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems

Heuristic approach for bicriteria in constrained three stage flow shop schedu...
Heuristic approach for bicriteria in constrained three stage flow shop schedu...Heuristic approach for bicriteria in constrained three stage flow shop schedu...
Heuristic approach for bicriteria in constrained three stage flow shop schedu...
Alexander Decker
 
Resource provisioning optimization in cloud computing
Resource provisioning optimization in cloud computingResource provisioning optimization in cloud computing
Resource provisioning optimization in cloud computing
Masoumeh_tajvidi
 

Similar to IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems (20)

Improvement of Scheduling Granularity for Deadline Scheduler
Improvement of Scheduling Granularity for Deadline Scheduler Improvement of Scheduling Granularity for Deadline Scheduler
Improvement of Scheduling Granularity for Deadline Scheduler
 
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...
 
Job Shop Scheduling Using Mixed Integer Programming
Job Shop Scheduling Using Mixed Integer ProgrammingJob Shop Scheduling Using Mixed Integer Programming
Job Shop Scheduling Using Mixed Integer Programming
 
Deadline Miss Detection with SCHED_DEADLINE
Deadline Miss Detection with SCHED_DEADLINEDeadline Miss Detection with SCHED_DEADLINE
Deadline Miss Detection with SCHED_DEADLINE
 
Reinforcement learning based multi core scheduling (RLBMCS) for real time sys...
Reinforcement learning based multi core scheduling (RLBMCS) for real time sys...Reinforcement learning based multi core scheduling (RLBMCS) for real time sys...
Reinforcement learning based multi core scheduling (RLBMCS) for real time sys...
 
AN EFFICIENT HEURISTIC ALGORITHM FOR FLEXIBLE JOB SHOP SCHEDULING WITH MAINTE...
AN EFFICIENT HEURISTIC ALGORITHM FOR FLEXIBLE JOB SHOP SCHEDULING WITH MAINTE...AN EFFICIENT HEURISTIC ALGORITHM FOR FLEXIBLE JOB SHOP SCHEDULING WITH MAINTE...
AN EFFICIENT HEURISTIC ALGORITHM FOR FLEXIBLE JOB SHOP SCHEDULING WITH MAINTE...
 
An Efficient Heuristic Algorithm for Flexible Job Shop Scheduling with Mainte...
An Efficient Heuristic Algorithm for Flexible Job Shop Scheduling with Mainte...An Efficient Heuristic Algorithm for Flexible Job Shop Scheduling with Mainte...
An Efficient Heuristic Algorithm for Flexible Job Shop Scheduling with Mainte...
 
40120130406012
4012013040601240120130406012
40120130406012
 
Heuristic approach for bicriteria in constrained three stage flow shop schedu...
Heuristic approach for bicriteria in constrained three stage flow shop schedu...Heuristic approach for bicriteria in constrained three stage flow shop schedu...
Heuristic approach for bicriteria in constrained three stage flow shop schedu...
 
Heuristic approach for bicriteria in constrained three stage flow shop schedu...
Heuristic approach for bicriteria in constrained three stage flow shop schedu...Heuristic approach for bicriteria in constrained three stage flow shop schedu...
Heuristic approach for bicriteria in constrained three stage flow shop schedu...
 
VTU 5TH SEM CSE OPERATING SYSTEMS SOLVED PAPERS
VTU 5TH SEM CSE OPERATING SYSTEMS SOLVED PAPERSVTU 5TH SEM CSE OPERATING SYSTEMS SOLVED PAPERS
VTU 5TH SEM CSE OPERATING SYSTEMS SOLVED PAPERS
 
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICESCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
SCHEDULING DIFFERENT CUSTOMER ACTIVITIES WITH SENSING DEVICE
 
DCHEFT approach-for-task-scheduling-to-efficient-resource-allocation-in-cloud...
DCHEFT approach-for-task-scheduling-to-efficient-resource-allocation-in-cloud...DCHEFT approach-for-task-scheduling-to-efficient-resource-allocation-in-cloud...
DCHEFT approach-for-task-scheduling-to-efficient-resource-allocation-in-cloud...
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
 
Resource provisioning optimization in cloud computing
Resource provisioning optimization in cloud computingResource provisioning optimization in cloud computing
Resource provisioning optimization in cloud computing
 
A hybrid approach for scheduling applications in cloud computing environment
A hybrid approach for scheduling applications in cloud computing environment A hybrid approach for scheduling applications in cloud computing environment
A hybrid approach for scheduling applications in cloud computing environment
 
C1803052327
C1803052327C1803052327
C1803052327
 
International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)International Journal of Engineering and Science Invention (IJESI)
International Journal of Engineering and Science Invention (IJESI)
 
Parallel Line and Machine Job Scheduling Using Genetic Algorithm
Parallel Line and Machine Job Scheduling Using Genetic AlgorithmParallel Line and Machine Job Scheduling Using Genetic Algorithm
Parallel Line and Machine Job Scheduling Using Genetic Algorithm
 
Service Request Scheduling in Cloud Computing using Meta-Heuristic Technique:...
Service Request Scheduling in Cloud Computing using Meta-Heuristic Technique:...Service Request Scheduling in Cloud Computing using Meta-Heuristic Technique:...
Service Request Scheduling in Cloud Computing using Meta-Heuristic Technique:...
 

More from 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
 

More from Philippe Laborie (6)

ICAPS-2020 Industry Session
ICAPS-2020 Industry SessionICAPS-2020 Industry Session
ICAPS-2020 Industry Session
 
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
 
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
 
Objective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingObjective Landscapes for Constraint Programming
Objective Landscapes for Constraint Programming
 
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...
 
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
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems

  • 1. IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems May 30, 2009 Philippe Laborie Principal Scientist laborie@fr.ibm.com
  • 2. 06/24/14 © ILOG, All rights reserved 2 What is IBM ILOG CP Optimizer?  A component of IBM ILOG CPLEX Optimization Studio  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  C++ (native interface)  Java, .NET (wrapping of the C++ engine)
  • 3. 06/24/14 © ILOG, All rights reserved 3 IBM ILOG CP Optimizer for Detailed Scheduling  CP Optimizer provides some specific decision variables and constraints for modeling and solving detailed scheduling problems
  • 4. 06/24/14 © ILOG, All rights reserved 4 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
  • 5. 06/24/14 © ILOG, All rights reserved 5 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
  • 6. 06/24/14 © ILOG, All rights reserved 6 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.
  • 7. 06/24/14 © ILOG, All rights reserved 7 IBM ILOG CP Optimizer for Detailed Scheduling Modeling Language [1,2] Automatic Search [3,4] Efficient search Easy modeling Scheduling applications (Here: [5,6,7]) [5] Danna, Perron: Structured vs. Unstructured Large Neighborhood Search. [6] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling. [7] Refanidis: Managing Personal Tasks with Time Constraints and Preferences. [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.
  • 8. 06/24/14 © ILOG, All rights reserved 8 Problem #1: Flow-shop with Earliness/Tardiness  Classical Flow-Shop Scheduling problem:  n jobs, m machines op[1,1] op[1,2] op[1,3] op[2,1] op[2,2] op[2,3] op[3,1] op[3,2] op[3,3]
  • 9. 06/24/14 © ILOG, All rights reserved 9 Problem #1: Flow-shop with Earliness/Tardiness  Classical Flow-Shop Scheduling problem:  n jobs, m machines  Job release dates ( ), due dates ( ) and weight op[1,1] op[1,2] op[1,3] op[2,1] op[2,2] op[2,3] op[3,1] op[3,2] op[3,3] op[1,1] op[1,2] op[1,3] op[2,3] op[3,1] op[3,2] op[3,3] op[2,1] op[2,2]
  • 10. 06/24/14 © ILOG, All rights reserved 10 Problem #1: Flow-shop with Earliness/Tardiness  The model is using CP Optimizer engine
  • 11. 06/24/14 © ILOG, All rights reserved 11 Problem #1: Flow-shop with Earliness/Tardiness Data  Data reading and computation:  Problem size (n, m)  Job release date (rd), due-date (dd), weight (w)  Operation processing time (pt)  Normalization factor (W)
  • 12. 06/24/14 © ILOG, All rights reserved 12 Problem #1: Flow-shop with Earliness/Tardiness Decisions  Decision variables and expressions:  Operations: 2D array of interval variables  Jobs end time: 1D array of integer expressions
  • 13. 06/24/14 © ILOG, All rights reserved 13 Problem #1: Flow-shop with Earliness/Tardiness Objective  Objective:  Weighted sum of earliness/tardiness costs dd[i] +w[i]/W-w[i]/W
  • 14. 06/24/14 © ILOG, All rights reserved 14 Problem #1: Flow-shop with Earliness/Tardiness Constraints  Constraints:  Release dates of job i (using startOf integer expression)  Precedence constraints between operations of job i  No-overlap of operations on the same machine j
  • 15. 06/24/14 © ILOG, All rights reserved 15 Problem #1: Flow-shop with Earliness/Tardiness  Experimental results  Average improvement:  Compared to GA: 25%  Compared to LNS: 1.7% [5] Danna, Perron: Structured vs. Unstructured Large Neighborhood Search.
  • 16. 06/24/14 © ILOG, All rights reserved 16 Problem #2: Oversubscribed Scheduling  USAF Satellite Control Network scheduling problem [6]  A set of n communication requests for Earth orbiting satellites must be scheduled on a total of 32 antennas spread across 13 ground-based tracking stations.  Objective is to maximize the number of satisfied requests  In the instances, n ranges from to 400 to 1300 [6] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling.
  • 17. 06/24/14 © ILOG, All rights reserved 17 Problem #2: Oversubscribed SchedulingStation1Station2Station3
  • 18. 06/24/14 © ILOG, All rights reserved 18 Problem #2: Oversubscribed SchedulingStation1Station2Station3 Communication requestsTaski
  • 19. 06/24/14 © ILOG, All rights reserved 19 Problem #2: Oversubscribed SchedulingStation1Station2Station3 Taski Alti,1 Alti,2 Alti,3 Alternative assignments to stations  time windows Alti,4 OR
  • 20. 06/24/14 © ILOG, All rights reserved 20 Problem #2: Oversubscribed SchedulingStation1Station2Station3 Alti,1 Alti,2 Alti,4 Alti,3 Selected alternative will use 1 antenna for communication with the satellite Taski
  • 21. 06/24/14 © ILOG, All rights reserved 21 Problem #2: Oversubscribed Scheduling Data  Data reading and computation:  Tuple sets of Stations and Alternative assignments  Tasks: set of tasks of the problem
  • 22. 06/24/14 © ILOG, All rights reserved 22 Problem #2: Oversubscribed Scheduling Decisions  Decision variables:  Tasks: array of optional interval variables  Alternative assignments: array of optional interval variables, each possible assignment is defined with a specific time-window ([smin,emax]) and a size
  • 23. 06/24/14 © ILOG, All rights reserved 23 Problem #2: Oversubscribed Scheduling Objective  Objective:  Maximize number of executed tasks (modeled with a sum of presenceOf constraints)
  • 24. 06/24/14 © ILOG, All rights reserved 24 Problem #2: Oversubscribed Scheduling Constraints  Constraints:  Alternative assignments for a given task t using an alternative constraint  Maximal capacity of stations (number of antennas) using a constrained cumul function
  • 25. 06/24/14 © ILOG, All rights reserved 25 Problem #2: Oversubscribed Scheduling  Experimental Results  In average, compared with SWO, the number of unscheduled tasks is decreased by 5.3% [6] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling.
  • 26. 06/24/14 © ILOG, All rights reserved 26 Problem #3: Personal Tasks Scheduling  Personal tasks scheduling [7]  Schedule a personal agenda composed of n tasks  Integration with Google Calendar available online: http://selfplanner.uom.gr/ [7] Refanidis: Managing Personal Tasks with Time Constraints and Preferences.
  • 27. 06/24/14 © ILOG, All rights reserved 27 Problem #3: Personal Tasks Scheduling  Tasks are preemptive  A task specifies a fixed total processing time  It can be split into one or several parts  Min/max value for the duration of each individual part  Minimal delay between consecutive parts of the same task Min/max duration for each part Part1 Part2 Part3 Task …
  • 28. 06/24/14 © ILOG, All rights reserved 28 Problem #3: Personal Tasks Scheduling  Tasks are preemptive  A task specifies a fixed total processing time  It can be split into one or several parts  Min/max value for the duration of each individual part  Minimal delay between consecutive parts of the same task Part1 Part2 Part3 Task … Min delay between Consecutive task parts
  • 29. 06/24/14 © ILOG, All rights reserved 29 Problem #3: Personal Tasks Scheduling  Each task specifies a set of time-windows where it can be executed Task Task domain Part1 Part2 Part3 …
  • 30. 06/24/14 © ILOG, All rights reserved 30 Problem #3: Personal Tasks Scheduling  Precedence constraints  Locations, distances and transition times Task1 Task3 Task2 Task4 Task2 Task1 Task3 Task5 1 2 3 4
  • 31. 06/24/14 © ILOG, All rights reserved 31 Problem #3: Personal Tasks Scheduling  Objective function: maximize task satisfaction  5 types of task-dependent preference functions: Task Part1 Part2 Part3 …
  • 32. 06/24/14 © ILOG, All rights reserved 32 Problem #3: Personal Tasks Scheduling Data  Data reading:  Tasks characteristics
  • 33. 06/24/14 © ILOG, All rights reserved 33 Problem #3: Personal Tasks Scheduling Data  Data reading:  Distance matrix 1 2 3 4
  • 34. 06/24/14 © ILOG, All rights reserved 34 Problem #3: Personal Tasks Scheduling Data  Data reading:  Task ordering Task1 Task3 Task2
  • 35. 06/24/14 © ILOG, All rights reserved 35 Problem #3: Personal Tasks Scheduling Data  Data computing:  Computation of envelope of possible task parts: there are at most t.dur / t.smin parts for a task t
  • 36. 06/24/14 © ILOG, All rights reserved 36 Problem #3: Personal Tasks Scheduling Data  Data computing:  Step functions for task domains 0 1 holes Part1 Part2 Part3 …
  • 37. 06/24/14 © ILOG, All rights reserved 37 Problem #3: Personal Tasks Scheduling Decisions  Decision variables:  Tasks: array of interval variables  Task parts: array of optional interval variables  Sequence variable defined over all task parts
  • 38. 06/24/14 © ILOG, All rights reserved 38 Problem #3: Personal Tasks Scheduling Objective  Objective function:  Sum of individual task satisfaction  5 types of preference functions (note that some are quadratic) Part1 Part2 Part3 …
  • 39. 06/24/14 © ILOG, All rights reserved 39 Problem #3: Personal Tasks Scheduling Constraints  Constraints:  Task domain 0 1 holes Part1 Part2 Part3 …
  • 40. 06/24/14 © ILOG, All rights reserved 40 Problem #3: Personal Tasks Scheduling Constraints  Constraints:  Task decomposition into parts Task Part1 Part2 Part3 …
  • 41. 06/24/14 © ILOG, All rights reserved 41 Problem #3: Personal Tasks Scheduling Constraints  Constraints:  Ordering constraints Task1 Task3 Task2
  • 42. 06/24/14 © ILOG, All rights reserved 42 Problem #3: Personal Tasks Scheduling Constraints  Constraints:  No-overlap constraint between task parts using transition distance
  • 43. 06/24/14 © ILOG, All rights reserved 43 Problem #3: Personal Tasks Scheduling  Experimental Results  More solutions found for large instances  Average task satisfaction increases from 78% to 87% in average (12.5% improvement) [7] Refanidis: Managing Personal Tasks with Time Constraints and Preferences.
  • 44. 06/24/14 © ILOG, All rights reserved 44 Conclusion  These problems cover many aspects of scheduling … Domain Activity type Resource type Temporal network Objective function Aerospace Manufacturing Project scheduling Non- preemptive Non- preemptive Preemptive Disjunctive Disjunctive Cumulative None Structured (jobs) Unstructured Earliness/ tardiness Scheduled tasks Complex temporal preferences #1#2#3
  • 45. 06/24/14 © ILOG, All rights reserved 45 Conclusion  They can easily be modeled with CP Optimizer … OPL Model size 15 lines 20 lines #1#2#3 42 lines
  • 46. 06/24/14 © ILOG, All rights reserved 46 Conclusion  They can efficiently be solved by CP Optimizer … OPL Model size CPO Automatic search (no parameter tuning) vs. state-of-the-art 15 lines 20 lines 42 lines Competitive with state of the art (GA, LNS) Number of unscheduled tasks decreased by 5% Finds solution to more instances Solution quality increased by 12.5% #1#2#3
  • 47. 06/24/14 © ILOG, All rights reserved 47 Some more results … (compiled in 2007)
  • 48. 06/24/14 © ILOG, All rights reserved 48 Finding out more …  Product page:  http://www-03.ibm.com/software/products/en/ibmilogcpleoptistud/  Trial version  Product documentation  White papers  Presentations  IBM ILOG Optimization Forums / Constraint Programming:  http://www.ibm.com/developerworks/forums/category.jspa?categoryID=268
  • 49. 06/24/14 © ILOG, All rights reserved 49 Finding out more …  Some papers on CP Optimizer (not limited to scheduling) P. Laborie, J. Rogerie, P. Shaw and P. Vilim. "Reasoning with Conditional Time-intervals - Part II: an Algebraical Model for Resources". In Proceedings of the Twenty-Second International FLAIRS Conference. 2009. P. Laborie. "IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems". In Proceedings of the 6th International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CP-AI-OR'09). 2009. P. Vilim. "Max Energy Filtering Algorithm for Discrete Cumulative Resources". In Proceedings of the 6th International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CP-AI-OR'09). 2009. P. Vilim. "Edge finding filtering algorithm for discrete cumulative resources in O(knlog(n))". In Proceedings of the 15th international conference on Principles and practice of constraint programming (CP'09). 2009. P. Laborie and J. Rogerie. "Reasoning with Conditional Time-intervals". In Proceedings of the Twenty-First International FLAIRS Conference. pp555-560. 2008. P. Laborie and D. Godard. "Self-Adapting Large Neighborhood Search: Application to single-mode scheduling problems". In Proceedings of the 3rd Multidisciplinary International Conference on Scheduling: Theory and Applications (MISTA). pp276-284. 2007. P. Vilim. "Global Constraints in Scheduling". PhD thesis. Charles University, Prague. 2007. A. Gargani and P. Refalo. "An Efficient Model and Strategy for the Steel Mill Slab Design Problem". In Proceedings of the 13th international conference on Principles and Practice of Constraint Programming (CP'07). 2007. P. Refalo: ”Impact-Based Search Strategies for Constraint Programming“. In Proceedings of the 10th international conference on Principles and Practice of Constraint Programming (CP'04). 2004. P. Shaw: "A Constraint for Bin Packing". In Proceedings of the 10th international conference on Principles and Practice of Constraint Programming (CP'04). 2004.