SlideShare a Scribd company logo
© 2013 IBM Corporation
December 12, 2013
Optimization : from mathematical tools
to real applications
Illustration on IBM ILOG Optimization
technologies and solutions
Philippe Laborie (laborie@fr.ibm.com)
© 2013 IBM Corporation2
Optimization : from mathematical tools to real applications
 IBM ILOG Optimization technologies and solutions
 From mathematical tools to real applications
© 2013 IBM Corporation3
IBM ILOG Optimization technologies and solutions
 Optimization
– Let:
• X A vector of decision variables
• f(X) A function
• C(X) Some constraints limiting the possible combinations of values for
decision variables
– Optimization problem:
minimize f(X)
subject to C(X)
© 2013 IBM Corporation4
IBM ILOG Optimization technologies and solutions
 Optimization: Linear Programming
– Let:
• X A vector of numerical decision variables
• f(X) A linear function
• C(X) Some linear constraints limiting the possible combinations of
values for decision variables
– Optimization problem:
minimize f(X)
subject to C(X)
© 2013 IBM Corporation5
IBM ILOG Optimization technologies and solutions
 Optimization: Linear Programming
© 2013 IBM Corporation6
IBM ILOG Optimization technologies and solutions
 Optimization: Mixed Integer Linear Programming
– Let:
• X A vector of numerical or integer decision variables
• f(X) A linear function
• C(X) Some linear constraints limiting the possible combinations of
values for decision variables
– Optimization problem:
minimize f(X)
subject to C(X)
© 2013 IBM Corporation7
IBM ILOG Optimization technologies and solutions
 Optimization: Mixed Integer Linear Programming
© 2013 IBM Corporation8
IBM ILOG Optimization technologies and solutions
 Optimization: Quadratic Programming
– Let:
• X A vector of numerical or integer decision variables
• f(X) A quadratic or linear function
• C(X) Some quadratic or linear constraints limiting the possible
combinations of values for decision variables
– Optimization problem:
minimize f(X)
subject to C(X)
© 2013 IBM Corporation9
IBM ILOG Optimization technologies and solutions
 Optimization: Quadratic Programming
© 2013 IBM Corporation10
IBM ILOG Optimization technologies and solutions
 Optimization: Constraint Programming
– Let:
• X A vector of integer decision variables
• f(X) A general expression
• C(X) Some general constraints limiting the possible combinations of
values for decision variables
– Optimization problem:
minimize f(X)
subject to C(X)
© 2013 IBM Corporation11
IBM ILOG Optimization technologies and solutions
 Optimization: Constraint Programming
© 2013 IBM Corporation12
IBM ILOG Optimization technologies and solutions
 Optimization: Constraint-Based Scheduling
– Let:
• X A vector of integer and interval decision variables (activities)
• f(X) A general expression
• C(X) Some general constraints limiting the possible combinations of
values for decision variables (temporal constraints,
resources, …)
– Optimization problem:
minimize f(X)
subject to C(X)
© 2013 IBM Corporation13
IBM ILOG Optimization technologies and solutions
 Optimization: Constraint-Based Scheduling
© 2013 IBM Corporation14
IBM ILOG Optimization technologies and solutions
CPLEX Optimization Studio
OPL Modeling Language & IDE
LP MIP
QP ...
CPLEX Optimizer
CSP COP
Scheduling
CP Optimizer
APIs:
C++
Python
Java
.NET
© 2013 IBM Corporation15
IBM ILOG Optimization technologies and solutions
© 2013 IBM Corporation16
From mathematical tools to real applications
 Some real applications
– Aerospace
• Project scheduling, Aircraft assembly scheduling, Assembly line configuration, …
– Banking, Finance
• Portfolio optimization, Trade matching and timing, Cash management, Loan
configuration and lending, …
– Energy & Utilities
• Network planning, Nuclear plant outage scheduling, Maintenance, Production
planning, …
– Logistics, Supply Chain
• Routing, Planning and scheduling, Shipment planning and order fulfillment, …
– Manufacturing
• Network optimization, Production planning and scheduling, Factory configuration, …
– Media & Communications
• Advertizing and program scheduling, event and personnel scheduling, …
– Retail
• Inventory optimization, Retail distribution and replenishment planning, Store
optimization, …
– Travel and transportation
• Crew scheduling, Timetabling, Airport resources allocation, Container management,
…
© 2013 IBM Corporation17
From mathematical tools to real applications
 There is a gap between mathematical tools and the real applications
LP
MIP
QP
...
CSP COP
Scheduling
minimize f(X)
subject to C(X)
© 2013 IBM Corporation18
From mathematical tools to real applications
 There is a gap between mathematical tools and the real applications
 This presentation uses material from the excellent blog of JF Puget:
IT Best Kept Secret Is Optimization
https://www.ibm.com/developerworks/mydeveloperworks/blogs/jfp/
© 2013 IBM Corporation19
From mathematical tools to real applications
 There is a gap between mathematical tools and the real applications
– Different stakeholders / objectives
– Language, Vocabulary
– Problem definition: which problem(s) do we want to solve?
– Data issues
– Solution definition: what is a solution to the problem(s) ?
– Solution display & User’s interactions
– Customer’s expectations
– Selecting the adequate solving technologies
– Development tools
– Communication channels with customer
– Proof of Concepts (POCs)
© 2013 IBM Corporation20
From mathematical tools to real applications
> Different stakeholders / objectives
 Buyer (management)
– Objectives: maximize ROI, minimize risk
 Final users
– Objectives: have the business problem solved, minimize change
 Their objective are not necessarily the same, they may even conflict
 They do not care about the technology
– They do not understand it, sometimes they do not trust it!
– They will typically expect that the resolution time of their problem scales
linearly with its size
 They only care about their problem
