1. Trang chủ
  2. » Mẫu Slide

giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền

85 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Tác giả Nguyễn Hải Dương
Người hướng dẫn TS. Nguyễn Tiến Thịnh, PGS.TS. Quản Thành Thơ
Trường học Đại học Bách Khoa - ĐHQG TP. HCM
Chuyên ngành Khoa học máy tính
Thể loại luận văn thạc sĩ
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 85
Dung lượng 886,29 KB

Cấu trúc

  • Chương 1: Giới thiệu đề tài (13)
    • 1.1 Gi ới thiệu chung (13)
    • 1.2 Mô t ả về bài toán xếp lịch (15)
      • 1.2.1 Bài toán x ếp lịch cá nhân PSP (17)
      • 1.2.2 Bài toán x ếp lịch cá nhân PSP có ràng buộc về thời gian (setup time) 7 (19)
      • 1.2.3 Bài toán x ếp lịch cá nhân PSP có ràng buộc về deadline (19)
      • 1.2.4 Bài toán x ếp lịch trên một nhóm (20)
      • 1.2.5 Bài toán x ếp lịch trên nhiều nhóm (21)
    • 1.3. M ục tiêu đề tài (23)
    • 1.4 Gi ới hạn đề tài (24)
    • 1.5 Đóng góp của luận văn (24)
    • 1.6 Tóm t ắt nội dung (25)
  • Chương 2: Cơ sở lý thuyết (26)
    • 2.1 Gi ải thuật di truyền (26)
    • 2.2 Gi ải thuật NSGA-II (35)
    • 2.3 Gi ải thuật NSGA-III (41)
  • Chương 3: Các công trình nghiên cứu liên quan (47)
    • 3.1 Phương pháp tối ưu hóa đơn mục tiêu truyền thống (single-objective optimization) (49)
    • 3.2 Phương pháp tối ưu hóa đa mục tiêu truyền thống (multi-objective optimization) (52)
    • 3.3. Hướng tiếp cận tiến hóa đa mục tiêu (Evolutionary Algorithm) (55)
    • 3.4 Phương pháp học máy (58)
    • 3.5 Bàn lu ận (61)
  • Chương 4: Mô hình đề xuất (63)
    • 4.1 Mô hình tham khảo (63)
    • 4.2 Phương pháp đánh giá (64)
    • 4.3 Tập dữ liệu và phương pháp xử lý (64)
    • 4.4 Đề xuất 1: Sử dụng cơ chế lựa chọn của NSGA-II (68)
    • 4.5 Đề xuất 2: Sử dụng cơ chế lựa chọn của NSGA-III (71)
    • 4.6 Đánh giá (73)
  • Chương 5: Kết luận (77)

Nội dung

1.2 Mô tả về bài toán xếp lịch Hình 1.2: Các hướng nghiên cứu bài toán xếp lịch PSP: personal scheduling problem TWSP: Team work scheduling problem Bài toán xếp lịch hiện có rất nhiều hư

Giới thiệu đề tài

Gi ới thiệu chung

Hiện nay, rất nhiều công việc hằng ngày yêu cầu phải sắp xếp lịch Từ sắp xếp lịch làm việc cho công nhân, lập kế hoạch sản xuất kinh doanh, đến lập thời khóa biểu cho sinh viên Vì vậy nhu cầu có một lịch công việc khoa học là rất cần thiết Bài toán này yêu cầu tìm cách phân bổ các tài nguyên, sự kiện, hoạt động hay công việc sao cho thỏa mãn các ràng buộc và tối ưu hóa một mục tiêu nào đó Ví dụ, bài toán xếp lịch học cho các lớp học, bài toán xếp lịch làm việc cho các nhân viên, bài toán xếp lịch thi đấu cho các đội bóng, v.v

Bài toán xếp lịch có nhiều ứng dụng thực tế và có thể giải quyết được nhiều vấn đề phức tạp Tuy nhiên, bài toán xếp lịch cũng gặp nhiều khó khăn và thách thức khi số lượng các biến số và ràng buộc tăng lên Bài toán xếp lịch thuộc vào lớp bài toán NP-Hard [1], nghĩa là không có thuật toán nào có thể giải được bài toán này trong thời gian đa thức Do đó, các nhà nghiên cứu đã đề xuất nhiều phương pháp heuristics và metaheuristics để tìm kiếm các lời giải gần đúng cho bài toán xếp lịch Các phương pháp này bao gồm: thuật toán di truyền, thuật toán tìm kiếm cục bộ, thuật toán tìm kiếm nhánh cận, thuật toán tìm kiếm tabu, thuật toán tìm kiếm ràng buộc, v.v

Một số công cụ giúp sắp xếp lịch làm việc đã ra đời dựa trên nhu cầu đó, tuy nhiên vẫn dựa vào con người là chính, mang nặng tính thủ công Không những thế, với những lịch công việc có khối lượng nhiệm vụ lớn, việc này sẽ tốn rất nhiều thời gian cho người lập lịch

Hình 1.1: Công cụ lập lịch Google calendar

Tuy nhiên, lập lịch cho một người vẫn là chưa đủ Trong cuộc sống hiện nay đã xuất hiện nhu cầu về việc lập lịch cho nhiều người trên nhiều nhóm Bài toán xếp lịch cho nhiều người thuộc nhiều nhóm là một bài toán phức tạp và thú vị trong lĩnh vực khoa học máy tính và quản lý dự án Bài toán này đòi hỏi việc xác định một lịch trình công việc cho một số lượng lớn người, mỗi người có thể thuộc về một hoặc nhiều nhóm khác nhau Ví dụ trong nhà máy, một công việc ngoài nhóm chính phụ trách ra thì còn có một số nhóm khác dự phòng có thể thay thế Việc tìm ra một lịch trình hiệu quả có thể giúp tiết kiệm thời gian và nguồn lực, đồng thời cải thiện hiệu suất và năng suất của tổ chức Rõ ràng việc giải quyết bài toán không hề đơn giản, nhất là nếu có nhiều mục tiêu cần thỏa mãn ngoài việc tổng thời gian xử lý là ngắn nhất của bài toán xếp lịch cho một nhóm truyền thống Đó là lý do tôi thực hiện đề tài “Giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng cận giải thuật di truyền”

Mô t ả về bài toán xếp lịch

Hình 1.2: Các hướng nghiên cứu bài toán xếp lịch

TWSP: Team work scheduling problem

Bài toán xếp lịch hiện có rất nhiều hướng nghiên cứu (xem hình 1.2), có thể liệt kê một số hướng như sau:

• Xếp lịch cấp phát tác vụ (task allocation scheduling) là bài toán cấp phát tài nguyên cho các máy thực thực thi với chi phí tối thiểu, thường được áp dụng trong hệ thống phân tán, các hoạt động trong nhà máy sản xuất

• Xếp lịch ràng buộc nguồn lực (resource constrained scheduling), có thể kể đến lập lịch điều phối nguồn lực cho dự án, sắp xếp thời khóa biểu giảng dạy phù hợp với số lượng giáo viên hiện có, …

• Xếp lịch công việc (Job shop scheduling), là sắp xếp các thứ tự công việc được tiến hành, có thể kể đến như sắp xếp lịch trình làm việc một ngày đối với 1 cá nhân

Task allocation scheduling, hay còn gọi là lập lịch phân công nhiệm vụ, là một quá trình quan trọng trong nhiều lĩnh vực, bao gồm hệ thống nhúng, điện toán đám mây và quản lý dự án Trong hệ thống nhúng, lập lịch nhiệm vụ là quyết định thứ tự

3 mà các nhiệm vụ được thực hiện [2] Scheduler, hay bộ lập lịch, là phần mềm quyết định nhiệm vụ nào nên được chạy tiếp theo Trong điện toán đám mây, lập lịch nhiệm vụ và phân bổ tài nguyên là hai khía cạnh quan trọng [3] Một số nghiên cứu đã được tiến hành để tìm ra các chiến lược phân bổ nhiệm vụ hợp lý trong môi trường đám mây Ví dụ, một phương pháp kết hợp giữa quy trình phân tích phân cấp sửa đổi (MAHP), lập lịch chia sẻ băng thông (BATS) và tối ưu hóa BAR, thời gian xử lý dự kiến dài nhất (LEPT), và phương pháp chia để trị đã được đề xuất để thực hiện lập lịch nhiệm vụ và phân bổ tài nguyên

Lập lịch phân bổ tài nguyên (Resource-Constrained Scheduling - RCS), còn được gọi là cân bằng tài nguyên, là một thuật ngữ được sử dụng trong quản lý dự án để mô tả quá trình tối ưu hóa lịch trình tập trung vào khả năng sẵn có của tài nguyên [4][5] Mục tiêu chính là nhận biết bất kỳ hạn chế nào về tài nguyên của bạn, để bạn có thể tạo ra một lịch trình thực tế và thực tế cho các hoạt động của dự án RCS được sử dụng khi tài nguyên bị giới hạn Trái ngược với lập lịch dựa trên thời gian, RCS không liên quan đến việc thuê nhà thầu để tăng tốc độ [3] Hầu hết các dự án có ràng buộc tài nguyờn, và do đú, kỹ thuật này cú tiềm năng để giỳp hầu hết cỏc quản lý dự ỏnạ Bằng cách nhận biết sớm về các ràng buộc tài nguyên hoặc xung đột tiềm năng, người quản lý dự án có cơ hội điều chỉnh lịch trình hoặc tạo ra các giải pháp khác, thay vì giả định rằng dự án sẽ tiếp tục như thể không có giới hạn [4] Trong bài toán này, mỗi công việc có một thời gian thực hiện cố định và yêu cầu sử dụng một số lượng nguồn lực nhất định Nguồn lực có thể có giới hạn hoặc không đủ để đáp ứng tất cả các yêu cầu từ các công việc Do đó, việc xếp lịch phải đảm bảo rằng các công việc không xung đột với nhau trong việc sử dụng nguồn lực và tuân thủ các ràng buộc nguồn lực

Lập lịch công việc job shop scheduling là một bài toán tối ưu hóa trong khoa học máy tính và nghiên cứu hoạt động, trong đó mục tiêu là sắp xếp các công việc trên các máy sao cho thời gian hoàn thành tất cả các công việc là nhỏ nhất Mỗi công việc bao gồm một tập hợp các thao tác cần được thực hiện theo một thứ tự nhất định trên các máy khác nhau Mỗi thao tác chỉ có thể được xử lý trên một máy nhất định và chỉ có một thao tác trong một công việc có thể được xử lý tại một thời điểm Bài toán này

4 có nhiều biến thể và ứng dụng trong các lĩnh vực như sản xuất, dịch vụ, y tế, giáo dục, v.v Trong nghiên cứu của Chengbin Chu và Hu Ding (2015) [6]đã đề xuất một phương pháp lập lịch thông minh dựa trên thuật toán di truyền để giải quyết vấn đề Job Shop Scheduling Phương pháp này đã được áp dụng thành công trong một nhà máy sản xuất gạch bê tông và cho thấy hiệu quả cao trong việc tối ưu hóa thời gian sản xuất và tăng năng suất Trong Nghiên cứu của Morteza Mahjoubi và Saeed

