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

Kỹ thuật lập lịch dự án dựa trên hướng tiếp cận sử dụng mạng bayes và công cụ SMILE

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.01 MB, 71 trang )

Luận văn cao học

MỤC LỤC

LỜI CAM ĐOAN ............................................................................................. 3
DANH MỤC HÌNH VẼ .................................................................................... 4
DANH MỤC CÁC TỪ VIẾT TẮT .................................................................. 6
PHẦN MỞ ĐẦU ............................................................................................... 7
1. Lý do chọn đề tài .............................................................................. 7
2. Mục tiêu và nhiệm vụ nghiên cứu.................................................... 7
CHƯƠNG 1. BÀI TOÁN LẬP LỊCH DỰ ÁN – CÁC PHƯƠNG PHÁP
TIẾP CẬN GIẢI QUYẾT BÀI TOÁN VÀ CÔNG CỤ ................................... 9
1.1. Bài toán lập lịch trong dự án phần mềm .......................................... 9
1.1.1. Khái niệm về lập kế hoạch ................................................... 9
1.1.2. Vai trò của lập kế hoạch trong quản lý dự án ....................... 9
1.1.3. Tự động hóa việc lập lịch ................................................... 11
1.2. Một số phương pháp giải quyết bài toán lập lịch........................... 13
1.2.1. Phương pháp sơ đồ Gantt ................................................... 13
1.2.2. Phương pháp sơ đồ PERT................................................... 15
1.2.3. Phương pháp đường Găng (Critical Path Method – CPM) 17
1.3. Mạng Bayes .................................................................................... 18
1.3.1. Định nghĩa mạng Bayes (BNS) .......................................... 18
1.3.2. Cách xây dựng mạng Bayes ............................................... 21
1.4. Công cụ Smile&GeNIe giải quyết bài toán lập lịch dự án ............ 23
1.4.1. Giới thiệu công cụ GeNIe ................................................... 23
1.4.2. Giới thiệu thư viện Smile.................................................... 24
1.5. Kết chương ..................................................................................... 25
CHƯƠNG 2. ỨNG DỤNG MẠNG BAYES TRONG LẬP LỊCH DỰ ÁN28
2.1. Mô hình Bayesian Critical Path Method (BCPM) ......................... 28
2.1.1. Biểu diễn hoạt động của dự án ........................................... 28


Phạm Minh Ngọc

1

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

2.1.2. Kết hợp giữa CPM và BNS ................................................ 29
2.1.3. Các bước giải quyết BCPM ................................................ 30
2.2. Phương pháp kết hợp Pert và BCPM ............................................. 34
2.2.1. Thực hiện theo mô hình thác nước ..................................... 34
2.2.2. Thực hiện theo mô hình Scrum .......................................... 41
2.2.3. Thuật toán Pert/ BCPM - Bayes ......................................... 45
2.3. Đánh giá phương pháp BCMP và phương pháp Pert-BCPM trong
lập lịch dự án ......................................................................................... 46
2.4. Kết chương ..................................................................................... 47
CHƯƠNG 3. THỬ NGHIỆM ÁP DỤNG PHƯƠNG PHÁP Pert - BCPM
TRONG LẬP LỊCH DỰ ÁN SỬ DỤNG CÔNG CỤ SMILE&GeNIe ......... 50
3.1. Đặt vấn đề ...................................................................................... 50
3.2. Xây dựng mạng Bayes ................................................................... 50
3.3. Mô tả dữ liệu thực nghiệm ............................................................. 52
3.3.1. Đối với các dự án thực hiện theo mô hình thác nước ......... 52
3.3.2. Đối với dự án thực hiện theo mô hình Scrum .................... 54
3.4. Kết quả thực nghiệm ...................................................................... 54
3.4.1. Chương trình ....................................................................... 54
3.4.2. Kết quả thực nghiệm chương trình ..................................... 59
3.5. Nhận xét và đánh giá ...................................................................... 65
3.6. Kết chương ..................................................................................... 66

KẾT LUẬN VÀ KIẾN NGHỊ......................................................................... 67
A. Kết luận: ........................................................................................... 67
B. Kiến nghị: ......................................................................................... 68
C. Hướng phát triển của đề tài: ............................................................. 68
TÀI LIỆU THAM KHẢO ............................................................................... 70

Phạm Minh Ngọc

2

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn “Kỹ thuật lập lịch Dự án dựa trên hướng tiếp
cận sử dụng mạng Bayes và công cụ SMILE” là do bản thân tôi tự thực hiện dưới sự
hướng dẫn của PGS.TS. Huỳnh Quyết Thắng - Viện Công nghệ thông tin và Truyền
thông - Đại học Bách khoa Hà Nội; các thông tin số liệu và kết quả trong Luận văn
có nguồn gốc rõ ràng, nội dung của Luận văn chưa từng được công bố trong bất kỳ
một công trình nghiên cứu nào ở trong nước.
Hà Nội, tháng 10 năm 2015
Tác giả Luận văn

Phạm Minh Ngọc

Phạm Minh Ngọc

3


Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

DANH MỤC HÌNH VẼ

Hình 1.1.Mô hình minh họa mạng Bayes ....................................................... 21
Hình 1.2. Giao diện chính của Genie .............................................................. 24
Hình 1.3. Các lớp khác nhau của SMILE. ...................................................... 25
Hình 2.1. Sơ đồ AON và Sơ đồ AOA ............................................................. 29
Hình 2.2. Sơ đồ của đoạn BN gắn với một hoạt động .................................... 30
Hình 2.3. Sơ đồ mạng dự án............................................................................ 31
Hình 2.4. Sơ đồ BCPM ................................................................................... 33
Hình 2.5. Mô hình thác nước .......................................................................... 36
Hình 2.6. Phân phối xác suất Gauss ................................................................ 40
Hình 3.1. Giao diện công cụ GeNIE ............................................................... 51
Hình 3.2. Mô hình mạng bằng công cụ GeNIe ............................................... 51
Hình 3.3.Mô hình mạng đánh giá tiến độ của dự án ....................................... 52
Hình 3.4. Giao diện chính của chương trình .................................................. 55
Hình 3.5. Giao diện chức năng Waterfall ....................................................... 56
Hình 3.6. Giao diện chức năng đẩy nhanh tiến độ Waterfall.......................... 57
Hình 3.7. Giao diện chức năng Scrum ............................................................ 58
Hình 3.8. Giao diện chức năng đẩy nhanh tiến độ Scrum .............................. 59
Hình 3.9. Kết quả thực nghiệm chức năng Waterfall ..................................... 61
Hình 3.10. Kết quả thực nghiệm chức năng đẩy nhanh tiến độ Waterfall...... 62
Hình 3.11. Kết quả thực nghiệm chức năng Scrum dự kiến ........................... 63
Hình 3.12. Kết quả thực nghiệm chức năng Scrum thực tế ............................ 64
Hình 3.13. Kết quả đẩy nhanh tiến độ Scrum ................................................. 65


