THUẬT TOÁN TỐI ƯU BẦY ĐÀN MỜ NGẪU NHIÊNCHO BÀI TOÁN ĐỊNH VỊ TÀI NGUYÊN TRONG LẬP LỊCH DỰ ÁN...353.1 BÀI TOÁN LẬP LỊCH DỰ ÁN VỚI CÁC RÀNG BUỘC TÀINGUN...353.2 MƠ HÌNH TỔNG QUÁT BÀI TOÁN L
Trang 1VÕ TRỌNG NHÂN
TỐI ƯU ĐỊNH VỊ TÀI NGUYÊN TRONG LẬP LỊCH
DỰ ÁN PHẦN MỀM SỬ DỤNG THUẬT TOÁN PSO
MỜ NGẪU NHIÊN
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: PGS.TS Nguyễn Gia Như
ĐÀ NẴNG - 2021
Trang 2giúp đỡ cũng như là quan tâm, động viên từ nhiều cơ quan, tổ chức và cánhân Luận văn cũng được hoàn thành dựa trên sự tham khảo, học tập kinhnghiệm từ các kết quả nghiên cứu liên quan, các sách, báo chuyên ngành củanhiều tác giả ở các trường Đại học, các tổ chức nghiên cứu, tổ chức chínhtrị…Đặc biệt hơn nữa là sự giúp đỡ của cán bộ giáo viên Trường Đại học DuyTân và sự giúp đỡ, tạo điều kiện về vật chất và tinh thần từ phía gia đình, bạn
bè và các đồng nghiệp
Trước hết, em xin gửi lời cảm ơn sâu sắc đến Thầy Nguyễn Gia Như –người trực tiếp hướng dẫn bài luận văn đã luôn dành nhiều thời gian, công sứchướng dẫn em trong suốt quá trình thực hiện đề tài và hoàn thành bài luận vănnày
Tôi xin trân trọng cám ơn Ban giám hiệu, cùng toàn thể các thầy cô giáocông tác trong trường đã tận tình truyền đạt những kiến thức quý báu, giúp đỡtôi trong quá trình học tập và nghiên cứu
Tuy có nhiều cố gắng, nhưng trong bài luận văn này không tránh khỏinhững thiếu sót Em kính mong Quý thầy cô, các chuyên gia, những ngườiquan tâm đến đề tài, đồng nghiệp, gia đình và bạn bè tiếp tục có những ý kiếnđóng góp, giúp đỡ để đề tài được hoàn thiện hơn
Một lần nữa em xin chân thành cám ơn!
Đà Nẵng, ngày tháng năm 2021
Tác giả Luận văn
Võ Trọng Nhân
Trang 3Các số liệu và kết quả nghiên cứu trong luận văn này là trung thực vàkhông trùng lặp với các đề tài khác.
Đà Nẵng, ngày tháng năm 2021
Tác giả Luận văn
Võ Trọng Nhân
Trang 4MỞ ĐẦU 1
1 Tính cấp thiết của đề tài 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Bố cục của luận văn 2
CHƯƠNG 1 TỔNG QUAN VỀ BÀI TOÁN LẬP LỊCH TRONG QUẢN LÝ DỰ ÁN PHẦN MỀM 3
1.1 QUẢN TRỊ DỰ ÁN PHẦN MỀM 3
1.1.1 Dự án phần mềm 3
1.1.2 Quản lý dự án phần mềm 4
1.1.3 Quy trình quản lý dự án phần mềm 8
1.2 LẬP LỊCH DỰ ÁN PHẦN MỀM 8
1.2.1 Khái niệm về lập kế hoạch 9
1.2.2 Tự động hóa việc lập lịch 9
1.3 PHÂN LOẠI MÔ HÌNH BÀI TOÁN LẬP LỊCH DỰA ÁN 11
1.4 CÁC THUẬT TOÁN GIẢI BÀI TOÁN LẬP LỊCH DỰA ÁN 13
1.5 KẾT CHƯƠNG 15
CHƯƠNG 2 THUẬT TOÁN TỐI ƯU NHÓM BẦY VÀ ỨNG DỤNG 16
2.1 GIỚI THIỆU CHUNG VỀ THUẬT TOÁN PSO 17
2.2 CÁC THÀNH PHẦN CƠ BẢN CỦA THUẬT TOÁN PSO 21
2.3 CÁC PHIÊN BẢN CỦA THUẬT TOÁN PSO 23
2.3.1 Thuật toán PSO dạng Constriction 23
2.3.2 Thuật toán PSO-TVIW và PSO-RANDIW 23
Trang 52.3.6 Thuật toán SWT-PSO 27
2.4 THUẬT TOÁN PSO DẠNG TỔNG QUÁT VÀ ỨNG DỤNG 31
2.5 KẾT CHƯƠNG 34
CHƯƠNG 3 THUẬT TOÁN TỐI ƯU BẦY ĐÀN MỜ NGẪU NHIÊN CHO BÀI TOÁN ĐỊNH VỊ TÀI NGUYÊN TRONG LẬP LỊCH DỰ ÁN 35
3.1 BÀI TOÁN LẬP LỊCH DỰ ÁN VỚI CÁC RÀNG BUỘC TÀI NGUYÊN 35
3.2 MÔ HÌNH TỔNG QUÁT BÀI TOÁN LẬP LỊCH DỰ ÁN VỚI CÁC RÀNG BUỘC TÀI NGUYÊN 39
3.3 THUẬT TOÁN TỐI ƯU BẦY ĐÀN MỜ NGẪU NHIÊN CHO BÀI TOÁN ĐỊNH VỊ TÀI NGUYÊN TRONG LẬP LỊCH DỰ ÁN 50
3.3.1 Thuật toán PSO trung bình động ngẫu nhiên mờ (FRODM-PSO) cho lập lịch nhiều dự án 50
3.3.2 Thuật toán PSO trung bình động (DM-PSO) cho bài toán lập lịch dự án .51
3.3.3 Mô hình tối ưu hóa ngẫu nhiên mờ cho lập lịch nhiều dự án 52
3.4 PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM 55
3.4.1 Phân tích và đánh giá thời gian lập lịch 55
3.4.2 Phân tích và đánh giá mức độ sử dụng bộ nhớ 58
3.4.3 Phân tích và đánh giá tỷ lệ tối ưu tài nguyên 60
3.5 KẾT CHƯƠNG 62
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63
Trang 7Từ viết
Nghĩa tiếng Việt
EA Evolutionary Algorithm Thuật toán tiến hóa
PSO Particle Swarm Optimization Tối ưu hóa nhóm bày
RCPS Resource Constrained Project
Scheduling
Lập lịch dự án đáp ứng các ràng buộc về tài nguyên
SPSP Software Project Scheduling
Problem
Lập dịch dự án phần mềm
SPEA2 Strength Pareto Evolutionary
Algorithm
Thuật toán tối ưu Pareto mạnh
WBS Work Breakdown Structure
Trang 8Bảng 1.2 Các kế hoạch của dự án 10Bảng 1.3 Phân loại mô hình bài toán lập lịch dự án với các tham số khác nhau 12Bảng 1.4 Các thuật toán Meta-heuristic được đề xuất cho bài toán lập lịch dự án 14
YBảng 3.1 Các ký hiệu được sử dụng để mô hình hóa bài toán lập lịch dự ánvới các ràng buộc tài nguyên 39Bảng 3.2 Phân tích và đánh giá thời gian lập lịch giữa các thuật toán 56Bảng 3.3 Phân tích và đánh giá mức độ sử dụng bộ nhớ giữa các thuật toán.58Bảng 3.4 Phân tích và đánh giá tỷ lệ tối ưu tài nguyên giữa các thuật toán 60
Trang 9YHình 2.1 Quy luật chuyển động của bầy đàn 19
Hình 2.2 Quy luật chuyển động của bầy đàn 19
Hình 2.3 Vị trí cá thể trong quần thể 21
Hình 2.4 Sơ đồ tổng quát của thuật toán PSO 32
YHình 3.1 Ví dụ phân rã công việc 37
Hình 3.2 Ví dụ phân rã công việc 42
Hình 3.3 Đồ thị ưu tiên nhiệm vụ của dự án phần mềm 43
Hình 3.4 Thông tin về các nhân viên làm việc trong dự án 44
Hình 3.5 Một phương án khả thi trong lập dịch dự án phần mềm 46
Hình 3.6 Biểu đồ Gantt biểu diễn phương án lập dịch dự án phần mềm 47
Hình 3.7 Lược đồ kiến trúc thuật toán FRODM-PSO chi bài toán lập lịch 50
Hình 3.8 Lược đồ kiến trúc thuật toán FRODM-PSO chi bài toán lập lịch 52
Hình 3.9 So sánh thời gian lập lịch giữa các thuật toán 57
Hình 3.10 So sánh mức độ sử dụng bộ nhớ giữa các thuật toán 59
Hình 3.11 So sánh tỷ lệ tối ưu tài nguyên giữa các thuật toán 61
Trang 10MỞ ĐẦU
1 Tính cấp thiết của đề tài
Hiện nay quản trị dự án ngày càng được ứng dụng rộng rãi trong cácngà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ềmngà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à ítngườ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ềubiến động, khi đó vấn đề lập kế hoạch, lập lịch dự án sẽ gặp khó khăn Ngườilà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ịchlạ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ựcthực hiện dự án) Như vậy, vấn đề cấp thiết phải làm sao tự động được khâunày, để giảm thiểu sức người cũng như nâng cao chất lượng khâu này
Việc nghiên cứu các thuật toán tối ưu để áp dụng cho các bài toán về lậplịch, lập kế hoạch đang thu hút được rất nhiều sự quan tâm Việc áp dụng thuậttoán tối ưu nhóm bầy nhằm làm tối ưu hóa vấn đề lập kế hoạch và phân bổ nguồnlự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 học viên đặt trọng tâm tìm hiểu thuật toán tối ưunhóm bầy và áp dụng vào bài toán lập lịch thực hiện các công việc trong dự ánphầ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
2 Mục tiêu nghiên cứu
Trang 11- Áp dụng thuật toán tối ưu nhóm bầy để giải quyết bài toán lập lịch thựchiệ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ựchiện các công việc bên trong dự án.
3 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Bài toán lịch dự án phần mềm, thuật toán tối ưu
nhóm bầy
- Phạm vi nghiên cứu: nghiên cứu thuật toán nhóm bầy để tối ưu 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ênthực hiện các công việc trong dự án
4 Phương pháp nghiên cứu
- Phương pháp lý thuyết:
+ Nghiên cứu các kiến thức liên quan về quản lý dự án phần mềm
+ Nghiên cứu thuật toán tối ưu đàn kiến áp dụng cho bài toán lập lịchthự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ênthực hiện các công việc trong dự án
- Phương pháp thực nghiệm:
+ Thực nghiệm với một số bộ dữ liệu có liên quan
+ Đánh giá các kết quả thực nghiệm
5 Bố cục của luận văn
Ngoài phần mở đầu và kết luận, luận văn được bố cục thành 03 chươngvới cấu trúc như sau:
-Chương 1 Tổng quan về bài toán lập lịch trong quản lý dự án phầnmềm
-Chương 2 Thuật toán tối ưu nhóm bầy và ứng dụng
-Chương 3 Thuật toán tối ưu bầy đàn mờ ngẫu nhiên cho bài toán định
vị tài nguyên trong lập lịch dự án
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ BÀI TOÁN LẬP LỊCH TRONG QUẢN LÝ
Với các dự án phần mềm thì có nhiều điểm thuận lợi hơn các dự ánkhác Những điểm thuận lợi mà dự án phần mềm có được như:
-Sản phầm của dự án dễ sửa đổi hơn sản phẩm vật chất khác Với dự ánphần mềm khi có yêu cầu sửa đổi sản phẩm thì đội phát triển sẽ sửa đổi mãnguồn và biên dịch thành chương trình chạy và gửi lại khách hàng Nhưng vớicác sản phẩm thông thường ví dụ như chiếc tivi, nếu khách muốn đổi cácthông số trên chiếc tivi này, muốn có một số tính năng mới thì rất khó có thểlàm được điều này
-Các pha của vòng đời dự án rõ ràng Vòng đời chuẩn của quản lý dự ángồm 4 pha : Xác định dự án, Lập kế hoạch, Thực hiện và cuối cùng là Đóng
dự án
-Có thể có nhiều giải pháp cho một yêu cầu
-Định hình sản phẩm của dự án phần mềm không cứng nhắc miễn là đápứng được yêu cầu
-Có nhiều công cụ trợ giúp và các công cụ này ngày càng tốt hơn mạnhhơn Đối với các dự án phần mềm các công cụ trợ giúp ngày càng mạnh, có
Trang 13thể kế đến các công cụ quản lý mã nguồn, công cụ hỗ trợ quản lý yêu cầu,công cụ quản lý lỗi, các công cụ hỗ trợ lập trình như Microsoft Visual Studio
2020, các công cụ quản lý cơ sở dữ liệu…Nhờ có các công cụ này mà các dự
án phần mềm ngày càng được rút ngắn thời gian phát triển mà vẫn đảm bảochất lượng phần mềm và làm hài lòng khách hàng
-Dự án phần mềm còn có đặc điểm nữa là cho phép bộ phận triển khai
dự án vận dụng nhiều giải pháp: công nghệ, quản lý vào quản lý dự án
Dự án phần mềm đã phát triển qua nhiều giai đoạn và cho đến ngày hômnay phần mềm máy tính đã được ứng dụng rộng khắp hầu như tất cả các hoạtđộng sản xuất, trong mọi ngành kinh tế, xã hội Do vậy các phần mềm hiệnđại ngày nay nảy sinh nhiều vấn đề mới mà các nhà quản lý cần phải quantâm, hoạch định để giải quyết các vấn đề này
Với những vấn đề nổi cộm ở trên ta thấy việc cấp thiết phải có nhữngphương pháp để quản lý các dự án phần mềm hiệu quả Ngày nay trên thế giớicác nhà hoạch định chiến lược, các công ty lớn, các nhà nghiên cứu trong cácviện, các trường đại học đã tập chung nghiên cứu tìm tòi, cải tiến các phươngpháp, quy trình, cải tiến công cụ quản lý dự án phần mềm Nhờ áp dùng cáckết quả nghiên cứu, công cụ mới mà đã từng bước giải quyết được các vấn đềkhó khăn trên của dự án phần mềm
1.1.2 Quản lý dự án phần mềm
Quản lý dự án là việc áp dụng kiến thức, phương pháp, kỹ thuật, công cụ
và tổ chức các hoạt động nhằm tạo ra sản phẩm đáp ứng yêu cầu đã cho Hoạtđộng quản lý dự án phần mềm bao gồm: lập kế hoạch, triển khai, theo dõi,giám sát, đánh giá và điều chỉnh Vòng đời chuẩn của quản lý dự án gồm 4pha sau:
-Giai đoạn xác định dự án: Giai đoạn này bắt đầu với công bố dự án chođến khi các tài liệu dự án được các bên tham gia thông qua Kết quả của giai
Trang 14đoạn này là một hoặc nhiều dự án được chọn, các tài liệu thông tin dự ánđược hoàn thành và làm cơ sở để triển khai hoặc mời thầu dự án (với các dự
án lớn)
-Lập kế hoạch: Tạo các kế hoạch dự án, trong giai đoạn này có thể thayđổi tài liệu dự án ở bước xác định dự án nếu như phù hợp và được các bênthông qua
-Thực hiện: Triển khai các kế hoạch dự án đã thông qua Giai đoạn nàydựa vào kết quả ở bước Lập kế hoạch, bộ phận quản trị tiến hành lập lịch biểuchi tiết các kế hoạch và tiến hành thực hiện các công việc, giám sát các côngviệc thực hiện đúng tiến độ đã đề ra Việc lập lịch biểu có thể làm tự độngbằng chương trình máy tính, có thể dùng giải thuật di truyền để tìm ra phương
án lập lịch tối ưu
-Đóng dự án: Công việc tiến hành bao gồm: chuyển dự án sang khâubảo trì, tiến hành các thủ tục kết thúc với khách hàng, đánh giá, rút kinhnghiệm về dự án, tiền hành lưu trữ tài liệu phục vụ cho dự án tiếp theo
Quản lý dự án tập trung vào các nội dung: Quản lý công việc, quản lýtiến độ, quản lý tài chính, quản lý nhân lực, quản lý nguồn lực, quản lý chấtlượng Việc quản lý dự án sẽ gặp phải nhiều thách thức như thách thức nhânlực, công việc, ước lượng, tổ chức, quản lý và kiểm soát
Quản lý dự án phần mềm: là nghệ thuật và khoa học lên kế hoạch và dẫn
dắt các dự án phần mềm [1] Nó chính là một lĩnh vực của quản lý dự án theocác dự án phần mềm được lên kế hoạch, thực thi, theo dõi và kiểm soát Cáchoạt động quản lý gồm mục tiêu thực hiện và chi tiết nội dung được liệt kêtrong Bảng 1.1
Trang 15Bảng 1.1 Các hoạt động của quản lý dự án
1.
Quản lý phạm
vi (thay đổi)
Đảm bảo thực hiện đúng công việc đã định
-Xác định thời gian hoàn thành công việc
- Lập kế hoạch huy động ngân sách
- Ước tính chi phí
- Phân phối ngân sách
- Kiểm soát chi tiêu
4.
Quản lý chất
lượng
Đảm bảo sản phẩm đạt yêu cầu chất lượng đề ra
- Xác định các chuẩn chất lượng, độ đo, quy trình kiểm định
- Kiểm định chuẩn cho mỗi sản phẩm
- Quản lý thay đổi chất lượng
5.
Quản lý nhân
lực
Tìm và sử dụng người tham gia một cách có hiệu quả
- Xây dựng đội dự án
- Lựa chọn, phân công công việc
- Phát triển bồi dưỡng nguồn lực
- Thúc đẩy, động viên, phối hợp
6 Quản lý mua
sắm thuê
Đảm bảo phục vụ, trợ giúp tốt nhất mọi hoạt động dự án
- Xác định nhu cầu trợ giúp
- Lập kế hoạch mua sắm, trang bị -Tìm nhà cung cấp và đặt hàng
- Quản lý hợp đồng mua sắm
Trang 16TT Hoạt động Mục tiêu Nội dung
- Tổ chức việc cung cấp trợ giúp
và cung cấp kịp thời
- Xác định nhu cầu thông tin thành viên
- Xác định hình thức trao đổi
- Xác định dữ liệu thông tin lưu trữ
- Quy định hình thức báo cáo, lưu trữ, cung cấp thông tin
- Xây dựng triển khai quy trình
- Giám sát thực hiện quy trình và lưu trữ cấu hình, phiên bản
Trong phạm vi luận văn này học viên quan tâm tìm hiểu kỹ về hoạtđộng Quản lý thời gian của dự án để tìm cách áp dụng kiến thức về giải thuậttối ưu nhóm bày áp dụng vào các bước lập lịch dự án đảm bảo thời gian thựchiện toàn bộ dự án là tối ưu nhất Hoạt động quản lý thời gian nhằm mục đíchđảm bảo hoàn thành các hạng mục công việc của dự án đúng tiên độ đã đề ra
Để quản lý thời gian tốt người quản trị cần phải xác định thời gian hoàn thànhtừng công việc, sau đó tiến hành xác định trình tự thực hiện các công việc saocho tối ưu nhất, tiếp theo người quản trị lập lịch biểu thực hiện các công việcnày, sau khi có lịch biểu thực hiện công việc thì tiến hành kiểm soát thực hiện
Trang 17sát sao theo đúng kế hoạch lịch biểu đã đề ra để đảm bảo toàn bộ dự án đượcthực hiện theo đúng thời gian đã định.
3.Triển khai (Executing)
4.Giám sát và kiểm soát (Monitoring & Control)
5.Kết thúc (Closing)
Trong cấu trúc kế hoạch thực hiện dự án, quy trình lập kế hoạch thựchiện dự án thì hai khâu quan trọng không thể thiếu và liên quan mật thiết vớinhau là phân tích các yếu tố rủi ro (sau đây gọi tắt là rủi ro) và lập lịch dự án.Hai khâu này đóng vai trò quyết định đảm bảo cho dự án được tổ chức, phân
bổ tài nguyên (phần cứng, phần mềm, mạng), phân công công việc và nguồnlực cũng như được giám sát hiệu quả [2]
1.2 LẬP LỊCH DỰ ÁN PHẦN MỀM
Trang 18Trong quản lý dự án vấn đề lập kế hoạch và lập lịch dự án là rất quantrọ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ểmkhá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…), docác thay đổi từ phía khách hàng như khách hàng yêu cầu thay đổi tính năngsả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ậplị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.2.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ựchiện(tiến trình?), thời gian(khi nào? bao lâu?), phương tiện dùng (cái gì? baonhiêu?), người làm (ai?), sản phẩm ra (cái gì?) và tiêu chí đánh giá (chấtlượng?) Kế hoạch là công việc lặp đi lặp lại suốt quá trình dự án Có rấtnhiều kế hoạch cần lập để quản trị dự án Kế hoạch là công cụ chính để quảntrị dự án
1.2.2 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 quantâ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:
- 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 conngườ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 ngayvà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ẻ
Trang 19Bảng 1.2 Các kế hoạch của dự án
phẩm dự án
Kế hoạch quản lý rủi ro Xác định các rủi ro và các giải pháp
-Bước 2: Phải xác định được các mối quan hệ giữa các công việc: đặtcá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ôngviệ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ượngngày công lao động (tốn bao nhiêu thời gian để làm) số lượng nhân lực và vậtlực(theo từng loại) cần tham gia để hoàn thành các gói công việc này
Trang 20-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ôngviệ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ồnlự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ácnhiệm vụ được lập lịch sao cho tối ưu hóa việc sử dụng lao động và cácnguồn lực khác
Trong phạm vi nghiên cứu áp dụng giải thuật di truyền vào quản lý dự ánphần mềm, học viên thấy tại bước 4 và 5 của quá trình lập lịch, lập kế hoạchcô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ượngcá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 giải thuật di truyền để tự động lập lịch biểudự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ụnggiải thuật này được học viên trình bày kỹ lưỡng trong các trang tiếp theo củaluận văn, các kết quả dữ liệu test trên bộ dữ liệu tự sinh cũng được học viêntrình bày để thấy được việc áp dụng giải thuật 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.3 PHÂN LOẠI MÔ HÌNH BÀI TOÁN LẬP LỊCH DỰA ÁN
Bài toán lập lịch dự án phần mềm (SPSP- Software Project Scheduling
Problem) và lập lịch dự án đáp ứng các ràng buộc về tài nguyên Resource Constrained Project Scheduling) được chứng minh thuộc lớp bài
(RCPS-toán NP-Khó [8] Do đó, việc áp dụng các thuật (RCPS-toán trong khâu lập kế hoạch,lập lịch nhằm tự động hóa, giảm bớt được sai sót, rủi ro và xung đột giữa cácyếu tố và tăng hiệu quả đã và đang thu hút được rất nhiều sự quan tâm nghiêncứu Xuất phát từ mô hình bài toán lập lịch dự án phần mềm đầu tiên được đề
Trang 21xuất bởi Alba và Chicano [9] đã có rất nhiều các mô hình bài toán khác được
đề xuất với những thay đổi về các thuộc tính nhiệm vụ (Task) và nhân viên (Emplyee) [10] Trong bài toán SPSP, mục tiêu tối ưu thường hướng đến việc
giảm thiểu là thời gian cần thiết để hoàn thành tất cả các nhiệm vụ với tổngchi phí của các nhiệm vụ đó là nhỏ nhất Tùy thuộc theo từng tham số hìnhcấu thành thành hàm mục tiêu mà bài toán tối ưu được mô hình hóa dưới dạngtối ưu đơn hay đa mục tiêu [9-39]
Có hai hướng tiếp cận chính để giải quyết bài toán SPSP và RCPS là các
kỹ thuật giải chính xác và các phương pháp meta-heuristic Các phương phápmeta-heuristic hướng đến việc tìm các phương án tốt nhất trong khoảng thờigian hợp lý nhưng không đảm bảo rằng đây là các giải pháp tối ưu [40].Nhưng lý do chính khiến các thuật toán meta-heuristic được sử dụng là khi sốlượng nhiệm vụ và nhân viên trong một dự án tăng nên thì số phương án tiềmnăng cũng tăng theo cấp số nhân Phương án của bài toán có thể được biểudiễn dưới dạng ma trận ,i j thể hiện mối quan hệ về chi phí và thời giantham gia dự án của nhân viên e với các nhiệm vụ i t j, các giá trị này nằm
Duratio
n Cost
Overloa d
Trang 22Tác giả Hàm tối ưu Phân loại
bài toán tối ưu
Duratio
n Cost
Overloa d
1.4 CÁC THUẬT TOÁN GIẢI BÀI TOÁN LẬP LỊCH DỰA ÁN
Các thuật toán meta-heuristic được đề xuất từ năm 2004 đến 2018 rất
đa dạng từ giải thuật leo đồi HC (Hill Climbing) [12], Random Search (RS) [30], MA (Memetic Algorithm) [35], các giải thuật tiến hóa: SA (Simulated
Annealing), GA (Genetic Algorithm), MOGA (Multi-Objective Genetic Algorithm), NSGA-II [21, 32, 33], EA (Evolutionary Algorithm) [13, 30],
MOEA (Multi-objective Evolutionary Algorithms), SPEA2 (Strength Pareto
Evolutionary Algorithm) [31, 38], MOCELL (A Cellular Genetic Algorithm
Trang 23for Multiobjective Optimization) [23, 24, 26], PAES (Pareto Archived Evolution Strategy) [23-26] đến các giải thuật tối ưu nhóm bầy: PSO
(Particle Swarm Optimization) [22, 47], ABC (Artificial Bee Colony) [43, 44], IWD (Intelligent Water Drops) [19], FA (Firefly Algorithm) [20], ACO (Ant Colony Optimization) [14, 45], HS (Harmnony Search) [48]…
Chi tiết các thuật toán được thống kê trong Bảng 1.4
Bảng 1.4 Các thuật toán Meta-heuristic được đề xuất
cho bài toán lập lịch dự án
Tác giả
EA GA NSGA-II SPEA-II PEAS MOEA/
F Luna et al (2012) [25] DEPT
MO-FA
Trang 24Tác giả
EA GA NSGA-II SPEA-II PEAS MOEA/
Hướng nghiên cứu về sự liên quan giữa lý thuyết trò chơi và quản trị dự
án mới dừng lại ở một số bài báo chuyên sâu phân tích trong một số bài toánnhỏ và cụ thể như: mô hình lý thuyết trò chơi cho việc phân công nhiệm vụ[50], giới thiệu mô hình lý thuyết trò chơi liên quan đến vấn đề lập lịch [51],rủi ro cho bảo mật [52]
1.5 KẾT CHƯƠNG
Trong chương này, học viên đã trình bày khái quát về quản lý dự ánphần mềm, bài toán lập lịch dự án phần mềm Luận văn cũng tập trình phântích các mô hình bài toán lập lịch dự án và hướng tiếp cận giải quyết bài toánlập lịch dự án để thấy được ưu, nhược điểm của từng giải pháp Đây là các kiếnthức cơ sở nền tảng để luận văn trình bày hướng tiếp cận trong Chương 2 vàChương 3
Trang 26Trong khoa học máy tính, chiến lược tiến hóa (ES) là một kỹ thuật tối
ưu hóa dựa trên những ý tưởng của sự thích nghi và tiến hóa Chiến lược tiếnhóa là một lớp con của việc tìm kiếm trực tiếp rất tự nhiên (và tối ưu), lànhững phương thức thuộc vào lớp của những thuật toán tiến hóa (EAs) Nó sửdụng sự đột biến, sự lai ghép, và sự lựa chọn thích ứng tới một quần thể củanhững cá thể chứa những giải pháp được đề xuất theo trình tự để tiến hóa lặplại tốt hơn và những giải pháp tốt hơn Dữ liệu đặc trưng của từng cá thể lànhững tham số sẽ được tối ưu hóa trong một quá trình tiến hóa cơ bản Nhữngtham số sẽ được sắp xếp trong những vector của những số thực, những thaotác cho sự lai ghép và đột biến được định nghĩa
Chiến lược tiến hóa (ES) được phát triển tại trường đại học Kỹ ThuậtBerlin vào những năm 1960 và 1970 bởi Ingo Rechenberg (Rechenberg1973) Hans Peter Schwefel (Schwefel 1981), giới thiệu sự lai ghép và nhữngquần thể với nhiều hơn một cá thể, và cung cấp được sự so sánh của ESs với
kỹ thuật tối ưu hóa truyền thống hơn Chiến lược tiến hóa không dựa vào sự
mô phỏng chi tiết của những phương pháp được tìm thấy với sự tiến hóa tựnhiên Mà có thể đã được kết luận bởi việc quan sát những thuật ngữ: tiến hóa
và chiến lược Trong sự tiến hóa không có chiến lược Chiến lược tiến hóađơn thuần tập chung vào dịch những cơ chế cơ bản của sự tiến hóa sinh họccho những vấn đề kỹ thuật tối ưu
“Cái tốt hơn” và “cái tốt nhất” là nhu cầu cơ bản của con người trongmọi hoạt động và mọi lĩnh vực của đời sống: khoa học kỹ thuật, sản xuất côngnghiệp, kinh tế, văn hóa, y tế, an ninh quốc phòng … Những nhu cầu này vàviệc tìm ra giải pháp của nó, trong từng ngữ cảnh cụ thể, được phát biểu trong
Trang 27ngôn ngữ toán học thành những bài toán tối ưu hóa Số lượng và dạng thứccủa các bài toán ưu hóa là vô cùng phong phú Tuy nhiên, các kỹ thuật toánhọc mới chỉ tỏ ra hiệu quả với một số ít các lớp bài toán đó Những bài toántối ưu hóa xuất hiện nhiều và có ứng dụng lớn lại thường là những bài toán có
độ “khó” rất cao và cho đến hiện tại vẫn chưa có phương pháp toán học nàogiải được chúng trong một giới hạn cho phép về thời gian và chi phí Với cácbài toán này, bên cạnh các giải pháp được xây dựng theo lối kinh nghiệm, cácphương pháp chính theo hướng tiếp cận từ góc độ tính toán là phương phápxấp xỉ và heuristic
Các phương pháp heuristic được đưa ra gần đây là phương pháp sửdụng trí tuệ nhóm bầy: mô phỏng quá trình tìm kiếm lời giải tối ưu trongkhông gian nghiệm khả thi của bài toán giống như quá trình tìm mồi của bầyđàn sinh vật Tương tự như các giải thuật phỏng theo các quá trình tự nhiênkhác, đây là thuật toán tìm kiếm ngẫu nhiên có định hướng, cho phép giảmkhông gian tìm kiếm mà vẫn có thể hội tụ đến nghiệm tối ưu Lợi thế củaphương pháp này so với các giải thuật cùng loại là khối lượng tính toán thấphơn do tính đơn giản trong các phép toán mô phỏng Vì vậy, việc nghiên cứu
áp dụng các kỹ thuật sử dụng trí tuệ nhóm bầy vào bài toán tối ưu hóa rời rạc
có thể đem lại nhưng thuật toán mới có hiệu năng cao hơn cả về độ phức tạp
và chất lượng nghiệm
2.1 GIỚI THIỆU CHUNG VỀ THUẬT TOÁN PSO
Thuật toán PSO (Particle Swarm Optimization) - tối ưu bầy đàn là một
trong những thuật toán xây dựng dựa trên khái niệm trí tuệ bầy đàn để tìmkiếm lời giải cho các bài toán tối ưu hóa trên một không gian tìm kiếm nào
đó Thuật toán PSO là một dạng của các thuật toán tiến hóa quần thể đã đượcbiết đến trước đây như giải thuật GA, thuật toán ACO Tuy vậy thuật toánPSO khác với GA ở chỗ nó thiên về sử dụng sự tương tác giữa các cá thể
Trang 28trong một quần thể để khám phá không gian tìm kiếm Thuật toán PSO là kếtquả của sự mô hình hóa việc đàn chim bay đi tìm kiếm thức ăn cho nên nóthường được xếp vào loại thuật toán có sử dụng trí tuệ bầy đàn PSO đượcgiới thiệu vào năm 1995 tại một hội nghị của IEEE bởi James Kennedy vàRussell C.Eberhart Thuật toán có nhiều ứng dụng quan trọng trong tất cả cáclĩnh vực mà ở đó đòi hỏi phải giải quyết các bài toán tối ưu hóa.
Để hiểu rõ thuật toán PSO ta hãy xem một ví dụ đơn giản về quá trìnhtìm kiếm thức ăn của một đàn chim Không gian tìm kiếm thức ăn lúc này làtoàn bộ không gian ba chiều mà chúng ta đang sinh sống Tại thời điểm bắtđầu tìm kiếm cả đàn bay theo một hướng nào đó, có thể là rất ngẫu nhiên Tuynhiên sau một thời gian tìm kiếm một số cá thể trong đàn bắt đầu tìm ra đượcnơi có chứa thức ăn Tùy theo số lượng thức ăn vừa tìm kiếm, mà cá thể gửitín hiệu đến các cá thể khác đang tìm kiếm ở vùng lân cận, tín hiệu này nhanhchóng lan truyền trên toàn quần thể Dựa vào thông tin nhận được mỗi cá thể
sẽ điều chỉnh hướng bay và vận tốc theo hướng về nơi có nhiều thức ăn nhất
Cơ chế truyền tin như vậy thường được xem như là một kiểu hình của trí tuệbầy đàn Cơ chế này giúp cả đàn chim tìm ra nơi có nhiều thức ăn nhất trênkhông gian tìm kiếm vô cùng rộng lớn Như vậy đàn chim đã dùng trí tuệ,kiến thức và kinh nghiệm của cả đàn để nhanh chóng tìm ra nơi chứa thức ăn.Bây giờ chúng ta tìm hiểu làm cách nào mà một mô hình trong sinh học nhưvậy có thể áp dụng trong tính toán và sinh ra thuật toán PSO mà chúng ta từngnhắc đến Việc mô hình hóa này thường được gọi là quá trình phỏng sinh học
(bioinspired) mà chúng ta thường thấy trong các ngành khoa học khác Một
thuật toán được xây dựng dựa trên việc mô hình hóa các quá trình trong sinhhọc được gọi là thuật toán phỏng sinh học
Năm 1987, quan sát quá trình chuyển động của các theo bầy đàn (bầychim, đàn cá), Reynolds [13] đưa ra nhận ra ba quy luật:
Trang 29Hình 2.1 Quy luật chuyển động của bầy đàn.
(1) Tách biệt: các phần tử trong bầy đàn có xu huớng duy trì khoảngcách với hàng xóm của nó, khi hai con trong bầy tiến lại gần nhau tới mộtkhoảng cách nào đó, chúng dần tách nhau (Hình 2.1a)
(2) Sắp hàng: các phần tử trong bầy đàn luôn giữ hướng chung với cáchàng xóm của nó, hướng chuyển động của một phần tử là trung bình cáchướng chuyển động của các hàng xóm (Hình 2.1b)
(3) Liên kết: các phần tử trong bầy đàn luôn duy trì vị trí tương đối vớicác hàng xóm trong bầy đàn, mỗi con trong bầy đều cố gắng nằm ở vị trítrung bình của các hàng xóm của nó (Hình 2.1c)
Từ nghiên cứu của Renolds, Eberhart và Kennedy [7] đưa thêm giảthuyết về quá trình tìm về tổ của bầy đàn theo các quy luật:
Trang 30Hình 2.2 Quy luật chuyển động của bầy đàn.
(1) Tất cả các phần tử trong bầy đàn đều có xu hướng chuyển động về tổ(Hình 2.2a)
(2) Mỗi phần tử đều ghi nhớ vị trí gần tổ nhất nó đã đạt tới (Hình 2.2b) Tương tự như vậy, hai ông đưa giả thuyết về quá trình tìm mồi của bầyđàn trong một vùng không gian mà các phần tử trong bầy đàn đều biết thôngtin về thức ăn cách bao xa và lưu giữ vị trí gần thức ăn nhất mà chúng đã đạttới Khi đó, cách tốt nhất để tìm thức ăn là theo sau những con phần tử đầuđàn – những con trong bầy gần chỗ thức ăn nhất Từ đó, hai ông đề xuất thuậttoán PSO phỏng theo kịch bản này và sử dụng nó để giải các bài toán tối ưu.Trong PSO, mỗi giải pháp đơn là một phần tử trong kịch bản trên
Hãy xét bài toán tối ưu của hàm số F trong không gian n chiều Mỗi vị trí trong không gian là một điểm tọa độ n chiều Hàm F là hàm mục tiêu xác định trong không gian n chiều và nhận giá trị thực Mục đích là tìm ra điểm cực tiểu của hàm F trong miền xác định nào đó Ta bắt đầu xem xét sự liên hệ
giữa bài toán tìm thức ăn với bài toán tìm cực tiểu của hàm theo cách như sau
Giả sử rằng số lượng thức ăn tại một vị trí tỉ lệ nghịch với giá trị của hàm F tại vị trí đó Có nghĩa là ở một vị trí mà giá trị hàm F càng nhỏ thì số lượng
thức ăn càng lớn Việc tìm vùng chứa thức ăn nhiều nhất tương tự như việc
Trang 31tìm ra vùng chứa điểm cực tiểu của hàm F trên không gian tìm kiếm Giống
như những phương pháp tối ưu dựa trên mô hình dân cư khác như GA, PSObắt đầu bằng một trường hợp ngẫu nhiên của các cá thể của cộng đồng dân cưtrong không gian tìm kiếm
Tuy nhiên, không giống với các phương pháp tiến hóa khác, trong thuậttoán PSO không có sự kết nối giữa các phần tử di truyền trong quá trình tìmkiếm, thuật toán PSO làm việc dựa trên ứng xử xã hội của các phần tử trongnhóm Vì vậy, kết quả tối ưu toàn cục do sự hiệu chỉnh quỹ đạo của các cá thể
sẽ dẫn đến vị trí tốt nhất và phần tử tối ưu nhất trong nhóm sau mỗi lần bướctính Phương pháp PSO đang trở nên phổ biến vì tính đơn giản và khả nănghội tụ nhanh chóng đạt kết quả tốt
2.2 CÁC THÀNH PHẦN CƠ BẢN CỦA THUẬT TOÁN PSO
Trong thuật toán PSO được phái triển bởi Kennedy và Eberhart vào
năm 1995, mỗi giải pháp đơn, trong ví dụ trên mỗi con chim (“bird”), được gọi là particle Mỗi particle có một giá trị thích nghi (fitness value), được đánh giá bằng hàm đo độ thích nghi (fitness function), và một vận tốc (velocity) để định hướng việc bay (flying), tìm kiếm, của nó Các particle sẽ duyệt (fly through) không gian bài toán bằng cách theo sau các particles có điều kiện tốt nhất hiện thời (current optimum particles) [xx].
Hình 2.3 Vị trí cá thể trong quần thể
Trang 32Quỹ đạo của mỗi cá thể trong không gian tìm kiếm được hiệu chỉnhbằng cách thay đổi vận tốc của từng cá thể, thông qua kinh nghiệm bay của nó
và kinh nghiệm bay của những cá thể khác trong không gian tìm kiếm Vector
vị trí và vector vận tốc của một cá thể thứ i trong không gian d chiều là:
id id id
Trong đó: c c là những hằng số gia tốc; 1, 2 rand(.)và Rand(.) là dạngtạo số ngẫu nhiên trong đoạn [0,1] (2 hàm này có mối liên hệ đồng dạng vớinhau) Các hàm này có mối liên hệ đồng dạng với nhau tức là có cùng seed đểsinh các số ngẫu nhiên
Phần đầu tiên trong công thức (2.3) đại diện cho vận tốc trước đó, đểtạo đà cho cá thể tiếp tục đi lang trong không gian tìm kiếm Thành phần thứ
2, được xem là thành phần “cognitive”, đại diện cho suy tính nhân tạo của các
cá thể, chính thành phần này sẽ hướng các cá thể đến vi trí tốt nhất của nó
Thành phần thứ 3 được xem là thành phần “xã hội”, nó đại diện cho hiệu ứng
“colaborative” của các cá thể trong quá trình tìm kiếm lời giải tối ưu toàn cục.
Trang 33chính thành phần xã hội sẽ lôi kéo các cá thể hướng đến giá trị tối ưu toàncục.
Ban đầu các cá thể sẽ được tạo ra với 1 vị trí ngẫu nhiên, sau đó cácvận tốc ngẫu nhiên được ấn định cho từng cá thể Sự phù hợp của các cá thểđược ước lượng thông qua hàm mục tiêu Ở mỗi thời kỳ, vận tốc của từng cáthể được tính toán thông qua (2.3) và vị trí trong lần ước lượng tới được cậpnhật bằng (2.4) Sau mỗi khoảng thời gian nếu các cá thể tìm ra vị trí tối ưuhơn vị trí trước thì vị trí của nó được lưu vào bộ nhớ Một cách khái quát, vậntốc lớn nhất (V max,d) cho mỗi module của vector vận tốc của các cá thể được
định nghĩa để điều khiển phạm vi của các cá thể trong không gian tìm kiếncho người dùng tự định nghĩa
2.3 CÁC PHIÊN BẢN CỦA THUẬT TOÁN PSO
2.3.1 Thuật toán PSO dạng Constriction
Năm 2002, Clerc và Kennedy đã chứng tỏ rằng một hệ số co có thểgiúp tăng cường tốc độ hội tụ Hệ số co đó được tạo thành bằng sự kết hợpgiữa các giá trị c và 1 c Khi đó, dạng constriction PSO có biểu thức như sau:2
Trang 34thay vì sử dụng hệ số co , mở đường cho sự ra đời phương pháp TVIW.
PSO-2.3.2 Thuật toán PSO-TVIW và PSO-RANDIW
Shi và Eberhart đã giới thiệu ý tưởng về trọng số quán tính thêm vàophiên bản chuẩn của PSO nhằm cân bằng kết quả cục bộ và toàn cục trongquá trình tìm kiếm
Biểu thức toán của ý tưởng này được thể hiện như sau:
MAXITER
(2.8)Với và 1 là giá trị đầu và giá trị cuối của trọng số quán tính “iter”2
là vòng lặp hiện tại và “MAXITER” là giá trị lớn nhất của vòng lặp có thể
chấp nhận được Phương pháp này được gọi là PSO–TVIW Kết quả nghiêncứu cho thấy PSO–TVIW tỏ ra không hiệu quả cho các bài toán có dạng
“Tracking Dynamic Systems” Thay vào đó, đối với các ứng dụng dynamic
trong tự nhiên, họ đã đề xuất một trọng số quán tính ngẫu nhiên cho trackingdynamic system
.0.5
2
rand
(2.9)Phương pháp này được gọi là PSO–RANDIW Cả 2 phương pháp trênđều pháp triển PSO theo hướng TVIW Tuy PSO–TVIW có thể cho kết quảtối ưu tốt nhưng khi so sánh với với các thuật toán tiến hóa khác, thì khả năngtìm kiếm đáp án đúng của nó lại khá thấp
Trang 352.3.3 Thuật toán PSO-PSO-TVAC
Như đã phân tích ở trên, phương pháp PSO tìm kiếm giải pháp tối ưuđược dựa trên 2 thành phần gia tốc Vì vậy, sự điều khiển thích hợp của 2thành phần đó rất quan trọng để tìm ra giải pháp tối ưu một cách chính xác vàhiệu quả
Kennedy và Eberhart đã mô tả rằng một giá trị tương đối cao của thànhphần cognitive, so với thành phần social, sẽ tạo ra kết quả lạc lối của các cáthể trong không gian tìm kiếm Ngược lại, với giá trị tương đối cao của thànhphần social sẽ dẫn các cá thể đến lời giải cục bộ Do đó, họ đã đề nghị cáchthiết lập cả 2 thành phần gia tốc như biểu thức (2.4), khi đó giá trị trung bìnhcủa 2 thành phần sẽ thống nhất với nhau, vì vậy các cá thể chỉ cần bay mộtnửa thời gian tìm kiếm Kể từ đó, đề xuất này được sử dụng cho hầu hết cácnghiên cứu
Suganthan đã kiểm tra một phương pháp giảm tuyến tính của cả 2 hệ sốgia tốc theo giời gian, nhưng kết quả cho thấy hệ số gia tốc được cho bởi biểuthức (2.4) vẫn cho giá trị tốt hơn Tuy nhiên, thông qua nghiên cứu của mìnhông ấy đã cho thấy rằng hệ số gia tốc không nhất thiết phải lúc nào cũng bằngbiểu thức (2.4) Một cách khái quát, trong các thuật toán tối ưu dựa vào cộngđồng, ta mong muốn khuyến khích các cá thể đi khắp nơi trong không giantìm kiếm mà không tụm lại tại quanh những giá trị tối ưu cục bộ trong giaiđoạn đầu của quá trình tối ưu Bên cạnh đó, trong những giai đoạn sau, điềuquan trọng là phải tăng cường sự hội tụ về giá trị tối ưu toàn cục nhằm kiếmlời giải một cách có hiệu quả
Một kỹ thuật tăng cường cho PSO được giới thiệu là TVAC varying acceleration coefficients) Mục tiêu của sự cải tiến này là nhằm tăngcường tìm kiếm lời giải toàn cục trong giai đoạn đầu của quá trình tối ưu vàkhuyến khích các cá thể hội tụ về giá trị tối ưu toàn cục trong giai đoạn cuối
Trang 36(Time-của quá trình tìm kiếm Với kỹ thuật TVAC, giá trị (Time-của thành phần cognitive
sẽ giảm trong khi thành phần social được tăng lên, bằng cách thay đổi hệ số1
c và c theo thời gian Bằng cách khởi đầu bằng thành phần cognitive có giá2trị lớn và thành phần social có giá trị nhỏ, các cá thể sẽ được phép di chuyểnkhắp nơi trong không gian tìm kiếm, thay vì đi thẳng đến điểm tối ưu Bêncạnh đó, với giá trị nhỏ của thành phần cognitive và giá trị lớn của thành phầnsocial cho phép các cá thể hướng đến giá trị tối ưu toàn cục trong giai đoạnsau của quá trình tối ưu Ngoài ra, hệ số TVIW cũng được sử dụng theo biểuthức (2.6) Như vậy biểu toán của thuật toán PSO–TVAC như sau:
MAXITR là số vòng lặp cực đại cho phép.
Bằng thực nghiệm, giá trị c thay đổi từ 2.5 đến 0.5 và giá trị 1 c thay2đổi từ 0.5 đến 2.5 là cho kết quả tối ưu tốt hơn cả
2.3.4 Thuật toán MPSO-TVAC
Trong thuật toán PSO, sự thiếu phong phú của cộng đồng, đặc biệttrong giai đoạn cuối của quá trình tối ưu, được hiểu như là sự vội vã khi đánhgiá hệ số vượt trội của kết quả hội tụ so với các giá trị tối ưu cục bộ Gần đây,một vài cố gắng nhằm tăng tính phong phú của cộng đồng đã được báo cáo,thông qua cách ứng xử của các cá thể trong bầy đàn khi tìm kiếm Xa hơnnữa, có thể sử dụng sự đột biến trong PSO (giống như trong thuật toán ditruyền) như là một kỹ thuật tăng cường Sau đây là thuật toán MPSO tăng
Trang 37cường khả năng tìm kiếm toàn cục bằng cách tăng tính phong phú Quá trìnhtìm kiếm của thuật toán PSO hướng đến giải pháp tối ưu toàn cục được chobởi 2 hệ số gia tốc Vì vậy, Angeline đã liên kết 2 hệ số gia tốc đó với hàmđột biến trong thuật toán tiến hóa, trong khi đó, Shi và Eberthard liên kết 2 hệ
số đó với hành vi lai giống trong thuật toán di truyền
Kết quả số mô phỏng cho thấy PSO tìm kiếm giải pháp cục bộ tốt hơnnhưng đôi khi vẫn còn một kết quả tối ưu cục bộ có số vòng lặp lớn khôngđược tìm ra Vì vậy để điều khiển trường hợp này, chúng ta tăng cường quátrình tìm kiếm toàn cục bằng cách thực hiện sự đột biến, tương tự như sự độtbiến trong thuật toán di truyền Với chiến lược mới này, khi giải pháp tối ưutoàn cục không cải tiến do số lần lặp tăng lên, một cá thể sẽ được lựa chọnngẫu nhiên sau đó một giá trị “lộn xộn” (kích thước đột biến) được cộng thêmvào module vận tốc được lựa chọn ngẫu nhiên theo một quy luật xác suấtđược định trước
2.3.5 Thuật toán SOHPSO-TVAC
Theo những nghiên cứu trước, sự phát triển của PSO đều dựa trên trọng
số quán tính, với một hệ số quán tính được điều chỉnh tuyến tính hoặc một hệ
số co nào đó Tuy nhiên, Shi và Eberthart đã đề nghị một hàm phức tạp đaphương thức, sự điều chỉnh tính phong phú của cộng đồng bằng một hệ sốquán tính tuyến tính có thể dẫn các cá thể hội tụ đến một giá trị tối ưu cục bộ.Mặt khác, quá trình nghiên cứu của Eberthard và Shi cho thấy phương pháp
hệ số co không ảnh hưởng đến hàm phức tạp đa phương thức
Ngược lại, Kennedy và Eberthard đã đề nghị một phiên bản PSO màkhông có vận tốc của vòng lặp trước (công thức (2.3)) Sau đó, họ kết luậnrằng phiên bản PSO này rất đơn giản, nó không ảnh hưởng nhiều trong quátrình tìm kiếm giải pháp tối ưu toàn cục cho hầu hết các vấn đề phức tạp.Chúng ta quan sát cách ứng xử của các cá thể trong cộng đồng mà không có
Trang 38biểu thức hồi quy vận tốc (2.3) Khi không có công thức (2.3) các cá thểnhanh chóng đổ xô về giá trị tối ưu cục bộ và động ứ lại do thiếu đà Thậtvậy, khi không có biểu thức vận tốc, giải pháp tối ưu phục thuộc nhiều vàogiá trị đầu vào của cộng đồng.
Phương pháp SOHPSO sẽ cung cấp động lượng cần thiết cho các cá thểtìm ra giải pháp tối ưu toàn cục mà không cần đến biểu thức vận tốc Vớiphương pháp này, ta giữ thành phần ban đầu bằng 0 và khởi động lại modulevận tốc của cá thể với một giá trị vận tốc ngẫu nhiên trong không gian tìmkiếm Vì vậy, với phương pháp này, một chuỗi các giá trị tối ưu sẽ được tựđộng tạo ra thông qua cách ứng xử của cá thể trong không gian, cho đến khitiêu chuẩn hội tụ đạt được
2.3.6 Thuật toán SWT-PSO
Từ phương trình cập nhật vận tốc (2.3), ta thấy rằng hai trọng số ngẫunhiên cho các thành phần nhận thức và xã hội được tạo ra độc lập Do đó, haithông số ngẫu nhiên này có thể được tạo ra hoặc quá lớn hoặc quá nhỏ cùngmột lúc Trong trường hợp cả hai quá lớn, kinh nghiệm tự có và kinh nghiệm
xã hội của các phần tử được sử dụng nhiều hơn Vì vậy các phần tử được điềukhiển hướng ra xa giá trị tối ưu cục bộ Ngược lại, nếu cả hai giá trị ngẫunhiên này quá nhỏ, tốc độ hội tụ giảm và kinh nghiệm xã hội cũng khôngđược sử dụng hoàn toàn Điều này có thể dẫn đến vấn đề hội tụ sớm, đặc biệt
là với những hàm mục tiêu phi tuyến và có tính liên tục không cao Theo đó,phương pháp SWT-PSO được đề xuất ở đây để giải quyết những vấn đề nàybằng cách bảo quản sự cân bằng giữa thăm dò giá trị toàn cục và khai thác giátrị cục bộ trong quá trình tìm kiếm
Sự cân bằng (Trade-off) giữa các thành phần nhận thức và thành phần
xã hội: Các trọng số ngẫu nhiên cho các thành phần nhận thức và xã hội nênđược tạo ra một cách có liên hệ Cụ thể hơn, nếu một thông số ngẫu nhiên là
Trang 39lớn thì thông số kia là số nhỏ, hoặc ngược lại Trong bài báo này, một trọng sốngẫu nhiên được sử dụng, có xét đến kinh nghiệm của từng cá thể và những
cá thể hàng xóm, khi cập nhật vận tốc của các cá thể Trọng số này được đạidiện là r và 1 1 r1()
Sự cân bằng giữa động lượng vận tốc cũ, thành phần nhận thức vàthành phần xã hội: Động lượng của vận tốc cũ ảnh hưởng đến khả năng tìmkiếm giá trị toàn cục của thuật toán Nếu động lượng quá lớn, các phần tử cóthể vượt qua giá trị toàn cục tốt nhất, dẫn đến khó khăn trong việc thay đổihướng của chúng Mặt khác, một động lượng nhỏ sẽ cho phép hạt để thay đổihướng một cách nhanh chóng Điều này có nghĩa là với động lượng nhỏ hơn,các thông số nhận thức và thông số xã hội ảnh hưởng nhiều hơn đến việc điềukhiển vị trí mới Kết quả là, thành phần vận tốc cũ cần được cân bằng với cácthành phần nhận thức và thành phần xã hội bằng trị trung bình của các trọng
số ngẫu nhiên, được biểu diễn là r và 2 1 r2(), tương ứng Như vậy, biểu thứccập nhật vận tốc được sửa đổi thành:
2 k (1 2) 1 1( k ) (1 2) (12 1)( k )
Sự cân bằng giữa hệ số tăng tốc: Cơ chế cơ bản để xác định giải pháp
tối ưu trong những phương pháp tối ưu hóa dựa trên mô hình dân cư thườngkhuyến khích các cá thể khám phá không gian tìm kiếm toàn bộ trong giaiđoạn đầu của quá trình tìm kiếm để tìm ra khu vực hứa hẹn Khi quá trình tìmkiếm hướng về giai đoạn cuối, khả năng tìm kiếm giá trị cục bộ sẽ thu hút cácphần tử hướng đến giá trị toàn cục tốt nhất nhiều hơn Để tăng cường hiệu quảtìm kiếm của phương pháp PSO sửa đổi, các hệ số gia tốc các thành phầnnhận thức và xã hội khác nhau trong các giai đoạn của quá trình tối ưu hóanhư sau:
Trang 401 ( 1,min 1,max) 1,max
để tránh vấn đề hội tụ sớm Trong thực tế, một số phần tử nhất định có thể dichuyển theo hướng ngược lại của một khu vực khả thi do những yếu kém củachúng Vì vậy sự định hướng vận tốc hạt nên được đảo ngược vào khu vực tối
ưu Hành vi này dẫn đến hệ số "thờ ơ" Do đó, tốc độ cập nhật tiếp tục sửa đổi
3
11
4
11