Luận văn Thạc sĩ: Bài toán lập lịch và ứng dụng thực tế - ĐH KHTN

Bài toán lập lịch: Tìm hiểu các bài toán lập lịch phổ biến, phương pháp giải quyết hiệu quả và ứng dụng thực tế trong quản lý dự án, sản xuất.

Chuyên ngành

Toán Ứng dụng

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2022

89
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

Lời cam đoan

Lời cảm ơn

Thuật ngữ, kí hiệu và từ viết tắt

Danh sách các hình vẽ, sơ đồ

Danh sách các bảng

Mục lục

Mở đầu

1. CHƯƠNG 1: Giới thiệu bài toán

1.1. Bài toán xếp thời khóa biểu cho trường học

1.2. Bài toán xếp thời khóa biểu cho khoa Toán - Cơ - Tin học, Trường Đại học Khoa học Tự nhiên

1.2.1. Các thành tố trong một thời khóa biểu

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

1.2.3. Mô hình hóa bài toán

2. CHƯƠNG 2: Các phương pháp giải bài toán xếp thời khóa biểu

2.1. Các phương pháp heuristics

2.2. Các phương pháp dựa trên tô màu đồ thị

2.3. Các phương pháp quy hoạch ràng buộc

2.4. Các phương pháp metaheuristic

2.4.1. Các thuật giải metaheuristics dựa trên tìm kiếm cục bộ

2.4.2. Các thuật giải metaheuristics dựa trên quần thể

2.5. Các phương pháp hyperheuristics

2.6. Các phương pháp cho bài toán tối ưu đa mục tiêu

3. CHƯƠNG 3: Phương pháp giải bài toán thời khóa biểu

3.1. Sơ đồ phương pháp và biểu diễn nghiệm

3.1.1. Sơ đồ phương pháp

3.1.2. Biểu diễn nghiệm

3.2. Xây dựng thời khóa biểu đầy đủ

3.2.1. Xây dựng nghiệm khởi tạo

3.2.2. Thuật giải Tìm kiếm Tabu trong quá trình xây dựng thời khóa biểu đầy đủ

3.3. Cải thiện chất lượng thời khóa biểu

4. CHƯƠNG 4: Kết quả tính toán

4.1. Dữ liệu tính toán

4.2. Giá trị các tham số sử dụng

4.3. Kết quả giai đoạn 1

4.4. Kết quả giai đoạn 2

Kết luận

Phụ lục

A. Các bộ dữ liệu và kết quả thời khóa biểu

Tài liệu tham khảo

Tóm tắt

I. Bài toán lập lịch là gì Tổng quan từ A Z cho người mới

Bài toán lập lịch (Scheduling Problem) là một lĩnh vực trọng tâm của nghiên cứu vận hành và khoa học máy tính. Về cơ bản, đây là bài toán phân bổ các nguồn lực có giới hạn (máy móc, nhân viên, phòng học) để thực hiện một tập hợp các công việc (nhiệm vụ, ca phẫu thuật, lớp học) theo một lịch trình cụ thể nhằm tối ưu hóa một hoặc nhiều mục tiêu. Mục tiêu có thể là tối thiểu hóa tổng thời gian hoàn thành (tối ưu hóa makespan), giảm chi phí, hoặc tối đa hóa hiệu suất sử dụng tài nguyên. Đây là một dạng bài toán tối ưu hóa tổ hợp vì không gian lời giải thường rất lớn, bao gồm tất cả các hoán vị có thể của việc sắp xếp công việc và tài nguyên. Theo luận văn của Vũ Thanh Hương (2022), bài toán lập lịch xuất hiện trong nhiều lĩnh vực thực tế như giao thông vận tải, y tế, giáo dục và sản xuất. Độ phức tạp của bài toán tăng nhanh chóng khi số lượng công việc và tài nguyên tăng lên, khiến việc tìm ra lời giải tối ưu trở thành một thách thức lớn. Do đó, việc hiểu rõ bản chất và các thành phần của scheduling problem là bước đầu tiên để xây dựng các phương pháp giải quyết hiệu quả, đáp ứng các yêu cầu khắt khe của thực tiễn.

1.1. Khái niệm cốt lõi của một scheduling problem

Một scheduling problem được định nghĩa bởi ba thành phần chính: công việc (jobs), tài nguyên (resources), và các ràng buộc (constraints). Công việc là các tác vụ cần được thực hiện. Tài nguyên là các phương tiện cần thiết để hoàn thành công việc, ví dụ như máy móc trong lập lịch sản xuất hoặc giảng viên trong xếp thời khóa biểu. Các ràng buộc là những quy tắc hoặc giới hạn phải được tuân thủ. Các ràng buộc này được chia thành hai loại: ràng buộc cứng (hard constraints) và ràng buộc mềm (soft constraints). Ràng buộc cứng là những điều kiện bắt buộc phải thỏa mãn, ví dụ một máy không thể thực hiện hai công việc cùng lúc. Ràng buộc mềm là những điều kiện mong muốn nhưng không bắt buộc, ví dụ một công việc nên được hoàn thành trước một thời điểm nhất định. Mục tiêu cuối cùng là tìm ra một lịch trình khả thi (feasible schedule) thỏa mãn tất cả các ràng buộc cứng và tối ưu hóa một hàm mục tiêu dựa trên các ràng buộc mềm.