Gholami (2019) [7] đã sử dụng thuật toán di truyền để giải quyết vấn đề Job Shop Scheduling trong một nhà máy sản xuất ô tô Kết quả nghiên cứu cho thấy việc sử dụng thuật toán di truyền giúp cải thiện năng suất và giảm thời gian chờ đợi trong quá trình sản xuất Đề tài tập trung nghiên cứu về việc xếp lịch trên nhiều nhóm đa mục tiêu, một vấn đề thuộc hướng nghiên cứu xếp lịch công việc (Job shop scheduling) Trước khi đi đến mô tả bài toán xếp lịch công việc trên nhiều nhóm, tác giả sẽ trình bày các dạng bài toán lập lịch công việc cơ bản

1.2.1 Bài toán xếp lịch cá nhân PSP Đây là bài toán lập lịch cá nhân có thể cắt nhỏ bị chặn dưới vào những khung thời gian trống sao cho thời điểm hoàn thành tất cả các công việc là nhỏ nhất (gọi là bài toán PSP), trong đấy:

• Cá nhân (Machine) là một đối tượng cần xếp lịch

• Các công việc (Job) đều có thời gian thực thi, thời gian bắt buộc phải hoàn thành

• Những khung thời gian trống có thể sắp xếp công việc vào đó và những khung thời gian bận hoặc không được xếp lịch

Các ký hiệu trong bài toán lập lịch cá nhân PSP được mô tả như sau:

• Có n công việc J i (i = 1, ,n) và m khung thời trống W j (j = 1, , m) Trong mỗi công việc J i còn có các thông tin liên quan như sau:

• pi: thời gian xử lý của công việc J i

• ri: Thời điểm bắt đầu thực thi của công việc J i

• Các ràng buộc của bài toán

• Các công việc có thể chia nhỏ p i để thực hiện trên các máy khác nhau tuy nhiên không thể nhỏ hơn một khoảng split min định trước

• Các phần được chia nhỏ của công việc chỉ được xếp vào những khoảng thời gian trống của máy (available – windows)

• Mục tiêu của bài toán:

• Cmax = max (Ci): là thời điểm hoàn thành lớn nhất của tập hợp công việc, với C i là thời gian hoàn thành công việc J i Mục tiêu này càng nhỏ càng tốt

• ∑Ci: Tổng thời gian thực hiện các công việc Ji Mục tiêu này càng nhỏ càng tốt

Hình 1.3: Hình minh họa lịch làm việc của một cá nhân

Trong [8] của nhóm tác giả J.Wesley Barnes và John B Chambers, đã trình bày một cách tiếp cận tìm kiếm tabu hiệu quả cho vấn đề lập kế hoạch của một cửa hàng

Quy trình bắt đầu từ phương án tốt nhất được tìm bởi một bộ 14 giải pháp heuristic Sau đó, họ sử dụng biểu diễn mạng phân tách truyền thống của vấn đề và lặp đi lặp lại việc chuyển sang giải pháp khả thi khác bằng cách đảo ngược thứ tự của hai thao tác quan trọng liền kề được thực hiện bởi cùng một máy

Trong [9], nhóm tác giả đã đề cập đến hai vấn đề tối ưu hóa NP-hard: các vấn đề lập lịch cửa hàng công việc linh hoạt (FJSP) bao gồm các vấn đề phụ về định tuyến và sắp xếp thứ tự, và các FJSP với tính linh hoạt của kế hoạch quy trình (FJSP-PPF) bao gồm thêm việc lựa chọn kế hoạch quy trình phụ vấn đề Nghiên cứu được thực hiện theo hai bước Trong bước đầu tiên, một mô hình lập trình tuyến tính hỗn hợp số nguyên (MILP-1) được phát triển cho FJSP và được so sánh với một mô hình thay thế trng tài liệu (Mô hình F) về hiệu quả tính toán Trong bước thứ hai, một mô hình

6 lập trình tuyến tính hỗn hợp số nguyên khác, một sửa đổi của MILP-1, dành cho FJSP-PPF được trình bày cùng với các kết quả tính toán của nó đối với các bài toán kiểm tra được tạo ra theo giả thuyết

1.2.2 Bài toán xếp lịch cá nhân PSP có ràng buộc về thời gian (setup time)

Bài toán được phát triển từ bài toán PSP mà ở đó mỗi công việc đều có thời gian chuẩn bị khác nhau

Các ký hiệu bài toán giống với bài toán PSP, ngoài ra còn có thêm 1 thông số cho mỗi công việc J i như sau:

• sti: Thời gian chuẩn bị trước khi thực hiện công việc J i

M ục tiêu đề tài

Mục tiêu của luận văn "Giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền” được xác định như sau:

• Nghiên cứu và phân tích bài toán xếp lịch trên nhiều nhóm đa mục tiêu để hiểu rõ vấn đề và các yêu cầu cơ bản của nó

• Nghiên cứu và áp dụng các giải thuật thuộc hướng tiếp cận giải thuật di truyền để giải quyết bài toán xếp lịch trên nhiều nhóm đa mục tiêu

• Đánh giá và so sánh hiệu quả của các phương pháp được đề xuất

Từ các nhiệm vụ trên, tác giả xác định các nhiệm vụ cho luận văn như sau:

• Tìm hiểu về bài toán xếp lịch trên nhiều nhóm đa mục tiêu, đặc biệt là các ràng buộc, các yêu cầu, các công trình và các phương pháp giải quyết của bài toán xếp lịch đa mục tiêu trên nhiều nhóm

• Nghiên cứu và áp dụng giải thuật thuộc hướng tiếp cận giải thuật di truyền NSGA-II, NSGA-III

• Cài đặt giải thuật và thực nghiệm và đánh giá kết quả dựa trên tập dữ liệu thuộc dự án POC Biển đông

• Chỉ ra những vấn đề hạn chế của các phương pháp đề xuất, đề xuất các hướng nghiên cứu mà mở rộng của bài toán trong tương lai

Gi ới hạn đề tài

Giới hạn của đề tài luận văn "Giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền" bao gồm:

• Chưa xét thứ tự ưu tiên công việc thực hiện: Trong bài toán xếp lịch trên nhiều nhóm, thứ tự ưu tiên công việc có thể ảnh hưởng đến hiệu suất và chất lượng của lịch trình Tuy nhiên, trong đề tài này, không xét đến yếu tố này và giả định rằng các công việc có thể hoàn thành mà không cần xét đến thứ tự ưu tiên

• Sử dụng NSGA-II và NSGA-III: đề tài này chỉ tập trung vào sử dụng hai giải thuật di truyền là NSGA-II và NSGA-III để giải quyết bài toán xếp lịch trên nhiều nhóm đa mục tiêu Các giải thuật này được lựa chọn để thực hiện so sánh hiệu quả và tính khả thi trong việc giải quyết bài toán

• Tập dữ liệu được sử dụng thuộc dự án POC Biển Đông

Đóng góp của luận văn

• Áp dụng thành công NSGA-II và NSGA-III vào việc giải quyết bài toán xếp lịch đa mục tiêu trên nhiều nhóm nhiều người, một dạng bài toán mới của lớp bài toán lập lịch trên một nhóm trước đây

Tóm t ắt nội dung

Luận văn “Giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền” bao gồm 5 chương với các nội dung chính sau đây:

• Chương 1, GIỚI THIỆU ĐỀ TÀI: Được trình bày tổng quan về đề tài, lý do thực hiện đề tài, ý nghĩa thực tiễn của bài toán, cũng như giới hạn và phạm vi của đề tài Cuối cùng, chương này cũng giới thiệu nhiệm vụ và cấu trúc của luận văn

• Chương 2, CƠ SỞ LÝ THUYẾT: tập hợp các vấn đề lý thuyết có liên quan được sử dụng để giải quyết vấn đề, chủ yếu tập trung vào nội dung của NSGA-II, NSGA-III

• Chương 3, CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN: cung cấp một cái nhìn tổng quát về các nghiên cứu liên quan đã và đang được tiến hành, cũng như xu hướng hiện tại trong việc giải quyết vấn đề Phần này cũng sẽ thảo luận và đánh giá các phương pháp đã nêu trên, vì đây là nền tảng quan trọng cho các nghiên cứu của tác giả trong quá trình thực hiện luận văn

• Chương 4, MÔ HÌNH ĐỀ XUẤT: sẽ giới thiệu mô hình cơ sở cho Bài xếp lịch đa mục tiêu trên nhiều nhóm Nó cũng sẽ trình bày các cải tiến và động lực cho các đề xuất đó Cuối cùng, tác giả sẽ mô tả các bước thực hiện thí nghiệm trên các tập dữ liệu khác nhau và đánh giá kết quả của các cải tiến so với mô hình cơ sở

• Chương 5, KẾT LUẬN: sẽ tổng kết các kết quả đã đạt được trong suốt quá trình thực hiện luận văn, từ việc nghiên cứu và xây dựng giả thuyết đến việc thực hiện thí nghiệm Phần này cũng sẽ giới thiệu những hạn chế và vấn đề còn tồn tại, và cuối cùng là đưa ra các đề xuất cho các cải tiến trong tương lai

Cơ sở lý thuyết

Gi ải thuật di truyền

Giải thuật di truyền, hay còn được gọi là thuật toán di truyền (genetic algorithm), là một phương pháp tìm kiếm và tối ưu hóa dựa trên cơ chế tiến hóa tự nhiên Nó được lấy cảm hứng từ quá trình tiến hóa trong tự nhiên, nơi các cá thể có đặc điểm tốt hơn có khả năng sinh sản và truyền đặc điểm của mình cho thế hệ tiếp theo Giải thuật di truyền đã được áp dụng rộng rãi trong nhiều lĩnh vực, từ tối ưu hóa hàm số đến xử lý ảnh và học máy

Giải thuật di truyền làm việc trên một tập hợp các cá thể, mỗi cá thể đại diện cho một giải pháp trong không gian tìm kiếm Ban đầu, tập hợp các cá thể được tạo ngẫu nhiên hoặc thông qua một phương pháp khởi tạo đặc biệt Các cá thể được biểu diễn bằng một chuỗi gen, trong đó mỗi gen đại diện cho một thuộc tính hoặc tham số của giải pháp

Quá trình tiến hóa trong giải thuật di truyền gồm các bước chính sau:

• Khởi tạo: Tạo một tập hợp ban đầu các cá thể ngẫu nhiên hoặc thông qua một phương pháp khởi tạo đặc biệt

• Đánh giá: Đánh giá mỗi cá thể dựa trên một hàm mục tiêu, gọi là hàm fitness Hàm fitness đo lường mức độ tốt của một cá thể trong việc giải quyết vấn đề

