Tải bản đầy đủ (.pdf) (72 trang)

Luận văn thạc sĩ VNU UET bài toán cân đối nguồn lực trên mạng cho hoạt động lập lịch của quản lý dự án 001

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.65 MB, 72 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐÀM THANH TUẤN

Bài toán cân đối nguồn lực trên mạng cho hoạt
động lập lịch của quản lý dự án

LUẬN VĂN THẠC SĨ

HÀ NỘI 2015

1

LUAN VAN CHAT LUONG download : add


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐÀM THANH TUẤN

Bài toán cân đối nguồn lực trên mạng cho hoạt
động lập lịch của quản lý dự án

Ngành: CÔNG NGHỆ THÔNG TIN
Chuyên ngành: KỸ THUẬT PHẦN MỀM
Mã số: 60480103
LUẬN VĂN THẠC SĨ

Người hướng dẫn khoa học:


PGS.TS. NGUYỄN VĂN VỴ

HÀ NỘI 2015
2

LUAN VAN CHAT LUONG download : add


LỜI CẢM ƠN
Trước tiên tôi xin được bày tỏ sự trân trọng và lòng biết ơn đối với PGS.TS.
Nguyễn Văn Vỵ, Giảng viên Khoa Công nghệ thông tin - Trường Đại học Công nghệ ĐHQGHN. Trong thời gian học tập và làm luận văn tốt nghiệp, thầy đã dành nhiều thời
gian quý báu, tận tình chỉ bảo và hướng dẫn tôi trong việc nghiên cứu, thực hiện luận
văn.
Tôi xin được cảm ơn các GS, TS, các thầy cô giáo đã giảng dạy tơi trong q
trình học tập và làm luận văn. Các thầy cô đã giúp tôi hiểu sâu sắc và thấu đáo hơn lĩnh
vực mà mình nghiên cứu để có thể vận dụng các kiến thức đó một cách hiệu quả nhất
vào trong cơng tác của mình.
Xin cảm ơn các bạn bè, đồng nghiệp và nhất là các thành viên trong gia đình đã
tạo mọi điều kiện tốt nhất, giúp đỡ, động viên, ủng hộ và cổ vũ tôi trong suốt q trình
học tập và nghiên cứu để hồn thành tốt bản luận văn tốt nghiệp này.

Tác giả

Đàm Thanh Tuấn

3

LUAN VAN CHAT LUONG download : add



LỜI CAM ĐOAN
Tôi xin cam đoan rằng, đây là công trình nghiên cứu của tơi trong đó có sự giúp
đỡ rất lớn của thầy hướng dẫn và các đồng nghiệp ở cơ quan. Các nội dung nghiên cứu
và kết quả trong đề tài này là hoàn toàn trung thực.
Trong luận văn, tơi có tham khảo đến một số tài liệu của một số tác giả đã được
liệt kê tại phần Tài liệu tham khảo ở cuối luận văn.
Hà Nội, ngày……tháng……năm 2015
Tác giả

Đàm Thanh Tuấn

4

LUAN VAN CHAT LUONG download : add


MỤC LỤC
LỜI CẢM ƠN .................................................................................................................. 3
LỜI CAM ĐOAN ............................................................................................................ 4
MỤC LỤC ....................................................................................................................... 5
BẢNG DANH MỤC CÁC HÌNH VÀ BẢNG BIỂU ..................................................... 7
MỞ ĐẦU ....................................................................................................................... 10
Chương I: QUẢN LÝ DỰ ÁN VÀ BÀI TOÁN LẬP LỊCH ........................................ 12
1.1. Khái quát về quản lý dự án ................................................................................. 12
a. Định nghĩa quản lý dự án .................................................................................... 12
b. Nhiệm vụ cơ bản của quản lý dự án ................................................................... 12
1.2. Lập kế hoạch dự án và bài toán lập lịch .............................................................. 13
a. Sơ đồ tổng quát của lập kế hoạch dự án ............................................................. 13
b. Các khó khăn của việc lập kế hoạch dự án và bài toán lập lịch ......................... 15
Chương II: LẬP KẾ HOẠCH DỰ ÁN VÀ VẤN ĐỀ TỰ ĐỘNG HÓA ...................... 17

2.1. Thuật toán lập mạng dạng AOA ......................................................................... 17
2.1.1. Nội dung thuật tốn ...................................................................................... 17
2.1.2. Ví dụ minh họa thuật tốn ............................................................................ 19
2.1.3. Sơ đồ khái niệm của thuật toán ..................................................................... 23
2.2. Lập lịch biểu của dự án dựa trên mạng AOA ..................................................... 25
2.2.1. Sơ đồ khái niệm của tiến trình lập lịch ......................................................... 25
2.2.2. Tự động hóa tiến trình lập mạng AOA ......................................................... 26
2.2.3. Tự động hóa các bước cịn lại ....................................................................... 39
2.2.3. Ví dụ minh họa cho thuật tốn ...................................................................... 42
2.2.4. Phát biểu bài toán cân đối nguồn lực ............................................................ 47
Chương III : CÀI ĐẶT CHƯƠNG TRÌNH VÀ THỬ NGHIỆM ................................ 50
3.1. Giới thiệu chương trình ....................................................................................... 50
3.2. Một số kết quả đưa ra từ các bước thực hiện của ví dụ trong chương trình ....... 51
a.Ví dụ 1 .................................................................................................................. 51
b.Ví dụ 2 ................................................................................................................. 54
c. Ví dụ 3 ................................................................................................................. 57
d. Ví dụ 4 ................................................................................................................ 60
e. Ví dụ 5 ................................................................................................................. 64
3.3. Nhận xét về chương trình .................................................................................... 68
5

LUAN VAN CHAT LUONG download : add


KẾT LUẬN ................................................................................................................... 69
Những kết quả đạt được .......................................................................................... 69
Những hạn chế và tồn tại ........................................................................................ 69
Hướng tiếp tục nghiên cứu ..................................................................................... 70
TÀI LIỆU THAM KHẢO ............................................................................................. 71


6

LUAN VAN CHAT LUONG download : add


