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 Production scheduling
Compilation Satellite tasking
Financial problems Maintenance planning
Placement Product blending
Cutting problems Time tabling
Stand allocation Crew rotation
Air traffic control Aircraft rotation
Frequency allocation Transport
Network configuration Personnel assignment
Product design Personnel requirement planning
Production step planning
Production sequencing
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
10:30 16:30
Planners break their own rules 11:00 17:00
“Trains depart every 30 minutes” 11:30 17:30
12:05 18:05
12:30 18:30
13:00 19:00
Current business practice confused with constraints
Always use machine1 before machine2
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
Problem Specification
Specification Business Objectives
Operational Constraints
Modeling
Solution Evaluation
Algorithms Identification of evaluation criteria
Definition of cost function
Delivery User and System Interface
User interactivity
System requirements
Modeling
Constraint Modeling
Specification
Operational Resource Constraints
Operational Time Constraints
Modeling Marketing and QOS Constraints
Algorithms Optimisation Function
Alternative evaluation functions
Delivery
User Interface
System architecture
Algorithm Development
Problem Analysis
Operational Constraints
Specification
Detailed study of problem components
Identification of Algorithms
Modeling Potential solvers for problem components
Heuristics
Algorithms Construction of Algorithms
Coding alternative configurations
Delivery Evaluation of Algorithms
Product Delivery
Graphical User Interface
Specification
Schedule Editors
Control
Modeling
Data Feeds
Algorithms Semi-constant
Dynamic
User input
Delivery
Acceptance Testing
Documentation
Project Plan
Specification
Modeling
Algorithms
Delivery
Time
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
Model
Algorithm
Finite
Repair
Domain
Library
Library Interval Linear
Reasoning CPLEX
Xpress-MP
Programming
Library Library
Three Application Algorithms
Cisco
Fast Rerouter
BA
Schedule Retimer
Wincanton Transport
Cooled goods transportation
Fast Rerouter
Problem statement
Reserve 10 for ce on le
max Qcf Qce
Reserve 20 for cf on lf Qcf Qce 20
Reserve 20 not 30 for ce and cf on kl st. Qcf 30
Qce 10
Problem model
Xfe = 0/1 if flow f is diverted through edge e
min Xfe
f e
1 n o( f )
f , n :
Xfe Xfe 1 n d ( f )
eO ( n ) eI ( n ) 0 otherwise
max Xfe * Qfe
st.
f
o : c(o) Qfe
e : c(e)
o ( f ) o
st.
d : c(d ) Qfe
d ( f )d
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 opt MIP Our
flows
(N,E) obj cpu,vars,cstrs 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
Activity Overlaps ~ Fixed Times
Activities S1 E1
E2
S2
S3 E3
No. of
Resources
Required 3
2
1
Time
Potential
resource 3 2
bottleneck 1
points S2
S3 S1
IC-Parc 31
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 tasks
and go back to (1)
Experimental Results
20000
18000
16000
14000
LP Nodes
12000
10000 Integer/Linear Programming
8000
Our Algorithm
6000
4000
2000
0
10 20 50
Number of Activities
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