SlideShare a Scribd company logo
© 2013 IBM Corporation
Sept. 16, 2013
CP-2013 Workshop on "CP Solvers: Modeling, Applications, Integration, and Standardization"
Model Presolve, Warmstart and
Conflict Refining in CP Optimizer
P. Laborie, P. Refalo, P. Shaw
IBM Software Group
© 2013 IBM Corporation
Overview
 A “model-and-run” optimizer must provide:
– Efficient & robust automatic search
– Easy-to-use functionalities to control the search
– Productivity tools for model development
© 2013 IBM Corporation
Overview
 A “model-and-run” optimizer must provide:
CP Optimizer is a “model-and-run” optimizer providing:
– Efficient & robust automatic search
Restart, Learning, Portfolios, Relaxations, LNS, Presolve, …
– Easy-to-use functionalities to control the search
Parameters, Search phases, Warmstart, …
– Productivity tools for model development
Development Studio, Search log, Conflict Refiner, ...
© 2013 IBM Corporation
Model Presolve
 Depending on the input data, models can have redundancies and
can contain poorly formulated constraints
 Objective: Automatically improve the model in order to make
stronger inferences faster
 Simplifications
–Constraint compaction
–Redundancy elimination
–Constant propagation
–Common sub-expression factorization
 Aggregations
–Count expressions & difference constraints
–Linear constraints over binary {0,1} variables
–Alternative constraint combined with arithmetic expressions
© 2013 IBM Corporation
Examples of Model Presolve
 Elimination of redundant constraints
– Bound of variables and expressions computed by constraint
propagation are used to eliminate redundant constraints before
search
 Propagation of constant variables and expressions
1 + 2x + 3y + xy – 3x + 7y ≤ 8x – 7y + 10
x == 4 → 21y ≤ 45
 Variable merge
x==y, y==z, z==t → merge the domains of x, y, z and t
and replace y, z, and t by x
everywhere
© 2013 IBM Corporation
Examples of Model Presolve
 Aggregation of difference constraints
– Binary ≠ constraints can be lifted to alldiff constraints
A problem with ≠
x ≠ y
x ≠ z
x ≠ t
y ≠ z
y ≠ t
z ≠ v
t ≠ z
t ≠ v
u ≠ v
alldiff(x, y, z, t)
alldiff(z, t, v)
u ≠ v
The associated graph structure
The aggregated model
y t
z u
v
x
≠
≠
≠
≠
≠
≠
≠
≠
≠
© 2013 IBM Corporation
Examples of Model Presolve
 Lifting difference constraints
1) Pick up a binary constraint x ≠ y not already in a lifted alldiff
2) Find the largest clique containing x ≠ y (in practice we use a
greedy algorithm – add vertex one by one to the set starting
with vertices having the maximum degree)
3) Add a new lifted alldiff
 Experimentation on graph coloring
– Color the vertices of a graph such that two adjacent vertices
have a different color and the number of colors is minimized
– The model is stated with a set of binary ≠ constraints
– Problems are from the DIMACS challenge (COLOR02 set)
• 9 problems over 60 are solved to optimality without presolve
• 39 problems over 60 are solved to optimality with presolve
© 2013 IBM Corporation
Results on graph coloring problems
Problem Time Ch. Pts Time Ch. Pts max
anna 1000.01 19308059 0.08 138 11
david 141.49 3628877 0.06 87 11
fpsol2.i.1 1000.01 6353782 4.11 496 65
fpsol2.i.2 1000.01 8731886 2.03 451 30
fpsol2.i.3 1000.01 8980436 1.90 425 30
games120 1000.01 20346758 0.08 120 9
homer 1000.02 10225244 0.05 0 13
huck 1000.01 28282739 0.05 74 11
inithx.i.1 1000.02 4744285 14.18 864 54
inithx.i.2 1000.01 5741171 10.06 645 31
inithx.i.3 1000.01 5671424 10.07 621 31
jean 1000.01 26779859 0.05 80 10
le450_15a 1000.02 3623748 8.41 1062 15
le450_15b 1000.02 6650123 4.70 847 15
le450_15c 1000.01 5723362 1000.82 630981 15
le450_15d 1000.02 1457738 1000.79 49765 15
le450_25a 1000.01 7289172 3.52 450 25
le450_25b 1000.01 7355812 3.25 450 25
le450_25c 1000.02 1969772 1000.58 45443 25
le450_25d 1000.01 2313797 1000.67 52443 25
le450_5a 1000.02 3009929 1000.37 114323 5
le450_5b 1000.01 2379044 1000.37 107031 5
le450_5c 1.48 522 10.17 450 5
le450_5d 1000.02 1635272 1000.75 69870 5
miles1000 1000.01 11725830 0.47 128 42
miles1500 1000.01 9798720 1000.02 136613 71
miles250 0.42 6961 0.05 128 8
miles500 1000.01 15628706 0.13 128 20
miles750 1000.01 13420578 0.27 128 31
mug100_1 1000.01 20055287 5.95 91443 3
mug88_1 1000.01 22220677 5.44 92818 3
mug88_25 1000.01 22069362 1.19 20104 3
Problem Time Ch. Pts Time Ch. Pts max
mulsol.i.1 1000.01 13151679 0.66 197 49
mulsol.i.2 1000.01 16062965 0.45 188 31
mulsol.i.3 1000.01 16000296 0.45 184 31
mulsol.i.4 1000.01 16442846 0.44 185 31
mulsol.i.5 1000.01 11138968 0.59 186 31
myciel3 0.02 32 0.02 32 0
myciel4 0.09 2791 0.09 2791 0
myciel5 234.11 5734555 239.05 5734555 0
myciel6 1000.01 15070869 1000.00 14612561 0
myciel7 1000.01 10789203 1000.00 10699137 0
queen10_10 1000.02 7167824 1000.04 650963 10
queen11_11 1000.01 5350496 1000.04 564951 11
queen12_12 1000.01 4302509 1000.04 357267 12
queen13_13 1000.01 3613703 1000.08 259550 13
queen14_14 1000.01 3023318 1000.10 276221 14
queen15_15 1000.02 2544350 1000.15 180290 15
queen16_16 1000.02 2114831 1000.15 166693 16
queen5_5 0.02 45 0.02 25 5
queen6_6 1.44 24392 1.45 7726 6
queen7_7 1.28 19528 0.09 111 7
queen8_12 1000.01 8415680 1000.04 890550 12
queen8_8 1000.01 11742448 1000.03 1826017 8
queen9_9 1000.01 9198487 1000.03 724638 9
school1 1000.02 1938387 28.52 543 14
school1_nsh 1000.02 4461519 1000.87 251760 14
zeroin.i.1 1000.01 11703893 0.55 211 49
zeroin.i.2 1000.01 11807063 0.47 211 30
zeroin.i.3 1000.01 12225170 0.50 206 30
© 2013 IBM Corporation
Examples of Model Presolve
 Common sub-expression factorization
