Một số vấn đề liên quan

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 37)

a. Đặc tính hội tụ

Gutjahr là một trong những ngƣời đầu tiên nghiên cứu đặc tính hội tụ của thuật toán MMAS (Max – Min Ant System), nhƣng chƣa xét đến yếu

tố có sử dụng thông tin heuristic. Ký hiệu là xác suất tìm thấy lời giải của thuật toán MMAS[5] trong vòng phép lặp, là lời giải tốt nhất ở bƣớc lặp . Nhờ sử dụng mô hình Markov không thuần nhất, Gutjahr đã chứng minh rằng với xác suất bằng 1 ta có:

1) , (2.3)

2) = với mọi cạnh thuộc lời giải tối ƣu (2.4) Mô hình này của Gutjahr không áp dụng đƣợc cho ACS. Trong trƣờng hợp MMAS không sử dụng thông tin heuristic, Stützle và Dorigo[4] đã chứng minh rằng:

đủ lớn , (2.5)

do đó . (2.6)

Các tác giả cũng suy ra rằng kết quả này cũng đúng cho cả thuật toán ACS. Với giả thiết tìm đƣợc lời giải tối ƣu sau hữu hạn bƣớc, Stützle và Dorigo suy ra rằng vết mùi của các cạnh thuộc lời giải tối ƣu tìm đƣợc sẽ hội tụ đến , còn vết mùi trên các cạnh không thuộc lời giải sẽ hội tụ về hoặc .

Plelegrini và Elloro chỉ ra rằng sau một thời gian chạy, đa số vết mùi trên cạnh trở nên bé và chỉ có số ít cạnh có giá trị vết mùi là lớn vƣợt trội.

b. ACO kết hợp với tìm kiếm địa phương

Môt số tài liệu chỉ ra rằng với các phƣơng pháp metaheuristic, một cách tiếp cận đầy hứa hẹn cho phép nhận đƣợc lời giải có chất lƣợng cao là kết hợp với thuật toán tìm kiếm địa phƣơng.

Mô hình ACO có thể bao gồm cả tìm kiếm địa phƣơng. Sau khi kiến xây dựng xong lời giải, có thể áp dụng tìm kiếm địa phƣơng để nhận đƣợc lời giải tối ƣu địa phƣơng.Việc cập nhật mùi đƣợc thực hiện trên các cạnh thuộc lời giải tối ƣu địa phƣơng này. ết hợp xây dựng lời giải với tìm kiếm địa phƣơng sẽ là một cách tiếp cận có triển vọng, là do trên thực tế, cách xây dựng lời giải của ACO có sử dụng lân cận khác với tìm kiếm địa

phƣơng. Thực nghiệm cho thấy khả năng kết hợp tìm kiếm địa phƣơng cải tiến đƣợc lời giải là khá cao.

c. Thông tin heuristic

Ta biết rằng thuật toán ACO mà không sử dụng tìm kiếm địa phƣơng, thông tin heuristic sẽ rất cần thiết để có đƣợc lời giải tốt. Trên thực tế, ở giai đoạn đầu vết mùi đƣợc khởi tạo nhƣ nhau. hi đó vết mùi không thể giúp kiến tìm đƣờng đi dẫn tới các lời giải tốt, vì chƣa khác nhau nhiều. Vai trò chính của thông tin heuristic là để khắc phục điều này, giúp kiến có thể xây dựng đƣợc các hành trình tốt ngay trong giai đoạn đầu. Trong nhiều trƣờng hợp, nhờ sử dụng tìm kiếm địa phƣơng, kiến vẫn có thể tìm đƣợc lời giải tốt ngay trong giai đoạn đầu, không cần sử dụng thông tin heuristic nào cả, mặc dù có làm cho quá trình tìm kiếm chậm hơn.

d. Số lượng kiến

