1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đường đi ngắn nhất trong đồ thị.DOC

14 1,5K 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đường đi ngắn nhất trong đồ thị
Tác giả Phan Thanh Long
Trường học Trường Đại Học
Thể loại Luận văn tốt nghiệp
Định dạng
Số trang 14
Dung lượng 121,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đường đi ngắn nhất trong đồ thị

Trang 1

Chơng 4

Đờng đi ngắn nhất trong đồ thị

Giới thiệu:

Trong các ứng dụng thực tế bài toán tìm đờng đi ngắn nhất giữa hai đỉnh của một đồ thị liên thông có ý nghĩa rất lớn Bài toán tìm đờng đi ngắn nhất đợc ứng dụng trong thực tế nh để chọn một hành trình tiết kiệm nhất (về thời gian hoặc chi phí) trên một mạng giao thông đờng thuỷ, đờng bộ hoặc đờng không Bài toán lập lịch thi công các công đoạn trong một công trình thi công lớn Bài toán lựa chọn đờng truyền tin với chi phí nhỏ nhất trong mạng thông tin Dùng thuật giải đờng đi ngắn nhất trong đồ thị giải quyết bài toán sửa gói tin sai trong việc truyền tin dới đây ta xét một số thuật toán để tìm đờng đi ngắn nhất trong đồ thị có trọng số và đồ thị không có trọng số

I Đờng đi ngắn nhất trong đồ thị không có trọng số

1 Định nghĩa: Đồ thị không có trọng số là đồ thị hữu hạn trên các cạnh

không có trọng số Bài toán tìm đờng đi ngắn nhất giữa hai đỉnh a,b trong đồ thị không có trọng số G = <X, U> là tìm đờng đi giữa hai đỉnh a, b sao cho có số các cạnh (cung) là ít nhất

2 Thuật toán:

Bớc 1: Tại đỉnh a ta ghi số 0

Các đỉnh có cạnh đi từ đỉnh a đến ta ghi số 1

Giả sử ta đã ghi tới i, tức là ta đã đánh số đợc các tập đỉnh là A(0) = {a}, A(1), A(2), , A(i) trong đó A(i) là tập tất cả các đỉnh đợc ghi bởi số i Ta xác định tập đỉnh đợc đánh số bởi số i + 1 là A(i+1) = {x / x  X, x  A(k) với k = 0, ,i

và tồn tại y  A(i) sao cho từ y có cạnh (cung) tới x} Do tính hữu hạn của đồ thị, sau một số hữu hạn các bớc, thuật toán dừng lại và cho kết quả là tập các

đỉnh có chứa b đợc đánh số bởi m là A(m)

Bớc 2: Do bớc 1 thì đỉnh b đợc đánh số bởi m, điều này chứng tỏ đờng đi từ a

đến b có m cạnh (cung) và là đờng ngắn nhất đi từ a đến b Để tìm tất cả các đ-ờng có độ dài m ngắn nhất đi từ a đến b, ta xuất phát từ b đi ngợc về a theo đúng nguyên tắc sau đây:

- Tìm tất cả các đỉnh có cạnh (cung) tới b đợc ghi số m - 1, giả sử đó là xik (k =

1, 2, )

42

Trang 2

- Với mỗi đỉnh xik tìm tất cả các đỉnh có cạnh (cung) với xik (k = 1, 2, ) đợc ghi số m -2

Bằng cách lùi dần trở lại, đến một lúc nào đó gặp đỉnh ghi số 0, đó chính là đỉnh

a Tất cả các đờng xác định theo các bớc trên là đờng đi từ a đến b có độ dài ngắn nhất là m cần tìm

Hình 1.1

Ví dụ đồ thị nh hình 1.1 xây dựng đờng đi ngắn nhất theo thuật toán trên:

Bớc 1: Đỉnh a đợc đánh số 0 và có A(0) = {a}

A(1) = {x1, x6, x7}

A(2) = {x2, x5, x8}

A(3) = {x3, b, x9}

Bớc 2: Từ bớc 1 ta có b  A(3) nên từ a đến b là đờng đi ngắn nhất có 3 cung Tiếp theo ta xác định tất cả các đờng đi ngắn nhất có độ dài 3:

Đỉnh có cung về b đợc đánh số 2 là x5

Đỉnh có cung tới x5 đợc đánh số 1 là x6

Đỉnh có cung về x6 đợc đánh số 0 là a

Vậy đờng cần tìm là a - x6 - x5 - b

