1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

82 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Võ Trọng Nhân
Người hướng dẫn PGS.TS. Nguyễn Gia Như
Trường học Trường Đại học Duy Tân
Chuyên ngành Khoa học máy tính
Thể loại Luận văn Thạc sĩ Khoa học Máy tính
Năm xuất bản 2021
Thành phố Đà Nẵng
Định dạng
Số trang 82
Dung lượng 1,62 MB

Nội dung

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 1

VÕ 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 2

giú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 3

Cá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 4

MỞ ĐẦ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 5

2.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 7

Từ 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 8

Bả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 9

YHì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 10

MỞ ĐẦ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 12

CHƯƠ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 13

thể 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 15

Bả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 16

TT 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 17

sá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 18

Trong 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 19

Bả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 21

xuấ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 giantham 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 22

Tá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 23

for 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 24

Tá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 26

Trong 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 27

ngô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 28

trong 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 29

Hì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 30

Hì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 31

tì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 32

Quỹ đạ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 33

chí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 34

thay 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 35

2.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 37

cườ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 38

biể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 39

lớ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 40

1 ( 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

Ngày đăng: 08/03/2024, 17:00

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w