Thuật toán A-DEM

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 109 - 117)

Thuật toán A-DEM sử dụng kỹ thuật thích nghi trên cơ sở thay đổi hệ số lai ghép và tìm cá thể tốt nhất dựa trên kiến trúc Star được thực hiện qua các bước như sau:

- Bước 1: Khởi tạo quần thể với N cá thể: Pall - Bước 2: Khởi tạo các giá trị ban đầu

- Bước 3: Thực hiện các tiến hóa qua các thế hệ

- Bước 4: Với mỗi thế hệ, duyệt từng cá thể Pi và thực hiện - Bước 4.1: Tính toán Pi

best theo kiến trúc Star

- Bước 4.2: Tính toán hệ số lai ghép CR dựa trên tham số lai ghép µCR

- Bước 4.3: Lấy ngẫu nhiên 02 cá thể P1, P2 từ quần thể (khác với cá thể hiện tại)

- Bước 4.4: Tạo ra cá thể vi bằng phép đột biến theo công thức:

Vi Pi + F (Pbest – Pi) + F (P1 - P2)

- Bước 4.5: Tạo ra cá thể mới Ui theo công thức

𝑈𝑖,𝑗= {𝑉𝑖,𝑗 𝑛ế𝑢 rand(0,1) ≤ 𝐶𝑅𝑖 ℎ𝑜ặ𝑐 𝑖 = 𝐼𝑟𝑎𝑛𝑑 𝑃𝑖,𝑗 𝑛ế𝑢 rand(0,1) > 𝐶𝑅𝑖 ℎ𝑜ặ𝑐 𝑖 ≠ 𝐼𝑟𝑎𝑛𝑑

j ∈ (1,taskcount)

- Bước 4.6: Thay thế Pi theo công thức

𝑃𝑖 = {𝑈𝑖 𝑛ế𝑢 f(Ui) < 𝑓(𝑃𝑖) 𝑃𝑖 ngược lại

- Bước 4.7: Ghi nhận hệ số đột biến thành công vào tập SCR

- Bước 5: Tính toán lại tham số lai ghép µCR theo công thức

µCR = (1 - c) × µCR + c × mean(SCR)

- Bước 6: Hiệu chỉnh lại số cá thể lân cận theo công thức

- Bước 7: Tìm Pbest

Cải tiến chính của thuật toán A-DEM nằm trong các bước: 4.1, 4.2, 4.4, 4.7, 5, 6.

A-DEM được trình bày trong Algorithm 4.2 dưới đây.

Algorithm 4.2. A-DEM

Input: tmax: số thế hệ, dataset, N số cá thể ban đầu

Output phương án tốt nhất Pbest và makespan

1 Begin

2 t = 0

3 Load and valid Dataset

4 Pall  initialize(N) // khởi tạo quần thể gồm N cá thể

5 {Pbest, makespan}  fbest(Pall) // tìm cá thể tốt nhất

6 µCR = 0.5; wmin = 4; wmax = 10; w = 3

7 while(t<tmax) (adsbygoogle = window.adsbygoogle || []).push({});

8 for (int i = 0; i< N; i++)

9 Pibest = StarAdaptive(Pall,i, w)

10 CRi = randci (µCR, 0.1)

11 Pi  P1  P2  Random from Pall

12 Vi Pi + F (Pbest – Pi) + F (P1 - P2)

13 Irand = randi(1,N)

14 for(j=0; j<taskcount;j++)

15 randi,j = rand(0,1)

16 𝑈𝑖,𝑗 = {𝑈𝑖,𝑗 𝑛ế𝑢 randi,j ≤ 𝐶𝑅𝑖 ℎ𝑜ặ𝑐 𝑖 = 𝐼𝑟𝑎𝑛𝑑 𝑃𝑖,𝑗 𝑛ế𝑢 randi,j > 𝐶𝑅𝑖 ℎ𝑜ặ𝑐 𝑖 ≠ 𝐼𝑟𝑎𝑛𝑑 17 end for 18 if(f(Ui)  f(Pi)) 19 Pi = Ui 20 SCR = SCR + {µCR} 21 end if

22 end for // end duyệt quần thể

23 c = rand(0,1)

24 µCR = (1 - c) × µCR + c × mean(SCR) //Adaptive factor 25 w = wmax – i/N × (wmax – wmin)

26 t  t+1

27 {Pbest, makespan}  fbest(Pbest)

28 end while

29 return {Pbest, makespan}

30 end

Trong đó:

fbest: hàm trả lại cá thể tốt nhất F: bước nhảy

µCR: tham số lai ghép w: số cá thể lân cận

randci: hàm phân phối Cauchy

mean: hàm tính giá trị trung bình

4.2.3. Thực nghiệm

4.2.3.1. Dữ liệu thực nghiệm

Để kiểm chứng khả năng ứng dụng vào thực tế của thuật toán đề xuất cho bài toán Real-RCPSP, ngoài bộ dữ liệu iMOPSE [42][45], luận án còn sử dụng bộ dữ liệu TNG được số hóa từ dữ liệu dây chuyền sản xuất may công nghiệp.

a) Chỉnh sửa bộ dữ liệu iMOPSE cho phù hợp với bài toán Real-RCPSP

Bộ dữ liệu iMOPSE chuẩn không phù hợp để kiểm chứng các thuật toán cho bài toán Real-RCPSP vìmỗi tác vụ có thời gian thực hiện như nhau với bất kỳ tài nguyên thực hiện nào, không phân biệt mức kỹ năng. Vì thế luận án đã tiến hành điều chỉnh lại bộ iMOPSE, những số liệu chi tiết của việc điều chỉnh này theo 3 mức dựa trên mức kỹ năng (bậc thợ), cụ thể như sau:

Mức 1: với tài nguyên có mức kỹ năng bằng hoặc cao yêu cầu 1 bậc, thời gian thực hiện không thay đổi.

Mức 2: với tài nguyên có mức kỹ cao hơn yêu cầu từ 2 đến 3 bậc, thời gian thực hiện tác vụ được điều chỉnh giảm xuống 5% so với thời gian chuẩn.

Mức 3: với tài nguyên có mức kỹ cao hơn yêu cầu từ 4 đến 7 bậc, thời gian thực hiện tác vụ được điều chỉnh giảm xuống 7% so với thời gian chuẩn. (adsbygoogle = window.adsbygoogle || []).push({});

Việc điều chỉnh giảm thời gian thực hiện được đề xuất căn cứ trên dữ liệu thực tế của chuyền may công nghiệp được trình bày dưới đây.

Ví dụ 4.4:

Một tác vụ có thời gian thực hiện trong bộ dữ liệu iMOPSE là 200 giờ, sẽ được điều chỉnh như sau:

Mức 1: với tài nguyên có mức kỹ năng bằng hoặc cao hơn so với yêu cầu 1 bậc, thời gian thực hiện của tác vụ này không thay đổi, là: 200 giờ

Mức 2: với tài nguyên có mức kỹ năng cao hơn yêu cầu từ 2 đến 3 bậc, thời gian thực hiện tác vụ được điều chỉnh giảm xuống 5%, còn: 190 giờ.

Mức 3: với tài nguyên có mức kỹ năng cao hơn yêu cầu từ 4 đến 7 bậc, thời gian thực hiện tác vụ được điều chỉnh giảm xuống 7%, còn: 186 giờ.

b) Phương pháp số hóa dữ liệu chuyền may công nghiệp

Trong lĩnh vực sản xuất may công nghiệp, để hoàn thành một hợp đồng với nhiều sản phẩm cùng loại, công ty may sẽ tổ chức các chuyền may để thực hiện những công đoạn của sản phẩm. Mỗi chuyền may có nhiều công nhân với các mức tay nghề khác nhau; các công đoạn may trong một chuyền may được bố trí theo thứ tự ưu tiên của quy trình sản xuất thành phẩm. Dữ liệu chuyền may gồm các đặc trưng sau:

- Để hoàn thành một sản phẩm, cần thực hiện qua nhiều công đoạn.

- Các công đoạn có thời gian thực hiện khác nhau và có yêu cầu công nhân thực hiện cần có trình độ (bậc thợ) nhất định để thực hiện.

- Công nhân bậc cao có thể thực hiện được các công đoạn yêu cầu bậc thợ thấp hơn.

- Công nhân có trình độ cao hơn trình độ yêu cầu, có thể hoàn thành công việc sớm hơn.

- Các công đoạn có quan hệ ưu tiên chặt chẽ với nhau, không hoàn thành công đoạn trước sẽ không thực hiện được công đoạn sau, do vậy số lượng ràng buộc ưu tiên là rất nhiều.

- Các công nhân thực hiện trong một hợp đồng được tổ chức thành một tổ may

Các đặc trưng của dữ liệu chuyền may công nghiệp rất phù hợp với dữ liệu đầu vào của bài toán Real-RCPSP. Tuy nhiên, để có thể áp dụng dữ liệu chuyền may, ta cần chuyển đổi các thông tin này về định dạng mà Real-RCPSP có thể đọc và sử dụng được. Để số hóa dữ liệu chuyền may, ta thực hiện các quy tắc như sau:

- Mỗi hợp đồng may mặc là một dự án và có thể tạo thành nhiều file dữ liệu dựa vào cách bố trí tài nguyên thực hiện.

- Mỗi công đoạn trong chuyền may là một tác vụ

- Thời gian thực hiện một công đoạn là thời gian thực hiện một tác vụ

- Công nhân may có nhiều mức tay nghề hay bậc thợ khác nhau (từ 1 đến 7), bậc thợ sẽ tương ứng với mức kỹ năng trong mô hình bài toán MS-RCPSP. - Mỗi công nhân là một tài nguyên, tài nguyên sẽ có mức kỹ năng (skill level)

cụ thể

- Thứ tự thực hiện các công đoạn may thành phẩm chính là thứ tự ưu tiên thực hiện các tác vụ.

Kết quả của việc số hóa dữ liệu chuyền may công nghiệp sẽ đưa ra các bộ dữ liệu phù hợp với yêu cầu đầu vào của bài toán Real-RCPSP.

c) Bộ dữ liệu chuyền may TNG

