A Branch-and-Price Approach for a Ship Routing Problem with Multiple Products and Inventory Constraints Rutger de Mare 1 Dennis Huisman 2,3 1. ORTEC, Gouda 2. Econometric Institute and ECOPT, Erasmus Univ. Rotterdam 3. Dept. of Logistics, Netherlands Railways 1
Outline • Practical Application • Problem description • Mathematical Formulation • Column generation algorithm 2
Practical Application Oil Company • 1 refinery (no inventory constraints) • ± 12 depots (one per harbor) • ± 8 grades • ± 7 ships • compartments (differ in size, 3-6) 40 30 10 15 10 3
10 4 30 40 10 15
Practical Application • There is a schedule • Question: Can we adjust the schedule due to changes in the data? • We construct an “optimal” schedule from scratch 5
Problem Description • Ships – Compartments with capacities – Travel times for each possible trip – Fixed (un)loading times – Wait at harbor is possible • Harbor – Inventory constraints 6
Inventory levels Hard Maximal Inventory Level Upper Alarm (tank top/capacity) Zone Soft Maximal Ullage Inventory Level (Alarm Level +) Preferred Actual Inventory Inventory Zone Level Soft Minimal Inventory Level Lower Alarm (Alarm Level -) Zone Hard Minimal Inventory Level (Unpumpable Level) Unpumpables 0 7
8 Inventory levels
Notation (Christiansen, 1998) • (i,m): harbor i, number of arrival m • (i,m,j,n): traveling from (i,m) to (j,n) • V: set of ships • H: set of harbors • G: set of grades • C: set of compartments 9
Decision Variables • λ cr : compartment c travels schedule r • θ igs : harbor i follows for grade g sequence s 10
Mathematical Formulation (1) ∑∑ ∑∑ ∑ λ + θ C HG min C C cr cr igs igs ∈ ∈ ∈ ∈ ∈ c C r R i H g G s S c S ig Sailing cost route r Penalties for violating (only for c= 1) alarm levels 11
Mathematical Formulation (2) ∑∑ ∑ λ + θ = ∀ B Y 1 i , m , g * * imgs igs imc r c r v v ∈ ∈ ∈ v V r R s S c ig 1 if (i,m) is in schedule r to serve g 0 if (i,m) is in sequence s to (un)load g ∑ ∑ ∑ λ − θ = ∀ C HG 0 , , Q Q i m g imcgr cr imgs igs ∈ ∈ ∈ c C r R s S c Quantity of g (un)loaded at (i.m) Quantity of g (un)loaded at (i,m) in schedule r in sequence s 12
Mathematical Formulation (3) ∑ ∑ ∑ λ − θ = ∀ C HG 0 , , T T i m g * * imgs igs imc r c r v v ∈ ∈ ∈ v V r R s S * ig c v Time (un)loading starts at (i,m) Time (un)loading starts at (i,m) in schedule r, first compartment in sequence s ∑ ∑ λ − λ = ∀ C C 0 , , , T T v i m c * * imcr cr imc r c r v v ∈ ∈ r R r R * c c v Time (un)loading starts at (i,m) Time (un)loading starts at (i,m) in schedule r, compartment c in schedule r, first compartment 13
Mathematical Formulation (3) ∑ λ = ∀ 1 c cr ∈ r R c ∑ θ = ∀ 1 , i g igs ∈ s S ig λ ≥ ∀ 0 c , r cr θ ≥ ∀ 0 , , i g s igs ∑ λ ∈ ∀ X { 0 , 1 } c , ( i , m , j , n ) imjncr cr ∈ r R c 14
Branch-and-Price Framework Add initial columns to RMP Solve LP relaxation of the RMP Solve HGP for each HG Solve CP for each C Find good columns Find good columns for each Harbour-Grade for each Compartment Good columns found? Find integer Add new columns Yes No solution RMP to RMP 15
Compartment Sub problem • Node: harbor arrival plus quantity per grade • Reduced cost per arc: – Fixed – Time dependent 16
Compartment Sub problem s • Shortest path from s to any other node (taking into account time aspect) • Can be solved with Dynamic Programming (Christiansen, 1998/9) 17
Branching • Arcs in the network • Aggressive 1-branch 18
Implementation Issues • Pricing problem: exact or heuristically? • Difficult to get a feasible solution of the model: relax and penalize constraints? • Cycles in the compartment sub problem (generates redundant columns) 19
20 • Will follow Results
21 Questions?
Recommend
More recommend