BẢNG DANH MỤC CÁC HÌNH VÀ BẢNG BIỂU
Hinh 1.1. Sơ đồ tổng quát lập kế hoạch dự án............................................................... 13
Bảng 2.1: Bảng phân rã công việc ................................................................................. 19
Bảng 2.2: Thực hiện các bước của giai đoạn 1.............................................................. 20
Bảng 2.3: Kết quả thực hiện các bước của giai đoạn 1 ................................................. 20
Bảng 2.4: Bảng cơng việc cịn lại sau 4 lần lặp lại bước 4 của giai đoạn 2. ................. 21
Hình 2.1: Mạng công việc AOA sau khi kết thúc bước 4d ........................................... 22
Hình 2.2: Mạng cơng việc AOA sau khi kết thúc bước 4 ............................................. 22
Hình 2.3: Mạng cơng việc AOA sau khi kết thúc bước 6 ............................................. 23
Hình 2.4: Sơ đồ khái niệm xác định các đỉnh trung gian .............................................. 23
Hình 2.5: Sơ đồ khái niệm vẽ mạng ban đầu ................................................................ 24
Hình 2.6: Sơ đồ khái niệm thêm cơng việc giả vào mạng ban đầu ............................... 25
Hình 2.7: Sơ đồ khái niệm tiến trình lập lịch ................................................................ 26
Bảng 2.5 : Bảng cấu trúc dữ liệu cho bài toán lập mạng ............................................... 26
Hình 2.8 : Tìm số cơng việc nhỏ nhất của các dịng chưa xét ....................................... 28
Hình 2.9 : Đánh dấu các bộ cơng việc có CVDT là nhỏ nhất ....................................... 29
Hình 2.10 : Giữ lại chỉ cơng việc được đánh dấu trong bước là khác nhau .................. 30
Hình 2.11 : Xóa bộ cơng việc đã đánh dấu có mặt trong các bộ khác ở cột CVDT ..... 31
Hình 2.12 : Vẽ các công việc đi ra từ đỉnh 0 ................................................................. 32
Hình 2.13 : Thêm các đỉnh trung gian vào sau cơng việc được vẽ ............................... 33
Hình 2.14 : Tìm đỉnh đầu của cơng việc ....................................................................... 34
Hình 2.15 : Vẽ các công việc đi ra từ đỉnh trung gian .................................................. 35
Hình 2.16 : Vẽ thêm đỉnh cuối cùng.............................................................................. 36
Hình 2.17 : Thêm các đỉnh giả ...................................................................................... 37
Hình 2.18 : Thêm các cơng việc giả .............................................................................. 37

Hình 2.19 : Đánh số lại các đỉnh ................................................................................... 38
Hình 2.20 : Thời gian bắt đầu sớm nhất ........................................................................ 40
Hình 2.21 : Thời gian kết thúc muộn nhất ..................................................................... 40
Hình 2.22 : Thời gian dự phịng .................................................................................... 40
Hình 2.23 : Vẽ sơ đồ Gantt ............................................................................................ 41
Hình 2.24 : Vẽ sơ đồ biểu đồ nguồn lực ........................................................................ 41
Bảng 2.6: Bảng phân rã công việc cho trước ................................................................ 42
7

LUAN VAN CHAT LUONG download : add


Bảng 2.7: Bảng xác định các công việc chọn ................................................................ 42
Bảng 2.8: Bảng xác định các công việc loại .................................................................. 43
Bảng 2.9: Bảng đỉnh đầu và đỉnh cuối của công việc (chưa đánh các đỉnh thoản mản
đỉnh đầu của CV(i) nhỏ hơn đỉnh cuối CV(i)) .............................................................. 43
Bảng 2.10: Bảng đỉnh đầu và đỉnh cuối của công việc (đã đánh các đỉnh thoản mản
đỉnh đầu của CV(i) nhỏ hơn đỉnh cuối CV(i)) .............................................................. 43
Bảng 2.11: Bảng tính tham số thời gian và các đỉnh găng ............................................ 44
Bảng 2.12: Bảng tính thời gian dự phịng và cơng việc găng ....................................... 44
Bảng 2.13 : Kết quả sau khi áp dụng thuật toán. ........................................................... 45
Bảng 2.14 : Biểu đồ GANTT ........................................................................................ 45
Bảng 2.15 : Biểu đồ nhân lực sử dụng .......................................................................... 46
Bảng 2.16 : Biểu đồ đã cân đối nguồn lực <= 3 ............................................................ 47
Bảng 3.1 : Bảng dữ liệu đầu vào ................................................................................... 51
Bảng 3.2 : Bảng trung gian (ví dụ 1) ............................................................................. 52
Bảng 3.3 : Bảng thời gian bắt đầu sớm nhất, kết thúc muộn nhất (ví dụ 1) .................. 52
Bảng 3.4 : Bảng kết quả tổng hợp (ví dụ 1) .................................................................. 52
Bảng 3.5: Biểu đồ Gantt (ví dụ 1) ................................................................................. 53
Bảng 3.6 : Biểu đồ nguồn nhân lực chưa cân đối nhân lực ........................................... 53

Bảng 3.7: Biểu đồ nguồn nhân lực đã cân đối nhân lực ................................................ 54
Bảng 3.8: Bảng dữ liệu đầu vào (ví dụ 2)...................................................................... 55
Bảng 3.9: Bảng trung gian (ví dụ 2) .............................................................................. 55
Bảng 3.10: Bảng thời gian bắt đầu sớm nhất, kết thúc muộn nhất (ví dụ 2) ................. 56
Bảng 3.11 : Bảng kết quả tổng hợp (ví dụ 2) ................................................................ 56
Bảng 3.12: Biểu đồ Gantt (ví dụ 2) ............................................................................... 57
Bảng 3.13: Bảng dữ liệu đầu vào (ví dụ 3).................................................................... 57
Bảng 3.14 :Đỉnh trung gian (ví dụ 3) ............................................................................ 58
Bảng 3.15 : Thời gian bắt đầu sớm nhất, kết thúc muộn nhất (ví dụ 3) ........................ 58
Bảng 3.16 : Bảng kết quả tổng hợp (ví dụ 3) ................................................................ 59
Bảng 3.17: Biểu đồ Gantt (ví dụ 3) ............................................................................... 59
Bảng 3.18. Bảng dữ liệu đầu vào (ví dụ 4) .................................................................... 60
Bảng 3.19 : Đỉnh trung gian (ví dụ 4) ........................................................................... 61
Bảng 3.20 : Thời gian bắt đầu sớm nhất, kết thúc muộn nhất (ví dụ 4) ........................ 62
Bảng 3.21: Bảng kết quả tổng hợp (ví dụ 4) ................................................................. 62
8

