SlideShare a Scribd company logo
Jun. 21, 2017
Jun. 21, 2017
ICAPS 2017 Novel Applications Track
ICAPS 2017 Novel Applications Track
© 2017 IBM Corporation
© 2017 IBM Corporation
New Results for the
GEO-CAPE Observation Scheduling Problem
Philippe Laborie, Bilal Messaoudi
IBM, IBM Analytics
laborie@fr.ibm.com
2 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Overview
Problem description
Previous results
Our contributions:
Providing optimality bounds (MILP model)
Finding better quality solutions (CP Optimizer model)
3 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Problem description
NASA satellite observation scheduling problem proposed
in J. Frank, M. Do and T. T. Tran. Scheduling Ocean Color
Observations for a GEO-Stationary Satellite. In Proc. ICAPS-
2016.
A set of n scenes to be observed by a satellite instrument
during one day
Each scene is observed multiple times during the day
All observations have the same duration (1 time-unit)
Scenes are not always observable (due to sunrise time,
cloud coverage, …): each scene is defined as a set of
observability time slots
The satellite instrument can only observe one scene at a
time
4 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Problem description
Example of a problem instance and a feasible solution
A scene with its possible observability time-slots
Observability time-slots
Scheduled observations
All scheduled observations
5 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Problem description
Schedule quality depends on the separation time d
between consecutive observations of each scene
d
SB
ST
VB
VT
Gain
dd
V(d) Objective: maximize total
gain due to separation times
Number of scheduled
observations is unknown
6 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Previous results
Benchmark: 44 realistic instances
2 types of instruments (COEDI/FR) x
2 types of science experiments (Survey/Targeted) x
11 observability scenarios corresponding to weather
condition at different period of the year (months)
Best solutions were obtained with a time-indexed MILP
formulation
Main decision variables
oij
∈ {0,1} s.t. oij
=1 iff scene i is observed at time-slot j
Computation time: 1h
Problems could not be solved to optimality, no optimality
bound available
7 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Previous results
8 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Optimality bounds (MILP model)
Disjunctive MILP model (details in the paper)
Main decision variables:
bi1,j1;i2,j2
∈ {0,1} s.t. bi1,j1;i2,j2
=1 iff
the j1th
observation of scene i1 is performed before
the j2th
observation of scene i2
9 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Optimality bounds (MILP model)
Disjunctive MILP model (details in the paper)
Main decision variables:
bi1,j1;i2,j2
∈ {0,1} s.t. bi1,j1;i2,j2
=1 iff
the j1th
observation of scene i1 is performed before
the j2th
observation of scene i2
10 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Optimality bounds (MILP model)
Disjunctive MILP model (details in the paper)
Quickly solve easy instances (FR instrument) to optimality
Bad quality solutions / optimality bounds on the other ones
The model can be relaxed (energetic relaxation of
observations no-overlap) to produce optimality bounds
(upper-bounds)
11 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Optimality bounds (MILP model)
12 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
What is CP Optimizer?
An optimization engine for solving combinatorial problems
(with a particular focus on scheduling problems)
Available in IBM ILOG CPLEX Optimization Studio
Implements a model & run paradigm (like CPLEX):
Problem is formulated as a declarative model
Extends classical combinatorial optimization framework with
concepts like optional interval variables, functions of time,
specialized constraints (e.g. noOverlap), …
Available in different programming languages (C++, Python,
Java, .NET and OPL)
Powerful automatic search being continuously improved
Search is complete
Internally uses many techniques (CP, MP, meta-heuristics,...)
13 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
14 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
Data reading and
constants
Decision variables
Objective function
Constraints
15 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
TL: origin of the schedule
TU: horizon of the schedule
m : upper-bounds on number of
observations of a given scene
V : gain function
NoObs[i]: for observation i,
step function equal to 0 on
time-slots where scene i is not
observable and 1 otherwise
SB
ST
VB
VT
Gain
dd
0
1
16 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
Decision variables
Interval variable: decision variable
x with a domain:
Dom(x) ⊆ {⊥} ∪ { [s,e) | s,e ∈ Z, s≤e }
Absent interval Interval of integers
17 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
a[i,j]: interval variable of size 1
representing the jth
observation
of scene i (if i is observed at least
j times), otherwise a[i,j] is absent
s[i,j]: interval variable representing
the separation time between
a[i,j] and a[i,j+1]
18 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
a[i,j]: interval variable of size 1
representing the jth
observation
of scene i (if i is observed at least
j times), otherwise a[i,j] is absent
s[i,j]: interval variable representing
the separation time between
a[i,j] and a[i,j+1]
...s[i,j] s[i,j+1]
a[i,j] a[i,j+1]
...
19 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
a[i,j]: interval variable of size 1
representing the jth
observation
of scene i (if i is observed at least
j times), otherwise a[i,j] is absent
s[i,j]: interval variable representing
the separation time between
a[i,j] and a[i,j+1]
...s[i,j] s[i,j+1]...
a[i,j] a[i,j+1]
20 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
a[i,j]: interval variable of size 1
representing the jth
observation
of scene i (if i is observed at least
j times), otherwise a[i,j] is absent
s[i,j]: interval variable representing
the separation time between
a[i,j] and a[i,j+1]
Interval variable a[i,j] cannot overlap
a time-slot that is not observable
(NoObs[i](t)=0)
a[i,j]
0
1
21 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
a[i,j]: interval variable of size 1
representing the jth
observation
of scene i (if i is observed at least
j times), otherwise a[i,j] is absent
s[i,j]: interval variable representing
the separation time between
a[i,j] and a[i,j+1]
Interval variable a[i,j] cannot overlap
a time-slot that is not observable
(NoObs[i](t)=0)
Intervals a[i,j] do not overlap as the
the instrument can observe only one
scene at a time
a[i,j]
0
1
22 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
a[i,j]: interval variable of size 1
representing the jth
observation
of scene i (if i is observed at least
j times), otherwise a[i,j] is absent
s[i,j]: interval variable representing
the separation time between
a[i,j] and a[i,j+1]
Objective is to maximize the total
gain due to separation time between
observations (length of interval
variables s[i,j]):
∑i,j
V(lengthOf(s[i,j]))
SB
ST
VB
VT
Gain
dd
23 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
Notion of an isolated observation a[i,j]:
Property: there exist an optimal
solution that does not contain any
isolated observation
SB
ST
VB
VT
Gain
dd
s[i,j-1] s[i,j]
a[i,j-1] a[i,j] a[i,j+1]
>ST
: no gain >ST
: no gain
24 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
Two possibilities are considered for a
separation s[i,j]:
sv[i,j]: length is in [SB
,ST
] and it
brings some value
s0[i,j]: length is >ST
and it does not
bring any value
s[i,j-1] s[i,j]
a[i,j-1] a[i,j] a[i,j+1]
s0[i,j]
sv[i,j]
s0[i,j-1]
sv[i,j-1]
SB
ST
0
Alternatives
Alternatives
25 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
Two possibilities are considered for a
separation s[i,j]:
sv[i,j]: length is in [SB
,ST
] and it
brings some value
s0[i,j]: length is >ST
and it does not
bring any value
s[i,j-1] s[i,j]
a[i,j-1] a[i,j] a[i,j+1]
s0[i,j]
sv[i,j]
s0[i,j-1]
sv[i,j-1]
SB
ST
0
Alternatives
Alternatives
26 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
27 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
28 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Good quality solutions (CP Optimizer model)
29 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation
Results and conclusion
Optimal or near optimal solutions (gap≤1%) found for
about 80% of the instances
On COEDI instrument, average gap is 2.72% compared to
18.42% for the original MILP
The model is easy to extend to additional features:
Different observation durations
Different observation modes
Sequence-dependent setup times between observations
Re-scheduling
A good illustration of the versatility of CP Optimizer for
solving challenging scheduling problems
More information in the ICAPS-2017 tutorial “Introduction to
CP optimizer for Scheduling” material ...