• Chọn lọc: Chọn lọc một số cá thể tốt nhất để tiếp tục vào thế hệ tiếp theo Phương pháp chọn lọc có thể là chọn lọc tự nhiên, trong đó các cá thể tốt nhất có khả năng sinh sản nhiều hơn, hoặc chọn lọc dựa trên hàm fitness

• Lai ghép: Kết hợp các cá thể được chọn lọc để tạo ra các cá thể con mới Quá trình lai ghép có thể thực hiện thông qua các phép toán như lai ghép một điểm, lai ghép hai điểm hoặc lai ghép đồng nhất

• Đột biến: Một số cá thể con có khả năng bị đột biến, tức là có một số thay đổi ngẫu nhiên trong gen của chúng Điều này giúp đánh giá khám phá thêm các khu vực không gian tìm kiếm và tránh rơi vào một hố sâu cục bộ

• Thay thế: Thay thế một phần các cá thể trong thế hệ hiện tại bằng các cá thể con mới được tạo ra từ lai ghép và đột biến

Quá trình trên tiếp tục lặp lại cho đến khi một điều kiện dừng được đáp ứng, chẳng hạn như đạt được một giải pháp tối ưu đủ tốt hoặc đạt đến số lần lặp tối đa

Hình 2.1 : Sơ đồ giải thuật di truyền

Mã hóa trong giải thuật di truyền (GA) đóng một vai trò quan trọng Trong GA, một giải pháp ứng viên cho một vấn đề tối ưu hóa được biểu diễn dưới dạng một tập hợp các thuộc tính, thường được gọi là nhiễm sắc thể hoặc kiểu gen

Thông thường, những giải pháp này được thể hiện dưới dạng nhị phân với những chuỗi 0 và 1, nhưng lại mang nhiều thông tin mã hóa khác nhau Mỗi chuỗi nhị phân này tương ứng với một giải pháp ứng viên cho vấn đề tối ưu hóa

Quá trình tiến hóa xảy ra từ một tập hợp những cá thể hoàn toàn ngẫu nhiên ở tất cả các thế hệ Trong từng thế hệ, tính thích nghi của tập hợp này được ước lượng, nhiều cá thể được chọn lọc định hướng từ tập hợp hiện thời (dựa vào thể trạng ), được

15 sửa đổi (bằng đột biến hoặc tổ hợp lại) để hình thành một tập hợp mới Mã hóa trong

GA giúp biểu diễn các giải pháp ứng viên một cách hiệu quả, cho phép GA tìm kiếm không gian giải pháp một cách hiệu quả

Ví dụ, cần tìm 1 số x trong khoảng từ 0 đến 10 sao cho số x thỏa f(x) = x 2 – x/2 là lớn nhất Vì x nằm trong khoảng từ 0 đến 10, nghĩa là 10 là giá trị lớn nhất mà x đạt được, như vậy cần khỏa 4 bit để biểu thị x trong khoảng trên (do mã nhị phân của 10 mà 1010) Vì vậy ta có thể sản sinh 1 vài nhiễm sắc thể như sau (và đây cũng được coi là bước thứ nhất, tạo một quần thể ban đầu:

Hình 2.2: Cá thể sau khi được mã hóa ở dạng nhị phân

Bước nhân chéo (crossover) là một trong những bước quan trọng trong giải thuật di truyền Nó là quá trình kết hợp thông tin di truyền từ hai cá thể cha mẹ để tạo ra cá thể con mới Bước này giúp tạo ra sự đa dạng di truyền và khám phá các khu vực mới trong không gian tìm kiếm

Quá trình nhân chéo bắt đầu bằng việc chọn lọc hai cá thể cha mẹ từ thế hệ hiện tại, thường dựa trên một phương pháp chọn lọc như chọn lọc tự nhiên hoặc chọn lọc dựa trên hàm fitness Hai cá thể cha mẹ được chọn lọc có các đặc điểm tốt và đóng vai trò như nguồn gen để tạo ra cá thể con mới

Nhân chéo tại 1 điểm (single point crossover)

Bằng việc chọn ngẫu nhiên 1 điểm nào đó trên nhiễm sắc thể, chia đôi 2 nửa tương ứng trên cả 2 nhiễm sắc thể tại điểm đó, rồi sau đó ghép chéo cho nhau Như vậy đã có 2 bộ nhiễm sắc thể mới được ra đời

Nhân chéo tại nhiều điểm (multi-point crossover)

Tương tự như nhân chéo tại 1 điểm, phương pháp này chọn nhiều điểm và sau đó thực hiện hành vi nhân chéo cho nhau tại các điểm này

Simulated Binary Crossover (SBX) là một phương pháp nhân chéo trong giải thuật di truyền được sử dụng để tạo ra sự đa dạng di truyền và khám phá khu vực mới trong

Gi ải thuật NSGA-II

Giải thuật NSGA-II được đưa ra bởi K.Deb, A Pratap, S.Agarwal, T Meyarivan vào năm 2002 Về kiến trúc NSGA-II này cũng phải trả qua các bước khởi tạo quần thể, nhân chép, đột biến, lựa chọn cá thể mới như các giải thuật di truyền khác Tuy nhiên, NSGA-II được đánh giá là giải quyết tốt đối với các bài toán đa mục tiêu

(multiple objectives) ở bước lựa chọn cá thể mới thông qua cơ chế xếp hạng các giải pháp không bị thống trị (Non-dominated sorting) và chỉ số crowding distance Đối với các bài toán chỉ có 1 hàm mục tiêu, dễ dàng có thể xác định được đâu là giải pháp tốt nhất, vì khi đó chỉ tồn tại 1 mức duy nhất để đánh giá xem là phương án đó tốt hay xấu Tuy nhiên đối với các bài toán đa mục tiêu, thì việc tìm ra một phương án sao cho các mục tiêu đều là tốt nhất thì là 1 việc vô cùng khó khăn Ví dụ, sắp xếp lịch làm việc cho công nhân thuộc nhiều nhóm khác nhau Nếu chỉ có mục tiêu duy nhất là tất cả các công nhân đều được phân việc sao tổng thời gian thực hiện các công việc là ngắn nhất thì rất đơn giản Nhưng nếu xuất hiện các ràng buộc, ví dụ có những việc chỉ có nhóm A là được, lại có những việc chỉ có nhóm B làm được, thêm vào đó lại xuất hiện các yêu cầu khác, ví dụ như các đầu việc phải được phân càng sớm càng tốt, không được sử dụng quá nguồn nhân lực được cung cấp, thì lúc này bài toán sẽ trở nên rất phúc tạp

Hình 2.6: Sơ đồ giả thuật NSGA-II

Một trong những điểm hay nhất của NSGA-II là cơ chế xếp hạng các giải pháp không bị thống trị Non-dominated sorting Mục đích cơ chế này là tìm ra đường cong Pareto, nơi tập hợp các cá thể không bị thống trị bởi bất cứ cá thể nào

Hình 2.7: Minh họa đường con pareto

Cùng nhìn vào hình 2.7 giả sử có 4 đối tượng, có các thông số về F1 và F2 Mục tiêu của bài toán là cực tiểu hai hàm số F1 và F2 Dễ dàng thấy D là tốt nhất về cả 2 giá trị, như vậy D sẽ thuộc nhóm đầu tiên Xét tiếp B và C Cả 2 đều có mục tiêu F1 và F2 tốt hơn so với A, tuy nhiên lại không vượt trội đối với nhau (B thấp hơn C về mục tiêu F1 nhưng lại có mục tiêu F2 cao hơn C, ngược lại C có giá trị F1 hơn B nhưng F2 lại thấp hơn B) Như vậy B và C thuộc nhóm thứ 2 Và còn lại A sẽ thuộc lớp cuối cùng Tương tự như ví dụ vừa rồi, cơ chế so sánh trội (Non-dominated sorting) cho phép phân ra các hạng của của các phương án, theo đó hạng phương án càng thấp tức là càng tốt

Hình 2.8: Giá tr ị hàm mục tiêu của 4 cá thể A, B, C, D

Hình 2.9: Minh họa vị trí của A, B, C, D trên 2 trục mục tiêu

Hình 2.10: Sơ đồ giải thuật đánh giá trội trong NSGA-II [16]

Non-dominated sorting được thực hiện trong giải thuật NSGA-II Đầu tiên, đối với mỗi giải pháp p, tính toán hai thông số:

1 Số lượng thống trị np : số lượng giải pháp thống trị giải pháp p

2 Tập hợp các giải pháp Sp mà giải pháp p thống trị

Các bước thực hiện như sau:

1 Tất cả các giải pháp ở nhóm thống trị đầu tiên sẽ không có giải pháp nào thống trị chúng, tức là n p = 0

2 Tiếp theo đi đến lần lượt các giải pháp q trong tập hợp S p các giải pháp bị thống trị bởi p, đồng thời giảm số lượng thống trị q đi 1, tức nq = nq

-1 Nếu có một giải pháp q nào mà n q về 0 thì cho vào một tập hợp riêng Q, và Q chính là nhóm thống trị hạng 2

3 Tiếp tục đi đến các giải pháp ở lớp thống trị tiếp theo Q và làm tưởng tự như trên, sẽ thu được các lớp thống trị tiếp theo

Một ví dụ nữa trong việc sử dụng cơ chế so sánh trội nhằm tìm phương án pareto được thể hiện qua ví dụ sau Sau khi trải qua các bước nhân chéo và đột viến, một bài toán đã thu được 15 cá thể, mỗi các thể gôm 3 hàm mục tiêu như trong hình 2.10

Tiến hành đi tìm đường pareto, thu được đồ thị, trong đó các phương án được bôi

26 vàng là những phương án pareto, tức là không có phương án nào thống trị đối với các phương án này Kết quả đường pareto được thể hiện qua hình 2.11

2.2.2 Chỉ số mật độ (Crowding-distance) Để duy trì sự đa dạng của quần thể, đồng thời đưa ra lựa chọn khi các phương án khác nhau nằm cũng 1 lớp, phương pháp tính khoảng cách đông đúc (Crowding- distance) được đề xuất để đánh giá mối quan hệ mật độ giữa từng giải pháp trong nhóm và các giải pháp xung quanh Theo hình mình họa ở dưới, tính khoảng cách 2 phương án liền kề i-1 và i+1 đối với từng phương án i, tính khoảng cách trung bình của hai giải pháp này và cuối cùng tính tổng các khoảng cách được tính theo từng mục tiêu , tức là khoảng cách đông đúc để có được giải pháp cụ thể đó

Hình 2.13: M ật độ của các lời giải xung quanh một phương án f1 f2 f3

Hình 2.12: Minh họa đường pareto (màu đỏ) trong bài toán có 3 hàm m ục tiêu

Hình 2.11: Giá tr ị hàm muc tiêu của các cá thể

Việc tính toán Crowding-distance giúp duy trì tính đa dạng của các giải pháp, nghĩa là khi cần chọn giải pháp từ một nhóm giải pháp nằm trong cùng một 1 lớp, nó sẽ có xu hướng chọn giải pháp với khoảng cách này càng lớn, vì khoảng cách càng lớn thì sự khác biệt giữa giải pháp này với các giải pháp khác càng lớn, giúp quá trình lặp thuật toán tiếp theo tránh rơi vào tình trạng giải pháp cục bộ.Với hy vọng tìm ra các giải pháp ngày càng tốt hơn, khoảng cách tắc nghẽn được tính toán cụ thể như sau:

Hình 2.14: Giải thuật tính crowding-distance [16]

Bước 1: Sắp xếp các phương án theo mỗi mục tiêu cần tối ưu theo thứ tự tăng dần Đặt khoảng cách cho giải pháp đầu tiên và giải pháp cuối là 1 số dương thật lớn Sau đó đánh giá khoảng cách của giải pháp i như sau:

Trong đó I[i].m là giá trị của mục tiêu thứ m của giải pháp i, f m max và fm minlà giá trị lớn nhất và bé nhất của mục tiêu thứ m

Bước 2: Cộng dồn khoảng cách đối với mỗi phương án trên qua mỗi lần duyệt giá trị mục tiêu

Việc lựa chọn trong NSGA-II có 2 tính chất cần xét đến là hạng của phương án (rank) và mật độ đông đúc (crowding-distance) Việc lựa chọn phương án cho lần tiến hóa tiếp theo sẽ dựa trên những nguyên tắc sau:

• Hạng của phương án càng nhỏ càng được ưu tiên (tức là đang nằm ở lớp thống trị cao hơn so với các phương án khác)

• Đối với 2 phương án ở cùng 1 hạng, mật độ được dung để đánh giá, trong đó mật độ càng lớp càng được ưu tiên

Với hướng nghiên cứu nhằm xếp lịch nhiều nhóm với nhiều mục tiêu cần tối ưu, để đưa ra quyết định trong việc chọn giải thuật NSGA-II cho bài toán, tác giả đã nhìn vào một số ưu điểm của giải thuật như sau:

• Sử dụng kỹ thuật sắp xếp non-dminated sorting nhằm tìm ra các giải pháp gần với phương pháp tối ưu nhất có thể (đường Pareto)

• Tính toán khoảng cách đông đúc (crowding distance) để cung cấp sự đa dạng của quần thể

• Mô phỏng quá trình tiến hóa trong tự nhiên nhằm giúp giữ lại các cá thể (các phương án) tốt nhất qua mỗi thế hệ

Gi ải thuật NSGA-III

Trong [15], nhóm tác giả đã giới thiệu một phiên bản mới thuộc lớp giải thuật tiến hóa đa mục tiêu là NSGA-III, hay Non-dominated Sorting Genetic Algorithm III, là một thuật toán tối ưu hóa đa mục tiêu dựa trên nguyên lý tối ưu hóa tiến hóa, sử dụng các toán tử di truyền như lựa chọn, lai ghép và đột biến NSGA-III là một cải tiến của NSGA-II, nhằm giải quyết tốt hơn các vấn đề có nhiều hơn hai mục tiêu, bằng việc sử dụng chiến lược lựa chọn dựa trên các điểm tham chiếu để duy trì sự đa dạng của quần thể [16]

Hình 2.1: Sơ đồ giải thuật:

Hình 2.15 : Sơ đồ giải thuật NSGA-III

Sau khi đã trải qua các bước nhân chéo, đột biến và thực hiện Non-dominated Sorting, NSGA-III sẽ thực hiện việc chuẩn hóa (normalize) các cá thể trong không gian mục tiêu

Một loạt các điểm reference point sẽ được sử tạo ra để duy trì sự đa dạng Số lượng các điểm reference point phụ thuộc vào số lượng các mục tiêu của bài toán tối ưu hóa đa mục tiêu Một cách thường được sử dụng để tính số lượng các điểm reference point là sử dụng công thức sau [17]:

• N là số lượng các điểm reference point

• M là số lượng các mục tiêu

• P là một số nguyên dương

Ví dụ, đối với bài toán có M=3 mục tiêu, và chọn chia mỗi trục mục tiêu làm 4

(P=4), lúc này 15 điểm reference points trên normalized hyperplane sẽ được dựng như hình 2.14

Hình 2.16: 15 điểm reference points với M=3, P=4 [15] Để thực hiện công việc chuẩn hóa, NSGA-III sẽ cần tính Idea-point, là giá trị cực tiểu của mỗi hàm mục tiêu (z i min )

Các điểm extreme point cho mỗi trục mục tiêu cũng sẽ được tính toán bằng cách tìm cá thể có giá trị Achievement Scalarization Function (ASF) cho mỗi hàm mục tiêu là nhỏ nhất cùng weight-vertor wtương ứng Weight-vector w được tạo ra với nguyên tắc ứng với hàm mục tiêu nào thì vị trí đó sẽ mang giá trị là 1, còn lại sẽ là 1e -6 Ví dụ weight-vector w 1 cho hàm mục tiêu thứ 1 là [1, 1e -6 , 1e -6 ]

Hàm Achievement Scalarization Function (ASF)

Với f’ i (x) = fi(x) – zi min x là cá thể và f là hàm mục tiêu của cá thể x

Giá sử ta có một quần thể có 5 cá thể có 3 hàm mục tiêu như sau:

Lúc này idea-point sẽ là z min = (0.1, 0.1, 0.1)

Ví dụ ta cần tính điểm extreme point cho mục tiêu thứ 3 (z 3,max ) với weight- vector w 3 = [1e -6 , 1e -6 , 1], ta tính giá trị ASF cho từng các thể trên như sau:

Tương tự như vậy, ta có

Lấy cá thể có giá trị ASF bé nhất, ta thu được extreme point của hàm mục tiêu thứ 3 là z 3,max = C5 = (0.4, 0.4, 0.9)

Làm tương tự như vậy đối với 2 trục mục tiêu còn lại, ta thu tiếp được hai điểm z 1,max và z 2, max , dựng một mặt phẳn đi qua 3 điểm extreme point và tìm được 3 điểm cắt với các trục mục tiêu là a1,a2,a3như hình 2.15

Hình 2.17: Điểm cắt giữa mặt phẳng extreme points và các trục mục tiêu [15]

Lúc này, giá trị các hàm mục tiêu của mỗi cá thể sẽ được chuẩn hóa (normalize) bằng công thức sau: fi n(x) = 𝑓𝑓 𝑚𝑚 ′ (𝑥𝑥)

𝑎𝑎 𝑚𝑚 −𝑧𝑧 𝑚𝑚 𝑚𝑚𝑚𝑚𝑚𝑚 với i = 1, 2,… ,M Sau khi đã thực hiện chuẩn hóa các cá thể, NSGA-III sẽ phân loại điểm này về với các đường reference tương ứng (associate operation), bằng cách tính khoảng cách giữa cá thể và đường reference Khâu này được thể hiện qua hình 2.16

Hình 2.18: Quá trình phân loại cá thể về đường reference line [15]

Lựa chọn cá thể (selection) Ở mỗi lớp xếp hạng được sinh ra từ việc thực hiện Non-dominated Sorting, NSGA- III sẽ thực hiện ngẫu nhiên việc lựa chọn các đường reference và các cá thể có khoảng cách gần đường reference sẽ được ưu tiên lựa chọn Đây là điểm khác biệt so với NSGA-II khi mà việc lựa chọn ưu tiên các cá thể có chỉ số crowding-distance lớn

Các công trình nghiên cứu liên quan

Phương pháp tối ưu hóa đơn mục tiêu truyền thống (single-objective optimization)

objective optimization) Ở giai đoạn này, các bài toán lập lịch truyền thống chỉ tập trung vào một mục tiêu duy nhất là cực tiểu thời gian thực hiện công việc Đây được coi bài toán tối ưu đơn mục tiêu cổ điển Một số hướng tiếp cận truyền thống đối với dạng toán này có thể kể đến như giải thuật nhánh và cận (branch and bound), quy hoạch động (dynamic programing) hoặc lập trình luồng mạng (network flow programming) Ngoài ra còn một số phương pháp khác như tabu search hoặc genetic algorithm