Phạm Minh Ngọc

4

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

DANH MỤC CÁC BẢNG

Bảng 1.1. Các kế hoạch của dự án .................................................................. 12
Bảng 2.1. Thời gian và hoạt động của dự án .................................................. 28
Bảng 2.2. Tóm tắt các thuộc tính cho mô hình BCPM ................................... 30
Bảng 2.3. Lịch trình hoạt động của dự án X ................................................... 32
Bảng 2.4. Bảng xử lý dữ liệu theo mô hình thác nước ................................... 38
Bảng 2.5. Bảng kết quả theo mô hình thác nước 1 ......................................... 40
Bảng 2.6. Bảng kết quả theo mô hình thác nước 2 ......................................... 41
Bảng 3.1. Mẫu thu thập dữ liệu dự án theo mô hình thác nước ...................... 53
Bảng 3.2. Kết quả xử lý dữ liệu thu thập ........................................................ 53
Bảng 3.3. Mẫu thu thập dữ liệu dự án theo mô hình Scrum ........................... 54
Bảng 3.4. Kết quả xử lý mẫu thu thập dữ liệu thực nghiệm ........................... 60

Phạm Minh Ngọc

5

Lớp 13BCNTT2 - Khoá 2013B



Luận văn cao học

DANH MỤC CÁC TỪ VIẾT TẮT
STT

Từ viết tắt

Tên đầy đủ

Giải thích

1

CPM

Critical Path Method

Phương pháp đường Găng

2

BNS

Bayesian Network

Mạng Bayes

3


BCPM

Bayesian Critical Path Method

4

SMILE

Structural Modeling, Inference,
and Learning Engine

Thư viện Smile

5

GeNIe

Graphical Network Interface

Công cụ GeNie

6

PERT

Program Evaluation and
Review Technique

Phương pháp đánh giá Pert


Phạm Minh Ngọc

6

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay quản trị dự án ngày càng được ứng dụng rộng rãi trong các ngành
nghề xã hội, trong đó có hoạt động quản lý dự án phần mềm. Cùng với sự phức tạp
và đa dạng của phần mềm, hoạt động quản lý dự án phần mềm ngày càng tinh vi và
phức tạp hơn.
Trong đó nổi bật lên là vấn đề lập kế hoạch và phân bổ nguồn lực trong dự
án. Với những dự án ít đầu việc và ít người tham gia thì vấn đề lập kế hoạch và lập
lịch dự án một cách thủ công sẽ không đáng ngại. Nhưng với những dự án lớn, có
nhiều đầu việc phức tạp, số lượng nhân công (nguồn lực, tài nguyên) tham gia vào
dự án lớn và có nhiều biến động, khi đó vấn đề lập kế hoạch, lập lịch dự án sẽ gặp
khó khăn. Người làm kế hoạch sẽ phải tốn nhiều thời gian để tiến hành sửa đổi kế
hoạch, lập lịch lại mỗi khi có sự biến động về nhân sự (hay rộng hơn là thay đổi về
nguồn lực thực hiện dự án). Như vậy, vấn đề cấp thiết phải làm sao tự động được
khâu này, để giảm thiểu sức người cũng như nâng cao chất lượng khâu này.
2. Mục tiêu và nhiệm vụ nghiên cứu
Trong trí tuệ nhân tạo “Bayesian network” đã được ứng dụng rộng rãi đề giải
quyết nhiều bài toán phức tạp. Trong đó có các bài toán về lập lịch, lập kế hoạch.
Việc sử dụng mạng Bayes và công cụ Smile&GeNIe nhằm làm tối ưu hóa vấn đề
lập kế hoạch và phân bổ nguồn lực trong dự án phần mềm đã và đang đư ợc nghiên
cứu cải tiến rất nhiều trên thế giới.

Trong luận văn này tôi đặt trọng tâm tìm hiểu mạng Bayes, công cụ
Smile&GeNIe và áp dụng vào lập lịch thực hiện các công việc trong dự án phần
mềm với sự giới hạn về tài nguyên thực hiện các công việc trong dự án.
Các kiến thức về lập lịch trong quản lý dự án phần mềm, kiến thức về mạng
Bayes, cách áp dụng mạng Bayes để tự động lập lịch dự án cũng như các kỹ năng
lập trình xây dựng ứng dụng hoàn chỉnh bước đầu có thể quản lý dự án và tự động
chọn lựa phương án tối ưu để lập lịch dự án.

Phạm Minh Ngọc

7

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

Do đó, luận văn tập trung nghiên cứu các nội dung chính sau:
• Nghiên cứu tổng quan về quản lý dự án phần mềm và bài toán lập lịch.
• Tìm hiểu và nghiên cứu các phương pháp tiếp cận kỹ thuật lập lịch Dự án
sử dụng mạng Bayes.
• Thử nghiệm công cụ SMILE&GeNIe trong các kỹ thuật lập lịch.
• Phân tích và đánh giá các kỹ thuật lập lịch.
3. Bố cục của luận văn
Chương 1: Giới thiệu tổng quan về bài toán lập lịch trong quản lý dự án.
Chương này trình bày về các phương pháp giải quyết bài toán lập lịch, khái niệm về
mạng Bayes và công cụ Smile.
Chương 2: Ứng dụng mạng Bayes trong lập lịch dự án. Chương này tìm hiểu
về mô hình BCPM là sự kết hợp giữa BNS và CPM. Từ đó đưa ra ý tư ởng kết hợp
Pert và BCPM. Sử dụng phương pháp này để ước lượng thời gian. Qua đó đánh giá

hai phương pháp trong lập lịch dự án.
Chương 3: Thử nghiệm và đánh giá kết quả. Phần cuối cùng của luận văn sẽ
áp dụng công cụ Smile&GeNIe trong lập lịch dự án theo phương pháp Pert BCPM. Từ đó đưa ra nhận xét và đánh giá các kết quả đạt được.

Phạm Minh Ngọc

8

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

