SlideShare a Scribd company logo
1 of 32
Download to read offline
© 2012 IBM Corporation
Conditional interval variables
A powerful concept for modeling and
solving complex scheduling problems
Philippe Laborie – Principal Scientist, Developer IBM ILOG CPLEX Optimization Studio – 20 Aug. 2012 – ISMP 2012
© 2012 IBM Corporation
2
Agenda
 What is it for ?
 What is it ?
 How is it used ?
 How does it work ?
 How can I go further ?
Conditional interval variables
© 2012 IBM Corporation
3
Scheduling is not only about deciding start and end times
for a predefined set of activities
Real-world scheduling problems often involve:
 Optional activities or sub-projects (oversubscribed problems)
 Resource or mode allocation
 Alternative paths / recipes
 Activity splitting (pre-emptive)
 Activities / Intervals of time defined by some conditions :
– A given resource is used / idle
– An inventory is below a given level
– Equipment setup / maintenance activities
The notion of a conditional interval variable (in short: interval variable) makes it
possible/easier to capture those real-world features in an optimization model
Conditional interval variables : What is it for ?
© 2012 IBM Corporation
4
Scheduling is not only about deciding start and end times
for a predefined set of activities
The notion of a conditional interval variable (in short: interval variable) makes it
possible/easier to capture those real-world features in an optimization model
 An interval variable is a kind of 2-dimensional decision variable :
– Logical dimension: decision on a 0/1 presence value
(condition for the presence of the interval)
– Temporal dimension: decision on interval start and end values
 Interval variables were introduced in [1,2]. They form the foundation of the new generation of