Để phục vụ cho thực nghiệm các thuật toán, dữ liệu chuyền may công nghiệp của công ty TNG [54] được nghiên cứu và số hóa thành bộ dữ liệu chuẩn phù hợp với bài toán Real-RCPSP. Việc số hóa được thực hiện với hai hợp đồng may mặc như trong bảng 4.5.

Các hợp đồng này có thể bố trí thực hiện bởi 04 tổ may với số lượng công nhân tương ứng của mỗi tổ là 37,39,47,41.

Áp dụng quy tắc số hóa dữ liệu chuyền may với dữ liệu hợp đồng trong bảng 4.5, ta được bảng dữ liệu chuẩn, phù hợp với đầu vào của bài toán Real- RCPSP như trong bảng 4.6 dưới đây.

Bảng 4.5: Các hợp đồng may công nghiệp STT Mã hợp đồng Loại sản phẩm Số sản phẩm Số công đoạn 1 WE1190/1698402 Liner Buy

Mar 14-F19 Áo nỷ 33,693 71

2 FM4013/ 1536181 buy Nov

08- F19 Quần bơi 83,340 137 (adsbygoogle = window.adsbygoogle || []).push({});

Bảng 4.6: Dữ liệu chuyền may của TNG Bộ dữ liệu Số tác vụ Số công