CHƯƠNG 1. BÀI TOÁN LẬP LỊCH DỰ ÁN – CÁC PHƯƠNG PHÁP TIẾP
CẬN GIẢI QUYẾT BÀI TOÁN VÀ CÔNG CỤ
1.1. Bài toán lập lịch trong dự án phần mềm
Trong quản lý dự án vấn đề lập kế hoạch và lập lịch dự án là rất quan trọng.
Kế hoạch tốt giúp các khâu tiếp theo là thực hiện và đóng dự án dễ dàng hơn. Việc
lập lịch có thể sẽ phải chỉnh sửa lại nhiều lần tại các thời điểm khác nhau của dự án,
việc điều chỉnh này do sự thay đổi các nhân tố như thay đổi về nguồn lực thực hiện
dự án (nhân viên ốm, nhân viên nghỉ việc…), do các thay đổi từ phía khách hàng
như khách hàng yêu cầu thay đổi tính năng sản phẩm. Nếu như áp dụng đươc các
thuật toán vào khâu lập kế hoạch, lập lịch nhằm tự động hóa được việc lập kế hoạch
sẽ giảm bớt được sự sai sót và tăng hiệu quả của việc lập kế hoạch.
1.1.1. Khái niệm về lập kế hoạch
Kế hoạch là bản dự kiến công việc cần làm (cái gì?), thứ tự thực hiện (tiến
trình?), thời gian(khi nào? bao lâu?), phương tiện dùng (cái gì? bao nhiêu?), ngư ời
làm (ai?), sản phẩm ra (cái gì?) và tiêu chí đánh giá (chất lượng?). Kế hoạch là công
việc lặp đi lặp lại trong suốt quá trình dự án. Có rất nhiều kế hoạch cần lập để quản
trị dự án [11].

Chìa khóa cho một dự án thành công là việc lập kế hoạch như thế nào? Tạo
một kế hoạch dự án là điều đầu tiên nên làm khi thực hiện bất kỳ loại dự án nào, giá
trị cho việc lập kế hoạch dự án sẽ tiết kiệm thời gian, tiền bạc và nhiều vấn đề.
1.1.2. Vai trò của lập kế hoạch trong quản lý dự án
Kế hoạch là một trong những tài liệu quan trọng và hữu ích nhất trong quản
lý dự án, cần được nhắc đến và cập nhật trong suốt vòng đời dự án. Mục đích ban
đầu của nó là để khởi động dự án bằng cách thuyết phục các nhà sản xuất quyết
định (thường là những người kiểm soát ví dụ như Ban dự án hoặc Ban Chỉ đạo) mà
dự án là khả thi và sẽ đáp ứng nhu cầu về khung thời gian, ngân sách, kỳ vọng. Nếu
kế hoạch dự án là kém thể hiện bằng văn bản hoặc không đủ chi tiết, dự án có thể
hoặc thậm chí không được tiến hành và có thể không bao giờ thực hiện được. Nhiều

Phạm Minh Ngọc

9

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

dự án khả thi đã thất bại ở giai đoạn này do quy hoạch kém. Nên vai trò của kế
hoạch dự án rất quan trọng, nếu muốn dự án thành công.
Một lịch trình của dự án là một thành phần của một kế hoạch dự án, và
thường có dạng của một dòng thời gian mô tả nhiệm vụ thời gian. Một lịch trình dự
án là một công cụ quan trọng và cần phải bổ sung các kế hoạch dự án. Kế hoạch dự
án lớn hơn có chứa bảng biểu khác nhau, thường là phụ lục. Lịch trình như vậy sẽ
bao gồm một thời gian tổng thể, một lịch trình kiểm tra, lộ trình thực hiện, các phân
tích quan trọng, một lịch trình phân bổ nguồn lực, vv.
Kế hoạch dự án phục vụ như là một lộ trình cho toàn bộ nhóm dự án cung

cấp các hướng dẫn về các hoạt động, phạm vi công việc, phương pháp và quản trị
được sử dụng, các bên liên quan là ai, các chiến lược rộng để mất, chi phí làm thế
nào và mọi người sẽ quản lý, tiêu chuẩn chất lượng trong các dự án, dự án sẽ giao
tiếp với các bên liên quan, làm thế nào hiệu quả và lợi ích sẽ được đo, vv.
Vai trò của lập kế hoạch bao gồm:


Bối cảnh dự án



Mục tiêu



Phạm vi



Hạn chế



Giả định



Phụ thuộc và tác động




Các vấn đề và rủi ro



Phương pháp và chiến lược



Controls: Phạm vi, thời gian, chi phí, chất lượng, tài nguyên

Có thể thấy có rất nhiều yếu tố để có một kế hoạch dự án, và những kế hoạch
lớn hơn có thể kéo dài hơn một trăm trang.
Kế hoạch dự án thường là một trong những điểm đầu tiên của tài liệu tham
khảo cho các bên liên quan, cho dù họ là nhân viên mới, giám đốc điều hành, khách
hàng, người sử dụng, nhà cung cấp hoặc các bên liên quan thứ ba. Vì vậy, khi viết
kế hoạch, nó cần phải được thích hợp cho một đối tượng rộng như vậy và có thể

Phạm Minh Ngọc

10

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

được đọc bởi một người nào đó không có kiến thức trước khi dự án. Bao gồm một
bảng chú giải hoặc các điều khoản tham chiếu để giải thích bất kỳ chữ viết tắt và từ
viết tắt. Khi đề cập đến các tài liệu khác, nó có thể hữu ích để bao gồm các chi tiết

trong phụ lục cho các lợi ích của những người đã không đọc những tài liệu này.
Một kế hoạch dự án đặt ra các giai đoạn, các hoạt động và nhiệm vụ cần thiết
để cung cấp một dự án. Các khung thời gian cần thiết để cung cấp dự án, cùng với
các nguồn lực và sự kiện quan trọng cũng được thể hiện trong kế hoạch dự án. Sử
dụng kế hoạch dự án, có thể nhanh chóng và dễ dàng tạo ra một kế hoạch quản lý
dự án toàn diện cho dự án, vì nó đã li ệt kê các nhiệm vụ thường được sử dụng để
hoàn thành dự án từ đầu đến cuối.
Như vậy: lập kế hoạch dự án là tài liệu quan trọng nhất trong dự án, vì nó
cung cấp quản lý dự án với lộ trình phía trư ớc, và nó đi theo trong suốt cuộc hành
trình làm dự án.
1.1.3. Tự động hóa việc lập lịch
Khi lập kế hoạch bộ phận chịu trách nhiệm lập kế hoạch cần phải quan tâm
đến các nguồn lực phục vụ cho dự án để lập kế hoạch được chi tiết và bám sát thực
tế. Các nguồn lực phục vụ dự án bao gồm [11]:
-

