Thuật toán Cuckoo Search

Một phần của tài liệu Luận án Tiến sĩ Toán học: Một số phương pháp gần đúng giải bài toán lập lịch với tài nguyên giới hạn (Trang 45 - 56)

1.2.4.1. Khái niệm bước dịch chuyển ngẫu nhiên

Thuật ngữ “random walk” được đưa ra lần đầu bởi Karl Pearson[27] vào năm 1905. Bước dịch chuyển ngẫu nhiên, đôi khi còn gọi là bước đi ngẫu nhiên

hay quá trình ngẫu nhiên (Random walk)[30], được thể hiện bởi một chuỗi những biến đổi không xác định trước, chẳng hạn như chuỗi biến đổi của các dữ liệu tài chính như giá cổ phiếu chứng khoán, tỷ giá ngoại tệ, các dữ liệu y khoa như huyết áp, các bước di chuyển để kiếm mồi của động vật... Năm 2020, hai nhà khoa học Hillel Furstenberg (Mỹ) và Gregory Margulis (Nga) đã được trao giải thưởng Abel - được đánh giá như giải Nobel toán học- cho một nghiên cứu về bước dịch chuyển ngẫu nhiên.

Về mặt toán học, bước dịch chuyển ngẫu nhiên được đặc trưng bởi một biến mô tả một quá trình biến đổi ngẫu nhiên trong miền giá trị nào đó. Một cách tổng quát, random walk là một quá trình ngẫu nhiên bao gồm một chuỗi biến đổi liên tiếp và được thể hiện như công thức 1.16 dưới đây.

𝑆𝑁 = ∑𝑁 𝑋𝑖 = 𝑆𝑁−1 + 𝑋𝑁

𝑖=1 (1.16)

trong đó bước dịch chuyển thứ i, Xi, có độ lớn và hướng tuân theo một phân phối xác suất nào đó. Trạng thái hiện tại (SN) phụ thuộc vào trạng thái trước đó

(SN-1) và bước dịch chuyển XN.

Hình 1.8 là ví dụ đơn giản nhất về 5 lần dịch chuyển ngẫu nhiên trong tập các số nguyên Z, trong đó độ lớn của mỗi bước theo 2 trục tọa độ là 1 hoặc 0.

Hình 1.8. Năm lần dịch chuyển ngẫu nhiên trong tập số nguyên Z2 Một ví dụ nổi tiếng hơn về bước dịch chuyển ngẫu nhiên là chuyển động Brown[63]. Khi thả một hạt phấn hoa xuống nước, dùng kính hiển vi quan sát ta thấy hạt phấn hoa chuyển động hỗn loạn không ngừng. Chuyển động đó của các hạt rất nhỏ (cỡ micromet) trong chất lỏng hay chất khí được gọi là chuyển động Brown, gây ra bởi sự va chạm với các phân tử nước hay không khí chuyển động, động năng của các phân tử này được cung cấp bởi nhiệt độ môi trường.

Hình 1.9 [63] là mô phỏng quỹ đạo chuyển động Brown của 5 hạt phấn hoa (hình vuông) được thúc đẩy bởi các va chạm với 800 phần tử chuyển động

khác. Vector chuyển động của một trong năm hạt phấn hoa được biểu thị bằng mũi tên. Hình 1.9 cũng gợi ý cho một thuật toán tiến hóa nhằm tìm kiếm lời giải gần đúng bằng cách sử dụng quần thể gồm nhiều cá thể (trong trường hợp này là 5).

Hình 1.9. Chuyển động Brown của 5 hạt phấn hoa

Hình 1.10[63] mô tả quỹ đạo chuyển động của 3 hạt keo kích thước 0,53 µm trong môi trường nước được quan sát dưới kính hiển vi. Các vị trí liên tiếp sau mỗi 30 giây được nối bằng các đoạn thẳng, kích thước mỗi mắt lưới là 3,2 µm.

Hình 1.10. Chuyển động Brown của 3 hạt keo

Về mặt toán học, chuyển động Brown được biểu diễn bởi quá trình Wiener

Wiener và được sử dụng nhiều trong vật lý, toán học và kinh tế, trong đó:

X0 = 0;

Xt là một biến ngẫu nhiên liên tục theo thời gian, chẳng hạn như tọa độ

của hạt phấn hoa hay giá trị cổ phiếu (khác với những biến ngẫu nhiên rời rạc như trong ví dụ gieo xúc sắc hay bắn bia);

