SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
CP Next Challenge:
Simplicity of Use
Jean-François Puget
ILOG
1
Motivation
An industry (aka evil) stand point
• We monitor how our CP tools are used by
our customers in industry
• Many customers achieve very good performance
with CP
• But they find it difficult to learn, use and maintain
• CP academic research offers little help here

• Math programming (MP) community seems
more interested in usability
• SAT community as well
1/7/2014

2
Overview

• Compare CP with MP
• CP is too complex for engineers in industry
• How serious is this?

• Is CP academic research addressing the
problem?
• No, it even makes it worse!

• What can we do about it?
• Interesting new research topics

• Conclusions
1/7/2014

3
ILOG optimization products
Same R&D team (I am their boss

)

• Constraint Programming (CP) products
• ILOG Solver and specialized extensions
• ILOG OPL Studio

• Math Programming (MP) products
• ILOG CPLEX
• ILOG OPL Studio

• It is “easy” to compare them and learn from their
differences

1/7/2014

4
MP CP comparison
Not that easy! Cultural difference
• MP

• CP

• Programming
• Planning

• Solution
• Solution
• Feasible solution

• Decision variables
• X >=0 by default

≠
≠
≠
≠

• No upper bound is OK

• Almost integer is OK
• Floating point
computations
1/7/2014

• Programming
• Computer programming

• Solution
• Optimal solution
• Solution

• Variables
• X in [a, b]
• a can be < 0
• a,b must be finite

≠

• Integrality is strict
• Integer computations

5
MP CP comparison
Many common points
• A problem is described by
• Variables
• Constraints (linear for MP, general for CP)
• An objective function

• Models look similar
• Tree search/ branch and bound for both
• Inference at each node
• Bound strengthening / Constraint propagation
• LP relaxation
/ Global constraints
1/7/2014

6
MP CP
Many hybrid combinations
• Use LP in global constraints for CP
• Use MP on one part, CP on the other, in
sequential order
• Use MP on one part, CP on another,
concurrently
• Dantzig Wolfe decomposition
• MP on the master problem
• CP for generating variables (columns)

• Linearize CP constraints
1/7/2014

7
What precedes is not relevant!
An industry stand point
• What matters is the usefulness of the technology
• Is CP (or MP) useful for my problem?
• How can I assess that quickly?
• Is a CP (or MP) code easy to tune, to maintain?
• Is a CP (or MP) code robust ?
• Does performance depend too much on data?

• When faced with these questions
• CP doesn’t provide good answers
• MP seems much more appealing

• CP performance is not the issue per se
• CP has numerous successes in industry
1/7/2014

8
Example 1

• A big software company in SCM
• They use ILOG Solver and ILOG Scheduler in
their scheduling package
• This is successful
• Performance is great

• They will not launch new CP projects
• CP is difficult to maintain

1/7/2014

9
Example 1 continued
True story
• They want transfer maintenance to an India
team trained 1 week on CP
• Indian people are smart and cheap

• First question from India:
• Why do you write in your code
IlcOr(x==a, x!=a)
since this is a tautology?
•This is a non deterministic choice point…
1/7/2014

10
Example 2 : from another customer

True story
• What solution does the system outputs
when there is no solution?
• None

• I want a solution!
• Nope

• Explain me why there is no solution!

1/7/2014

11
Example 3: graceful graph
Graph coloring problem
x3

x0

x2
x1

m vertices and n edges. Color
vertices and edges with numbers
from 0 to n
x5

x4

•Colors of the vertices must be all
different
•all different (x1, x2, …, xm)
•Other constraints on edges
•Color of edge (i, j) is
abs(xi – xj)

1/7/2014

•Colors of edges must be all
different

12
Example 3
Tighten the representation
• All different (abs(xi - xj)) for all edges (i,j)
• xi and xj are different, therefore
abs(xi – xj) > 0
• Stating this makes the all different
constraint tight
• Much better propagation of the global constraint
• Running times improve a lot

• This is straightforward, isn’t it?
1/7/2014

13
Example 4 : coin design problem

From [Wallace 03]
• Select coin values so that any change can
be given with a minimum amount of coins
• Mark said that a CP solution is easy to
produce!

•Let’s see if you’re as clever as Mark…
1/7/2014

