Luân văn Điều hành dự án bằng phương pháp PERT-CPM và ứng dụng giải bài toán lập trình thi công công trình Dự án (Project) là một tập hợp các hoạt động (Activity) liên quan với nhau và phải được thực hiện...
Trang 1LUẬN VĂN TỐT NGHIỆP
• Đề Tài: Điều Hành Dự Án Bằng Phương pháp PERT-CPM và Ứng Dụng Giải Bài Toán Lập Lịch Thi
Trang 2Nội Dung Đề Tài
• ĐIỀU HÀNH DỰ ÁN BẰNG PHƯƠNG
PHÁP PERT-CMP
• CƠ SỞ VỀ LÝ THUYẾT ĐỒ THỊ
• BÀI TOÁN LẬP LỊCH THI CÔNG CÔNG
Trang 3GIỚI THIỆU CHUNG VỀ NHIỆM VỤ
- Tìm hiểu phương pháp PERT-PCM (phương pháp
sơ đồ mạng lưới).
- Ứng dụng giải bài toán lập lịch thi công công trình.
+ Lưu trữ lịch thi công các dự án + Cho biết thời gian bắt đầu một dự án và thời gian kết thúc của dự án
+ Thêm một số hạng mục khi dự án đang được thi công
+ Bỏ một số hạng mục khi dự án đang thi công + Đưa ra lịch thi công các hạng mục tối ưu nhất
Trang 4ĐIỀU HÀNH DỰ ÁN BẰNG
PHƯƠNG PHÁP PERT- CPM
• Dự án (Project) là một tập hợp các hoạt
động (Activity) liên quan với nhau và phải
được thực hiện theo một thứ tự nào đó cho đến khi hoàn thành toàn bộ các hoạt động.
• Hoạt động được hiểu như là một việc đòi
hỏi thời gian, và nguyên liệu (Resource)
để hoàn thành.
Trang 5• Trước kia để điều hành dự án người ta thường
dùng biểu đồ Gantt (Gantt bar chart), là một đồ
thị gồm các đường kẻ ngang, biểu thị điểm khởi công và kết thúc hoạt động.
• Nhược điểm của biểu đồ là không xác định được quan hệ giữa các hoạt động, nên không áp dụng
được cho các dự án lớn (large-scale project), đòi hỏi đặt kế hoạch (planning), điều hành thực hiện (scheduling) va kiểm tra (controlling) một cách
hệ thống và hiệu quả, thậm chí phải tối ưu hoá hiệu quả (về thời gian và tiết kiệm nguyên
liệu).
Trang 6• Vì vậy, gần như đồng thời vào năm 1956-1958,
hai phương pháp kế hoạch, điều hành và kiểm tra dự án đã ra đời
• Phương pháp đường găng hoặc phương pháp đường
tới hạn (Critical path method, viết rắt là CPM)
được E.I.du Pont de Nemous và công ty xây dựng của ông đưa ra
• Phương pháp thứ hai có tên là Kỹ thuật xem xét
và đánh giá dự án (Project evaluation and review
technique, viết tắt là PERT) là kết quả nghiên cứa
của một công ty tư vấn theo đặt hàng của hải quân Mỹ, dùng để điều hành các hoạt động nghiên cứu và phát triển chương trình tên lửa đối cực
Trang 7• Hai phương pháp được hình thành độc lập nhưng rất giống nhau, cùng nhằm vào mục đích điều
hành thời gian là chính
• Sự khác nhau chính là trong CPM thời gian ước
lượng cho công việc, được coi là tất định
(Deterministic), còn trong PERT có thể là ngẫu
nhiên (Probabilistic).
• Ngoài ra CPM có tính đến quan hệ thời gian
Ngày nay, khi đã phát triển lên, hai phương pháp
được coi là một, dưới một tên chung là Phương
pháp điều hành dự án PERT-CPM, hoặc Phương pháp sơ đồ mạng lưới hoặc hệ thống kiểu PERT
(PERT-type system)
Trang 8• Phương pháp điều hánh dự
án PERT-CPM gồm ba pha
Trang 9• Pha kế hoạch
Có nội dung là lập một sơ đồ mạng lưới (arrow
network diagram hoặc arrow diagram), tương tự một đồ thị có hướng Pha này mở đầu bằng việc tách dự án thành nhiều hoạt động riêng và định thời gian hoàn thành chúng Trong mạng, mỗi
cung có hướng biểu diễn hoạt động và cả sơ đồ mạng biểu thị mối quan hệ giữa các hoạt động
Mỗi nút biểu thị một biến cố hoặc sự kiện (event), đánh dấu hoàn thành một số hoạt động (activity)
là các cung đi vào nút, và bắt đầu các hoạt động ứng với các cung ra khỏi nút
Trang 10• Pha đầu của phương pháp PERT-CPM là lập kế
hoạch thể hiện ở một sơ đồ mạng lưới, biểu diễn như một đồ thị có hướng
• Ví dụ: hãy xét một dự án xây dựng một toà nhà Việc tách dự án thành các hoạt động như đào đất, xây móng, xây tường thô, lợp mái, đặt đường dây điện … là do kiến trúc sư hoặc kỹ sư xây dựng làm Dựa vào đó, người quản lý dự án lập được sơ đồ mạng lưới như hình sau:
• Các số bên cạnh cung là thời gian thực hiện hoạt động đó
Trang 12• Pha điều hành
Có nhiệm vụ xây dựng biểu đồ thời gian, chỉ rõ thời điểm bắt đầu và kết thúc của mỗi hoạt động và mối quan hệ giữa các hoạt động Nói riêng, điều quan trọng là phải tính chính xác các hoạt động tới hạn, tức là găng (critical), cần chú ý đặc biệt khi thực hiện, để toàn bộ dự án được hoàn thành đúng hạn
Trang 13• Pha điều hành có nhiệm phân tích các chỉ tiêu thời gian và đưa ra các bảng và số liệu cần thiết trên sơ đồ mạng lưới Nếu trong dự án phải điều hành cả nguyên liệu (hoặc nhân lực) thì phải xét cả các chỉ tiêu đó.
• Chỉ tiêu ở đây là thời điểm sớm của biến cố là thời điểm biến cố xảy ra khi mọi hoạt động trước nó được bắt đầu sớm nhất có thể Thời điểm sớm của biến cố i thường ký hiệu là Ei Các Ei được tính theo hướng tăng, tức là đi từ nút khởi công theo thứ tự tăng của nút i
• Thời điểm muộn của biến cố j là thời điểm muộn nhất mọi cung đi vào biến cố j đều hoàn thành mà không làm thay đổi thời điểm kết thúc dự án sớm nhất có thể, ký hiệu là Lj Đối lại với Ej, các Lj được tính theo hướng lùi
Trang 14Bao gồm việc sử dụng sơ đồ mạng lưới, và biểu đồ thời gian để theo dõi và báo cáo định kì tiến triển của dự án Nếu cần thì phải phân tích lại và xác định sơ đồ mới cho phần dự án còn lại.
Trang 15• Sau khi dùng 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 tính mới.
Trang 16Cơ Sở Lý Thuyết Về Đồ Thị
• Lý thuyết độ thị là một lĩnh vực nghiên cứu đã có từ lâu và có nhiều ứng dụng hiện đại
• Đồ 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 vòng trong vấn đề giải tích mạch điện, có thể phân biệt các hợp chất hóa học hữu cơ khác nhau với cùng công thức phân tử nhưng khác nhau về cấu trúc phân tử nhờ đồ thị…
• Chúng ta có thể xác định xem hai máy tính trong mạng có thể trao đổi thông tin được với nhau không nhờ mô hình đồ thị của mạng máy tính
Trang 17• Định Nghĩa Về Đồ Thị
• Đồ thị là một cấu trúc rời rạc bao gồm các đỉnh và các cạnh nối các đỉnh này.
• Chúng ta phân biệt các loại đồ thị khác
nhau bởi kiểu và số lượng cạnh nối hai
đỉnh nào đó của đồ thị
Trang 18• Đơn đồ thị vô hướng G = (V,E) bao gồm V là tập hợp các đỉnh và E là tập hợp các cặp không có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh.
• Đa đồ thị vô hướng G = (V,E) bao gồm là tập các đỉnh, và E là họ các cặp không có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh Hai cạnh e1 và e2được gọi là cạnh lặp nếu chúng cùng tương ứng với một cặp đỉnh
• Giả đồ thị vô hướng G = (V,E) bao gồm V là tập các đỉnh, và E là họ các cặp không có thứ tự gồm hai phần
tử (không nhất thiết phải khác nhau) của V gọi là các
cạnh Cạnh e được gọi là khuyên nếu có dạng e =
(u,u).
Trang 19• Đơn đồ thị có hướng G =(V,E) bao gồm V là tập các đỉnh, và E là tập các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cung
• Đa đồ thị có hướng G= (V,E) bao gồm V là tập các đỉnh, và E là họ các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cung Hai
được gọi là cung lặp
Trang 20Biểu Diễn Đồ Thị Trên Máy Tính
• Ma trận kề, Ma trận trọng số.
• Xét đơn đồ thị vô hướng G = (V,E), với tầp đỉnh V= {1, 2, …,n} tập cạnh E = {e1, e2,…, em} Ta gọi ma trận kề của đồ thị G là (0, 1) ma trận A = {aij: i,j = 1, 2,
… ,n}với các phần tử được xác định theo quy tắc sau đây:
• aij =0 nếu (i,j) E và aij =1 nếu (i,j) E, i,j =1, 2,…,n
• Ví dụ: ma trận kề ở
đây là:
Trang 21• Các tính chất của ma trận kề:
+ Rõ ràng ma trận kề của đồ thị vô hướng là ma trận đối xứng, tức là a[i, j]= a[j, i], i, j = 1, 2,…,n Ngược lại, mỗi (0, 1) – ma trận đối xứng cấp n sẽ tương ứng chính xác đến cách đánh số đỉnh (còn nói là: chính xác đến đẳng cấu), với một đơn đồ thị vô hướng n đỉnh
+ Tổng các phần tử trên dòng i (cột j) của ma trận
kề chính bằng bậc của đỉnh i (đỉnh j)
+ Nếu ký hiệu aijp, i,j = 1, 2,…, n Là các phần tử của
ma trận Ap = A.A….A p là thừa số, khi đó aijp, i,j =
1, 2,…, n cho ta số đường đi khác nhau từ đỉnh i đến đỉnh j qua p –1 đỉnh trung gian
Trang 22• Danh sách cạnh (cung).
+ Trong trường hợp đồ thị thưa (đồ thị có số cạnh m thỏa mãn bất đẳng thức m < 6n) người ta thường dùng cách biểu diễn đồ thị dưới dạng danh sách cạnh
+ Trong cách biểu diễn đồ thị bởi danh sách cạnh (cung) chúng ta sẽ lưu trữ danh sách tất cả các cạnh (cung) của đồ thị vô hướng (có hướng) Mỗi cạnh (cung) e = (x, y) của đồ thị sẽ tương ứng với hai biến Dau[e], Cuoi[e] Như vậy, để lưu trữ đồ thị ta cần sử dụng 2m đơn vị bộ nhớ Nhược điểm của cách biểu diễn này là để xác định những đỉnh nào của đồ thị là kề với một đỉnh cho trước chúng ta phải làm cỡ m phép so sánh (khi duyệt qua danh sách tất cả các cạch của đồ thị)
Trang 23• Danh sách kề
+ Trong rất nhiều vấn đề ứng dụng của lý thuyết đồ thị, cách biểu diễn đồ thị dưới dạng danh sách kề là cách biểu diễn thích hợp nhất được sử dụng
+ Trong cách biểu diễn này, với mỗi đỉnh v của đồ thị chúng ta lưu trữ danh sách các đỉnh kề với nó, mà ta sẽ ký hiệu là Ke(v), tức là Ke(v)={uV: (v, u) E} khi đó vòng lặp thực hiện với mỗi một phần tử trong danh sách này theo thứ tự các phần tử được xắp xếp như sau:
For u Ke(v) do…
Trang 24mộ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] là thời gian cần thiết để
hoàn thành nó (i = 1, 2, n)
Trang 25+ Ta có thể xây dựng đồ thị có hướng n đỉnh biểu diễn hạn chế về trình tự thực hiện các công việc sau: mỗi đỉnh của đồ thị tương ứng với một công việc, nếu công việc i phải được thực hiện trước công đoạn j thì trên đồ thị có cung (i, j), trọng số
trên cung này được gán bằng t[i].
Trang 26• Cách Giải Quyết
+ Thêm vào đồ thị 2 đỉnh: 0 và n +1 tương ứng với hai sự kiện đặc biệt: đỉnh số 0 tương ứ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 ra vấn đề bài toán tìm đường đi dài nhất từ đỉnh 0 đến tất cả các đỉnh còn lại trên đồ thị G
Trang 27Thí dụ: Ta có bảng các hạng mục được cho trong
bảng dưới đây
• Đưa về bài toán đồ thị có hướng, các đỉnh là các hạng mục như hình sau
Trang 28- Đổi dấu trọng số
- Tìm đường đi ngắn nhất xuất phát từ 0
ta thu được kết quả như sau:
như vậy công trình kết thúc hết 87 đơn vị thời gian
Trang 29Chương trình sử dụng thuật toán Dijkstra
có dạng như sau:
(* Đầu vào: Đồ thị có hướng G=(V, E) với n đỉnh s V là đỉnh xuất phát a[u, v], u, v V, ma trận
đỉnh còn lại d[v], v V truoc [v], v V, ghi nhận đỉnh trước v trong đường đi ngắn nhất từ s đến v *)
Begin (* Khởi tạo *)
for v V do Begin d[v] := a[s, v]; Truoc[v] := s; End;
d[s] := 0;
T := V \ {s} (*Tập các đỉnh có nhãn tạp thời *) while T <> 0 do (* Bước lặp*)
Begin Tìm đỉnh u T thỏa mãn d[u] = min { d[z]: z T}
T := T \ {u}; (*Cố định nhãn của đỉnh u*) For v T do (*Gán nhãn lại cho các đỉnh trong T*)
If d[v] > d[u] + a[u, v] then Begin D[v] := d[u] + a[u, v]; Truoc [v] := u; End;
End;
Trang 30Y
N
Y
Trang 31Y N
Y N
Y
Trang 32(4) (2)
X:=đỉnh[i]
(3)
Đđ-đến[x] >
Đđ-đến[đỉnh xét]+ kc[đỉnh xét,x];
Đđ-đến[x]:=Đđ-đến[đỉnh xét + kc[đỉnh xét,x]];
i:=i+1;
Kết Thú c
Y
N
Trang 33CÀI ĐẶT BÀI TOÁN
• Sau khi đưa bài toán về dạng đồ thị có hướng, với mỗi đỉnh là một hạng mục ta có thể tiến hành như sau:
+ Chuyển thành ma trận trọng số có dạng a(i, j), với hạng mục i phải được thi công trước hạng mục j, giá trị của a(i, j) cho biết thời gian hạng mục i làm xong
Trang 34+ Đổi dấu giá trị của ma trận: ví dụ a(i, j) = -a(i, j)
- Aùp dụng thuật toán Dijkstra
- Kết thúc thuật toán ta thu được d[u]
- Đổi dấu giá trị d[u] vừa thu được: d[v] = -d[u]
- Giá trị d[v] chính là đường đi dài nhất từ 0 đến đỉnh v, khi đó d[v] cho ta thời điểm sớm nhất có thể bắt đầu thực hiện công đoạn v, nói riêng
d[n+1] là thời điểm sớm nhất có thể cắt băng khánh thành toàn bộ công trình
Trang 35• Một số giao diện của chương trình
+ Màn hình ban đầu
Trang 36+ Nhập dữ liệu
Trang 37• +Xuất dữ liệu
Trang 38KẾT LUẬN
• Trong sự phát triển vượt bậc của xã hội hiện nay, việc xây dựng các dự án lớn đã có rất nhiều chuyên gia có nhiều kinh nghiệm trợ giúp họ hoàn thành dự án này, đồng thời họ cũng đã có đủ những kinh nghiệm để hoàn thành các dự án đó
• Tuy nhiên để hoàn thành những dự án lớn đó thì với sự phát triển của công nghệ thông tin hiện nay đã phần nào đã góp phần vào công cuộc phát
triển và xây dựng nền kinh tế của nước nhà
Trang 39Lời cảm ơn
• Tôi xin trân thành cảm ơn gia đình, bạn bè đã giúp tôi trong thời gian qua để hoàn
thàn đề tài này
• Đặc biệt xin trân thành cảm ơn sự giúp đỡ tận tình của thày Đỗ Như An