Con người: Là nhân tố hàng đầu quan trọng nhất quyết định đến kế hoạch
cũng như chất lượng của dự án. Với mỗi loại dự án khác nhau con người
tham gia dự án cần phải có năng lực phù hợp.

-

Các phần mềm dùng lại được: Thành phần đóng gói dùng được ngay vào
công việc làm dự án, các thành phần đã kiểm nghiệm tốt, có thể sửa và dùng
lại được.

-

Phần cứng, công cụ phần mềm chia sẻ. Khi lập kế hoạch người quản trị dự
án phải đưa ra được các kế hoạch phục vụ cho dự án, đó là kế hoạch công

việc, kế hoạch quản lý rủi ro, kế hoạch chất lượng, kế hoạch quản lý cấu
hình, kế hoạch ngân sách, kế hoạch nguồn lực. Trong các kế hoạch này kế
hoạch công việc là khá quan trọng. Trong phạm vi luận văn này, tôi quan tâm
tìm hiểu kỹ về kế hoạch công việc và tiến hành áp dụng Bayesian Network

Phạm Minh Ngọc

11

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

trên kế hoạch công việc để ra được kết quả lập lịch thực hiện công việc.
Bảng 1.1 cho thấy các kế hoạch thực hiện dự án.
Tên kế hoạch

Mô tả
Mô tả công việc và lịch biểu thực hiện cho sản

Kế hoạch công việc

phẩm dự án
Xác định các rủi ro và các giải pháp

Kế hoạch quản lý rủi ro

Mô tả thủ tục và các chuẩn chất lượng được áp


Kế hoạch chất lượng

dụng

Kế hoạch quản lý cấu hình

Kế hoạch ngân sách

Kế hoạch nguồn lực

Mô tả cấu hình, thủ tục và tiến trình quản lý cấu
hình và sự thay đổi
Chỉ ra lượng ngân sách cần theo thời gian và các
nguồn huy động
Mô tả số lượng, kỹ năng, kinh nghiệm của các
thành viên dự án và giải pháp

Bảng 1.1. Các kế hoạch của dự án
Khi tiến hành lập kế hoạch, lập lịch công việc người lập kế hoạch cần phải
làm các công việc theo các bước như sau:
-

Bước 1: Phải xây dựng được bảng phân rã công việc (work breakdown
structure). Đây là công việc mà đội dự án và người quản trị phải xác định
nhiệm vụ (gói công việc) cần thực hiện để tạo ra các sản phẩm.

-

Bước 2: Phải xác định được các mối quan hệ giữa các công việc: đặt các gói
công việc theo tiến trình có trình tự trước-sau, công việc nào là công việc

trực tiếp phía trước, công việc nào trực tiếp phía sau.

-

Bước 3: Ước lượng các gói công việc: mỗi gói công việc cần ước lượng ngày
công lao động (tốn bao nhiêu thời gian để làm) số lượng nhân lực và vật lực
(theo từng loại) cần tham gia để hoàn thành các gói công việc này.

-

Bước 4: Xây dựng lịch biểu ban đầu: tính toán thời gian thực hiện dự án, thời
gian bắt đầu sớm nhất và thời gian kết thúc muộn nhất của từng công việc.

Phạm Minh Ngọc

12

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

-

Bước 5: Gán nguồn lực thực hiện, điều chỉnh lịch. Sau khi gán nguồn lực,
cần chính xác hóa lịch biểu khi tính đến các ràng buộc nguồn lực. Các nhiệm
vụ được lập lịch sao cho tối ưu hóa việc sử dụng lao động và các nguồn lực
khác.
Trong phạm vi nghiên cứu áp dụng mạng Bayes và công cụ Smile&GeNIe


vào quản lý dự án phần mềm,tôi thấy tại bước 4 và 5 của quá trình lập lịch, lập kế
hoạch công việc có thể tiến hành tự động. Việc áp dụng lập lịch tự động từ các dữ
liệu đầu vào bao gồm: bảng dữ liệu phân rã công việc, bảng dữ liệu ước lượng các
gói công việc trong bảng phân rã công việc, bảng dữ liệu nguồn lực hiện có trong
dự án, tiến hành áp dụng mạng Bayes và công cụ Smile&GeNIe để tự động lập lịch
biểu dựa trên các dự liệu đầu vào, tự động gán nguồn lực thực hiện công việc và tìm
ra một kết quả tối ưu nhất hoặc kết quả chấp nhận được. Việc áp dụng này được
trình bày kỹ lưỡng trong các trang tiếp theo của luận văn, các kết quả dữ liệu test
trên bộ dữ liệu tự sinh cũng được trình bày đ ể thấy được việc áp dụng phương pháp
khiến khâu lập lịch này là hợp lý và là một hướng nghiên cứu đúng đắn.
1.2. Một số phương pháp giải quyết bài toán lập lịch
1.2.1. Phương pháp sơ đồ Gantt
Biểu đồ Gantt là một thanh duyệt thời gian để theo dõi tiến độ của dự án. Có
thể hình dung nhiệm vụ của dự án và xem tiến triển của dự án theo thời gian. Sử
dụng công cụ này để đơn giản hóa các nhiệm vụ và các chi tiết của dự án với một
hình ảnh thời gian dự án bằng cách chuyển đổi tên nhiệm vụ, ngày bắt đầu, thời
gian và ngày kết thúc vào tầng biểu đồ thanh ngang [12].
Ngày nay, với sự ra đời của máy tính và các phần mềm quản lý dự án, biểu
đồ Gantt có thể được tạo ra, cập nhật và in dễ dàng.
Biểu đồ Gantt thường được sử dụng cho lịch trình dự án theo dõi. Vì nó hữu
ích, có thể hiển thị thêm thông tin về các nhiệm vụ khác nhau hoặc các giai đoạn
của dự án, ví dụ như làm thế nào các công việc liên quan đến nhau, làm thế nào đến
nay mỗi công việc đã tiến triển, những nguồn l ực đang được sử dụng cho từng
nhiệm vụ.

Phạm Minh Ngọc

13

Lớp 13BCNTT2 - Khoá 2013B



Luận văn cao học