Ii Đờng đi ngắn nhất trong đồ thị có trọng số

1 Các khái niệm

Cho đồ thị hữu hạn G = <X, U> với mỗi cạnh u  U ta đặt tơng ứng với số dơng l(u) gọi là trọng số của u

Đồ thị có cạnh nh trên đợc gọi là đồ thị có trọng số

Gọi  là một đờng đi nào đó trong G = <X, U>

Giả sử  = xi1ui1xi2ui2 xin - 1uin-1xin, xij  X , uij  U (j = 1, 2, ,n)

Khi đó ký hiệu gọi là trọng số của đờng 

Ta ký hiệu D(a,b) là tập tất cả các đờng đi nối đỉnh a với đỉnh b trong đồ thị G.

Đờng đi  giữa a và b là ngắn nhất nếu  thoả mãn l() = min {l() /  D(a,b)}

43

1

) ( )

(

n j ij

u l

l

x

4

x

10

x

a

0

3

3

2 1

Trang 3

Bài toán: Cho đơn đồ thị G = <X, U> liên thông có trọng số, và a, b  X Tìm các đờng đi ngắn nhất giữa 2 đỉnh a, b

2 Thuật toán tìm đờng đi ngắn nhất cho đồ thị có trọng số

2.1 Cơ sở thuật toán tìm đờng đi ngắn nhất

Cho G = <X, U> tìm đờng đi ngắn nhất từ đỉnh a tới đỉnh b

Với x X nếu độ dài đờng đi từ đỉnh xuất phát tới đỉnh x có trọng số là l() thì

(x) = l() gọi là trọng số của đỉnh x Cơ sở của tất cả các thuật toán tìm đờng đi ngắn nhất là xác định đợc các trọng số nhỏ nhất cho tất cả các đỉnh từ đó tìm đ-ờng đi ngắn nhất

Bớc 1: Đánh trọng số các đỉnh, trọng số của đỉnh xuất phát là (a) = 0

Tại các đỉnh còn lại ta ghi một số dơng nào đó sao cho nó đủ lớn hơn trọng số của các đỉnh từ a tới

Bớc 2: Thực hiện việc giảm trọng số các đỉnh Giả sử tại đỉnh x đợc ghi trọng số

(x) Nếu tồn tại đỉnh y có trọng số (y) từ y sang x mà (x) > (y) + l(y, x) thì

ta thay trọng số của (x) bởi trọng số '(x) = (y) + l(y, x) Trờng hợp (x) <

(y) + l(y, x), trọng số của x giữ nguyên là (x) Quá trình thực hiện cho tới khi trọng số của tất cả các đỉnh trong G = <X, U> đạt cực tiểu, tức là x  X không tồn tại y  X kề với x mà (y) + l(y, x) <(x)

Bớc 3: Xác định đờng từ a đến b có trọng số ít nhất.

Từ bớc 3 ta xác định đợc trọng số của đỉnh b Xuất phát từ b đi về đỉnh kề với b, chẳng hạn đó là đỉnh xin có tính chất (b) = (x) + l(xi n, b) Nếu không có đỉnh

kề với xin nh vậy thì ta đi về đỉnh kề với b có trọng số cạnh (cung) từ đỉnh đó về

b là ít nhất

Từ đỉnh xin ta đi ngợc về đỉnh xin-1 có tính chất (xin) = (in-1) + l(xin-1, xin) nếu không đi về đỉnh kề với xi n mà trọng số cạnh (cung) giữa chúng là ít nhất

Bằng cách đó ta sẽ đi về đỉnh xi1 mà đỉnh kề là a sao cho (xi1) = (a) + l(a, xi1)

= l(a, xi1) với (a) = 0

Đờng  = axi1xi2 xin - 1xinb là đờng đi từ a đến b có trọng số ít nhất trong số tất cả các đờng từ a đến b

Thật vậy l() = l(a,xi1) + l(xi1,xi2) + + l(xin-1,xin) + l(xin,b) = [(xi1)- (a)] + [(xi2) - (xi1)] +

+ [(xin) - (xin-1)] + [(b) - (xin)] = (b) (1)

Giả sử   D(a, b) là 1 đờng bất kỳ từ a đến b và có dạng:

 = aj1xj2 xjk-1xjkb Theo bớc 2 ta có bất đẳng thức sau:

l(a, xj1)  (xj1) - (a) = (xj1)

l(xj1, xj2)  (xj2) - (xj1)

44

Trang 4

l(xjk-1,xjk)  (xjk) - (xjk-1)

l(xjk, b)  (b) - (xjk)

Cộng 2 vế ta có:

l() = l(a, xj1) + l(xj1, xj2) + + l(xjn-1, xjk) + l(xjk, b)  (b) (2)

So sánh (1) và (2) ta có:

l() = min{ l() /  D(a, b)}

2.2 Thuật toán Dijkstra

Có thể khái quát thuật toán bằng thủ tục sau:

Procedure Dijikstra(G: đồ thị liên thông có trọng số dơng)}