–Eliminate multiple occurrences of the same expression and
replace them by a new variable
example: xy ≠ z + t
z + xy == a + b
100 ≤ z + xy
–The expressions xy and z + xy appear several times. We
introduce two new variables u and v to replace these
expressions and add the constraints: u == xy, v == z + u
–The model becomes u ≠ z + t
v == a + b
100 ≤ v
–Communication of bound reduction on newly introduced
variables achieves more domain reduction
–It also reduces the number of expressions and thus involves less
computations
© 2013 IBM Corporation
Examples of Model Presolve: Golomb Ruler Example
using CP;
int N = 10;
int L = ftoi(pow(2, N-1) - 1);
range R = 1..N;
dvar int x[R] in 0..L;
minimize x[N];
subject to {
forall(i in 1..N-1) x[i] < x[i+1];
forall(i in 1..N-1,
j in i+1..N,
k in i..N-1,
l in k+1..N : l != j){
x[j] - x[i] != x[l] - x[k];
}
}
let x0 = intVar(0..26);
let x1 = intVar(1..27);
let x2 = intVar(2..28);
let x3 = intVar(3..29);
let x4 = intVar(4..30);
let x5 = intVar(5..31);
let d1 = intVar(-25..27);
let d2 = intVar(-24..28);
let d3 = intVar(-23..29);
let d4 = intVar(-22..30);
let d5 = intVar(-21..31);
let d6 = intVar(-25..27);
let d7 = intVar(-24..28);
let d8 = intVar(-23..29);
let d9 = intVar(-22..30);
let d10 = intVar(-25..27);
let d11 = intVar(-24..28);
let d12 = intVar(-23..29);
let d13 = intVar(-25..27);
let d14 = intVar(-24..28);
let d15 = intVar(-25..27);
minimize(x5);
alldiff([d1, d2, d3, d4, d5,
d6, d7, d8, d9, d10,
d11, d12, d13, d14, d15]);
x0 < x1;
x1 < x2;
x2 < x3;
x3 < x4;
x4 < x5;
d1 = x1 - x0;
d2 = x2 - x0;
d3 = x3 - x0;
d4 = x4 - x0;
d5 = x5 - x0;
d6 = x2 - x1;
d7 = x3 - x1;
d8 = x4 - x1;
d9 = x5 - x1;
d10 = x3 - x2;
d11 = x4 - x2;
d12 = x5 - x2;
d13 = x4 - x3;
d14 = x5 - x3;
d15 = x5 - x4;
Golomb ruler
naive formulation
(in OPL)
Common sub-expression elimination
regroups repeated differences
x[i] != x[j] and introduces a new
variable for each
This allow aggregation of binary
difference constraints on these
variables to a single alldifferent
Presolve produces the well-known
tight model for this problem
Internal formulation
after presolve
© 2013 IBM Corporation
Conflict Refiner
 Objective: Identify a reason for an inconsistency by providing a
minimal infeasible subset of constraints for an infeasible model
 Use cases:
1) Model debugging (errors in model)
2) Data debugging (inconsistent data)
3) The model and data are correct, but the associated data
represents a real-world conflict in the system being modeled
4) You create an infeasible model to test properties of (or extract
information about) a similar model
© 2013 IBM Corporation
Conflict Refiner
 Objective: Identify a reason for an inconsistency by providing a
minimal infeasible subset of constraints for an infeasible model
 Use cases:
1) Model debugging (errors in model)
2) Data debugging (inconsistent data)
3) The model and data are correct, but the associated data
represents a real-world conflict in the system being modeled
4) You create an infeasible model to test properties of (or extract
information about) a similar mode
© 2013 IBM Corporation13
 USAF Satellite Control Network scheduling problem [1]
 n communication requests for Earth orbiting satellites must be
scheduled on a total of 32 antennas spread across 13 ground-
based tracking stations
 In the instances, n ranges from to 400 to 1300
[1] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling.
Conflict Refiner example: satellite scheduling problem
© 2013 IBM Corporation14
Station1Station2Station3
© 2013 IBM Corporation15
Station1Station2Station3
Communication requestsTaski
© 2013 IBM Corporation16
Station1Station2Station3
Taski
Oppi,1
Oppi,2 Oppi,3
Alternative assignments
to stations × time windows
(opportunities)
Oppi,4
OR
© 2013 IBM Corporation17
Station1Station2Station3
Oppi,1
Oppi,2
Oppi,4
Oppi,3
Selected opportunity will use
1 antenna for communication
with the satellite
Taski
© 2013 IBM Corporation18
Conflict Refiner example: model 1
© 2013 IBM Corporation19
Conflict Refiner example: running model 1
! ----------------------------------------------------------------------------
! Satisfiability problem - 2,980 variables, 851 constraints
! Workers = 2
! TimeLimit = 30
! Problem found infeasible at the root node
! ----------------------------------------------------------------------------
...
! ----------------------------------------------------------------------------
! Conflict refining - 851 constraints
! ----------------------------------------------------------------------------
! Iteration Number of constraints
* 1 851
...
* 11 3
* 12 1
* 13 1
! Conflict refining terminated
! ----------------------------------------------------------------------------
! Conflict status : Terminated normally, conflict found
! Conflict size : 1 constraint
! Number of iterations : 13
! Total memory usage : 10.6 MB
! Conflict computation time : 0.04s
! ----------------------------------------------------------------------------
© 2013 IBM Corporation20
Conflict Refiner example: running model 1
 Conflict:
 Opportunities for task “373A”:
© 2013 IBM Corporation21
Conflict Refiner example: model 1
© 2013 IBM Corporation22
Conflict Refiner example: model 2
© 2013 IBM Corporation23
Conflict Refiner example: running model 2
! ----------------------------------------------------------------------------
! Satisfiability problem - 2,980 variables, 851 constraints
! Problem found infeasible at the root node
! ----------------------------------------------------------------------------
...
! ----------------------------------------------------------------------------
! Conflict refining - 851 constraints
! ----------------------------------------------------------------------------
! Iteration Number of constraints
* 1 851
* 2 426
...
* 58 5
* 59 5
! Conflict refining terminated
! ----------------------------------------------------------------------------
! Conflict status : Terminated normally, conflict found
! Conflict size : 5 constraints
! Number of iterations : 59
! Total memory usage : 13.3 MB
! Conflict computation time : 0.51s
! ----------------------------------------------------------------------------
© 2013 IBM Corporation24
Conflict Refiner example: running model 2
 Conflict:
 There is not enough antennas to accommodate all 4 tasks on their
time-window on ground station “LION” (3 antennas):
<"134A",6,1232,19,1266>
<"144", 6,1238,31,1272>
<"146", 6,1228,22,1260>
<"146A",6,1230,22,1262> 1232 1266
134A
12721238
144
1228 1260
146
1230 1262
146A
© 2013 IBM Corporation25
Conflict Refiner example: model 2
© 2013 IBM Corporation26
Conflict Refiner example: model 3
© 2013 IBM Corporation27
Conflict Refiner example: running model 3
 Solution with 825 tasks executed for a total of 838 candidates
(98.4%)
© 2013 IBM Corporation
Warmstart
 Objective: Start search from a known (possibly incomplete) solution
given by the user in order to further improve it or to help to guide
the engine towards a first solution
 Use cases:
1) Restart an interrupted search with the current incumbent
2) Start from an initial solution found by an available heuristic
3) Goal programming for multi-objective problems
4) When finding an initial solution is hard, solve an initial problem
that maximizes constraint satisfaction and start from its solution
5) Successively solving similar problems (e.g. dynamic scheduling)
6) Hierarchical problem solving (e.g. planning scheduling)→
© 2013 IBM Corporation
Warmstart
 Objective: Start search from a known (possibly incomplete) solution
given by the user in order to further improve it or to help to guide
the engine towards a first solution
 Use cases:
1) Restart an interrupted search with the current incumbent
2) Start from an initial solution found by an available heuristic
3) Goal programming for multi-objective problems
4) When finding an initial solution is hard, solve an initial problem
that maximizes constraint satisfaction and start from its solution
5) Successively solving similar problems (e.g. dynamic scheduling)
6) Hierarchical problem solving (e.g. planning scheduling)→
© 2013 IBM Corporation30
 USAF Satellite Control Network scheduling problem [1]
 n communication requests for Earth orbiting satellites must be
scheduled on a total of 32 antennas spread across 13 ground-
based tracking stations
 In the instances, n ranges from to 400 to 1300
 Tasks have priorities: first maximize the number of scheduled high
priority tasks, then the number of scheduled low priority tasks
Warmstart example: satellite scheduling problem
[1] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling.
© 2013 IBM Corporation31
Warmstart example: satellite scheduling problem
© 2013 IBM Corporation32
Warmstart example: satellite scheduling problem
© 2013 IBM Corporation33
Warmstart example: satellite scheduling problem
1 2Steps:
© 2013 IBM Corporation
Overview
 A “model-and-run” optimizer must provide:
CP Optimizer is a “model-and-run” optimizer providing:
– Efficient & robust automatic search
Restart, Learning, Portfolios, Relaxations, LNS, Presolve, …
– Easy-to-use functionalities to control the search
Parameters, Search phases, Warmstart, …
– Productivity tools for model development
Development Studio, Search log, Conflict Refiner, ...
Questions ?

More Related Content

PDF
Planning/Scheduling with CP Optimizer
PDF
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
PDF
Conditional interval variables: A powerful concept for modeling and solving c...
PDF
Modeling and Solving Scheduling Problems with CP Optimizer
PDF
A (Not So Short) Introduction to CP Optimizer for Scheduling
PDF
Industrial project and machine scheduling with Constraint Programming
PDF
An introduction to CP Optimizer
PDF
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
Planning/Scheduling with CP Optimizer
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Conditional interval variables: A powerful concept for modeling and solving c...
Modeling and Solving Scheduling Problems with CP Optimizer
A (Not So Short) Introduction to CP Optimizer for Scheduling
Industrial project and machine scheduling with Constraint Programming
An introduction to CP Optimizer
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems

What's hot (20)

PPTX
MEMORY & I/O SYSTEMS
PPTX
Introduction to Map Reduce
PDF
Introduction to High-Performance Computing
PPTX
Credit Card Fraud Detection - Anomaly Detection
PPTX
Supervised and unsupervised learning
PPTX
PPTX
Virtual memory and page replacement algorithm
PDF
Data preprocessing using Machine Learning
PPTX
Tree pruning
PPT
Cluster Computing
PDF
Google's Pathways Language Model and Chain-of-Thought
PPT
Mainframe
PPT
Data preprocessing
PPTX
Data preprocessing
PPT
Semi-supervised Learning
PPT
Genetic Algorithms - Artificial Intelligence
DOC
K-MEDOIDS CLUSTERING USING PARTITIONING AROUND MEDOIDS FOR PERFORMING FACE R...
PDF
Cloud Infrastructure m Service Delivery Models (IAAS, PAAS and SAAS) Cloud D...
PDF
NPTEL BIG DATA FULL PPT BOOK WITH ASSIGNMENT SOLUTION RAJIV MISHRA IIT PATNA...
PPTX
Os solaris memory management
MEMORY & I/O SYSTEMS
Introduction to Map Reduce
Introduction to High-Performance Computing
Credit Card Fraud Detection - Anomaly Detection
Supervised and unsupervised learning
Virtual memory and page replacement algorithm
Data preprocessing using Machine Learning
Tree pruning
Cluster Computing
Google's Pathways Language Model and Chain-of-Thought
Mainframe
Data preprocessing
Data preprocessing
Semi-supervised Learning
Genetic Algorithms - Artificial Intelligence
K-MEDOIDS CLUSTERING USING PARTITIONING AROUND MEDOIDS FOR PERFORMING FACE R...
Cloud Infrastructure m Service Delivery Models (IAAS, PAAS and SAAS) Cloud D...
NPTEL BIG DATA FULL PPT BOOK WITH ASSIGNMENT SOLUTION RAJIV MISHRA IIT PATNA...
Os solaris memory management
Ad

Viewers also liked (7)

PDF
CP Optimizer Walkthrough
PDF
Cp04invitedslide
PDF
Accelerating the Development of Efficient CP Optimizer Models
PDF
Reasoning with Conditional Time-intervals
PPT
Lessonslearnedeuro
PDF
Optimization: from mathematical tools to real applications
PDF
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
CP Optimizer Walkthrough
Cp04invitedslide
Accelerating the Development of Efficient CP Optimizer Models
Reasoning with Conditional Time-intervals
Lessonslearnedeuro
Optimization: from mathematical tools to real applications
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
Ad