14
A model
Using OPL
range coin 1..6;
range change 1..100;
var int value[coin] in 1..100;
var int num[coin] in 1..100;
var int sel[change, coin] in 0..100;
minimize sum(i in coin) num[i] subject to {
forall(i in coin, s in change)
sel[s,i] <= num[i];
forall(s in change)
sum(i in coin) value[i]*sel[s,i] = s;
};

It runs forever !
1/7/2014

15
To make it work
Write search!
search{
generate(value);
generate (num);
forall(s in change) generate(sel[s]);
};

Straightforward isn’t it?

It runs forever !
1/7/2014

16
To make it work (continued)
The problem has symmetries
forall(i in coin: i <> 6) {
value[i]*num[i] < value[i+1];
};

It runs in .45 seconds on this laptop!
See, CP is really good on this problem!
1/7/2014

17
MP for dummies (engineers)
Modeling is what matters
1. Model your problem with
•

Decision variables (integer and continuous)

•

Linear constraints

•

Linear objective

2. Run

It may output solutions without
any tuning
1/7/2014

18
MP for dummies (engineers)
Modeling can be tricky
• It may run forever
• In such case, change the model
• Tighten it
• Use Dantzig Wolfe decomposition

• This is sufficient for the vast majority of MP
applications
• There is no need to understand MP algorithms

• Difficult problems are still difficult
• For these, one can use advanced techniques such as
branch and price, specialized cut generation, etc.
• This is not for dummies.
1/7/2014

19
CP for dummies
Is modeling what matters?
1. Model your problem with
•

Decision variables (integer or continuous)

•

Constraints

•

Some objective if you really insist

2. Run

It runs forever !
1/7/2014

20
CP for dummies
Modeling can be tricky
• Your model is not right
• Use that fancy global constraint
• Yes, I know it is logically equivalent to the constraints you already
stated

• Why didn’t you wrote a specialized propagator for you
problem?
• Why didn’t you write a specialized CP language?

• You should use a dual model and channeling constraints
• Which dual model?
• Try any you can think of!

• These advices assume the user understands what
constraint propagation can do and what it can’t do
1/7/2014

21
CP for dummies
Modeling can be tricky, the rest too!
• You’re not using the software as documented!
• You need to write a search code
• Non deterministic
• Recursive
• Side effect free

• Exactly the opposite of what you’re used to code
• Deterministic
• Iterative
• With side effects

• This advice assumes the user is a clever computer
scientist
1/7/2014

22
CP for dummies
Modeling can be tricky, the rest too!
• Your problem has symmetries!
• State generators of the symmetry group then call GAP-XXX
symmetry breaking constraint technique
• State lex constraints
• Beware, they must use a compatible ordering

• Your objective function does not propagate!
• Replace sum by max
• It does not fit your business needs? Change your business!

• Change the search strategy so that good solutions are
generated first
• I can’t tell you how to
1/7/2014

23
CP for dummies
Modeling can be tricky, the rest too!
• Use dominance constraints (or conditional
symmetry breaking)
• Use a hybrid approach with one of the following:
• LP solver
• Local search method
• Both

• Try
• Russian doll search,
• LDS (ouch, this is patented)
• Large Neighborhood Search

• …
1/7/2014

24
CP vs MP for dummies

• In order to be able to use CP, one must master
modeling
• Same for MP.
• There are many more possibilities with CP
• Too many of them

• One must also master
• Search
• Constraint propagation

• MP is useable even if you do not understand the
internal algorithms
1/7/2014

25
CP for dummies
Oxymoron
• CP is designed for clever users
• Academics
• Authors of CP systems

• Clever users that master all the complexity can
achieve very good results
• Our consultants are great
• Academics are great

• Beginners cannot
• However, they can achieve something with MP (CPLEX).

1/7/2014

26
MP at work

• Modeling is what matters
• Modeling can be done independently from
solvers
• Several modeling languages: AMPL, GAMS, OPL,
MOSEL, MPL, AIMMS
• A standard file format: MPS

• This is good because business users not
tied to a particular vendor
• Common set of benchmarks
1/7/2014

27
MP research

• Oriented towards algorithms
• Input : an MPS file
• Output : a solution + duality information (gap,
reduced cost for LP)

• Improvements do not require new modeling
features
• CPLEX speedup is 1,000,000 in 10 years
• 1,000 comes from hardware
• 1,000 comes form software
1/7/2014

28
CP research

• CP is oriented towards toolkits
• One has to combine various pieces when trying
to solve a problem
• See the famous CP for dummies series!