© 2013 IBM Corporation21
From mathematical tools to real applications
> Different stakeholders / objectives
 Buyer (management)
– Objectives: maximize ROI, minimize risk
 Final users
– Objectives: have the business problem solved, minimize change
 They only care about their problem
 … and the integration of the new solution in their environment
– Can be very hard if it implies process changes
– Can be tough if it implies to move or fire people
– Easier when optimization is used to do more :
• More revenue, better service, new services, etc
© 2013 IBM Corporation22
From mathematical tools to real applications
> Different stakeholders / objectives
 Optimization specialists
 Application developers, IT
 They deliver the solution to the business problem
 Applications developers and IT specialists generally do not know
optimization technologies
 This is something we are pushing in IBM: make optimization
technologies easier so that they are accessible to IT specialists and
developers (Model&Run paradigm, ODME)
© 2013 IBM Corporation23
From mathematical tools to real applications
> Different stakeholders / objectives
Developer
Buyer User
Optimization
expert
© 2013 IBM Corporation24
From mathematical tools to real applications
> Different stakeholders / objectives
Developer
Buyer User
Optimization
expert
© 2013 IBM Corporation25
From mathematical tools to real applications
> Different stakeholders / objectives
Developer
Buyer User
Optimization
expert
© 2013 IBM Corporation26
From mathematical tools to real applications
> Different stakeholders / objectives
Developer
Buyer User
Optimization
expert
© 2013 IBM Corporation27
From mathematical tools to real applications
> Different stakeholders / objectives
Developer
Buyer User
Optimization
expert
© 2013 IBM Corporation28
From mathematical tools to real applications
> Different stakeholders / objectives
Buyer User
Optimization
expertDeveloper
© 2013 IBM Corporation29
From mathematical tools to real applications
> Different stakeholders / objectives
Developer
Buyer User
Optimization
expert
© 2013 IBM Corporation30
From mathematical tools to real applications
> Different stakeholders / objectives
 You need to have a good understanding of the ecosystem of the project
© 2013 IBM Corporation31
From mathematical tools to real applications
> Language, Vocabulary
 Each domain has its own terminology : don’t expect a customer to
describe his optimization problems in terms of variables, constraints and
objective function
 You will hear about: ingot, PSCW, APX, connection, coil, berth,
ratability, shelf life, crude distillation unit (CDU), discount rate,
reticle, WBS, palonnier (fr), bâti (fr), …
 You have to communicate with the customer/prospect using his own
business language in order to understand his processes
© 2013 IBM Corporation32
From mathematical tools to real applications
> Problem definition
 What is the problem to be solved?
 Usually, many (most of) constraints and objective functions are implicit,
they need to be formalized
 A good technique for discovering implicit constraints is to iteratively enrich
the model and present some solutions of the current model to the user,
he will often easily see:
– That something is wrong/infeasible in the solution because some implicit
constraint was not modeled
– That the solution is not of good quality because some implicit objective was
not considered
 A good technique for discovering that some constraints have been
overstated in the model is to match a current solution of the customer
against the model and analyze which constraints are violated
© 2013 IBM Corporation33
From mathematical tools to real applications
> Problem definition
 You need to solve the right problem
 J.F. Puget: “It is better to provide an approximate answer to today's
problem than to perfectly solve yesterday's problem.”
 J. Tuckey: “An approximate answer to the right problem is worth a good
deal more than an exact answer to an approximate problem.”
© 2013 IBM Corporation34
From mathematical tools to real applications
> Problem definition
 But: Optimization will need some model of the real problem
 Models cannot fully describe the reality, some aspects of the real problem
will have to be:
– Ignored
– Relaxed (e.g. n almost similar machines => 1 resource of capacity n)
– Over-constrained (e.g. increase task duration to account for uncertainty)
– Approximated (e.g. to model an implicit objective function)
 There is a trade-off to be found between:
– The complexity/precision of the model
– The capacity of optimization technologies to satisfactorily solve it
This is the art of optimization modeling
© 2013 IBM Corporation35
From mathematical tools to real applications
> Problem definition
 Be ready to have moving targets
 The user may initially have a limited scope in mind:
– Focused on a particular sub-problem
– Think anything large would not be manageable
 … as the project advances, the ambitions may change to widen (or
restrict) the scope and/or scale of the model
The model should be written in such a way that refactoring is easy
(model agility): clean data structures, well-structured code, etc.
For instance, even for complex projects, the OPL language makes it
natural to separate data manipulation from the heart of the model itself.
Furthermore, the heart of the model is in general quite concise.
© 2013 IBM Corporation36
From mathematical tools to real applications
> Data issues
 Data may be stored on different type of source:
– Data files (txt, csv, excel, …)
– Data bases
– Data streams (web, …)
 It can be the result of a computation:
– Statistical analysis
– Current state of an execution system
– …
 Connection to data source should be easy
IBM Optimization products integrate easy-to-use connectors with data
files, data bases, statistic tools like SPSS, Python API …
© 2013 IBM Corporation37
From mathematical tools to real applications
> Data issues
 Data confidentiality issues : data may contain strategic information for
the user about its processes, its customers, …
 Customer may not agree to share his data as is
 When communicating with the customer, it is useful to have tools / data
file formats that encrypt/anonymize the data
 CPLEX Optimization Studio 12.6 provides functionalities to save a CP
model in an anonymized form (rename variables)
© 2013 IBM Corporation38
From mathematical tools to real applications
> Data issues
 Having data is not enough, you must have good quality data
 Data can be:
– Uncertain
– Imprecise
– Incomplete
– Incorrect
 Optimization is a GIGO computation (garbage in, garbage out):
Wrong data  Useless solutions
 Good practices:
– Check data quality in the model
– Visualize solutions to easily see that something is going wrong
© 2013 IBM Corporation39
From mathematical tools to real applications
> Data issues : uncertainties
 When data is uncertain (activity durations, costs, prices, etc.), think of
stochastic optimization techniques but remember:
 A prerequisite for solving a stochastic optimization problem is that you are
able to solve (efficiently) the deterministic version of the problem
 CPLEX Optimization Studio 12.6 provides a new constraint for modeling
stochastic/robust scheduling problems on disjunctive resources
© 2013 IBM Corporation40
From mathematical tools to real applications
> Data issues
 Having good quality data is not enough
 You must get realistic data early enough in the project
– For developing and testing the data structures and the model
– It helps communication with the customer about his requirements
 You must work with many instances, not only one
– Avoid model over-tuning (see later)
© 2013 IBM Corporation41
From mathematical tools to real applications
> Solution definition
 The notion of optimal solution is always relative to a model of the real
problem not to the real problem itself
 The user only cares about his real problem
 If you can convince the customer that the model is close enough to the
reality and if you have some guarantees on the solution quality with
respect to the model (optimality proof, gap), that can be of course useful
but remember: the user does not care about the technology and does
not understand it
 The user will assess the quality of the solution by:
– Comparing it to the current solutions he gets
– Trying to see if the solution you provide cannot be easily improved
© 2013 IBM Corporation42
From mathematical tools to real applications
> Solution definition
Current
user
solution
Minimized
objective
Bad solution
Good solution
© 2013 IBM Corporation43
From mathematical tools to real applications
> Solution definition
Current
user
solution
Minimized
objective
Bad solution
Good solution
© 2013 IBM Corporation44
From mathematical tools to real applications
> Solution definition
Current
user
solution
Minimized
objective
Bad solution
Good solution
You are not solving the right problem!
© 2013 IBM Corporation45
From mathematical tools to real applications
> Solution definition
 A good solution is a feasible and locally optimal solution that is better
than the current solution of the customer
 IBM Optimization engines pay special attention to the fact there is no
easily improved solution close to the one provided. For instance CPLEX
provides the notion of solution polishing for that. CP Optimizer operates
on neighborhoods on incumbent solutions.
© 2013 IBM Corporation46
From mathematical tools to real applications
> Solution definition
 Customers like solutions
 Instead of one solution, they often prefer to have several ones
– Because there are several objectives (multi-objective, Pareto optimality)
– Because he is the “decider”, not the machine
© 2013 IBM Corporation47
From mathematical tools to real applications
> Solution definition
 Customers like solutions
 Even when the problem is infeasible, they like to have one solution!
– Relax constraint in the objective function
 CPLEX Optimizer provide the notion of feasopt algorithm to provide a
solution that violates the constraints as few as possible
 CP Optimizer make it easy to relax constraints as objective terms.
Specially for scheduling constraints with the notion of optional interval
variable
 … or they would like to understand why the problem is infeasible
 CPLEX and CP Optimizers provide a conflict refiner functionality to
compute a minimal subset of infeasible constraints
© 2013 IBM Corporation48
From mathematical tools to real applications
> Solution display / User interactions
 Optimization is not worth it if the results aren't understood by the
business users
 The best way to make them understandable is to use nice graphics
 It also helps a lot the communication with customer during the
development of the model
 Solution display and model development should preferably be done in
parallel
© 2013 IBM Corporation49
From mathematical tools to real applications
> Solution display / User interactions
 Users often need some “what if analysis” and solve different scenarios
to analyze the impact of some decisions
– What happens if I have less trucks available ?
– What happens if this machine breakdowns ?
– What happens if the due date of a task is changed ?
 This notion of what if analysis and scenarios is at the heart of ODME
 Cooperative problem solving is also a common paradigm
– Configuration problems (e.g. car configuration)
© 2013 IBM Corporation50
From mathematical tools to real applications
> Customer’s expectations
 Requirements on solution architecture & infrastructure (clients, servers,
cloud, machines, communication)
 Requirements in terms of response time, scalability
– Users will in general expect that response time grows linearly with problem
size
– … and decrease linearly with the number of machine cores
 Requirements in terms of quality