Một biểu đồ Gantt được xây dựng bằng cách trước hết là liệt kê tất cả những
điều có thể nghĩ rằng cần phải được thực hiện trong một dự án. Đây có thể là một
danh sách khá dài. Sau đó, nên nhóm những nhiệm vụ thuộc c ác nhóm cụ thể. Đối
với một biểu đồ Gantt, để được sử dụng cho mọi người nhìn vào thường xuyên để
họ có thể có được một ý tưởng về những gì đang xảy ra trong một dự án, biểu đồ
chỉ cần giữ cho các đề mục cấp cao. Một phiên bản chi tiết hơn có thể được lưu giữ
bởi người chạy dự án.
Ưu điểm:


Biểu đồ Gantt tạo ra một bức tranh phức tạp. Vì vậy, nếu chúng ta có
thể xem các ý tưởng phức tạp như một bức tranh, điều này sẽ giúp
chúng ta hiểu dễ dàng.



Biểu đồ Gantt chứng tỏ rằng chúng ta biết những gì chúng ta đang
làm. Khi chúng ta tạo ra một biểu đồ Gantt chi tiết được trình bày với
nhiệm vụ tổ chức đúng và các nguồn lực được phân bổ cho các nhiệm
vụ đó. Nó cho thấy nhiệm vụ đó hoàn thành chưa và điều đó quyết
định sự thành công của dự án.



Biểu đồ Gantt giúp chúng ta thiết lập khung thời gian thực tế. Các
thanh trên bảng xếp hạng cho thấy, trong đó giai đoạn một nhiệm vụ

cụ thể hoặc thiết lập các nhiệm vụ sẽ được hoàn thành. Điều này có
thể giúp chúng ta có được những trọng điểm đúng.



Biểu đồ Gantt có thể dễ dàng nhìn thấy. Nó có thể hữu ích để đặt các
biểu đồ, hoặc một phiên bản lớn của nó, nơi mà tất cả mọi người có
thể nhìn thấy nó. Điều này sẽ giúp nhắc nhở mọi người về mục tiêu và
khi những điều nhất định sẽ xảy ra. Nó rất hữu ích nếu tất cả mọi
người trong doanh nghiệp của chúng ta có thể có một mức độ cơ bản
của sự hiểu biết về những gì đang xảy ra với dự án, ngay cả khi họ có
thể không liên quan trực tiếp với nó.

Nhược điểm:

Phạm Minh Ngọc

14

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học



Biểu đồ Gantt có thể trở nên cực kỳ phức tạp. Ngoại trừ các dự án đơn
giản, với dự án lớn sẽ có một số lượng lớn các nhiệm vụ thực hiện và
nguồn lực được sử dụng để hoàn thành dự án.




Kích thước của thanh không chỉ ra số lượng công việc. Mỗi thanh trên
biểu đồ chỉ ra khoảng thời gian mà trong đó một tập hợp các nhiệm vụ
sẽ được hoàn thành. Tuy nhiên, bằng cách nhìn vào thanh cho một tập
hợp các nhiệm vụ, chúng ta có thể không nắm được các nguồn lực cần
thiết để đạt được những nhiệm vụ đó.



Biểu đồ Gantt cần phải được cập nhật liên tục. Khi chúng ta nhận
được một dự án, mọi thứ sẽ thay đổi. Nếu chúng ta đang sử dụng một
biểu đồ Gantt, chúng ta phải có khả năng thay đổi biểu đồ một cách dễ
dàng và thường xuyên. Nếu chúng ta không làm điều này, nó sẽ bị bỏ
qua.

1.2.2. Phương pháp sơ đồ PERT
Phương pháp sơ đồ PERT là một phương pháp để phân tích các nhiệm vụ
liên quan trong việc hoàn thành một dự án nhất định, đặc biệt là thời gian cần thiết
để hoàn thành mỗi nhiệm vụ, và để xác định thời gian tối thiểu cần thiết để hoàn
thành toàn bộ dự án. PERT được phát triển chủ yếu là để đơn giản hóa việc lập kế
hoạch và lập kế hoạch của các dự án lớn và phức tạp [12].
Các bước thực hiện để tính thời gian hoàn thành dự án có xét đến các yếu tố
ngẫu nhiêu:
• Tính thời gian thực hiện công việc to.
• Xác định công việc găng và đường găng ứng với thời gian thực hiện
công việc là to
• Xác định khả năng hoàn thành dự án trong thời gian mong muốn.
Thời gian kỳ vọng thực hiện công việc to:


Trong đó:

Phạm Minh Ngọc

𝑡𝑡0 =

𝑎𝑎 + 4𝑚𝑚 + 𝑏𝑏
6

15

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

• a : Thời gian lạc quan1 là thời gian ước lượng ít nhất để hoàn thành
công việc trong những điều kiện thuận lợi nhất.
• b: Thời gian bi quan2 là thời gian ước lượng lớn nhất để hoàn thành
công việc trong điều kiện khó khăn nhất.
• m: Thời gian hiện thực3 là thời gian ước lượng để hoàn thành công
việc có nhiều khả năng xảy ra nhất ( với xác suất lớn nhất).
Phương sai của thời gian thực hiện công việc to:

Ưu điểm:

𝜎𝜎 2 = (

𝑏𝑏 − 𝑎𝑎 2
)

6

• Biểu đồ PERT rõ ràng và có thể nhìn thấy sự phụ thuộc (các mối quan
hệ ưu tiên) giữa cấu trúc phân chia công việc.
• Biểu đồ PERT tạo điều kiện xác định thời điểm bắt đầu sớm, thời
điểm đến muộn, và ứng cho từng hoạt động.
• PERT cung cấp cho khả năng giảm thời gian dự án do sự hiểu biết tốt
hơn về phụ thuộc dẫn đến cải thiện sự chồng chéo của các hoạt động
và nhiệm vụ.
• Số lượng lớn các dữ liệu dự án có thể được tổ chức và trình bày trong
sơ đồ để sử dụng trong việc ra quyết định.
• PERT có thể cung cấp một khả năng hoàn thành trước một thời gian
nhất định.
Nhược điểm:
• Có thể có hàng trăm hoặc hàng ngàn các hoạt động và các mối quan
hệ phụ thuộc cá nhân có khả năng.
• PERT không dễ dàng mở rộng cho các dự án nhỏ hơn.
• Việc thiếu một khung thời gian trên hầu hết các bảng PERT làm cho
nó khó khăn hơn để hiển thị trạng thái mặc dù màu sắc có thể giúp đỡ
(ví dụ, màu sắc cụ thể cho các nút hoàn thành).
(1: optimistic time; 2: pessimistic time; 3: most likely time)