scheduling model and algorithms provided in IBM ILOG CPLEX Optimization Studio (CP
Optimizer engine).
Conditional interval variables : What is it for ?
[1] Reasoning with Conditional Time-intervals. FLAIRS-2008.
[2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-2009.
© 2012 IBM Corporation
5
Agenda
 What is it for ?
 What is it ?
 How is it used ?
 How does it work ?
 How can I go further ?
Conditional interval variables
© 2012 IBM Corporation
6
Formal definition
 An interval variable is a new type of decision variable (just like floating point variables in LP
or integer variables in MIP/CP):
 The domain of possible values for an interval variable a is of the form:
Domain(a)  {}  { [s,e) | s,e, s≤e }
 Let a be a fixed interval variable:
– If a= we say that a is absent
– Otherwise (a is present), a=[s,e) and
s (resp. e) denote the start (resp. end) value of a.
e-s is the length of interval a.
Conditional interval variables : What is it ?
© 2012 IBM Corporation
7
First example: (optional) activities
 Examples in this presentation are illustrated on small CPLEX Optimization Studio OPL
models.
 The following interval variable a could model an activity of processing time 10 to be executed
in a time-window [30,60).
Domain(a) = { [s,e) | 30s, e60, e-s=10 }
 The following interval variable b could model an optional activity of processing time 10 that,
if executed, must be executed in a time-window [30,60).
Domain(a) = {}  { [s,e) | 30s, e60, e-s=10 }
Conditional interval variables : What is it ?
© 2012 IBM Corporation
8
Overview of the other modeling concepts
 IBM ILOG CPLEX Optimization Studio provides the notion of interval variable together with a
set of expressions and constraints over them:
– Intervals variables a,b,c,…
– Integer expressions startOf(a, absVal), startEval(f, a, absVal), …
– Logical constraints presenceOf(a) => presenceOf(b)
– Precedence constraints endBeforeStart(a, b, delay)
– Decomposition constraints span(a, {b1,…bn})
– Alternative constraints alternative(a, {b1,…bn})
– No-overlap constraints noOverlap({b1,…,bn})
– Cumul functions sum(i in 1..n) pulse(bi,qi) <= Q
– State functions alwaysEqual(stateFunction, a, stateValue)
 We will see some of them in the examples …
Conditional interval variables : What is it ?
© 2012 IBM Corporation
9
Agenda
 What is it for ?
 What is it ?
 How is it used ?
 How does it work ?
 How can I go further ?
Conditional interval variables
© 2012 IBM Corporation
10
Oversubscribed scheduling problems
 Schedule as many activities as possible
Conditional interval variables : How is it used ?
© 2012 IBM Corporation
11
Oversubscribed scheduling problems
 Schedule as many activities as possible
 Minimize cost of non-processed activities
Conditional interval variables : How is it used ?
© 2012 IBM Corporation
12
Alternative resources
 Resource allocation: activity a[i] needs one resource to be selected among m ones
Conditional interval variables : How is it used ?
© 2012 IBM Corporation
13
Alternative resources
 Resource allocation: activity a[i] needs one resource to be selected among m ones
 Conditional interval variables make it easy to specify :
– Activity duration that depends on the allocated resource
Conditional interval variables : How is it used ?
© 2012 IBM Corporation
14
Alternative resources
 Resource allocation: activity a[i] needs one resource to be selected among m ones
 Conditional interval variables make it easy to specify :
– Activity duration that depends on the allocated resource
– Allocation costs
Conditional interval variables : How is it used ?
© 2012 IBM Corporation
15
Alternative resources
 Resource allocation: activity a[i] needs one resource to be selected among m ones
 Conditional interval variables make it easy to specify :
– Activity duration that depends on the allocated resource
– Allocation costs
– Optional activities with non-processing cost
Conditional interval variables : How is it used ?
© 2012 IBM Corporation
16
Alternative modes / recipes / projects
 Optional interval variables used to represent an alternative way of executing an activity are
not restricted to use a single resource, they can represent a much more complex process …
– Alternative resources
– Alternative modes
– Alternative recipes/projects
– Alternatives in work breakdown structures
Conditional interval variables : How is it used ?
alt[i][1] alt[i][2] alt[i][m]
R1
a[i]
alternative
R2 R3
© 2012 IBM Corporation
17
Alternative modes / recipes / projects
 Optional interval variables used to represent an alternative way of executing an activity are
not restricted to use a single resource, they can represent a much more complex process …
– Alternative resources
– Alternative modes
– Alternative recipes/projects
– Alternatives in work breakdown structures
Conditional interval variables : How is it used ?
alt[i][1] alt[i][2] alt[i][m]
R1
a[i]
alternative
R1
R2 R3
R4
© 2012 IBM Corporation
18
Alternative modes / recipes / projects
 Optional interval variables used to represent an alternative way of executing an activity are
not restricted to use a single resource, they can represent a much more complex process …
– Alternative resources
– Alternative modes
– Alternative recipes/projects
– Alternatives in work breakdown structures
Conditional interval variables : How is it used ?
alt[i][1] alt[i][2] alt[i][m]
a[i]
alternative
R1 R2
R4
R3
R1
R3
R2R1
© 2012 IBM Corporation
19
Alternative modes / recipes / projects
 Optional interval variables used to represent an alternative way of executing an activity are
not restricted to use a single resource, they can represent a much more complex process …
– Alternative resources
– Alternative modes
– Alternative recipes/projects
– Hierarchical alternatives (work breakdown structures)
Conditional interval variables : How is it used ?
alt[i][1] alt[i][2] alt[i][m]
a[i]
alternative
R1 R2
R4
R3
R1
R3
R2R1
b[i]
alternative
R3
R1
R3
R2R1
c[i]
alternative
© 2012 IBM Corporation
20
Preemptable activities
 Activity can be preempted at most n times, activity parts should last at most smin
Conditional interval variables : How is it used ?
part[0] part[1] part[n]
a
part[2]
© 2012 IBM Corporation
21
Other use-cases
 Maintenance activities executed when some conditions are met (e.g. need to clean after a
certain amount of production Q)
 Setup activities on resources
 …
Conditional interval variables : How is it used ?
clean[0] clean[1] clean[2]
level
level  Q
level+=qi
level-=[1..Q]
prod prod prod prodprod prod prod
© 2012 IBM Corporation
22
Agenda
 What is it for ?
 What is it ?
 How is it used ?
 How does it work ?
 How can I go further ?
Conditional interval variables
© 2012 IBM Corporation
23
Search
 Constrained-Based Scheduling resolution methods are extended to handle conditional
interval variables:
– Constraint propagation
• Strong propagation on conditional bounds of interval variables
• Extension of classical Constrained-Based Scheduling propagation algorithms
(timetabling, edge-finding, …)
– Branching scheme and branching strategies in tree search
• Mixing fixation of presence status and start/end values of interval variables
• Linear relaxation to compute indicative presence statuses / start, end values
– Large-Neighborhood Search
• LNS Fragments based on topology of the logical constraint network
Conditional interval variables : How does it work ?
© 2012 IBM Corporation
24
Search
 Constrained-Based Scheduling resolution methods are extended to handle conditional
interval variables:
– Constraint propagation
• Strong propagation on conditional bounds of interval variables
• Extension of classical Constrained-Based Scheduling propagation algorithms
(timetabling, edge-finding, …)
– Branching scheme and branching strategies in tree search
• Mixing fixation of presence status and start/end values of interval variables
• Linear relaxation to compute indicative presence statuses / start, end values
– Large-Neighborhood Search
• LNS Fragments based on topology of the logical constraint network
Conditional interval variables : How does it work ?
© 2012 IBM Corporation
25
Constraint propagation
 Conditional interval variable domain representation: tuple of ranges:
– [xmin,xmax] [0,1]: current presence status
– [smin,smax]  ℤ: conditional domain of start value would the interval be present
– [emin,emax]  ℤ: conditional domain of end value would the interval be present
– [dmin,dmax]  ℤ+
: conditional domain of size value would the interval be present
Conditional interval variables : How does it work ?
© 2012 IBM Corporation
26
Constraint propagation
 Logical constraints network :
– Logical constraints are aggregated in an implication graph: all 2-SAT logical constraints
[¬] presenceOf(a)  [¬] presenceOf(b) are translated as implications
( ¬[¬] presenceOf(a)  [¬] presenceOf(b) )
– Incremental transitive closure of the implication graph allows detecting infeasibilities
and querying in O(1) whether presenceOf(a)presenceOf(b) for any (a,b)
Conditional interval variables : How does it work ?
© 2012 IBM Corporation
27
Constraint propagation
 Precedence constraints network :
– Precedence constraints are aggregated in a temporal network
– Conditional reasoning:
– Propagation on the conditional bounds of a (would a be present) can assume that b will
be present too, thus: emax(a) min(emax(a), smax(b))
– Bounds are propagated even on interval variables with still undecided execution
status !
Conditional interval variables : How does it work ?
endBeforeStart(a,b)
From logical network
presenceOf(a)presenceOf(b)
a b
© 2012 IBM Corporation
28
Constraint propagation
 Precedence constraints network :
– Precedence constraints are aggregated in a temporal network
– Conditional reasoning:
– Propagation on the conditional bounds of a (would a be present) can assume that b will
be present too, thus: emax(a) min(emax(a), smax(b))
– Bounds are propagated even on interval variables with still undecided execution
status !
Conditional interval variables : How does it work ?
endBeforeStart(a,b)
From logical network
presenceOf(a)presenceOf(b)
a b
a[0] a[1] a[n]a[2]
lmin=10 lmin=10 lmin=10 lmin=10
0 H
© 2012 IBM Corporation
29
Constraint propagation
 Precedence constraints network :
– Precedence constraints are aggregated in a temporal network
– Conditional reasoning:
– Propagation on the conditional bounds of a (would a be present) can assume that b will
be present too, thus: emax(a) min(emax(a), smax(b))
– Bounds are propagated even on interval variables with still undecided execution
status !
Conditional interval variables : How does it work ?
endBeforeStart(a,b)
From logical network
presenceOf(a)presenceOf(b)
a b
a[0] a[1] a[n]a[2]
lmin=10 lmin=10 lmin=10 lmin=10
0 Hsmin=10
emax=H
smin=20
emax=H
smin=10*n
emax=H
smin=0
emax=H
© 2012 IBM Corporation
30
Implementation in IBM ILOG CPLEX Optimization Studio
 Conditional interval variables are the foundation of the constraint-based scheduling model
provided in CP Optimizer.
 This powerful modeling language is associated with an efficient automatic search (Model &
Solve paradigm)
 First version with conditional interval variables was released in 2008
 Since then, 6 versions have been released with continuous improvements
– Improvement of automatic search performance & robustness
– Small API extensions when necessary (new expressions or constraints)
 Used in numerous industrial scheduling applications
 Current version: V12.4
Conditional interval variables : How does it work ?
© 2012 IBM Corporation
31
Agenda
 What is it for ?
 What is it ?
 How is it used ?
 How does it work ?
 How can I go further ?
Conditional interval variables
© 2012 IBM Corporation
32
If you decide to go further …
 With the concepts and the model:
– P. Laborie & J. Rogerie. Reasoning with Conditional Time-intervals. Proc. FLAIRS-2008.
– P. Laborie, J. Rogerie. P. Shaw & P. Vilím. Reasoning with Conditional Time-intervals,
Part II: an Algebraical Model for Resources. Proc. FLAIRS-2009
 With the solving techniques:
– Attend Paul Shaw’s presentation tomorrow :
Cluster: Implementations and software, Tuesday, August 21st
13:15 - 14:45, room: H 1058, Software for constraint programming
Automatic search in CP Optimizer
– P. Laborie & D. Godard. Self-Adapting Large Neighborhood Search: Application to Single-
mode Scheduling Problems. Proc. MISTA-2007.
 With some more complex models:
– P. Laborie. IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems.
Proc. CPAIOR-2009.
 With IBM ILOG CPLEX Optimization Studio:
– http://www-03.ibm.com/software/products/en/ibmilogcpleoptistud/
– Optimization Forum: search for “IBM Optimization Forum”
Conditional interval variables: How can I go further ?

More Related Content

What's hot

A (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingA (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingPhilippe Laborie
 
Innovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilitiesInnovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilitiesIBM Decision Optimization
 
Constraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in SchedulingConstraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in SchedulingEray Cakici
 
Maximo Planning & Scheduling - BPD Zenith Presentation
Maximo Planning & Scheduling - BPD Zenith PresentationMaximo Planning & Scheduling - BPD Zenith Presentation
Maximo Planning & Scheduling - BPD Zenith PresentationHelen Fisher
 
Architecting Next Generatio IT Operating Models Using IT4IT and SFIA
Architecting Next Generatio IT Operating Models Using IT4IT and SFIAArchitecting Next Generatio IT Operating Models Using IT4IT and SFIA
Architecting Next Generatio IT Operating Models Using IT4IT and SFIASukumar Daniel
 
CICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 OverviewCICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 OverviewRobert Jones
 
MBSE with Arcadia method step-by-step Operational Analysis.pdf
MBSE with Arcadia method step-by-step Operational Analysis.pdfMBSE with Arcadia method step-by-step Operational Analysis.pdf
MBSE with Arcadia method step-by-step Operational Analysis.pdfHelder Castro
 
KSCope 2013 - Balance Sheet Reporting - Design Consideration - KSCope Format
KSCope 2013 - Balance Sheet Reporting - Design Consideration - KSCope FormatKSCope 2013 - Balance Sheet Reporting - Design Consideration - KSCope Format
KSCope 2013 - Balance Sheet Reporting - Design Consideration - KSCope FormatAlexandre SERAN
 
From Principles to Strategies for Systems Engineering
From Principles to Strategies for Systems EngineeringFrom Principles to Strategies for Systems Engineering
From Principles to Strategies for Systems EngineeringGlen Alleman
 
ValueFlowIT: A new IT Operating Model Emerges
ValueFlowIT: A new IT Operating Model EmergesValueFlowIT: A new IT Operating Model Emerges
ValueFlowIT: A new IT Operating Model EmergesDavid Favelle
 
Using FMI (Functional Mock-up Interface) for MBSE at all steps of System Design
Using FMI (Functional Mock-up Interface) for MBSE at all steps of System DesignUsing FMI (Functional Mock-up Interface) for MBSE at all steps of System Design
Using FMI (Functional Mock-up Interface) for MBSE at all steps of System DesignSiemens PLM Software
 
It's Time to Reassess Your FDM Mappings
It's Time to Reassess Your FDM MappingsIt's Time to Reassess Your FDM Mappings
It's Time to Reassess Your FDM MappingsAlithya
 
Understanding ITIL CMDB
Understanding ITIL CMDBUnderstanding ITIL CMDB
Understanding ITIL CMDBManageEngine
 

What's hot (20)

A (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for SchedulingA (Not So Short) Introduction to CP Optimizer for Scheduling
A (Not So Short) Introduction to CP Optimizer for Scheduling
 
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
 
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
 
Definition of ready
Definition of readyDefinition of ready
Definition of ready
 
Sap plm ppt
Sap plm pptSap plm ppt
Sap plm ppt
 
Maximo Planning & Scheduling - BPD Zenith Presentation
Maximo Planning & Scheduling - BPD Zenith PresentationMaximo Planning & Scheduling - BPD Zenith Presentation
Maximo Planning & Scheduling - BPD Zenith Presentation
 
Architecting Next Generatio IT Operating Models Using IT4IT and SFIA
Architecting Next Generatio IT Operating Models Using IT4IT and SFIAArchitecting Next Generatio IT Operating Models Using IT4IT and SFIA
Architecting Next Generatio IT Operating Models Using IT4IT and SFIA
 
CICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 OverviewCICS Transaction Gateway V9.1 Overview
CICS Transaction Gateway V9.1 Overview
 
MBSE with Arcadia method step-by-step Operational Analysis.pdf
MBSE with Arcadia method step-by-step Operational Analysis.pdfMBSE with Arcadia method step-by-step Operational Analysis.pdf
MBSE with Arcadia method step-by-step Operational Analysis.pdf
 
KSCope 2013 - Balance Sheet Reporting - Design Consideration - KSCope Format
KSCope 2013 - Balance Sheet Reporting - Design Consideration - KSCope FormatKSCope 2013 - Balance Sheet Reporting - Design Consideration - KSCope Format
KSCope 2013 - Balance Sheet Reporting - Design Consideration - KSCope Format
 
Maximo overview
Maximo overviewMaximo overview
Maximo overview
 
Jcl faqs
Jcl faqsJcl faqs
Jcl faqs
 
From Principles to Strategies for Systems Engineering
From Principles to Strategies for Systems EngineeringFrom Principles to Strategies for Systems Engineering
From Principles to Strategies for Systems Engineering
 
ValueFlowIT: A new IT Operating Model Emerges
ValueFlowIT: A new IT Operating Model EmergesValueFlowIT: A new IT Operating Model Emerges
ValueFlowIT: A new IT Operating Model Emerges
 
Using FMI (Functional Mock-up Interface) for MBSE at all steps of System Design
Using FMI (Functional Mock-up Interface) for MBSE at all steps of System DesignUsing FMI (Functional Mock-up Interface) for MBSE at all steps of System Design
Using FMI (Functional Mock-up Interface) for MBSE at all steps of System Design
 
Introduction to optimization Problems
Introduction to optimization ProblemsIntroduction to optimization Problems
Introduction to optimization Problems
 
It's Time to Reassess Your FDM Mappings
It's Time to Reassess Your FDM MappingsIt's Time to Reassess Your FDM Mappings
It's Time to Reassess Your FDM Mappings
 
Module 2 plant design
Module 2  plant designModule 2  plant design
Module 2 plant design
 
bat algorithm
bat algorithmbat algorithm
bat algorithm
 
Understanding ITIL CMDB
Understanding ITIL CMDBUnderstanding ITIL CMDB
Understanding ITIL CMDB
 

Viewers also liked

An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP OptimizerPhilippe Laborie
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer WalkthroughPaulShawIBM
 
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
 
Reasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsReasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsPhilippe 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
 
Product Mix Optimization Case Study - OPL/ CPLEX Code
Product Mix Optimization Case Study - OPL/ CPLEX Code Product Mix Optimization Case Study - OPL/ CPLEX Code
Product Mix Optimization Case Study - OPL/ CPLEX Code OptiRisk India
 
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
 
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 Studiooptimizatiodirectdirect
 
Informs 2016 Solving Planning and Scheduling Problems with CPLEX
Informs 2016 Solving Planning and Scheduling Problems with CPLEX Informs 2016 Solving Planning and Scheduling Problems with CPLEX
Informs 2016 Solving Planning and Scheduling Problems with CPLEX Alkis Vazacopoulos
 
Optimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studiesOptimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studiesAlkis Vazacopoulos
 

Viewers also liked (14)

An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
Cp04invitedslide
Cp04invitedslideCp04invitedslide
Cp04invitedslide
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
Optimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsOptimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applications
 
Reasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervalsReasoning with Conditional Time-intervals
Reasoning with Conditional Time-intervals
 
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
 
Opl
OplOpl
Opl
 
Product Mix Optimization Case Study - OPL/ CPLEX Code
Product Mix Optimization Case Study - OPL/ CPLEX Code Product Mix Optimization Case Study - OPL/ CPLEX Code
Product Mix Optimization Case Study - OPL/ CPLEX Code
 
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 ...
 
Lessonslearnedeuro
LessonslearnedeuroLessonslearnedeuro
Lessonslearnedeuro
 
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
 
Informs 2016 Solving Planning and Scheduling Problems with CPLEX
Informs 2016 Solving Planning and Scheduling Problems with CPLEX Informs 2016 Solving Planning and Scheduling Problems with CPLEX
Informs 2016 Solving Planning and Scheduling Problems with CPLEX
 
Optimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studiesOptimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studies
 
Présentation Cplex
Présentation CplexPrésentation Cplex
Présentation Cplex
 

Similar to Conditional interval variables: A powerful concept for modeling and solving complex scheduling problems

Concurrent Root Cut Loops to Exploit Random Performance Variability
Concurrent Root Cut Loops to Exploit Random Performance VariabilityConcurrent Root Cut Loops to Exploit Random Performance Variability
Concurrent Root Cut Loops to Exploit Random Performance VariabilityIBM Decision Optimization
 
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
 
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:...IRJET Journal
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsbabak danyal
 
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)Nesma
 
Appendix A: Introduction to Collaborative Lifecycle Management
Appendix A: Introduction to Collaborative Lifecycle ManagementAppendix A: Introduction to Collaborative Lifecycle Management
Appendix A: Introduction to Collaborative Lifecycle ManagementIBM Rational software
 
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...Aalto University
 
Resource planning for QC labs, R&D, RA, or multi- project environments
Resource planning for QC labs, R&D, RA, or multi- project environmentsResource planning for QC labs, R&D, RA, or multi- project environments
Resource planning for QC labs, R&D, RA, or multi- project environmentsGeert Vanhove
 
3wis_2.pdf
3wis_2.pdf3wis_2.pdf
3wis_2.pdfaustdali
 
HPC Deployment / Use Cases (EVEREST + DAPHNE: Workshop on Design and Programm...
HPC Deployment / Use Cases (EVEREST + DAPHNE: Workshop on Design and Programm...HPC Deployment / Use Cases (EVEREST + DAPHNE: Workshop on Design and Programm...
HPC Deployment / Use Cases (EVEREST + DAPHNE: Workshop on Design and Programm...University of Maribor
 
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptxUNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptxMinilikDerseh1
 
Final hrm project 2003
Final hrm project 2003Final hrm project 2003
Final hrm project 2003Adil Shaikh
 
Learning Software Performance Models for Dynamic and Uncertain Environments
Learning Software Performance Models for Dynamic and Uncertain EnvironmentsLearning Software Performance Models for Dynamic and Uncertain Environments
Learning Software Performance Models for Dynamic and Uncertain EnvironmentsPooyan Jamshidi
 
Building Domain-Specific Decision Models
Building Domain-Specific Decision ModelsBuilding Domain-Specific Decision Models
Building Domain-Specific Decision ModelsJacob Feldman
 
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision ModelsDecision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision ModelsDecision CAMP
 
Chapter 2.Linear Programming.pdf
Chapter 2.Linear Programming.pdfChapter 2.Linear Programming.pdf
Chapter 2.Linear Programming.pdfTsegay Berhe
 
Dynamic System Development
Dynamic System DevelopmentDynamic System Development
Dynamic System DevelopmentZeeshan Tariq
 
An Enhanced Throttled Load Balancing Approach for Cloud Environment
An Enhanced Throttled Load Balancing Approach for Cloud EnvironmentAn Enhanced Throttled Load Balancing Approach for Cloud Environment
An Enhanced Throttled Load Balancing Approach for Cloud EnvironmentIRJET Journal
 

Similar to Conditional interval variables: A powerful concept for modeling and solving complex scheduling problems (20)

Concurrent Root Cut Loops to Exploit Random Performance Variability
Concurrent Root Cut Loops to Exploit Random Performance VariabilityConcurrent Root Cut Loops to Exploit Random Performance Variability
Concurrent Root Cut Loops to Exploit Random Performance Variability
 
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...
 
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:...
 
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation modelsSe 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
Se 381 - lec 25 - 32 - 12 may29 - program size and cost estimation models
 
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)Iwsm2014   cosmic approximate sizing using a fuzzy logic approach (alain abran)
Iwsm2014 cosmic approximate sizing using a fuzzy logic approach (alain abran)
 
Appendix A: Introduction to Collaborative Lifecycle Management
Appendix A: Introduction to Collaborative Lifecycle ManagementAppendix A: Introduction to Collaborative Lifecycle Management
Appendix A: Introduction to Collaborative Lifecycle Management
 
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
 
Resource planning for QC labs, R&D, RA, or multi- project environments
Resource planning for QC labs, R&D, RA, or multi- project environmentsResource planning for QC labs, R&D, RA, or multi- project environments
Resource planning for QC labs, R&D, RA, or multi- project environments
 
Metrics
MetricsMetrics
Metrics
 
3wis_2.pdf
3wis_2.pdf3wis_2.pdf
3wis_2.pdf
 
HPC Deployment / Use Cases (EVEREST + DAPHNE: Workshop on Design and Programm...
HPC Deployment / Use Cases (EVEREST + DAPHNE: Workshop on Design and Programm...HPC Deployment / Use Cases (EVEREST + DAPHNE: Workshop on Design and Programm...
HPC Deployment / Use Cases (EVEREST + DAPHNE: Workshop on Design and Programm...
 
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptxUNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
 
Final hrm project 2003
Final hrm project 2003Final hrm project 2003
Final hrm project 2003
 
Learning Software Performance Models for Dynamic and Uncertain Environments
Learning Software Performance Models for Dynamic and Uncertain EnvironmentsLearning Software Performance Models for Dynamic and Uncertain Environments
Learning Software Performance Models for Dynamic and Uncertain Environments
 
Building Domain-Specific Decision Models
Building Domain-Specific Decision ModelsBuilding Domain-Specific Decision Models
Building Domain-Specific Decision Models
 
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision ModelsDecision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
Decision CAMP 2014 - Jacob Feldman - Building Domain-Specific Decision Models
 
Chapter 2.Linear Programming.pdf
Chapter 2.Linear Programming.pdfChapter 2.Linear Programming.pdf
Chapter 2.Linear Programming.pdf
 
Dynamic System Development
Dynamic System DevelopmentDynamic System Development
Dynamic System Development
 
An Enhanced Throttled Load Balancing Approach for Cloud Environment
An Enhanced Throttled Load Balancing Approach for Cloud EnvironmentAn Enhanced Throttled Load Balancing Approach for Cloud Environment
An Enhanced Throttled Load Balancing Approach for Cloud Environment
 

More from Philippe Laborie

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

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

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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?Igalia
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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 Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 2024Rafal Los
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 

Conditional interval variables: A powerful concept for modeling and solving complex scheduling problems

  • 1. © 2012 IBM Corporation Conditional interval variables A powerful concept for modeling and solving complex scheduling problems Philippe Laborie – Principal Scientist, Developer IBM ILOG CPLEX Optimization Studio – 20 Aug. 2012 – ISMP 2012
  • 2. © 2012 IBM Corporation 2 Agenda  What is it for ?  What is it ?  How is it used ?  How does it work ?  How can I go further ? Conditional interval variables
  • 3. © 2012 IBM Corporation 3 Scheduling is not only about deciding start and end times for a predefined set of activities Real-world scheduling problems often involve:  Optional activities or sub-projects (oversubscribed problems)  Resource or mode allocation  Alternative paths / recipes  Activity splitting (pre-emptive)  Activities / Intervals of time defined by some conditions : – A given resource is used / idle – An inventory is below a given level – Equipment setup / maintenance activities The notion of a conditional interval variable (in short: interval variable) makes it possible/easier to capture those real-world features in an optimization model Conditional interval variables : What is it for ?
  • 4. © 2012 IBM Corporation 4 Scheduling is not only about deciding start and end times for a predefined set of activities The notion of a conditional interval variable (in short: interval variable) makes it possible/easier to capture those real-world features in an optimization model  An interval variable is a kind of 2-dimensional decision variable : – Logical dimension: decision on a 0/1 presence value (condition for the presence of the interval) – Temporal dimension: decision on interval start and end values  Interval variables were introduced in [1,2]. They form the foundation of the new generation of scheduling model and algorithms provided in IBM ILOG CPLEX Optimization Studio (CP Optimizer engine). Conditional interval variables : What is it for ? [1] Reasoning with Conditional Time-intervals. FLAIRS-2008. [2] Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. FLAIRS-2009.
  • 5. © 2012 IBM Corporation 5 Agenda  What is it for ?  What is it ?  How is it used ?  How does it work ?  How can I go further ? Conditional interval variables
  • 6. © 2012 IBM Corporation 6 Formal definition  An interval variable is a new type of decision variable (just like floating point variables in LP or integer variables in MIP/CP):  The domain of possible values for an interval variable a is of the form: Domain(a)  {}  { [s,e) | s,e, s≤e }  Let a be a fixed interval variable: – If a= we say that a is absent – Otherwise (a is present), a=[s,e) and s (resp. e) denote the start (resp. end) value of a. e-s is the length of interval a. Conditional interval variables : What is it ?
  • 7. © 2012 IBM Corporation 7 First example: (optional) activities  Examples in this presentation are illustrated on small CPLEX Optimization Studio OPL models.  The following interval variable a could model an activity of processing time 10 to be executed in a time-window [30,60). Domain(a) = { [s,e) | 30s, e60, e-s=10 }  The following interval variable b could model an optional activity of processing time 10 that, if executed, must be executed in a time-window [30,60). Domain(a) = {}  { [s,e) | 30s, e60, e-s=10 } Conditional interval variables : What is it ?
  • 8. © 2012 IBM Corporation 8 Overview of the other modeling concepts  IBM ILOG CPLEX Optimization Studio provides the notion of interval variable together with a set of expressions and constraints over them: – Intervals variables a,b,c,… – Integer expressions startOf(a, absVal), startEval(f, a, absVal), … – Logical constraints presenceOf(a) => presenceOf(b) – Precedence constraints endBeforeStart(a, b, delay) – Decomposition constraints span(a, {b1,…bn}) – Alternative constraints alternative(a, {b1,…bn}) – No-overlap constraints noOverlap({b1,…,bn}) – Cumul functions sum(i in 1..n) pulse(bi,qi) <= Q – State functions alwaysEqual(stateFunction, a, stateValue)  We will see some of them in the examples … Conditional interval variables : What is it ?
  • 9. © 2012 IBM Corporation 9 Agenda  What is it for ?  What is it ?  How is it used ?  How does it work ?  How can I go further ? Conditional interval variables
  • 10. © 2012 IBM Corporation 10 Oversubscribed scheduling problems  Schedule as many activities as possible Conditional interval variables : How is it used ?
  • 11. © 2012 IBM Corporation 11 Oversubscribed scheduling problems  Schedule as many activities as possible  Minimize cost of non-processed activities Conditional interval variables : How is it used ?
  • 12. © 2012 IBM Corporation 12 Alternative resources  Resource allocation: activity a[i] needs one resource to be selected among m ones Conditional interval variables : How is it used ?
  • 13. © 2012 IBM Corporation 13 Alternative resources  Resource allocation: activity a[i] needs one resource to be selected among m ones  Conditional interval variables make it easy to specify : – Activity duration that depends on the allocated resource Conditional interval variables : How is it used ?
  • 14. © 2012 IBM Corporation 14 Alternative resources  Resource allocation: activity a[i] needs one resource to be selected among m ones  Conditional interval variables make it easy to specify : – Activity duration that depends on the allocated resource – Allocation costs Conditional interval variables : How is it used ?
  • 15. © 2012 IBM Corporation 15 Alternative resources  Resource allocation: activity a[i] needs one resource to be selected among m ones  Conditional interval variables make it easy to specify : – Activity duration that depends on the allocated resource – Allocation costs – Optional activities with non-processing cost Conditional interval variables : How is it used ?
  • 16. © 2012 IBM Corporation 16 Alternative modes / recipes / projects  Optional interval variables used to represent an alternative way of executing an activity are not restricted to use a single resource, they can represent a much more complex process … – Alternative resources – Alternative modes – Alternative recipes/projects – Alternatives in work breakdown structures Conditional interval variables : How is it used ? alt[i][1] alt[i][2] alt[i][m] R1 a[i] alternative R2 R3
  • 17. © 2012 IBM Corporation 17 Alternative modes / recipes / projects  Optional interval variables used to represent an alternative way of executing an activity are not restricted to use a single resource, they can represent a much more complex process … – Alternative resources – Alternative modes – Alternative recipes/projects – Alternatives in work breakdown structures Conditional interval variables : How is it used ? alt[i][1] alt[i][2] alt[i][m] R1 a[i] alternative R1 R2 R3 R4
  • 18. © 2012 IBM Corporation 18 Alternative modes / recipes / projects  Optional interval variables used to represent an alternative way of executing an activity are not restricted to use a single resource, they can represent a much more complex process … – Alternative resources – Alternative modes – Alternative recipes/projects – Alternatives in work breakdown structures Conditional interval variables : How is it used ? alt[i][1] alt[i][2] alt[i][m] a[i] alternative R1 R2 R4 R3 R1 R3 R2R1
  • 19. © 2012 IBM Corporation 19 Alternative modes / recipes / projects  Optional interval variables used to represent an alternative way of executing an activity are not restricted to use a single resource, they can represent a much more complex process … – Alternative resources – Alternative modes – Alternative recipes/projects – Hierarchical alternatives (work breakdown structures) Conditional interval variables : How is it used ? alt[i][1] alt[i][2] alt[i][m] a[i] alternative R1 R2 R4 R3 R1 R3 R2R1 b[i] alternative R3 R1 R3 R2R1 c[i] alternative
  • 20. © 2012 IBM Corporation 20 Preemptable activities  Activity can be preempted at most n times, activity parts should last at most smin Conditional interval variables : How is it used ? part[0] part[1] part[n] a part[2]
  • 21. © 2012 IBM Corporation 21 Other use-cases  Maintenance activities executed when some conditions are met (e.g. need to clean after a certain amount of production Q)  Setup activities on resources  … Conditional interval variables : How is it used ? clean[0] clean[1] clean[2] level level  Q level+=qi level-=[1..Q] prod prod prod prodprod prod prod
  • 22. © 2012 IBM Corporation 22 Agenda  What is it for ?  What is it ?  How is it used ?  How does it work ?  How can I go further ? Conditional interval variables
  • 23. © 2012 IBM Corporation 23 Search  Constrained-Based Scheduling resolution methods are extended to handle conditional interval variables: – Constraint propagation • Strong propagation on conditional bounds of interval variables • Extension of classical Constrained-Based Scheduling propagation algorithms (timetabling, edge-finding, …) – Branching scheme and branching strategies in tree search • Mixing fixation of presence status and start/end values of interval variables • Linear relaxation to compute indicative presence statuses / start, end values – Large-Neighborhood Search • LNS Fragments based on topology of the logical constraint network Conditional interval variables : How does it work ?
  • 24. © 2012 IBM Corporation 24 Search  Constrained-Based Scheduling resolution methods are extended to handle conditional interval variables: – Constraint propagation • Strong propagation on conditional bounds of interval variables • Extension of classical Constrained-Based Scheduling propagation algorithms (timetabling, edge-finding, …) – Branching scheme and branching strategies in tree search • Mixing fixation of presence status and start/end values of interval variables • Linear relaxation to compute indicative presence statuses / start, end values – Large-Neighborhood Search • LNS Fragments based on topology of the logical constraint network Conditional interval variables : How does it work ?
  • 25. © 2012 IBM Corporation 25 Constraint propagation  Conditional interval variable domain representation: tuple of ranges: – [xmin,xmax] [0,1]: current presence status – [smin,smax]  ℤ: conditional domain of start value would the interval be present – [emin,emax]  ℤ: conditional domain of end value would the interval be present – [dmin,dmax]  ℤ+ : conditional domain of size value would the interval be present Conditional interval variables : How does it work ?
  • 26. © 2012 IBM Corporation 26 Constraint propagation  Logical constraints network : – Logical constraints are aggregated in an implication graph: all 2-SAT logical constraints [¬] presenceOf(a)  [¬] presenceOf(b) are translated as implications ( ¬[¬] presenceOf(a)  [¬] presenceOf(b) ) – Incremental transitive closure of the implication graph allows detecting infeasibilities and querying in O(1) whether presenceOf(a)presenceOf(b) for any (a,b) Conditional interval variables : How does it work ?
  • 27. © 2012 IBM Corporation 27 Constraint propagation  Precedence constraints network : – Precedence constraints are aggregated in a temporal network – Conditional reasoning: – Propagation on the conditional bounds of a (would a be present) can assume that b will be present too, thus: emax(a) min(emax(a), smax(b)) – Bounds are propagated even on interval variables with still undecided execution status ! Conditional interval variables : How does it work ? endBeforeStart(a,b) From logical network presenceOf(a)presenceOf(b) a b
  • 28. © 2012 IBM Corporation 28 Constraint propagation  Precedence constraints network : – Precedence constraints are aggregated in a temporal network – Conditional reasoning: – Propagation on the conditional bounds of a (would a be present) can assume that b will be present too, thus: emax(a) min(emax(a), smax(b)) – Bounds are propagated even on interval variables with still undecided execution status ! Conditional interval variables : How does it work ? endBeforeStart(a,b) From logical network presenceOf(a)presenceOf(b) a b a[0] a[1] a[n]a[2] lmin=10 lmin=10 lmin=10 lmin=10 0 H
  • 29. © 2012 IBM Corporation 29 Constraint propagation  Precedence constraints network : – Precedence constraints are aggregated in a temporal network – Conditional reasoning: – Propagation on the conditional bounds of a (would a be present) can assume that b will be present too, thus: emax(a) min(emax(a), smax(b)) – Bounds are propagated even on interval variables with still undecided execution status ! Conditional interval variables : How does it work ? endBeforeStart(a,b) From logical network presenceOf(a)presenceOf(b) a b a[0] a[1] a[n]a[2] lmin=10 lmin=10 lmin=10 lmin=10 0 Hsmin=10 emax=H smin=20 emax=H smin=10*n emax=H smin=0 emax=H
  • 30. © 2012 IBM Corporation 30 Implementation in IBM ILOG CPLEX Optimization Studio  Conditional interval variables are the foundation of the constraint-based scheduling model provided in CP Optimizer.  This powerful modeling language is associated with an efficient automatic search (Model & Solve paradigm)  First version with conditional interval variables was released in 2008  Since then, 6 versions have been released with continuous improvements – Improvement of automatic search performance & robustness – Small API extensions when necessary (new expressions or constraints)  Used in numerous industrial scheduling applications  Current version: V12.4 Conditional interval variables : How does it work ?
  • 31. © 2012 IBM Corporation 31 Agenda  What is it for ?  What is it ?  How is it used ?  How does it work ?  How can I go further ? Conditional interval variables
  • 32. © 2012 IBM Corporation 32 If you decide to go further …  With the concepts and the model: – P. Laborie & J. Rogerie. Reasoning with Conditional Time-intervals. Proc. FLAIRS-2008. – P. Laborie, J. Rogerie. P. Shaw & P. Vilím. Reasoning with Conditional Time-intervals, Part II: an Algebraical Model for Resources. Proc. FLAIRS-2009  With the solving techniques: – Attend Paul Shaw’s presentation tomorrow : Cluster: Implementations and software, Tuesday, August 21st 13:15 - 14:45, room: H 1058, Software for constraint programming Automatic search in CP Optimizer – P. Laborie & D. Godard. Self-Adapting Large Neighborhood Search: Application to Single- mode Scheduling Problems. Proc. MISTA-2007.  With some more complex models: – P. Laborie. IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems. Proc. CPAIOR-2009.  With IBM ILOG CPLEX Optimization Studio: – http://www-03.ibm.com/software/products/en/ibmilogcpleoptistud/ – Optimization Forum: search for “IBM Optimization Forum” Conditional interval variables: How can I go further ?