Similar to Model Presolve, Warmstart and Conflict Refining in CP Optimizer (20)

PPTX
Project management
PDF
A Factor Graph Approach To Constrained Optimization
PDF
Artificial Intelligence JNTUH Syllabusss
PDF
Reading Materials for Operational Research
PPT
05-constraint-satisfaction-problems-(us).ppt
PPTX
Operation reasearch
PDF
Diagnosing Infeasibilities in IMPL
PPT
A PPT on Constraint Satisfaction problems
PDF
lpSolve - R Library
PPTX
Operation Research
PDF
CLIM Program: Remote Sensing Workshop, Foundations Session: A Discussion - Br...
PPTX
Or graphical method, simplex method
PPTX
Operations Research
PDF
Linearprog, Reading Materials for Operational Research
PDF
PPTX
Approximate-At-Most-k Encoding of SAT for Soft Constraints
PPT
Lecture 1
PPT
CSP this is csp csp csp cspc p csp cp.ppt
PPTX
Project report on Data Clustering
PPT
Cs ps, sat, fol resolution strategies
Project management
A Factor Graph Approach To Constrained Optimization
Artificial Intelligence JNTUH Syllabusss
Reading Materials for Operational Research
05-constraint-satisfaction-problems-(us).ppt
Operation reasearch
Diagnosing Infeasibilities in IMPL
A PPT on Constraint Satisfaction problems
lpSolve - R Library
Operation Research
CLIM Program: Remote Sensing Workshop, Foundations Session: A Discussion - Br...
Or graphical method, simplex method
Operations Research
Linearprog, Reading Materials for Operational Research
Approximate-At-Most-k Encoding of SAT for Soft Constraints
Lecture 1
CSP this is csp csp csp cspc p csp cp.ppt
Project report on Data Clustering
Cs ps, sat, fol resolution strategies

More from Philippe Laborie (9)

PDF
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
PDF
ICAPS-2020 Industry Session
PDF
CP Optimizer pour la planification et l'ordonnancement
PDF
Recent advances on large scheduling problems in CP Optimizer
PDF
Objective Landscapes for Constraint Programming
PDF
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
PDF
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
PDF
Solving Industrial Scheduling Problems with Constraint Programming
PDF
New Results for the GEO-CAPE Observation Scheduling Problem
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
ICAPS-2020 Industry Session
CP Optimizer pour la planification et l'ordonnancement
Recent advances on large scheduling problems in CP Optimizer
Objective Landscapes for Constraint Programming
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
Solving Industrial Scheduling Problems with Constraint Programming
New Results for the GEO-CAPE Observation Scheduling Problem

Recently uploaded (20)

PDF
Nekopoi APK 2025 free lastest update
PDF
top salesforce developer skills in 2025.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Introduction to Artificial Intelligence
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Essential Infomation Tech presentation.pptx
PDF
AI in Product Development-omnex systems
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Transform Your Business with a Software ERP System
PPTX
ai tools demonstartion for schools and inter college
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Reimagine Home Health with the Power of Agentic AI​
Nekopoi APK 2025 free lastest update
top salesforce developer skills in 2025.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Introduction to Artificial Intelligence
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
How to Migrate SBCGlobal Email to Yahoo Easily
Design an Analysis of Algorithms I-SECS-1021-03
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Essential Infomation Tech presentation.pptx
AI in Product Development-omnex systems
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Softaken Excel to vCard Converter Software.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Transform Your Business with a Software ERP System
ai tools demonstartion for schools and inter college
How to Choose the Right IT Partner for Your Business in Malaysia
Reimagine Home Health with the Power of Agentic AI​

