Sơ đồ xây dựng chƣơng trình xếp thời khóa biểu

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu bài toán lập lịch và ứng dụng xếp thời khóa biểu cho trường phổ thông vùng cao việt bắc (Trang 43 - 47)

Hình 3.1: Sơ đồ xây dựng chương trình TKB

Kế hoạch GD đƣợc phê duyệt Xác định các lớp và khối học Xác định giáo viên Kế hoạch giảng dạy từng môn của mỗi lớp Xác định môn học TKB:=0 Hoàn thành TKB? Chọn môn học cho từng tiết của mỗi lớp Số tiết của môn đủ? Giáo viên giảng dạy bị trùng lịch? Xếp môn học vào từng tiết của mỗi lớp In ra TKB Kết thúc Đ S S Đ S Đ

Khi xây dựng bài toán xếp thời khóa biểu, các dữ liệu đầu vào và đầu ra của bài toán gồm:

Dữ liệu đầu vào: - Danh sách giáo viên. - Danh sách lớp học. - Danh sách môn học. - Danh sách phòng học. Dữ liệu đầu ra:

- Kết quả thời khóa biểu.

Áp dụng thuật toán ACO để áp dụng giải bài toán xếp thời khóa biểu nhƣ sau:

Dựa vào khung chƣơng trình đào tạo của nhà trƣờng theo các qui định của Ngành giáo dục.

Đầu tiên phân tích các dữ liệu của bài toán, và mã hóa số tiết học, môn học.

Đối với mô hình đào tạo của trƣờng VCVB thì số tiết trung bình của các lớp là 27 đến 29 tiết cho các khối học.

Thời gian học là ca sáng, gồm năm tiết, tiết thứ nhất của ngày thứ hai là tiết Chào cờ, tiết thứ năm của ngày thứ bảy là tiết Sinh hoạt, hai tiết chào cờ và sinh hoạt này là cố định trong cả năm học cho tất cả các khối trong toàn trƣờng. Thứ hai và thứ bảy tất cả các lớp học sẽ đƣợc xếp cố định là 5 tiết học. Các tiết còn lại sẽ đƣợc sắp xếp theo quy định tùy thuộc vào từng khối.

Bảng 3.1. Ví dụ về TKB của một lớp

1 2 ... 28 29

Chào cờ Văn ... Sử Sinh hoạt

Áp dụng thuật toán ACO vào bài toán: Bƣớc 1 Xây dựng lời giải.

Lời giải trên đồ thị cấu trúc nhƣ sau: hởi tạo với m kiến, tại mỗi lần lặp, kiến sẽ chọn ngẫu nhiên một đỉnh để làm khởi tạo ban đầu x0 = với . Sau đó các con kiến sẽ đi xây dựng lời giải theo thủ tục bƣớc ngẫu nhiên.

Từ đỉnh ta tiến hành mở rộng các đỉnh cho đến khi thuộc vào X*, nghĩa là tìm đƣợc lời giải chấp nhận đƣợc. Giả sử con kiến đang ở đỉnh