Xj - Xi  (0, j-i) trong đó N(,2) là phân phối chuẩn (còn gọi là phân phối Gauss) với kỳ vọng  và phương sai 2.

Bước dịch chuyển ngẫu nhiên có nhiều loại phụ thuộc vào phân phối xác suất nào sẽ chi phối độ lớn của các bước dịch chuyển. Ứng dụng của mỗi loại khác nhau, không gian dịch chuyển có thể chỉ là tập số nguyên (Z) hay số thực (R), không gian hình học 2 hay 3 chiều, các bề mặt cong trong không gian N chiều.

Bước dịch chuyển ngẫu nhiên có nhiều ứng dụng thực tế. Trong lĩnh vực tài chính, chuyển động Brown thường được dùng để mô phỏng sự dao động phức tạp của những đại lượng trên thị trường chứng khoán như giá cổ phiếu, quyết định đặt lệnh niêm yết, gọi vốn, mua, bán cổ phiếu.

Trong lĩnh vực sinh thái học, tâm lý học, khoa học máy tính, vật lý, hóa học, sinh học, kinh tế học và xã hội học, bước dịch chuyển ngẫu nhiên được sử dụng để mô hình hóa nhiều quá trình trong các lĩnh vực này và đóng vai trò như một mô hình cơ bản cho các hoạt động mang tính không xác định. Trong toán học, giá trị của π có thể được tính gần đúng bằng cách sử dụng bước dịch chuyển ngẫu nhiên. Trong phạm vi luận án này, mục tiêu đặt ra là tìm các lời giải gần đúng trong một không gian tìm kiếm rộng thì bước dịch chuyển ngẫu nhiên chính là công cụ phù hợp để vừa lục soát kỹ vùng lân cận xung quanh vị trí hiện thời (thao tác Exploitation) vừa thực hiện những bước nhảy vọt xa để khám phá những khu vực mới (thao tác Exploration).

Một bước dịch chuyển ngẫu nhiên điển hình đồng thời cũng là cơ sở toán học của thuật toán Cuckoo Search là bước dịch chuyển Lévy Flight.

1.2.4.2. Bước dịch chuyển Lévy Flight

Được đặt tên theo nhà toán học Pháp Paul Lévy, Lévy Flight là bước dịch chuyển ngẫu nhiên trong đó độ lớn của bước dịch chuyển biến đổi theo phân phối xác suất Lévy, hướng dịch chuyển là bình đẳng giữa các chiều của không gian dịch chuyển (từ nay gọi là “không gian tìm kiếm” hay “không gian lời giải” cho phù hợp với vấn đề đặt ra trong luận án).

Phân phối xác suất Lévy là phân phối xác suất liên tục của một biến ngẫu

nhiên không âm. Hàm mật độ xác suất của phân phối Lévy trong miền giá trị

x [, +) là: 𝑓(𝑥, 𝜇, 𝑐) = √2𝜋𝑐 𝑒− 𝑐 2(𝑥−𝜇) (𝑥−𝜇)3/2 (1.17) Có thể nhận thấy: 𝑓(𝑥, 𝜇, 𝑐)~√2𝜋𝑐 𝑥3/21 𝑘ℎ𝑖 𝑥 → ∞ (1.18) Hàm mật độ này được thể hiện như trong hình 1.11.

Hình 1.12 mô phỏng 1000 bước dịch chuyển Lévy flight trong không gian hai chiều với tọa độ xuất phát là [0,0], hướng dịch chuyển được phân bố đều, độ lớn các bước tuân theo phân phối Lévy.

Bước dịch chuyển ngẫu nhiên Lévy Flight đã được các nhà khoa học xác nhận là phù hợp để mô tả quỹ đạo di chuyển của các động vật (chim, thú) khi đi kiếm mồi. Vì thế trong thuật toán Cuckoo Search, Lévy Flight được sử dụng để biến đổi các phương án (tức là các cá thể) từ vòng đời trước sang vòng đời sau.

Trong hình 1.12, lưu ý rằng khi được cài đặt với những tham số phù hợp, Lévy flight thực hiện thao tác Exploration tốt hơn nhờ có những bước nhảy tầm xa, ngược lại chuyển động Brown thực hiện thao tác Exploitation kỹ càng hơn để lục soát trong phạm vi lân cận.

Hình 1.12. 1000 bước dịch chuyển Lévy flight và chuyển động Brown

1.2.4.3. Thuật toán