LUAN VAN CHAT LUONG download : add


Bảng 3.22: Biểu đồ Gantt (ví dụ 4) ............................................................................... 63
Bảng 3.23. Bảng dữ liệu đầu vào (ví dụ 5) .................................................................... 64
Bảng 3.24. Bảng trung gian (ví dụ 5) ............................................................................ 65
Bảng 3.25 : Thời gian bắt đầu sớm nhất, kết thúc muộn nhất (ví dụ 5) ........................ 66
Bảng 3.26: Bảng kết quả tổng hợp (ví dụ 5) ................................................................. 66
Bảng 3.27: Biểu đồ Gantt (ví dụ 5) ............................................................................... 67
Bảng 3.28. Tổng kết kết quả thử nghiệm chương trình với các bài tốn ...................... 67

9


LUAN VAN CHAT LUONG download : add


MỞ ĐẦU
Hiện nay việc quản lý các dự án phần mềm cịn gặp nhiều khó khăn, dẫn đến
phần mềm chuyển giao trễ hạn, chi phí vượt trội dự tốn, các sản phẩm không được
như dự định. Một trong những vấn đề chủ yếu dẫn đến thất bại của các sản phẩm phần
mềm là do việc sử dụng các nguồn lực trong dự án không hiệu quả. Một dự án thường
phải cần đến nhiều loại nguồn lực khác nhau: những nhóm người với kỹ năng khác
nhau, những trang thiết bị, phần mềm khác nhau và yêu cầu ở những thời điểm khác
nhau là khác nhau. Việc phân bổ các nguồn lực sẵn có vốn hạn chế cho các cơng việc
u cầu vào các thời điểm thích hợp là một bài tốn khó thuộc loại bài tốn đã biết
“phân cơng máy”. Nhiều bài tốn phân cơng máy đã được mơ hình hóa để có thể áp
dụng các thuật tốn khác nhau dùng để giải các bài toán đã biết như bài toán quy hoạch
nguyên, bài toán nhánh cận, hay giải thuật di chuyền. Khó khăn đối với bài tốn cân
đối nguồn lực bị hạn chế là các công việc được tiến hành theo một trình tự xác định.
Khi tiến hành phân bổ các nguồn lực có hạn cho nhu cầu các cơng việc trước hết phải
tuân thủ ràng buộc này. Một mạng công việc thường được xây dựng cho mỗi dự án để
biểu diễn mỗi quan hệ trước sau của các công việc. Nó chính là một mơ hình biểu diễn
các ràng buộc giữa các cơng việc được nói ở trên.
Hiện nay có hai cách biểu diễn mạng các cơng viêc: Cách thứ nhất biểu diễn
mạng công việc mà mỗi công việc là một nút (). Cách thứ hai biểu diễn mạng công
việc mà mỗi công việc là một cung (). Cách thứ nhất vẽ mạng rất đơn giản. Tuy nhiên
mạng có được khơng cho phép mơ hình hóa bài tốn phân bổ tài nguyên tối ưu.
Phương pháp thứ hai xây dựng mạng rất phức tạp, nhưng khi có mạng cơng việc, ta có
thể sử dụng để mơ hình hóa mơ hình bài toán phân bổ tối ưu để áp dung các thuật giải
đã có. Để hướng đến bài tốn phân bổ tối ưu nguồn lực trong bài toán lập lịch dự án, đề
tài ”Bài toán cân đối nguồn lực trên mạng cho hoạt động lập lịch của quản lý dự án”
đã được chọn làm đề tài luận văn cao học của tơi.
Trong luận văn tiến hành tự động hóa tồn bộ q trình lập lịch của dự án sử dụng

mạng có công việc là các cung (mạng AOA). Từ trước đến nay việc vẽ mạng này được
thực hiện bằng tay với một số hướng dẫn có tính gợi ý. Nhờ có thuật tốn [] vẽ mạng
nên có thể tự động hóa việc lập mạng và do đó có thể tự động hóa tồn bộ q trình lập
lịch cho dự án. Việc tự động lập mạng có cơng việc là cung cũng tạo cơ sở cho việc mô
10

LUAN VAN CHAT LUONG download : add


hình hóa bài tốn cân đối nguồn lực cho lập lịch dự án. Mặc dù đã có những chương
trình lập lịch cho dự án, nhưng đều dựa trên cơ sở mang AON nên chưa giải quyết
được bài toán cân đối nguồn lực trong việc lập lịch cho dự án.
Nội dung chính của luận văn gồm 3 chương:
Chương 1: Quản lý dự án và bài toán lập lịch.
Chương 2: Lập kế hoạch dự án và vấn đề tự động hóa
Chương 3: Cài đặt chương trình và kết quả
Cuối cùng là kết luận và hướng phát triển tiếp theo của đề tài trong tương lai.

11

LUAN VAN CHAT LUONG download : add


Chương I: QUẢN LÝ DỰ ÁN VÀ BÀI TOÁN LẬP LỊCH
1.1. Khái quát về quản lý dự án
a. Định nghĩa quản lý dự án
Quản lý dự án là ngành khoa học nghiên cứu về việc lập kế hoạch, quản lý và
giám sát quá trình phát triển của dự án nhằm đảm bảo cho dự án hoàn thành đúng thời
gian, trong phạm vi ngân sách đã được duyệt, đảm bảo chất lượng, đạt được mục tiêu
cụ thể của dự án và các mục đích đề ra [Vy&2008].