More Related Content

What's hot

Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP Optimizer
Philippe Laborie
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint Programming
Philippe Laborie
 
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Philippe Laborie
 
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsIBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
Philippe Laborie
 
Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...
Philippe Laborie
 
Optimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsOptimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applications
Philippe Laborie
 
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Philippe Laborie
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer Models
Philippe Laborie
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
Philippe Laborie
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizer
PaulShawIBM
 
Modeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerModeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP Optimizer
Philippe Laborie
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
PaulShawIBM
 
Some "Do"s and "Dont'"s of Benchmarking
Some "Do"s and "Dont'"s of BenchmarkingSome "Do"s and "Dont'"s of Benchmarking
Some "Do"s and "Dont'"s of Benchmarking
PaulShawIBM
 
Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...
Bob Fourer
 
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Bob Fourer
 
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Academia de Ingeniería de México
 
Optimization Computing Platform for the Construction Industry
Optimization Computing Platform for the Construction IndustryOptimization Computing Platform for the Construction Industry
Optimization Computing Platform for the Construction Industry
Kostas Dimitriou
 
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
NTT Software Innovation Center
 
Optimization in deep learning
Optimization in deep learningOptimization in deep learning
Optimization in deep learning
Rakshith Sathish
 
Fast optimization intevacoct6_3final
Fast optimization intevacoct6_3finalFast optimization intevacoct6_3final
Fast optimization intevacoct6_3final
eArtius, Inc.
 