Thuật toán Cuckoo Search(CS) [60],[61] được Yang và Deb đưa ra vào năm 2009, đến nay CS đã được nhiều nhà khoa học nghiên cứu và áp dụng cho các bài toán tối ưu khác nhau, trong đó có bài toán MS-RCPSP [CT5]. Thuật

toán này được phát triển dựa trên đặc tính sinh hoạt của loài chim Cuckoo và hành vi bay của một số loài chim và ruồi giấm - gọi là Lévy flight. CS được xây dựng dựa trên ba quy luật như sau:

- Mỗi lần, một con chim Cuckoo chỉ đẻ một quả trứng vào một tổ được chọn ngẫu nhiên;

- Tổ tốt nhất với trứng chất lượng cao nhất sẽ được chuyển qua các thế hệ tiếp theo;

- Số lượng tổ là không đổi và trứng bị chim chủ phát hiện với xác suất

pa ∈ [0, 1], khi đó chim chủ có thể vứt bỏ quả trứng hoặc bỏ cả tổ và xây dựng một cái tổ hoàn toàn mới.

CS phù hợp với các bài toán tối ưu tính toán trên dữ liệu lớn bằng cách tạo ra sự cân bằng trong các kỹ thuật tìm kiếm nghiệm toàn cục và tìm kiếm cục bộ nhằm tạo ra các nghiệm tốt hơn ở thế hệ tiếp theo.

CS dạng đơn giản quy định tổ cũng đồng nghĩa với trứng. Mục tiêu của thuật toán là sinh ra những tổ mới có tiềm năng tốt hơn thay thế các tổ (nghiệm) có chất lượng kém. Việc tạo ra tổ mới áp dụng kỹ thuật Lévy Flight với các phép Tìm kiếm toàn cục (Global Search) và Tìm kiếm cục bộ (Local Search). Hai kỹ thuật tìm kiếm trên giúp CS mở rộng được không gian tìm kiếm, thoát khỏi được cực trị địa phương.

Thế hệ tiếp theo tạo ra bằng phép tìm kiếm cục bộ, áp dụng công thức (1.19):

trong đó:

- xi: lịch biểu (các thể) ở thế hệ thứ i;

- t: vị trí của tác vụ trong một phương án (lịch biểu, cá thể); xit+1 = xit + αs H(pa-e) (xjt - xkt) (1.19)

- j, k: là hai cá thể bất kỳ, khi đó (xjt - xkt) là độ chênh 2 phương án; - H(x): hàm bước = 0 (khi x<0) hoặc 1 (khi x>0);

- α: là hằng số, nhận giá trị {1, 0.1, 0.01};

- s: stepsize – bước di chuyển ngẫu nhiên  [0,1].

Thế hệ tiếp theo tạo ra bằng phép tìm kiếm toàn cục, áp dụng công thức (1.20).

trong đó:

- λ: là một hằng số, 0 < λ ≤ 2

- Γ(λ): là hàm trả lại giá trị (λ-1)!

Chi tiết thuật toán CS được trình bày trong Algorithm 1.3.

Algorithm 1.3. Thuật toán CS

Input : dataset

tmax : số thế hệ tiến hóa

Output : cá thể tốt nhất và makespan

1. Begin

2. Load and Valid dataset

3. t = 0

4. Pall = {Initial population}

5. f = {Calculate the fitness, makespan, bestnest}

6. while(t<tmax)

7. Pnew = {Tạo cá thể mới bằng Lévy Flight (1.20)}

8. Pi = {Lấy ngẫu nhiên một cá thể từ Pall }

9. if f(Pnew) < f(Pi) { Pi = Pnew } 10.

11. Ppa = pa% tổ kém nhất từ Pall

12. For j = 1 to size(Ppa)

13. Pnew = {Tạo cá thể mới bằng Lévy Flight (1.19)}

14. if f(Pnew) < f(Pjpa) { Pjpa = Pnew }

15. End For

xit+1 = xit + α L(s,λ) (1.20) với:

16. Pall = {Thay thế Ppa vào Pall}

17. f = {Calculate the fitness, bestnest}

18. makespan = f(bestnest)

19. t = t+1

20. End while

21. return {bestnest, makespan}

22. End

Với:

- f: hàm tính makespan của một lịch biểu

