Tải bản đầy đủ
Các yêu cầu của tối ưu hóa đa mục tiêu:

Các yêu cầu của tối ưu hóa đa mục tiêu:

Tải bản đầy đủ

mãn được nhiều nhất các mong ước của tập mục tiêu, hay nói cách khác là ra được
kết quả tốt nhất, gần nhất với mục tiêu. Bài toán lập thời khóa biểu được biết đến là
bài toán dạng NP đầy đủ, do đó các kết quả đưa ra chỉ bảo đảm một thời khóa biểu
tối ưu.
Trước đây, bài toán này đã có một số hướng giải quyết, phương pháp đầu
tiên là bằng bài toán tô màu đồ thị. Phương pháp này không đạt được hiệu quả và
cho đến nay không được dùng nữa [1].
Một hướng tiếp cận khác là công thức hóa các vấn đề bằng chương trình các
số nguyên, nhưng do số lượng các biến ngày càng lớn nên cũng không thực hiện
được [1] . Một số khác lại sử dụng lập trình logic có ràng buộc kết hợp với một số
phương pháp khác để giải quyết vấn đề nhưng cũng không thành công [1].
Để giải quyết bài toán thời khóa biểu, người ta đã sử dụng nhiều phương
pháp hữu hiệu, trong đó phải kể đến:
1. Thuật toán “leo đồi” sử dụng kỹ thuật “nâng cấp lặp”, kỹ thuật này áp
dụng cho một điểm đơn (điểm hiện tại) trong không gian tìm kiếm. Trong một lần
nâng cấp, một điểm mới được chọn trong số các điểm lân cận của điểm hiện hành
nếu điểm đó cho kết quả tốt hơn của hàm mục tiêu. Việc tìm kiếm sẽ kết thúc khi
không thể nâng cấp thêm được nữa. Rõ ràng thuật toán leo đồi chỉ cho kết quả tối
ưu cục bộ, kết quả này phụ thuộc vào sự lựa chọn của điểm xuất phát, mặt khác ta
không được thông tin sai số về kết quả tìm được so với kết quả tối ưu toàn cục.
Để khắc phục nhược điểm trên, thuật toán leo đồi đã được cải tiến bằng tăng
số lượng các điểm xuất phát (điểm xuất phát cho mỗi lần chạy có thể được lựa chọn
tùy theo kết quả của lần chạy trước). Sự thành công hay thất bại của mỗi lần chạy
(cho ta kết quả tối ưu toàn cục hay cục bộ), phụ thuộc và sự lựa chọn điểm xuất phát
và hình dáng của “mặt cong” của hàm đánh giá. Nếu mặt cong chỉ có một số ít cực
trị địa phương thì tối ưu toàn cục được tìm ra rất nhanh. Nhưng ngược lại, nếu số
cực đại địa phương nhiều thì khả năng tìm tối ưu toàn cục là rất nhỏ. Chính vì vậy
mà kể cả sau khi đã được cải tiến thì thuật toán vẫn chưa tốt.

29

2. Trong thuật toán luyện kim, người ta dùng kỹ thuật thay đổi Entropy của
hệ. Ở phương pháp này người ta đã điều khiển tốc độ hội tụ của quần thể bằng cách
biến đổi nhiệt động học với một tham số nhiệt độ T toàn cục. Để hạn chế việc tối ưu
cục bộ và tăng khả năng khám phá không gian tìm kiếm, người ta đã dùng thủ thuật
giảm nhiệt độ T từng bước (đến một mức nào đó). Tuy nhiên, vì T chỉ giảm đến một
mức nhất định, vì vậy phương pháp này cũng không tránh khỏi hạn chế trong việc
khám phá không gian tìm kiếm mới và sự hội tụ địa phương.
3. Phương pháp tối ưu đàn kiến (ACO – Ant Clony Optimization) do Dorigo
đề xuất là một trong số các cách tiếp cận mới nhất. Một thành phần ngẫu nhiên
trong ACO cho phép các con kiến xây dựng được một lực lượng lớn các lời giải
khác nhau và từ đó tìm kiếm được các lời giải hứa hẹn. Quan trọng hơn, kinh
nghiệm tìm kiếm của con kiến được sử dụng để học tăng cường trong quá trình lặp
xây dựng thuật toán. Thêm vào đó, việc sử dụng đàn kiến sẽ làm cho các thuật toán
ứng dụng ACO phức tạp có thể thêm một vài tập hợp các tác nhân hiệu quả để giải
quyết bài toán. Hiệu quả của nó được chứng minh bằng thực nghiệm và cho thấy kết
quả nổi trội hơn so với các thuật toán mô phỏng tự nhiên khác như: luyện kim, di
truyền, tính toán tiến hóa.
Đánh giá chung về các phương pháp trên:
Các giải thuật leo đồi và luyện kim có rất nhiều nhược điểm và thường
không trả về kết quả như mong đợi. Các giải thuật di truyền và tối ưu đàn kiến có
nhiều ưu điểm hơn vì thế hiện nay hai phương pháp này được sử dụng nhiều nhất để
giải quyết các bài toán tối ưu trong đó có bài toán xếp thời khóa biểu. Xét về thời
gian thực hiện chi phí thực hiện thì giải thuật tối ưu đàn kiến tốt hơn nhưng cũng
phức tạp hơn so với giải thuật di truyền.
Đề giải quyết bài toán lập thời khóa biểu trọn vẹn hơn, người ta đã nghiên
cứu sử dụng phương pháp giải thuật di truyền và tính toán tiến hóa trên cơ sở những
đặc tính nổi trội của nó.
Giải thuật di truyền học có cơ chế tìm kiếm ngẫu nhiên dựa trên cơ chế tự
chọn lọc tự nhiên và di truyền học. Một giải thuật di truyền tiêu biểu bắt đầu với

