Advanced Algorithms Analysis and Design

Slides:



Advertisements
Similar presentations
Dynamic Programming.
Advertisements

Lecture 8: Dynamic Programming Shang-Hua Teng. Longest Common Subsequence Biologists need to measure how similar strands of DNA are to determine how closely.
Introduction to Algorithms
Chapter 15 Dynamic Programming Lee, Hsiu-Hui Ack: This presentation is based on the lecture slides from Hsu, Lih-Hsing, as well as various materials from.
Dynamic Programming Part 1: intro and the assembly-line scheduling problem.
Analysis of Algorithms CS 477/677 Instructor: Monica Nicolescu Lecture 11.
Dynamic Programming (II)
Catalan Numbers.
COSC 3101A - Design and Analysis of Algorithms 7 Dynamic Programming Assembly-Line Scheduling Matrix-Chain Multiplication Elements of DP Many of these.
15.Dynamic Programming. Computer Theory Lab. Chapter 15P.2 Dynamic programming Dynamic programming is typically applied to optimization problems. In such.
Chapter 15 Dynamic Programming Lee, Hsiu-Hui Ack: This presentation is based on the lecture slides from Hsu, Lih-Hsing, as well as various materials from.
Advanced Algorithms Analysis and Design
Dr Nazir A. Zafar Advanced Algorithms Analysis and Design Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar.
Dr Nazir A. Zafar Advanced Algorithms Analysis and Design Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar.
Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design.
Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design.
Advanced Algorithms Analysis and Design
Advanced Algorithms Analysis and Design
Dynamic Programming Typically applied to optimization problems
Dynamic Programming (DP)
Advanced Algorithms Analysis and Design
Mathematical Foundations of AI
Dynamic Programming Sequence of decisions. Problem state.
Chapter 11 Dynamic Programming.
Advanced Algorithms Analysis and Design
Advanced Algorithms Analysis and Design
Dynamic Programming (DP)
CS 3343: Analysis of Algorithms
Advanced Algorithms Analysis and Design
Advanced Algorithms Analysis and Design
Merge Sort 7/29/ :21 PM The Greedy Method The Greedy Method.
Analysis of Algorithms CS 477/677
Greedy Algorithms (Chap. 16)
Advanced Design and Analysis Techniques
Design and Analysis of Algorithm
Data Structures and Algorithms (AT70. 02) Comp. Sc. and Inf. Mgmt
Objective of This Course
Merge Sort 11/28/2018 2:18 AM The Greedy Method The Greedy Method.
Merge Sort 11/28/2018 2:21 AM The Greedy Method The Greedy Method.
Merge Sort 11/28/2018 8:16 AM The Greedy Method The Greedy Method.
CS 704 Advanced Computer Architecture
Advanced Algorithms Analysis and Design
Advanced Algorithms Analysis and Design
Advanced Algorithms Analysis and Design
Advanced Algorithms Analysis and Design
Merge Sort 1/17/2019 3:11 AM The Greedy Method The Greedy Method.
Richard Anderson Lecture 6 Greedy Algorithms
Chapter 15-1 : Dynamic Programming I
Data Structures and Algorithms (AT70. 02) Comp. Sc. and Inf. Mgmt
Static Dictionaries Collection of items. Each item is a pair.
Analysis of Algorithms CS 477/677
On-line Routing of Real-Time Messages on Computer Networks
Richard Anderson Autumn 2016 Lecture 7
Advanced Algorithms Analysis and Design
Lecture 18 CSE 331 Oct 9, 2017.
Richard Anderson Lecture 7 Greedy Algorithms
DYNAMIC PROGRAMMING.
Algorithm Design Techniques Greedy Approach vs Dynamic Programming
COMP108 Algorithmic Foundations Dynamic Programming
Richard Anderson Winter 2019 Lecture 7
Merge Sort 5/2/2019 7:53 PM The Greedy Method The Greedy Method.
Lecture 19 CSE 331 Oct 10, 2016.
Advanced Analysis of Algorithms
Richard Anderson Autumn 2015 Lecture 7
Advanced Algorithms Analysis and Design
Asst. Prof. Dr. İlker Kocabaş
Advance Algorithm Dynamic Programming
IIS Progress Report 2016/01/18.
Analysis of Algorithms CS 477/677
Richard Anderson Autumn 2019 Lecture 7
Presentation transcript:

Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Lecture No. 18 2-Line Assembly Scheduling Problem Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Today Covered 2-Line Assembly Scheduling Algorithm using Dynamic Programming Time Complexity n-Line Assembly Problem Brute Force Analysis n-Line Assembly Scheduling Algorithm using Dynamic Programming Generalization and Applications Conclusion Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Assembly-Line Scheduling Problem There are two assembly lines each with n stations The jth station on line i is denoted by Si, j The assembly time at that station is ai,j. An auto enters factory, goes into line i taking time ei After going through the jth station on a line i, the auto goes on to the (j+1)st station on either line There is no transfer cost if it stays on the same line It takes time ti,j to transfer to other line after station Si,j After exiting the nth station on a line, it takes time xi for the completed auto to exit the factory. Problem is to determine which stations to choose from lines 1 and 2 to minimize total time through the factory. Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Mathematical Model Defining Objective Function Base Cases f1[1] = e1 + a1,1 f2[1] = e2 + a2,1 Two possible ways of computing f1[j] f1[j] = f2[j-1] + t2, j-1 + a1, j OR f1[j] = f1[j-1] + a1, j For j = 2, 3, . . ., n f1[j] = min (f1[j-1] + a1, j, f2[j-1] + t2, j-1 + a1, j) Symmetrically f2[j] = min (f2[j-1] + a2, j, f1[j-1] + t1, j-1 + a2, j) Objective function = f* = min(f1[n] + x1, f2[n] + x2) Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Dynamic Algorithm FASTEST-WAY(a, t, e, x, n) 1 ƒ1[1]  e1 + a1,1 for j  2 to n do if ƒ1[ j - 1] + a1, j ≤ ƒ2[ j - 1] + t2, j - 1 + a1, j then ƒ1[ j]  ƒ1[ j - 1] + a1, j l1[ j]  1 else ƒ1[ j]  ƒ2[ j - 1] + t2, j - 1 + a1, j l1[ j]  2 if ƒ2[ j - 1] + a2, j ≤ ƒ1[ j - 1] + t1, j - 1 + a 2, j Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Contd.. then ƒ2[ j]  ƒ2[ j - 1] + a2, j l2[ j]  2 else ƒ2[ j]  ƒ1[ j - 1] + t1, j - 1 + a2, j l2[ j]  1 if ƒ1[n] + x1 ≤ ƒ2[n] + x2 then ƒ* = ƒ1[n] + x1 l* = 1 else ƒ* = ƒ2[n] + x2 l* = 2 Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Optimal Solution: Constructing The Fastest Way Print-Stations (l, n) i  l* print “line” i “, station” n for j  n downto 2 do i  li[j] print “line” i “, station” j - 1 Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