Khi đối mặt với vấn đề tìm ra phương án tối ưu trên một tập hợp hữu hạn các phương án, một cách tiếp cận hiển nhiên là liệt kê tất cả các phương án rồi chọn phương án tốt nhất Tuy nhiên, cách tiếp cận như vậy là không khả thi về mặt tính toán Cơ sở lý luận đằng sau thuật toán rẽ nhánh và ràng buộc là để giảm số lượng các phương án thay thế cần được xem xét bằng cách liên tục phân chia vấn đề thành một tập các bài toán con nhỏ hơn và sử dụng thông tin cục bộ dưới dạng giới hạn để loại bỏ những vấn đề có thể được chỉ ra là tối ưu Các phương thức triển khai nhánh và ràng buộc đơn giản nhất là những triển khai dựa trên cách tiếp cận mang tính xây dựng, trong đó các giải pháp từng phần được xây dựng dựa trên từng phần tử một

Một số vấn đề tối ưu sử dụng giải thuật này đã được công bố như node coloring [24], knapsack problems [25], The traveling salesman problem [26] Ưu điểm:

• Giải thuật Branch and Bound đảm bảo tìm kiếm toàn bộ không gian giải pháp và đưa ra kết quả tối ưu

• Nếu được thiết kế và triển khai đúng cách, nó có thể đạt hiệu suất tốt trong việc giải quyết các bài toán tối ưu

• Thường có độ phức tạp tính toán cao, đặc biệt là khi kích thước của không gian giải pháp lớn

• Yêu cầu quá trình phân nhánh và xác định các giới hạn mức giá trị tốt nhất có thể, điều này đòi hỏi sự hiểu biết sâu về bài toán và khả năng xây dựng hàm giá trị tối ưu

Giống như branch and bound, lập trình động (dynamic programing) là một quy trình giải quyết các vấn đề tối ưu hóa bằng cách chia nhỏ chúng thành các vấn đề đơn giản hơn Nó giải quyết vấn đề theo từng giai đoạn, giải quyết tất cả các lựa chọn ở một giai đoạn cụ thể trước khi chuyển sang giai đoạn tiếp theo Tuy nhiên, không giống như các cấp độ của cây trong branch and bound phân vùng vấn đề bằng cách thêm các ràng buộc, các giai đoạn trong dynamic programing được liên kết bởi một mối quan hệ đệ quy

Quy hoạch động được sử dụng trong vấn đề lập kế hoạch sản xuất [27] Các ví dụ khác như mô hình nhiều giai đoạn cho chiến lược bán vé [28], mô hình tối ưu hóa tuyến đường đi trong định hướng [29] Ưu điểm:

• Có thể giải quyết hiệu quả các bài toán tối ưu có cấu trúc lặp lại

