180 likes | 308 Views
A Graphical Approach to Solve Combinatorial Problems: Algorithms and Some Computational Results. Evgeny R. Gafarov Alexander A. Lazarev Frank Werner. Institute of Control Sciences of the Russian Academy of Sciences. Otto-von-Guericke Universität Magdeburg. 1 /18. Outline of the Talk.
E N D
A Graphical Approach to Solve Combinatorial Problems: Algorithms and Some Computational Results Evgeny R. Gafarov Alexander A. Lazarev Frank Werner Institute of Control Sciences of the Russian Academy of Sciences Otto-von-Guericke Universität Magdeburg 1/18
Outline ofthe Talk 1. Dynamic Programming and Graphical Algorithms 2. FPTAS based on the Graphical Algorithm 3. An Overview of Graphical Algorithms for Single Machine Problems 2/18
Dynamic Programming Algorithms for the Problem 1|dj=d|∑wjTj Single machine njobsj = 1,2,…,n pjprocessing time dj=dcommon due date wjweight Tardiness of job j in schedule π :Tj(π) = max{0,Cj (π)-d} Goal: Find a schedule π* that minimizes ∑wjTj 3/18
Dynamic Programming Algorithms for the Problem 1|dj=d|∑wjTj Lemma 1: Thereexists an optimal schedule π= (G,x,H), where all jobsfromsetG are on-time andprocessed in non-increasing order of the values pj/wj ; all jobsfromsetHare tardy and processed in non-decreasing order of the valuespj/wj ; the straddling job x starts before time d and is completed no earlier than time d. 4/18
First Dynamic Programming Algorithm for the Problem 1|dj=d|∑wjTj Let x=1 be the straddling job. In step l, l = 1,2,…, n for each state t=[0, ∑pj] or [0,d] we choose one of two positions for job l: l πl-1 (t+pl) t πl -1(t) l t The running time is O(nd) for each straddling job x=1,2,…,n 5/18
The Second Dynamic Programming Algorithm for the Problem 1|dj=d|∑wjTj Let x=1 be the straddling job. n n ∑pj t=pn t is the total processing time of the jobs scheduled at the beginning of a schedule. In step l=n, two states are saved: (pn,F1) and (pn,F2) n n-1 n-1 t=pn+pn-1 ∑pj n-1 n-1 n t=pn-1 ∑pj 4 states are saved in step l=n-1 6/18
Comparison of Dynamic Programming Algorithms In the first algorithm, all integer points (states) t = [0,d]are considered. The running time is O(nd). In the second algorithm, only possible points t = [0,d] are considered, which are computed if the processing of the jobs starts at time 0. The running time is O(nd) as well. The second algorithm is faster (since it considers not all points t), but the first algorithm finds an optimal solution for each integer starting time from [0,d]. 7/18
GraphicalAlgorithm Dynamic Programming (Bellman 1954) Idea of the graphical algorithm: Combine several states into a new state 8/18
GraphicalAlgorithm Computations in the first dynamic programming algorithm Computations in the graphical algorithm 9/18
GraphicalAlgorithm 10/18
GraphicalAlgorithm Fl+1 = min{Ф1,Ф2} 11/18
GraphicalAlgorithm In the table, 0<bl1<bl2<… since function F(t) is monotonic with t being the starting time. Function Fl(t) can be defined for all t from (-∞,+∞). Let UB be an upper bound on the optimal objective function value. Then we have to save only the columns with blk<UB. The running time of the Graphical Algorithm is O(n min{UB,d}) for each straddling job x. 12/18
FPTAS based on the GraphicalAlgorithm In the table, 0<bl1<bl2<… since function F(t) is monotonic with t being the starting time. The running time of the Graphical Algorithm is O(n min{UB,d}) for each straddling job x. To reduce the running time, we can round (approximate) the values blk<UBtoget a polynomialnumberof different valuesblk Let . Round blkup or down to the nearest multiple of 13/18
FPTAS based on the GraphicalAlgorithm The running time of the FPTAS is 14/18
Comparison of Dynamic Programming and Graphical Algorithms 15/18
Comparison of Dynamic Programming and Graphical Algorithms 16/18
Thanks for your attention Evgeny R. Gafarov Alexander A. Lazarev Frank Werner Institute of Control Sciences of the Russian Academy of Sciences Otto-von-Guericke Universität Magdeburg 18/18