What's hot (20)

Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP Optimizer
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint Programming
 
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
 
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsIBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
 
Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...
 
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
 
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer Models
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizer
 
Modeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerModeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP Optimizer
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
Some "Do"s and "Dont'"s of Benchmarking
Some "Do"s and "Dont'"s of BenchmarkingSome "Do"s and "Dont'"s of Benchmarking
Some "Do"s and "Dont'"s of Benchmarking
 
Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...
 
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...
 
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
 
Optimization Computing Platform for the Construction Industry
Optimization Computing Platform for the Construction IndustryOptimization Computing Platform for the Construction Industry
Optimization Computing Platform for the Construction Industry
 
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
 
Optimization in deep learning
Optimization in deep learningOptimization in deep learning
Optimization in deep learning
 
Fast optimization intevacoct6_3final
Fast optimization intevacoct6_3finalFast optimization intevacoct6_3final
Fast optimization intevacoct6_3final
 

Similar to New Results for the GEO-CAPE Observation Scheduling Problem

Constraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in SchedulingConstraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in Scheduling
Eray Cakici
 
Diseño rapido de amplificadores con valores
Diseño rapido de amplificadores con valoresDiseño rapido de amplificadores con valores
Diseño rapido de amplificadores con valores
Félix Chávez
 
A Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming ProblemsA Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming Problems
Carrie Romero
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandas
PyDataParis
 
Performance Calculation and Benchmarking using the ISBSG Release 10 Data Rep...
Performance Calculation and Benchmarking  using the ISBSG Release 10 Data Rep...Performance Calculation and Benchmarking  using the ISBSG Release 10 Data Rep...
Performance Calculation and Benchmarking using the ISBSG Release 10 Data Rep...
Luigi Buglione
 
IRJET- Real Time Implementation of Bi-Histogram Equalization Method on Androi...
IRJET- Real Time Implementation of Bi-Histogram Equalization Method on Androi...IRJET- Real Time Implementation of Bi-Histogram Equalization Method on Androi...
IRJET- Real Time Implementation of Bi-Histogram Equalization Method on Androi...
IRJET Journal
 
IRJET- Design and Implementation of ATM Security System using Vibration Senso...
IRJET- Design and Implementation of ATM Security System using Vibration Senso...IRJET- Design and Implementation of ATM Security System using Vibration Senso...
IRJET- Design and Implementation of ATM Security System using Vibration Senso...
IRJET Journal
 
Cocomomodel
CocomomodelCocomomodel
Cocomo model
Cocomo modelCocomo model
Cocomo model
Bala Ganesh
 
COCOMO Model
COCOMO ModelCOCOMO Model
COCOMO Model
Dev Kishan Bairwa
 
1806 cosmic progress
1806 cosmic progress1806 cosmic progress
1806 cosmic progress
Charles Symons
 
Applying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPKApplying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPK
Jeremy Chen
 
Convex optmization in communications
Convex optmization in communicationsConvex optmization in communications
Convex optmization in communications
Deepshika Reddy
 
Lift-and-Project Cuts in CPLEX 12.5.1
Lift-and-Project Cuts  in CPLEX 12.5.1Lift-and-Project Cuts  in CPLEX 12.5.1
Lift-and-Project Cuts in CPLEX 12.5.1
IBM Decision Optimization
 
OpenSees: Future Directions
OpenSees: Future DirectionsOpenSees: Future Directions
OpenSees: Future Directions
openseesdays
 
170614 MSc Project Thales (Michel Reimert)
170614 MSc Project Thales (Michel Reimert)170614 MSc Project Thales (Michel Reimert)
170614 MSc Project Thales (Michel Reimert)
SINTAS
 