b. Nhiệm vụ cơ bản của quản lý dự án
Nhiệm vụ cơ bản của quản lý dự án nói chung là hồn thành các cơng việc dự án
theo đúng yêu cầu kỹ thuật và chất lượng, trong phạm vi ngân sách được duyệt và theo
đúng tiến độ thời gian cho phép.
Ba yếu tố: thời gian, nguồn lực (cụ thể là chi phí, nguồn nhân lực … ) và chất
lượng có quan hệ chặt chẽ với nhau. Tầm quan trọng của từng mục tiêu có thể khác
nhau giữa các dự án. Tuy nhiên để đạt được tốt đối với một mục tiêu này thì thơng
thường phải chấp nhận một trong các mục tiêu khác kém hơn. Cho nên, trong quá trình
quản lý dự án thường diễn ra việc tính tốn nhằm đánh đổi mục tiêu. Đánh đổi mục tiêu
dự án là việc hy sinh một mục tiêu nào đó để thực hiện tốt hơn các mục tiêu kia trong
điều kiện các ràng buộc đã cho trong không gian và thời gian. Nếu công việc dự án
diễn ra đúng theo kế hoạch thì khơng phải đánh đổi mục tiêu. Tuy nhiên do nhiều
nguyên nhân khách quan cũng như chủ quan, cơng việc dự án thường có nhiều thay đổi
nên việc tính tốn để đánh đổi giữa các mục tiêu hợp lý nhất là một kỹ năng quan trọng
của nhà quản lý dự án. Trong điều kiện các nguồn lực bị hạn chế, nhiều công việc sử
dụng cùng một loại nguồn lực trong một khoảng thời gian có thể vượt quá số nguồn lực
cho phép. Khi đó cần dãn các ông việc này sao cho số nguồn lực sử dụng tại mọi thời
điểm không vượt quá tổng số cho phép. Bài toán này gọi là cân đối nguồn lực khi lập
kế hoạch lịch của dự án. Việc dãn các công việc khi cân đối nguồn lực thường dẫn đến
kéo dài thời gian thực hiện dự án. Do yêu cầu của quản lý dự án, việc cân đối nguồn
lực cần làm sao để thời gian thực hiện dự án bị kéo dài ít nhất có thể. Đó là một bài
tốn tối ưu hóa về cân đối nguồn lực được đặt ra cho hầu hết các dự án khi lập kế
hoạch để thực hiện dự án.
12

LUAN VAN CHAT LUONG download : add


1.2. Lập kế hoạch dự án và bài toán lập lịch

a. Sơ đồ tổng quát của lập kế hoạch dự án

1
Lập bảng phân
rã công việc

Tiếp cận,
chiến lược
rủi ro
Phạm vi &
xuất phẩm
Xác định dự án

0

Bảng
cơng
việc

Bảng
cơng việc
2
Lập sơ đồ
mạng

Ước lượng
gói cơng
việc
Ước lượng
lao động, kỹ

năng, trang
thiết bi

Ước lượng
thời gian

6

3

chi phí
lao động

Lập các
kế hoạch
khác
nhau

Lịch biểu
đã cân đối
nguồn lực
sử dung

Sơ đồ mạng

4
Lập lịch biểu
ban đầu

Đường

găng,
cột mốc

Kế hoạch dự án cơ sở
5
Gán nguồn Chiến lược rủi ro
lực và cân Bảng phân rã công việc
đối
Lịch biểu chi tiết
Kế hoạch ngân sách
Ràng buộc
nguồn lực Trách nhiệm/tr.thông
Kế hoạch nguồn lực
Các KH khác

Hinh 1.1. Sơ đồ tổng quát lập kế hoạch dự án
Trong sơ đồ trên, các công đoạn 2, 4, 5 là quan trọng nhất, vì nó tạo ra kế hoạch
lịch biểu của dự án. Các kế hoạch khác của dự án được thiết lập dựa trên kế hoạch lịch
Để thực hiện việc lập kế hoạch trên, người ta đã sử dụng hai phương pháp:
‒ Phương pháp đường găng (Critical Path Method – CPM) [Kell&59].
‒ Phương pháp sơ đồ mạng PERT (Program Evalution and Review Technique)
[Davi&06]
13

LUAN VAN CHAT LUONG download : add


Từ đó đến nay hai phương pháp này được ứng dụng rộng rãi trong các tổ chức,
đặc biệt trong lĩnh vực quản lý dự án ([Hirs&94], [Howe2001], [Hugh&2002],
[PMI.2004], [Than2006], [Phuo2010],…).


Trong quy trình lập kế hoạch, lập sơ đồ mạng (2) là khâu mơ hình hóa quan
trọng, làm cơ sở cho việc tính tốn và thực hiện các bước tiếp theo, mà nội dung
về cơ bản là như nhau. Ở bước này, mỗi phương pháp lại sử dụng một dạng sơ
đồ mạng khác nhau.
CPM sử dụng sơ đồ mạng AON (Activities On Nodes), mà mỗi đỉnh biểu
diễn một công việc, mỗi cung nối hai công việc với nhau biểu diễn mỗi quan hệ
trình tự giữa chúng. Cách lập sơ đồ này rất đơn giản, ai cũng có thể lập được một
cách dễ dàng. Nhưng việc ứng dụng mạng AON có một phạm vi hạn chế.
Phương pháp PERT sử dụng sơ đồ mạng AOA (Activities On Arcs), trong
đó mỗi cung biểu diễn một công việc, mỗi đỉnh biểu diễn sự kết thúc của một số
công việc và là điểm bắt đầu cho một số công việc khác. Việc lập mạng AOA
thường không đơn giản vì phải sử dụng đến các cơng việc giả. Số lượng các công
việc giả sẽ đặc biệt nhiều nếu dự án có quy mơ lớn. Khi đó, với cùng một bảng
cơng việc đã cho, người ta có thể đưa ra một vài mạng AOA khác nhau.
Trong nhiều tài liệu trình bày về phương pháp PERT ([Thai&69], [Than78],
[Will85], [Cohe&2007], [Kiem&2008]) cũng như trong các tài liệu ứng dụng nó, để
lập mạng AOA các tác giả chỉ đưa ra những quy tắc hướng dẫn mang tính kinh nghiệm
và chỉ ra một số trường hợp cụ thể vẽ mạng AOA, để giải thích cách vẽ như thế nào là
đúng, là sai.
Mạng AOA có nhiều lợi thế: vì là một đồ thị có hướng, nó có thể được chuyển
sang dạng ma trận để tính tốn như trên một bảng. Nó cũng rất thích hợp cho các kỹ
thuật phân tích và mơ hình hóa nhiều bài tốn tối ưu ([Thai&69], [Cohe&2007],
[Than2006]) như bài tốn luồng cực đại, tối ưu hóa phân phối nguồn lực của dự án,…
Vì vai trị quan trọng của mạng AOA, nên có nhiều phương pháp lập mạng AOA
đã được nghiên cứu. Một loạt các phương pháp trực cảm để lập mạng AOA hướng đến
việc tối thiểu hóa các cơng việc giả ([Dims63], [Spin80], [Sylo81], [Kamb&92],
[Mich&93], [Kamb&2000]) đã được đề xuất. Các phương pháp đi theo hướng này gặp
nhiều khó khăn, vì theo Krishnamoorty và Deon [Kris&79] bài tốn lập mạng AOA tối
thiểu hóa các cung giả là bài tốn NP khó.