1.2. Phân loại các bài toán lập lịch phổ biến hiện nay

Các bài toán lập lịch rất đa dạng và được phân loại dựa trên đặc điểm của môi trường sản xuất hoặc dịch vụ. Các loại phổ biến bao gồm Job Shop Scheduling, nơi mỗi công việc có một chuỗi các hoạt động riêng và phải được xử lý trên các máy cụ thể theo một thứ tự định trước. Một dạng khác là Flow Shop Scheduling, trong đó tất cả các công việc đều tuân theo cùng một chuỗi quy trình qua các máy. Ngoài ra, còn có các bài toán ứng dụng chuyên biệt như Vehicle Routing Problem (VRP), nhằm tìm ra tuyến đường tối ưu cho một đội xe để giao hàng, hoặc bài toán xếp thời khóa biểu cho trường học. Mỗi loại bài toán này có những đặc thù riêng về ràng buộc tài nguyên và mục tiêu tối ưu, đòi hỏi các cách tiếp cận và thuật toán lập lịch khác nhau để giải quyết.

1.3. Tại sao lập lịch được xem là một bài toán NP khó

Hầu hết các bài toán lập lịch trong thực tế đều thuộc lớp bài toán NP-khó (NP-hard). Điều này có nghĩa là không tồn tại thuật toán nào có thể tìm ra lời giải tối ưu trong thời gian đa thức (polynomial time) khi kích thước bài toán tăng lên. Thời gian tính toán để tìm ra lời giải chính xác bằng phương pháp vét cạn (brute-force) sẽ tăng theo cấp số nhân. Luận văn của Vũ Thanh Hương (2022) cũng khẳng định rằng "việc giải quyết bài toán bằng phương pháp vét cạn là dường như không thể". Ví dụ, với chỉ 10 công việc và 10 máy, số lượng lịch trình có thể đã vượt quá khả năng tính toán của các siêu máy tính hiện đại. Đây là lý do tại sao các nhà nghiên cứu tập trung vào việc phát triển các thuật toán heuristicthuật toán metaheuristic để tìm ra các lời giải gần-tối-ưu trong một khoảng thời gian hợp lý.

II. Thách thức chính khi mô hình hóa bài toán tối ưu hóa lập lịch

Thách thức lớn nhất trong bài toán lập lịch nằm ở giai đoạn mô hình hóa bài toán. Đây là quá trình chuyển đổi một vấn đề thực tế phức tạp thành một cấu trúc toán học chính xác. Việc mô hình hóa đòi hỏi phải xác định rõ ràng tất cả các yếu-tố-liên-quan, bao gồm các công việc, tài nguyên, thời gian xử lý, và đặc biệt là các ràng buộc. Một mô hình không chính xác hoặc thiếu sót có thể dẫn đến một lời giải vô nghĩa hoặc không thể áp dụng. Quá trình này bao gồm việc xây dựng một hàm mục tiêu phản ánh đúng tiêu chí cần tối ưu hóa (ví dụ: giảm thời gian chờ, tăng thông lượng) và định nghĩa toán học cho tất cả các ràng buộc tài nguyên. Việc cân bằng giữa độ chính xác của mô hình và tính khả thi về mặt tính toán là một bài toán khó. Một mô hình quá chi tiết có thể trở nên quá phức tạp để giải quyết, trong khi một mô hình quá đơn giản lại có thể bỏ qua các yếu tố quan trọng của bài toán tối ưu hóa tổ hợp.

2.1. Xây dựng hàm mục tiêu và các ràng buộc toán học

Việc xây dựng hàm mục tiêu là bước cốt lõi trong mô hình hóa bài toán. Hàm mục tiêu là một biểu thức toán học định lượng hóa chất lượng của một lịch trình. Ví dụ, trong lập lịch sản xuất, hàm mục tiêu có thể là tổng thời gian hoàn thành (makespan) hoặc tổng độ trễ của các công việc. Trong bài toán xếp thời khóa biểu được trình bày trong luận văn [Vũ Thanh Hương, 2022], hàm mục tiêu được xây dựng để tối thiểu hóa tổng số vi phạm các ràng buộc mềm, như yêu cầu về giờ dạy của giảng viên. Bên cạnh đó, các ràng buộc phải được biểu diễn dưới dạng các phương trình hoặc bất phương trình toán học. Ví dụ, ràng buộc một giảng viên không thể dạy hai lớp cùng lúc được mô hình hóa bằng một bất phương trình đảm bảo tổng số lớp được phân cho giảng viên đó tại mỗi thời điểm không vượt quá một. Quá trình này đòi hỏi kiến thức sâu về lập trình nguyên và các kỹ thuật nghiên cứu vận hành.