• CP improvements are packaged into new
modeling or search features
• Global constraints
• Search abstractions
• Symmetry breaking techniques
1/7/2014

29
Example: symmetry breaking
Different approaches for similar issue
• In MP (Margot)
• Use graph automorphism software (NAUTY) to
automatically compute the symmetries of the problem

• In SAT (Aloul et al)
• Use graph automorphism software (SAUCY) to
automatically compute the symmetries of the problem
•In CP
•Symmetries are assumed to be given as input
•(Mc Donald 03)(Kelsey et al 03) : Use new modeling
constructs to express symmetries !

1/7/2014

30
CP academic research is wrong
From an industry stand point
• The more successful CP research, the richer CP
becomes
• Selecting the right set of CP constructs for a given problem
is becoming harder an harder
• This makes the life of engineers worse and worse!
• Granted, it also expands the set of problems solvable with
CP. This is not relevant for engineers.

• The more successful CP academic research is, the
less usable CP is !
1/7/2014

31
What can we do?

• Fire academics?
• No, see later why!

• Let’s not bother with engineers?
• No, because industrial successes motivates
funding agencies

• Learn from MP community
• Yes!
• Note that we can learn from SAT community as
well
1/7/2014

32
Learn from MP
Modeling is what matters most
• Standard for expressing CP models
• Standard file format

• Existing CP books are about
• CP algorithms
• Propagation
• Search

• CP language design

• They are useful for CP system design
• Not for using a CP system to solve a given problem

• No book on modeling per se
• MP has some books [Williams]
1/7/2014

33
Learn from MP
Think algorithms
• Create executables
• Input is a problem, output is a solution
• Running time is what matters!
• Not node count, nor number of constraints checks

• Set up challenges at CP conferences
• Entries are executables that takes as input
problem instances, and try to solve them
• Similar challenges exits in combinatorial
optimization (DIMACS), data mining (KDD), model
checking, etc.
1/7/2014

34
Learn from MP
Think about optimization
• CP is not geared towards optimization
• Almost no cost aware global constraints
• Search goals do not use the objective function
• I am not sure preferences and soft constraints are the right
answer

• CP conference is never co located with an OR
conference…
• CPAIOR conference is a better place for optimization

• Add optimization problems to CSPLIB

1/7/2014

35
Learn from MP
Search code should come for free
• Improve “out of the box” performance
• Move away from DFS
• CPLEX is DFS most of the time, but not always

• Randomization
• Random restarts
• Randomize variable and value selection

1/7/2014

36
Learn from MP
Search code should come for free
• Learn during search
• No goods, symmetry breaking
• Learn which decisions have an impact on search
tree size [Refalo 04 ]

• Develop generic combination of local search
and propagation
• [Perron 04]

• It does not matter if these techniques are not
as good as ad hoc CP codes!
1/7/2014

37
Learn from MP

Reformulate before search
• Called “presolve” in MP
• For instance
• From X ≠ Y, Y ≠ Z, Z ≠ X add all_different(X,Y,Z)

• The point is that CP improvements should not
require model reformulation by users
• We can’ say that CP is 1,000,000 faster than 10 years ago
• Although this is probably true

• The speedup obtained with reformulation should
not be offset by the time needed by presolve!
• Running time is what matters!
1/7/2014

38
Learn from MP

Explanations
• CPLEX provides for sensitivity analysis and
explanations
• Explanations are important when the
problem is over constrained

1/7/2014

39
Conclusion

• CP can solve complex problems, with good
performance
• BUT, CP is difficult to learn use and maintain for
engineers
• Not because they are dumb

• CP academic research is making this worse every
year
• MP provides good out of the box performance
• SAT too

1/7/2014

40
What academics could do
Some of this is already happening
• CP academic research should look at new topics
• Standard file formats / modeling languages
• Search
• Explanations
• Optimization
• Modeling practice, Books
• Presolve
• Challenges

• Running time is what matters
• Not node count
1/7/2014

41
If we (CP community) don’t do this…

• CP will stay …
• … as an academic research topic
• … embedded in industry packages

• Generic CP systems will disappear
• Not ILOG

• Funding will disappear
• Academics will disappear
1/7/2014

42

Contenu connexe

Tendances

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
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP OptimizerPhilippe Laborie
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizerPaulShawIBM
 
Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPhilippe 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
 
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
 
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
 
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
 
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
 
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
 
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
 