Thuật toán CS thực hiện bằng cách tiến hóa quần thể qua nhiều thế hệ khác nhau. Ở mỗi thế hệ, CS thực hiện tạo một cá thể mới bằng kỹ thuật tìm kiếm toàn cục (Global Search). Sau khi tính toán, tiến hóa, thuật toán sẽ thay thế một số cá thể kém nhất bằng các cá thể mới, các cá thể mới tạo ra bằng kỹ thuật tìm kiếm cục bộ (Local Search). Kết quả của thuật toán là một cá thể (lịch biểu) với thời gian thực hiện tối thiểu.

Kết luận chương 1

Bài toán MS-RCPSP là bài toán thuộc lớp NP-Khó và có nhiều ứng dụng trong thực tế. Tuy nhiên, do không gian lời giải rất lớn, nên khó tìm ra được nghiệm tối ưu. Do vậy, người ta thường dùng các thuật toán tiến hóa để tìm ra các nghiệm tốt, chấp nhận được cho các bộ dữ liệu theo yêu cầu cụ thể.

Chương 1 của luận án đã trình bày phát biểu toán học của bài toán MS- RCPSP, các ứng dụng trong thực tế của bài toán này. Để phục vụ cho việc giải bài toán này trong Chương 2, chương này cũng giới thiệu một số thuật toán metaheuristic hiệu quả, thường được áp dụng để tìm ra nghiệm gần đúng trong thời gian chấp nhận được như PSO, DE, CS.

Kết quả nghiên cứu của chương này được công bố tại:

- Tạp chí HNUE Journal of Science, Vol. 62, No. 3, pp. 88-96, 2017 [CT1]; - Tạp chí Nghiên cứu khoa học và công nghệ quân sự, Tin học, điều khiển và

ứng dụng, Viện KHCNQS/11-2018, số đặc san, pp. 63-73, 2018 [CT3]; - Hội thảo Quốc gia: Ứng dụng công nghệ cao vào thực tiễn, 2019 [CT4].

CHƯƠNG 2

GIẢI BÀI TOÁN MS-RCPSP BẰNG PHƯƠNG PHÁP TỐI ƯU BẦY ĐÀN VÀ PHƯƠNG PHÁP TIẾN HÓA VI PHÂN

Bài toán lập lịch thực hiện dự án với tài nguyên giới hạn và đa kỹ năng (MS-RCPSP) [31],[42],[43] có nhiều ứng dụng trong thực tế do bổ sung thêm yếu tố kỹ năng của tài nguyên thực hiện tác vụ. Theo đó, mỗi tài nguyên có thể có nhiều loại kỹ năng, mỗi loại kỹ năng có một mức độ kỹ năng cụ thể. Trong môi trường sản xuất, có thể hiểu kỹ năng chính là chuyên môn của nhân công và chuyên môn sẽ được phân làm các mức độ (tay nghề) khác nhau. Để thực hiện một tác vụ, tài nguyên cần đáp ứng về loại kỹ năng và mức kỹ năng phù hợp với yêu cầu của tác vụ.

Chương 2 nghiên cứu sinh đề xuất một số giải thuật metaheuristic để giải bài toán MS-RCPSP. Các nội dung chính của chương này gồm:

Phần 2.1: Trình bày phương pháp biểu diễn cá thể của bài toán MS-RCPSP. Phần 2.2: Trình bày thang đo độ chênh giữa các cá thể, phục vụ trong việc tính toán, lai ghép cá thể trong quá trình tiến hóa.

Phần 2.3: Trình bày thuật toán đề xuất M-PSO đề giải bài toán MS-RCPSP. Thuật toán này được xây dựng trên cơ sở của thuật toán tối ưu bầy đàn PSO với việc bổ sung kỹ thuật di cư nhằm thoát khỏi cực trị địa phương và mở rộng khả năng tìm kiếm được các nghiệm tốt hơn.

Phần 2.4: Trình bày thuật toán đề xuất DEM đề giải bài toán MS-RCPSP. Đây là thuật toán được xây dựng trên cơ sở của thuật toán tiến hóa vi phân với cải tiến mới bằng việc bổ sung hàm tái thiết lập tài nguyên thực hiện tác vụ.

Với mỗi thuật toán, tác giả sẽ trình bày các thực nghiệm cụ thể trên bộ dữ liệu iMOPSE - bộ dữ liệu chuẩn cho bài toán MS-RCPSP. Sau đó đưa ra các phân tích, đánh giá cụ thể từ kết quả thực nghiệm.

Một phần của tài liệu Luận án Tiến sĩ Toán học: Một số phương pháp gần đúng giải bài toán lập lịch với tài nguyên giới hạn (Trang 45 - 56)