SlideShare a Scribd company logo
1 of 12
Download to read offline
June 26-29, 2018
June 26-29, 2018
CPAIOR 2018
CPAIOR 2018
© 2018 IBM Corporation
© 2018 IBM Corporation
Objective Landscapes for
Constraint Programming
Philippe Laborie, IBM
laborie@fr.ibm.com
2 / 12 CPAIOR 2018 © 2018 IBM Corporation
Goal
Improve performance of a Black-Box CP Solver (in our
case IBM ILOG CP Optimizer) by exploiting some
information on the relation between decision variables and
objective value
This idea is not new !
Impact-Based Search [Refalo-2014]
Activity-Based Search [Michel&Van Hentenryck-2012]
Linear Relaxations [Beck&Refalo-2003, Laborie&Rogerie-2016]
…, …, ...
But we had specific requirements:
It should work for variables with huge domains, typically with
continuous semantics (start/end times of activities)
It should scale to large problems with several 1000s of
variables
3 / 12 CPAIOR 2018 © 2018 IBM Corporation
Goal
Typical examples of objective functions in the real-world:
Scheduling in semiconductor manufacturing:
xi
: Boolean variables (allocations of tasks to machines)
ej
: End time of task j, Fj
: Earliness/Tardiness cost function
dk
: Delay variable between some particular tasks
Resource Constrained Project Scheduling with Net Present
Value:
ep
: End times of activities producing cash
ec
: End times of activities consuming cash
4 / 12 CPAIOR 2018 © 2018 IBM Corporation
The Philosophy of Objective Landscapes
“Lazy Programmers for Lazy Machines.”
The new technique should (almost) not add any
computational cost to the existing search algorithms
The new technique should reuse existing algorithms as
much as possible
→ Use existing algorithms in a different way !
5 / 12 CPAIOR 2018 © 2018 IBM Corporation
Objective Landscape Definition
Context:
A constrained-optimization problem:
minimize f(x1
,…,xn
)
subject to c(x1
,…,xn
,y1
,…,ym
)
x1
,…, xn
, y1
,…, ym
are decision variables
A constraint propagation algorithm P that propagates the
constraint f(x1
,…,xn
) ≤ z for a given value z
Let Xi
L
(z) (resp. Xi
U
(z) ) denote the min (resp. max) value in
the domain of xi
after propagation of f(x1
,…,xn
) ≤ z by P
6 / 12 CPAIOR 2018 © 2018 IBM Corporation
Objective Landscape Definition
Landscape function Li
of a variable xi
Li
(v) can be interpreted as an optimistic estimation of the
objective value when xi
=v (more formalization in the paper)
90o
7 / 12 CPAIOR 2018 © 2018 IBM Corporation
Objective Landscape Computation
Objective Landscape functions can be quickly computed
once and for all before entering the search by sampling a
discrete set of objective values z and running propagation
algorithm P and recording the bounds for all variables xi
They are represented using a light-weight structure (array
of pairs variable value/objective value)
Computing the landscape value Li
(v) for a value v in the
domain of xi
is fast: it can be done in O(log(N)) if N is the
number of samples (generally only a few tens) by simple
binary search
8 / 12 CPAIOR 2018 © 2018 IBM Corporation
Examples of Landscape Functions
9 / 12 CPAIOR 2018 © 2018 IBM Corporation
Objective Landscape Exploitation
In CP, landscape functions can be used in many ways
during the search:
Selection of variables
Selection of values
In a Large Neighborhood Search (LNS) context:
Selection of LNS fragment
Prevent cost degradation for some variables in LNS moves
Selection of variables and values in LNS completion
We still did not fully explore all these ideas
10 / 12 CPAIOR 2018 © 2018 IBM Corporation
Objective Landscape Exploitation
Preventing cost degradation for some variables in LNS moves
At the top level of a move, we have the current solution S and a
relaxed model around S that we want to re-optimize
For a given variable xi
, let Xi
S
denote the value of xi
in solution S
For a certain number of variables xi
(randomly selected) we just
consider the additional constraint Li
(xi
) ≤ Li
(Xi
S
)
Xi
S
Landscape function Li
Li
(Xi
S
)
11 / 12 CPAIOR 2018 © 2018 IBM Corporation
Experimental Results
Average speed-up when using objective landscapes on
135 different families of scheduling problems
12 / 12 CPAIOR 2018 © 2018 IBM Corporation
Conclusion and Future Work
Implemented in automated search of IBM ILOG CP
Optimizer V12.7.1/12.8
Average speed-up x1.5 between 12.7 and 12.8
Up to two orders of magnitude speed-up for some problems
with objective expressed as a weighted sum of variables
with continuous semantics (very common in real problems)
Future work:
Investigate other forms of landscape exploitation in the search
Objective landscapes can be generalized to store holes in the
domains
Constraints of the problem could be exploited too