Objective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingObjective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingPhilippe 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 ProblemsPhilippe 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
 
IBM - Decision Optimization
IBM - Decision OptimizationIBM - Decision Optimization
IBM - Decision OptimizationGerhard Wenzel
 
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
 
Business Optimizer Introduction
Business Optimizer IntroductionBusiness Optimizer Introduction
Business Optimizer IntroductionDonato Marrazzo
 
Model-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingModel-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingBob Fourer
 
Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Bob Fourer
 

Tendances (20)

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...
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizer
 
Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP Optimizer
 
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...
 
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
 
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
 
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...
 
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
 
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer Models
 
Objective Landscapes for Constraint Programming
Objective Landscapes for Constraint ProgrammingObjective Landscapes for Constraint Programming
Objective Landscapes for Constraint Programming
 
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three ProblemsIBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
 
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
 
IBM - Decision Optimization
IBM - Decision OptimizationIBM - Decision Optimization
IBM - Decision Optimization
 
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...
 
Business Optimizer Introduction
Business Optimizer IntroductionBusiness Optimizer Introduction
Business Optimizer Introduction
 
Model-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingModel-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-Making
 
Ch1
Ch1Ch1
Ch1
 
Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018
 

Similaire à Cp04invitedslide

Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
Strata 2016 -  Lessons Learned from building real-life Machine Learning SystemsStrata 2016 -  Lessons Learned from building real-life Machine Learning Systems
Strata 2016 - Lessons Learned from building real-life Machine Learning SystemsXavier Amatriain
 
Artur Suchwalko “What are common mistakes in Data Science projects and how to...
Artur Suchwalko “What are common mistakes in Data Science projects and how to...Artur Suchwalko “What are common mistakes in Data Science projects and how to...
Artur Suchwalko “What are common mistakes in Data Science projects and how to...Lviv Startup Club
 
"Solving Vision Tasks Using Deep Learning: An Introduction," a Presentation f...
"Solving Vision Tasks Using Deep Learning: An Introduction," a Presentation f..."Solving Vision Tasks Using Deep Learning: An Introduction," a Presentation f...
"Solving Vision Tasks Using Deep Learning: An Introduction," a Presentation f...Edge AI and Vision Alliance
 
Introduction to conjoint analysis 2021
Introduction to conjoint analysis 2021Introduction to conjoint analysis 2021
Introduction to conjoint analysis 2021Ray Poynter
 
[DSC Europe 22] Starting deep learning projects without sufficient amount of ...
[DSC Europe 22] Starting deep learning projects without sufficient amount of ...[DSC Europe 22] Starting deep learning projects without sufficient amount of ...
[DSC Europe 22] Starting deep learning projects without sufficient amount of ...DataScienceConferenc1
 
ODSC East 2020 : Continuous_learning_systems
ODSC East 2020 : Continuous_learning_systemsODSC East 2020 : Continuous_learning_systems
ODSC East 2020 : Continuous_learning_systemsAnuj Gupta
 
Kaggle Days Paris - Alberto Danese - ML Interpretability
Kaggle Days Paris - Alberto Danese - ML InterpretabilityKaggle Days Paris - Alberto Danese - ML Interpretability
Kaggle Days Paris - Alberto Danese - ML InterpretabilityAlberto Danese
 
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Xavier Amatriain
 
Addressing Uncertainty How to Model and Solve Energy Optimization Problems
Addressing Uncertainty How to Model and Solve Energy Optimization ProblemsAddressing Uncertainty How to Model and Solve Energy Optimization Problems
Addressing Uncertainty How to Model and Solve Energy Optimization Problemsoptimizatiodirectdirect
 
CPSeis &amp; GeoCraft
CPSeis &amp; GeoCraftCPSeis &amp; GeoCraft
CPSeis &amp; GeoCraftbillmenger
 
Continuous Learning Systems: Building ML systems that learn from their mistakes
Continuous Learning Systems: Building ML systems that learn from their mistakesContinuous Learning Systems: Building ML systems that learn from their mistakes
Continuous Learning Systems: Building ML systems that learn from their mistakesAnuj Gupta
 
BIG2016- Lessons Learned from building real-life user-focused Big Data systems
BIG2016- Lessons Learned from building real-life user-focused Big Data systemsBIG2016- Lessons Learned from building real-life user-focused Big Data systems
BIG2016- Lessons Learned from building real-life user-focused Big Data systemsXavier Amatriain
 