14

LUAN VAN CHAT LUONG download : add


Mouhoub và Benhocine đã trình bày một thuật tốn để xây dựng mạng AOA
bằng cách chuyển một mạng AON sang mạng AOA [Mouh&2011]. Thuật toán là khá
phức tạp, và theo các tác giả độ phức tạp tính tốn của thuật toán là O(n4). Một thuật
toán khác xây dựng mạng AOA được Yuval Cohen, Arik Sadeh [Cohe&07] đề xuất,
cho phép xác định duy nhất mạng AOA từ một WBS (Work Breakdown Structure) đã
cho. Tuy nhiên thuật toán chỉ được xem xét và thẩm định qua ví dụ mà khơng được
chứng minh.
Một thuật toán mới cho phép lập một mạng AOA duy nhất, đơn giản và dễ dàng
từ một WBS cho trước. Thuật toán này đã được giới thiệu trong tài liệu [Vy&2008] của
các tác giả trước đây, nhưng gần đây mới đưa ra các chứng minh đầy đủ về tính đúng
đắn, tính hữu hạn và tính duy nhất nghiệm của thuật tốn [Vy&2012].

b. Các khó khăn của việc lập kế hoạch dự án và bài toán lập lịch
Việc lập kế hoạch dự án thường diễn ra nhiều lần trong quá trình quản lý dự án.
Nó khơng chi cần đến khi bắt đầu một giai đoạn mới của quá trình quản lý dự án, mà
cịn phải thực hiện khi có những thay đổi xảy ra đối với sản phẩm, đối với tiến độ bàn
giao và đối với tính chất của một số công việc; mà những sự kiện này lại rất thường
hay xảy ra trong quản lý dự án. Vì thế, để đáp ứng yêu cầu cấp bách của quản lý dự án,
nhiều chương trình phần mềm được xây dựng giúp tự động hóa hoạt động này. Đối với
những chương trình dựa trên việc lập mạng AON khơng có khó khăn gì đặt ra. Tuy
nhiên, những chương trình loại này đã khơng cho phép giải quyết triệt để bài toán lập
lịch cho trường hợp nguồn lực hạn chế (giai đoạn 5 trong sơ đồ hình 1.1.)
Nhưng với những chương trình dựa trên mạng AOA, người ta phải lập mạng bằng
tay, sau đó nhập mạng này vào chương trình để thực hiện các bước tiếp. Điều đó có
nghĩa là chương trình chỉ ở mức bán tự động, mà khơng tự động hóa hồn tồn. Nhờ có

thuật tốn mới, mặc dù được mơ tả cho việc vẽ tay, nhưng do tính lơgic chặt chẽ của
thuật tốn, nên có thể chuyển nó sang chương trình để tự động hóa việc lập mạng. Và
nhờ vậy có thể tự động hóa hịa tồn bài tốn lập lịch. Hơn nữa, việc sử dụng AOA sẽ
hỗ trợ giải quyết triệt để bài tốn lập lịch có tính đến các ràng buộc về nguồn lực như
một số tài liệu đã đề cập đến ([Thai&69], [Cohe&2007], [Than2010]).

15

LUAN VAN CHAT LUONG download : add


c. Một số phần mềm đã sử dụng mạng lập lịch
Do những khó khăn của quản lý dự án nói chung và bài tốn lập lịch nói riêng thì
đã có nhiều các phương pháp xây dựng lên với mục đích có thể xử lý hiệu quả và dễ sử
dụng đối với bài tốn lịch lịch biểu này.
Một trong số đó là phần mềm quản lý MS (Microsoft) Project, là một phần mềm quản
lý dự án dự án được phát triển bởi Microsoft. Chương trình này được thiết kế quản lý
hỗ trợ dự án, theo dõi tiến độ, quản lý ngân sách và phân tích khối lượng cơng việc.
Phần mềm này được thiết kế dựa trên thuật toán của phương pháp lập tiến độ theo sơ
đồ mạng CMP và sơ đồ Gantt.
Ưu điểm của MS Project : là một phần mềm linh hoạt, người sử dungj khơng bị
gị bó theo trình tự các bước cứng nhắc trong việc lập và xác định các quá trình thực
hiện dự án. Người sử dụng có thể bắt đầu từ việc thao tac vài ý tưởng về cơng tác cần
thiết nhất cho dự án. Ngồi ra người sử dụng cịn có thể điều chỉnh lịch trình về sau,
cập nhật liên tục thơng tin của dự án, rá sốt việc tính tốn và tùy chọn hiển thị. Việc
sử dụng MS Project sẽ giúp cho người quản lý dự án trong các công việc sau :
‒ Tổ chức lập kế hoạch và quản lý tổng thể
‒ Lên lịch thực hiện các công tác
‒ Điều chỉnh lại các kế hoạch thực hiện dự án cho phù hợp với các điều kiện ràng
buộc

Nhược điểm của MS Project : Mặc dù có rất nhiều các ưu điểm và tính hữu dụng
của MS Project tuy nhiên MS Project cũng có một số nhược điểm. Là một phần mềm
được xấy dựng dựa trên mạng CMP (mỗi công việc sẽ là một nút của mạng) nên việc
cân đối nguồn lực trong các công việc có các ràng buộc gặp nhiều khó khăn. Quá trình
cân đối nguồn lực chủ yếu dựa vào tay và dựa trên kinh nghiệm của các nhà quản lý
trong việc di chuyển các cơng việc có thời gian dự phịng. Như vậy sẽ không thể cân
đối nguồn lực đối với trường hợp dữ liệu lớn và các ràng buộc phức tạp và khơng thể
tự động hóa hồn tồn q trình cân đối nguồn lực.
Đối với việc xây dựng bài toán lập lịch dưới đây sẽ giúp cho việc thực hiện quản
lý dự án, lập lịch biểu, cân đối nguồn lực đối với các cơng việc có ràng buộc sẽ được tự
động hóa hồn tồn.

16

LUAN VAN CHAT LUONG download : add


Chương II: LẬP KẾ HOẠCH DỰ ÁN VÀ VẤN ĐỀ TỰ ĐỘNG
HĨA
Như trên đã trình bày, khâu khó khăn nhất trong quy trình lập kế hoạch dự án là
khâu lập mạng công việc (2) khi sử dụng mạng AOA, mà các phần mềm vẫn phải sử
dụng kết quả vẽ thủ cơng. Dưới đây sẽ trình bày thuật tốn về lập mạng AOA đã được
giới thiệu trong tài liệu [Vy&2008] đồng thời làm cơ sở cho việc tự động hóa cơng
đoạn này.

2.1. Thuật toán lập mạng dạng AOA
2.1.1. Nội dung thuật tốn
Đầu vào cho thuật tốn là bảng phân rã cơng việc (WBS) (Work Breakdown
Structure) có các cột: mã cơng việc, tên cơng việc và cơng việc đi trước.
Thuật tốn được chia làm hai giai đoạn:

a. Giai đoạn 1: Đánh dấu xác định các đỉnh trung gian
Bước 1: Duyệt cột “Công việc đi trước” của WBS. Nếu mọi bộ công việc đều đã
được đánh dấu (đưa vào trong ngoặc) hoặc bị xóa thì chuyển đến bước 3 (giai đoạn 2).
Ngược lại, mỗi lần duyệt cột này từ trên xuống chỉ đánh dấu các bộ công việc
(gồm một hay một số công việc) cịn tự do (chưa đánh dấu hoặc chưa xóa) ở trên một
dịng cơng việc, có cùng số lượng cơng việc và có số lượng cơng việc là ít nhất (lần
lượt bằng 1, hoặc 2, hoặc 3,..). Như vậy, có ít nhất một bộ cơng việc ở một dịng được
đánh dấu trong bước này và số dịng cơng việc cịn tự do của WBS giảm đi ít nhất một
dịng.
Mỗi bộ công việc được đánh dấu sẽ xác định một đỉnh trung gian của sơ đồ mạng
công việc AOA và là sự kiện kết thúc của các công việc thuộc bộ này, cũng là điểm bắt
đầu của tất cả các công việc có bộ cơng việc này ở cột “Cơng việc đi trước” cùng dịng
với nó.
Bước 2: Duyệt tất cả các bộ cơng việc ở mỗi dịng thuộc cột “Cơng việc đi trước”
của WBS còn tự do (chưa đánh dấu hoặc chưa bị xóa). Nếu chúng có chứa bộ cơng
việc vừa được đánh dấu ở bước 1 thì xóa đi và quay lại bước 1.
17

LUAN VAN CHAT LUONG download : add


Giai đoạn 1 kết thúc khi cột “Công việc đi trước” của WBS khơng cịn bộ cơng
việc tự do nào.
b. Giai đoạn 2: Vẽ sơ đồ mạng
Bước 3: Trước hết vẽ đỉnh 0. Vẽ tất cả các công việc của WBS không đi sau một
công việc nào đi ra từ đỉnh này. Loại các công việc vừa được vẽ khỏi bảng WBS.
Bước 4: Vẽ đỉnh thứ n và các công việc đi ra từ nó
Giả sử ta đã vẽ được đỉnh thứ (n-1) (đỉnh n-1 đầu tiên là đỉnh 0) và tất cả các
cung cơng việc đi ra khỏi nó.
Xét các cơng việc cịn lại trong bảng WBS, có thể xảy ba trường hợp:

Trường hợp 1: Các công việc của WBS đã bị loại hết. Khi đó, ta cho tất cả các
cơng việc chưa có đỉnh kết thúc kết thúc tại đỉnh thứ n, là đỉnh cuối cùng của mạng
AOA. Quá trình vẽ mạng kết thúc.
Trường hợp 2: Tìm một bộ công việc được đánh dấu trong cột “Công việc đi
trước” ở một dịng của WBS có chứa các cơng việc đã vẽ. Vẽ đỉnh thứ n là sự kiện kết
thúc cho các cơng việc thuộc bộ này. Tìm tất cả các công việc của WBS mà ở cột
“Công việc đi trước” chứa bộ công việc vừa được xác định, vẽ chúng đi ra từ đỉnh n.
Trường hợp 3: Tìm một bộ công việc trong cột “Công việc đi trước” ở một dịng
của WBS có chứa các cơng việc đã vẽ trong sơ đồ, nhưng các công việc trong bộ này
đã bị xóa hết. Khi đó cần thêm một đỉnh giả và vẽ tất cả các công việc, mà ở cột “Cơng
việc đi trước” tương ứng có cùng các cơng việc đã bị xóa hết như của bộ vừa xác định
được, và đi ra khỏi đỉnh giả này (đỉnh giả khơng có cơng việc đi vào).
Lặp lại bước 4 cho đến khi các bộ công việc ở cột “Công việc đi trước” của WBS
đã bị loại hết.
Bước 5: Xác định các công việc giả
Các công việc giả chỉ liên quan đến các bộ cơng việc bị xóa ở các dịng thuộc cột
“Cơng việc đi trước” của WBS.
Nếu một dịng nào đó thuộc cột “Cơng việc đi trước” của WBS có một bộ cơng
việc bị xóa thì ta thêm một cơng việc giả từ đỉnh tương ứng với bộ công việc bị xóa
đến đỉnh mà cơng việc ở dịng này đi ra.
18