More Related Content

What's hot

Solving Industrial Scheduling Problems with Constraint Programming
Solving Industrial Scheduling Problems with Constraint ProgrammingSolving Industrial Scheduling Problems with Constraint Programming
Solving Industrial Scheduling Problems with Constraint ProgrammingPhilippe Laborie
 
Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPhilippe Laborie
 
Optimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsOptimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsPhilippe 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
 
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
 
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
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP OptimizerPhilippe Laborie
 
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...Philippe Laborie
 
Modeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerModeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerPhilippe Laborie
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizerPaulShawIBM
 
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
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer WalkthroughPaulShawIBM
 
Innovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilitiesInnovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilitiesIBM Decision Optimization
 
CPLEX 12.5.1 remote object - June 2013
CPLEX 12.5.1 remote object - June 2013CPLEX 12.5.1 remote object - June 2013
CPLEX 12.5.1 remote object - June 2013Roland Wunderling
 
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization StudioRecent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization StudioIBM Decision Optimization
 
Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Bob Fourer
 
Linear Programming
Linear ProgrammingLinear Programming
Linear ProgrammingHumma Rashid
 

What's hot (18)

Solving Industrial Scheduling Problems with Constraint Programming
Solving Industrial Scheduling Problems with Constraint ProgrammingSolving Industrial Scheduling Problems with Constraint Programming
Solving Industrial Scheduling Problems with Constraint Programming
 
Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP Optimizer
 
Optimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applicationsOptimization: from mathematical tools to real applications
Optimization: from mathematical tools to real applications
 
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...
 
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...
 
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
 
An introduction to CP Optimizer
An introduction to CP OptimizerAn introduction to CP Optimizer
An introduction to CP Optimizer
 
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...
 
Modeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP OptimizerModeling and Solving Scheduling Problems with CP Optimizer
Modeling and Solving Scheduling Problems with CP Optimizer
 
TenYearsCPOptimizer
TenYearsCPOptimizerTenYearsCPOptimizer
TenYearsCPOptimizer
 
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
 
CP Optimizer Walkthrough
CP Optimizer WalkthroughCP Optimizer Walkthrough
CP Optimizer Walkthrough
 
Innovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilitiesInnovations in CPLEX performance and solver capabilities
Innovations in CPLEX performance and solver capabilities
 
CPLEX 12.5.1 remote object - June 2013
CPLEX 12.5.1 remote object - June 2013CPLEX 12.5.1 remote object - June 2013
CPLEX 12.5.1 remote object - June 2013
 
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization StudioRecent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
Recent MIP Performance Improvements in IBM ILOG CPLEX Optimization Studio
 
Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...
 
F1074145
F1074145F1074145
F1074145
 
Linear Programming
Linear ProgrammingLinear Programming
Linear Programming
 

Similar to Objective Landscapes for Constraint Programming

Applying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPKApplying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPKJeremy Chen
 
