320 likes | 563 Views
Hub and Spoke Network Design. Outline. Motivation Problem Description Mathematical Model Solution Method Computational Analysis Extension Conclusion. Motivation. 1. 7. 5. 2. 4. 8. 3. 9. Spokes. Hubs. Motivation. σ = 0.25. Spoke and Hub Network. Motivation.
E N D
Outline • Motivation • Problem Description • Mathematical Model • Solution Method • Computational Analysis • Extension • Conclusion
Motivation 1 7 5 2 4 8 3 9
Spokes Hubs Motivation σ = 0.25 Spoke and Hub Network
Motivation • Hub and Spoke Network design: • Cited as “seventh in the American Marketing Association series of ‘Great Ideas in the Decade of Marketing’ (Marketing News, June 20, 1986) • Predominant architecture for airline route system since deregulation in 1978 • Finds applications in telecommunication network, express cargo
Problem Description • Given a network of nodes with given flows between each pair, determine: • Which nodes are set as hubs • Which hub is a node assigned to • So that: • Every flow is first routed through one or two hubs before being sent to its destination
Methodologies • Enumeration heuristics - O’Kelly (1986) • Meta-heuristics: • Tabu Search – Klincewicz (1991); Kapov & Kapov (1994) • Simulated Annealing – Ernst & Krishnamoorthy (1996) • Lagrangian relaxation – Pirkul & Schilling (1998); Aykin (1994); Elhedhli & Hu (2005)
m i j k Mathematical Model
(7) Mathematical Model Min (1) Subject to: for all i (2) for all i, k (3) (4) for all i, j > i, k (5) for all i, j > i, m (6)
Mathematical Model • Problem size: • For number of nodes = n: That’s too large! • For n = 15:
Solution Method • Lagrangian Relaxation • 31 different lagrangian relaxations possible • Review on Lagrangian Relaxation: Fisher (1981, 2005); Geoffrion (1974) • In current study, constriant sets (2), (5), (6) relaxed
Solution Method Min (1) Subject to: for all i (2) αi for all i, k (3) (4) for all i, j > i, k (5) βijk for all i, j > i, m (6) Gijm (7)
Solution Method Min (7) Subject to: for all i, k (3) (4) Sub problem 2 Where, Sub problem 1
Constrained added to improve bound Min for all i, j > i Subject to: [SUB1]: Min Subject to: for all i, k Solution Method [SUB2]:
Solution Method [MASTER]: Max for h = 1,2,…. Subject to: for h = 1,2,….
Solution Algorithm • [SUB1]: • For each i, j: • Find • Set
Solution Algorithm • [SUB2]:
Solution Algorithm • [Feasible Solution]:
Solution Algorithm • Issues: • Slow convergence as master problem grows too large • Could not converge in 30 minutes for 10 nodes • How to resolve???
Initialize α, β, γ; Initialize step size Solve SUB1; SUB2 and obtain LB Construct a feasible solution and obtain UB Is (UB-LB)/LB>ε? α, β, γ Adjust α, β, γ by the amount of infeasibility If no improvement in LB since long, decrease step size stop Solution Algorithm • Subgradient Optimization to find lagrang multipliers No Yes
Analysis Congested
Extended Model Min (1) Subject to: for all i (2) for all i, k (3) (4) for all i, j > i, k (5) for all i, j > i, m (6) Congestion Cost function
Extended Model cont.. Min Linear Approximation using tanget planes for congestion cost function Subject to: (2) – (7)
(8) Extended Model cont.. Min Subject to: MIP with an infinite number of constraints (2) – (7)
(8) (7) Solution Method (Langrangean Relaxation) Min Subject to: for all i, k (3) (4) Sub problem 2 Sub problem 1 Where,
In absence of this constraint, problem separates into k smaller problems; each can be solved using cutting plane method (8) (7) Solution Method contd.. [SUB1]: Min Subject to: for all i, k (3) (4)
Solution Method contd.. • Solution implemented in MATLAB 7.0 • [SUB1-k] solved using CPLEX 10 • CPLEX called from MATLAB
Discussion • Solution speed can be improved by using a compiled code (in C or Fortran). MATLAB is inefficient in executing loops as it is interpreted line by line.
Conclusion • A model for Hub and Spoke Network Design solved using lagrangean relaxation • Model extended to address the issue of congestion • Good solutions obtained in reasonable time • Solution speed can be further improved if implemented in a language that uses acompiler