– No bugs. Bugs in the engine may be killers (it's not like for a research work)
– Solution determinism: two resolutions of the same problem in the same
conditions should give the same result
© 2013 IBM Corporation51
From mathematical tools to real applications
> Selecting the adequate solving technologies
 LP, MILP, SAT, CP, Scheduling, ... : not always easy to select the adequate
technology
 It is a plus if you can easily change from one to the other in case you
need to reach a dead-end
 IBM Optimization technologies are based on a common modeling layer
(called Concert Technology) that makes it easier to change from one
optimization technology to another one
© 2013 IBM Corporation52
From mathematical tools to real applications
> Selecting the adequate solving technologies
 Real life problems are often complex:
– Large size
– Mix of different source of complexity
 The problem often needs to be split into several optimization models that
are solved with different technologies
– Hierarchical decompositions: planning with MIP, then scheduling with CP, …
– Temporal decomposition on time-windows
– Column Generation
– Logical Benders decompositions
– …
 Try to understand how the customer is currently solving his problem, it
may give some directions for decomposing the problem
© 2013 IBM Corporation53
From mathematical tools to real applications
> Selecting the adequate solving technologies
 Model tuning is good
 Model over-tuning is bad (you will only loose time)
– Do not fine tune your model until the model is complete
– Do not fine tune your model on a single problem instance !
– Do not fine tune your model on a single random seed !
© 2013 IBM Corporation54
From mathematical tools to real applications
> Development tools
 Which time are you allowed ?
– Time to compute a solution
• Often time boxed, best solution found in limited time
– Time to develop the software application
• Boxed too by project funding
 Trade off
– Fast solver with poor development tool
• Not much time to tune model/data, poor performance in the end
– Slow solver with great development tool
• Lots of time to tune model/data, poor performance in the end
– Great solver with great development tools
• Lots of time to tune model/data, great performance in the end
© 2013 IBM Corporation55
From mathematical tools to real applications
> Proof of Concepts (POCs)
 Often, potential customers will require a POC to convince them that we
are the best for solving their problem
 A POC is the same thing as the final project except that:
– 1. You have much less time for doing it (a few days/weeks)
– 2. You are in general not paid for it
– 3. It will be an essential element for the success of the deal
 The POC is not only about optimization, a good visualization and
interaction with the user is crucial already at this point
 The POC solves a simpler problem than the actual one. This problem:
– Must be relevant to the customer
– Must convince the customer (and the model developer) that the approach will
scale with problem complexity and with problem size: the POC should work
with real problem size
© 2013 IBM Corporation56
From mathematical tools to real applications
> Communication channels with customer
 We need to get feedback on the optimization products and help the
costumers
 Different channels for communication with users:
– Technical sales people
– Training sessions
– Consulting (internal, external)  Partners
– Customer support: L1 L2 L3  R&D
– Discussion forums
– User's meetings/conferences
© 2013 IBM Corporation57
From mathematical tools to real applications
> Take-home messages
 You need to have a good understanding of the ecosystem of the project
 You have to understand the vocabulary of the customer
 You need to solve the right problem
 You need to make sure you access good quality data early enough
 A good solution is a feasible and locally optimal solution that is better
than the current solution of the customer
 Customers like solutions (even when the problem is infeasible)
 Nice graphics are necessary and should preferably be developed in
parallel with the model
© 2013 IBM Corporation58
From mathematical tools to real applications
> Take-home messages
 Optimization is usually not a one-step process, it often requires
interactions with the user (what if analysis, cooperative problem
solving)
 Be ready to combine several optimization models that are solved with
different technologies. Be creative !
 Model tuning is good, model over-tuning is bad
 You need good model development tools
© 2013 IBM Corporation59
From mathematical tools to real applications
> Take-home messages
Project
environment
Problem
definition
Data
Problem
decomposition
Optimization
technologies
Visualization
Interactivity
Development
tools

More Related Content

PDF
Industrial project and machine scheduling with Constraint Programming
PDF
Objective Landscapes for Constraint Programming
PDF
A (Not So Short) Introduction to CP Optimizer for Scheduling
PDF
New Results for the GEO-CAPE Observation Scheduling Problem
PDF
ICAPS-2020 Industry Session
PDF
Recent advances on large scheduling problems in CP Optimizer
PDF
Solving Industrial Scheduling Problems with Constraint Programming
PDF
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
Industrial project and machine scheduling with Constraint Programming
Objective Landscapes for Constraint Programming
A (Not So Short) Introduction to CP Optimizer for Scheduling
New Results for the GEO-CAPE Observation Scheduling Problem
ICAPS-2020 Industry Session
Recent advances on large scheduling problems in CP Optimizer
Solving Industrial Scheduling Problems with Constraint Programming
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...

What's hot (20)

PDF
Conditional interval variables: A powerful concept for modeling and solving c...
PDF
CP Optimizer pour la planification et l'ordonnancement
PDF
Modeling and Solving Scheduling Problems with CP Optimizer
PDF
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
PDF
Planning/Scheduling with CP Optimizer
PDF
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
PDF
CP Optimizer Walkthrough
PDF
Cp04invitedslide
PPT
Lessonslearnedeuro
PPTX
Mathematical Optimisation - Fundamentals and Applications
PPT
1 resource optimization 2
PDF
Application of linear programming techniques to practical
PPT
Introduction to linear programming
PPTX
Linear programming
PDF
Karmarkar's Algorithm For Linear Programming Problem
PPT
Tbs910 linear programming
DOCX
Application of linear programming technique for staff training of register se...
PPTX
Linear programming problem
PPSX
Optimization Computing Platform for the Construction Industry
PDF
Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe...
Conditional interval variables: A powerful concept for modeling and solving c...
CP Optimizer pour la planification et l'ordonnancement
Modeling and Solving Scheduling Problems with CP Optimizer
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
Planning/Scheduling with CP Optimizer
Self-Adapting Large Neighborhood Search: Application to single-mode schedulin...
CP Optimizer Walkthrough
Cp04invitedslide
Lessonslearnedeuro
Mathematical Optimisation - Fundamentals and Applications
1 resource optimization 2
Application of linear programming techniques to practical
Introduction to linear programming
Linear programming
Karmarkar's Algorithm For Linear Programming Problem
Tbs910 linear programming
Application of linear programming technique for staff training of register se...
Linear programming problem
Optimization Computing Platform for the Construction Industry
Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe...
Ad

Viewers also liked (18)

PDF
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
PDF
An introduction to CP Optimizer
PDF
Accelerating the Development of Efficient CP Optimizer Models
PDF
Model Presolve, Warmstart and Conflict Refining in CP Optimizer
PDF
Reasoning with Conditional Time-intervals
PDF
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
PDF
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
PDF
Numerical analysis convexity, concavity
PDF
Logica | Intelligent Self learning - a helping hand in financial crime
 
PDF
11 x1 t12 06 maxima & minima (2013)
PPTX
Maxima & Minima for IIT JEE | askIITians
PPT
Applications of maxima and minima
PPTX
Maxima and minima
PPS
Traveling across India ( with sounds)
PPT
A Day In The Life Of A Monk
PDF
Practicle application of maxima and minima
PDF
Ic engine ies gate ias 20 years question and answers
DOCX
Heat transfer questions
IBM ILOG CP Optimizer for Detailed Scheduling Illustrated on Three Problems
An introduction to CP Optimizer
Accelerating the Development of Efficient CP Optimizer Models
Model Presolve, Warmstart and Conflict Refining in CP Optimizer
Reasoning with Conditional Time-intervals
An Optimal Iterative Algorithm for Extracting MUCs in a Black-box Constraint ...
Modeling and Solving Resource-Constrained Project Scheduling Problems with IB...
Numerical analysis convexity, concavity
Logica | Intelligent Self learning - a helping hand in financial crime
 
11 x1 t12 06 maxima & minima (2013)
Maxima & Minima for IIT JEE | askIITians
Applications of maxima and minima
Maxima and minima
Traveling across India ( with sounds)
A Day In The Life Of A Monk
Practicle application of maxima and minima
Ic engine ies gate ias 20 years question and answers
Heat transfer questions
Ad

Similar to Optimization: from mathematical tools to real applications (20)

PDF
Constraint Programming - An Alternative Approach to Heuristics in Scheduling
PDF
Industrial Algorithms
PDF
Navy Training Scheduling - Euro 2021
PDF
TenYearsCPOptimizer
PPTX
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
PDF
The Value of IBM Rational Solutions in a PLM System
PDF
Prespective analytics with DOcplex and pandas
PPTX
Mathematical Programming for Traffic forecasting .pptx
PPT
Managing Complexity and Change with Scalable Software Design
PDF
Lpp through graphical analysis
PDF
Chapter 2.Linear Programming.pdf
PDF
What to do as simulation expert
PDF
Closing the Gap on Digital Manufacturing
PDF
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
PDF
Microsoft Dynamics CRM - XRM Advantage for Solution Builders Whitepaper
PDF
Cloud Solutions - what do we mean by Solution in the Cloud Era?
PDF
Ibm db2 update2019 intro ending
DOCX
Linear programming manufacturing application
PDF
Test Bank for Systems Analysis and Design 11th Edition by Tilley
PDF
Test Bank for Systems Analysis and Design 11th Edition by Tilley
Constraint Programming - An Alternative Approach to Heuristics in Scheduling
Industrial Algorithms
Navy Training Scheduling - Euro 2021
TenYearsCPOptimizer
Decision Optimization - CPLEX Optimization Studio - Product Overview(2).PPTX
The Value of IBM Rational Solutions in a PLM System
Prespective analytics with DOcplex and pandas
Mathematical Programming for Traffic forecasting .pptx
Managing Complexity and Change with Scalable Software Design
Lpp through graphical analysis
Chapter 2.Linear Programming.pdf
What to do as simulation expert
Closing the Gap on Digital Manufacturing
Best Practices & Lessons Learned from the field on EMC Documentum xCP 2.0
Microsoft Dynamics CRM - XRM Advantage for Solution Builders Whitepaper
Cloud Solutions - what do we mean by Solution in the Cloud Era?
Ibm db2 update2019 intro ending
Linear programming manufacturing application
Test Bank for Systems Analysis and Design 11th Edition by Tilley
Test Bank for Systems Analysis and Design 11th Edition by Tilley

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Empathic Computing: Creating Shared Understanding
PDF
cuic standard and advanced reporting.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation theory and applications.pdf
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation_ Review paper, used for researhc scholars
Spectral efficient network and resource selection model in 5G networks
Understanding_Digital_Forensics_Presentation.pptx
Network Security Unit 5.pdf for BCA BBA.
Unlocking AI with Model Context Protocol (MCP)
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Reach Out and Touch Someone: Haptics and Empathic Computing
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Building Integrated photovoltaic BIPV_UPV.pdf
The AUB Centre for AI in Media Proposal.docx
Empathic Computing: Creating Shared Understanding
cuic standard and advanced reporting.pdf
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”

Optimization: from mathematical tools to real applications

  • 1. © 2013 IBM Corporation December 12, 2013 Optimization : from mathematical tools to real applications Illustration on IBM ILOG Optimization technologies and solutions Philippe Laborie (laborie@fr.ibm.com)
  • 2. © 2013 IBM Corporation2 Optimization : from mathematical tools to real applications  IBM ILOG Optimization technologies and solutions  From mathematical tools to real applications
  • 3. © 2013 IBM Corporation3 IBM ILOG Optimization technologies and solutions  Optimization – Let: • X A vector of decision variables • f(X) A function • C(X) Some constraints limiting the possible combinations of values for decision variables – Optimization problem: minimize f(X) subject to C(X)
  • 4. © 2013 IBM Corporation4 IBM ILOG Optimization technologies and solutions  Optimization: Linear Programming – Let: • X A vector of numerical decision variables • f(X) A linear function • C(X) Some linear constraints limiting the possible combinations of values for decision variables – Optimization problem: minimize f(X) subject to C(X)
  • 5. © 2013 IBM Corporation5 IBM ILOG Optimization technologies and solutions  Optimization: Linear Programming
  • 6. © 2013 IBM Corporation6 IBM ILOG Optimization technologies and solutions  Optimization: Mixed Integer Linear Programming – Let: • X A vector of numerical or integer decision variables • f(X) A linear function • C(X) Some linear constraints limiting the possible combinations of values for decision variables – Optimization problem: minimize f(X) subject to C(X)
  • 7. © 2013 IBM Corporation7 IBM ILOG Optimization technologies and solutions  Optimization: Mixed Integer Linear Programming
  • 8. © 2013 IBM Corporation8 IBM ILOG Optimization technologies and solutions  Optimization: Quadratic Programming – Let: • X A vector of numerical or integer decision variables • f(X) A quadratic or linear function • C(X) Some quadratic or linear constraints limiting the possible combinations of values for decision variables – Optimization problem: minimize f(X) subject to C(X)
  • 9. © 2013 IBM Corporation9 IBM ILOG Optimization technologies and solutions  Optimization: Quadratic Programming
  • 10. © 2013 IBM Corporation10 IBM ILOG Optimization technologies and solutions  Optimization: Constraint Programming – Let: • X A vector of integer decision variables • f(X) A general expression • C(X) Some general constraints limiting the possible combinations of values for decision variables – Optimization problem: minimize f(X) subject to C(X)
  • 11. © 2013 IBM Corporation11 IBM ILOG Optimization technologies and solutions  Optimization: Constraint Programming
  • 12. © 2013 IBM Corporation12 IBM ILOG Optimization technologies and solutions  Optimization: Constraint-Based Scheduling – Let: • X A vector of integer and interval decision variables (activities) • f(X) A general expression • C(X) Some general constraints limiting the possible combinations of values for decision variables (temporal constraints, resources, …) – Optimization problem: minimize f(X) subject to C(X)
  • 13. © 2013 IBM Corporation13 IBM ILOG Optimization technologies and solutions  Optimization: Constraint-Based Scheduling
  • 14. © 2013 IBM Corporation14 IBM ILOG Optimization technologies and solutions CPLEX Optimization Studio OPL Modeling Language & IDE LP MIP QP ... CPLEX Optimizer CSP COP Scheduling CP Optimizer APIs: C++ Python Java .NET
  • 15. © 2013 IBM Corporation15 IBM ILOG Optimization technologies and solutions
  • 16. © 2013 IBM Corporation16 From mathematical tools to real applications  Some real applications – Aerospace • Project scheduling, Aircraft assembly scheduling, Assembly line configuration, … – Banking, Finance • Portfolio optimization, Trade matching and timing, Cash management, Loan configuration and lending, … – Energy & Utilities • Network planning, Nuclear plant outage scheduling, Maintenance, Production planning, … – Logistics, Supply Chain • Routing, Planning and scheduling, Shipment planning and order fulfillment, … – Manufacturing • Network optimization, Production planning and scheduling, Factory configuration, … – Media & Communications • Advertizing and program scheduling, event and personnel scheduling, … – Retail • Inventory optimization, Retail distribution and replenishment planning, Store optimization, … – Travel and transportation • Crew scheduling, Timetabling, Airport resources allocation, Container management, …
  • 17. © 2013 IBM Corporation17 From mathematical tools to real applications  There is a gap between mathematical tools and the real applications LP MIP QP ... CSP COP Scheduling minimize f(X) subject to C(X)
  • 18. © 2013 IBM Corporation18 From mathematical tools to real applications  There is a gap between mathematical tools and the real applications  This presentation uses material from the excellent blog of JF Puget: IT Best Kept Secret Is Optimization https://www.ibm.com/developerworks/mydeveloperworks/blogs/jfp/
  • 19. © 2013 IBM Corporation19 From mathematical tools to real applications  There is a gap between mathematical tools and the real applications – Different stakeholders / objectives – Language, Vocabulary – Problem definition: which problem(s) do we want to solve? – Data issues – Solution definition: what is a solution to the problem(s) ? – Solution display & User’s interactions – Customer’s expectations – Selecting the adequate solving technologies – Development tools – Communication channels with customer – Proof of Concepts (POCs)
  • 20. © 2013 IBM Corporation20 From mathematical tools to real applications > Different stakeholders / objectives  Buyer (management) – Objectives: maximize ROI, minimize risk  Final users – Objectives: have the business problem solved, minimize change  Their objective are not necessarily the same, they may even conflict  They do not care about the technology – They do not understand it, sometimes they do not trust it! – They will typically expect that the resolution time of their problem scales linearly with its size  They only care about their problem
  • 21. © 2013 IBM Corporation21 From mathematical tools to real applications > Different stakeholders / objectives  Buyer (management) – Objectives: maximize ROI, minimize risk  Final users – Objectives: have the business problem solved, minimize change  They only care about their problem  … and the integration of the new solution in their environment – Can be very hard if it implies process changes – Can be tough if it implies to move or fire people – Easier when optimization is used to do more : • More revenue, better service, new services, etc
  • 22. © 2013 IBM Corporation22 From mathematical tools to real applications > Different stakeholders / objectives  Optimization specialists  Application developers, IT  They deliver the solution to the business problem  Applications developers and IT specialists generally do not know optimization technologies  This is something we are pushing in IBM: make optimization technologies easier so that they are accessible to IT specialists and developers (Model&Run paradigm, ODME)
  • 23. © 2013 IBM Corporation23 From mathematical tools to real applications > Different stakeholders / objectives Developer Buyer User Optimization expert
  • 24. © 2013 IBM Corporation24 From mathematical tools to real applications > Different stakeholders / objectives Developer Buyer User Optimization expert
  • 25. © 2013 IBM Corporation25 From mathematical tools to real applications > Different stakeholders / objectives Developer Buyer User Optimization expert
  • 26. © 2013 IBM Corporation26 From mathematical tools to real applications > Different stakeholders / objectives Developer Buyer User Optimization expert
  • 27. © 2013 IBM Corporation27 From mathematical tools to real applications > Different stakeholders / objectives Developer Buyer User Optimization expert
  • 28. © 2013 IBM Corporation28 From mathematical tools to real applications > Different stakeholders / objectives Buyer User Optimization expertDeveloper
  • 29. © 2013 IBM Corporation29 From mathematical tools to real applications > Different stakeholders / objectives Developer Buyer User Optimization expert
  • 30. © 2013 IBM Corporation30 From mathematical tools to real applications > Different stakeholders / objectives  You need to have a good understanding of the ecosystem of the project
  • 31. © 2013 IBM Corporation31 From mathematical tools to real applications > Language, Vocabulary  Each domain has its own terminology : don’t expect a customer to describe his optimization problems in terms of variables, constraints and objective function  You will hear about: ingot, PSCW, APX, connection, coil, berth, ratability, shelf life, crude distillation unit (CDU), discount rate, reticle, WBS, palonnier (fr), bâti (fr), …  You have to communicate with the customer/prospect using his own business language in order to understand his processes
  • 32. © 2013 IBM Corporation32 From mathematical tools to real applications > Problem definition  What is the problem to be solved?  Usually, many (most of) constraints and objective functions are implicit, they need to be formalized  A good technique for discovering implicit constraints is to iteratively enrich the model and present some solutions of the current model to the user, he will often easily see: – That something is wrong/infeasible in the solution because some implicit constraint was not modeled – That the solution is not of good quality because some implicit objective was not considered  A good technique for discovering that some constraints have been overstated in the model is to match a current solution of the customer against the model and analyze which constraints are violated
  • 33. © 2013 IBM Corporation33 From mathematical tools to real applications > Problem definition  You need to solve the right problem  J.F. Puget: “It is better to provide an approximate answer to today's problem than to perfectly solve yesterday's problem.”  J. Tuckey: “An approximate answer to the right problem is worth a good deal more than an exact answer to an approximate problem.”
  • 34. © 2013 IBM Corporation34 From mathematical tools to real applications > Problem definition  But: Optimization will need some model of the real problem  Models cannot fully describe the reality, some aspects of the real problem will have to be: – Ignored – Relaxed (e.g. n almost similar machines => 1 resource of capacity n) – Over-constrained (e.g. increase task duration to account for uncertainty) – Approximated (e.g. to model an implicit objective function)  There is a trade-off to be found between: – The complexity/precision of the model – The capacity of optimization technologies to satisfactorily solve it This is the art of optimization modeling
  • 35. © 2013 IBM Corporation35 From mathematical tools to real applications > Problem definition  Be ready to have moving targets  The user may initially have a limited scope in mind: – Focused on a particular sub-problem – Think anything large would not be manageable  … as the project advances, the ambitions may change to widen (or restrict) the scope and/or scale of the model The model should be written in such a way that refactoring is easy (model agility): clean data structures, well-structured code, etc. For instance, even for complex projects, the OPL language makes it natural to separate data manipulation from the heart of the model itself. Furthermore, the heart of the model is in general quite concise.
  • 36. © 2013 IBM Corporation36 From mathematical tools to real applications > Data issues  Data may be stored on different type of source: – Data files (txt, csv, excel, …) – Data bases – Data streams (web, …)  It can be the result of a computation: – Statistical analysis – Current state of an execution system – …  Connection to data source should be easy IBM Optimization products integrate easy-to-use connectors with data files, data bases, statistic tools like SPSS, Python API …
  • 37. © 2013 IBM Corporation37 From mathematical tools to real applications > Data issues  Data confidentiality issues : data may contain strategic information for the user about its processes, its customers, …  Customer may not agree to share his data as is  When communicating with the customer, it is useful to have tools / data file formats that encrypt/anonymize the data  CPLEX Optimization Studio 12.6 provides functionalities to save a CP model in an anonymized form (rename variables)
  • 38. © 2013 IBM Corporation38 From mathematical tools to real applications > Data issues  Having data is not enough, you must have good quality data  Data can be: – Uncertain – Imprecise – Incomplete – Incorrect  Optimization is a GIGO computation (garbage in, garbage out): Wrong data  Useless solutions  Good practices: – Check data quality in the model – Visualize solutions to easily see that something is going wrong
  • 39. © 2013 IBM Corporation39 From mathematical tools to real applications > Data issues : uncertainties  When data is uncertain (activity durations, costs, prices, etc.), think of stochastic optimization techniques but remember:  A prerequisite for solving a stochastic optimization problem is that you are able to solve (efficiently) the deterministic version of the problem  CPLEX Optimization Studio 12.6 provides a new constraint for modeling stochastic/robust scheduling problems on disjunctive resources
  • 40. © 2013 IBM Corporation40 From mathematical tools to real applications > Data issues  Having good quality data is not enough  You must get realistic data early enough in the project – For developing and testing the data structures and the model – It helps communication with the customer about his requirements  You must work with many instances, not only one – Avoid model over-tuning (see later)
  • 41. © 2013 IBM Corporation41 From mathematical tools to real applications > Solution definition  The notion of optimal solution is always relative to a model of the real problem not to the real problem itself  The user only cares about his real problem  If you can convince the customer that the model is close enough to the reality and if you have some guarantees on the solution quality with respect to the model (optimality proof, gap), that can be of course useful but remember: the user does not care about the technology and does not understand it  The user will assess the quality of the solution by: – Comparing it to the current solutions he gets – Trying to see if the solution you provide cannot be easily improved
  • 42. © 2013 IBM Corporation42 From mathematical tools to real applications > Solution definition Current user solution Minimized objective Bad solution Good solution
  • 43. © 2013 IBM Corporation43 From mathematical tools to real applications > Solution definition Current user solution Minimized objective Bad solution Good solution
  • 44. © 2013 IBM Corporation44 From mathematical tools to real applications > Solution definition Current user solution Minimized objective Bad solution Good solution You are not solving the right problem!
  • 45. © 2013 IBM Corporation45 From mathematical tools to real applications > Solution definition  A good solution is a feasible and locally optimal solution that is better than the current solution of the customer  IBM Optimization engines pay special attention to the fact there is no easily improved solution close to the one provided. For instance CPLEX provides the notion of solution polishing for that. CP Optimizer operates on neighborhoods on incumbent solutions.
  • 46. © 2013 IBM Corporation46 From mathematical tools to real applications > Solution definition  Customers like solutions  Instead of one solution, they often prefer to have several ones – Because there are several objectives (multi-objective, Pareto optimality) – Because he is the “decider”, not the machine
  • 47. © 2013 IBM Corporation47 From mathematical tools to real applications > Solution definition  Customers like solutions  Even when the problem is infeasible, they like to have one solution! – Relax constraint in the objective function  CPLEX Optimizer provide the notion of feasopt algorithm to provide a solution that violates the constraints as few as possible  CP Optimizer make it easy to relax constraints as objective terms. Specially for scheduling constraints with the notion of optional interval variable  … or they would like to understand why the problem is infeasible  CPLEX and CP Optimizers provide a conflict refiner functionality to compute a minimal subset of infeasible constraints
  • 48. © 2013 IBM Corporation48 From mathematical tools to real applications > Solution display / User interactions  Optimization is not worth it if the results aren't understood by the business users  The best way to make them understandable is to use nice graphics  It also helps a lot the communication with customer during the development of the model  Solution display and model development should preferably be done in parallel
  • 49. © 2013 IBM Corporation49 From mathematical tools to real applications > Solution display / User interactions  Users often need some “what if analysis” and solve different scenarios to analyze the impact of some decisions – What happens if I have less trucks available ? – What happens if this machine breakdowns ? – What happens if the due date of a task is changed ?  This notion of what if analysis and scenarios is at the heart of ODME  Cooperative problem solving is also a common paradigm – Configuration problems (e.g. car configuration)
  • 50. © 2013 IBM Corporation50 From mathematical tools to real applications > Customer’s expectations  Requirements on solution architecture & infrastructure (clients, servers, cloud, machines, communication)  Requirements in terms of response time, scalability – Users will in general expect that response time grows linearly with problem size – … and decrease linearly with the number of machine cores  Requirements in terms of quality – No bugs. Bugs in the engine may be killers (it's not like for a research work) – Solution determinism: two resolutions of the same problem in the same conditions should give the same result
  • 51. © 2013 IBM Corporation51 From mathematical tools to real applications > Selecting the adequate solving technologies  LP, MILP, SAT, CP, Scheduling, ... : not always easy to select the adequate technology  It is a plus if you can easily change from one to the other in case you need to reach a dead-end  IBM Optimization technologies are based on a common modeling layer (called Concert Technology) that makes it easier to change from one optimization technology to another one
  • 52. © 2013 IBM Corporation52 From mathematical tools to real applications > Selecting the adequate solving technologies  Real life problems are often complex: – Large size – Mix of different source of complexity  The problem often needs to be split into several optimization models that are solved with different technologies – Hierarchical decompositions: planning with MIP, then scheduling with CP, … – Temporal decomposition on time-windows – Column Generation – Logical Benders decompositions – …  Try to understand how the customer is currently solving his problem, it may give some directions for decomposing the problem
  • 53. © 2013 IBM Corporation53 From mathematical tools to real applications > Selecting the adequate solving technologies  Model tuning is good  Model over-tuning is bad (you will only loose time) – Do not fine tune your model until the model is complete – Do not fine tune your model on a single problem instance ! – Do not fine tune your model on a single random seed !
  • 54. © 2013 IBM Corporation54 From mathematical tools to real applications > Development tools  Which time are you allowed ? – Time to compute a solution • Often time boxed, best solution found in limited time – Time to develop the software application • Boxed too by project funding  Trade off – Fast solver with poor development tool • Not much time to tune model/data, poor performance in the end – Slow solver with great development tool • Lots of time to tune model/data, poor performance in the end – Great solver with great development tools • Lots of time to tune model/data, great performance in the end
  • 55. © 2013 IBM Corporation55 From mathematical tools to real applications > Proof of Concepts (POCs)  Often, potential customers will require a POC to convince them that we are the best for solving their problem  A POC is the same thing as the final project except that: – 1. You have much less time for doing it (a few days/weeks) – 2. You are in general not paid for it – 3. It will be an essential element for the success of the deal  The POC is not only about optimization, a good visualization and interaction with the user is crucial already at this point  The POC solves a simpler problem than the actual one. This problem: – Must be relevant to the customer – Must convince the customer (and the model developer) that the approach will scale with problem complexity and with problem size: the POC should work with real problem size
  • 56. © 2013 IBM Corporation56 From mathematical tools to real applications > Communication channels with customer  We need to get feedback on the optimization products and help the costumers  Different channels for communication with users: – Technical sales people – Training sessions – Consulting (internal, external)  Partners – Customer support: L1 L2 L3  R&D – Discussion forums – User's meetings/conferences
  • 57. © 2013 IBM Corporation57 From mathematical tools to real applications > Take-home messages  You need to have a good understanding of the ecosystem of the project  You have to understand the vocabulary of the customer  You need to solve the right problem  You need to make sure you access good quality data early enough  A good solution is a feasible and locally optimal solution that is better than the current solution of the customer  Customers like solutions (even when the problem is infeasible)  Nice graphics are necessary and should preferably be developed in parallel with the model
  • 58. © 2013 IBM Corporation58 From mathematical tools to real applications > Take-home messages  Optimization is usually not a one-step process, it often requires interactions with the user (what if analysis, cooperative problem solving)  Be ready to combine several optimization models that are solved with different technologies. Be creative !  Model tuning is good, model over-tuning is bad  You need good model development tools
  • 59. © 2013 IBM Corporation59 From mathematical tools to real applications > Take-home messages Project environment Problem definition Data Problem decomposition Optimization technologies Visualization Interactivity Development tools