n-Line Assembly Problem Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

n-Assembly Line Scheduling Problem There are n assembly lines each with m stations The jth station on line i is denoted by Si, j The assembly time at that station is ai,j. An auto enters factory, goes into line i taking time ei After going through the jth station on a line i, the auto goes on to the (j+1)st station on either line It takes time ti,j to transfer from line i, station j to line i’ and station j+1 After exiting the nth station on a line i, it takes time xi for the completed auto to exit the factory. Problem is to determine which stations to choose from lines 1 to n to minimize total time through the factory. Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

n-Line: Brute Force Solution 11 12 13 1 m 21 22 23 2 In Out ei x xi sn 3 snm en xn sij si sim t ( , j - ) e Total Computational Time = possible ways to enter in stations at level n x one way Cost Possible ways to enter in stations at level 1 = n1 Possible ways to enter in stations at level 2 = n2 . . . Possible ways to enter in stations at level m = nm Total Computational Time = (m.mn) Dr. Nazir A. Zafar Advanced Algorithms Analysis and Design

Dynamic Solution Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Notations : n-Line Assembly 11 12 13 1 m 21 22 23 2 In Out ei x xi sn 3 snm en xn sij si sim t ( , j - ) e Let fi[j] = fastest time from starting point to station Si, j f1[m] = fastest time from starting point to station S1 m f2[m] = fastest time from starting point to station S2,m fn[m] = fastest time from starting point to station Sn,m li[j] = The line number, 1 to n, whose station j-1 is used in a fastest way through station Si’, j Dr. Nazir A. Zafar Advanced Algorithms Analysis and Design