Machine Learning Vs. Deep Learning – An Example Implementation
Machine Learning Vs. Deep Learning – An Example ImplementationMachine Learning Vs. Deep Learning – An Example Implementation
Machine Learning Vs. Deep Learning – An Example ImplementationSynerzip
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisAndrey Karpov
 
Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012jonathw
 
QA CHAPTER II.pptx
QA CHAPTER II.pptxQA CHAPTER II.pptx
QA CHAPTER II.pptxTeshome48
 
Picking the right architecture and sticking to it
Picking the right architecture and sticking to itPicking the right architecture and sticking to it
Picking the right architecture and sticking to itPetter Holmström
 
SDL Trados Studio 2014 Masterclass
SDL Trados Studio 2014 MasterclassSDL Trados Studio 2014 Masterclass
SDL Trados Studio 2014 MasterclassSDL Trados
 

Similaire à Cp04invitedslide (20)

FDS Unit I_PPT.pptx
FDS Unit I_PPT.pptxFDS Unit I_PPT.pptx
FDS Unit I_PPT.pptx
 
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
Strata 2016 -  Lessons Learned from building real-life Machine Learning SystemsStrata 2016 -  Lessons Learned from building real-life Machine Learning Systems
Strata 2016 - Lessons Learned from building real-life Machine Learning Systems
 
Artur Suchwalko “What are common mistakes in Data Science projects and how to...
Artur Suchwalko “What are common mistakes in Data Science projects and how to...Artur Suchwalko “What are common mistakes in Data Science projects and how to...
Artur Suchwalko “What are common mistakes in Data Science projects and how to...
 
"Solving Vision Tasks Using Deep Learning: An Introduction," a Presentation f...
"Solving Vision Tasks Using Deep Learning: An Introduction," a Presentation f..."Solving Vision Tasks Using Deep Learning: An Introduction," a Presentation f...
"Solving Vision Tasks Using Deep Learning: An Introduction," a Presentation f...
 
Introduction to conjoint analysis 2021
Introduction to conjoint analysis 2021Introduction to conjoint analysis 2021
Introduction to conjoint analysis 2021
 
[DSC Europe 22] Starting deep learning projects without sufficient amount of ...
[DSC Europe 22] Starting deep learning projects without sufficient amount of ...[DSC Europe 22] Starting deep learning projects without sufficient amount of ...
[DSC Europe 22] Starting deep learning projects without sufficient amount of ...
 
ODSC East 2020 : Continuous_learning_systems
ODSC East 2020 : Continuous_learning_systemsODSC East 2020 : Continuous_learning_systems
ODSC East 2020 : Continuous_learning_systems
 
Kaggle Days Paris - Alberto Danese - ML Interpretability
Kaggle Days Paris - Alberto Danese - ML InterpretabilityKaggle Days Paris - Alberto Danese - ML Interpretability
Kaggle Days Paris - Alberto Danese - ML Interpretability
 
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
 
Addressing Uncertainty How to Model and Solve Energy Optimization Problems
Addressing Uncertainty How to Model and Solve Energy Optimization ProblemsAddressing Uncertainty How to Model and Solve Energy Optimization Problems
Addressing Uncertainty How to Model and Solve Energy Optimization Problems
 
CPSeis &amp; GeoCraft
CPSeis &amp; GeoCraftCPSeis &amp; GeoCraft
CPSeis &amp; GeoCraft
 
Continuous Learning Systems: Building ML systems that learn from their mistakes
Continuous Learning Systems: Building ML systems that learn from their mistakesContinuous Learning Systems: Building ML systems that learn from their mistakes
Continuous Learning Systems: Building ML systems that learn from their mistakes
 
BIG2016- Lessons Learned from building real-life user-focused Big Data systems
BIG2016- Lessons Learned from building real-life user-focused Big Data systemsBIG2016- Lessons Learned from building real-life user-focused Big Data systems
BIG2016- Lessons Learned from building real-life user-focused Big Data systems
 
Machine Learning Vs. Deep Learning – An Example Implementation
Machine Learning Vs. Deep Learning – An Example ImplementationMachine Learning Vs. Deep Learning – An Example Implementation
Machine Learning Vs. Deep Learning – An Example Implementation
 
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
 
Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012
 
