410 likes | 590 Views
Combinatorial Optimization in Container Scheduling. Michael Pinedo Stern School of Business, New York University with Byung-Cheon Choi, Kangbok Lee (NYU), Joseph Leung (NJIT), Dirk Briskorn (Cologne). CMMI, Boston, July, 2012. Contents. Settings Motivation. Preliminary.
E N D
Combinatorial Optimization in Container Scheduling Michael Pinedo Stern School of Business, New York University with Byung-Cheon Choi, Kangbok Lee (NYU), Joseph Leung (NJIT), Dirk Briskorn (Cologne). CMMI, Boston, July, 2012
Contents Settings Motivation Preliminary Assumptions / Parameters / Constraints / Objectives Model Scenarios, Examples, and Equivalent Scheduling Problems Problems Result 1 / Result 2 / Result 3 / Result 4 Other Objective functions Results Summary Future Study Conclusion
Motivation A shipping company has a number of containers to be delivered from sourceports to destination ports with ships that have fixed routing schedules. Which container should be delivered by which ship?
Motivation Service : North/Central China Eastcoast Express (NCE) 2010-04-26 2010-03-29 2010-03-22 2010-05-10 2010-04-12 2010-04-05 2010-03-15 2010-05-03 2010-04-19 Qingdao Ningbo Yangshan New York Norfolk Savannah Busan Qingdao http://www.hapag-lloyd.com/en/products_and_services/services_between_asia_and_north_america.html#TPD_east
Unidirectional route • There is a sequence of ports • A ship may skip some ports 1. Unidirectional Route C Port A B D E F Ship 1 Ship 2 Ship 3 visiting non-visiting Model Assumptions / Parameters / Constraints / Objectives Assumptions
Non-overtaking • Overtaking case Ports 1. Unidirectional Route ship 1 ship 2 2. Non-Overtaking time 2. Non-Overtaking • Non-Overtaking example Ports ship 1 ship 2 ship 3 time Model Assumptions / Parameters / Constraints / Objectives Assumptions
Example transfer • Transfer case Source port Destination port Container 1. Unidirectional Route loading unloading Ship 1 2. Non-Overtaking Transfer Ship 2 loading unloading 3. No Transfer 3. No Transfer Model Assumptions / Parameters / Constraints / Objectives Assumptions
Two types of Size (1 or 2) sj 8.6 ft 8.6 ft 40-ft 20-ft 8 ft 8 ft Twenty-foot Equivalent Unit = 1 TEU Forty-foot Equivalent Unit (FEU) = 2 TEU uj, vj • Source port / Destination port rj, dj • Release date / Due date • Importance (weight) factor wj Model Assumptions / Parameters / Constraints / Objectives Containers Ships Containers
Predetermined Routing Schedule ti,k : time when ship i visits port k. port 1 2 3 4 5 6 Ship i ti,1 ti,2 ti,3 ti,5 Model Assumptions / Parameters / Constraints / Objectives Containers Ships Ships • Number of shipsm • Capacity : ci
Capacity Constraints • At any time, the total size of containers being loaded at a ship cannot exceed the capacity of the ship. Model Assumptions / Parameters / Constraints / Objectives Constraints • Ship Eligibility Constraints By source and destination ports • A container can be delivered only by a ship that visits both the source port and destination port of the container. By release dates • A container can be delivered only by a ship that visits the source port of the container at a time after the release date of the container.
Objectives Tmax • The maximum tardiness Main topic wjDj • The weighted Delivery Time wjUj • The weighted number of tardy containers wjTj • The weighted tardiness Model Assumptions / Parameters / Constraints / Objectives Terminology • Delivery Time (Dj) The arrival time of the ship at the destination port of the container. • Tardiness (Tj) Maximum { 0, Delivery Time – Due date } • Tardy Container (Uj) Uj= 0 if Tj= 0, Uj= 1 if Tj> 0
The optimal objective function value T*max { max{0, Dj– dj} |j = 1, …, n } = { max{0, ti, – dj} |j = 1, …, n , i = 1, …, m } = vj With a target objective function value T , Consider a feasibility problem to find a feasible schedule not violating the modified due date dj + T. If the answer is Yes, T*max ≤ T . If the answer is No, T*max > T . Model Assumptions / Parameters / Constraints / Objectives A Feasibility Problem for Tmax
Each container has a last available ship. • Containers of each size can be ordered in increasing order of • the last available ship capacity size 1 size 2 ship Problems An Example / Scenarios A simple model • All ships visit all ports following the order of the ports • All containers have a common source port • All containers are released at time 0.
(ai, bi) • A node at layer i represents a partial schedule with • aiand bicontainers of size 1 and size 2 each are assigned to ships 1, …, i. i if h1a≥i , h2b ≥i and ai + 2bi = ck i i k=1 • and are connected to one another • if ai≤ ai+1and bi ≤ bi+1 (ai, bi) (ai+1, bi+1) Problems An Example / Scenarios A connectivity problem in a layered graph • n1and n2represent the number of containers of size 1 and size 2 • h1aand h2brepresent the last available ship for a-th container of size 1 and b-th container of size 2, respectively.
Problems An Example / Scenarios A connectivity problem in a layered graph layer 0 (0,0) … layer 1 (c1, 0) (c1-2, 1) (c1-2n2, n2) … layer 2 (c1+c2, 0) (c1+c2-2, 1) (c1+c2-4, 2) (c1+c2-2n2, n2) : : : : m-1 … m-1 m-1 (ck, 0) ( ck-2n2, n2) (ck-2,1) layer m-1 k=1 k=1 k=1 layer m (n1,n2)
Category Options Symbols Identical routes (all ships visit all ports) I Ship routings Arbitrary routes (special case: nested routes) A (N) Routing Fixed number of ports (constant) Np # of Ports Arbitrary number of ports Zero release dates (all containers are ready) rj = 0 Release Date Arbitrary release dates rj Common source ports (distribution center) uj = 1 Container Source Port Arbitrary source ports uj sj = 1 Unit container size only Container Size sj = 1 or 2 Container size of 1 or 2 Problems An Example / Scenarios
Routing Environment Objective Function Container Characteristics Problems An Example / Scenarios Example: I , Np| rj=0, uj, sj = 1 or2| Tmax
An Example / Scenarios Problems The Computational Complexities Routing P Container P: polynomial time solvable, NP: NP-hard
Container j : (uj, vj) = (8,16) destination port source port uj vj Since rj= 0, the first ship is available. Ship 1 c1=3 c2=4 Ship 2 due date restriction Ship 3 c3=2 ports 15 0 5 10 20 Results Result 1 / Result 2 / Result 3 / Result 4. I ,| rj = 0, uj , sj = 1 | Tmax
Example: job j of type 2 with (bj, ej) = (8,16) Strongly NP-hard for T ≥ 3 bj ej Kolen et al.2007.NRL m/c type 1 m1=3 m2=4 m/c type 2 m/c type 3 m3=2 time 15 0 5 10 20 Results Result 1 / Result 2 / Result 3 / Result 4. Equivalent Problem : Hierarchical Interval Scheduling with T machine Types: HIS(T) Job j : fixed starting time (bj) and completion time (ej) Job j of type i : job j can be scheduled on machine with type k for 1 k i.
size = 1 or 2 the first available ship the last available ship Capacity c 2 1 Ship … 1 2 3 m Results Result 1 / Result 2 / Result 3 / Result 4. I ,| rj , uj = 1, sj = 1 or 2 | Tmax
Resource constrained scheduling Pc| rj , pj = 1, sizej = 1 or 2 | Tmax Machine c 2 1 1 2 3 m time … OPEN Complexity Problem by P. Brucker and A. Krämer. EJOR (1996) P| rj , pj = 1, |{ sizej}| = K| Tmax for constant K P| rj , pj = 1, sizej = 1 or m| Tmax Partial Results on O(n4) Philippe Baptiste and Baruch Schieber. J. Scheduling (2003) O(n3) Christoph Dürr and Mathilde Hurand, Algorithmica (2009) Results Result 1 / Result 2 / Result 3 / Result 4. Related (and in some way equivalent) Problem:
Results Result 1 / Result 2 / Result 3 / Result 4. I ,| rj , uj = 1, sj = 1 or 2 | Tmax Data Structure The set of containers of size 1 that are eligible toships h to k. 1 2 3 4 5 ships
Solution Structure N(i , ai , bi) : indicates that aicontainers of size 1 and bicontainers of size 2 have been assigned to ships 1, 2, …,i. N(0, 0, 0) : single node for the case of i = 0. N(m, n1, n2) : single node for the case of i = m. Results Result 1 / Result 2 / Result 3 / Result 4. Parameters and assumptions • n1(n2) : the number of containers of size 1 (size 2). • m ships with capacity ci
… … … … 1 2 3 4 m … Results Result 1 / Result 2 / Result 3 / Result 4. Node Feasibility conditions
… … … … 1 2 3 4 m … Results Result 1 / Result 2 / Result 3 / Result 4 Arc Feasibility conditions N(k , ak , bk) andN(l , al , bl) are connected to each other for k < l, if k k+1 l
Layer 0 N(0, 0, 0) Layer 1 … … N(1, a12, b1+1) N(1, a1, b1) N(1, a1+2, b11) Layer 2 … … N(2, a22, b2+1) N(2, a2, b2) N(2, a2+2, b21) … Layer m1 … … N(m1, am-12, bm-1+1) N(m1, am-1, bm-1) N(m1, am-1+2, bm-11) Layer m N(m, n1, n2) Layer 0 N(0, 0, 0) Layer 1 … … N(1, a12, b1+1) N(1, a1, b1) N(1, a1+2, b11) Layer 2 … … N(2, a22, b2+1) N(2, a2, b2) N(2, a2+2, b21) … Layer m1 … … N(m1, am-12, bm-1+1) N(m1, am-1, bm-1) N(m1, am-1+2, bm-11) Layer m N(m, n1, n2) Results Result 1 / Result 2 / Result 3 / Result 4. I ,| rj , uj = 1, sj = 1 or 2 | Tmax is reduced to the problem of finding a (m + 1)-clique in an (m + 1)-layered graph.
Results Result 1 / Result 2 / Result 3 / Result 4. • Additionally, we proved that • There is a clique with size (m+1) there exists a feasible schedule. • There exist a polynomial time algorithm to construct a feasible schedule with a given (m+1) clique in (n+m2) time. • Trivial. • There exists an algorithm to find a (m+1)-clique in polynomial time if • it exists. • In general, to find a k-clique in a k-layered graph is NP-complete. • However, based on a special property of the graph, we can find a (m+1)-clique in O(mn2 + m3n)time. For, the binary search on the target objective function value takes time of O( log mn ). I ,| rj , uj = 1, sj = 1 or 2 | Tmax can be solved in O( (mn2 + m3n)log mn )time.
Additional assumptions • m is enough large to load all containers by MS rule. • All ships have the same capacity c, i.e. ci = c for i = 1, …, m. • The inter-departure times between consecutive ships at port l = , i.e. ti,l= t1,l+ (i-1) for i = 2, …, m and l = 1, …, Np The error bound of MS rule - é ù m 1 min £ + D T ( MS ) T ( OPT ) ê ú max max - c 1 ê ú + é ù n 2 n m = 1 2 where ê ú min ê c ú Results Result 1 / Result 2 / Result 3 / Result 4. Minimum Slack (MS) first priority rule for I ,| rj , uj = 1, sj = 1 or 2 | Tmax
size 1 size 2 Results Result 1 / Result 2 / Result 3 / Result 4. The worst case example of MS rule capacity c The optimal schedule : : : : : : : time 2 mmin (mmin-1) capacity c The schedule by MS rule : : : : : : : : time mmin (mmin-1)
Summary for the Maximum Tardiness objective The Time complexities of the problems (Tmax) P: polynomial time solvable, NP: NP-hard, OPEN: unknown
Results Result 1 / Result 2 / Result 3 / Result 4. I ,| rj = 0, uj = 1, sj = 1 or 2 | wj Dj with identical inter-departure times Additional Assumptions & Observation • All inter-departure times are identical. • In an optimal schedule, containers of each size are ordered • in non-increasing order of weight. • We can add dummy containers of size 1 with zero weight.
A node at layer i represents a partial schedule with • aiand bicontainers of size 1 and size 2 each being assigned to ships 1, …, i. (ai, bi) i if ai + 2bi = ck k=1 a b + + i 1 i 1 å å + 1 2 w t w t 1 2 j j + + i 1 , v i 1 , v j j = + = + j a 1 j b 1 i i • are connected if ai≤ ai+1and bi ≤ bi+1 • and its weight is (ai, bi) (ai+1, bi+1) where wj andvj are weight and destination of j-th container of size Results Result 1 / Result 2 / Result 3 / Result 4. I ,| rj = 0, uj = 1, sj = 1 or 2 | wj Dj with identical inter-departure times
Results Result 1 / Result 2 / Result 3 / Result 4. A Shortest Path Problem : O(mn2) layer 0 (0,0) … layer 1 (c1, 0) (c1-2, 1) (c1-2n2, n2) … layer 2 (c1+c2, 0) (c1+c2-2, 1) (c1+c2-4, 2) (c1+c2-2n2, n2) : : : : m-1 … m-1 m-1 (ck, 0) ( ck-2n2, n2) (ck-2,1) layer m-1 k=1 k=1 k=1 layer m (n1,n2)
1 2 3 4 5 6 1 1 1 2 2 2 3 3 4 4 3 4 5 5 5 6 6 6 7 7 8 8 1 2 3 4 5 6 capacity Obj. value = A capacity Obj. value = B c c 2 4 4 6 8 c-1 1 3 4 5 7 1 2 3 4 5 6 1 2 3 5 6 1 2 4 4 5 6 8 1 2 3 5 6 1 2 3 3 5 6 7 ship ship 1 WSS B c+1 = 1 + ≤ ≤ c c OPT A Results Result 1 / Result 2 / Result 3 / Result 4. I ,| rj , uj = 1, sj = 1 or 2 | wj Dj with identical inter-departure times WSS (Weighted Smallest Size first) rule • Order containers in non-increasing order of wj/sj.
Summary for Weighted Delivery dates objective The Time complexities of the problems ( wjDj) P : polynomial time solvable, NP: NP-hard, OPEN: unknown :polynomial time solvable for identical weight (wj = 1 ) case :polynomial time solvable for identical inter-departure times case :polynomial time solvable for identical weight and identical inter-departure times case
Solution Structure N(i , a1, a2, b1, b2) : indicates that a1containers of size 1 and a2containers of size 2 have been determined to be assigned to ships 1, 2, …,i. ornot. b1, and b2 are current numbers of containers of size 1 and 2 on ship i, respectively. N(1, 0, 0, 0, 0) : only node for the case of i = 1. N(m+1, n1, n2, 0, 0) : only node for the case of i = m+1. Results Result 1 / Result 2 / Result 3 / Result 4. I ,| rj =0, uj = 1, sj = 1 or 2 | wj Uj with identical inter-departure times Observation • In an optimal schedule, on-time (non-tardy) containers • of each size are ordered in non-decreasing order of due date.
Results Result 1 / Result 2 / Result 3 / Result 4. I ,| rj =0, uj = 1, sj = 1 or 2 | wj Uj with identical inter-departure times At most five outgoing arcs N(i , a1+1, a2, b1, b2 ) Not assign (a1+1)th container of size 1 N(i , a1+1, a2, b1+1, b2 ) Assign (a1+1)th container of size 1 N(i , a1, a2, b1, b2) N(i , a1, a2+1, b1, b2 ) Not assign (a2+1)th container of size 2 N(i , a1, a2+1, b1 , b2+1) Assign (a2+1)th container of size 2 N(i+1, a1, a2, 0, 0) Close ship i and open ship i+1 A Shortest Path Problem : O(mn4)
Future Research wj sj T(uj, vj) wj sj T(uj, vj) Distance from the source port to the destination port T(uj, vj) Ports uj vj Open Problems • Some open problems of minimizing ( Tmax / wjDj / wjUj / wjTj ) • Other objectives: Minimizing shipping cost by selecting ships. A simple priority rule • Worst case analysis or experimental analysis of a simple priority rule • For example : assign containers in the decreasing order of Larger weight Smaller size Shorter distance
Future Research Other routings • Nested routes case (between identical and arbitrary routes cases) visiting only important ports Ship 1 Ship 2 Ship 3 visiting all ports Additional restrictions • A refrigerator container requires electricity • A ship has a limited space for such containers. Empirical work • Analysis of the performance of algorithms with real data. • Development of efficient algorithms for practical use.