và có một đỉnh ( để mở rộng (hay có thể hiểu con kiến từ đỉnh i sẽ lựa chọn đỉnh j) đƣợc chọn với xác suất nhƣ sau:

{ ̅ Trong đó :

, : Giá trị thông tin mùi và thông tin heuristic.

: Hai tham số quyết định sự ảnh hƣởng tƣơng quan giữa thông tin mùi và thông tin heuristic. Nếu không có học tăng cƣờng. Nếu

chỉ có thông tin học tăng cƣờng biểu thị qua vết mùi đƣợc sử dụng, không có thông tin heurisric.

: Đỉnh lân cận của đỉnh i mà kiến có thể đi đến.

Quá trình mở rộng tiếp tục cho tới khi kiến tìm đƣợc lời giải chấp nhận đƣợc trong và do đó .

Để tiện trình bày, về sau ta sẽ xem và nhƣ nhau và không phân biệt với .

Mỗi kiến nhân tạo đi xây dựng lời giải bằng cách điền môn lên ma trận môn một cách ngẫu nhiên.

Ma trận môn là một ma trận với các cột là các hớp học, các hàng là các tiết học đƣợc sắp xếp theo thứ tự.

Ví dụ: Các lớp đƣợc xếp: 10A1, 10A2...

11A1, 11A2...

12A1, 12A2...tùy thuộc vào số lớp của nhà trƣờng. Số tiết học đƣợc xếp: 1, 2, ...29.

Bảng 3.2. Ma trận TKB mà kiến xây dựng

1 2 ... 28 29

10A1 Chào cờ Văn ... Sử Sinh hoạt

10A2 Chào cờ Sinh hoạt

... ... Sinh hoạt

11A1 Chào cờ Sinh hoạt

11A2 Chào cờ Sinh hoạt

... Chào cờ Sinh hoạt

12A1 Chào cờ Sinh hoạt

12A2 Chào cờ Sinh hoạt

... Chào cờ Sinh hoạt

Các con kiến sẽ xây dựng một lời giải cho riêng mình bằng cách ghi nhớ bảng 3.2 trong quá trình lựa chọn môn học để điền vào bảng. hi đi xây dựng lời giải, tiết thứ nhất của của tất cả các lớp học sẽ đƣợc cố định là tiết chào cờ, tiết thứ năm của ngày thứ bảy sẽ là tiết sinh hoạt. Các tiết còn lại sẽ đƣợc xây dựng nhƣ sau: Các kiến nhân tạo sẽ đi xây dựng lời giải bằng cách điền ngẫu nhiên các môn học lên các ô còn lại của bảng 3.2. theo thứ tự từ cột 2 đến cột 28. Quá trình này diễn ra liên tục cho đến khi các kiến có thể điền hết các môn học cho tất cả các lớp học lên ma trận đó. Trong trƣờng hợp các kiến không điền đƣợc các môn học lên toàn bộ ma trận thì quá trình này sẽ đƣợc dừng lại.

Bƣớc 2 Xét lời giải tốt.

Sau khi kết thúc quá trình xây dựng lời giải của mỗi kiến, thì lời giải tốt nhất của kiến k (k 1..m) sẽ đƣợc lựa chọn làm phƣơng án cập nhật vết mùi.

Bƣớc 3 Tăng vết mùi cho lời giải tốt ( Cập nhật mùi ).

Dựa trên lời giải tìm đƣợc, đàn kiến sẽ thực hiện cập nhật mùi theo cách học tăng cƣờng.

Trong đó: : hệ số bay hơi tỷ lệ lƣợng mùi bị bay hơi), là hằng số thuộc khoảng (0,1).

{

Chọn = 1 và

. Trong đó kí hiệu là lời giải tốt nhất các kiến tìm đƣợc cho tới lần lặp thứ t. Nếu kí hiệu

hiểu là lời giải tốt nhất trong bƣớc lặp thứ t. Nếu không tốt hơn

ta có , lúc này sẽ quan tâm tới lời giải gần đúng

.

Quá trình này sẽ đƣợc thực hiện lặp liên tục cho đến khi gặp các điều kiện dừng:

1. Tại bƣớc lặp thứ t, tồn tại một kiến xây dựng đƣợc lời giải tốt ƣu (xây dựng đƣợc TKB cho toàn bộ các lớp của các khối). Lúc này lời giải tối ƣu này sẽ đƣợc chọn làm T B cho toàn trƣờng.

2. Vƣợt quá thời gian quy định (>5 phút) mà các con kiến vẫn không xây dựng đƣợc lời giải tối ƣu thì thuật toán sẽ dừng và thông báo: Không xây dựng đƣợc thời khóa biểu.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu bài toán lập lịch và ứng dụng xếp thời khóa biểu cho trường phổ thông vùng cao việt bắc (Trang 43 - 47)