APPLYING TRANSFORMATION CHARACTERISTICS TO SOLVE THE MULTI OBJECTIVE LINEAR F...
APPLYING TRANSFORMATION CHARACTERISTICS TO SOLVE THE MULTI OBJECTIVE LINEAR F...APPLYING TRANSFORMATION CHARACTERISTICS TO SOLVE THE MULTI OBJECTIVE LINEAR F...
APPLYING TRANSFORMATION CHARACTERISTICS TO SOLVE THE MULTI OBJECTIVE LINEAR F...ijcsit
 
Applying Transformation Characteristics to Solve the Multi Objective Linear F...
Applying Transformation Characteristics to Solve the Multi Objective Linear F...Applying Transformation Characteristics to Solve the Multi Objective Linear F...
Applying Transformation Characteristics to Solve the Multi Objective Linear F...AIRCC Publishing Corporation
 
A Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming ProblemsA Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming ProblemsCarrie Romero
 
Limitations of linear programming
Limitations of linear programmingLimitations of linear programming
Limitations of linear programmingTarun Gehlot
 
Can Machine Learning Models be Trusted? Explaining Decisions of ML Models
Can Machine Learning Models be Trusted? Explaining Decisions of ML ModelsCan Machine Learning Models be Trusted? Explaining Decisions of ML Models
Can Machine Learning Models be Trusted? Explaining Decisions of ML ModelsDarek Smyk
 
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...NTT Software Innovation Center
 
Convex optmization in communications
Convex optmization in communicationsConvex optmization in communications
Convex optmization in communicationsDeepshika Reddy
 
1 resource optimization 2
1 resource optimization 21 resource optimization 2
1 resource optimization 2shushay hailu
 
Scilab Modelica conference 20150921
Scilab Modelica conference 20150921Scilab Modelica conference 20150921
Scilab Modelica conference 20150921Scilab
 
GPUFish_technical_report
GPUFish_technical_reportGPUFish_technical_report
GPUFish_technical_reportCharles Hubbard
 
Linear Discrimination Centering on Support Vector Machines
Linear Discrimination Centering on Support Vector MachinesLinear Discrimination Centering on Support Vector Machines
Linear Discrimination Centering on Support Vector Machinesbutest
 
A Real Life Application Of Linear Programming
A Real Life Application Of Linear ProgrammingA Real Life Application Of Linear Programming
A Real Life Application Of Linear ProgrammingTodd Turner
 
A Modified Chaotic Firefly Algorithm For Solving Discrete Logarithm Problem A...
A Modified Chaotic Firefly Algorithm For Solving Discrete Logarithm Problem A...A Modified Chaotic Firefly Algorithm For Solving Discrete Logarithm Problem A...
A Modified Chaotic Firefly Algorithm For Solving Discrete Logarithm Problem A...Erica Thompson
 
Chapter 2.Linear Programming.pdf
Chapter 2.Linear Programming.pdfChapter 2.Linear Programming.pdf
Chapter 2.Linear Programming.pdfTsegay Berhe
 
Sampling-Based Planning Algorithms for Multi-Objective Missions
Sampling-Based Planning Algorithms for Multi-Objective MissionsSampling-Based Planning Algorithms for Multi-Objective Missions
Sampling-Based Planning Algorithms for Multi-Objective MissionsMd Mahbubur Rahman
 

Similar to Objective Landscapes for Constraint Programming (20)

Applying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPKApplying Linear Optimization Using GLPK
Applying Linear Optimization Using GLPK
 
APPLYING TRANSFORMATION CHARACTERISTICS TO SOLVE THE MULTI OBJECTIVE LINEAR F...
APPLYING TRANSFORMATION CHARACTERISTICS TO SOLVE THE MULTI OBJECTIVE LINEAR F...APPLYING TRANSFORMATION CHARACTERISTICS TO SOLVE THE MULTI OBJECTIVE LINEAR F...
APPLYING TRANSFORMATION CHARACTERISTICS TO SOLVE THE MULTI OBJECTIVE LINEAR F...
 
