disposition complexity fractional vs. halfintegral mSSP algorithm heuristic Successive Shortest Path (SSP) Algorithm with Multipliers Birgit Engels ZAIK University of Cologne 13th Combinatorial Optimization Workshop January 11th-17th, Aussois Motivated by a joint project of:
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic A freight car disposition problem Complexity of integral flow with multipliers 1,2 Instances with fractional vs. halfintegral solutions A modified SSP algorithm Obtaining an integral solution
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation input: • known supplies/demands of empty freight cars (10 3 − 10 4 ) supply demand
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation input: • known supplies/demands of empty freight cars (10 3 − 10 4 ) • both of different types at different locations and times 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation input: • known supplies/demands of empty freight cars (10 3 − 10 4 ) • both of different types at different locations and times • timetable (time constraints, costs) 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation input: • known supplies/demands of empty freight cars (10 3 − 10 4 ) • both of different types at different locations and times • timetable (time constraints, costs) • type subtitution rules (1:1,1:2) 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation input: • known supplies/demands of empty freight cars (10 3 − 10 4 ) • both of different types at different locations and times • timetable (time constraints, costs) • type subtitution rules (1:1,1:2) 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation input: • known supplies/demands of empty freight cars (10 3 − 10 4 ) • both of different types at different locations and times • timetable (time constraints, costs) • type subtitution rules (1:1,1:2) • side constraints (storage, priority, etc) 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation (1) output: optimal disposition, i.e. • allocation of all supply to as much demand as possible 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation (1) output: optimal disposition, i.e. • allocation of all supply to as much demand as possible • respecting all rules/constraints, integrality 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation (1) output: optimal disposition, i.e. • allocation of all supply to as much demand as possible • respecting all rules/constraints, integrality • minimal costs 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation (1) output: optimal disposition, i.e. • allocation of all supply to as much demand as possible • respecting all rules/constraints, integrality • minimal costs disposition can ’almost’ be modelled as flow problem. 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic basic problem formulation (1) output: optimal disposition, i.e. • allocation of all supply to as much demand as possible • respecting all rules/constraints, integrality • minimal costs disposition can ’almost’ be modelled as flow problem. But: some features cannot, e.g. 1:2 substitution 22, Berlin, 22, Berlin, Jan 11th, 10:00 Jan 15th, 11:00 10, Berlin, 50, Munich, Jan 12th, 10:00 Jan 15th, 14:00 42, Munich, 42, Munich, Jan 16th, 13:00 Jan 16th, 16:00 56, Cologne, 6, Cologne, Jan 13th, 18:00 Jan 17th, 18:00
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic network model N = ( V , A ) with 1:1 substitution b (1) = s 1 b ( n + 1) = 0 1 n + 1 k } } prio c sinks n + m m demand nodes n + m + 1 } norm sink l storage nodes n supply nodes n n + m + l b ( n ) = s n b ( n + m + l ) = 0 transit edges: time and type match between supply/demand model edges
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic network model N = ( V , A ) with 1:1 substitution b (1) = s 1 b ( n + 1) = 0 1 n + 1 k } } prio c sinks n + m m demand nodes n + m + 1 } norm sink l storage nodes n supply nodes n n + m + l b ( n ) = s n b ( n + m + l ) = 0 transit edges: time and type match between supply/demand model edges • Obtain disposition as solution of min-cost flow on N = ( V , A ) in polynomial time (e.g. by SSP).
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic network model N = ( V , A ) with 1:1 substitution b (1) = s 1 b ( n + 1) = 0 1 n + 1 k } } prio c sinks n + m m demand nodes n + m + 1 } norm sink l storage nodes n supply nodes n n + m + l b ( n ) = s n b ( n + m + l ) = 0 transit edges: time and type match between supply/demand model edges • Obtain disposition as solution of min-cost flow on N = ( V , A ) in polynomial time (e.g. by SSP). • All input values integral ⇒ flow solution integral as demanded!
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic 1:2 substitution and flow multipliers Definition (flow f ( A ) in N = ( V , A )) • ∀ a ij ∈ A : l ij ≤ f ( a ij ) ≤ u ij • ∀ v i ∈ V : � a li =( v l , v i ) ∈ A f ( a li ) − � a ik =( v i , v k ) ∈ A f ( a ik ) = b ( v i )
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic 1:2 substitution and flow multipliers Definition (flow f ( A ) in N = ( V , A )) • ∀ a ij ∈ A : l ij ≤ f ( a ij ) ≤ u ij • ∀ v i ∈ V : � a li =( v l , v i ) ∈ A f ( a li ) − � a ik =( v i , v k ) ∈ A f ( a ik ) = b ( v i ) 1:2 substitution ⇒ Use same model enriched by multipliers:
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic 1:2 substitution and flow multipliers Definition (flow f ( A ) in N = ( V , A )) • ∀ a ij ∈ A : l ij ≤ f ( a ij ) ≤ u ij • ∀ v i ∈ V : � a li =( v l , v i ) ∈ A f ( a li ) − � a ik =( v i , v k ) ∈ A f ( a ik ) = b ( v i ) 1:2 substitution ⇒ Use same model enriched by multipliers: Definition (flow f m ( A ) in N = ( V , A ) with multipliers) • ∀ a ij ∈ A : l ij ≤ f m ( a ij ) ≤ u ij • ∀ v i ∈ V : � a li =( v l , v i ) ∈ A µ ( a li ) f m ( a li ) − � a ik =( v i , v k ) ∈ A f m ( a ik ) = b ( v i )
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic network model with 1:2 substitution Example µ vw = 2 v w f ( v, w ) = 1 b ( v ) = +1 b ( w ) = − 2
disposition complexity fractional vs. halfintegral mSSP algorithm heuristic network model with 1:2 substitution Example µ vw = 2 v w f ( v, w ) = 1 b ( v ) = +1 b ( w ) = − 2 Network N : b (1) = s 1 b ( n + 1) = 0 1 n + 1 k } } prio c sinks µ uv = 2 n + m m demand nodes n + m + 1 } norm sink n supply nodes n + m + l l storage nodes n b ( n ) = s n b ( n + m + l ) = 0 transit edges: time and type match between supply/demand model edges
Recommend
More recommend