Nếu không sử dụng tìm kiếm địa phƣơng và thông tin heuristic ít (hoặc không có), trong giai đoạn đầu vết mùi không thể giúp kiến tìm đƣờng đi dẫn tới các lời giải tốt. Nếu sử dụng số lƣợng kiến ít, trong giai đoạn đầu sẽ không tìm đƣợc lời giải tốt và nhƣ vậy, việc cập nhật mùi đƣợc cập nhật dựa trên các lời giải không tốt. hi đó, sẽ hƣớng việc tìm kiếm xung quanh lời giải không tốt và do đó thuật toán sẽ không hiệu quả. Có thể khắc phục phần nào nhƣợc điểm này bằng cách tăng số kiến, để tăng khả năng tìm đƣợc lời giải tốt ở mỗi vòng lặp. Khi có sử dụng tìm kiếm địa phƣơng hoặc thông tin heuristic mạnh, sử dụng nhiều kiến là lãng phí.

e. Tham số bay hơi

Ở mỗi vòng lặp, khi xây dựng đƣợc lời giải tốt (sử dụng tìm kiếm địa phƣơng hoặc thông tin heuristic mạnh), tham số bay hơi sẽ đƣợc xác lập có giá trị lớn, điều này giúp kiến quên đi những lời giải đã xây dựng, tập trung công việc tìm kiếm xung quanh lời giải tốt mới đƣợc xây dựng. Trong trƣờng hợp ngƣợc lại, ở mỗi vòng lặp, khả năng kiến tìm đƣợc lời giải tốt không cao thì tham số bay hơiphải đƣợc thiết lập với giá trị nhỏ.

CHƢƠNG 3:

XÂY DỰNG CHƢƠNG TRÌNH XẾP THỜI KHÓA BIỂU CHO TRƢỜNG PHỔ THÔNG VÙNG CAO VIỆT BẮC 3.1. Phân tích quy trình thực hiện bài toán

3.1.1. Phát biểu bài toán

Tại tất cả các trƣờng học, thời khóa biểu học tập của học sinh, giảng dạy của giáo viên là quyết định hoạt động chính của nhà trƣờng, chính vì vậy xếp thời khóa biểu đã trở thành vấn đề chính và quan trọng trong mỗi nhà trƣờng.

Hiện nay cả nƣớc ta có khoảng 25,000 trƣờng học với các cấp bậc khác nhau nhƣ: Tiểu học, Trung học cơ sở, Phổ thông trung học. Nghĩa là đang có từng đó giáo viên làm nhiệm vụ xếp thời khóa biểu.

Việc xếp thời khóa biểu thực sự là một công việc rất khó và mất rất nhiều thời gian. Xếp thời khóa biểu thể hiện cái khó ở các lý do sau:

- Thứ nhất: Việc xếp thời khóa biểu đòi hỏi tƣ duy, tính toán, suy luận rất phức tạp, dễ xảy ra nhầm lẫn nhƣ: trùng giờ trùng tiết, thiếu giờ thiếu tiết,... Nhƣ vậy, việc xếp thời khóa biểu đòi hỏi ngƣời phải có nhiều kinh nghiệm và hiểu biết về công việc này mới có thể làm đƣợc.

- Thứ hai: Các ràng buộc của giáo viên trong trƣờng rất mâu thuẫn, chồng chéo lẫn nhau.

- Thứ ba: Công việc xếp thời khóa biểu đòi hỏi phải có tƣ duy đặc biệt. Ngƣời xếp thời khóa biểu, ngoài việc phải am hiểu về các môn học cũng nhƣ quy định của Bộ Giáo Dục và Đào Tạo đối với nhà trƣờng về chƣơng trình môn học, hiểu rõ yêu cầu của các giáo viên trong nhà trƣờng, phải có tƣ duy nghề nghiệp của công việc xếp thời khóa biểu.

Từ thực tế đó, việc xây dựng một chƣơng trình xếp thời khóa biểu tự động thay thế việc xếp thời khóa biểu cho trƣờng phổ thông Vùng cao Việt Bắc cũng nhƣ các trƣờng phổ thông khác trên cả nƣớc là cần thiết và cấp bách.

Chƣơng trình xếp thời khóa biểu tự động cần đáp ứng đƣợc các vấn đề sau: - Cập nhật đƣợc các thông tin cần thiết của từng giáo viên, của từng lớp học và của từng môn học

- Đƣa ra thời khóa biểu chính xác và hợp lý cho từng lớp học và từng giáo viên đƣợc phân công giảng dạy.

3.1.2. Bài toán xếp thời khóa biểu trong mô hình tổng thể