Phạm Minh Ngọc

16

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học


1.2.3. Phương pháp đường Găng (Critical Path Method – CPM)
Phương pháp đường găng là chuỗi các hoạt động theo lịch trình mà xác định
thời gian của dự án. Nó là chuỗi dài nhất của nhiệm vụ trong một kế hoạch dự án
phải được hoàn thành đúng thời hạn để các dự án đáp ứng thời hạn của nó. Nếu có
một sự chậm trễ trong bất kỳ công việc trên đường găng thì toàn bộ dự án sẽ bị trì
hoãn. Chiều dài đường găng cũng chính là t ổng thời gian thực hiện toàn bộ dự án
[12].
CPM bao gồm các bước sau:
• Xác định các công việc (nhiệm vụ) cần thực hiện dự án.
• Xác định mối quan hệ và trình tự thực hiện các công việc.
• Vẽ sơ đồ mạng công việc.
• Tính toán thời gian và chi phí cho từng công việc dự án.
• Xác định thời gian dự trữ của các công việc và sự kiện.
• Xác định đường Găng.
Đường Găng là chuỗi các hoạt động dài nhất trong các chuỗi hoạt động nối
từ sự kiện đầu đến sự kiện cuối. Đó là thời gian ngắn nhất có thể để hoàn thành dự
án. Mọi sự chậm trễ của một hoạt động trên đường Găng tác động trực tiếp đến dự
án hoàn thành theo kế hoạch ngày. Một dự án có thể có nhiều đường Găng.
Xét một ví dụ về xác định đường Găng như sau:

2
A, 8

D, 5

5

E, 8


8
H, 4

K, 3

1
B, 4

3

C, 2

6

F, 9

I, 5

7

G, 5

4
Các đường đi từ (1) đến (8): ADHK = 20; BEHK = 19; BFIK = 21; CGIK = 15.
Vậy đường Găng là đường đi có độ dài lớn nhất BFIK = 21 (các công việc
B, F, I, K được gọi là các công việc găng).
Phạm Minh Ngọc

17


Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

Ưu điểm:
• Đây là một phương pháp hiệu quả và mạnh mẽ.
• Biết được thời gian ngắn nhất mà một dự án có thể được hoàn thành.
• Biết được chuỗi các hoạt động, lịch trình, và thời gian tham gia.
• Đòi hỏi có những mô tả rõ mối quan hệ giữa các hoạt động
Nhược điểm:
CPM được phát triển cho các dự án phức tạp nhưng khá thường xuyên
với sự không chắc chắn tối thiểu trong thời gian hoàn thành dự án. Đối với
các dự án ít thường xuyên có sự chắc chắn hơn trong thời gian hoàn thành,
và sự không chắc chắn điều này hạn chế tính hữu dụng của các mô hình
CPM xác định.
1.3. Mạng Bayes
Thuật ngữ “Bayesian” được sử dụng phổ biến trong những năm 1950, mặc
dù nguồn gốc của phương pháp Bayesian là năm 1763, khi Thomas Bayes công bố
bài báo nổi tiếng của ông (Bayes 1763). Điều này có chứa các mô tả chi tiết đầu tiên
của một định lý bắt nguồn từ lý thuyết xác suất cơ bản [1].
Mạng Bayes (Bayesian Networks) là một phụ thuộc xác suất kiểu mẫu. Nó
bao gồm một tập hợp các nút liên kết với nhau, trong đó mỗi nút đại diện cho một
biến trong các mô hình phụ thuộc và các vòng cung nối đại diện cho mối quan hệ
nhân quả giữa các biến này. Mỗi nút hoặc biến thể hiện một số trạng thái hoặc giá
trị.
1.3.1. Định nghĩa mạng Bayes (BNS)
Một mạng Bayes là một đồ thị có hướng không chứa chu trình (tức là đường
đi có đầu và cuối trùng nhau) mà trong đó [1]:
• Các nút biểu diễn các biến

• Các cạnh biểu diễn các quan hệ phụ thuộc giữa các biến và phân phối xác
suất cho mỗi giá trị nếu cho trước giá trị của các cha của nó.
Nếu có một cạnh từ nút A tới nút B, thì biến B phụ thuộc trực tiếp vào biến
A, và A được gọi là cha của B. Nếu với mỗi biến Xi, i ∈ {1, … N} tập hợp các biến
Phạm Minh Ngọc

18

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

cha được ký hiệu bởi parents(Xi), thì phân phối có điều kiện phụ thuộc của các biến
là tích của các phân phối địa phương
𝑛𝑛

Pr⁡
(X1 , … . , X n ) = � Pr⁡
(𝑋𝑋𝑖𝑖 | parents (𝑋𝑋𝑖𝑖 ))
𝑖𝑖=1

Nếu Xi không có cha, ta nói rằng phân phối xác suất của nó là không có điều
kiện, ngược lại thì gọi là có điều kiện. Nếu biến được biểu diễn bởi một nút được
quan sát, thì ta nói rằng nút là một nút hiển nhiên (evidence node).
Định lý Bayes điều chỉnh các xác suất khi được cho bằng chứng mới theo
cách sau đây [1]:
P(Ho |E) =

P(E|Ho ). P(Ho )

P(E)

Định lý Bayes cũng thường được viết dưới dạng:

P(E) = P(E|Ho ). P(Ho ) + P(E|¬Ho )P(¬Ho ) (¬Ho là phủ định Ho )

Trong đó:

• Ho đại diện cho một giả thuyết và E đại diện cho một số bằng chứng.


P(Ho ) được gọi là “xác suất trước”. Đây là độ tin cậy về những giả
thuyết trước khi chúng ta đã quan sát thấy bằng chứng.



P(E|Ho ) được gọi là “hàm khả năng”. Nó chỉ ra xác suất quan sát
bằng chứng cho giả thuyết.



P(Ho |E) được gọi là “xác suất sau”. Đây là mô tả của hệ thống về kiến
thức của các giả thuyết sau khi quan sát các bằng chứng.



P(E) được gọi là “xác suất cận biên” của E. Đây là xác suất của việc
chứng kiến những bằng chứng mới E dưới tất cả các giả thuyết có thể.

Ví dụ về Bayes Network:

Một người quản lý dự án là người phân tích các nguyên nhân của sự chậm trể
trong một nhiệm vụ cụ thể trong một dự án. Một phần của nhiệm vụ đó là theo dõi
nhà thầu. Người quản lý dự án tin rằng, dựa trên danh tiếng tốt của các nhà thầu, có
95% cơ hội của việc cung cấp hợp đồng đúng về thời gian. Có 80% của sự chậm trễ

Phạm Minh Ngọc

19

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

trong công tác thực hiện nếu nhà thầu không cung cấp kịp thời. Thậm chí nếu nhà
thầu cung cấp đúng về thời gian, vẫn còn 10% cho sự chậm trễ (kết quả của lý do
nội bộ khác). Nếu nhiệm vụ thực sự là muộn, xác suất mà nhà thầu đã thất bại trong
việc cung cấp về thời gian là bao nhiêu?
Trước tiên, cần xây dựng mô hình xác suất. Ta sử dụng 2 biến ngẫu nhiên
sau để thực hiện các dữ kiện liên quan:
Ký hiệu sự kiện về thời gian là T
Sự kiện về chậm trễ trong công việc là Delay
Ta có: P(T) = 0.95 , do đó P(¬T) = 0.05
P(Delay|T) = 0.1 , do đó P(¬Delay|T) = 0.9
P(Delay|¬T) = 0.8, do đó P(¬Delay|¬T) = 0.2
Xác suất nhà thầu thất bại trong việc cung cấp về thời gian do sự chậm trễ
trong công việc:
Áp dụng định lý Bayes:
𝑃𝑃(𝑇𝑇|𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷) =


=

P(Delay|T). P(T)
P(Delay|T). P(T) + P(Delay|¬T). P(¬T)
0.1 ∗ 0.95
= 0.7
0.1 ∗ 0.95 + 0.8 ∗ 0.05

Vậy xác suất trước 95% được điều chỉnh lên 70% là kết quả cho sự chậm trễ
trong công việc.
Giả sử ngoài việc chậm trễ của hợp đồng, người quản lý dự án đã nhận thấy
rằng chất lượng của cán bộ cũng có ảnh hưởng trực tiếp đến thời gian của nhiệm vụ.
Hiện nay có hai biến độc lập ảnh hưởng đến một biến khác đó là “Sub-contract”
(hợp đồng) và “Staff quality” (chất lượng đội ngũ nhân viên) ảnh hưởng đến “Delay
in Task” (chậm trễ trong công việc). Thể hiện ở hình 1.1, các liên kết đại diện cho
mối quan hệ nhân quả: có 2 lý do cho việc chậm trễ trong công việc (Delay in
Task), hoặc do hợp đồng (Sub-contract), hoặc do chất lượng đội ngũ nhân viên
(Staff quality), thì tình huống này có thể được mô hình hóa bởi một mạng Bayes. Ở

Phạm Minh Ngọc

20

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

đây, các biến có hai trạng thái có thể: T (đúng) và F (sai), kèm theo có một bảng xác
suất điều kiện.


Sub-contract

Staff quality

Delay in Task
Sub-contract

On time

Late time

Staff quality

Good

Poor

Good

Poor

False

0.95

0.7

0.7


0.01

True

0.05

0.3

0.3

0.99

Hình 1.1. Mô hình minh họa mạng Bayes
1.3.2. Cách xây dựng mạng Bayes
Xây dựng một mạng Bayes cho một tên miền của ứng dụng bao gồm ba bước
chính:
• Bước I) Xác định các biến có tầm quan trọng, cùng với các giá trị trạng
thái có thể của chúng.
• Bước II) Xác định các mối quan hệ giữa các biến và thể hiện chúng trong
một cấu trúc đồ họa.
• Bước III) Đánh giá xác suất cần thiết cho phần định lượng của nó.
Việc xây dựng một mạng Bayes thường đòi hỏi một mô hình lớn và phong
phú trên một mặt và nỗ lực cần thiết để xây dựng, bảo trì và suy luận theo xác suất
trong các mạng trên các mặt khác. Trong thực tế việc xây dựng một mạng Bayes là
một quá trình sáng tạo, đó lặp lại trên các bước sao cho đến khi một mạng mong
muốn đạt được.
Các bước ban đầu (xác định các biến) không phải lúc nào cũng đơn gi ản.
Sau đây như một hướng dẫn để xác định các biến:

Phạm Minh Ngọc


21

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

• Xác định chính xác các mục tiêu của mô hình.
• Xác định các quan sát có thể có liên quan đến các vấn đề.
• Xác định tập hợp con của những người quan sát là đáng giá (xem xét sự
phức tạp của mạng).
• Tổ chức quan sát vào các biến có dạng biệt lập.
 Có ba loại biến khi xây dựng một mô hình mạng Bayes:
• Các biến giả thuyết: đây không phải là các biến quan sát được (hoặc chỉ
có thể quan sát được tại một chi phí chấp nhận được). Xác định các biến
này là nhiệm vụ chính trong mô hình mạng Bayes.
• Biến thông tin: các biến này có thể được quan sát thấy và tiết lộ điều gì
đó về biến giả thuyết.
• Các biến trung gian: được giới thiệu cho một mục đích đặc biệt, ví dụ
như để đơn giản hóa các bảng xác suất có điều kiện.
Trong sự phát triển của một mạng Bayes, các biến (nút) có thể dễ dàng thêm
vào hoặc sửa đổi. Các tính chất đồ họa của mạng Bayes cho phép các biến có thể
xây thêm hoặc loại bỏ mà không ảnh hưởng đáng kể phần còn lại của mạng.
Sau khi xác định các biến, bước tiếp theo là xây dựng các phần đồ họa của
mạng. Điều này đòi h ỏi xác định sự phụ thuộc xác suất giữa các biến đại diện.
Hướng của các cung cần phải được xác định một cách cẩn thận. Giới thiệu một thể
loại của năm loại lý luận giữa các biến, được gọi là thành ngữ (tức là định nghĩa /
tổng hợp), như một hướng dẫn để xây dựng mạng. Đây chỉ là một nguyên tắc hướng
dẫn, do đó cấu trúc đồ họa kết quả đã được xem xét và tinh tế về sự phụ thuộc giữa

các biến.
Bước cuối cùng trong việc xây dựng một mạng Bayes là đánh giá các giá trị
xác suất và gán chúng vào bảng xác suất điều kiện. Các bảng xác suất điều kiện đại
diện cho sức mạnh của sự phụ thuộc quan hệ nhân quả giữa các nút kết nối. Tùy
thuộc vào loại một nút (tức là rời rạc hoặc liên tục), bảng xác suất điều kiện có thể
là một bảng xác suất rời rạc hoặc một phân phối xác suất liên tục. Trong các nút
trước (không có bất kỳ nút cha) bảng xác suất điều kiện là xác suất trước, mà có thể
Phạm Minh Ngọc

