Điều hành dự án bằng phương pháp PERT-PCM và ứng dụng giải bài toán lập lịch thi công công trình

67 459 0
Điều hành dự án bằng phương pháp PERT-PCM và ứng dụng giải bài toán lập lịch thi công công trình

Đ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

http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN OBO OK S CO M Chương mở đầu GIỚI THIỆU CHUNG VỀ NHIỆM VỤ Đề tài “Điều hành dự án phương pháp PERT-PCM ứng dụng giải toán lập lòch thi công công trình”, bao gồm Tìm hiểu phương pháp PERT-PCM (phương pháp sơ đồ mạng lưới) Ứng dụng giải toán lập lòch thi công công trình + Lưu trữ lòch thi công dự án + Cho biết thới gian bắt đầu dự án thời gian kết thúc dự án + Thêm số hạng mục dự án thi công + Bỏ số hạng mục dự án thi công + Đưa lòch thi công hạng mục tối ưu KIL - Trang:1 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Chương I KIL OBO OKS CO M ĐIỀU HÀNH DỰ ÁN BẰNG PHƯƠNG PHÁP PERT-CMP (Phương pháp sơ đồ mạng lưới) Dự án (Project) tập hợp hoạt động (Activity) liên quan với phải thực theo thứ tự hoàn thành toàn hoạt động Hoạt động hiểu việc đòi hỏi thời gian, nguyên liệu (Resource) để hoàn thành Trước để điều hành dự án người ta thường dùng biểu đồ Gantt (Gantt bar chart), đồ thò gồm đường kẻ ngang, biểu thò điểm khởi công kết thúc hoạt động Nhược điểm biểu đồ không xác đònh quan hệ hoạt động, nên không áp dụng cho dự án lớn (large-scale project), đòi hỏi đặt kế hoạch (planning), điều hành thực (scheduling) va kiểm tra (controlling) cách hệ thống hiệu quả, chí phải tối ưu hoá hiệu (về thời gian tiết kiệm nguyên liệu) Vì vậy, gần đồng thời vào năm 1956-1958, hai phương pháp kế hoạch, điều hành kiểm tra dự án đời Phương pháp đường găng phương pháp đường tới hạn (Critical path method, viết rắt CPM) E.I.du Pont de Nemous công ty xây dựng ông đưa Phương pháp thứ hai có tên Kỹ thuật xem xét đánh giá dự án (Project evaluation and review technique, viết tắt PERT) kết nghiên cứa công ty tư vấn theo đặt hàng hải quân Mỹ, dùng để điều hành hoạt động nghiên cứu phát triển chương trình tên lửa đối cực Hai phương pháp hình thành độc lập giống nhau, nhằm vào mục đích điều hành thời gian Sự khác CPM thời gian ước lượng cho công việc, coi tất đònh (Deterministic), PERT ngẫu nhiên (Probabilistic) Ngoài CPM có tính đến quan hệ thời gian Ngày nay, phát triển lên, hai phương pháp coi một, tên chung Phương pháp điều hành dự án PERT-CPM, Phương pháp sơ đồ mạng lưới hệ thống kiểu PERT (PERT-type system) Nó dùng để thực nhiều kiểu dự án, từ xây dựng, lập trình máy tính, sản xuất phim đến vận động tranh cử trò giải phẫu phức tạp Phương pháp điều hánh dự án PERT-CPM gồm ba pha (tức ba khâu): kế hoạch, điều hành kiểm tra điều chỉnh Pha kế hoạch có nội dung lập sơ đồ mạng lưới (arrow network diagram arrow diagram), tương tự đồ thò có hướng Pha mở đầu việc tách dự án thành nhiều hoạt động riêng đònh thời gian hoàn thành chúng Trong mạng, cung có hướng biểu diễn hoạt động sơ đồ mạng biểu thò mối quan hệ hoạt động Mỗi nút biểu thò biến cố kiện (event), đánh dấu hoàn thành số hoạt Trang:2 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN động (activity) cung vào nút, bắt đầu hoạt động ứng với cung khỏi nút KIL OBO OKS CO M Pha điều hành (scheduling phase) có nhiệm vụ xây dựng biểu đồ thời gian, rõ thời điểm bắt đầu kết thúc hoạt động mối quan hệ hoạt động Nói riêng, điều quan trọng phải tính xác hoạt động tới hạn, tức găng (critical), cần ý đặc biệt thực hiện, để toàn dự án hoàn thành hạn Pha kiểm tra bao gồm việc sử dụng sơ đồ mạng lưới, biểu đồ thời gian để theo dõi báo cáo đònh kì tiến triển dự án Nếu cần phải phân tích lại xác đònh sơ đồ cho phần dự án lại I Lập sơ đồ mạng lưới Như nói, pha đầu phương pháp PERT-CPM lập kế hoạch thể sơ đồ mạng lưới, biểu diễn đồ thò có hướng Hãy xét dự án xây dựng nhà Việc tách dự án thành hoạt động đào đất, xây móng, xây tường thô, lợp mái, đặt đường dây điện … kiến trúc sư kỹ sư xây dựng làm Dựa vào đó, người quản lý dự án lập sơ đồ mạng lưới H.1.1 Các số bên cạnh cung thời gian thực hoạt động Qua sơ đồ mạng lưới H.1.1 ta thấy rõ mối quan hệ hoạt động thời gian Chẳng hạn hoạt động (6, 8) trát ngoài-phải sau (4, 6) lợp mái, độc lập với (5, 7) chỉnh tường Cũng (4, 7) độc lập với (4, 5) (5, 7) Ở có hai hoạt động giả (dummmy activity) với thời gian để thực đưa vào để đảm bảo qui tắc sơ đồ Cung giả (11, 12), ký hiệu đường đứt đoạn, đưa vào để đảm bảo qui tắc hai hoạt động biến cố bắt đầu kết thúc, tức cung có gốc (tức đồ thò đơn) Việc sơn tường làm sàn có biến cố dầu nút 9, tức biến cố lát ván tường xong, biến cố cuối nút 12 (làm sàn sơn tường xong, bắt đầu hoàn thiện trong) Do ta phải thêm nút 11 biến cố giả cung giả (11, 12) Cung giả (5, 8) để hoạt động (4, 5) phải hoàn thành trước bắt đầu hoạt động (8, 10) (nếu bỏ cung giả thời điểm làm hai việc độc lập) Cung giả phục vụ cho qui tắc sơ đồ mạng lưới phải thể đủ quan hệ thứ tự cần có Nếu quan hệ thời gian có dạng: việc x2 bắt đầu xong 1/3 việc x1, việc x3 bắt đầu xong nửa x1, ta phải thêm nút đánh dấu biến cố xong 1/3x1 xong 1/2x1 H1.2 Trang:3 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M Khởi công Đào móng Xây móng 10 4 Đặt dây điện Xây thô Lợp mái Chỉnh thẳng tường 5 Trát Chỉnh thẳng tường Sơn Ép ván lát tường Làm sàn 11 Sơn tường 12 10 Hoàn thiện Hoàn thiện 13 Kết thúc Hình 1.1 Tóm lại: Sơ đồ mạng lưới phải đồ thò có hướng, đơn, liên thông, khuyên (tức cung có gốc nút), chu trình có hướng (directed cycle), có nút khởi công nút kết thúc X2 x1 X3 x1 Trang:4 x1 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Hình 1.2 II Phân tích tiêu thời gian Xác đònh đường căng KIL OBO OKS CO M Pha điều hành có nhiệm phân tích tiêu thời gian đưa bảng số liệu cần thiết sơ đồ mạng lưới Nếu dự án phải điều hành nguyên liệu (hoặc nhân lực) phải xét tiêu đó, ta nói đến mục sau II.1 Tính thời điểm Chỉ tiêu thời điểm sớm biến cố (earliest time for an event) thời điểm biến cố xảy hoạt động trước bắt đầu sớm Thời điểm sớm biến cố i thường ký hiệu Ei Các Ei tính theo hướng tăng (forward pass), tức từ nút khởi công theo thứ tự tăng nút i Như với nút khởi công E1 = Đến nút sơ đồ H1.1 E2 rõ ràng biến cố hoàn thành hoạt động (1, 2) phải E1 + t12, t12 thời gian thực hoạt động (1, 2) Việc tính E3, E4, E5, E6, E9, E10 E11 tương nút tương ứng có cung vào, đó: Ei = Ej + tji Ở j nút trước i Chẳng hạn E6 + t46 = 16 + = 22 Nếu có nhiều cung vào nút, tức nhiều hoạt động kết thúc biến cố, từ đònh nghóa Ei rõ ràng thời điểm hoạt động vừa xong cả, tức phải lấy maximum tổng Chẳng hạn E7 = max {E4 + t45,E5 + t57} = max {16 + 7, 20 + 5} = 25, E8 = max {E5 + t58,E6 + t68} = max {20 + 0, 22 + 7} = 29 Tổng quát, công thức tính Ei cho trường hợp : Ei = maxmax {Ej + tji}, j j nút trước i, tức có cung nối tới i Các Ei ghi H.1.3 số đầu ngoặc nút Thời điểm muộn (latest time) biến cố j thời điểm muộn cung vào biến cố j hoàn thành mà không làm thay đổi thời điểm kết thúc dự án sớm có thể, ký hiệu Lj Đối lại với Ej, Lj tính theo hướng lùi (backward pass), tức từ nút kết thúc Theo đònh nghóa, nút kết thúc En = Ln, thí dụ H.1.1 E13 = L13 = 44 biến cố có cung ra, tức hoạt động bắt đầu thì, thời điểm muộn : Lj =Li - tji, Tức thời điểm muộn nút sau trừ thời gian thực hoạt động nối hai nút Các biến cố 12, 11, 10, 8, 7, 6, 3, H.1.1 trường hợp Nếu có nhiều cung khỏi biến cố, theo đònh nghóa ta có : Lj = {L i - t ji } i Trang:5 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M Ở theo nút i sau j tji thời gian thực hoạt động nối (j, i) Các nút 9, 5, trường hợp này, chẳng hạn : L9 = {L11 – t9 11, L12 – t9 12} = (38 – 4, 38 - 5) = 33 Hãy ý ‘’đối xứng ‘‘ trình tính Ei Lj Các Lj ghi số thứ ngoặc nút H.1.3 II.2 Tính thời gian dự trữ Trong thời gian dự trữ (slack float) biến có hiệu thời điểm muộn thời điểm (0, 0) sớm : di = Li – Ei Thời gian dự trữ (slack (2, 2) float) hoạt động chia làm hai loại Thời gian dự trữ chung (6, 6) (total slack 10 total float) hoạt (16, 16) động (i, j) : TFij = Lj – Ei – tij (22, 26) 4 TFij thời gian trì hoãn (20, 20) hoạt động (i,j) mà không ảnh hưởng (29, 33) đến thời điểm kết (25, 25) thúc dự án Vì thời gian tối đa dành cho (33, 33) (38, 42) hoạt động (i, j) 10 Lj - Ei trừ thời gian để thực tij 4 Thời gian dự trữ (38, 38) độc lập (free float 12 11 free slack), ký hiệu FFij, (44, 44) 13 ký hiệu thời gian dành cho Hình 1.3 (i, j) thời gian thực tij, với giả thiết hoạt động bắt đầu sớm có thể, : FFij = Ej – Ei – tij Trang:6 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Trên sơ đồ mạng lưới di hiệu hai số ngoặc nút i, thường ghi số ô vuông cạnh nút Thời gian dự trữ chung hoạt động TFij ghi ô vuông cạnh cung Còn thời gian dự trữ độc lập hoạt động FFij quan trọng hơn, thường không ghi, xem H.1.3 KIL OBO OKS CO M II.3 Đường găng (đường tới hạn) Các hoạt động có thời gian dự trữ chung cần ý đặc biệt trì hoãn ảnh hưởng đến thời gian kết thúc dự án Từ có : Đònh nghóa II.3.1 Đường găng đường tới hạn (critical path) đường từ nút khởi công đến nút kết thúc mà hoạt động đường có thời gian dự trữ chung (Chẳng hạn H.1.3 có đường găng –> –> –> –>5 –> –> –> 12 –> 13 ) hoạt động (i, j có TFij = gọi hoạt động găng (critital activity) Biến cố i có di =0 gọi biến cố găng (critical event) Một số tính chất quan trọng đường găng sau Mỗi dự án có đường găng Tất hoạt động (i, j) có TFij = 0, tức hoạt động găng phải nằm đường găng Mọi biến cố găng, tức biến cố i có di = 0, phải nằm đường găng Biến có không găng nằm đường găng Đường nối nút khởi công đến nút kết thúc mà biến cố găng đường găng có hoạt động không găng Chẳng hạn đường –> –> –> –> –> –> 12 –> 13 không găng TF47 = Đường găng đường dài đường nối nút khởi công đến nút kết thúc Điều rõ từ đònh nghóa nút khởi công kết thúc hai thời điểm sớm muộn trùng thời gian hoàn thành dự án hiệu thời gian hai nút (ở H.1.3 44 - 0) Đường găng đường gồm hoạt động dự trữ nên tổng chiều dài, tức thời gian thực hiện, toàn thời gian thực dự án (ở H.1.3 44), nên phải dài Trên H.1.3 đường găng tô đậm Một thí dụ dự án có nhiều đường găng sơ đồ H.1.3 với t46 thay từ thành 10 Khi thời gian dự trữ hoạt động (6, 8), (8, 10) (10, 13) thời gian dự trữ biến cố 6, 10 thay từ thành Lúc đường –> –> –> –> –> –> 10 –> 13 đường găng thứ hai Các tiêu thời gian dự án H.1.3 ghi vào bảng 1.1 Biến cố Thời điểm sớm Thời điểm muộn Thời gian dự trữ Trang:7 Hoạt động (1, 2) Thời gian dự trữ chung http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN 16 20 22 25 29 33 38 37 38 44 16 20 26 25 33 33 42 38 38 44 0 0 4 0 (2, 3) (3, 4) (4, 5) (4, 6) (4, 7) (5, 7) (6, 8) (7, 9) (8, 10) (9, 11) (9, 12) (10, 13) (12, 13) KIL OBO OKS CO M 10 11 12 13 0 4 4 Bảng1.1 Chỉ tiêu thời gian xây nhà Ngoài tiêu nói trên, cần thông tin chi tiết để điều hành dự án, người ta đưa số khái niệm thời gian khác sau Thời điểm khởi công sớm (earliest start) hoạt động (i, j) thời sớm nút gốc: ESij = Ei Thời điểm hoàn thành sớm (earliest completion) hoạt động (i, j) ECij = Ei + tij Thời điểm khởi công muộn (latest start) hoạt động (i, j) LSij = Lj - tij Thời điểm hoàn thành muộn (latest completion) hoạt động (i, j) LCjj = Lj tức thời điểm muộn nút Nhận xét ECij ≤ Ej , LSij ≥ Li Thật vậy, ta có Ej = max {Ek + tkj} ≥ Ei +tij = ECij, k Vì i nút k trước j Bất đẳng thức thứ hai tương tự Thời gian dự trữ đường (total float of a path) P từ nút khởi công đến nút kết thúc, ký hiệu TFp, thời gian kéo dài thêm hoạt động đường mà không ảnh hưởng đến thời điểm hoàn thành công trình, tức TP = ∑ t ijG − ∑ t ijP = T G − T P , ∑t G ij = T G độ dài đường găng ∑t P ij ≡ TP độ dài đường P, tổng thời gian thực hoạt động đường P Hệ số găng (critital coefficient) biểu thò mức độ căng thẳng thời gian đường P nối nút khởi công kết thúc, đường găng G, đònh nghóa Trang:8 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN K P := T P − T PG , T G − T PG KIL OBO OKS CO M TPG độ dài quãng đường (tức phần đường) mà P trùng với G Rõ ràng O < KP < KP gần thời hạn thực hoạt động không găng P chặt chẽ Hai đònh nghóa đường mở rộng cho đường P có nút đầu cuối trùng với nút đường găng, không cần nút khởi công kết thúc dự án Thí dụ II.1 Ở dự án H.1.3, đường găng dược tô đậm Thời điểm hoàn thành sớm EC68 = E6 + t68 = 22 + = 29 = E8, EC10, 13 = 40 < E13 = 44 Thời điểm khởi công muộn LS46 = L6 – t46 = 26 – = 20 > L4 = 16 Bây giả sử P đường –> –> –> –> –> –> –> 10 –> 13 TP = ∑ t ijP =40 Nên thời gian dự trữ P TG – TP = 44 – 40 = 40 Hệ số găng 40 10 (không có quãng chung với đường găng) Gọi Q đường –> – = 11 42 − 35 10 > –> –> –> –> 12 –> 13 TQ = 42, KQ = = < Ta thấy mặc 44 − 35 11 KP = dù TQ > TP thời hạn thực hoạt động không găng P lại chặt chẽ hoạt động không găng (4, 7) Q Nguyên nhân (4, 7) không găng nhất, nên nới lỏng Q dồn cho hoạt động Chú ý liệu thời gian quan trọng tiêu có bảng 1.1 Ở bảng cho thấy đường găng (đường gồm hoạt động găng, tức có thời gian dự trữ chung 0) II.4 Biểu đồ thời gian Một cách truyền thống, bên cạnh sơ dồ lưới bảng, để theo dõi điều hành thời gian cho dự án dùng biểu đồ thời gian (time chart) Ta xét cách vẽ sử dụng biểu đồ thời gian qua thí dụ Thí dụ II.2 Xét dự án H.1.4, bảng 1.2 tương ứng (chú ý hoạt động giả (4, 5) lại hoạt động găng.) H.1.4 Biến cố Ei Li di Trang:9 Hoạt động TFij http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN 6 13 19 0 0 (1, 2) (1, 3) (2, 4) (3, 4) (3, 5) (4, 5) (4, 6) (4, 7) (5, 6) (5, 7) (6, 7) KIL OBO OKS CO M 6 13 19 2 11 Bảng 1.2 Biểu đồ thời gian cho H.1.5 Ở có ttrục hoành thời gian Cao độ không quan trọng Ta biểu diễn hoạt động găng phía Độ dài (thời gian) cố đònh, chặt chẽ cho hoạt động găng Hoạt động giả (4, 5) có độ dài nên biểu diễn đoạn đứng Mỗi hoạt động không găng biểu diễn độ cao khác để nhìn rõ hoạt động có độ động điều hành biểu đồ thời gian 2 5 4 10 13 16 7 19 Hình: 1.5 Biểu đồ vẽ từ Ei Li Bảng1.2 (hoạt động găng hay không găng theo TFij hay khác 0) Các số vòng thời gian thực hoạt động Chẳng hạn hoạt động (1, 2) thực đơn vò thời gian, phép xê dòch khoảng thời gian đơn vò (từ đến 4) Xét sâu xê dòch có tự khoảng thời gian không phụ thuộc vào FFij = Trang:10 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M 12 Lệnh RmDir Lệnh dùng để xóa thư mục rỗng tồn rên đóa Ví dụ: RmDir “C:\Baitap” ‘ Xóa thư mục Baitap đóa C 13 Lệnh Kill Dùng để xóa hay nhiều tập tin đóa Ví dụ: Kill “C:\baitap\bt1.txt”’ xóa tập tin bt1.txt thư mục baitap ổ C 14 Lệnh Name Lệnh dùng để đổi tin tập tin ổ đóa Ví dụ: Name “C:\bt.txt” as “C:\baitap.txt” 15 Lệnh AppActive title [, Wait] Dùng để kích hoạt cửa sổ chương trình chạy VII Một số hàm dùng VB Hàm Abs (Number) Hàm trả số giá trò tuyệt đối Nuumber Hàm Sin(Number AS Double) Tính Sin góc Hàm Cos (number AS Double) Tính Cos góc Hàm Tan (number AS Double) Tính Tan góc Hàm Atn (number AS Double) Tính Artang góc Hàm Int (number) Trả phần nguyên số số dương Còn số âm trả phần nguyên có giá trò nhỏ đơn vò Hàm Fix (number) Hàm trả phần nguyên số Hàm Sgn (Number) Hàm trả số nguyên - Nếu so >0 trả giá trò - Nếu so [...]... không; bài toán chọn một phương pháp tiết kiệm nhất để đưa một hệ động lực lực từ trạng thái xuất phát đến một trạng thái đích, bài toán lập lòch thi công các công đoạn trong 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, …hiện nay có rất nhiều phương pháp để giải các bài toán như vậy Thế nhưng thông thường các thuật toán được xây dựng dựa trên... ràng độ phức tạp tính toán của thuật toán là O(n3) Trang:31 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN CHƯƠNG 3 BÀI TOÁN LẬP LỊCH THI CÔNG CÔNG TRÌNH KIL OBO OKS CO M I Bài toán Việc thi công một công trình lớn được chia ra làm n công đoạn, đánh số từ 1 đến n có một số công đoạn mà việc thực hiện nó chỉ được tiến hành sau khi một số công đoạn nào đó đã hoàn thành Đối với mỗi công đoạn i biết t[i]... phương pháp điều hành dự án PERT – CPM xác đònh được sơ đồ mạng lưới, các biểu đồ và bảng tính các chỉ tiêu và dự án đang được tiến hành, người quản lý luôn phải theo dõi, kiểm tra Điều kiện lao động thực tế có thể nhiều bất ngờ Khi cần thi t có thể phải dùng phương pháp PERT – CPM lại, dựa trên các dữ liệu mới, để tính toán cho phần còn lai của dự án Sau đó điều hành dự án theo các biểu đồ và bảng... 7,-87 9 * Chương trình sử dụng thuật toán Dijkstra để tình thời gian các công việc bắt đầu và kết thúc dự án Chương trình thi công công trình không sử dụng trực tiếp thuật toán này mà còn phụ thuộc vào các công việc làm đầu tiên, vì vậy công việc đầu tiên là ta phải xác đònh công việc nào là công việc đầu tiên, việc xác đònh công việc đầu tiên cũng rất đơn giản, khi ta nhập số liệu thì công việc đầu tiên... không có công việc nào làm trước nó Để giải bài toán trên ta có thể dùng nhiều phương pháp Nhưng trong đề tài này chúng tôi sử dụng thuật toán Dijkstra II Thuật toán Dijkstra Thuật toán Dijkstra được phát biểu như sau: Trong trường hợp trọng số trên các cung là không âm do Dijkstra đề nghò để giải bài toán tìm đường đi ngắn nhất từ dỉnh s đến các đỉnh còn lại của đồ thò Thuật toán được xây dựng trên... ứng với công đoạn Lễ khởi công, nó phải được thực thực hiện trước tất cả các công đoạn khác, và đỉnh n+1 tương ứng với công đoạn Cắt băng khánh thành công trình, nó phải thực hiện sau tất cả các công đoạn, với t[0] = t[n+1] = 0 (trên thực tế chỉ cần nối đỉnh 0 với tất cả đỉnh có bán bậc vào bằng 0 và nối tất cả các đỉnh có bán bậc ra bằng 0 với đỉnh n+1) Gọi đồ thò thu được là G Rõ ràng bài toán đặt... đỉnh i, i = 1, 2, …n, Tro[n+1] = 2m + 1 III Bài toán tìm đường đi ngắn nhất 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 đồ thò liên thông có một ý nghóa to lớn, có thể dẫn về bài toán như vậy Trang:27 http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN KIL OBO OKS CO M nhiều bài toán thực tế quan trọng Ví dụ, bài toán chọn một hành trình tiết kiệm nhất (theo tiêu chuẩn khoảng... đầu tiên Theo qui nạp suy ra thuật toán cho đường đi ngắn nhất từ s đến mọi đỉnh của đồ thò Bây giờ ta đánh giá số phép toán cần thực hiện theo thuật toán Ở mỗi bước lặp để tìm ra đỉnh u cần thực hiện O(n) phép toán, và để gán nhãn lại cũng phải thực hiện một số lượng phép toán cũng la O(n) Thuật toán phải thực hiện n- 1 bước lặp Vậy thời gian tính toán của thuật toán là cỡ O(n2) Thí dụ: Tìm đường đi... nghiên cứu đã có từ lâu và có nhiều ứng dụng hiện đại Những tư tưởng cơ bản của lý thuyết đồ thò được đề xuất vào những năm đầu của thế kỷ 18 bởi nhà toán học lỗi lạc người Thụy Sỹ Euler Chính ông là người sử dụng đồ thò để giải bài toán nổi tiếng về cái cầu ở thành phố Konigsberg Đồ thò được sử dụng để giải các bài toán trong nhiều lónh vực khác nhau Chẳng hạn, đồ thò có thể sử dụng để xác đònh các mạch... trường hợp trọng số không âm hoặc đồ thò không có chu trình Trong trường hợp tổng quát, sử dụng thuột toán Ford-Bellman n lần không phải là cách làm tốt nhất Ở đây ta sẽ mô tả một thuật toán giải bài toán trên với độ phức tạp tính toán O(n3): Thuật toán Floyd Thuật toán được mô tả dưới đây Procedure Floyd (* Tìm đường đi ngắn nhất giữa các cặp đỉnh Đầu vào:Đồ thò cho bởi ma trận trọng số a{i,j},i,j=1,2….,n ... 1 ,-1 0 0,0 0, ∞ 0, ∞ 0, ∞ 0, ∞ 0, ∞ 0, ∞ * 0,0 2 ,-2 5 0, ∞ 2 ,-2 5 0, ∞ 0, ∞ 0, ∞ * 2 ,-2 5 0, ∞ 2 ,-2 5 0, ∞ 0, ∞ 0, ∞ * 4 ,-2 5 2 ,-2 5 0, ∞ 0, ∞ 0, ∞ * 2 ,-2 5 5 ,-6 7 5 ,-6 7 0, ∞ * 5 ,-6 7 5 ,-6 7 0, ∞ * 5 ,-6 7... tính toán trình bày bảng Bước lặp Khởi tạo Đỉnh 0, - Đỉnh 1, 1* - Đỉnh ∞, 6, 4, 4* - Đỉnh ∞, 3, 2* - Đỉnh ∞, ∞, 7, 7, 6, * - Đỉnh ∞, 8, 8, 5, - Chú ý: 1) Nếu cần tìm đường ngắn từ s đến t kết... Basic - Toán tử ^: Dùng để tính lũy thừa - Toán tử *: Dùng để nhân hai số hạng - Toán tử : Chia hai số lấy phần nguyên - Toán tử / : Chia hai số lấy giá trò thực - Mod: Chia lấy phần dư - Toán

Ngày đăng: 02/12/2015, 12:28

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan