constraint technology for real u applications u methodology u requirements on cp
Post on 15-Jan-2016
220 views
TRANSCRIPT
Constraint Technology for Real
Applications Methodology Requirements on CP
Applications
Cisco TunnelBuilder Pro
Cosytec CHIP
ILOG OPL Cplex Solver/Scheduler/Dispatcher/Configurator
Others SAP, I2, Manugistix Air Liquide Nurse Rostering/Call Centre Rostering/Timetabling/etc.
Summary
Hardware design Compilation Financial problems Placement Cutting problems Stand allocation Air traffic control Frequency allocation Network configuration Product design Production step planning Production sequencing
Production scheduling Satellite tasking Maintenance planning Product blending Time tabling Crew rotation Aircraft rotation Transport Personnel assignment Personnel requirement planning
TunnelBuilder-Pro (Cisco)
Fast Rerouter Problem Solver
Linear relaxation Interleaved search
Constraints Maximum flows Shared Risk Groups
Status Cisco Product
SERVAIR – CREW (French Railways)
Crew rostering system assign service staff to TGV train timetable joint implementation with GSI
Problem solver generates tours/cycles assigns skilled personnel
Constraints union, physical, calendar
Status operational since Mar 1995 cost reduction by 5%
Air Planner (Parc Technologies)
Schedule Retimer Plan seasonal flight schedule
Problem Solver Minimum perturbation: linear relaxation constraint propagation
Constraints #Aircraft Maximum retiming Airport slots
Status Used for IATA meetings In-house use at BA
Constraint Technology for Real
Applications Methodology Requirements on CP
Real Problems
Wrong solutions Problem formalisation
Software reports no solution Problem formalisation
No solutions found Algorithm
Wrong Solutions
Implicit Constraints
“Can’t unload where cars are parked”
Data errors
“If we don’t know the weight, we just enter 0.0”
“Balance” not achieved Mon Tue Wed Thur Fri
A Off Off Off Off Off
B Day Day Day Off Off
C Off Off Off Day Day
D Night Night Night Night Night
Software reports no solution
Planners break their own rules “Trains depart every 30 minutes”
Current business practice confused with constraints Always use machine1 before machine2
10:30 16:30
11:00 17:00
11:30 17:30
12:05 18:05
12:30 18:30
13:00 19:00
No solutions found
Attempting complete search Bus+train+tube+walking
Poor heuristics Start from origin Start from time zero
Bugs!! Poor propagation Unnecessary waking Repeated discovery of same partial solutions
Project Breakdown
Specification
Modeling
Algorithms
Delivery
Specification
Modeling
Algorithms
Delivery
Project Plan
Time
Specification
Modeling
Algorithms
Delivery
Problem Specification
Business Objectives
Operational Constraints
Solution EvaluationIdentification of evaluation criteria
Definition of cost function
User and System InterfaceUser interactivity
System requirements
Specification
Modeling
Algorithms
Delivery
Modeling
Constraint ModelingOperational Resource Constraints
Operational Time Constraints Marketing and QOS Constraints
Optimisation Function Alternative evaluation functions
User InterfaceSystem architecture
Specification
Modeling
Algorithms
Delivery
Algorithm DevelopmentProblem Analysis
Operational Constraints Detailed study of problem components
Identification of AlgorithmsPotential solvers for problem components
Heuristics
Construction of Algorithms Coding alternative configurations
Evaluation of Algorithms
Specification
Modeling
Algorithms
Delivery
Product Delivery
Graphical User Interface
Schedule/Despatch Editors
Control
Data Feeds
Semi-constant
Dynamic User input
Acceptance Testing
Documentation
Specification
Modeling
Algorithms
Delivery
Timeboxing
Regular Meetings Every 2-4 weeks
Involving multiple stakeholders Technicians Users
Reporting Progress Achievements Demos Obstacles
Planning ahead Tasks Priorities
Constraint Technology for Real
Applications Methodology Requirements on CP
Requirements on Modelling
Logical Specification “All tasks assigned a resource”
High-Level Constraints “At least two days off in any consecutive ten days”
User-definable constraints “Each overseas task requires a full-skills team”
Requirements on Solving
Each solution must satisfy the model All constraints correctly checkable
Performance must be better than current approach All state-of-the-art algorithms available Search control able to mimic current heuristics
Solutions must be found Full and incomplete search Tailored algorithms
Fast prototyping and development Plug and play with algorithms Orthogonal reasoning and search
CLP – Nature and Scope
RepairRepairLibraryLibrary
Linear Linear ProgrammingProgramming
LibraryLibrary
Interval Interval ReasoningReasoning
LibraryLibrary
Finite Finite DomainDomainLibraryLibrary
Algorithm
ModelModel
CPLEXCPLEXXpress-MPXpress-MP
Three Application Algorithms
Cisco Fast Rerouter
BA Schedule Retimer
Wincanton Transport Cooled goods transportation
Fast Rerouter
Problem statement
Reserve 10 for ce on le Reserve 20 for cf on lf Reserve 20 not 30 for ce and cf on kl
10
30
20
.
max
ce
cf
cecf
cecf
Q
Q
st
Problem model
dfdfe
ofof
ffefe
nOe nIefefe
f efe
Qdcd
eQoco
st
QX
ece
otherwise
fdn
fon
XXnf
st
X
)(
)(
)( )(
)(:
)(:
.
*max
)(:
0
)(1
)(1
:,
.
min
Xfe = 0/1 if flow f is diverted through edge e
Our Algorithm
(1) Find an alternative route for each flow (2) Find an edge E supporting several alternative routes,
that can’t, in the worst case, support them all. If there aren’t any, we are done!
(3) Choose a flow that must not use edge E (choice point) and go to (1)
Results and Comparison
network
(N,E) flows
opt
obj
MIP
cpu,vars,cstrs
Our
Algorithm
a(38,172) 54 132 18.77, 33, 26 3.38, 5
d(50,464) 178 410 TO, 274, 200 517.60, 29
e(50,464) 418 890 TO, 626, 453 4033.98, 64
f(208,676) 28 256 TO, 73, 60 252.44, 23
j(212,734) 154 fail TO, 380, 300 95.33, 5
k(365,1526) 178 422 OOM, 900, 694 310.90, 12
BA Schedule Retimer
IC-Parc 31
Activity Overlaps ~ Fixed TimesS1
S2S3
E1E2
E3
No. ofResourcesRequired
Time
321
Activities
321
S1 S2S3
Potentialresourcebottleneckpoints
Probing
1. Send temporal constraints to linear solver
2. Set flight times to linear optimum
3. Generate resource profile
4. Identify bottleneck: if there isn’t one we are done!
5. Add temporal precedence constraint on two bottleneck tasksand go back to (1)
Experimental Results
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
10 20 50
Number of Activities
LP
No
des
Integer/Linear Programming
Our Algorithm
Integer/Linear vs Our Algorithm: LP Nodes
Logistics with Depots
Subtasks
Logistics with Depots Decomposition
(A) consignment routing (B) load consolidation (C) vehicle routing (D) inter-depot consolidation (E) vehicle assignment (F) driver allocation
Hybridisation Solve subproblems sequentially For each subproblem utilise feedback from the next one
Results
Problem constraints respected Result took a scheduler 3 months to assess He thinks it is good Please don’t ask him to check another result
Consultation
Demand this week?