U của G}

For i:=1 to n (vi) := ;

(a) := 0;

S := 

{ban đầu các trọng số đợc khởi tạo sao cho trọng số của a = 0, còn các đỉnh khác bằng, tập S rỗng}

While b S Begin

u:= đỉnh không thuộc S có (u) nhỏ nhất;

S := S  {u};

For tất cả các đỉnh v không thuộc S

if (u) + l(u,v) < (v) then (v) := (u) + l(u,v)

{thêm vào S đỉnh có trọng số nhỏ nhất và sửa đổi trọng số của các đỉnh không thuộc S}

End;

{l() = l(a, b) = độ dài đờng đi ngắn nhất từ a đến b}

Độ phức tạp của thuật toán là O(n2), tức là phải dùng O(n2) phép cộng và so sánh đờng đi ngắn nhất giữa 2 đỉnh trong đồ thị đơn vô hớng liên thông có trọng số

2.3 Thuật toán Ford - Bellman

Khác với thuật toán Dijkstra xác định các trọng số bé nhất của tất cả các đỉnh bằng cách "nổi bọt" dần các trọng số bé nhất, mỗi lần trọng số bé nhất đợc tìm thấy thì lấy nó làm hạt nhân để điều chỉnh và xác lập các trọng số cho các đỉnh khác, còn thuật toán Ford - Bellman xác định các trọng số nhỏ nhất cho tất cả

45

Trang 5

các đỉnh bằng cách duyệt tất cả các đỉnh, trọng số nhỏ nhất của một đỉnh đợc xác lập là sau một số lần hữu hạn điều chỉnh nhờ các vòng lặp

Thuật toán đợc mô tả bằng thủ tục sau:

Procedure Ford_Bellman;

{Input: Đồ thị có hớng G = <X, U> n đỉnh, a X là đỉnh xuất phát.

t(i, j) với i, j X là ma trận trọng số

Output: Với xX tìm các (x) bé nhất và Truoc(x) để ghi nhận đỉnh đi trớc x trong các đờng đi ngắn nhất từ a đến x.

}

Begin

{Khởi tạo}

For x  X do Begin

(x) := t[a, x];

Truoc[x] := a;

End;

(a) := 0;

For k:=1 to n - 2 do

For x  X \ {a} do

For y  X do

if (x) > (y) + t[y, x] then begin

(x) := (y) + t[y, x];

Truoc(x) := y;

End;

End;

Độ phức tạp của thuật toán là O(n3) chúng ta có thể chấm dứt vòng lặp theo k khi phát hiện trong quá trình thực hiện 2 vòng lặp trong không có biến d[u] nào

bị thay đổi giá trị Đối với những đồ thị có số cạnh m thoả mãn m < 6.n thì tốt hơn là sử dụng danh sách kề để biểu diễn đồ thị, khi đó vòng lặp theo y cần viết dới dạng

For tất cả các đỉnh y kề với x do

if (x) > (y) + t[y, x] then begin

(x) := (y) + t[y, x];

Truoc(x) := y;

End;

Trong trờng hợp này thuật toán có độ phức tạp là O(n.m)

2.4 Thuật toán Floyd

46

Trang 6

Trong nhiều trờng hợp ta cần xác định đờng đi ngắn nhất giữa tất cả các cặp

đỉnh, với bài toán này có thể giải bằng cách sử dụng n lần thuật toán thuật toán Ford_bellman trong đó ta sẽ chọn s lần lợt là các đỉnh của đồ thị cách làm này không phải là cách làm tốt nhất ở đây, ta sẽ trình bày thuật toán để giải quyết bài toán này trên đó là thuật toán Floyd Thuật toán đợc trình bày khái quát ở dạng thủ tục sau:

Procedure Floyd;