nhân

Số ràng buộc

ưu tiên Số mức kỹ năng

Thời gian thực hiện (PT) TNG1 71 37 1026 6 409 TNG2 71 39 1026 6 325 TNG3 71 41 1026 6 296 TNG4 71 45 1026 6 392 TNG5 137 37 1894 6 1174 TNG6 137 39 1894 6 1052 TNG7 137 41 1894 6 871 TNG8 137 45 1894 6 996

Trong bảng 4.6, cột “Thời gian thực hiện (PT)” là tổng thời gian thực hiện hợp đồng thực tế tương ứng với từng tổ may, tính theo giờ.

4.2.3.2. Kết quả thực nghiệm

Thuật toán A-DEM thực nghiệm với 2 bộ dữ liệu, bộ dữ liệu iMOPSE (bảng 2.11) hiệu chỉnh và bộ dữ liệu TNG (bảng 4.6). Các tham số thực nghiệm và cài đặt được thiết lập tương tự như mục 2.3.3.2.

Kết quả thực nghiệm thuật toán A-DEM với mô hình bài toán Real-RCPSP chạy trên bộ dữ liệu iMOPSE được trình bày trong bảng 4.7; với bộ dữ liệu TNG trong bảng 4.8.

Bảng 4.7: Kết quả thực nghiệm A-DEM trên bộ dữ liệu iMOPSE

Dataset GA-M A-DEM

Best Avg Std Best Avg Std

100_5_22_15 465 469 3.1 452 454 1.1

Dataset GA-M A-DEM

