Multi-Thread Integrative Cooperative
Optimization for Rich VRP
Teodor Gabriel Crainic, Gloria Cerasela Crişan,
Nadia Lahrichi, Michel Gendreau,
Walter Rei, Thibaut Vidal
DOMinant 2009, Molde, Norway
Multi-Thread Integrative Cooperative
Optimization for Rich VRP
Teodor Gabriel Crainic, Gloria Cerasela Crişan,
Nadia Lahrichi, Michel Gendreau,
Walter Rei, Thibaut Vidal
DOMinant 2009, Molde, Norway
Plan
Our research program: Addressing comprehensively rich
(combinatorial optimization) (planning) problems
Goals, objectives, inspiration / fundamental ideas
The Integrative Cooperative Search approach
Rich VRP: Concept and literature review
Applying ICS to rich VRP
The current application: MDPVRP
Planning and uncertainty
Perspectives
3
© Teodor Gabriel Crainic 2009
Our Research Program
Planning and management of complex systems
Transportation, logistics, telecommunications, …
Design, scheduling, routing, …
Combinatorial optimization problems
Mix-integer formulations
Formally hard problems
Large instances
Plan now, repetitively execute later: uncertainty
More complex modeling and algorithmic issues
4
© Teodor Gabriel Crainic 2009
Our Research Program
(2)
Need “good” solutions in “reasonable” computing times
Exact methods for reduced complexity/dimensions
Decomposition, enumeration, bounds, cuts, …
Heuristics and meta-heuristics
Parallel computation
Cooperative search
The problem-solving paradigms evolve, however
5
© Teodor Gabriel Crainic 2009
Rich Problem Setting
Large number of interacting attributes (characteristics)
Larger than in “classical” (“academic”) settings
Problem characterization
Objectives
Uncertainty
That one desires to (must
) address simultaneously
6
© Teodor Gabriel Crainic 2009
Design of Wireless Networks
Simultaneously
Determine the appropriate number of base stations
Location
Height & power
Number of antennas/station
Tilt & orientation of each antenna
Optimize cost, coverage & exposure to electrosmog
7
© Teodor Gabriel Crainic 2009
Rich VRP
Vehicle routing in practice
Attributes of several generic problems
Complex “cost” functions
8
© Teodor Gabriel Crainic 2009
The Journey of Milk
…..
9
© Teodor Gabriel Crainic 2009
10
© Teodor Gabriel Crainic 2009
Actual Rich VRP Applications at FPLQ
Coalition of all dairy farmers
A number of processing plants
Transportation centrally negotiated and managed
Carrier contracting: assign farms to carriers and plants
+ route construction
( strategic/tactic )
Operational route adjustments
11
© Teodor Gabriel Crainic 2009
Multiple Routing Attributes
Time windows
Vehicle capacities
Route duration & length
Topology of routes
Multi-compartment
Multi-depot
Multiple periods
Complex cost functions
Pick up at farmers
Deliveries at plants (very different in capacities)
Mixing pickups and deliveries (sometimes)
Multiple tours
…
Planning now by FDLQ, execute repetitively later by carriers
12
© Teodor Gabriel Crainic 2009
Object and Goals of the Research Program
Models and methods for addressing “rich” problems
Combinatorial optimization
Planning
Uncertainty
Operations management and plan adjustment
Applications to routing and (service) design
13
© Teodor Gabriel Crainic 2009
What Methodology for Rich Problems?
Simplify (!!)
Series of simpler problems
Simultaneous handling of multiple attributes
A more complex problem to address!
Propose a “new” approach
14
© Teodor Gabriel Crainic 2009
Sources of Inspiration
Decomposition
Major methodological tool in optimization
Domain decomposition in parallel computation
Solution reconstruction? “Partition” modification?
Simplification
Fixing part of a rich problem may yield a case easier to address
Cooperative (parallel) meta-heuristics successful in harnessing the power of different algorithms
Guidance mechanisms
15
© Teodor Gabriel Crainic 2009
Sources of Inspiration
(3)
VRPTW (Berger & Barkaoui, 2004)
Evolved two populations
Minimize total travel time
Minimize temporal violations
16
© Teodor Gabriel Crainic 2009
Cooperative Multi-search
Several independent ([meta-]heuristic or “exact”) search threads work simultaneously on several processors & exchange information with the common goal of solving a given problem instance
Exchange meaningful information in a timely manner
What information?
Between what processes? When & how?
What does one do with imported/exchanged data?
Most successful: asynchronous direct/ indirect exchanges
17
© Teodor Gabriel Crainic 2009
Controlled Direct Exchange Mechanisms
Search r
Search j
Search k
Search i
Search h
18
© Teodor Gabriel Crainic 2009
Search l
Direct Exchange Mechanisms: Diffusion
Search j
Search r
Search k
Search i
Search h
19
© Teodor Gabriel Crainic 2009
Search l
Indirect, Memory-based Exchange Mechanisms
Search j
Search i
Search k
Memory, Pool
Reference Set
Elite Set
Data Warehouse
20
© Teodor Gabriel Crainic 2009
Search l
Memory-based Mechanisms
No direct exchanges among searches
Data is deposited and extracted from the common repository structure according to each method’s own logic
Asynchronous operations and process independence easy to enforce
Easy to keep track of exchanged data
Dynamic and adaptive structure
Exchanged information may be manipulated to build new/global data and search directions = guidance
21
© Teodor Gabriel Crainic 2009
Sources of Inspiration
(4)
VRPTW (Le Bouthiller et al. 2005)
Parallel cooperative guided meta-heuristic
Two different tabu searches
Two GA (simple) crossover
Education through post-optimisation
Communications though a central memory (pool)
Patterns of arcs in good/average/bad solutions in memory and their evolution
Particular phases and guidance based on patterns
22
© Teodor Gabriel Crainic 2009
Sources of Inspiration
(5)
Wireless network design (Crainic et al. 2006)
Parallel cooperative guided meta-heuristic
Several tabu searches work on parts of the search space to optimize relative to certain attributes only
A genetic algorithm to combine partial solutions
Communications though a central memory (pool)
Particular phases and guidance
23
© Teodor Gabriel Crainic 2009
ICS Fundamental Ideas & Concepts
Decomposition by attribute
Concurrent population evolution
Solver specialization
Cooperation with self-adjusting and guidance features
24
© Teodor Gabriel Crainic 2009
Shared-Memory ICS
Integrator Integrator
Partial
Solutions
(set A)
Partial
Solutions
(set B)
Complete
Solutions
Partial
Solvers (set A)
Partial
Solver (set A)
Partial
Solvers (set B)
Partial
Solver (set B)
25
© Teodor Gabriel Crainic 2009
Global
Search
Coordinator
Decomposition by Attribute
Simpler settings by fixing (ignoring) variables or constraints
“Eliminating” variables or constraints might yield the same sub-problems but impair the reconstruction of solutions
Yields
Well-addressed, “classical” variants with state-of-theart algorithms
Formulations amenable to efficient algorithmic developments
Our idea: be opportunistic!
26
© Teodor Gabriel Crainic 2009
Decomposition by Attribute
(2)
Each subproblem = Particular fixed attribute set
Addressed using effective specialized methods
→
Partial Solvers
Partial Solvers focus on the unfixed attributes
→ Partial Solutions
Multiple search threads
One or several methods for each subproblem
Meta-heuristic or exact
Central-memory cooperation
27
© Teodor Gabriel Crainic 2009
Decomposition by Attribute
(3)
Issues and challenges
Homogeneous vs. heterogeneous population
Purposeful evolution of partial solutions
Reconstruction & improvement of complete solutions
28
© Teodor Gabriel Crainic 2009
Reconstructing Complete Solutions
Recombining Partial Solutions to yield complete ones
Search threads / operators → Integrators
Select and forward
Population-based, evolutionary methods:
GA & Path Relinking
Mathematical programming-based models
29
© Teodor Gabriel Crainic 2009
Reconstructing Complete Solutions
(2)
Issues and challenges
Selection of partial solutions for combination
Which subproblems?
What quality?
What diversity?
Selection of complete solutions for inclusion in the central-memory population
What quality?
What diversity?
30
© Teodor Gabriel Crainic 2009
Integrative Crossover population
P’ of elite partial solutions
Partial solution selection operators
Integrative crossover operators
Mutation/
Education
Admissible selection operators population
P of complete solutions
31
© Teodor Gabriel Crainic 2009
Improving Complete Solutions
Search threads – Solvers
Evolve & improve complete solution population
These are difficult problems!
If they were “easy”, we would not need ICS!
Should modify solutions in ways partial solvers would not do
Post-optimization certainly interesting
Large neighbourhoods for “few” iterations
Select few solutions and solve and exact problem
Local branching on variables from different attribute, … sets
32
© Teodor Gabriel Crainic 2009
Purposeful Evolution
Current processes
Partial Solvers work on particular subproblems defined exogenously ↔
Initial entering communication
Intra Partial Solver exchanges & evolution through central-memory cooperation
Integrators extract & combine Partial Solutions ↔
One-way communications
Partial solutions
Integrator
Complete-solution pool
33
© Teodor Gabriel Crainic 2009
Purposeful Evolution – Current Processes
No communications among Partial Solvers on different attribute sets
No communications from Complete-solution pool to
Integrators and Partial Solvers
No modifications to subproblem definition
(values of attributes in corresponding sets)
no feed back
34
© Teodor Gabriel Crainic 2009
Purposeful Evolution – Issues
Reconstruct / approximate global status of the search
Information exchange mechanisms
Guidance for Partial Solvers & global search
Evolve toward high-quality complete solutions
In absence of a mathematical framework
Apply cooperation principles
Avoid “heavy-handed” process control
A “richer” role for the
Global Search Coordinator
35
© Teodor Gabriel Crainic 2009
Global Search Coordinator – Monitoring
Pools / populations
Complete solutions (direct)
Partial solutions (& integrators) (direct or indirect)
Exchanges / communications (possibly)
36
© Teodor Gabriel Crainic 2009
Global Search Coordinator – Monitoring
(2)
Classical (central) memory statistics
A “richer” memory through analysis of solutions & communications
Quality of solution & evolution of population
Impact on population (quality & diversity)
Presence of solutions or solution elements in various types/classes of solutions
Arcs, routes
Good, average, poor solutions
Solutions with particular attribute sets, …
37
© Teodor Gabriel Crainic 2009
Global Search Coordinator – Monitoring
(3)
The process – Partial Solver, Integrator, Solver – that produced the solution
Search space covering
Attribute values (combinations of) corresponding to visited search space regions
(how often, quality measure)
…
38
© Teodor Gabriel Crainic 2009
Global Search Coordinator – Guidance
Partial Solvers cooperate and communicate according to their own internal logic
Based on monitoring results, “instructions” (solutions, often) are sent GSC → Partial Solver (pool) or Integrator
Enrich quality or diversity
Modify the values of the fixed attributes
Moving the search to a different region
Modify the sets of attributes defining the partition
Modify parameter values or method or replace method
39
© Teodor Gabriel Crainic 2009
ICS Concurrent Evolution set S
1 of partial solvers population
P
1 of partial solutions set S
2 of partial solvers set S
3 of partial solvers population
P
2 of partial solutions population
P
3 of partial solutions population
P’ of elite partial solutions
Selective migration Guiding migration
Evolution Integrative evolution set S of solvers global monitoring
& guidance set I of integrators global evolution guiding-migration operators
40
© Teodor Gabriel Crainic 2009 population
P of complete solutions
Zoom on Partial Solver Organization
GA
1 partial solver
Legend
Selective migration
Evolution
Guiding migration
GA
2 partial solver population
P i of partial solutions
TS
1 partial solver
TS
2 partial solver
41
© Teodor Gabriel Crainic 2009
Rich VRP
A concept that has emerged in the last decade or so
To focus attention on problems that are closer to the real problems encountered in practical settings
Some references:
Two SINTEF working papers by Bräysy, Gendreau,
Hasle, and Løkketangen
Special issue of CEJOR (2006) edited by Hartl, Hasle, and Janssens
Several recent papers dealing with specific Rich VRPs
© Teodor Gabriel Crainic 2009
Rich VRP: Supply Side Extensions
Heterogeneous fleet
Variable travel times
Multiple routes
Multiple depots
Location-routing
Multi-compartment
Complex cost structure
Loading constraints
© Teodor Gabriel Crainic 2009
Rich VRP: Demand Side Extensions
Presence of backhauls
Pickup and delivery
Split deliveries
Periodic problems
Inventory routing
Dynamic and stochastic problems
Compatibility issues
Loading constraints
© Teodor Gabriel Crainic 2009
MDPVRP and MDPVRPTW
Multiple depots
With given number of homogeneous vehicles at each depot
Periodic problem
Planning horizon of t
“days” (periods)
For each customer: a list of acceptable visit day “patterns”
Each customer must be assigned to a single depot and a single pattern and routes must be constructed for each depot/pattern, in such a way that the total cost of all the resulting routes is minimized.
© Teodor Gabriel Crainic 2009
MDPVRP and MDPVRPTW: Literature Review
Integrated approach (Parthanadee and Logendran, 2006)
Complex variant of MDPVRPTW
Customers may be served from different depots on different days
Tabu Search in which depot and pattern changes are made
Much more extensive literature exists on the MDVRP and the
PVRP (and their variants with time windows).
© Teodor Gabriel Crainic 2009
An Important Property
Any instance of the MDVRP(TW) can be transformed into an instance of the PVRP(TW)
By clever redefinition of the allowed patterns
Distances to customers, however, become day-dependent
Similarly, any instance of the MDPVRP(TW) can be transformed into a (much) larger instance of the PVRP(TW)
→ One can use the same solution procedure to solve the
PVRP(TW), the MDVRP(TW) and the MDPVRP(TW)!
© Teodor Gabriel Crainic 2009
An Important Property
(2)
The previous property leads to a natural decomposition of the
MDPVRP(TW) into two subproblems:
PVRP(TW) → Fix depot assignments
MDVRP(TW) → Fix pattern assignments
We can use the same solvers as Partial Solvers for the two subproblems and as Global Solver.
© Teodor Gabriel Crainic 2009
Solvers
Currently, we use two solvers:
A local search solver based on the Unified Tabu Search
(UTS) procedure of Cordeau et al. (2001)
This solver handles instances with or without time windows
A new population search solver (HAPGA)
This solver only handles instances without time windows (for the time being)
© Teodor Gabriel Crainic 2009
Solution Representation
For each customer:
Depot assignment
Pattern assignment
For each depot and each day:
The routes that are performed
Some solvers (HAPGA) also use a different representation at some stages of the solution process
© Teodor Gabriel Crainic 2009
Solvers: UTS
Proposed by Cordeau et al. (1997, 2001)
A fairly straightforward Tabu search procedure based on the
GENI insertion procedure (Gendreau et al., 1992)
Infeasible solutions w.r.t. capacity and route length:
Allowed, but penalized with self-adjusting penalties
Critical for a good performance!
Handles time windows
Can be generalized easily to deal with MDPVRP(TW)
© Teodor Gabriel Crainic 2009
Solvers: HAPGA
New solver under development
HAPGA: Hybrid Adaptive Penalties Genetic Algorithm
A solver for the PVRP (and “equivalent” problems)
Combines two threads of ideas:
Prins’ (2002) memetic approach for the VRP
Solution representation, population management, …
Allowing infeasible solutions with respect to capacity and route length constraint violations
With self-adjusting penalties as in UTS
© Teodor Gabriel Crainic 2009
The chromosome representation of VRP solutions is as giant TSP tour covering customers without delimiters!
Solutions are extracted from chromosome using a SPLIT procedure (shortest path problem on an auxiliary graph)
“Standard” crossover operators
Solution enhancement through local search
53
© Teodor Gabriel Crainic 2009
Illustration of
Prins’ Approach
© Teodor Gabriel Crainic 2009
54
HAPGA: Solution Representation
To handle periods, HAPGA maintains two chromosomes for each solution:
Route chromosome
As in Prins’ approach
Maintains for each “day” the sequence of customer visits
“Days” are listed sequentially (with delimiters)
Pattern chromosome
Maintains for each customer the pattern chosen
(redundant information)
© Teodor Gabriel Crainic 2009
HAPGA: Solution Evaluation
Prins and his co-authors:
Enforce strict capacity and route duration constraints
Allow to violate the fleet size constraint
Easy SPP for SPLITTING giant tours
In HAPGA:
Capacity and route duration constraints are relaxed
Fleet size is strict
SPLIT (for each day) becomes an SPP with resource constraints
Can be extended to effectively handle heterogeneous fleets!
© Teodor Gabriel Crainic 2009
HAPGA: Selection
Each parent is selected through a binary tournament
Select two individuals at random
Keep the best one
Poor individuals have a very low probability of reproducing
© Teodor Gabriel Crainic 2009
HAPGA: The PIX Crossover
PIX: Periodic crossover with Insertions
Creates a single offspring C from two parents P 1 and P 2
For each day t in the planning horizon, we chose randomly to:
Copy no customer visits from P1 into C
Copy all customer visits of day t from P
1 into C
Copy a substring of customer visits of day t from P
1 into C
© Teodor Gabriel Crainic 2009
HAPGA: The PIX Crossover
Parent P 2 is then scanned sequentially and visits to customers are added:
On days where all visits from P 1 were not copied
If they are allowed by some pattern for the customer considered
If the total number of visits to a customer is not exceeded
If some customers are missing visits, these are inserted in random order and at minimum cost after performing the SPLIT procedure
© Teodor Gabriel Crainic 2009
HAPGA: The PIX Crossover
60
© Teodor Gabriel Crainic 2009
HAPGA: Education
After creation, all children go through education
Two local search procedures:
Route improvement (RI)
Applies separately to each day
8 different moves (insertions, swaps, 2-opt, 2-opt*)
Pattern improvement (PI)
Applied on an individual customer basis
Simple descents
Applied in RI, PI, RI sequence
© Teodor Gabriel Crainic 2009
HAPGA: Repair Phase
Before education 30% of children (chosen randomly) are
“repaired” :
By setting their penalty weights very high
Pushes them back to feasibility
© Teodor Gabriel Crainic 2009
HAPGA: Population Management
Small population (10,000/ n )
A single child produced in each iteration
Should replace the least “interesting” individual of the population
Different ideas tried
Experiments still under way
Diversification: After 10,000 iterations without improvement, replace 90% of the population
© Teodor Gabriel Crainic 2009
HAPGA: Infeasibility Management
The proportion ξ of feasible individuals is monitored
Penalty coefficients are updated every 200 iterations
If ξ ≤ 0.2, both coefficients are increased by 20%.
If ξ ≥ 0.3, both coefficients are decreased by 15%.
© Teodor Gabriel Crainic 2009
A MDPVRPTW Implementation
Three-population scheme:
P0: “Global” population
P1: Fixed patterns
P2: Fixed depots
UTS implementations for
Integrator & Global Solver: MDPVRPTW
The 2 Partial Solvers for “subproblems”
Three copies of UTS for each population
65
© Teodor Gabriel Crainic 2009
A MDPVRPTW Implementation
(2)
Integrator: when idle
Select random in best in each partial population
Pairs → triplets (customer, depot, pattern) → build best routes (no change in pairs !)
Guidance: send best on improvement
Tested on instances created from the MDVRPTW and
PVRPTW instances of Cordeau et al. (2001)
66
© Teodor Gabriel Crainic 2009
Initial Results
(20 instances out of 40)
No.
GUTS
Best
ICS % pr01b 2536,76 2457,47 -3,13 pr02b 4622,78 4513,31 -2,37 pr03b 5882,97 5822 -1,04 pr04b 7085,11 7025,64 -0,84 pr05b 8133,62 7823,75 -3,81 pr06b pr07b
9384,1 9155,83 -2,43
5352,7 5334,61 -0,34 pr08b 7890,22 7747,16 -1,81 pr09b 11426,3 11264,9 -1,41 pr10b 13555,6 13196,2 -2,65 pr11b 2210,16 2166,16 -1,99 pr12b 3949,45 3846,21 -2,61 pr13b 5129,08 5077,59 -1,00 pr14b 5652,3 5671,24 0,34 pr15b 6115,84 6029,28 -1,42 pr16b 7436,69 7354,08 -1,11 pr17b 5153,61 4954,64 -3,86 pr18b 6906,79 6755,75 -2,19 pr19b 9494,45 9389,05 -1,11 pr20b 11331,1 11351,1 0,18
GUTS
Average
ICS %
2667,168 2487,084 -6,75
4723,013 4560,94 -3,43
6113,291 5889,186 -3,67
7518,133 7052,701 -6,19
8415,249 7984,21 -5,12
9545,122 9216,941 -3,44
5866,998 5346,14 -8,88
8057,079 7815,076 -3,00
11545,58 11342,5 -1,76
14102,9 13358,84 -5,28
2500,293 2203,722 -11,86
4113,193 3904,369 -5,08
5275,06 5102,555 -3,27
5834,044 5703,701 -2,23
6373,293 6100,656 -4,28
8233,508 7410,981 -9,99
5323,459 5090,012 -4,39
7148,461 6837,984 -4,34
10039,86 9493,532 -5,44
12529,28 11466,16 -8,49
© Teodor Gabriel Crainic 2009
Initial Results
(20 instances out of 40) (2)
No.
P-GUTS
Best
ICS % pr01b 2451,55 2457,47 0,24 pr02b 4513,68 4513,31 -0,01 pr03b 5843,75 5822 -0,37 pr04b 7012,79 7025,64 0,18 pr05b 7842,2 7823,75 -0,24 pr06b 9119,34 9155,83 0,40 pr07b 5288,57 5334,61 0,87 pr08b 7737,29 7747,16 0,13 pr09b 11255,3 11264,9 0,09 pr10b 13292,7 13196,2 -0,73 pr11b 2104,55 2166,16 2,93 pr12b 3876,04 3846,21 -0,77 pr13b 5095,37 5077,59 -0,35 pr14b 5686,64 5671,24 -0,27 pr15b 6088,26 6029,28 -0,97 pr16b 7316,19 7354,08 0,52 pr17b 4853,46 4954,64 2,08 pr18b 6769,81 6755,75 -0,21 pr19b 9373,12 9389,05 0,17 pr20b 11403,2 11351,1 -0,46
P-GUTS
Average
ICS
2461,344 2487,084
4531,748 4560,94
5866,98 5889,186
7035,81 7052,701
7890,094 7984,21
9156,675 9216,941
5320,15 5346,14
7765,598 7815,076
11296,2 11342,5
13342,58 13358,84
2128,174 2203,722
3890,99 3904,369
5103,53 5102,555
5704,57 5703,701
6113,942 6100,656
7421,524 7410,981
4915,364 5090,012
6848,514 6837,984
9471,418 9493,532
11470,54 11466,16
%
1,05
0,64
0,38
0,24
1,19
0,66
0,49
0,64
0,41
0,12
3,55
0,34
-0,02
-0,02
-0,22
-0,14
3,55
-0,15
0,23
-0,04
© Teodor Gabriel Crainic 2009
An Evolutionary ICS MDPVRP Illustration
3-population scheme as in other application
HAPGA is used as Partial Solver, Global Solver and
Integrator
For each population, 3 solvers:
2 x HAPGA
1 x UTS
When HAPGA is used as Partial Solver, education does not change the patterns corresponding to the “fixed” attributes
69
© Teodor Gabriel Crainic 2009
An Evolutionary ICS MDPVRP Illustration
(2)
Two Integrators: Random select in 25% best
1.
2.
2 parents
extract depot and period patterns
generate population
evolve
send best valid
100 couples: crossover + educate & repair
send best (valid)
Guiding migration on partial population stalling
Random generation of partial population +
Random select & migrate 1 complete in 25% best
70
© Teodor Gabriel Crainic 2009
Test Instances
Derived from the set of instances used in the
MDPVRPTW implementation.
6
7
4
5
Inst
1
2
3
8
9
10
3
1
2
3 m
1
1
2
1
2
3
192
240
288
72 n
48
96
144
144
216
288
4
6
4
4 d
4
4
4
6
6
6
4
6
4
4 t
4
4
4
6
6
6
71
© Teodor Gabriel Crainic 2009
Preliminary Results
Gaps with respect to best known solutions:
1h00
1,61%
5 min
1,22%
HAPGA
3h00
0,92%
ICS no UTS
15 min
0,77%
P-HAPGA
3 x 1h00
0,83%
30 min
0,60%
5 min
1,30%
5 min
1,20%
ICS
15 min
1,01%
ICS no Guidance
15 min
0,79%
30 min
0,82%
30 min
0,66%
72
© Teodor Gabriel Crainic 2009
Planning and Uncertainty
Plan
For a set of fixed routes that will be used repetitively
some time later for a given amount of time
Within an environment where there is variability of and uncertainty on future values of system characteristics – demand – at planning time
Important characteristics of desired plan:
Flexibility : Planned routes can be adapted easily to changes in the system environment (new information)
Robustness : Planned routes do not need to be overly adjusted given changes in the environment
73
© Teodor Gabriel Crainic 2009
A Case Study – the FPLQ
FPLQ assumes (by law) responsibility for the transportation of milk from farms to processing plants,
producers assuming the costs
FPLQ negotiates contracts with motor carriers within a provincial convention
3 main FPLQ processes
Negotiation of contracts (year)
Pickup photo (monthly adjustment)
Assignment of routes (weekly adjustment)
1 carrier process (!!): operate routes
74
© Teodor Gabriel Crainic 2009
Planning at FPLQ
Yearly negotiation of contracts with carriers
On forecasts of milk production at farms and milk demand at plants & last year plan
1. Assign farms to carriers, build routes, assign routes to plants: depot
farms
plant
May be more complicated than that …
2. Price routes and negotiate rates with carriers
3. Mediate between FPLQ and carriers
Contracts generated:
97 carriers, 575 routes, 134 plants
For a total of 77 050 rates (134 plants x 575 routes)
75
© Teodor Gabriel Crainic 2009
Adjusting the Plan
The “pickup” photo – monthly
Select a 2-day period
Observe how routes are performed
Obtain a detailed description of the quantity of milk
picked and delivered
From these observation adjustments are defined for the next month
“Routing”, farm ↔ route/carrier
76
© Teodor Gabriel Crainic 2009
Adjusting the Plan
(2)
Assignment of routes – weekly
Plants send week requirements
Adjust the plan for next week
Routes ↔ Plants
Distribute the milk supply through the various plants in order to minimize transportation costs
Balance (reconciliate) supply and demand
77
© Teodor Gabriel Crainic 2009
Adjusting the Plan
(3)
The two adjustment processes not yet completely defined
But they indicate the FPLQ follows the standard practice of plan now and adjust later with revealed information
The so-called a priori planning
Build an a priori plan:
Negotiation of contracts
Operate and adjust the established a priori plan:
Pickup photo
Assignment of routes
Build a series of routes to be assigned to carriers tactical adjustments of farms to routes operational adjustments of routes to plants
78
© Teodor Gabriel Crainic 2009
Planning Processes
A well-defined planning process
Tools to build routes (with few attributes) “locally”
No comprehensive planning methodology
No capability for scenario/policy analysis
No formal taking into account of future variability and uncertainty
79
© Teodor Gabriel Crainic 2009
Planned Work to Address Uncertainty
Goals
A “comprehensive” study of uncertainty and its impact on planning
Develop stochastic programming models and methods to produce more flexible and robust plans
Insight into form and characteristics of such plans and, possibly, develop simpler but as efficient
solution approaches & policies
For regular planning and strategic studies
80
© Teodor Gabriel Crainic 2009
Planned Work to Address Uncertainty
(2)
Sources of uncertainty
Farm production volumes
Plant requirements
Travel and service times
Disruptions
Information process(es)
Farm and plant (regular, uncoordinated) updates
Actual availability at farms
81
© Teodor Gabriel Crainic 2009
Planned Work to Address Uncertainty
(3)
Recovery and adjustment practices = the recourse(s)
The decision process(es)
Independent participants – farms, plants
Routes operated very independently – carriers
Will the plan be permanently modified at some point
in the future (when?, how?)?
Modeling
– stochastic programming
Recourse formulations
Decision stages: two or multiple
Probabilistic constraints to bound the risk
Solution methods
– stochastic programming
82
© Teodor Gabriel Crainic 2009
ICS for Planning Under Uncertainty
Adapting ICS: A rich research program
Decomposition strategy
Functional (attributes) decomposition
Domain decomposition
Scenario decomposition
Which problems for the partial solvers?
Which problems for integrators?
Evolution & guidance?
83
© Teodor Gabriel Crainic 2009
Planned Work to Address Uncertainty
(4)
The value of explicit inclusion of uncertainty factor into
planning models
Insight into form and characteristics of “stochastic”
solutions
Deterministic solution methods building on this insight?
“Solving” with a “few” appropriate scenarios? …
84
© Teodor Gabriel Crainic 2009
Conclusions & Perspectives
Rich (combinatorial optimization) problems present interesting challenges and opportunities
Parallel cooperation performs very well
ICS appears promising when complexity grows
Still a lot of work on all aspects of the approach and applications
85
© Teodor Gabriel Crainic 2009
Questions from the field: Did you know…
One cow produces enough milk to satisfy the annual milk and dairy product needs of 30 people
It takes 11 litres of milk to make 1 kilogram of cheese
86
© Teodor Gabriel Crainic 2009