{ Input: đồ thị cho bởi ma trận trọng số a[i,j], i,j = 1,2, ,n;

Output: Ma trận đờng đi ngắn nhất giữa tất cả các cặp đỉnh

d[i,j], i,j = 1,2, n Trong đó d[i,j] cho độ dài ngắn nhất từ i đến j

Ma trận ghi nhận đờng đi p[i,j] ghi nhận đờng đi trớc đỉnh j}

Begin

For i:=1 to n do

For j:=1 to n do Begin

d[i,j] := a[i,j]

p[i,j] := i;

End;

For k:=1 to n do

For i:=1 to n do

For j:=1 to n do

if d[i,j] > d[j,k] + d[k,j] then Begin

d[i, j] := d[i, k] + d[k,j];

p[i,j] := p[k,j];

End;

End;

III Các ví dụ ứng dụng

1 ứng dụng trong truyền tin

Truyền tin trong mạng thờng hay gặp sự cố dẫn đến các gói tin có thể bị sai lệch, để phát hiện và sửa chữa các bít sai khôi phục lại gói tin ngời ta đã tiến hành 1 số cách thức Có cách thức đó là mã hoá dữ liệu trớc khi truyền, nhờ cơ chế mã hoá mà những gói tin sai có thể sửa đúng lại đợc Thực hiện điều này, ngời ta đã dùng máy hữu hạn trạng thái để mã hoá dữ liệu

Ta xét 1 ôtômát hữu hạn của máy mã hoá dữ liệu cho những gói tin 4 bít nh hình 3.1:

47

A

00(0)

11(0) 00(1) 01(0)

11(1)

Trang 7

Hình 3.1

Giả sử cần mã hoá gói tin nhị phân x = 0100; Thì ta đi nh sau: A, A, C, B, A với nhãn đặt trong trong dấu ngoặc ta thu đợc gói tin x = 0100 với nhãn đặt ngoài dấu ngoặc tớng ứng thì ta thu đợc bản mã của x là 00 11 01 11, bản mã này dài 8 bít

Để tiện minh hoạ, ôtômát thiết kế nh trên là đơn giản dẫn đến cha đầy đủ, vì giả sử có gói tin là x = 1111, ôtômát sẽ không mã hoá đợc

Để thực hiện đợc việc sửa sai gói tin, 1 giải thuật gọi là Viterbi đợc tiến hành

nh sau:

- Thay vì bản mã là 8 bít ta xây dựng bản mã có độ dài là 12 bít bẳng cách xuất phát từ trạng thái ban đầu A đi một chu trình có độ dài 6 Khi đó lúc giải mã ta chỉ giải mã 8 bít đầu bỏ đi 4 bit cuối

- Từ ôtômát xây dựng đồ thị có hớng biểu diễn tất cả các khả năng mã hoá độ dài 12 của gói tin 4 bit nh sau:

Hình 3.2

Mỗi cạnh nét đứt biểu thị số 0, cạnh nét liền là số 1, ví dụ với gói tin x = 0100

để mã hoá 12 bit thì đi theo chu trình trong ôtômát là A, A, C, B, A, A, A thì

t-ơng ứng đi trong đồ thị là A0, A1, C2, B3, A4, A5, A6 thì bản mã là 001100110000

Gọi d(a, b) là số bit sai khác nhau giữa 2 chuỗi nhị phân a và b cùng độ dài, nếu x, y, z là những chuỗi bít nhị phân cùng độ dài n, thì thoả các tính chất sau:

i) d(x, y) 0

ii) d(x, y) = 0  x = y

iii) d(x, y) + d(y, z)  d(x, z)

i) và ii) hiển nhiên bây giờ ta chứng minh iii)

Đặt x = x1, x2, , xn với xi (i = 1 n) là những bit, xi = 0 hoặc 1

tơng tự đặt y = y1, y2, , yn và z = z1, z2, , zn

48

A

B

C

1 2 3 4 5 6 0

00 11

01

11

00

00

01 01 01

01

Trang 8

a) Xét trờng hợp n = 1, tức các chuỗi chỉ có 1 bit ta có

- Nếu d(x1, y1) = 1 và d(y1, z1) = 1 thì d(x1, z1) = 0 hoặc 1

dẫn đến d(x1, y1) + d(y1, z1) = 2 luôn lớn d(x1, z1)

- Nếu d(x1, y1) = 1 và d(y1, z1) = 0 thì y1 = z1 nên d(x1, z1) = 1

hoặc d(x1, y1) = 0 và d(y1, z1) = 1 thì x1 = y1 nên d(x1, z1) = 1