2.2. Xung đột tài nguyên và định nghĩa các ràng buộc cứng

Xung đột tài nguyên là vấn đề trung tâm của mọi bài toán lập lịch. Một tài nguyên (máy móc, con người, phòng ốc) không thể được sử dụng cho nhiều hơn một công việc tại cùng một thời điểm. Việc giải quyết các xung đột này được thực hiện thông qua việc định nghĩa các ràng buộc cứng. Ràng buộc cứng (hard constraints) là những điều kiện không thể vi phạm. Ví dụ, trong lập lịch dự án, một công việc B không thể bắt đầu trước khi công việc A hoàn thành. Trong bài toán xếp thời khóa biểu đại học, các ràng buộc cứng bao gồm: một phòng học không thể có hai lớp cùng lúc, một lớp sinh viên không thể học hai môn cùng lúc. Theo nghiên cứu [Vũ Thanh Hương, 2022], việc không thỏa mãn dù chỉ một ràng buộc cứng sẽ khiến toàn bộ lịch trình trở nên không hợp lệ. Do đó, mục tiêu đầu tiên của bất kỳ thuật toán lập lịch nào cũng là tìm ra một lời giải thỏa mãn tất cả các ràng buộc cứng.

2.3. Cân bằng giữa các ràng buộc mềm và chất lượng nghiệm

Sau khi đã thỏa mãn các ràng buộc cứng, chất lượng của một lịch trình được đánh giá dựa trên mức độ đáp ứng các ràng buộc mềm (soft constraints). Ràng buộc mềm là các yêu cầu mang tính "mong muốn", ví dụ như "hạn chế xếp lớp vào chiều thứ Sáu" hoặc "ưu tiên ca làm việc liên tục cho nhân viên". Thách thức ở đây là các ràng buộc mềm thường mâu thuẫn với nhau. Ví dụ, việc đáp ứng yêu cầu không dạy vào sáng thứ Hai của một giảng viên có thể dẫn đến việc phải xếp lớp vào chiều thứ Sáu, vi phạm một ràng buộc mềm khác. Do đó, bài toán lập lịch thường trở thành một bài toán tối ưu đa mục tiêu. Các phương pháp giải quyết thường gán trọng số cho từng loại vi phạm ràng buộc mềm và tối thiểu hóa tổng điểm phạt, như được mô tả trong mô hình toán học của luận văn [Vũ Thanh Hương, 2022] về xếp thời khóa biểu.

III. Phương pháp Heuristic Giải pháp nhanh cho bài toán lập lịch

Đối mặt với tính phức tạp của các bài toán NP-khó, các phương pháp chính xác thường không khả thi về mặt thời gian. Đây là lúc các thuật toán heuristic phát huy vai trò của mình. Heuristic là những phương pháp giải quyết vấn đề dựa trên kinh nghiệm, trực giác hoặc các quy tắc đơn giản để tìm ra một lời giải tốt một cách nhanh chóng, mặc dù không đảm bảo đó là lời giải tối ưu toàn cục. Thay vì duyệt toàn bộ không gian tìm kiếm, các thuật toán heuristic sử dụng các "đường tắt" thông minh để thu hẹp phạm vi tìm kiếm. Các phương pháp này thường được thiết kế riêng cho từng bài toán cụ thể, dựa trên các đặc thù của nó. Ví dụ, một heuristic phổ biến trong lập lịch sản xuất là quy tắc "Shortest Processing Time" (SPT), ưu tiên thực hiện các công việc có thời gian xử lý ngắn nhất trước. Mặc dù đơn giản, các heuristic thường cung cấp một điểm khởi đầu chất lượng cao cho các thuật toán phức tạp hơn, hoặc đưa ra một giải pháp "đủ tốt" trong thời gian cực ngắn, điều rất quan trọng trong các ứng dụng thời gian thực.

3.1. Nguyên lý hoạt động của các thuật toán Heuristic phổ biến

Các thuật toán heuristic hoạt động dựa trên các nguyên lý đơn giản. Nguyên lý tham lam (Greedy) là một trong những nguyên lý phổ biến nhất, trong đó thuật toán luôn đưa ra lựa chọn có vẻ tốt nhất tại mỗi bước mà không cần quan tâm đến các bước tiếp theo. Ví dụ, trong bài toán xếp thời khóa biểu, một thuật toán tham lam có thể ưu tiên xếp lịch cho các lớp học phần khó xếp nhất (có nhiều ràng buộc nhất) trước. Một nguyên lý khác là xây dựng tuần tự (constructive heuristic), trong đó lời giải được xây dựng từng bước một. Tại mỗi bước, một thành phần mới (ví dụ một công việc) được thêm vào lời giải hiện tại theo một quy tắc nhất định cho đến khi lời giải hoàn chỉnh. Các heuristic này thường rất nhanh nhưng có nguy cơ bị mắc kẹt tại các điểm tối ưu cục bộ.