LUAN VAN CHAT LUONG download : add


Chú ý: ở một dịng có thể có một số bộ cơng việc bị xóa, khi đó sẽ có một số cơng
việc giả đi đến đỉnh mà cơng việc dịng này đi ra.
Bước 6: Đánh số các đỉnh của sơ đồ mạng
Đánh số 0 cho đỉnh khởi đầu và đánh số 1, 2, … cho các đỉnh tiếp theo (đỉnh
trung gian) nhưng đảm bảo nguyên tắc: Số của đỉnh cuối công việc phải lớn hơn số

đỉnh đầu công việc. Việc đánh số này là cơ sở cho việc tính tốn các tham số thời gian
của mạng sau này (bằng cách tính tham số thời gian cho các đỉnh theo thứ tự tăng hay
giảm dần).
Việc đánh số các đỉnh của mạng AOA là không duy nhất, trừ đỉnh đầu và đỉnh
cuối cùng.

2.1.2. Ví dụ minh họa thuật tốn
Giả sử cho một bảng phân rã cơng việc WBS có nội dung ở bảng 1.
Bảng 2.1: Bảng phân rã công việc

TT
1
2
3
4
5
6

Tên công Công việc
việc
đi trước
a
b
c
d
b
e
c
f
b,c


TT
7
8
9
10
11

Tên cơng Cơng việc
việc
đi trước
g
a
h
a,d
i
a,d
K
g
l
h, k

Q trình vận dụng thuật toán đề xuất ở phần 2.1.1. cho bảng 2.1 được diễn giải
cụ thể như sau:
a. Giai đoạn 1: Đánh dấu xác định các đỉnh trung gian của mạng.
Bước 1: Trong cột “Công việc đi trước” của bảng công việc (bảng 2.2) có 4 dịng
4, 5, 7, 10 có các bộ công việc chỉ gồm 1 công việc là a, b, c và g nên ta đánh dấu
chúng (bằng cách đưa vào trong ngoặc). Kết quả cho ở cột “Bước 1“ của bảng 2.2.
Bước 2: Trong cột “Công việc đi trước” của bảng cơng việc, có dịng 6 chứa hai
bộ công việc đã được đánh dấu ở bước 1 là (b) và (c); dòng 8 và 9 chứa bộ (a) đánh


19

LUAN VAN CHAT LUONG download : add


dấu ở bước 1, ta xóa đi những bộ này (xem kết quả ở cột “Bước 2” bảng 2). Loại các
bộ công việc đi trước đã đánh dấu và bị xóa khỏi bảng, chuyển sang bước 1’.
Bước 1’: Trong cột “Cơng việc đi trước” của bảng bây giờ chỉ cịn 3 dịng (8, 9,
11): trong đó ở dịng 8 và 9 chỉ có một cơng việc là d, ta đánh dấu hai bộ một công việc
này (xem cột “Bước 1’“ bảng 2.2)
Bước 2’: Trong bảng công việc sau đánh dấu, khơng có dịng nào chứa bộ cơng
việc vừa đánh dấu ở bước 1’, nên không cần thực hiện thao tác xóa (xem cột “Bước
2’” trong bảng 2.2). Chuyển sang bước 1”.
Bước 1”: Trong cột “Công việc đi trước” của bảng cơng việc bây giờ chỉ cịn duy
nhất một dịng 11 với 2 công việc {h,k}, ta đánh dấu chúng. Giai đoạn 1 kết thúc vì
trong cột “Cơng việc đi trước” khơng cịn dịng nào. (xem cột “ Bước 2” ” trong bảng
2.2).
Bảng 2.2: Thực hiện các bước của giai đoạn 1

Bước 2 Bước 1’ Bước 2’ Bước 1” Bước 2”
Tên công Bước 1
TT
Công việc Công việc Công việc Công việc Công việc Công việc
việc
đi trước đi trước đi trước đi trước đi trước đi trước
4
d
(b)
(b)

5
e
(c)
(c)
6
f
b,c
(b),(c)
7
g
(a)
(a)
8
h
a,d
(a), d
(a), (d)
9
i
a,d
(a), d
(a), (d)
10
k
(g)
(g)
11
l
h, k
h, k

h, k
h, k
(h,k)
Bảng 2.3: Kết quả thực hiện các bước của giai đoạn 1

TT
1
2
3
4

Tên công Công việc
việc
đi trước
a
b
c
d
(b)

TT
7
8
9
10

Tên công Công việc
việc
đi trước
g

(a)
h
(a), (d)
i
(a), (d)
k
(g)

20

LUAN VAN CHAT LUONG download : add


5
6

e
f

(c)
(b),(c)

11

l

(h, k)

Như vậy, kết quả việc đánh dấu các bộ cơng việc và xóa chúng trong giai đoạn 1
được cho ở bảng 2.3. Trong đó có 6 bộ cơng việc: (a), (b), (c), (d), (g) và (h,k) được

đánh dấu. Chúng xác định 6 đỉnh trung gian của mạng AOA tương ứng với bảng 2.1