hoặc d(x1, y1) = 0 và d(y1, z1) = 0 thì x1 = y1 = z1 nên d(x1, z1) = 0

tất cả các trờng hợp đều có d(x1, y1) + d(y1, z1) = d(x1, z1)

Kết luận d(xi, yi) + d(yi, zi) d(xi, zi) với i = 1 n

b) Xét trờng hợp n > 1

Ta thấy d(x, y) = d(x1, y1) + d(x2, y2) + + d(xn, yn)

d(y, z) = d(y1, z1) + d(y2, z2) + + d(yn, zn)

d(x, z) = d(x1, z1) + d(x2, z2) + + d(xn, zn)

mà d(xi, yi) + d(yi, zi) d(xi, zi) với i = 1 n ta cắt lát theo chiều dọc suy

điều phải chứng minh

Nhận xét rằng ôtômát nh hình 3.1 đợc thiết kế với mục đích chỉ sửa sai với những bản mã có sai sót không quá 2 bit Giả sử a, b là 2 bản mã 12 bit bất kỳ của ôtômát, ôtômát cũng đợc thiết kế sao cho d(a, b) 5 (ta có thể kiểm chứng

điều này)

Giả sử x là bản mã 12 bít do ôtômát tạo ra nhng khi truyền đi thì bị sai sót không quá 2 bit, cách sửa đúng lại x nh sau:

Gọi U là tập các chuỗi mã 12 bit ra ôtômát tạo ra khi đó

a  U là bản mã gốc của x nếu d(x, a) = min{d(x, b) /b  U}

khi đó a là duy nhất, không thể tồn tại mã b sao cho d(a, x) = d(x, b) vì theo trên

d(a, b) 5 và d(a, x) + d(x, b) d(a, b) mà d(a, x)  2 suy ra d(x, b) > 2

Nh vậy đờng đi từ đỉnh A0 đến A6 tơng ứng với đoạn mã a trong đồ thị hình 3.2

là đờng đi có độ dài nhỏ nhất, mà trọng số của mỗi cung là số bit sai khác với từng cặp 2 bit trong x, để rõ hơn ta xét ví dụ:

Giả sử nhận đợc bản tin bị sai không quá 2 bit x = 10 01 00 01 11 10 khi đó ta

đánh trọng số cho mỗi cung cho đồ thị nh hình 3.3

49

A

B

C

1 2 3 4 5 6 0

1 1

0

2

0

1

1

Trang 9

Hình 3.3

Cách đánh trọng số mỗi cung nh sau, ở cặp 2 bit thứ nhất của x là 10 thì tơng ứng với những cung thứ nhất của tất cả đờng đi là A0A1 = 00; A0C1 = 11 và có số bit sai khác lần lợt là 1, 1, đây cũng là trọng số của cung tơng ứng Tơng tự ở cặp 2 bit thứ hai của x là 01 thì tơng ứng những cung thứ hai của tất cả đờng đi

là A1A2 = 00; A1C2 =11; C1B2 = 01 và có số bít sai khác lần lợt là 1, 1, 0 Tơng

tự ta tiếp tục đánh trọng số nh thế

Nhận thấy đờng đi ngắn nhất của đồ thị hình 3.3 là A0C1B2C3B4A5A6 Vậy đoạn mã tơng ứng là 11 01 00 01 11 00, đây cũng là đoạn mã đúng của x và giải mã

ta thu đợc gói tin đợc truyền là 1010

2 ứng dụng trong việc lập lịch thi công của một công trình

Ta có thể mở rộng bài toán tìm đờng đi ngắn nhất là bài toán tìm đờng đi dài nhất Với bài toán này chỉ có một điểm khác duy nhất là thay vì tìm trọng số nhỏ nhất là tìm trọng số lớn nhất cho các đỉnh

Đồ thị có nhiều ứng dụng trong vấn đề lập lịch, với bài toán toán tìm đờng đi dài nhất ta sẽ đề cập tới một ứng dụng của nó về lập lịch đó sơ đồ mạng PERT Sơ đồ mạng PERT (Project Evaluation and Review Technique) là sự sắp xếp lịch

về một dự án công trình, nó đợc ứng dụng rộng rãi và đem lại nhiều hiệu quả trong việc thi công các công trình

Một công trình thi công đợc chia làm nhiều công việc, có một số công việc mà việc thực hiện nó chỉ đợc tiến hành sau khi một số công việc nào đó đã hoàn thành Sơ đồ PERT đợc thể hiện bằng 1 đồ thị có hớng và mỗi cung trên đồ thị biểu diễn một công việc Trên cung có đặt thời gian thực hiện công việc, mỗi