Best Avg Std Best Avg Std

100_5_48_9 476 481 4.5 467 471 3.7 100_5_64_15 478 487 8.2 456 461 4.7 100_5_64_9 453 457 3.2 429 430 0.7 100_10_26_15 221 224 2.1 204 208 3.8 100_10_47_9 247 253 5.9 236 238 1.2 100_10_48_15 238 246 7.6 234 237 2.7 100_10_64_9 239 249 9.4 216 222 5.8 100_10_65_15 240 244 3.2 227 230 2.7 100_20_22_15 109 115 5.2 91 95 3.8 100_20_46_15 145 150 4.1 143 147 3.2 100_20_47_9 121 125 3.3 117 119 1.9 100_20_65_15 193 200 6.8 183 185 1.8 100_20_65_9 124 131 6.5 100 101 0.3 200_10_128_15 440 446 5.7 421 422 0.6 200_10_50_15 468 471 2.9 463 466 2.3 200_10_50_9 481 484 2.6 454 459 4.3 200_10_84_9 487 498 10.9 479 484 4.8 200_10_85_15 465 469 4.0 453 456 2.7 200_20_145_15 222 229 6.1 170 175 4.1 200_20_54_15 249 255 5.1 234 237 2.2 200_20_55_9 248 254 5.7 227 228 0.8 200_20_97_15 317 321 3.3 283 288 4.8 200_20_97_9 234 241 6.2 228 232 3.9 200_40_133_15 126 134 7.4 106 110 3.6 200_40_45_15 160 164 3.8 122 123 0.3 200_40_45_9 133 146 12.1 117 121 3.4 200_40_90_9 130 133 3.0 107 112 4.9 200_40_91_15 133 139 5.8 114 117 2.0

Bảng 4.8: Kết quả thực nghiệm A-DEM với bộ dữ liệu TNG

Dataset GA-M A-DEM

Avg Best Std Avg Best Std

TNG1 203 201 3.5 138 135 2.7

TNG2 205 198 8.3 141 137 3.8

TNG3 218 212 7.1 138 134 3.4

TNG4 187 176 11.3 138 129 8.3

Dataset GA-M A-DEM

Avg Best Std Avg Best Std

TNG6 796 791 5.5 629 621 7.3

TNG7 820 810 10.7 577 571 5.2

TNG8 728 720 9.4 564 557 6.6

4.2.4. Đánh giá chất lượng lời giải của thuật toán

Các thực nghiệm được triển khai trên 02 thuật toán GA-M và A-DEM, mỗi thuật toán thực hiện trên bộ dữ liệu iMOPSE và bộ dữ liệu TNG. Luận án đã tiến hành thực nghiệm các thuật toán một cách độc lập với 50 lần chạy, cài đặt trên môi trường thử nghiệm là Matlab 2014. Kết quả thực nghiệm được trình bày trong bảng 4.7 và bảng 4.8 chỉ ra thuật toán A-DEM có chất lượng lời giải tốt hơn thuật toán GA-M trong mọi trường hợp. (adsbygoogle = window.adsbygoogle || []).push({});

Với bộ dữ liệu iMOPSE, giá trị tốt nhất của A-DEM tốt hơn GA-M từ 0,52% đến 18,80. So sánh chi tiết được thể hiện trong hình 4.4. Tổng độ lệch chuẩn của GA-M là 163,1, của A-DEM là 84,2, điều này cho thấy độ ổn định của thuật toán A-DEM tốt hơn, hình 4.5 cho so sánh độ lệch chuẩn giữa A- DEM và GA-M.

Với bộ dữ liệu TNG, giá trị tốt nhất của A-DEM tốt hơn GA-M từ 5,2% đến 21,7%, so sánh chi tiết được thể hiện trong hình 4.6. Tổng độ lệch chuẩn của GA-M là 62, của DEM là 46,8, điều này cho thấy độ ổn định của thuật toán A-DEM tốt hơn, hình 4.7 so sánh độ lệch chuẩn giữa A-DEM và GA-M. Từ kết quả thực nghiệm với bộ dữ liệu TNG cho thấy, nếu tài nguyên có số mức kỹ năng càng lớn, khả năng chênh lệch giữa mức kỹ năng yêu cầu và mức kỹ năng của tài nguyên thực hiện càng cao, do vậy tổng thời gian thực hiện dự án sẽ giảm nhiều hơn.

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 109 - 117)