Applying Transformation Characteristics to Solve the Multi Objective Linear F...
Applying Transformation Characteristics to Solve the Multi Objective Linear F...Applying Transformation Characteristics to Solve the Multi Objective Linear F...
Applying Transformation Characteristics to Solve the Multi Objective Linear F...
 
A Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming ProblemsA Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming Problems
 
Core concepts of C++
Core concepts of C++  Core concepts of C++
Core concepts of C++
 
Recent progress in CPLEX 12.6.2
Recent progress in CPLEX 12.6.2Recent progress in CPLEX 12.6.2
Recent progress in CPLEX 12.6.2
 
Limitations of linear programming
Limitations of linear programmingLimitations of linear programming
Limitations of linear programming
 
Can Machine Learning Models be Trusted? Explaining Decisions of ML Models
Can Machine Learning Models be Trusted? Explaining Decisions of ML ModelsCan Machine Learning Models be Trusted? Explaining Decisions of ML Models
Can Machine Learning Models be Trusted? Explaining Decisions of ML Models
 
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
Hybrid Computing Platform for Combinatorial Optimization with the Coherent Is...
 
Convex optmization in communications
Convex optmization in communicationsConvex optmization in communications
Convex optmization in communications
 
1 resource optimization 2
1 resource optimization 21 resource optimization 2
1 resource optimization 2
 
Scilab Modelica conference 20150921
Scilab Modelica conference 20150921Scilab Modelica conference 20150921
Scilab Modelica conference 20150921
 
GPUFish_technical_report
GPUFish_technical_reportGPUFish_technical_report
GPUFish_technical_report
 
Linear Discrimination Centering on Support Vector Machines
Linear Discrimination Centering on Support Vector MachinesLinear Discrimination Centering on Support Vector Machines
Linear Discrimination Centering on Support Vector Machines
 
A Real Life Application Of Linear Programming
A Real Life Application Of Linear ProgrammingA Real Life Application Of Linear Programming
A Real Life Application Of Linear Programming
 
A Modified Chaotic Firefly Algorithm For Solving Discrete Logarithm Problem A...
A Modified Chaotic Firefly Algorithm For Solving Discrete Logarithm Problem A...A Modified Chaotic Firefly Algorithm For Solving Discrete Logarithm Problem A...
A Modified Chaotic Firefly Algorithm For Solving Discrete Logarithm Problem A...
 
Chapter 2.Linear Programming.pdf
Chapter 2.Linear Programming.pdfChapter 2.Linear Programming.pdf
Chapter 2.Linear Programming.pdf
 
Sampling-Based Planning Algorithms for Multi-Objective Missions
Sampling-Based Planning Algorithms for Multi-Objective MissionsSampling-Based Planning Algorithms for Multi-Objective Missions
Sampling-Based Planning Algorithms for Multi-Objective Missions
 
Log polar coordinates
Log polar coordinatesLog polar coordinates
Log polar coordinates
 
MUMS: Agent-based Modeling Workshop - Practical Bayesian Optimization for Age...
MUMS: Agent-based Modeling Workshop - Practical Bayesian Optimization for Age...MUMS: Agent-based Modeling Workshop - Practical Bayesian Optimization for Age...
MUMS: Agent-based Modeling Workshop - Practical Bayesian Optimization for Age...
 

Recently uploaded

activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 

Recently uploaded (20)

activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 