đỉnh là bắt đầu hoặc kết thúc của một hay nhiều công việc

a) Xây dựng sơ đồ PERT

Giả sử sơ đồ PERT là một đồ thị có hớng G = <X, U> ta tiến hành xây dựng

nh sau:

Với (i, j)  U là 1 cung biểu diễn 1 công việc thì tij là thời gian thực hiện công việc đó, tij là trọng số cho cung (i, j)

Mỗi một đỉnh là một hình tròn gồm 4 thành phần nh hình vẽ sau

Trong đó:

1) tđ: là tên đỉnh, mỗi tên đỉnh là một con số và đợc xác định nh sau:

50

ts i tm i

 i

Trang 10

- Đánh số 0 cho đỉnh khởi công (Chỉ có cung đi ra)

- Sau khi 1 đỉnh đợc đánh số thì xoá các cung đi ra từ đỉnh đó

- Đánh số tiếp theo cho đỉnh chỉ có cung đi ra (nếu có nhiều đỉnh nh vậy thì lấy tuỳ ý một đỉnh)

- Tiếp tục nh vậy cho đến khi hết các đỉnh, đỉnh cuối gọi là đỉnh kết thúc

2) tsi: là thời gian sớm nhất có thể bắt đầu sự kiện thứ i (tại đỉnh thứ i)

Tại đỉnh khởi công ts 0 = 0

tại đỉnh thứ i: ts i = max{ts j + tji}

3) tm i : là thời gian muộn nhất để bắt đầu sự kiện i mà không ảnh hởng thời gian rhực hiện cả công trình

Sau khi xác định tất cả các ts i thì các tm i đợc xác định từ đỉnh kết thúc quay về

đỉnh khởi công nh sau:

tại đỉnh n là đỉnh kết thúc thì tm n = ts n

tại đỉnh thứ i tm i = min{tm j - tij}

4)  i : là thời gian dự trữ sự kiện thứ i  i = tm i = ts i

b) Tìm đờng găng

Đặt  ij = (tm j - ts i) - tij là thời gian dự trữ của công việc (i, j)

Công việc có  ij = 0 là công việc găng, đờng găng là một đờng đi từ đỉnh khởi công đến đỉnh kết thúc sao cho nó chỉ đi qua các cung biểu thị công việc găng

Nh vậy đờng găng cũng là đờng đi dài nhất từ đỉnh khởi công đến đỉnh kết thúc, việc tìm đờng găng cũng là bài toán tìm đờng đi dài nhất với đỉnh gốc là đỉnh khởi công, đỉnh đích là đỉnh kết thúc

Nhận xét: Với việc xây dựng sơ đồ PERT cho một dự án thi công ta thấy những việc có thời gian dự trữ là dơng là việc có thể làm chậm mà không ảnh hởng tới tiến độ, những việc găng là việc không thể kéo dài Muốn rút ngắn thời gian thực hiện công trình thì phải tập trung cào các việc găng

Sơ đồ PERT thuận tiện cho việc quản lý vì nói chung không phải vẽ lại sơ đồ, nếu có phát sinh việc phụ thì thêm vào các cung mới hoặc điều chỉnh thời gian trên các cung Trên sơ đồ nay có thể giải quyết 2 loại bài toán

Bài toán 1: Với điều kiện nhân vật lực và trang thiết bị hiện có cần bố trí thời

gian thực hiện công trình là ngắn nhất

Bài toán 2: Với điều kiện thời gian hoàn thành công trình cho trớc cần tính toán

việc thuê nhân công và sử dụng trang thiết bị sao cho chi phí xây dựng là nhỏ nhất

Ví dụ cho một bảng các công việc nh sau:

51

Ngày đăng: 21/08/2012, 16:16

HÌNH ẢNH LIÊN QUAN

Đồ thị có cạnh nh trên đợc gọi là đồ thị có trọng số. - Đường đi ngắn nhất trong đồ thị.DOC
th ị có cạnh nh trên đợc gọi là đồ thị có trọng số (Trang 2)
Sơ đồ PERT cho lịch các công việc ở bảng trên đợc biểu diễn nh hình 3.4 - Đường đi ngắn nhất trong đồ thị.DOC
cho lịch các công việc ở bảng trên đợc biểu diễn nh hình 3.4 (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w