22

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

được ước tính một cách chủ quan hoặc dựa trên số liệu thực nghiệm. Trong các nút
cha, xác suất của tất cả các trạng thái của nút có điều kiện về mọi trường hợp.
1.4. Công cụ Smile&GeNIe giải quyết bài toán lập lịch dự án
Smile&GeNIe là phần mềm đã đư ợc phát triển bởi Phòng thí nghiệm
Systems (DSL) của Đại học Pittsburgh. SMILE là thư viện và GeNIe là giao diện
người dùng đồ họa. Cả hai có thể được tải về từ trang web của GeNIe và Smile tại
[3], [7].
1.4.1. Giới thiệu công cụ GeNIe
Genie (Graphical Network Interface) là gói phần mềm có thể được sử dụng
để tạo ra các mô hình lý thuyết trực quan bằng cách sử dụng giao diện và kéo thả.
Đây là giao diện đồ họa để Smile, một công cụ suy luận Bayesian hoàn toàn di động
được phát triển bởi các phòng thí nghiệm hệ thống và được kiểm tra kỹ lưỡng trong
lĩnh vực này kể từ năm 1998. Genie 1.0, phát hành cho cộng đồng vào năm 1998, đã
nhận được sự quan tâm rộng rãi trong ngành công nghiệp. Người sử dụng chương

trình đã chia sẻ những kinh nghiệm và đề nghị phát triển Genie. Và Genie 2.0 đã ra
đời, một giao diện hiện đại mới mẻ, và thậm chí là trực quan, dễ dàng sử dụng hơn
so với Genie 1.0. Ngoài tính thẩm mỹ, Genie 2.0 có nhiều tính năng để cung cấp
[8], [9].
Các tính năng chính:
• Biên tập đồ họa để tạo và sửa đổi các mô hình mạng.
• Sử dụng SMILE Engine, ta có thể phát triển các mô hình trong GeNIe và
tạo ra một giao diện tùy chỉnh.
• Hỗ trợ xử lý các nút.
• Hỗ trợ quản lý xác xuất.
Genie có thể được xem như là một lớp vỏ bên ngoài Smile. Nó cung cấp
nhiều công cụ cho người sử dụng như một giao diện để xây dựng mô hình mạng
Bayes, để tìm hiểu các mối quan hệ nhân quả của một mô hình bằng cách sử dụng
các thuật toán khác nhau, và để thực hiện chẩn đoán mô hình. Đ ể sử dụng Genie
hiệu quả, phần mềm Genie phải được cài đặt và sử dụng nên có một số kiến thức cơ

Phạm Minh Ngọc

23

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

bản về mô hình đ ồ họa và các công cụ được cung cấp trong Genie phải làm quen.
Hình 1.2 cho thấy giao diện chính của chương trình Genie.

Hình 1.2. Giao diện chính của Genie
1.4.2. Giới thiệu thư viện Smile

SMILE (Structural Modeling, Inference, Learning Engine) là một nền tảng
hoàn toàn độc lập của thư viện lớp C ++, thực hiện các mô hình xác suất và lý
thuyết đồ họa, chẳng hạn như các mạng Bayesian, sơ đồ ảnh hưởng và các mô hình
phương trình cấu trúc. SMILE API (Application Programming Interface): cho phép
tạo, chỉnh sửa, lưu và tải các mô hình đ ồ họa,sử dụng chúng cho lập luận xác suất
và ra quyết định sự không chắc chắn.
SMILE hỗ trợ trực tiếp các phương pháp hướng đối tượng. Lớp của SMILE
có thể truy cập từ C ++ hoặc từ các ngôn ngữ lập trình C. Vì hầu hết các hiện thực
của ngôn ngữ lập trình đ ịnh nghĩa một giao diện C, điều này làm cho SMILE truy
cập từ bất kỳ ngôn ngữ trên bất kỳ hệ thống. SMILE có thể được nhúng trong
chương trình sử dụng mô hình xác suất đồ họa. Mô hình phát triển trong Genie có
thể được trang bị một giao diện người dùng trong đó sử dụng SMILE như các công
cụ phụ trợ. SMILE được phát hành như là một thư viện liên kết động (DLL). Ngoài
ra còn có một số hàm như SMILE.NET (giao diện NET), SMILEX (Active X),
jSMILE (giao diện Java) [3], [8], [9].
Các tính năng chính:
• Biên tập đồ họa để tạo ra và sửa đổi các mô hình mạng.

Phạm Minh Ngọc

24

Lớp 13BCNTT2 - Khoá 2013B


Luận văn cao học

• Nền tảng độc lập, các phiên bản có sẵn cho Windows , Unix (Solaris ),
Linux, Mac, Pocket PC, …
• jSMILE có sẵn để sử dụng với 32-bit và 64-bit.

• SMILE.NET có sẵn để sử dụng với NET framework. Tương thích với
tất cả các ngôn ngữ .NET bao gồm cả C# và VB.NET. Có thể được sử
dụng để tạo các ứng dụng dựa trên web của mạng Bayes.
• Tài liệu hướng dẫn kỹ lưỡng và đầy đủ.
Trên đầu trang của các module SMILE, có những gói SMILE và Genie để
thực hiện các yêu cầu. Xem hình 1.3 cho một cái nhìn tổng quan của tất cả các lớp.

Hình 1.3. Các lớp khác nhau của SMILE.
1.5. Kết chương
Chương I đã trình bày được:
 Khái quát cơ bản về bài toán lập lịch thông qua:
o Khái niệm về lập kế hoạch:
Kế hoạch là bản dự kiến công việc cần làm (cái gì?), thứ tự thực
hiện (tiến trình?), thời gian(khi nào? bao lâu?), phương tiện dùng
(cái gì? bao nhiêu?), ngư ời làm (ai?), sản phẩm ra (cái gì?) và tiêu
chí đánh giá (chất lượng?). Kế hoạch là công việc lặp đi lặp lại
trong suốt quá trình dự án. Có rất nhiều kế hoạch cần lập để quản
trị dự án [11]
o Vai trò của lập kế hoạch trong quản lý dự án:

Phạm Minh Ngọc

25

Lớp 13BCNTT2 - Khoá 2013B


×