• Tận dụng được tính chất chồng chéo của các bài toán con để giảm thời gian tính toán Nhược điểm:

• Đòi hỏi bộ nhớ lớn hơn do cần lưu trữ các bảng kết quả trung gian

• Không phù hợp với các bài toán không có tính chất chồng chéo hoặc cấu trúc lặp lại rõ ràng

Lập trình luồng mạng (Network Flow Programming) liên quan đến giải pháp cho các vấn đề có thể được mô hình hóa theo luồng hàng hóa thông qua mạng Thoạt nhìn, có vẻ như các mô hình như vậy có thể rất hạn chế trong ứng dụng của chúng, có lẽ bao gồm các lĩnh vực như dòng điện trong mạng điện, dòng chất lỏng trong mạng đường ống, luồng thông tin trong mạng truyền thông và luồng giao thông trong mạng đường bộ hoặc đường sắt Tuy nhiên, phạm vi của chúng rộng hơn nhiều Chúng không chỉ bao gồm một loạt các vấn đề về đồ thị và mạng dường như ít liên quan đến các luồng, chẳng hạn như đường đi ngắn nhất, cây bao trùm, các vấn đề về khớp và vị trí, mà còn mô hình hóa một loạt các vấn đề khác, từ lập kế

38 hoạch đến phân bổ các vấn đề để phân tích các tia X trong y tế Một số giải thuật trong lĩnh vực này đã được công bố như Ford–Fulkerson labeling [30], The Out-of-Kilter [31] Ưu điểm:

• Rất hiệu quả trong việc giải quyết các bài toán quản lý tài nguyên và luồng mạng

• Có nhiều giải thuật tối ưu khác nhau, như giải thuật Ford-Fulkerson và giải thuật Dinic, phù hợp với nhiều loại bài toán khác nhau

• Có thể gặp khó khăn trong việc xử lý các ràng buộc phức tạp và không gian giải pháp lớn

• Đòi hỏi kiến thức chuyên sâu về lý thuyết đồ thị và mạng lưới

Năm 1986, Fred Glover đề xuất một cách tiếp cận mới, mà ông gọi là tìm kiếm tabu, cho phép leo đồi (hill climbing) nhằm vượt qua tối ưu cục bộ Trên thực tế, nhiều yếu tố của đề xuất tìm kiếm tabu đầu tiên này, và một số yếu tố của các công thức sau này, đã được giới thiệu (Glover 1977), bao gồm trí nhớ ngắn hạn để ngăn chặn sự đảo ngược của các động thái gần đây và trí nhớ tần số dài hạn hơn để củng cố sức hấp dẫn các thành phần Nguyên tắc cơ bản của tìm kiếm tabu là theo đuổi tìm kiếm bất cứ khi nào gặp phải tối ưu cục bộ bằng cách cho phép di chuyển không cải thiện; việc quay trở lại các giải pháp đã truy cập trước đó bị ngăn chặn bằng cách sử dụng các bộ nhớ, được gọi là danh sách tabu, ghi lại lịch sử tìm kiếm gần đây Ý tưởng chính để khai thác thông tin để hướng dẫn tìm kiếm có thể được liên kết với các phương pháp tìm kiếm thông tin được đề xuất vào cuối những năm 1970 trong lĩnh vực trí tuệ nhân tạo (Nilsson 1980)

Trong [32], nhóm tác giả đã sử dụng tabu search trong việc giải quyết bài toán job shop scheduling problem trong việc phân công n jobs cho m machines Ngoài ra, tabu search cũng được sử dụng trong việc tối ưu chi phí thiết kế cho mạng lưới nước [33] Ưu điểm:

• Tìm kiếm không gian giải pháp một cách linh hoạt và đa dạng

• Có khả năng tránh rơi vào các vết cạn và cung cấp giải pháp tốt trong thời gian hợp lý

• Thường yêu cầu số lượng lớn tham số đầu vào và có thời gian chạy dài

• Có thể không đảm bảo tìm được giải pháp tối ưu toàn cục

Giải thuật tiến hóa (GA) lần đầu tiên được đưa ra bới giáo sư John Holland vào năm 1975 Nguồn cảm hứng chính của giải thuật dựa trên sự sinh sản và di truyền của của các sinh vật thông qua giao phối và đột biến của nhiễm sắc thể (chromosome) trên các thành phần gen DNA nhằm sinh ra thế hệ tiếp theo

Thông qua giải thuật này, một đáp án được biểu thị bằng một nhiễm sắc thể, trong đó các tham số của đáp án là các đoạn gen của nhiễm sắc thể, và thông qua đột biến và giao phối, để tạo ra các thế hệ tiếp theo, tức là các đáp án tiềm năng khác nhau Sau cùng, thông qua các điều kiện của bài toán, xác định xem liệu giải pháp đó nên được giữ lại hay bỏ đi khỏi đợt đột biến và giao phối tiếp theo Như vậy, sau mỗi thế hệ, các cá thể tốt hơn luôn được giữ lại, cho đến khi đạt được các điều kiện mong muốn

Trong [10], nhóm tác giả đã giải quyết bài toán xếp lịch công việc (job shop schedling) đối với n công việc và m máy Trong [23], nhóm tác giả đã thực hiện giải thuật tiến hóa cho việc phân chia nhân sự cho công việc trong dự án dựa trên năng lực của nhân viên Ưu điểm:

• Đa dạng hóa giải pháp và khả năng tìm kiếm không gian giải pháp rộng

• Có thể áp dụng cho các bài toán tối ưu không liên tục và không khả vi

• Không đảm bảo tìm kiếm được giải pháp tối ưu toàn cục

• Có thể yêu cầu số lượng lớn tham số đầu vào và có thời gian chạy dài.

Phương pháp tối ưu hóa đa mục tiêu truyền thống (multi-objective optimization)

Bài toán này được phát biểu như sau:

Tìm cực đại/cực tiểu hàm f m (x), m = 1, 2, …, m

So với các vấn đề chỉ có một mục tiêu cần thỏa mãn (single-objective optimization problem), ở đó có thể dễ dàng xác định được phương án duy nhất thỏa mãn bằng việc so sánh giá trị 1 hàm mục tiêu giữa ác phương án , thì đối với bài toán tối ưu đa mục tiêu (multi- objective optimization problem), nhiệm vụ là:

• Cố gắng tìm được các phương án tối ưu (đường pareto), nơi mà không có phương án nào trội hơn phương án nào

• Duy trì một tập hợp các giải pháp đa dạng nhất có thể

Có hai cách tiếp cận chung để tối ưu hóa đa mục tiêu Một là kết hợp các hàm mục tiêu riêng lẻ thành một hàm tổng hợp duy nhất hoặc chuyển tất cả trừ một mục tiêu sang tập ràng buộc Trong trường hợp trước, có thể xác định một mục tiêu duy nhất bằng các phương pháp như ε-Constraint Method, Weighted-Sum Approach, v.v., nhưng vấn đề nằm ở việc lựa chọn đúng trọng số hoặc hàm tiện ích để mô tả sở thích của người ra quyết định Trong thực tế, có thể rất khó để chọn đúng và chính xác các trọng số này, ngay cả đối với người quen thuộc với vấn đề Đặc biệt khi cần phải mở rộng quy mô giữa các mục tiêu, hoặc những nhiễu loạn nhỏ trong trọng số đôi khi có thể dẫn đến các giải pháp hoàn toàn khác nhau Đối với chuyển đổi các mục tiêu đến tập hợp ràng buộc, một giá trị ràng buộc sẽ phải được thiết lập cho từng mục tiêu trước đây Điều này có thể khá tùy tiện Trong cả hai trường hợp, một phương pháp tối ưu hóa sẽ trả về một giải pháp duy nhất thay vì một tập hợp các giải pháp có thể được kiểm tra để đánh đổi Vì lý do này, những người ra quyết định thường thích phương án thứ

2, một tập hợp các giải pháp tốt (xác định đường pareto) thỏa mãn nhiều mục tiêu

Phương pháp Weighted-Sum Approach đưa tập hợp các mục tiêu thành một mục tiêu duy nhất bằng cách nhân trước từng mục tiêu với trọng số do người dùng cung cấp:

Koski và Silvennoinen [34] đưa ra ứng dụng ban đầu và sử dụng phương pháp tổng trọng số để thu được nhiều nghiệm tối ưu Pareto với sự thay đổi có hệ thống về trọng số, đồng thời giảm thiểu khối lượng và chuyển vị nút của giàn không gian bốn thanh Trong [35] áp dụng phương pháp này để tối ưu hóa cấu trúc liên kết, tối thiểu hóa sự tuân thủ và tối đa hóa chế độ đầu tiên của tần số tự nhiên, cho các bài toán ứng suất phẳng hai chiều Một lần nữa, các trọng số được thay đổi để mang lại một biểu diễn của tập hợp tối ưu Pareto Ưu điểm:

• Phương pháp này khá đơn giản và dễ triển khai

• Cho phép người dùng đưa ra các trọng số khác nhau cho các mục tiêu để tạo ra các giải pháp tối ưu khác nhau

• Cung cấp một tập hợp các giải pháp tối ưu, tạo ra một biểu đồ Pareto trong không gian mục tiêu

• Cách tiếp cận này yêu cầu người dùng phải biết trước các trọng số chính xác để xây dựng hàm mục tiêu tổng hợp

• Không cho phép khám phá toàn bộ không gian giải pháp Pareto, chỉ tạo ra một tập hữu hạn các giải pháp

• Không đảm bảo tìm kiếm được giải pháp tối ưu toàn cục

3.2.2 ε-Constraint Method Để giảm bớt những khó khăn mà phương pháp tổng trọng số gặp phải trong việc giải các bài toán có không gian mục tiêu không lồi, phương pháp ràng buộc ε được sử dụng Trong [36] đã đề xuất cải tổ MOOP bằng cách chỉ giữ lại một trong các các mục tiêu và hạn chế phần còn lại của các mục tiêu trong các giá trị do người dùng chỉ định Các vấn đề sửa đổi là như sau:

Một số vấn đề tối ưu sử dụng phương pháp ε-Constraint Method đã được công bố như lập kế hoạch công suất phản kháng tối ưu đa mục tiêu trong điều kiện không chắc chắn về nhu cầu phụ tải và phát điện gió [37], lập lịch tối ưu đa mục tiêu cho lưới điện siêu nhỏ CCHP [38] Ưu điểm:

• Đưa ra một cách tiếp cận linh hoạt trong việc xác định các ràng buộc cho từng mục tiêu

• Cho phép người dùng xác định một giá trị ε để xác định mức độ ưu tiên giữa các mục tiêu

• Cung cấp một tập hợp các giải pháp tối ưu Pareto, cho phép người dùng lựa chọn giải pháp tốt nhất dựa trên sở thích cá nhân

• Yêu cầu xác định các giá trị ε và ràng buộc cho từng mục tiêu, điều này có thể khá phức tạp và đòi hỏi sự hiểu biết sâu về bài toán