Model Presolve, Warmstart and Conflict Refining in CP Optimizer

  • 1. © 2013 IBM Corporation Sept. 16, 2013 CP-2013 Workshop on "CP Solvers: Modeling, Applications, Integration, and Standardization" Model Presolve, Warmstart and Conflict Refining in CP Optimizer P. Laborie, P. Refalo, P. Shaw IBM Software Group
  • 2. © 2013 IBM Corporation Overview  A “model-and-run” optimizer must provide: – Efficient & robust automatic search – Easy-to-use functionalities to control the search – Productivity tools for model development
  • 3. © 2013 IBM Corporation Overview  A “model-and-run” optimizer must provide: CP Optimizer is a “model-and-run” optimizer providing: – Efficient & robust automatic search Restart, Learning, Portfolios, Relaxations, LNS, Presolve, … – Easy-to-use functionalities to control the search Parameters, Search phases, Warmstart, … – Productivity tools for model development Development Studio, Search log, Conflict Refiner, ...
  • 4. © 2013 IBM Corporation Model Presolve  Depending on the input data, models can have redundancies and can contain poorly formulated constraints  Objective: Automatically improve the model in order to make stronger inferences faster  Simplifications –Constraint compaction –Redundancy elimination –Constant propagation –Common sub-expression factorization  Aggregations –Count expressions & difference constraints –Linear constraints over binary {0,1} variables –Alternative constraint combined with arithmetic expressions
  • 5. © 2013 IBM Corporation Examples of Model Presolve  Elimination of redundant constraints – Bound of variables and expressions computed by constraint propagation are used to eliminate redundant constraints before search  Propagation of constant variables and expressions 1 + 2x + 3y + xy – 3x + 7y ≤ 8x – 7y + 10 x == 4 → 21y ≤ 45  Variable merge x==y, y==z, z==t → merge the domains of x, y, z and t and replace y, z, and t by x everywhere
  • 6. © 2013 IBM Corporation Examples of Model Presolve  Aggregation of difference constraints – Binary ≠ constraints can be lifted to alldiff constraints A problem with ≠ x ≠ y x ≠ z x ≠ t y ≠ z y ≠ t z ≠ v t ≠ z t ≠ v u ≠ v alldiff(x, y, z, t) alldiff(z, t, v) u ≠ v The associated graph structure The aggregated model y t z u v x ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠
  • 7. © 2013 IBM Corporation Examples of Model Presolve  Lifting difference constraints 1) Pick up a binary constraint x ≠ y not already in a lifted alldiff 2) Find the largest clique containing x ≠ y (in practice we use a greedy algorithm – add vertex one by one to the set starting with vertices having the maximum degree) 3) Add a new lifted alldiff  Experimentation on graph coloring – Color the vertices of a graph such that two adjacent vertices have a different color and the number of colors is minimized – The model is stated with a set of binary ≠ constraints – Problems are from the DIMACS challenge (COLOR02 set) • 9 problems over 60 are solved to optimality without presolve • 39 problems over 60 are solved to optimality with presolve
  • 8. © 2013 IBM Corporation Results on graph coloring problems Problem Time Ch. Pts Time Ch. Pts max anna 1000.01 19308059 0.08 138 11 david 141.49 3628877 0.06 87 11 fpsol2.i.1 1000.01 6353782 4.11 496 65 fpsol2.i.2 1000.01 8731886 2.03 451 30 fpsol2.i.3 1000.01 8980436 1.90 425 30 games120 1000.01 20346758 0.08 120 9 homer 1000.02 10225244 0.05 0 13 huck 1000.01 28282739 0.05 74 11 inithx.i.1 1000.02 4744285 14.18 864 54 inithx.i.2 1000.01 5741171 10.06 645 31 inithx.i.3 1000.01 5671424 10.07 621 31 jean 1000.01 26779859 0.05 80 10 le450_15a 1000.02 3623748 8.41 1062 15 le450_15b 1000.02 6650123 4.70 847 15 le450_15c 1000.01 5723362 1000.82 630981 15 le450_15d 1000.02 1457738 1000.79 49765 15 le450_25a 1000.01 7289172 3.52 450 25 le450_25b 1000.01 7355812 3.25 450 25 le450_25c 1000.02 1969772 1000.58 45443 25 le450_25d 1000.01 2313797 1000.67 52443 25 le450_5a 1000.02 3009929 1000.37 114323 5 le450_5b 1000.01 2379044 1000.37 107031 5 le450_5c 1.48 522 10.17 450 5 le450_5d 1000.02 1635272 1000.75 69870 5 miles1000 1000.01 11725830 0.47 128 42 miles1500 1000.01 9798720 1000.02 136613 71 miles250 0.42 6961 0.05 128 8 miles500 1000.01 15628706 0.13 128 20 miles750 1000.01 13420578 0.27 128 31 mug100_1 1000.01 20055287 5.95 91443 3 mug88_1 1000.01 22220677 5.44 92818 3 mug88_25 1000.01 22069362 1.19 20104 3 Problem Time Ch. Pts Time Ch. Pts max mulsol.i.1 1000.01 13151679 0.66 197 49 mulsol.i.2 1000.01 16062965 0.45 188 31 mulsol.i.3 1000.01 16000296 0.45 184 31 mulsol.i.4 1000.01 16442846 0.44 185 31 mulsol.i.5 1000.01 11138968 0.59 186 31 myciel3 0.02 32 0.02 32 0 myciel4 0.09 2791 0.09 2791 0 myciel5 234.11 5734555 239.05 5734555 0 myciel6 1000.01 15070869 1000.00 14612561 0 myciel7 1000.01 10789203 1000.00 10699137 0 queen10_10 1000.02 7167824 1000.04 650963 10 queen11_11 1000.01 5350496 1000.04 564951 11 queen12_12 1000.01 4302509 1000.04 357267 12 queen13_13 1000.01 3613703 1000.08 259550 13 queen14_14 1000.01 3023318 1000.10 276221 14 queen15_15 1000.02 2544350 1000.15 180290 15 queen16_16 1000.02 2114831 1000.15 166693 16 queen5_5 0.02 45 0.02 25 5 queen6_6 1.44 24392 1.45 7726 6 queen7_7 1.28 19528 0.09 111 7 queen8_12 1000.01 8415680 1000.04 890550 12 queen8_8 1000.01 11742448 1000.03 1826017 8 queen9_9 1000.01 9198487 1000.03 724638 9 school1 1000.02 1938387 28.52 543 14 school1_nsh 1000.02 4461519 1000.87 251760 14 zeroin.i.1 1000.01 11703893 0.55 211 49 zeroin.i.2 1000.01 11807063 0.47 211 30 zeroin.i.3 1000.01 12225170 0.50 206 30
  • 9. © 2013 IBM Corporation Examples of Model Presolve  Common sub-expression factorization –Eliminate multiple occurrences of the same expression and replace them by a new variable example: xy ≠ z + t z + xy == a + b 100 ≤ z + xy –The expressions xy and z + xy appear several times. We introduce two new variables u and v to replace these expressions and add the constraints: u == xy, v == z + u –The model becomes u ≠ z + t v == a + b 100 ≤ v –Communication of bound reduction on newly introduced variables achieves more domain reduction –It also reduces the number of expressions and thus involves less computations
  • 10. © 2013 IBM Corporation Examples of Model Presolve: Golomb Ruler Example using CP; int N = 10; int L = ftoi(pow(2, N-1) - 1); range R = 1..N; dvar int x[R] in 0..L; minimize x[N]; subject to { forall(i in 1..N-1) x[i] < x[i+1]; forall(i in 1..N-1, j in i+1..N, k in i..N-1, l in k+1..N : l != j){ x[j] - x[i] != x[l] - x[k]; } } let x0 = intVar(0..26); let x1 = intVar(1..27); let x2 = intVar(2..28); let x3 = intVar(3..29); let x4 = intVar(4..30); let x5 = intVar(5..31); let d1 = intVar(-25..27); let d2 = intVar(-24..28); let d3 = intVar(-23..29); let d4 = intVar(-22..30); let d5 = intVar(-21..31); let d6 = intVar(-25..27); let d7 = intVar(-24..28); let d8 = intVar(-23..29); let d9 = intVar(-22..30); let d10 = intVar(-25..27); let d11 = intVar(-24..28); let d12 = intVar(-23..29); let d13 = intVar(-25..27); let d14 = intVar(-24..28); let d15 = intVar(-25..27); minimize(x5); alldiff([d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15]); x0 < x1; x1 < x2; x2 < x3; x3 < x4; x4 < x5; d1 = x1 - x0; d2 = x2 - x0; d3 = x3 - x0; d4 = x4 - x0; d5 = x5 - x0; d6 = x2 - x1; d7 = x3 - x1; d8 = x4 - x1; d9 = x5 - x1; d10 = x3 - x2; d11 = x4 - x2; d12 = x5 - x2; d13 = x4 - x3; d14 = x5 - x3; d15 = x5 - x4; Golomb ruler naive formulation (in OPL) Common sub-expression elimination regroups repeated differences x[i] != x[j] and introduces a new variable for each This allow aggregation of binary difference constraints on these variables to a single alldifferent Presolve produces the well-known tight model for this problem Internal formulation after presolve
  • 11. © 2013 IBM Corporation Conflict Refiner  Objective: Identify a reason for an inconsistency by providing a minimal infeasible subset of constraints for an infeasible model  Use cases: 1) Model debugging (errors in model) 2) Data debugging (inconsistent data) 3) The model and data are correct, but the associated data represents a real-world conflict in the system being modeled 4) You create an infeasible model to test properties of (or extract information about) a similar model
  • 12. © 2013 IBM Corporation Conflict Refiner  Objective: Identify a reason for an inconsistency by providing a minimal infeasible subset of constraints for an infeasible model  Use cases: 1) Model debugging (errors in model) 2) Data debugging (inconsistent data) 3) The model and data are correct, but the associated data represents a real-world conflict in the system being modeled 4) You create an infeasible model to test properties of (or extract information about) a similar mode
  • 13. © 2013 IBM Corporation13  USAF Satellite Control Network scheduling problem [1]  n communication requests for Earth orbiting satellites must be scheduled on a total of 32 antennas spread across 13 ground- based tracking stations  In the instances, n ranges from to 400 to 1300 [1] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling. Conflict Refiner example: satellite scheduling problem
  • 14. © 2013 IBM Corporation14 Station1Station2Station3
  • 15. © 2013 IBM Corporation15 Station1Station2Station3 Communication requestsTaski
  • 16. © 2013 IBM Corporation16 Station1Station2Station3 Taski Oppi,1 Oppi,2 Oppi,3 Alternative assignments to stations × time windows (opportunities) Oppi,4 OR
  • 17. © 2013 IBM Corporation17 Station1Station2Station3 Oppi,1 Oppi,2 Oppi,4 Oppi,3 Selected opportunity will use 1 antenna for communication with the satellite Taski
  • 18. © 2013 IBM Corporation18 Conflict Refiner example: model 1
  • 19. © 2013 IBM Corporation19 Conflict Refiner example: running model 1 ! ---------------------------------------------------------------------------- ! Satisfiability problem - 2,980 variables, 851 constraints ! Workers = 2 ! TimeLimit = 30 ! Problem found infeasible at the root node ! ---------------------------------------------------------------------------- ... ! ---------------------------------------------------------------------------- ! Conflict refining - 851 constraints ! ---------------------------------------------------------------------------- ! Iteration Number of constraints * 1 851 ... * 11 3 * 12 1 * 13 1 ! Conflict refining terminated ! ---------------------------------------------------------------------------- ! Conflict status : Terminated normally, conflict found ! Conflict size : 1 constraint ! Number of iterations : 13 ! Total memory usage : 10.6 MB ! Conflict computation time : 0.04s ! ----------------------------------------------------------------------------
  • 20. © 2013 IBM Corporation20 Conflict Refiner example: running model 1  Conflict:  Opportunities for task “373A”:
  • 21. © 2013 IBM Corporation21 Conflict Refiner example: model 1
  • 22. © 2013 IBM Corporation22 Conflict Refiner example: model 2
  • 23. © 2013 IBM Corporation23 Conflict Refiner example: running model 2 ! ---------------------------------------------------------------------------- ! Satisfiability problem - 2,980 variables, 851 constraints ! Problem found infeasible at the root node ! ---------------------------------------------------------------------------- ... ! ---------------------------------------------------------------------------- ! Conflict refining - 851 constraints ! ---------------------------------------------------------------------------- ! Iteration Number of constraints * 1 851 * 2 426 ... * 58 5 * 59 5 ! Conflict refining terminated ! ---------------------------------------------------------------------------- ! Conflict status : Terminated normally, conflict found ! Conflict size : 5 constraints ! Number of iterations : 59 ! Total memory usage : 13.3 MB ! Conflict computation time : 0.51s ! ----------------------------------------------------------------------------
  • 24. © 2013 IBM Corporation24 Conflict Refiner example: running model 2  Conflict:  There is not enough antennas to accommodate all 4 tasks on their time-window on ground station “LION” (3 antennas): <"134A",6,1232,19,1266> <"144", 6,1238,31,1272> <"146", 6,1228,22,1260> <"146A",6,1230,22,1262> 1232 1266 134A 12721238 144 1228 1260 146 1230 1262 146A
  • 25. © 2013 IBM Corporation25 Conflict Refiner example: model 2
  • 26. © 2013 IBM Corporation26 Conflict Refiner example: model 3
  • 27. © 2013 IBM Corporation27 Conflict Refiner example: running model 3  Solution with 825 tasks executed for a total of 838 candidates (98.4%)
  • 28. © 2013 IBM Corporation Warmstart  Objective: Start search from a known (possibly incomplete) solution given by the user in order to further improve it or to help to guide the engine towards a first solution  Use cases: 1) Restart an interrupted search with the current incumbent 2) Start from an initial solution found by an available heuristic 3) Goal programming for multi-objective problems 4) When finding an initial solution is hard, solve an initial problem that maximizes constraint satisfaction and start from its solution 5) Successively solving similar problems (e.g. dynamic scheduling) 6) Hierarchical problem solving (e.g. planning scheduling)→
  • 29. © 2013 IBM Corporation Warmstart  Objective: Start search from a known (possibly incomplete) solution given by the user in order to further improve it or to help to guide the engine towards a first solution  Use cases: 1) Restart an interrupted search with the current incumbent 2) Start from an initial solution found by an available heuristic 3) Goal programming for multi-objective problems 4) When finding an initial solution is hard, solve an initial problem that maximizes constraint satisfaction and start from its solution 5) Successively solving similar problems (e.g. dynamic scheduling) 6) Hierarchical problem solving (e.g. planning scheduling)→
  • 30. © 2013 IBM Corporation30  USAF Satellite Control Network scheduling problem [1]  n communication requests for Earth orbiting satellites must be scheduled on a total of 32 antennas spread across 13 ground- based tracking stations  In the instances, n ranges from to 400 to 1300  Tasks have priorities: first maximize the number of scheduled high priority tasks, then the number of scheduled low priority tasks Warmstart example: satellite scheduling problem [1] Kramer & al.: Understanding Performance Trade-offs in Algorithms for Solving Oversubscribed Scheduling.
  • 31. © 2013 IBM Corporation31 Warmstart example: satellite scheduling problem
  • 32. © 2013 IBM Corporation32 Warmstart example: satellite scheduling problem
  • 33. © 2013 IBM Corporation33 Warmstart example: satellite scheduling problem 1 2Steps:
  • 34. © 2013 IBM Corporation Overview  A “model-and-run” optimizer must provide: CP Optimizer is a “model-and-run” optimizer providing: – Efficient & robust automatic search Restart, Learning, Portfolios, Relaxations, LNS, Presolve, … – Easy-to-use functionalities to control the search Parameters, Search phases, Warmstart, … – Productivity tools for model development Development Studio, Search log, Conflict Refiner, ... Questions ?