Notations : n-Line Assembly 11 12 13 1 m 21 22 23 2 In Out ei x xi sn 3 snm en xn sij si sim t ( , j - ) e ti[j-1] = transfer time from station Si, j-1 to station Si,, j a[i, j] = time of assembling at station Si, j f* = is minimum time through any way l* = the line no. whose mth station is used in a fastest way Dr. Nazir A. Zafar Advanced Algorithms Analysis and Design

Possible Lines to reach Station S(i, j) 11 12 1j-1 1 m 21 22 2j-1 2 In Out ei x xi sn j-1 snm en xn sij si sim t ( , j - ) e Time from Line 1, f[1, j-1] + t[1, j-1] + a[i, j] Time from Line 2, f[2, j-1] + t[2, j-1] + a[i, j] Time from Line 3, f[3, j-1] + t[3, j-1] + a[i, j] . . . Time from Line n, f[n, j-1] + t[n, j-1] + a[i, j] Dr. Nazir A. Zafar Advanced Algorithms Analysis and Design

Values of f(i, j) and l* at Station S(i, j) 11 12 13 1 m 21 22 23 2 In Out ei x xi sn 3 snm en xn sij si sim t ( , j - ) e f[i, j] = min{f[1, j-1] + t[1, j-1] + a[i, j], f[2, j-1] + t[2, j-1] + a[i, j], . . , f[n, j-1] + t[n, j-1] + a[i, j]} f[1, 1] = e1 + a[1, 1]; f [2, 1] = e2 + a[2, 1], … ,f [n, 1] = en + a[n, 1] f* = min{f[1, n] +x1, f[2, n] + x2, . . , f[n, m] + xn} l* = line number of mth station used Dr. Nazir A. Zafar Advanced Algorithms Analysis and Design

n-Line Assembly: Dynamic Algorithm FASTEST-WAY(a, t, e, x, n, m) 1 for i  1 to n 2 ƒ[i,1]  e[i] + a[i,1] 3 for j  2 to m 4 for i  1 to n 5 ƒ[i, j]  f[1, j-1] + t[1, j-1] + a[i, j] 6 L[1, j] = 1 7 for k  2 to n 8 if f[i,j] > f[k, j-1] + t[2, j-1] + a[i, j] 9 then f[i,j]  f[k, j-1] + t[2, j-1] + a[i, j] L[i, j] = k 10 end if Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

n-Line Assembly: Dynamic Algorithm 11 ƒ*  ƒ[1, m] + x[1] 12 l* = 1 13 for k  2 to n 14 if f* > f[k, m] + x[k] then ƒ*  ƒ[k, m] + x[k] l* = k Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Constructing the Fastest Way: n-Line Print-Stations (l*, m) i  l* print “line” i “, station” m for j  m downto 2 do i  li[j] print “line” i “, station” j - 1 Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Generalization: Cyclic Assembly Line Scheduling Title: Moving policies in cyclic assembly line scheduling Source: Theoretical Computer Science, Volume 351, Issue (February 2006) Summary: Assembly line problem occurs in various kinds of production automation. In this paper, originality lies in the automated manufacturing of PC boards. In this case, the assembly line has to process number of identical work pieces in a cyclic fashion. In contrast to common variant of assembly line scheduling. Each station may process parts of several work-pieces at the same time, and parts of a work-piece may be processed by several stations at the same time. Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Application: Multiprocessor Scheduling The assembly line problem is well known in the area of multiprocessor scheduling. In this problem, we are given a set of tasks to be executed by a system with n identical processors. Each task, Ti, requires a fixed, known time pi to execute. Tasks are indivisible, so that at most one processor may be executing a given task at any time They are un-interruptible, i.e., once assigned a task, may not leave it until task is complete. The precedence ordering restrictions between tasks may be represented by a tree or forest of trees Dr Nazir A. Zafar Advanced Algorithms Analysis and Design

Conclusion Assembly line problem is discussed Generalization is made Mathematical Model of generalized problem is discribed Algorithm is proposed Applications are observed in various domains Some research issues are identified Dr Nazir A. Zafar Advanced Algorithms Analysis and Design