Design Optimization of Safety Critical Component for Fatigue and Strength Usi...
Design Optimization of Safety Critical Component for Fatigue and Strength Usi...Design Optimization of Safety Critical Component for Fatigue and Strength Usi...
Design Optimization of Safety Critical Component for Fatigue and Strength Usi...
Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Questions On The Equation For Regression
Questions On The Equation For RegressionQuestions On The Equation For Regression
Questions On The Equation For Regression
Tiffany Sandoval
 
IBM Planning Analytics 2.0: New Capabilities for TM1 Users
IBM Planning Analytics 2.0: New Capabilities for TM1 UsersIBM Planning Analytics 2.0: New Capabilities for TM1 Users
IBM Planning Analytics 2.0: New Capabilities for TM1 Users
Senturus
 
A Hybrid Data Clustering Approach using K-Means and Simplex Method-based Bact...
A Hybrid Data Clustering Approach using K-Means and Simplex Method-based Bact...A Hybrid Data Clustering Approach using K-Means and Simplex Method-based Bact...
A Hybrid Data Clustering Approach using K-Means and Simplex Method-based Bact...
IRJET Journal
 

Similar to New Results for the GEO-CAPE Observation Scheduling Problem (20)

Constraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in SchedulingConstraint Programming - An Alternative Approach to Heuristics in Scheduling
Constraint Programming - An Alternative Approach to Heuristics in Scheduling
 
Diseño rapido de amplificadores con valores
Diseño rapido de amplificadores con valoresDiseño rapido de amplificadores con valores
Diseño rapido de amplificadores con valores
 
A Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming ProblemsA Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming Problems
 
Prespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandasPrespective analytics with DOcplex and pandas
Prespective analytics with DOcplex and pandas
 
Performance Calculation and Benchmarking using the ISBSG Release 10 Data Rep...
Performance Calculation and Benchmarking  using the ISBSG Release 10 Data Rep...Performance Calculation and Benchmarking  using the ISBSG Release 10 Data Rep...
Performance Calculation and Benchmarking using the ISBSG Release 10 Data Rep...
 
IRJET- Real Time Implementation of Bi-Histogram Equalization Method on Androi...
IRJET- Real Time Implementation of Bi-Histogram Equalization Method on Androi...IRJET- Real Time Implementation of Bi-Histogram Equalization Method on Androi...
IRJET- Real Time Implementation of Bi-Histogram Equalization Method on Androi...
 
IRJET- Design and Implementation of ATM Security System using Vibration Senso...
IRJET- Design and Implementation of ATM Security System using Vibration Senso...IRJET- Design and Implementation of ATM Security System using Vibration Senso...
IRJET- Design and Implementation of ATM Security System using Vibration Senso...
 
Cocomomodel
CocomomodelCocomomodel
Cocomomodel
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
COCOMO Model
COCOMO ModelCOCOMO Model
COCOMO Model
 
1806 cosmic progress
1806 cosmic progress1806 cosmic progress
1806 cosmic progress
 
Applying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPKApplying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPK
 
Convex optmization in communications
Convex optmization in communicationsConvex optmization in communications
Convex optmization in communications
 
Lift-and-Project Cuts in CPLEX 12.5.1
Lift-and-Project Cuts  in CPLEX 12.5.1Lift-and-Project Cuts  in CPLEX 12.5.1
Lift-and-Project Cuts in CPLEX 12.5.1
 
OpenSees: Future Directions
OpenSees: Future DirectionsOpenSees: Future Directions
OpenSees: Future Directions
 
170614 MSc Project Thales (Michel Reimert)
170614 MSc Project Thales (Michel Reimert)170614 MSc Project Thales (Michel Reimert)
170614 MSc Project Thales (Michel Reimert)
 
Design Optimization of Safety Critical Component for Fatigue and Strength Usi...
Design Optimization of Safety Critical Component for Fatigue and Strength Usi...Design Optimization of Safety Critical Component for Fatigue and Strength Usi...
Design Optimization of Safety Critical Component for Fatigue and Strength Usi...
 
Questions On The Equation For Regression
Questions On The Equation For RegressionQuestions On The Equation For Regression
Questions On The Equation For Regression
 