Trong mô hình tổng thể quản lý đào tạo của mỗi nhà trƣờng, bài toán xếp thời khóa biểu ở trƣờng phổ thông là một khâu quan trọng. Có 2 chức năng khác biệt nhau của thời khóa biểu đó là:

- Bài toán xếp thời khóa biểu. - Bài toán quản lý thời khóa biểu.

Hai chức năng trên có đặc thù chung là cùng liên quan chặt chẽ đến dữ liệu thời khóa biểu nhƣng về bản chất chúng hoàn toàn khác biệt nhau.

Bài toán xếp thời khóa biểu có chức năng chính là tạo ra các mẫu thời khóa biểu phục vụ cho công việc học tập và giảng dạy của học sinh, giáo viên trong nhà trƣờng. Đây là khâu đầu tiên của việc tin học hóa quản lý đào tạo nhà trƣờng.

Còn bài toán quản lý thời khóa biểu lại có chức năng chính là quản lý, truy vấn và tìm kiếm thông tin thời khóa biểu. Bài toán này có quan hệ chặt chẽ với các bài toán quản lý khác của nhà trƣờng.

3.1.3. Đặc điểm công tác, kế hoạch đào tạo

Việc lập kế hoạch đƣợc thực hiện vào đầu các khóa học, đầu các năm học và đầu các học kỳ nhằm xác định những công việc cần phải thực hiện, những yêu cầu đặt ra trong công tác đào tạo. Công việc đƣợc thực hiện dựa trên các quy chế, quy định của Bộ Giáo dục và Đào tạo và những quy định của nhà trƣờng.

Hệ thống có một số đặc điểm chính nhƣ sau:

- Công tác xây dựng kế hoạch toàn khóa: Đƣợc thực hiện dựa trên chƣơng trình đào tạo đã đƣợc phê duyệt, thực hiện vào đầu mỗi khóa học, nhằm xác định các môn học bắt buộc, môn học tự chọn. Ngoài ra là kế hoạch tổng thể về tổ chức đào tạo.

- Công tác lập kế hoạch học kỳ: Thực hiện dựa trên kế hoạch đào tạo toàn khóa để xác định các môn học đƣợc giảng dạy trong học kỳ. Dựa trên số lƣợng học sinh, điều kiện bảo đảm cơ sở vật chất, giáo viên để làm bảng phân công giảng dạy.

- Xây dựng thời khóa biểu: Dựa trên bảng phân công giảng dạy, các yêu cầu khác để xây dựng kế hoạch thời gian cụ thể cho việc giảng dạy của từng lớp học. Đây là mục tiêu chính mà em nghiên cứu để giải quyết.

3.1.4. Quy trình xây dựng kế hoạch đào tạo thời khóa biểu

Trên cơ sở những nghiên cứu tổng quan về bài toán lập lịch, và dựa trên đặc điểm, tình hình, điều kiện cụ thể của từng nhà trƣờng để xây dựng kế hoạch đào tạo - thời khóa biểu. Luận văn lựa chọn nghiên cứu ứng dụng đối với Trƣờng Phổ thông vùng cao Việt Bắc với quy trình xây dựng thời khóa biểu nhƣ sau:

-Bƣớc 1: Lập kế hoạch đào tạo (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).

-Bƣớc 2: Lập kế hoạch đào tạo theo tuần, theo học kỳ. -Bƣớc 3: Xây dựng bảng phân công giáo viên.

-Bƣớc 4: Xây dựng bảng phân công từng lớp, từng khối. -Bƣớc 5: Xây dựng thời khóa biểu.

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

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.

3.2.1. Xây dựng hệ thống

Hệ thống đƣợc xây dựng dựa trên thuật toán ACO sử dụng ngôn ngữ lập trình PHP….

Các chức năng chính của hệ thống:

- Đăng nhập vào hệ thống.

- Quản lý, lƣu trữ các thông tin về học sinh, lớp, giáo viên, môn học: Thêm mới, cập nhật, xóa.

- Xếp lịch: Thực hiện thuật toán ACO để xếp thời khóa biểu.

- Hiển thị kết quả: Sau khi xếp lịch xong hệ thống hiển thị kết quả

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 37)