Objective Landscapes for Constraint Programming

  • 1. June 26-29, 2018 June 26-29, 2018 CPAIOR 2018 CPAIOR 2018 © 2018 IBM Corporation © 2018 IBM Corporation Objective Landscapes for Constraint Programming Philippe Laborie, IBM laborie@fr.ibm.com
  • 2. 2 / 12 CPAIOR 2018 © 2018 IBM Corporation Goal Improve performance of a Black-Box CP Solver (in our case IBM ILOG CP Optimizer) by exploiting some information on the relation between decision variables and objective value This idea is not new ! Impact-Based Search [Refalo-2014] Activity-Based Search [Michel&Van Hentenryck-2012] Linear Relaxations [Beck&Refalo-2003, Laborie&Rogerie-2016] …, …, ... But we had specific requirements: It should work for variables with huge domains, typically with continuous semantics (start/end times of activities) It should scale to large problems with several 1000s of variables
  • 3. 3 / 12 CPAIOR 2018 © 2018 IBM Corporation Goal Typical examples of objective functions in the real-world: Scheduling in semiconductor manufacturing: xi : Boolean variables (allocations of tasks to machines) ej : End time of task j, Fj : Earliness/Tardiness cost function dk : Delay variable between some particular tasks Resource Constrained Project Scheduling with Net Present Value: ep : End times of activities producing cash ec : End times of activities consuming cash
  • 4. 4 / 12 CPAIOR 2018 © 2018 IBM Corporation The Philosophy of Objective Landscapes “Lazy Programmers for Lazy Machines.” The new technique should (almost) not add any computational cost to the existing search algorithms The new technique should reuse existing algorithms as much as possible → Use existing algorithms in a different way !
  • 5. 5 / 12 CPAIOR 2018 © 2018 IBM Corporation Objective Landscape Definition Context: A constrained-optimization problem: minimize f(x1 ,…,xn ) subject to c(x1 ,…,xn ,y1 ,…,ym ) x1 ,…, xn , y1 ,…, ym are decision variables A constraint propagation algorithm P that propagates the constraint f(x1 ,…,xn ) ≤ z for a given value z Let Xi L (z) (resp. Xi U (z) ) denote the min (resp. max) value in the domain of xi after propagation of f(x1 ,…,xn ) ≤ z by P
  • 6. 6 / 12 CPAIOR 2018 © 2018 IBM Corporation Objective Landscape Definition Landscape function Li of a variable xi Li (v) can be interpreted as an optimistic estimation of the objective value when xi =v (more formalization in the paper) 90o
  • 7. 7 / 12 CPAIOR 2018 © 2018 IBM Corporation Objective Landscape Computation Objective Landscape functions can be quickly computed once and for all before entering the search by sampling a discrete set of objective values z and running propagation algorithm P and recording the bounds for all variables xi They are represented using a light-weight structure (array of pairs variable value/objective value) Computing the landscape value Li (v) for a value v in the domain of xi is fast: it can be done in O(log(N)) if N is the number of samples (generally only a few tens) by simple binary search
  • 8. 8 / 12 CPAIOR 2018 © 2018 IBM Corporation Examples of Landscape Functions
  • 9. 9 / 12 CPAIOR 2018 © 2018 IBM Corporation Objective Landscape Exploitation In CP, landscape functions can be used in many ways during the search: Selection of variables Selection of values In a Large Neighborhood Search (LNS) context: Selection of LNS fragment Prevent cost degradation for some variables in LNS moves Selection of variables and values in LNS completion We still did not fully explore all these ideas
  • 10. 10 / 12 CPAIOR 2018 © 2018 IBM Corporation Objective Landscape Exploitation Preventing cost degradation for some variables in LNS moves At the top level of a move, we have the current solution S and a relaxed model around S that we want to re-optimize For a given variable xi , let Xi S denote the value of xi in solution S For a certain number of variables xi (randomly selected) we just consider the additional constraint Li (xi ) ≤ Li (Xi S ) Xi S Landscape function Li Li (Xi S )
  • 11. 11 / 12 CPAIOR 2018 © 2018 IBM Corporation Experimental Results Average speed-up when using objective landscapes on 135 different families of scheduling problems
  • 12. 12 / 12 CPAIOR 2018 © 2018 IBM Corporation Conclusion and Future Work Implemented in automated search of IBM ILOG CP Optimizer V12.7.1/12.8 Average speed-up x1.5 between 12.7 and 12.8 Up to two orders of magnitude speed-up for some problems with objective expressed as a weighted sum of variables with continuous semantics (very common in real problems) Future work: Investigate other forms of landscape exploitation in the search Objective landscapes can be generalized to store holes in the domains Constraints of the problem could be exploited too