b. Giai đoạn 2: Vẽ sơ đồ
Bước 3: Vẽ đỉnh đầu tiên đánh số 0. Từ đỉnh 0, vẽ 3 công việc đi ra là a, b, c là
những công việc không đi sau một công việc nào. Loại các công việc a, b, c đã được vẽ
ra khỏi bảng
Bước 4a: Vì a được đánh dấu nên sau a ta vẽ đỉnh 1. Có duy nhất cơng việc g đi
sau a, ta vẽ g từ đỉnh 1 (là kết thúc của a). Loại g khỏi bảng.
Bước 4b: Vì b được đánh dấu nên sau b ta vẽ đỉnh 2. Có duy nhất cơng việc d đi
sau b, ta vẽ d từ đỉnh 2 (kết thúc của b). Loại d khỏi bảng.
Bước 4c: Vì c được đánh dấu nên sau c ta vẽ đỉnh 3. Có duy nhất công việc e đi
sau c, ta vẽ e từ đỉnh 3 (là kết thúc của c). Loại e khỏi bảng.
Bước 4d: Công việc f đi sau công việc b và c đã được vẽ trong sơ đồ, và cả hai
công việc b và c này đều đã bị xóa, vậy cần thêm một đỉnh giả 4, và vẽ f đi ra từ đỉnh
giả này. Loại f khỏi bảng. Kết quả nhận được đến bước này cho ở bảng 2.4 và hình 2.1.
Bảng 2.4: Bảng cơng việc cịn lại sau 4 lần lặp lại bước 4 của giai đoạn 2.

TT
8
9
10
11

g

b
0

Tên công Công việc
việc

đi trước
h
(a), (d)
i
(a), (d)
k
(g)
l
(h, k)
1

a

2

c

d
4

3

f

e
21

LUAN VAN CHAT LUONG download : add



Hình 2.1: Mạng cơng việc AOA sau khi kết thúc bước 4d
Tiếp tục, vì d và g được đánh dấu nên ta vẽ đỉnh 5 sau d và đỉnh 6 sau g. Từ đỉnh
5 ta vẽ hai công việc h và i đi ra (vì chúng đi sau d). Từ đỉnh 6 sau g ta vẽ cơng việc k
(vì k đi sau g). Cơng việc l chưa vẽ có chứa bộ {h, k} mà công việc h và k đã được vẽ,
nên ta vẽ đỉnh 7 là kết thúc của hai công việc h và k. Đến đây tất cả các công đã được
vẽ, ta thêm đỉnh 8 vào cho các cơng việc chưa có đỉnh kết thúc là e, f, i, l kết thúc tại
đây (xem hình 2.2).

.
g

6

1
a

h

5

7

d

b

0

k
i


2

f

4

c

l
8

e

3

Hình 2.2: Mạng công việc AOA sau khi kết thúc bước 4
Bước 5: Dịng 8 ở cột “Cơng việc đi trước” có bộ (d) xác định đỉnh 5 và bộ (a) bị
xóa, nên cần thêm công việc giả từ đỉnh 1 sau (a) đến đỉnh 5. Cũng tương tự, ở dịng 6
có bộ (b) và (c) tất cả bị xóa, đã phải thêm đỉnh giả 4 (ở bước 4), nên cần thêm hai
công việc giả từ đỉnh 2 (sau b) và đỉnh 3 (sau c) đến đỉnh giả 4. Bước 5 kết thúc, vì cột
“Cơng việc đi trước” của bảng khơng cịn dịng nào có bộ cơng việc bị xóa. Mạng cơng
việc AOA kết quả cho ở hình 2.3. Mạng có 3 công việc giả và một đỉnh giả.
Bước 6: Việc đánh số các đỉnh của mạng thỏa mãn yêu cầu đặt ra nên không cần
đánh số lại các đỉnh.
g

6

1

a
0

5

k
h

7

d

b

i

2

f

4

c

l
8

e

3

22

LUAN VAN CHAT LUONG download : add


Hình 2.3: Mạng cơng việc AOA sau khi kết thúc bước 6

2.1.3. Sơ đồ khái niệm của thuật toán
a. Giai đoạn 1: xác định đỉnh trung gian

WBS

Duyệt lần lượt các
công việc

Bước 1

1

Chọn cơng việc có
số CVDT ít nhất

Cịn cơng việc
chưa xét
Bước 2

Đánh dấu các cơng việc ở
cột CVDT có số CV ít nhất

Bước 3


Xóa bộ cơng việc đã đánh dấu có
mặt trong các bộ khác ở cột CVDT

0

Hình 2.4: Sơ đồ khái niệm xác định các đỉnh trung gian

b. Giai đoạn 2: vẽ sơ đồ mạng
b1. Vẽ sơ đồ mạng ban đầu

23

LUAN VAN CHAT LUONG download : add


Bảng xác định đỉnh trung gian

Vẽ đỉnh 0 là đỉnh bắt đầu của mạng

Từ đỉnh 0 vẽ các CV đi ra là các cơng
việc khơng có CV đi trước nó.

Thêm các đỉnh trung gian vào sau công
việc được vẽ và nó được đánh dấu

Từ đỉnh trung gian vừa vẽ thêm vào
vẽ các cơng việc đi ra khỏi nó

Thêm các đỉnh trung gian vào sau công

việc vừa vẽ và chúng được đánh dấu

Cịn cơng việc chưa
vẽ

1

0
Chụm các cơng việc chưa có đỉnh cuối
vào đỉnh cuối cùng được thêm vào

Hình 2.5: Sơ đồ khái niệm vẽ mạng ban đầu
24

LUAN VAN CHAT LUONG download : add


b2. Thêm các công việc giả
Mạng ban đầu được vẽ không thỏa mãn ràng buộc ban đầu về công việc đi trước.
Vì trong số các cơng việc đi trước một công việc ở cột các công việc đi trước đã bị xóa.
Vì vậy cần thêm các cơng việc giả để đảm bảo ràng buộc liên quan đến công việc đi
trước nó đã bị xóa đi.

Chọn một cơng việc X mà ở cột cơng việc
đi trước có cơng việc Y bị xóa

Từ đỉnh cuối cơng việc Y vẽ cơng việc giả đến đỉnh
có cơng việc X đi ra
(như vậy X thỏa mãn có cơng việc đi trước nó là Y)


Cịn cơng việc có
cơng việc đi trước
bị xóa

1

0

Hình 2.6: Sơ đồ khái niệm thêm công việc giả vào mạng ban đầu

2.2. Lập lịch biểu của dự án dựa trên mạng AOA
2.2.1. Sơ đồ khái niệm của tiến trình lập lịch

25

LUAN VAN CHAT LUONG download : add


×