• Việc tìm kiếm không gian giải pháp Pareto rất phụ thuộc vào việc chọn các giá trị ε phù hợp

• Không đảm bảo tìm kiếm được giải pháp tối ưu toàn cục.

Hướng tiếp cận tiến hóa đa mục tiêu (Evolutionary Algorithm)

Evolutionary Algorithm (EA), giải thuật dựa trên lý thuyết về tiến hóa tự nhiên, là một phương pháp phổ biến được lựa chọn đối với các bài toán tối ưu đa mục tiêu Nó là một phần trong lĩnh vực Trí tuệ nhân tạo và thuộc vào họ các thuật toán tối ưu hóa toàn cục Giải thuật

43 tiến hóa sử dụng các khái niệm như cá thể, quần thể và quá trình lai ghép để tìm ra giải pháp tối ưu cho một vấn đề cụ thể

Cơ sở của giải thuật tiến hóa là ý tưởng về sự tiến hóa tự nhiên, trong đó các cá thể tốt hơn có khả năng sinh sản và truyền lại các đặc điểm tốt cho thế hệ tiếp theo Tương tự, trong giải thuật tiến hóa, chúng ta bắt đầu với một quần thể các cá thể ngẫu nhiên và áp dụng các phép toán như lai ghép, đột biến và chọn lọc để tạo ra các thế hệ mới với cá thể có chất lượng tốt hơn

Một số ưu điểm so với 2 phương pháp truyền thống đã nêu trên:

• Kết quả là một tập hợp các phương án

• So với các phương pháp truyền thống, tính toán và ra quyết định dựa 1 ứng cử viên, Evolutionary Algorithm sẽ dựa trên nhiều ứng cử viên để làm việc này

Hiện các hướng nghiên cứu chính đối với giải thuật tiến hóa bao gồm 4 lĩnh vực sau:

• Genetic algorithm: Giải thuật tiến hóa phổ biến nhất là Thuật toán di truyền (GA) do nó cung cấp một cái nhìn rõ ràng về quá trình tiến hóa tự nhiên trên máy tính GA thường được áp dụng rộng rãi [11] trong các vấn đề liên quan đến học máy, nhận dạng mẫu và tối ưu hóa Thuật toán này được đề xuất lần đầu bởi Holland và nhóm nghiên cứu của ông vào năm 1970, chủ yếu để tìm kiếm và thiết kế các hệ thống thích ứng GA sử dụng các toán tử tái tổ hợp và đột biến để tìm ra giải pháp cho một vấn đề cụ thể Giải pháp được biểu diễn dưới dạng chuỗi số (thường là chuỗi nhị phân truyền thống), trong đó mỗi bit trong chuỗi đại diện cho một gen

• Genetic Programming: phương pháp tối ưu hóa dựa trên các nguyên tắc tiến hóa và di truyền Nó thuộc loại thuật toán tiến hóa và được phát triển bởi John Koza vào những năm 1990 GP được sử dụng để tạo ra các chương trình máy tính tự động mà có khả năng giải quyết các vấn đề phức tạp trong lĩnh vực trí tuệ nhân tạo

• Evolutionary Programming: phương pháp tối ưu hóa được áp dụng trong lĩnh vực trí tuệ nhân tạo và tối ưu hóa Nó thuộc về họ các thuật toán tiến hóa và được lấy cảm hứng từ quá trình tiến hóa tự nhiên trong tự nhiên EP được phát triển bởi Lawrence

J Fogel và các đồng nghiệp của ông vào những năm 1960 và 1970

• Evolutionary Strategy: là một phương pháp tối ưu hóa dựa trên các nguyên tắc tiến hóa và di truyền Nó thuộc loại thuật toán tiến hóa và được phát triển bởi Ingo Rechenberg và Hans-Paul Schwefel vào những năm 1960 và 1970 ES tập trung vào việc tìm kiếm các giải pháp tối ưu bằng cách thay đổi và tiến hóa các tham số của một phân phối xác suất

Tiếp theo, tác giả sẽ trình bày 1 số giải thuật thuộc lĩnh vực giải thuật di truyền (Genetic algorithm) áp dụng cho các bài toán tối ưu đa mục tiêu

Vector Evaluated Genetic Algorithm (VEGA)

Phiên bản đầu tiên của MOEA rất đơn giản Một ví dụ điển hình về điều này là Vector Evaluated Genetic Algorithm (VEGA) [39], trong đó số lượng quần thể được chia thành nhiều quần thể phụ bằng số lượng mục tiêu của MOP cần giải quyết (chỉ các vấn đề có hai mục tiêu là thường được xem xét tại thời điểm đó) Sau đó, các giải pháp trong mỗi quần thể phụ được chọn dựa trên hiệu suất của chúng đối với một mục tiêu duy nhất (ví dụ: các cá nhân trong quần thể phụ đầu tiên được chọn dựa trên hiệu suất của mục tiêu đầu tiên) Sau đó, các cá nhân của tất cả các quần thể nhỏ được xáo trộn với mục đích kết hợp lại các giải pháp tốt nhất trong mục tiêu đầu tiên với những giải pháp tốt nhất trong mục tiêu thứ hai Khi được kết hợp với lựa chọn theo tỷ lệ (ví dụ: phương pháp bánh xe roulette), VEGA đã tạo ra các giải pháp tương tự như các giải pháp thu được khi sử dụng hàm tổng hợp tuyến tính để kết hợp tất cả các các hàm mục tiêu thành một giá trị vô hướng duy nhất Ưu điểm của VEGA là ít phức tạp về thời gian hơn vì không cần chuyển đổi các giá trị đa mục tiêu thành một giá trị, không cần tính toán mức độ chi phối của từng cá nhân dựa trên mối quan hệ chi phối Tuy nhiên, các đặc điểm của VEGA gây ra sai lệch lựa chọn, chất lượng của các giải pháp thu được sẽ không tốt do các phương án vượt trội có xu hướng hội tụ trong một mục tiêu, nhưng kém ở các mục tiêu khác

Multi-Objective Genetic Algorithm (MOGA)

Goldberg trong cuốn sách chuyên đề của mình về thuật toán di truyền [40] một cơ chế gọi là xếp hạng Pareto cho sơ đồ lựa chọn của MOEA Ý tưởng cốt lõi của xếp hạng Pareto là xếp hạng dân số của một thuật toán tiến hóa dựa trên tính tối ưu Pareto, sao cho các giải pháp không bị chi phối có được thứ hạng cao nhất (tốt nhất) có thể và được lấy mẫu ở cùng một tỷ lệ (nghĩa là tất cả các giải pháp không bị chi phối có cùng xác suất của sự sống còn)

Từ ý tưởng trên, Fonseca và Fleming [42] đã giới thiệu Multi-Objective Genetic Algorithm (MOGA), trong đó việc xếp hạng được thực hiện trong một lần duy nhất (bằng cách so sánh từng cá nhân với mọi người khác, về mặt tối ưu Pareto) Tuy nhiên, nhược điểm MOGA thường cho tốc độ hội tụ chậm

Strength Pareto Evolutionary Algorithm (SPEA)

Zitzler đã giới thiệu Strength Pareto Evolutionary Algorithm (SPEA) [41], trong đó đề xuất không chỉ sử dụng một kho lưu trữ bên ngoài để lưu trữ các giải pháp không thống trị, mà còn đề xuất cắt bớt một kho lưu trữ như vậy sau khi đạt đến giới hạn nhất định (do người dùng xác định) Để đạt được điều này, ông đã áp dụng phân cụm Tuy nhiên, các phương án để phân cụm là 1 thách thức đối với SPEA

Nondominated Sorting Genetic Algorithm-II (NSGA-II)

Nondominated Sorting Genetic Algorithm-II (NSGA-II) [43] xác định tập hợp các phương án tối ưu thông qua cơ chế xếp hạng hiệu quả các phương án qua mỗi thế hệ (Nondominated Sorting), đồng thời duy trì sự đa dạng bằng việc tính toán chỉ số crowding- distance Trong [44], NSGA-II tỏ ra hiệu qua hơn hẳn so với SPEA trong việc giải quyết bài toán KUR Trong [9] nhóm tác giả đã áp dụng NSGA-II trong việc giải bài toán phân chia công việc đa mục tiêu

Nondominated Sorting Genetic Algorithm-III (NSGA-III)

NSGA-III (Non-dominated Sorting Genetic Algorithm III) là một thuật toán tiến hóa đa mục tiêu được phát triển để giải quyết các bài toán tối ưu hóa đa mục tiêu Nó là một phiên bản cải tiến của NSGA-II và được đề xuất bởi Deb và các đồng nghiệp vào năm 2013 [15].

Phương pháp học máy

Phương pháp học máy đã trở thành một công cụ mạnh mẽ trong việc giải quyết bài toán xếp lịch đa mục tiêu từ giai đoạn 2010 đến nay Các thuật toán học máy có thể học từ dữ liệu và tự động cải thiện hiệu suất thông qua kinh nghiệm

Các phương pháp học máy thường được sử dụng trong việc giải quyết bài toán xếp lịch đa mục tiêu có thể xem xét như các thuật toán phân loại, học có giám sát, học không giám sát, học sâu và học tăng cường Các thuật toán này có thể được sử dụng để dự đoán và tối ưu hóa các mục tiêu dựa trên dữ liệu lịch sử

Trong giai đoạn từ 2010 đến nay, phương pháp học sâu (deep learning) đã trở thành một công cụ mạnh mẽ trong việc giải quyết bài toán xếp lịch đa mục tiêu Học sâu là một lĩnh vực của học máy tập trung vào việc xây dựng và huấn luyện các mô hình mạng neural sâu để hiểu và biểu diễn dữ liệu phức tạp Trong [45], nhóm tác giả tập trung vào việc nghiên cứu vấn đề lập lịch công việc linh hoạt (flexible jon shop scheduling) - một phần quan trọng của quản lý sản xuất Trong bài báo này, học sâu tăng cường (DRL) được đề xuất để giải quyết FJSP động (DFJSP) với sự xuất hiện ngẫu nhiên của công việc, với mục tiêu là giảm thiểu hình phạt cho sự sớm và muộn Ứng dụng học sâu trong xếp lịch đa mục tiêu mang lại một số ưu điểm quan trọng:

• Khả năng biểu diễn mô hình phức tạp: Học sâu cho phép mô hình hóa quan hệ phức tạp giữa các yếu tố trong bài toán xếp lịch Các mô hình mạng neural sâu có khả năng học và tự tinh chỉnh các đặc trưng quan trọng từ dữ liệu đầu vào, giúp tạo ra các lịch trình tối ưu

• Tính linh hoạt và khả năng tự động hóa: Học sâu cho phép tự động hóa quá trình xây dựng và tối ưu hóa lịch trình Các mô hình mạng neural sâu có thể được huấn luyện thông qua quá trình tối ưu động (end-to-end), từ dữ liệu đầu vào đến lịch trình tối ưu, mà không cần các quy tắc cụ thể được lập trình