3.2. Ưu và nhược điểm khi áp dụng Heuristic trong lập lịch

Ưu điểm lớn nhất của thuật toán heuristic là tốc độ. Chúng có thể cung cấp một lời giải khả thi cho các bài toán lập lịch quy mô lớn trong vài giây hoặc vài phút, trong khi các phương pháp chính xác có thể mất hàng giờ hoặc thậm chí hàng ngày. Chúng cũng tương đối dễ thực hiện. Tuy nhiên, nhược điểm chính là không có sự đảm bảo về chất lượng của lời giải. Lời giải tìm được bởi một heuristic có thể khác xa so với lời giải tối ưu thực sự. Hơn nữa, hiệu suất của một heuristic phụ thuộc rất nhiều vào đặc điểm của bộ dữ liệu cụ thể. Một heuristic hoạt động tốt trên một tập dữ liệu này có thể cho kết quả rất tệ trên một tập dữ liệu khác. Vì lý do này, chúng thường được sử dụng để tạo ra lời giải ban đầu cho các thuật toán metaheuristic.

IV. Cách tiếp cận Metaheuristic Tối ưu hóa lập lịch hiệu quả

Khi các thuật toán heuristic đơn giản không đủ để tìm ra lời giải chất lượng cao, các thuật toán metaheuristic được đưa vào sử dụng. Metaheuristic là các chiến lược tìm kiếm bậc cao, không phụ thuộc vào bài toán cụ thể, có khả năng điều hướng quá trình tìm kiếm để thoát khỏi các điểm tối ưu cục bộ và khám phá không gian lời giải một cách hiệu quả hơn. Chúng cung cấp một khung làm việc chung có thể được điều chỉnh để giải quyết nhiều loại bài toán tối ưu hóa tổ hợp khác nhau, bao gồm cả bài toán lập lịch. Thay vì tuân theo một lộ trình tìm kiếm cứng nhắc, metaheuristic kết hợp các yếu tố ngẫu nhiên và các cơ chế tìm kiếm cục bộ để cân bằng giữa việc khai thác (intensification) các vùng hứa hẹn và khám phá (diversification) các vùng mới trong không gian tìm kiếm. Các phương pháp này đã chứng tỏ hiệu quả vượt trội trong việc giải quyết các scheduling problem phức tạp trong cả nghiên cứu và thực tiễn, như được trích dẫn trong nhiều công trình tại các cuộc thi quốc tế về xếp thời khóa biểu (ITC).

4.1. Khám phá thuật toán di truyền và luyện kim mô phỏng

Thuật toán di truyền (Genetic Algorithm - GA) và Luyện kim mô phỏng (Simulated Annealing - SA) là hai trong số các thuật toán metaheuristic nổi tiếng nhất. Thuật toán di truyền lấy cảm hứng từ quá trình tiến hóa tự nhiên, hoạt động trên một "quần thể" các lời giải. Các lời giải tốt nhất được lựa chọn để "lai ghép" và "đột biến", tạo ra thế hệ lời giải mới tốt hơn. Trong khi đó, Luyện kim mô phỏng mô phỏng quá trình làm nguội kim loại. Thuật toán bắt đầu ở một "nhiệt độ" cao, cho phép chấp nhận cả những thay đổi làm xấu đi lời giải để tránh bị kẹt sớm. Khi "nhiệt độ" giảm dần, thuật toán trở nên "tham lam" hơn và chỉ chấp nhận những cải tiến. Cả hai thuật toán này đều có khả năng tìm kiếm toàn cục mạnh mẽ.

4.2. Tìm kiếm Tabu Giải pháp mạnh mẽ cho tối ưu hóa cục bộ

Tìm kiếm Tabu (Tabu Search - TS) là một thuật toán metaheuristic dựa trên tìm kiếm cục bộ, được sử dụng làm thuật toán chính trong luận văn [Vũ Thanh Hương, 2022]. Điểm đặc biệt của TS là việc sử dụng một "bộ nhớ" gọi là danh sách Tabu (Tabu list) để ghi lại các bước chuyển (moves) đã thực hiện gần đây. Các bước chuyển này bị "cấm" (tabu) trong một khoảng thời gian nhất định, buộc thuật toán phải khám phá các vùng lân cận mới và tránh quay lại các lời giải đã duyệt. Cơ chế này giúp thuật toán vượt qua các điểm tối ưu cục bộ. Tìm kiếm Tabu đặc biệt hiệu quả cho các bài toán có cấu trúc lân cận phức tạp như job shop schedulingxếp thời khóa biểu, nơi các bước chuyển như hoán vị hai công việc hoặc di chuyển một lớp học có thể được định nghĩa rõ ràng.

V. Top ứng dụng của bài toán lập lịch trong ngành công nghiệp