IBM Planning Analytics 2.0: New Capabilities for TM1 Users
IBM Planning Analytics 2.0: New Capabilities for TM1 UsersIBM Planning Analytics 2.0: New Capabilities for TM1 Users
IBM Planning Analytics 2.0: New Capabilities for TM1 Users
 
A Hybrid Data Clustering Approach using K-Means and Simplex Method-based Bact...
A Hybrid Data Clustering Approach using K-Means and Simplex Method-based Bact...A Hybrid Data Clustering Approach using K-Means and Simplex Method-based Bact...
A Hybrid Data Clustering Approach using K-Means and Simplex Method-based Bact...
 

Recently uploaded

Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 

Recently uploaded (20)

Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 

New Results for the GEO-CAPE Observation Scheduling Problem

  • 1. Jun. 21, 2017 Jun. 21, 2017 ICAPS 2017 Novel Applications Track ICAPS 2017 Novel Applications Track © 2017 IBM Corporation © 2017 IBM Corporation New Results for the GEO-CAPE Observation Scheduling Problem Philippe Laborie, Bilal Messaoudi IBM, IBM Analytics laborie@fr.ibm.com
  • 2. 2 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Overview Problem description Previous results Our contributions: Providing optimality bounds (MILP model) Finding better quality solutions (CP Optimizer model)
  • 3. 3 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Problem description NASA satellite observation scheduling problem proposed in J. Frank, M. Do and T. T. Tran. Scheduling Ocean Color Observations for a GEO-Stationary Satellite. In Proc. ICAPS- 2016. A set of n scenes to be observed by a satellite instrument during one day Each scene is observed multiple times during the day All observations have the same duration (1 time-unit) Scenes are not always observable (due to sunrise time, cloud coverage, …): each scene is defined as a set of observability time slots The satellite instrument can only observe one scene at a time
  • 4. 4 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Problem description Example of a problem instance and a feasible solution A scene with its possible observability time-slots Observability time-slots Scheduled observations All scheduled observations
  • 5. 5 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Problem description Schedule quality depends on the separation time d between consecutive observations of each scene d SB ST VB VT Gain dd V(d) Objective: maximize total gain due to separation times Number of scheduled observations is unknown
  • 6. 6 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Previous results Benchmark: 44 realistic instances 2 types of instruments (COEDI/FR) x 2 types of science experiments (Survey/Targeted) x 11 observability scenarios corresponding to weather condition at different period of the year (months) Best solutions were obtained with a time-indexed MILP formulation Main decision variables oij ∈ {0,1} s.t. oij =1 iff scene i is observed at time-slot j Computation time: 1h Problems could not be solved to optimality, no optimality bound available
  • 7. 7 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Previous results
  • 8. 8 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Optimality bounds (MILP model) Disjunctive MILP model (details in the paper) Main decision variables: bi1,j1;i2,j2 ∈ {0,1} s.t. bi1,j1;i2,j2 =1 iff the j1th observation of scene i1 is performed before the j2th observation of scene i2
  • 9. 9 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Optimality bounds (MILP model) Disjunctive MILP model (details in the paper) Main decision variables: bi1,j1;i2,j2 ∈ {0,1} s.t. bi1,j1;i2,j2 =1 iff the j1th observation of scene i1 is performed before the j2th observation of scene i2
  • 10. 10 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Optimality bounds (MILP model) Disjunctive MILP model (details in the paper) Quickly solve easy instances (FR instrument) to optimality Bad quality solutions / optimality bounds on the other ones The model can be relaxed (energetic relaxation of observations no-overlap) to produce optimality bounds (upper-bounds)
  • 11. 11 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Optimality bounds (MILP model)
  • 12. 12 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) What is CP Optimizer? An optimization engine for solving combinatorial problems (with a particular focus on scheduling problems) Available in IBM ILOG CPLEX Optimization Studio Implements a model & run paradigm (like CPLEX): Problem is formulated as a declarative model Extends classical combinatorial optimization framework with concepts like optional interval variables, functions of time, specialized constraints (e.g. noOverlap), … Available in different programming languages (C++, Python, Java, .NET and OPL) Powerful automatic search being continuously improved Search is complete Internally uses many techniques (CP, MP, meta-heuristics,...)
  • 13. 13 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model)
  • 14. 14 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) Data reading and constants Decision variables Objective function Constraints
  • 15. 15 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) TL: origin of the schedule TU: horizon of the schedule m : upper-bounds on number of observations of a given scene V : gain function NoObs[i]: for observation i, step function equal to 0 on time-slots where scene i is not observable and 1 otherwise SB ST VB VT Gain dd 0 1
  • 16. 16 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) Decision variables Interval variable: decision variable x with a domain: Dom(x) ⊆ {⊥} ∪ { [s,e) | s,e ∈ Z, s≤e } Absent interval Interval of integers
  • 17. 17 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) a[i,j]: interval variable of size 1 representing the jth observation of scene i (if i is observed at least j times), otherwise a[i,j] is absent s[i,j]: interval variable representing the separation time between a[i,j] and a[i,j+1]
  • 18. 18 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) a[i,j]: interval variable of size 1 representing the jth observation of scene i (if i is observed at least j times), otherwise a[i,j] is absent s[i,j]: interval variable representing the separation time between a[i,j] and a[i,j+1] ...s[i,j] s[i,j+1] a[i,j] a[i,j+1] ...
  • 19. 19 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) a[i,j]: interval variable of size 1 representing the jth observation of scene i (if i is observed at least j times), otherwise a[i,j] is absent s[i,j]: interval variable representing the separation time between a[i,j] and a[i,j+1] ...s[i,j] s[i,j+1]... a[i,j] a[i,j+1]
  • 20. 20 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) a[i,j]: interval variable of size 1 representing the jth observation of scene i (if i is observed at least j times), otherwise a[i,j] is absent s[i,j]: interval variable representing the separation time between a[i,j] and a[i,j+1] Interval variable a[i,j] cannot overlap a time-slot that is not observable (NoObs[i](t)=0) a[i,j] 0 1
  • 21. 21 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) a[i,j]: interval variable of size 1 representing the jth observation of scene i (if i is observed at least j times), otherwise a[i,j] is absent s[i,j]: interval variable representing the separation time between a[i,j] and a[i,j+1] Interval variable a[i,j] cannot overlap a time-slot that is not observable (NoObs[i](t)=0) Intervals a[i,j] do not overlap as the the instrument can observe only one scene at a time a[i,j] 0 1
  • 22. 22 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) a[i,j]: interval variable of size 1 representing the jth observation of scene i (if i is observed at least j times), otherwise a[i,j] is absent s[i,j]: interval variable representing the separation time between a[i,j] and a[i,j+1] Objective is to maximize the total gain due to separation time between observations (length of interval variables s[i,j]): ∑i,j V(lengthOf(s[i,j])) SB ST VB VT Gain dd
  • 23. 23 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) Notion of an isolated observation a[i,j]: Property: there exist an optimal solution that does not contain any isolated observation SB ST VB VT Gain dd s[i,j-1] s[i,j] a[i,j-1] a[i,j] a[i,j+1] >ST : no gain >ST : no gain
  • 24. 24 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) Two possibilities are considered for a separation s[i,j]: sv[i,j]: length is in [SB ,ST ] and it brings some value s0[i,j]: length is >ST and it does not bring any value s[i,j-1] s[i,j] a[i,j-1] a[i,j] a[i,j+1] s0[i,j] sv[i,j] s0[i,j-1] sv[i,j-1] SB ST 0 Alternatives Alternatives
  • 25. 25 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model) Two possibilities are considered for a separation s[i,j]: sv[i,j]: length is in [SB ,ST ] and it brings some value s0[i,j]: length is >ST and it does not bring any value s[i,j-1] s[i,j] a[i,j-1] a[i,j] a[i,j+1] s0[i,j] sv[i,j] s0[i,j-1] sv[i,j-1] SB ST 0 Alternatives Alternatives
  • 26. 26 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model)
  • 27. 27 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model)
  • 28. 28 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Good quality solutions (CP Optimizer model)
  • 29. 29 / 29 ICAPS 2017 Novel Applications Track © 2017 IBM Corporation Results and conclusion Optimal or near optimal solutions (gap≤1%) found for about 80% of the instances On COEDI instrument, average gap is 2.72% compared to 18.42% for the original MILP The model is easy to extend to additional features: Different observation durations Different observation modes Sequence-dependent setup times between observations Re-scheduling A good illustration of the versatility of CP Optimizer for solving challenging scheduling problems More information in the ICAPS-2017 tutorial “Introduction to CP optimizer for Scheduling” material ...