Mặc dù học sâu mang lại nhiều lợi ích, nó cũng có một số nhược điểm:

• Đòi hỏi dữ liệu lớn: Học sâu thường yêu cầu một lượng lớn dữ liệu huấn luyện để đạt được hiệu suất tốt Trong bài toán xếp lịch đa mục tiêu, việc có đủ dữ liệu huấn luyện chất lượng và đa dạng có thể là một thách thức

• Khó hiểu và khó giải thích: Các mô hình mạng neural sâu thường là mô hình phức tạp với nhiều lớp và tham số Điều này làm cho chúng khó hiểu và khó giải thích

Trong bài toán xếp lịch đa mục tiêu, việc giải thích lý do một lịch trình được tạo ra cũng có thể là một thách thức

3.4.2 Phương pháp học tăng cường

Phương pháp học tăng cường (reinforcement learning) đã được áp dụng để giải quyết bài toán xếp lịch đa mục tiêu một cách hiệu quả Tăng cường là một lĩnh vực của học máy tập

47 trung vào việc huấn luyện các mô hình để tìm hiểu và tối ưu hóa hành vi dựa trên phản hồi từ môi trường Trong [46], nhóm tác giả sử dụng một thuật toán học tăng cường dựa trên nền tảng Q-learning để tối ưu hóa các quyết định lập lịch trên một lưới điện đáp ứng Bài báo cũng đề xuất một cách tiếp cận thực nghiệm để đánh giá hiệu suất của thuật toán

Phương pháp tăng cường mang lại một số ưu điểm quan trọng trong việc giải quyết bài toán xếp lịch đa mục tiêu:

• Khả năng tìm hiểu và tối ưu hóa qua trải nghiệm: Phương pháp tăng cường cho phép mô hình học thông qua việc tương tác với môi trường và nhận phản hồi từ nó Bằng cách thử và sai, mô hình có khả năng tìm hiểu và tối ưu hóa các hành vi xếp lịch dựa trên các kết quả trực tiếp từ môi trường

• Độ linh hoạt và khả năng thích ứng: Phương pháp tăng cường có thể thích ứng với các ràng buộc và mục tiêu thay đổi trong bài toán xếp lịch đa mục tiêu Mô hình có thể được điều chỉnh và cải thiện theo thời gian, đồng thời ứng phó với sự thay đổi của môi trường và yêu cầu mới

Mặc dù phương pháp tăng cường có nhiều ưu điểm, nó cũng đặt ra một số nhược điểm:

• Đòi hỏi thời gian huấn luyện dài: Phương pháp tăng cường yêu cầu thời gian huấn luyện dài để mô hình có thể học và cải thiện Trong bài toán xếp lịch đa mục tiêu, việc huấn luyện mô hình có thể tốn nhiều thời gian và tài nguyên tính toán

• Khó khăn trong việc xác định phần thưởng: Để huấn luyện mô hình tăng cường, cần xác định một hàm phần thưởng (reward function) phù hợp Trong bài toán xếp lịch đa mục tiêu, việc xác định phần thưởng thích hợp và đúng đắn có thể là một thách thức

3.4.3 Phương pháp học giám sát

Trong giai đoạn từ 2010 đến nay, phương pháp học giám sát (supervised learning) đã được áp dụng để giải quyết bài toán xếp lịch đa mục tiêu một cách hiệu quả Học giám sát là một phương pháp trong học máy, trong đó mô hình được huấn luyện bằng cách sử dụng tập dữ liệu huấn luyện đã được gán nhãn Trong [47], Bài báo này đề xuất một chiến lược lập lịch động dựa trên một cửa sổ cuộn và một thuật toán tối ưu hóa đa pha bằng cách sử dụng máy vector hỗ trợ (SVM) Bài báo cho thấy phương pháp đề xuất có thể giải quyết bài toán xếp lịch công việc linh hoạt động (DFJSP) một cách hiệu quả và ổn định

Phương pháp học giám sát mang lại một số ưu điểm quan trọng trong việc giải quyết bài toán xếp lịch đa mục tiêu:

• Dễ triển khai và áp dụng: Phương pháp học giám sát dựa trên việc sử dụng dữ liệu huấn luyện đã được gán nhãn Điều này giúp việc triển khai và áp dụng phương pháp trở nên dễ dàng và tiện lợi

Bàn lu ận

Với hướng nghiên cứu nhằm xếp lịch nhiều nhóm với nhiều mục tiêu cần tối ưu (multi- team multi-objective job scheduling), một dạng toán mở rộng multi-objective job scheduling, để đưa ra quyết định trong việc chọn hướng tiếp cận giải thuật di truyền, cụ thể ở đây là giải thuật NSGA-II và NSGA-III cho bài toán, tác giả đã nhìn vào một số ưu điểm của giải thuật như sau:

• Sử dụng kỹ thuật sắp xếp non-dminated sorting nhằm tìm ra các giải pháp gần với phương pháp tối ưu nhất có thể (đường Pareto), kết hợp với các phương án lựa chọn dựa trên chỉ số crowding-distance của NSGA-II hoặc cơ chế chọn các phương án dựa trên các đường reference của NSGA-III

• Mô phỏng quá trình tiến hóa trong tự nhiên thông qua cơ chế nhân chéo và đội biến giúp khám phá được nhiều phương án tiềm năng

• Không cần phải chuẩn bị nhiều tập dữ liệu để huấn luyện trước

Với độ phức tạp của đề tài, khi giờ đây không những phân việc cho nhiều nhóm cùng một lúc mà còn phải thỏa mãn một số mục tiêu khác, tác giả cho rằng việc sử dụng hướng tiếp cận giải thuật di truyền, là phù hợp với yêu cầu bài toán đề ra

Mô hình đề xuất

Mô hình tham khảo

Để thực hiện đề tài này, tác giả tham khảo mô hình được đề xuất trong bài báo

"Multi-objective job shop scheduling using i-NSGA-III" [48], các tác giả đã sử dụng thuật toán di truyền đa mục, cụ thể là NSGA-III để giải quyết bài toán lập lịch công việc trên một nhóm các máy Để áp dụng thuật toán di truyền cho bài toán JSSP, bài báo đã trình bày về cách mã hóa cá thể, phương pháp crossover và mutation, cơ chế lựa chọn như sau:

• Mã hóa cá thể: Mỗi cá thể trong quần thể được mã hóa bằng một vector có độ dài bằng số lượng công việc Mỗi phần tử của vector là một số nguyên dương thể hiện máy móc được chọn để thực hiện công việc tương ứng Ví dụ, nếu có

10 công việc và 3 máy móc, một cá thể có thể được mã hóa như [1, 2, 3, 1, 2,

3, 1, 2, 3, 1], nghĩa là công việc 1 được thực hiện trên máy 1, công việc 2 trên máy 2, v.v

• Phương pháp crossover: Bài báo sử dụng một phương pháp nhân chéo (multi- crossover) để kết hợp thông tin di truyền của hai cha mẹ để tạo ra các con cái mới Phương pháp này sử dụng một chuỗi mặt nạ để xác định bit nào được chọn từ cha hay mẹ Ví dụ, nếu chuỗi bit là [0, 1, 0, 1, 0, 1, 0, 1, 0, 1], thì bit đầu tiên của con cái sẽ được lấy từ bit đầu tiên của cha, bit thứ hai của con cái sẽ được lấy từ bit thứ hai của mẹ, và cứ tiếp tục như vậy Phương pháp này giúp tăng khả năng khám phá không gian tìm kiếm và tạo ra các lời giải đa dạng hơn

• Phương pháp mutation: Bài báo sử dụng một phương pháp đột biến ngẫu nhiên

(random mutation) để thay đổi một số bit của một cá thể để tạo ra một cá thể mới Phương pháp này sử dụng một tham số xác suất để xác định xem bit nào sẽ được đột biến Ví dụ, nếu xác suất đột biến là 0.1, thì mỗi bit của cá thể có

10% cơ hợp được đột biến Đột biến được thực hiện bằng cách thay đổi giá trị của bit thành một giá trị ngẫu nhiên khác trong phạm vi cho phép Ví dụ, nếu bit đang có giá trị là 1, thì nó có thể được đột biến thành 2 hoặc 3 Phương pháp này giúp duy trì sự đa dạng của quần thể và tránh bị mắc kẹt ở cực trị địa phương

• Cơ chế lựa chọn: Bài báo sử dụng thuật toán NSGA-III (Non-dominated Sorting Genetic Algorithm III) để lựa chọn các cá thể cho quần thể tiếp theo

NSGA-III là một thuật toán tối ưu hóa đa mục tiêu, sử dụng một cơ chế phân tầng để duy trì một tập hợp các lời giải không thống trị, tức là không có lời giải nào tốt hơn lời giải khác về tất cả các mục tiêu³ NSGA-III cũng sử dụng một cơ chế phân đoạn để đảm bảo sự đa dạng của quần thể trên không gian mục tiêu³ NSGA-III giúp tối ưu hóa cả hai mục tiêu là thời gian hoàn thành và lượng carbon thải ra.

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

Về phương pháp đánh giá, tác giả tập trung vào hai khía cạnh sau:

• Sự tối ưu của lời giải: So sánh lời giải tối ưu tìm được bởi NSGA-II và NSGA-III

• Tốc độ hội tụ: So sánh số lượng thế hệ (generation) hoặc thời gian cần thiết để thuật toán đạt được lời giải tốt nhất hoặc lời giải xấp xỉ tốt nhất có thể của NSGA-II và NSGA-III đối với từng mục tiêu

Tập dữ liệu và phương pháp xử lý

Bài toán xếp lịch POC Biển Đông là bài toán xếp lịch các công việc trên nhiều nhóm đa mục tiêu, đồng thời cũng phải thỏa mãn các ràng buộc Kết quả đầu ra là một bản sắp xếp công việc sao cho mỗi công việc sẽ phải hoàn thành trong một khoảng thời gian nhất định tại 1 địa điểm phù hợp với nguồn lực được biên chế trong ngày hôm đó

Bảng 4.1: bảng thông tin công việc POC Biển Đông

Bảng thông tin nguồn lực:

• Parent: mã công việc cha

• Estdur: thời gian dự kiến (giờ)

• Alt_bdpocdiscipline: nhóm thay thế

• Site: địa điểm thực hiện

Có thể thấy đầu việc H13824916 đang được phân cho nhóm E&I tại mỏ HT, phân thành 6 việc nhỏ và ban đầu phân cho nhóm E&I (cột Bdpocdiscipline) Cột Alt_bdpocdiscipline là các nhóm có thể thay thế đối với một số công việc con thuộc công việc H13824916

Bảng 4.2: Bảng thông tin nguồn lực POC Biển Đông wonum parent site bdpocdiscipline alt_bdpocdiscipline estdur targstartdate targcompdate