Sức mạnh của bài toán lập lịch và các thuật toán giải quyết nó được thể hiện rõ nhất qua các ứng dụng thực tiễn trong nhiều ngành công nghiệp. Từ việc điều độ sản xuất trong một nhà máy thông minh đến việc sắp xếp lịch bay cho một hãng hàng không, tối ưu hóa lịch trình là chìa khóa để nâng cao hiệu quả, giảm chi phí và tăng khả năng cạnh tranh. Các doanh nghiệp hiện đại dựa vào các hệ thống lập lịch tự động để quản lý các quy trình phức tạp, đảm bảo tài nguyên được sử dụng một cách tối ưu và các cam kết với khách hàng được đáp ứng. Trong bối cảnh cách mạng công nghiệp 4.0, vai trò của tối ưu hóa tổ hợp ngày càng trở nên quan trọng, giúp tự động hóa các quyết định phức tạp và phản ứng nhanh với những thay đổi của thị trường. Việc áp dụng thành công các giải pháp lập lịch có thể mang lại lợi ích kinh tế to lớn và tạo ra lợi thế cạnh tranh bền vững cho tổ chức.

5.1. Tối ưu hóa lập lịch sản xuất Job Shop và Flow Shop

Trong lĩnh vực sản xuất, lập lịch sản xuất là một trong những ứng dụng quan trọng nhất. Các bài toán kinh điển như Job Shop SchedulingFlow Shop Scheduling là trọng tâm của việc lập kế hoạch sản xuất. Mục tiêu là xác định thứ tự thực hiện các công việc trên các máy để tối ưu hóa makespan, giảm thiểu thời gian máy chạy không tải và đáp ứng đúng thời hạn giao hàng. Một lịch trình sản xuất tối ưu có thể làm tăng đáng kể sản lượng của nhà máy mà không cần đầu tư thêm vào máy móc, thiết bị. Các thuật toán lập lịch tiên tiến giúp các nhà quản lý đưa ra quyết định nhanh chóng và chính xác, ngay cả trong môi trường sản xuất có nhiều biến động.

5.2. Quản lý chuỗi cung ứng và bài toán vehicle routing VRP

Trong quản lý chuỗi cung ứng, lập lịch đóng vai trò then chốt trong vận tải và logistics. Bài toán người bán hàng (Traveling Salesperson Problem - TSP) và biến thể phức tạp hơn của nó, Vehicle Routing Problem (VRP), là những ví dụ điển hình. VRP tìm cách thiết kế các tuyến đường hiệu quả nhất cho một đội xe vận tải để phục vụ một nhóm khách hàng từ một hoặc nhiều kho hàng. Việc giải quyết hiệu quả bài toán này giúp các công ty giảm chi phí nhiên liệu, rút ngắn thời gian giao hàng, và cải thiện dịch vụ khách hàng. Các hệ thống quản lý đội xe hiện đại đều tích hợp các thuật toán tối ưu hóa mạnh mẽ để giải quyết bài toán VRP trong thời gian thực.

5.3. Xếp thời khóa biểu đại học Một nghiên cứu điển hình

Giáo dục là một lĩnh vực ứng dụng sâu rộng của bài toán lập lịch. Bài toán xếp thời khóa biểu cho một trường đại học là một ví dụ phức tạp, đòi hỏi phải cân bằng vô số ràng buộc. Như được phân tích chi tiết trong luận văn của Vũ Thanh Hương (2022) về bài toán tại Khoa Toán - Cơ - Tin học, Trường ĐH KHTN, hệ thống phải sắp xếp hàng trăm lớp học phần vào các phòng học và khung giờ khác nhau, đồng thời phải tuân thủ các ràng buộc cứng như không trùng lịch giảng viên, sinh viên và phòng học. Cùng lúc đó, hệ thống cũng cần tối ưu các ràng buộc mềm như nguyện vọng của giảng viên hay hạn chế số buổi học trống của sinh viên. Việc tự động hóa quá trình này giúp tiết kiệm hàng tuần làm việc thủ công và tạo ra các thời khóa biểu chất lượng hơn.

VI. Tương lai của bài toán lập lịch Xu hướng và cơ hội nghiên cứu

Lĩnh vực bài toán lập lịch vẫn đang không ngừng phát triển, được thúc đẩy bởi sự tiến bộ của công nghệ tính toán và sự gia tăng của dữ liệu. Các xu hướng mới đang mở ra những cơ hội nghiên cứu và ứng dụng đầy hứa hẹn. Một trong những hướng đi chính là lập lịch động và thời gian thực, nơi lịch trình phải được cập nhật liên tục để phản ứng với các sự kiện không lường trước như hỏng hóc máy móc hoặc tắc nghẽn giao thông. Lập lịch không chắc chắn (stochastic scheduling), xem xét các yếu tố ngẫu nhiên như thời gian xử lý biến đổi, cũng đang nhận được nhiều sự quan tâm. Tương lai của tối ưu hóa tổ hợp trong lập lịch sẽ hướng tới các hệ thống thông minh hơn, linh hoạt hơn và có khả năng tự học hỏi để cải thiện hiệu suất theo thời gian, đáp ứng nhu cầu ngày càng phức tạp của thế giới hiện đại.