QA CHAPTER II.pptx
QA CHAPTER II.pptxQA CHAPTER II.pptx
QA CHAPTER II.pptx
 
Unit no_1.pptx
Unit no_1.pptxUnit no_1.pptx
Unit no_1.pptx
 
Picking the right architecture and sticking to it
Picking the right architecture and sticking to itPicking the right architecture and sticking to it
Picking the right architecture and sticking to it
 
SDL Trados Studio 2014 Masterclass
SDL Trados Studio 2014 MasterclassSDL Trados Studio 2014 Masterclass
SDL Trados Studio 2014 Masterclass
 

Dernier

Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 

Dernier (20)

Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 

Cp04invitedslide

  • 1. CP Next Challenge: Simplicity of Use Jean-François Puget ILOG 1
  • 2. Motivation An industry (aka evil) stand point • We monitor how our CP tools are used by our customers in industry • Many customers achieve very good performance with CP • But they find it difficult to learn, use and maintain • CP academic research offers little help here • Math programming (MP) community seems more interested in usability • SAT community as well 1/7/2014 2
  • 3. Overview • Compare CP with MP • CP is too complex for engineers in industry • How serious is this? • Is CP academic research addressing the problem? • No, it even makes it worse! • What can we do about it? • Interesting new research topics • Conclusions 1/7/2014 3
  • 4. ILOG optimization products Same R&D team (I am their boss ) • Constraint Programming (CP) products • ILOG Solver and specialized extensions • ILOG OPL Studio • Math Programming (MP) products • ILOG CPLEX • ILOG OPL Studio • It is “easy” to compare them and learn from their differences 1/7/2014 4
  • 5. MP CP comparison Not that easy! Cultural difference • MP • CP • Programming • Planning • Solution • Solution • Feasible solution • Decision variables • X >=0 by default ≠ ≠ ≠ ≠ • No upper bound is OK • Almost integer is OK • Floating point computations 1/7/2014 • Programming • Computer programming • Solution • Optimal solution • Solution • Variables • X in [a, b] • a can be < 0 • a,b must be finite ≠ • Integrality is strict • Integer computations 5
  • 6. MP CP comparison Many common points • A problem is described by • Variables • Constraints (linear for MP, general for CP) • An objective function • Models look similar • Tree search/ branch and bound for both • Inference at each node • Bound strengthening / Constraint propagation • LP relaxation / Global constraints 1/7/2014 6
  • 7. MP CP Many hybrid combinations • Use LP in global constraints for CP • Use MP on one part, CP on the other, in sequential order • Use MP on one part, CP on another, concurrently • Dantzig Wolfe decomposition • MP on the master problem • CP for generating variables (columns) • Linearize CP constraints 1/7/2014 7
  • 8. What precedes is not relevant! An industry stand point • What matters is the usefulness of the technology • Is CP (or MP) useful for my problem? • How can I assess that quickly? • Is a CP (or MP) code easy to tune, to maintain? • Is a CP (or MP) code robust ? • Does performance depend too much on data? • When faced with these questions • CP doesn’t provide good answers • MP seems much more appealing • CP performance is not the issue per se • CP has numerous successes in industry 1/7/2014 8
  • 9. Example 1 • A big software company in SCM • They use ILOG Solver and ILOG Scheduler in their scheduling package • This is successful • Performance is great • They will not launch new CP projects • CP is difficult to maintain 1/7/2014 9
  • 10. Example 1 continued True story • They want transfer maintenance to an India team trained 1 week on CP • Indian people are smart and cheap • First question from India: • Why do you write in your code IlcOr(x==a, x!=a) since this is a tautology? •This is a non deterministic choice point… 1/7/2014 10
  • 11. Example 2 : from another customer True story • What solution does the system outputs when there is no solution? • None • I want a solution! • Nope • Explain me why there is no solution! 1/7/2014 11
  • 12. Example 3: graceful graph Graph coloring problem x3 x0 x2 x1 m vertices and n edges. Color vertices and edges with numbers from 0 to n x5 x4 •Colors of the vertices must be all different •all different (x1, x2, …, xm) •Other constraints on edges •Color of edge (i, j) is abs(xi – xj) 1/7/2014 •Colors of edges must be all different 12
  • 13. Example 3 Tighten the representation • All different (abs(xi - xj)) for all edges (i,j) • xi and xj are different, therefore abs(xi – xj) > 0 • Stating this makes the all different constraint tight • Much better propagation of the global constraint • Running times improve a lot • This is straightforward, isn’t it? 1/7/2014 13
  • 14. Example 4 : coin design problem From [Wallace 03] • Select coin values so that any change can be given with a minimum amount of coins • Mark said that a CP solution is easy to produce! •Let’s see if you’re as clever as Mark… 1/7/2014 14
  • 15. A model Using OPL range coin 1..6; range change 1..100; var int value[coin] in 1..100; var int num[coin] in 1..100; var int sel[change, coin] in 0..100; minimize sum(i in coin) num[i] subject to { forall(i in coin, s in change) sel[s,i] <= num[i]; forall(s in change) sum(i in coin) value[i]*sel[s,i] = s; }; It runs forever ! 1/7/2014 15
  • 16. To make it work Write search! search{ generate(value); generate (num); forall(s in change) generate(sel[s]); }; Straightforward isn’t it? It runs forever ! 1/7/2014 16
  • 17. To make it work (continued) The problem has symmetries forall(i in coin: i <> 6) { value[i]*num[i] < value[i+1]; }; It runs in .45 seconds on this laptop! See, CP is really good on this problem! 1/7/2014 17
  • 18. MP for dummies (engineers) Modeling is what matters 1. Model your problem with • Decision variables (integer and continuous) • Linear constraints • Linear objective 2. Run It may output solutions without any tuning 1/7/2014 18
  • 19. MP for dummies (engineers) Modeling can be tricky • It may run forever • In such case, change the model • Tighten it • Use Dantzig Wolfe decomposition • This is sufficient for the vast majority of MP applications • There is no need to understand MP algorithms • Difficult problems are still difficult • For these, one can use advanced techniques such as branch and price, specialized cut generation, etc. • This is not for dummies. 1/7/2014 19
  • 20. CP for dummies Is modeling what matters? 1. Model your problem with • Decision variables (integer or continuous) • Constraints • Some objective if you really insist 2. Run It runs forever ! 1/7/2014 20
  • 21. CP for dummies Modeling can be tricky • Your model is not right • Use that fancy global constraint • Yes, I know it is logically equivalent to the constraints you already stated • Why didn’t you wrote a specialized propagator for you problem? • Why didn’t you write a specialized CP language? • You should use a dual model and channeling constraints • Which dual model? • Try any you can think of! • These advices assume the user understands what constraint propagation can do and what it can’t do 1/7/2014 21
  • 22. CP for dummies Modeling can be tricky, the rest too! • You’re not using the software as documented! • You need to write a search code • Non deterministic • Recursive • Side effect free • Exactly the opposite of what you’re used to code • Deterministic • Iterative • With side effects • This advice assumes the user is a clever computer scientist 1/7/2014 22
  • 23. CP for dummies Modeling can be tricky, the rest too! • Your problem has symmetries! • State generators of the symmetry group then call GAP-XXX symmetry breaking constraint technique • State lex constraints • Beware, they must use a compatible ordering • Your objective function does not propagate! • Replace sum by max • It does not fit your business needs? Change your business! • Change the search strategy so that good solutions are generated first • I can’t tell you how to 1/7/2014 23
  • 24. CP for dummies Modeling can be tricky, the rest too! • Use dominance constraints (or conditional symmetry breaking) • Use a hybrid approach with one of the following: • LP solver • Local search method • Both • Try • Russian doll search, • LDS (ouch, this is patented) • Large Neighborhood Search • … 1/7/2014 24
  • 25. CP vs MP for dummies • In order to be able to use CP, one must master modeling • Same for MP. • There are many more possibilities with CP • Too many of them • One must also master • Search • Constraint propagation • MP is useable even if you do not understand the internal algorithms 1/7/2014 25
  • 26. CP for dummies Oxymoron • CP is designed for clever users • Academics • Authors of CP systems • Clever users that master all the complexity can achieve very good results • Our consultants are great • Academics are great • Beginners cannot • However, they can achieve something with MP (CPLEX). 1/7/2014 26
  • 27. MP at work • Modeling is what matters • Modeling can be done independently from solvers • Several modeling languages: AMPL, GAMS, OPL, MOSEL, MPL, AIMMS • A standard file format: MPS • This is good because business users not tied to a particular vendor • Common set of benchmarks 1/7/2014 27
  • 28. MP research • Oriented towards algorithms • Input : an MPS file • Output : a solution + duality information (gap, reduced cost for LP) • Improvements do not require new modeling features • CPLEX speedup is 1,000,000 in 10 years • 1,000 comes from hardware • 1,000 comes form software 1/7/2014 28
  • 29. CP research • CP is oriented towards toolkits • One has to combine various pieces when trying to solve a problem • See the famous CP for dummies series! • CP improvements are packaged into new modeling or search features • Global constraints • Search abstractions • Symmetry breaking techniques 1/7/2014 29
  • 30. Example: symmetry breaking Different approaches for similar issue • In MP (Margot) • Use graph automorphism software (NAUTY) to automatically compute the symmetries of the problem • In SAT (Aloul et al) • Use graph automorphism software (SAUCY) to automatically compute the symmetries of the problem •In CP •Symmetries are assumed to be given as input •(Mc Donald 03)(Kelsey et al 03) : Use new modeling constructs to express symmetries ! 1/7/2014 30
  • 31. CP academic research is wrong From an industry stand point • The more successful CP research, the richer CP becomes • Selecting the right set of CP constructs for a given problem is becoming harder an harder • This makes the life of engineers worse and worse! • Granted, it also expands the set of problems solvable with CP. This is not relevant for engineers. • The more successful CP academic research is, the less usable CP is ! 1/7/2014 31
  • 32. What can we do? • Fire academics? • No, see later why! • Let’s not bother with engineers? • No, because industrial successes motivates funding agencies • Learn from MP community • Yes! • Note that we can learn from SAT community as well 1/7/2014 32
  • 33. Learn from MP Modeling is what matters most • Standard for expressing CP models • Standard file format • Existing CP books are about • CP algorithms • Propagation • Search • CP language design • They are useful for CP system design • Not for using a CP system to solve a given problem • No book on modeling per se • MP has some books [Williams] 1/7/2014 33
  • 34. Learn from MP Think algorithms • Create executables • Input is a problem, output is a solution • Running time is what matters! • Not node count, nor number of constraints checks • Set up challenges at CP conferences • Entries are executables that takes as input problem instances, and try to solve them • Similar challenges exits in combinatorial optimization (DIMACS), data mining (KDD), model checking, etc. 1/7/2014 34
  • 35. Learn from MP Think about optimization • CP is not geared towards optimization • Almost no cost aware global constraints • Search goals do not use the objective function • I am not sure preferences and soft constraints are the right answer • CP conference is never co located with an OR conference… • CPAIOR conference is a better place for optimization • Add optimization problems to CSPLIB 1/7/2014 35
  • 36. Learn from MP Search code should come for free • Improve “out of the box” performance • Move away from DFS • CPLEX is DFS most of the time, but not always • Randomization • Random restarts • Randomize variable and value selection 1/7/2014 36
  • 37. Learn from MP Search code should come for free • Learn during search • No goods, symmetry breaking • Learn which decisions have an impact on search tree size [Refalo 04 ] • Develop generic combination of local search and propagation • [Perron 04] • It does not matter if these techniques are not as good as ad hoc CP codes! 1/7/2014 37
  • 38. Learn from MP Reformulate before search • Called “presolve” in MP • For instance • From X ≠ Y, Y ≠ Z, Z ≠ X add all_different(X,Y,Z) • The point is that CP improvements should not require model reformulation by users • We can’ say that CP is 1,000,000 faster than 10 years ago • Although this is probably true • The speedup obtained with reformulation should not be offset by the time needed by presolve! • Running time is what matters! 1/7/2014 38
  • 39. Learn from MP Explanations • CPLEX provides for sensitivity analysis and explanations • Explanations are important when the problem is over constrained 1/7/2014 39
  • 40. Conclusion • CP can solve complex problems, with good performance • BUT, CP is difficult to learn use and maintain for engineers • Not because they are dumb • CP academic research is making this worse every year • MP provides good out of the box performance • SAT too 1/7/2014 40
  • 41. What academics could do Some of this is already happening • CP academic research should look at new topics • Standard file formats / modeling languages • Search • Explanations • Optimization • Modeling practice, Books • Presolve • Challenges • Running time is what matters • Not node count 1/7/2014 41
  • 42. If we (CP community) don’t do this… • CP will stay … • … as an academic research topic • … embedded in industry packages • Generic CP systems will disappear • Not ILOG • Funding will disappear • Academics will disappear 1/7/2014 42