10 H13824944 HT E&I | 44 01/03/0002 31/03/0002 date HT MT bdpocdiscipline

• HT: Mỏ Hải Thạch (số người)

• MT: Mỏ Mộc Tinh (số người)

• Date: ngày phân bổ nhân sự

Sắp xếp thời gian thực hiện, nhân lực cho các job con có cột parent khác rỗng sao cho:

• Số job vi phạm deadline hoặc vi phạm nguồn lực (F1): Phải về 0

• Số lượng nhân sự vượt quá nguồn cung (F2): Phải về 0

• Tổng hiệu số giữa ngày bắt đầu dự kiến và ngày kết thúc dự kiến (F3): càng thấp càng tốt

Các ràng buộc mà bài toán phải thỏa mãn:

• Về lịch làm việc, mỗi người một ngày làm không quá 10 tiếng, một ngày chia làm 20 ca, mỗi ca tương ứng là 30 phút được đánh mã từ 0 đến 19

• Phân công m người cho n ca của 1 công việc sao cho: m*n*0.5 = estdur

Tổng cộng có 3 tập dữ liệu cần phân chia công việc thuộc dự án, số lượng công việc của mỗi tập dữ liệu được trình bày ở bảng

Bảng 4.3: Số lượng công việc của tập dữ liệu

Tổng số công việc

Ngày đăng: 22/05/2024, 11:11

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[15] Deb, Kalyanmoy, and Himanshu Jain. "An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: solving problems with box constraints." IEEE transactions on evolutionary computation 18.4 (2013): 577-601 Sách, tạp chí
Tiêu đề: An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: solving problems with box constraints
Tác giả: Deb, Kalyanmoy, and Himanshu Jain. "An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: solving problems with box constraints." IEEE transactions on evolutionary computation 18.4
Năm: 2013
[17] Deb, Kalyanmoy, Sunith Bandaru, and Haitham Seada. "Generating uniformly distributed points on a unit simplex for evolutionary many-objective optimization." Evolutionary Multi-Criterion Optimization: 10th International Conference, EMO 2019, East Lansing, MI, USA, March 10-13, 2019, Proceedings 10. Springer International Publishing, 2019 Sách, tạp chí
Tiêu đề: Generating uniformly distributed points on a unit simplex for evolutionary many-objective optimization
[18] Y. Li, J. Gao, M. Bai, C. Li, and G. Liu, “A heuristic algorithm based on tour rebuilding operator for the traveling salesman problem,” p. arXiv:1911.01663, November 01, 2019 2019 Sách, tạp chí
Tiêu đề: A heuristic algorithm based on tour rebuilding operator for the traveling salesman problem
[20] Wurmen. “Wurmen/Genetic-Algorithm-for-Job-Shop-Scheduling-and-NSGA-II: Learning How to Implement GA and NSGA-II for Job Shop Scheduling Problem in Python.” GitHub, github.com/wurmen/Genetic-Algorithm-for-Job-Shop-Scheduling-and-NSGA-II. Accessed 19 Dec. 2022 Sách, tạp chí
Tiêu đề: Wurmen/Genetic-Algorithm-for-Job-Shop-Scheduling-and-NSGA-II: Learning How to Implement GA and NSGA-II for Job Shop Scheduling Problem in Python
[25] Martello, S., & Toth, P. (1990). Knapsack problems: algorithms and computer implementations. John Wiley & Sons, Inc Sách, tạp chí
Tiêu đề: Knapsack problems: algorithms and computer implementations
Tác giả: Martello, S., & Toth, P
Năm: 1990
[26] Little, J. D., Murty, K. G., Sweeney, D. W., & Karel, C. (1963). An algorithm for the traveling salesman problem. Operations research, 11(6), 972-989 Sách, tạp chí
Tiêu đề: Operations research, 11
Tác giả: Little, J. D., Murty, K. G., Sweeney, D. W., & Karel, C
Năm: 1963
[27] Findlay, P. L., Kobbacy, K. A. H., & Goodman, D. J. (1989). Optimization of the daily production rates for an offshore oilfield. Journal of the Operational Research Society, 40(12), 1079-1088 Sách, tạp chí
Tiêu đề: Journal of the Operational Research Society, 40
Tác giả: Findlay, P. L., Kobbacy, K. A. H., & Goodman, D. J
Năm: 1989
[28] Clarke, S. R., & Norman, J. M. (1999). To run or not?: Some dynamic programming models in cricket. Journal of the Operational Research Society, 50(5), 536-545 Sách, tạp chí
Tiêu đề: Journal of the Operational Research Society, 50
Tác giả: Clarke, S. R., & Norman, J. M
Năm: 1999
[29] Hayes, M., & Norman, J. M. (1984). Dynamic programming in orienteering: route choice and the siting of controls. Journal of the Operational Research Society, 35(9), 791-796 Sách, tạp chí
Tiêu đề: Journal of the Operational Research Society, 35
Tác giả: Hayes, M., & Norman, J. M
Năm: 1984
[31] Fulkerson, D. R. (1961). An out-of-kilter method for minimal-cost flow problems. Journal of the Society for Industrial and Applied Mathematics, 9(1), 18-27 Sách, tạp chí
Tiêu đề: Journal of the Society for Industrial and Applied Mathematics, 9
Tác giả: Fulkerson, D. R
Năm: 1961
[32] Anderson, E. J., Glass, C. A., & Potts, C. N. (1997). Machine scheduling. Local search in combinatorial optimization, 11, 361-414 Sách, tạp chí
Tiêu đề: Local search in combinatorial optimization, 11
Tác giả: Anderson, E. J., Glass, C. A., & Potts, C. N
Năm: 1997
[33] da Conceicao Cunha, M., & Ribeiro, L. (2004). Tabu search algorithms for water network optimization. European Journal of Operational Research, 157(3), 746-758 Sách, tạp chí
Tiêu đề: European Journal of Operational Research, 157
Tác giả: da Conceicao Cunha, M., & Ribeiro, L
Năm: 2004
[34] Koski, J., & Silvennoinen, R. (1987). Norm methods and partial weighting in multicriterion optimization of structures. International Journal for Numerical Methods in Engineering, 24(6), 1101-1121 Sách, tạp chí
Tiêu đề: International Journal for Numerical Methods in Engineering, 24
Tác giả: Koski, J., & Silvennoinen, R
Năm: 1987
[35] Proos, K. A., Steven, G. P., Querin, O. M., & Xie, Y. M. (2001). Multicriterion evolutionary structural optimization using the weighting and the global criterion methods. AIAA journal, 39(10), 2006-2012 Sách, tạp chí
Tiêu đề: AIAA journal, 39
Tác giả: Proos, K. A., Steven, G. P., Querin, O. M., & Xie, Y. M
Năm: 2001
[36] Haimes, Y. (1971). On a bicriterion formulation of the problems of integrated system identification and system optimization. IEEE transactions on systems, man, and cybernetics, 1(3), 296-297 Sách, tạp chí
Tiêu đề: IEEE transactions on systems, man, and cybernetics, 1
Tác giả: Haimes, Y
Năm: 1971
[38] Yang, X., Leng, Z., Xu, S., Yang, C., Yang, L., Liu, K., ... & Zhang, L. (2021). Multi-objective optimal scheduling for CCHP microgrids considering peak- load reduction by augmented ε-constraint method. Renewable Energy, 172, 408- 423 Sách, tạp chí
Tiêu đề: Renewable Energy, 172
Tác giả: Yang, X., Leng, Z., Xu, S., Yang, C., Yang, L., Liu, K., ... & Zhang, L
Năm: 2021
[41] Zitzler, E., & Thiele, L. (1999). Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach. IEEE transactions on Evolutionary Computation, 3(4), 257-271 Sách, tạp chí
Tiêu đề: IEEE transactions on Evolutionary Computation, 3
Tác giả: Zitzler, E., & Thiele, L
Năm: 1999
[4] Kolisch, R., & Hartmann, S. (2020). Resource-constrained multi-project scheduling: benchmark datasets and computational results. Journal of Scheduling, 23(6), 759-775. https://doi.org/10.1007/s10951-020-00651-w Link
[21] DAA Divide and Conquer Introduction - javatpoint. (n.d.). www.javatpoint.com. Retrieved December 19, 2022, from https://www.javatpoint.com/divide-and-conquer-introduction Link
[22] The Job Shop Problem | OR-Tools | Google Developers. (n.d.). Google Developers. Retrieved December 19, 2022, fromhttps://developers.google.com/optimization/scheduling/job_shop Link

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Công cụ lập lịch Google calendar - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 1.1 Công cụ lập lịch Google calendar (Trang 14)
Hình 1.2: Các hướng nghiên cứu bài toán xếp lịch - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 1.2 Các hướng nghiên cứu bài toán xếp lịch (Trang 15)
Hình 1.3: Hình minh họa lịch làm việc của một cá nhân - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 1.3 Hình minh họa lịch làm việc của một cá nhân (Trang 18)
Hình 1.4: Minh họa xếp lịch trên một nhóm nhiều máy - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 1.4 Minh họa xếp lịch trên một nhóm nhiều máy (Trang 21)
B ảng 1.2: Bảng thông tin thời gian hoàn thành công việc của các máy - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
ng 1.2: Bảng thông tin thời gian hoàn thành công việc của các máy (Trang 22)
Hình 1.5: xếp lịch trên nhiều nhóm nhiều máy - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 1.5 xếp lịch trên nhiều nhóm nhiều máy (Trang 23)
Hình 2.1 : Sơ đồ giải thuật di truyền - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 2.1 Sơ đồ giải thuật di truyền (Trang 27)
Hình 2.3: Single point crossover - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 2.3 Single point crossover (Trang 29)
Hình 2.4: Multi-point crossover - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 2.4 Multi-point crossover (Trang 29)
Hình 2.9: Minh họa vị trí của A, B, C, D trên 2 trục mục tiêu - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 2.9 Minh họa vị trí của A, B, C, D trên 2 trục mục tiêu (Trang 37)
Hình 2.10: Sơ đồ giải thuật đánh giá trội trong NSGA-II [16] - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 2.10 Sơ đồ giải thuật đánh giá trội trong NSGA-II [16] (Trang 38)
Hình 2.13: M ật độ của các lời giải xung quanh  một phương án - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 2.13 M ật độ của các lời giải xung quanh một phương án (Trang 39)
Hình 2.11: Giá tr ị hàm muc  tiêu của các cá thể - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 2.11 Giá tr ị hàm muc tiêu của các cá thể (Trang 39)
Hình 2.12: Minh họa đường pareto (màu đỏ)  trong bài toán có 3 hàm m ục tiêu - giải bài toán xếp lịch trên nhiều nhóm đa mục tiêu bằng tiếp cận giải thuật di truyền
Hình 2.12 Minh họa đường pareto (màu đỏ) trong bài toán có 3 hàm m ục tiêu (Trang 39)

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

TÀI LIỆU LIÊN QUAN