6.1. Tích hợp Trí tuệ nhân tạo và Học máy vào tối ưu hóa

Sự kết hợp giữa các kỹ thuật tối ưu hóa truyền thống và Trí tuệ nhân tạo (AI), đặc biệt là Học máy (Machine Learning), đang tạo ra một cuộc cách mạng trong việc giải quyết bài toán lập lịch. Các mô hình học máy có thể được sử dụng để dự đoán các tham số của bài toán, chẳng hạn như thời gian xử lý công việc hoặc nhu cầu của khách hàng, từ đó giúp tạo ra các lịch trình chính xác và đáng tin cậy hơn. Học tăng cường (Reinforcement Learning) cũng đang được khám phá như một phương pháp để "dạy" một tác nhân (agent) tự động đưa ra các quyết định lập lịch tối ưu dựa trên trạng thái hiện tại của hệ thống. Hướng tiếp cận này hứa hẹn tạo ra các hệ thống điều độ sản xuất hoặc lập lịch cho CPU hoàn toàn tự trị và thông minh.

6.2. Hướng nghiên cứu mới trong lĩnh vực nghiên cứu vận hành

Trong lĩnh vực nghiên cứu vận hành, các nhà khoa học đang tiếp tục phát triển các thuật toán lập lịch mới và hiệu quả hơn. Các phương pháp Hyper-heuristics, tự động lựa chọn hoặc tạo ra các heuristic phù hợp nhất cho một bài toán cụ thể, là một hướng đi đầy tiềm năng. Ngoài ra, việc giải quyết các bài toán tối ưu đa mục tiêu một cách hiệu quả hơn vẫn là một thách thức lớn. Thay vì kết hợp nhiều mục tiêu thành một, các thuật toán mới hướng tới việc tìm ra một tập hợp các lời giải Pareto-tối ưu, cho phép người ra quyết định lựa chọn sự đánh đổi phù hợp nhất với họ. Các nghiên cứu này sẽ tiếp tục đẩy lùi các giới hạn của những gì có thể được tối ưu hóa, mở ra nhiều ứng dụng mới cho bài toán lập lịch trong tương lai.