30

một tập các cách giải quyết ban đầu gọi là quần thể. Một nhiễm sắc thể có thể hiểu
theo các cách thông thường nhưng không nhất thiết phải hiểu như vậy, nó là một
chuỗi nhị phân biểu diễn một cách giải quyết vấn đề. Các nhiễm sắc thể có thể tồn
tại qua các lần lặp đi lặp lại thì được gọi là thế hệ. Trong thời gian của mỗi thế hệ
các nhiễm sắc thể có thể được ước lượng bằng một vài đơn vị đo lường thích hợp.
Khi tạo một thế hệ tiếp theo, các nhiễm sắc thể mới được gọi là con cái được hình
thành từ việc kết hợp hai nhiễm sắc thể hiện thời bằng phương pháp tương giao
chéo hoặc đột biến. Một thế hệ mới được hình thành bằng:
a. Chọn lọc theo các giá trị thích hợp từ một vài nhiễm sắc thể bố, mẹ hoặc con cái.
b. Chọn lọc bằng cách loại bỏ nhiễm sắc thể khác để số lượng nhiễm sắc thể
khác để số lượng nhiễm sắc thể trong quần thể không thay đổi.
Sau một vài thế hệ, giải thuật hội tụ tới nhiễm sắc thể tốt nhất, mà hy vọng
nó đại diện sự tối ưu hoặc giải pháp gần tối ưu để giải quyết vấn đề.
Giải thuật di truyền trở thành kỹ thuật thông dụng để xử lý các vấn đề tối ưu
hóa chủ yếu dựa trên 3 lợi thế sau:
- Giải thuật di truyền không kéo theo các vấn đề toán học phức tạp.
- Tính tuần hoàn của các toán tử di truyền làm cho giải thuật di truyền có ảnh
hưởng lớn đến việc tìm kiếm trên toàn cầu.
- Giải thuật di truyền rất mềm dẻo, chúng dễ dàng kết hợp với các lĩnh vực
dựa trên kinh nghiệm, điều đó có thể dẫn đến một kết quả tốt hơn cho việc tìm kiếm
trong các vấn đề đặc biệt.
Mô tả bài toán lập lịch học:
Cho một danh sách giảng viên đã biết giảng viên nào dạy môn nào của
chương trình, một danh sách các môn học với số tiết học trên tuần của từng môn và
một danh sách các phòng học. Yêu cầu đưa ra một thời khóa biểu thỏa mãn các ràng
buộc và mục tiêu sau:
Ràng buộc:
1. Một giảng viên không thể dạy 2 lớp học cùng một thời điểm.

31

2. Một phòng tại một thời điểm không thể có 2 lớp học (trừ phòng học
chung), và số lượng sinh viên không thể vượt quá sức chứa của phòng.
3. Một lớp không thể học 2 môn cùng một thời điểm.
4. Một thầy không dậy liền 12 tiết một ngày.
5. Một lớp học tiết 6 của buổi sáng thì không học tiết 1của buổi chiều.
6. Môn thể dục sẽ không vào tiết 5-6 của buổi sáng hoặc tiết 1-2 của buổi chiều.
7. Một lớp học thể dục xong sẽ không học tiết liền sau đó.
Mục tiêu:
1. Thỏa mãn tất cả các ràng buộc trên.
2. Tối thiểu thời gian trống của các lớp sinh viên.
3. Tối thiểu số phòng sử dụng.
Các nghiên cứu liên quan:
Công việc lập lịch trong trường đại học đã được công nhận là khó cả về
phương diện lý thuyết cũng như thực tế. Một vài mô hình lập lịch đã được mô tả
trong thực tế, bao gồm từ lập lịch học của một trường đại học, lập lịch thi, hoặc một
vài sự kiện trong trường đại học [2]. Các bài toán này được xem là bài toán lập lịch
mà được định nghĩa như là các bài toán gán một số sự kiện như kì thi, khóa học với
các khoảng thời gian và phòng thỏa mãn các ràng buộc [3, 4].
Trong 20 năm trở lại đây, các cách tiếp cận heuristic đã được áp dụng thành
công cho các bài toán lập lịch.
2.2.1 Một số khái niệm cơ sở
Tiết trống của giảng viên:
Tiết trống của một giảng viên là tiết nghỉ giữa hai lần dậy gần nhau nhất
trong một buổi dạy của giảng viên đó. Tiết trống chỉ tính trong 1 buổi dậy.
Ví dụ: Sáng thứ 2 giảng viên A dạy tiết 1-2 và tiết 5-6 thì tiết trống của giảng
viên đó là tiết 3 và tiết 4.

32