18/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. GIỚI THIỆU BÀI TOÁN Đại học Quốc gia Hà Nội như sau 2 X min w i di (1.1) i=1 thỏa mãn các ràng buộc cứng 1. Ràng buộc về việc trùng giờ dạy của giảng viên XX ytepr ≤ 1, ∀t ∈ T, ∀p ∈ P, ∀r ∈ R. Ràng buộc về việc trùng giờ học của một lớp chuyên ngành (hay một nhóm sinh viên) xepr − le(p+h)r ≤ 0, ∀e ∈ E, ∀p ∈ P, ∀h ∈ {1, 2,.

Ràng buộc về sự tương thích giữa phòng học và học phần X XX xepr = 0, ∀t ∈ RT, ∀e ∈ Et. Ràng buộc về việc sử dụng trùng phòng học X lepr ≤ 1, ∀p ∈ P, ∀r ∈ R. Ràng buộc về tính liên tục và tính duy nhất về phòng học cho các tiết học của một học phần XX zcepr ≤ 1, ∀c ∈ C, ∀p ∈ P, ∀r ∈ R. Ràng buộc về buổi học cho một học phần xepbi r (pb|Bb | − pbi − ne + 1) ≥ 0, ∀e ∈ E, ∀r ∈ R, ∀b ∈ B, ∀i ∈ {1,.

GIỚI THIỆU BÀI TOÁN 7. Ràng buộc về tính đầy đủ của thời khóa biểu XX xepr = 1, ∀e ∈ E. p∈P r∈R Nhóm các bài toán xếp thời khóa biểu là các bài toán NP-khó, do đó, việc giải các bài toán này bằng phương pháp vét cạn là gần như bất khả thi. Chương thứ hai của luận văn sẽ trình bày một số phương pháp cũng như thuật giải được sử dụng để giải quyết các bài toán thuộc nhóm bài toán này.

12 Chương 2 Các phương pháp giải bài toán xếp thời khóa biểu Từ lúc bài toán thời khóa biểu được Gotlieb đề xuất lần đầu trong bài báo của mình vào năm 1963 [25] cho đến nay, người ta đã đưa ra rất nhiều hướng tiếp cận và thuật giải cho bài toán này. Trong đó, các phương pháp tiêu biểu thường được nghiên cứu và áp dụng cho bài toán xếp thời khóa biểu bao gồm nhóm các phương pháp heuristics trực tiếp, nhóm các phương pháp dựa trên tô màu đồ thị, nhóm các phương pháp quy hoạch ràng buộc, nhóm các phương pháp metaheuristics và nhóm các phương pháp hyperheuristics.1 Các phương pháp heuristics Các phương pháp heuristics thường khá tự nhiên, gần gũi với cách suy nghĩ và hành động của con người. Một phương pháp heuristics thường chỉ được thiết kế để tập trung giải quyết một bài toán cụ thể. Việc giải bài toán sử dụng các phương pháp heuristics thường đơn giản và nhanh chóng nhận được kết quả tốt, tuy có thể không phải là kết quả tốt nhất.

Do đó, các phương pháp heuristics thường được sử dụng để xây dựng lời giải ban đầu cho một số phương pháp khác, như các phương pháp theo hướng metaheuristics và hyperheuristics. Khi xây dựng một phương pháp heuristics cho một bài toán, người ta thường dựa vào một số nguyên lý cơ bản là nguyên lý vét cạn thông minh, nguyên lý tham lam (Greedy) và nguyên lý thứ tự. Trong một bài toán tìm kiếm, khi không gian tìm kiếm 13 CHƯƠNG 2. CÁC PHƯƠNG PHÁP GIẢI BÀI TOÁN XẾP THỜI KHÓA BIỂU lớn, nguyên lý vét cạn thông minh có thể được sử dụng để tìm cách giới hạn lại không gian tìm kiếm hoặc thực hiện một kiểu dò tìm đặc biệt dựa vào đặc thù của bài toán để nhanh chóng tìm ra mục tiêu.

Nguyên lý tham lam lấy tiêu chuẩn tối ưu (trên phạm vi toàn cục) của bài toán để làm tiêu chuẩn chọn lựa hành động trong phạm vi cục bộ của từng bước (hay từng giai đoạn) trong quá trình tìm kiếm lời giải. Nguyên lý thứ tự thể hiện qua việc thực hiện các công việc trong từng bước (hoặc từng giai đoạn) dựa trên một cấu trúc thứ tự phù hợp với không gian khảo sát nhằm nhanh chóng đạt được lời giải tốt. Việc xây dựng các phương pháp heuristics thường đi cùng việc xây dựng các hàm heuristics. Đây là các hàm đánh giá thô, giá trị của hàm phụ thuộc vào trạng thái của bài toán tại mỗi bước giải.

Dựa trên giá trị này, ta có thể quyết định được hành động hợp lý cho từng bước của phương pháp.2 Các phương pháp dựa trên tô màu đồ thị Nội dung của bài toán tô màu đồ thị là cho một đồ thị gồm n đỉnh, thực hiện tô màu cho tất cả các đỉnh trong đồ thị sao cho màu của bất kì hai đỉnh kề nhau nào cũng phải khác nhau và số màu sử dụng là ít nhất có thể. Trong khi đó, dạng đơn giản của bài toán xếp thời khóa biểu có thể phát biểu như sau: gán n học phần vào một tập hợp các tiết học sao cho tổng số tiết học cần dùng là cực tiểu. Như vậy, bài toán xếp thời khóa biểu có thể được chuyển hóa thành một bài toán tô màu đồ thị với mỗi học phần đóng vai trò như một đỉnh của một đồ thị, hai đỉnh của đồ thị kề nhau nếu và chỉ nếu hai học phần tương ứng không thể diễn ra trong cùng một tiết, mỗi màu của đồ thị tương ứng với một tiết. Bài toán xếp thời khóa biểu đầu tiên sử dụng phương pháp dựa trên tô màu đồ thị được thực hiện bởi nhóm tác giả Dominic Welsh và Martin B.

Các phương pháp thuộc nhóm này có ưu điểm là có thể tìm được lời giải chấp nhận được với chi phí tính toán thấp. Do đó, cũng như các phương pháp heuristics, phương pháp này thường được sử dụng để xây dựng nghiệm ban đầu cho các phương pháp khác. CÁC PHƯƠNG PHÁP GIẢI BÀI TOÁN XẾP THỜI KHÓA BIỂU 2.3 Các phương pháp quy hoạch ràng buộc Bài toán xếp thời khóa biểu cũng có thể được mô hình hóa dưới dạng bài toán thỏa mãn ràng buộc (Constraint Satisfaction Problem) với các biến có miền xác định rời rạc và hữu hạn. Do đó, các hướng tiếp cận quy hoạch ràng buộc (Constraint Programming) có thể được áp dụng để giải quyết bài toán xếp thời khóa biểu.

Ưu điểm của các hướng tiếp cận này là khả năng tận dụng lại kết quả của các bài toán có mô hình biểu diễn tương tự. Các hướng tiếp cận tiêu biểu cho toán thời khóa biểu cũng sử dụng phương pháp quy hoạch ràng buộc được trình bày cụ thể trong các bài khảo sát của nhóm tác giả Edmund Burke [9] và Rong Qu [33].4 Các phương pháp metaheuristic Trong các thập niên gần đây, nhóm các phương pháp metaheuristics đang được quan tâm nghiên cứu rộng rãi [38]. Theo định nghĩa trên trang web của dự án Metaheuristics Network (http://www.org), được thực hiện từ năm 2000 đến 2004, metaheuristics là một cách gọi chung cho các phương pháp có thể được sử dụng để giải quyết nhiều loại bài toán tối ưu tổ hợp khó. Nói cách khác, một phương pháp metaheuristics có thể được xem như một khung thuật giải chung có thể được áp dụng để giải quyết các bài toán tối ưu hóa khác nhau với tương đối ít sửa đổi (cần thiết) để thích ứng với một bài toán cụ thể.

Theo Rhydian Lewis [27], các phương pháp metaheuristics giải bài toán thời khóa biểu có thể được chia thành 3 loại chính. Loại thứ nhất là các phương pháp một bậc (1-stage method), sử dụng một hàm mục tiêu chung cho cả ràng buộc cứng lẫn ràng buộc mềm. Loại thứ hai là các phương pháp hai bậc (2-stage method), chia việc xếp thời khóa biểu thành 2 giai đoạn. Trong đó, giai đoạn đầu tập trung xây dựng một thời khóa biểu không vi phạm bất kì ràng buộc cứng nào, giai đoạn thứ hai tập trung giảm thiểu các vi phạm ràng buộc mềm.

Loại thứ ba là các phương pháp nới lỏng, bước đầu xây dựng một thời khóa biểu có thể vi phạm một hoặc một số ràng buộc cứng, sau đó, tìm cách loại bỏ các vi phạm cho các ràng buộc cứng này và giảm thiểu các vi phạm cho ràng buộc mềm ở các bước tiếp theo. Trong ba loại phương pháp nói trên, các phương pháp 1-bậc có cách tiếp cận trực tiếp nhất. Với loại phương pháp này, các ràng buộc của bài toán được gán trọng số 15 CHƯƠNG 2. CÁC PHƯƠNG PHÁP GIẢI BÀI TOÁN XẾP THỜI KHÓA BIỂU khác nhau, tùy theo mức độ ưu tiên trong việc hạn chế các vi phạm của mỗi ràng buộc.

Theo đó, các ràng buộc cứng sẽ có trọng số cao hơn hẳn các ràng buộc mềm để có ảnh hưởng lớn hơn đến giá trị của hàm mục tiêu. Ví dụ, giả sử trọng số cho mỗi vi phạm ràng buộc mềm đều bằng nhau và bằng 1, còn trọng số của mỗi ràng buộc cứng được cho là 10000. Khi đó, nếu giá trị hàm mục tiêu nhỏ hơn 10000 thì thời khóa biểu đang xét không còn vi phạm ràng buộc cứng (với giả thiết số vi phạm ràng buộc mềm tối đa không thể vượt quá 10000). Như vậy, bằng việc giảm giá trị hàm mục tiêu trong quá trình tính toán, phương pháp 1-bậc có khả năng xây dựng được một thời khóa biểu không còn vi phạm ràng buộc cứng (thời khóa biểu chấp nhận được).

Các phương pháp 1-bậc có ưu điểm là dễ thực hiện và sửa đổi, tuy nhiên không hiệu quả khi áp dụng cho các bài toán phức tạp, có nhiều ràng buộc, bộ dữ liệu lớn,. Với bài toán có nhiều ràng buộc, có dữ liệu phức tạp, các phương pháp 2-bậc có thể cho nghiệm tốt hơn so với các phương pháp 1-bậc. Trong các phương pháp này, giai đoạn thứ nhất chỉ tập trung vào việc xây dựng thời khóa biểu không có vi phạm ràng buộc cứng, việc tính toán các vi phạm ràng buộc mềm được tạm thời bỏ qua. Như vậy, kết quả của giai đoạn này chính là một thời khóa biểu chấp nhận được.

Tuy nhiên, hiệu quả của các phương pháp này phụ thuộc vào việc có thể hay không xây dựng được một thời khóa biểu chấp nhận được trong thời gian hợp lý. Khác với các phương pháp 2-bậc, trong giai đoạn thứ nhất, các phương pháp nới lỏng cho phép thời khóa biểu đang xây dựng được vi phạm một hoặc một số ràng buộc nào đó (có thể là ràng buộc cứng). Ví dụ, nếu việc xếp một lớp học phần vào thời khóa biểu hiện tại có thể vi phạm một ràng buộc cứng nào đó thì việc xếp chỗ cho lớp học phần đó sẽ tạm thời bị bỏ qua hoặc tự động thêm vị trí mới (không nằm trong số các vị trí cho trước của thời khóa biểu) để xếp cho lớp học phần đó. Khi đó, các giá trị như số lớp học phần hoặc số tiết chưa được xếp lịch, số vị trí mới được thêm vào,.

sẽ được lưu lại. Trong quá trình sắp xếp sau đó, phương pháp sẽ tìm cách giảm các giá trị này cùng với giá trị của hàm mục tiêu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