1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu

47 342 0

Đ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

Định dạng
Số trang 47
Dung lượng 1,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thuật toán di truyền GA đã được áp dụng để giải quyết bài toán lập lịch trong trường đại học nhằm khắc phục những hạn chế hạn chế trong các phương pháp truyền thống.. Trong [2] chỉ ra rằ

Trang 1

VIỆN ĐẠI HỌC MỞ HÀ NỘI

-

BÁO CÁO TỔNG KẾT

ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP VIỆN

NGHIÊN CỨU VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ

TỰ ĐỘNG XẾP LỊCH HỌC THEO TÍN CHỈ DỰA TRÊN PHƯƠNG PHÁP TÌM KIẾM TỐI ƯU

Trang 2

DANH SÁCH THÀNH VIÊN THAM GIA NGHIÊN CỨU ĐỀ TÀI

Trang 3

MỤC LỤC

DANH MỤC BẢNG BIỂU 4

DANH MỤC HÌNH VẼ 5

DANH MỤC TỪ VIẾT TẮT 6

PHẦN I: MỞ ĐẦU 7

I.1 Tính cấp thiết của đề tài 7

I.2 Tình hình nghiên cứu 8

I.3 Mục đích nghiên cứu 9

I.4 Đối tượng và phạm vi nghiên cứu 9

I.5 Phương pháp nghiên cứu 9

PHẦN II: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 10

Chương 1 Kiến thức cơ sở về giải thuật di truyền và ứng dụng 10

1.1 Giới thiệu giải thuật di truyền 10

1.2 Các vấn đề trong giải thuật di truyền 13

1.2.1 Biểu diễn lời giải của bài toán 13

1.2.2 Đánh giá cá thể 15

1.2.3 Khởi tạo quần thể ban đầu 17

1.2.4 Các phép toán di truyền 17

1.3 Ứng dụng của giải thuật di truyền 23

Chương 2 Ứng dụng giải thuật di truyền trong xếp lich học tín chỉ 25

2.1 Bài toán xếp lịch học tín chỉ 25

2.2 Phương pháp biểu diễn - mã hóa cá thể và đánh giá độ phù hợp 31

2.2.1 Phương pháp biểu diễn - mã hóa cá thể 31

2.2.2 Đánh giá độ phù hợp 32

2.3 Các phép toán di truyền áp dụng 33

Chương 3 Xây dựng chương trình phần mềm và thử nghiệm 36

3.1 Thử nghiệm với bài toán ví dụ mẫu 36

3.2 Thử nghiệm với bài toán thực tế 39

PHẦN III: KẾT LUẬN & KIẾN NGHỊ 45

III.1 Kết luận 45

III.2 Kiến nghị 45

Trang 4

DANH MỤC BẢNG BIỂU

Bảng 2.1 Biểu diễn lịch của các lớp tín chỉ 28

Bảng 3.1- Các tham số của dữ liệu ví dụ thử nghiệm 36

Bảng 3.2- Xác định giảng viên vào giảng các lớp tín chỉ 36

Bảng 3.3- Ràng buộc giữa lớp tín chỉ và phòng học (CR) 37

Bảng 3.4- Ràng buộc giữa giảng viên và thời gian (LT) 37

Bảng 3.5- Ràng buộc giữa sinh viên và các lớp tín chỉ (S×C) 37

Bảng 3.6- Các tham số chạy thuật toán xếp lịch 38

Bảng 3.7- Kết quả lịch được xếp theo thuật toán 38

Bảng 3.8- Kết quả lịch theo trọng số hàm fitness (w1=0.9, w2=0.01, w4=0.09) 39

Bảng 3.9- Xác định trước các giảng viên vào các lớp tín chỉ 41

Bảng 3.10- Các tham số chạy thuật toán trên dữ liệu thực 42

Bảng 3.11- Lịch học được xếp bởi thuật toán 43

Trang 5

DANH MỤC HÌNH VẼ

Hình 1.1- Sơ đồ giải thuật di truyền 12

Hình 1.2- Minh họa kiểu mã hóa nhị phân của hai chuỗi gen 14

Hình 1.3- Minh họa phương pháp mã hóa hoán vị 14

Hình 1.4- Minh họa phương pháp mã hóa giá trị 14

Hình 1.5- Minh họa phương pháp mã hóa dạng cây 15

Hình 1.6- Minh họa sơ đồ chọn theo bánh xe Roulette 18

Hình 1.7- Sơ đồ minh họa phép chọn lọc xếp hạng 19

Hình 1.8- Minh họa lai ghép một điểm cắt trên chuỗi nhị phân 20

Hình 1.9- Minh họa phép lai ghép đều 21

Hình 2.1- Biểu diễn lựa chọn mức độ ưu tiên của giảng viên theo thời gian 29

Hình 2.2- Biểu diễn đánh giá mức độ thỏa mãn của giảng viên 30

Hình 2.3- Sơ đồ chuỗi gen mã hóa lời giải (bảng lịch) 32

Hình 3.12- Biểu đồ sự biến đổi độ phù hợp cá thể (fitness) qua các lần tiến hóa 44

Hình 3.13- Biểu đồ sự biến đổi số vi phạm ràng buộc cứng qua các lần tiến hóa 44

Trang 6

DANH MỤC TỪ VIẾT TẮT

1 GA Genetic Algorithm, giải thuật di truyền

2 SA Simulated Anualing, giải thuật mô phỏng tôi luyện

3 LISP Locator/Identifier Separation Protocol, là ngôn

7 L Lecture, giảng viên

8 S Student, sinh viên

9 T Timeslot, khe thời gian cho xếp lịch

10 LT Lecture-Time, ma trận giảng viên và thời gian

11 CC Course-Course, ma trận ràng buộc giữa các lớp

Trang 7

PHẦN I: MỞ ĐẦU

I.1 Tính cấp thiết của đề tài

Bài toán xếp lịch là một bài toán kinh điển, và là một trong những bài toán rất có ý nghĩa trong nhiều lĩnh vực của thực tế Tuy nhiên nó thuộc lớp bài toán khó với nhiều loại đầu vào khác nhau, các ràng buộc giữa các yếu tố và thường

có nhiều mục tiêu, yêu cầu đặt ra Hiện nay, trong các cơ sở đào tạo và đặc biệt

là đào tạo đại học, công tác xếp lịch còn gặp nhiều khó khăn, đôi khi chúng ta rất khó để kiểm soát hết các trường hợp của bài toán, vì thế hiệu quả đem lại chưa cao Bên cạnh đó, đã có nhiều tác giả nghiên cứu đưa ra các phương pháp để giải quyết vấn đề này và trong đó, phương pháp tìm kiếm tối ưu dựa trên giải thuật di truyền chứng tỏ hiệu quả ở nhiều công trình nghiên cứu

Xếp lịch học theo tín chỉ trong trường đại học có rất nhiều yếu tố phức tạp hơn so với dạng bài toán lập lịch thông thường, như giáo viên, sinh viên, thời gian, phòng học, các lớp tín chỉ và đặc biệt là các ràng buộc giữa các yếu tố này Tổng quát hơn, bài toán xếp lịch học gồm nhiều yếu tố được xem xét liên quan, chẳng hạn như việc thi cử, thực hành, giảng đường, vv [6] Các nghiên cứu của Even và Itai đề cập trong [6] đã chứng tỏ rằng bài toán lập lịch là thuộc lớp bài toán NP-đầy đủ Thông thường, bài toán lập lịch được tiến hành theo cách truyền thống, bằng trực quan và tính toán trực tiếp của con người Hiện nay, do sự đa dạng và nhiều thay đổi của các ràng buộc giữa các yếu tố, đó là những hạn chế

về nguồn lực và sự phức tạp của các yếu tố, giải bài toán lập lịch thường mất rất nhiều thời gian và nhân lực, kết quả do đó dẫn đến các ràng buộc mềm hầu như không đạt được, thậm chí không thể thỏa mãn hết các ràng buộc cứng mà phải chấp nhận sự thỏa hiệp Vì vậy việc sử dụng máy tính để thực hiện quá trình lập lịch, không những để cho thấy sự quan tâm nghiên cứu của các tác giả, mà còn cho phép đạt được các mục tiêu kết quả cao mặc dù có nhiều ràng buộc Rõ ràng, điều này dẫn đến tiết kiệm rất nhiều thời gian và công sức

Trong đề tài này, chúng tôi nghiên cứu sâu về bài toán lập lịch trong đào tạo tín chỉ tại trường đại học Cùng với đó là nghiên cứu về giải thuật di truyền, và

có đưa yếu tố nhiệt độ tôi luyện tham gia vào các phép toán di truyền để nhằm điều khiển quá trình tiến hóa đạt hiệu quả cao Trên cơ sở nghiên cứu các phương pháp giải bài toán lập lịch của nhiều tác giả đã đề cập, đề tài sẽ đề xuất một phương pháp cho bài toán lập lịch theo đào tạo tín chỉ với những điều kiện

Trang 8

ràng buộc được sử dụng tham số mờ gia tử Phương pháp đề xuất sẽ sử dụng giải thuật di truyền có đưa thêm yếu tố nhiệt độ để tác động vào các phép toán di truyền (đề cập bởi [19]) nhằm đem lại hiệu quả cao

I.2 Tình hình nghiên cứu

Bài toán lập lịch và phương pháp giải bài toán đã được các học giả nghiên cứu từ những năm 1960 Trong [6], chỉ ra rằng, Hertz đã đề xuất sử dụng phương pháp tìm kiếm tabu để giải quyết bài toán lập lịch gồm hai giai đoạn (TATI/TAG) và chỉ ra rằng cách tiếp này là phù hợp để giải bài toán lập lịch học

và lịch thi với quy mô lớn Thuật toán di truyền (GA) đã được áp dụng để giải quyết bài toán lập lịch trong trường đại học nhằm khắc phục những hạn chế hạn chế trong các phương pháp truyền thống Thuật toán tối ưu hóa đàn kiến (ACO) được Nothegger và cộng sự đề cập sử dụng để giải quyết bài toán này Trong khi

đó, Tassopoulos và Beligiannis áp dụng phương pháp tối ưu hóa bầy đàn để lập thời gian biểu cho các trường học khác nhau tại Hy Lạp Al-Betar và cộng sự đề xuất phương pháp tìm kiếm lai (HHS) để giải quyết bài toán lập lịch cho trường đại học Thuật toán HHS tích hợp tối ưu hóa bầy đàn và leo đồi để cân bằng giữa yếu tố thăm dò và tìm kiếm

Trong [2] chỉ ra rằng các thuật toán di truyền (GA) là phương pháp thích hợp

có thể được sử dụng để tìm kiếm, giải quyết một vấn đề tối ưu hóa, đặc biệt là bài toán lập lịch Các tác giả tập trung vào bài toán lập lịch của trường đại học,

nó có thể được chia thành lập lịch học và lập lịch thi Theo đó, phương pháp dựa trên GA được cải tiến để giải quyết bài toán này với việc thay đổi phép chọn lọc, lai ghép và đột biến để đạt được hiệu quả cao Các tác giả cũng sử dụng một chiến lược thay thế, để tránh rơi vào tối ưu địa phương

M Abbaszadeh và công sự trong [1] sử dụng thuật toán GA để giải bài toán lập lịch trong trường đại học, họ đã có các thay đổi về cấu trúc biểu diễn chuỗi gen, phép đột biến gen nhằm đạt được việc chuyển 15% các cá thể tốt hơn sang thế hệ sau Hơn nữa, để tránh rơi vào tối ưu địa phương họ đã xem xét tác động tham số đột biến, xóa bỏ các chuỗi gen lặp lại và thay thế bằng chuỗi gen tốt hơn Kết quả đem lại hiệu quả cao và tối đa hóa độ chính xác đối với các ràng buộc

Các tác giả trong [5] đề xuất thuật toán di truyền với các yếu tố ràng buộc của bài toán sử dụng độ đo mờ (fuzzy) nhằm thích nghi với các ràng buộc thực

Trang 9

tế, chẳng hạn như yêu cầu của giảng viên đối với thời gian, chuyên môn giảng dạy

I.3 Mục đích nghiên cứu

Nghiên cứu áp dụng phương pháp tính toán mềm mà ở đây là giải thuật di truyền để giải quyết bài toán lập lịch và ứng dụng cho công tác xếp lịch học theo tín chỉ trong các cơ sở đào tạo đại học, trước hết là ứng dụng tại Khoa CNTT – Viện Đại học Mở Hà Nội

I.4 Đối tượng và phạm vi nghiên cứu

Nghiên cứu giải thuật di truyền, các vấn đề liên như phương pháp mã hóa cá thể, phương pháp đánh giá độ phù hợp cá thể theo mục tiêu của bài toán, các phép toán di truyền Ở đây, đề tài sẽ nghiên cứu sử dụng tham số nhiệt tôi luyện

để tác động vào quá trình tiến hóa nhằm đem lại hiệu quả cao cho phương pháp Nghiên cứu về bài toán lập lịch nói chung, các trường hợp áp dụng trong thực tế, phương pháp hay giải thuật đã được nghiên cứu và công bố Phân tích và

áp dụng một số ràng buộc dựa trên tham số mờ gia tử nhằm làm phù hợp hơn yêu cầu thực tế của bài toán ứng dụng

Đề xuất phương pháp (hay thuật toán giải) cho bài toán lập lịch, đưa ra những điều kiện đặc trưng của phạm vi ứng dụng thực tế để có những thiết kế phù hợp và hiệu quả Xây dựng chương trình phần mềm và ứng dụng thử nghiệm

ở phạm vi khoa Công nghệ thông tin – Viện Đại học Mở Hà Nội

I.5 Phương pháp nghiên cứu

Thu thập, khảo sát và hệ thống hóa các kết quả nghiên cứu đã có về vấn đề ứng dụng giải thuật di truyền cho bài toán lập lịch

Nghiên cứu các mô hình lý thuyết, các thuật toán kết hợp lập trình thử nghiệm trên máy tính Đưa vào ứng dụng trong thực tế để so sánh và đánh giá hiệu quả của phương pháp

Trang 10

PHẦN II: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

Chương 1 Kiến thức cơ sở về giải thuật di truyền và ứng dụng

1.1 Giới thiệu giải thuật di truyền

Giải thuật di truyền (Gennetic Algorithims – GA) là một kỹ thuật trong tính toán mềm giúp giải quyết bài toán bằng cách mô phỏng sự tiến hóa tự nhiên của con người hay của sinh vật nói chung trong điều kiện quy định sẵn của môi trường

Giải thuật di truyền cũng như các giải thuật tiến hóa nói chung hình thành dựa trên quan niệm cho rằng quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu Quá trình tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát triển và hoàn thiện hơn) thế

hệ trước Tiến hóa được duy trì nhờ 2 quá trình cơ bản: sinh sản và chọn lọc Trong quá trình tiến hóa các thế hệ mới luôn được sinh ra để bổ sung, thay thế cho thế hệ cũ Những cá thể không tốt sẽ bị đào thải Các cá thể mới sinh ra trong quá trình tiến hóa nhờ sự lai ghép thế hệ cha mẹ Một cá thể mới có thể mang những tính trạng của cha mẹ (di truyền), cũng có thể mang những tính trạng hoàn toàn khác (đột biến)

Giải thuật di truyền thực hiện tiến trình tìm kiếm lời giải tối ưu theo nhiều hướng bằng cách duy trì một quần thể các lời giải và thúc đẩy sự hình thành và trao đổi thông tin giữa các hướng này Quần thể trải qua quá trình tiến hóa, ở mỗi thế hệ lại tái sinh các lời giải tương đối “tốt” trong khi các lời giải tương đối

“xấu” thì chết đi Để phân biệt các lời giải khác nhau (tốt – xấu) thì ta sử dụng hàm mục tiêu để đánh giá

Giải thuật di truyền (GA) là một trong những mô hình tính toán phổ biến và thành công trong lĩnh vực tính toán mềm [20] Cùng với các kỹ thuật tính toán thông minh khác như tính toán mờ (fuzzy computing), mạng Nơ-ron (neural networks), hệ đa tác tử (multiagent systems), trí tuệ bầy đàn (swarm intelligence), giải thuật di truyền ngày càng phát triển, được áp dụng rộng rãi trong các lĩnh vực của cuộc sống Có thể nói, GA đã bước đầu được áp dụng thành công trong các trường hợp, mà việc mô tả toán học cho bài toán gặp rất nhiều khó khăn Ví dụ: các hệ thống phức tạp (complex systems) với các hàm mục tiêu ẩn và các mối ràng buộc phức tạp, các bài toán thiết kế với các hàm

Trang 11

mục tiêu quá phức tạp không tuyến tính, hay các bài toán lập kế hoạch/lập lịch với không gian tìm kiếm NP-khó (NP-hard)

Tương tự thuật toán GA, thuật toán SA [19] là những phương pháp thích nghi để tìm kiếm tối ưu Trong khi GA là một thuật toán tìm kiếm ngẫu nhiên chủ yếu dựa trên hai phép toán gen là lai ghép và đột biến thì SA được xem như một thuật toán áp dụng kỹ thuật “leo đồi” theo xác suất Đã có nhiều tác giả nghiên cứu áp dụng GA và SA để giải bài toán tối ưu Tuy nhiên, mỗi thuật toán đều có những thế mạnh riêng và một số tác giả đã kết hợp hai thuật toán trên làm tăng sức mạnh tìm kiếm Trong nhiều nghiên cứu, các tác giả đã nhúng tham số nhiệt độ T mô phỏng nhiệt tôi luyện trong SA để điều khiển các phép toán gen của GA Trong đó, các tham số xác suất để chọn lọc, lai ghép và đột biến được thay đổi qua từng thế hệ di truyền, chúng được tính dựa trên tham số nhiệt độ của thế hệ hiện tại Tham số nhiệt ban đầu được tính dựa trên số thế hệ tiến hóa (thường khá lớn đảm bảo tính đa dạng của quần thể), sau mỗi thế hệ tham số nhiệt giảm dần để đảm bảo tính hội tụ và tính ổn định Kết hợp này phù hợp với các chiến lược thay đổi tham số trong GA, làm tăng tốc độ hội tụ tìm kiếm và hiệu quả của thuật toán, ta gọi đây là thuật toán di truyền lai (SGA)

Theo [20], giải thuật di truyền (hay giải thuật tiến hóa nói chung) là một trong những phát triển quan trọng của những nhà nghiên cứu về tính toán ứng dụng cuối thế kỷ trước trong việc giải xấp xỉ các bài toán tối ưu toàn cục Việc khai thác nguyên lí tiến hóa như là một định hướng heuristics đã giúp cho giải thuật di truyền giải quyết hiệu quả các bài toán tối ưu (với các lời giải chấp nhận được) mà không cần sử dụng các điều kiện truyền thống (liên tục hay khả vi) như là điều kiện tiên quyết Một trong những đặc tính quan trọng của giải thuật

di truyền là làm việc theo quần thể các giải pháp Việc tìm kiếm bây giờ được thực hiện song song song trên nhiều điểm (multipoints) Tuy nhiên, đây không phải là là thuật toán tìm kiếm đa điểm đơn thuần vì các điểm có tương tác với nhau theo nguyên lí tiến hóa tự nhiên Trong ngữ cảnh sử dụng giải thuật di truyền, người ta có thể dùng khái niệm “cá thể” tương đương với khái niệm “giải pháp”

Sơ đồ tổng thể của thuật toán di truyền nói chung được mô tả như sau:

Trang 12

Nhận các tham số đầu vào của bài toán

Khởi tạo quần thể ban đầu

• Bước 1: Nhập các tham số đầu vào của bài toán, thiết lập các tham số cho

thuật toán từ các tham số đầu vào

• Bước 2: Xuất phát với thế hệ khởi đầu t=0; Khởi tạo quần thể xuất phát P(t)

= {x1, x2,… ,xN} ngẫu nhiên, với N là số lượng cá thể tại mỗi thế hệ (độ lớn của quần thể)

• Bước 3: Tính giá trị thích nghi hay còn gọi là hàm mục tiêu (fitness) của

các cá thể trong P(t)

• Bước 4: Kiểm tra điều kiện dừng thuật toán, có thể đạt được cá thể tốt nhất

cần tìm kiếm hoặc đạt đến thế cuối cùng được thiết lập Trường hợp chưa đạt, thuật toán chuyển sang bước tiếp ở sau để thực hiện tiến hóa

Trang 13

• Bước 5: Chọn lọc các cá thể từ quần thể hiện tại để tạo bể lai ghép MP =

se{P(t)} gồm các thể đóng vai trò là bố mẹ, với se là toán tử lựa chọn

• Bước 6: Thực hiện lại ghép để tạo quần thể P’(t) = cr{MP} gồm các thể

con, với cr là toán tử lai ghép

• Bước 7: Thực hiện đột biến các cá thể trong P’(t) để tạo quần thể mới P”(t)

= mu{P’(t)} gồm các cá thể con sau khi áp dụng phép đột biến, với mu là toán tử đột biến

• Bước 7: Xác định P(t+1) = P”(t), đặt t = t+1 và quay lại Bước 3

1.2 Các vấn đề trong giải thuật di truyền

1.2.1 Biểu diễn lời giải của bài toán

Biểu diễn lời giải của bài toán hay còn gọi là mã hóa cá thể (chromosome encoding) là việc biểu diễn một ứng viên lời giải của bài toán gồm nhiều yếu tố, nhiều tham số thành một chuỗi gen (chromosome), một hoặc một số gen biểu diễn cho một thành tố trong lời giải Trong giải thuật di truyền cách mã hóa cá thể rất quan trọng, nó không chỉ quyết định đến hiệu quả của thuật toán mà còn ảnh hướng đến việc áp dụng các toán tử tiến hóa trong các bước lai ghép và đột biến Với đặc trưng của mỗi bài toán khác nhau chúng ta có thể có nhiều cách biểu diễn cá thể

Một trong những cách biểu diễn truyền thống của GA là biểu diễn nhị phân Với phép biểu diễn này, lời giải cho bài toán được biểu diễn như là một véc-tơ gồm các chữ số nhị phân, trong đó chia thành các đoạn gọi là nhiễm sắc thể (chromosome) Mỗi nhiễm sắc thể bao gồm nhiều gen, trong đó một gen đại diện cho một tham số thành phần của lời giải Cách biểu diễn thứ hai cũng thường dùng là biểu diễn dạng giá trị (số nguyên hoặc số thực hoặc các ký tự) Với phép biểu diễn này, các toán tử tiến hóa sẽ thực hiện trực tiếp trên các giá trị số (genes) của cá thể Phương pháp biểu diễn thứ ba là mã hóa hoán vị, trong đó lời giải của bài toán là một hoán vị các tham số biểu diễn Cuối cùng là phương pháp mã hóa dưới dạng cây dựa trên lời định đạng giải của bài toán cần giải quyết Chi tiết các phương pháp mã hóa được mô tả như sau [21]

a) Mã hóa nhị phân

Đây là hình thức phổ biến nhất của mã hóa trong đó các giá trị dữ liệu được chuyển đổi thành các chuỗi nhị phân Mã hóa nhị phân cho nhiều nhiễm sắc thể

Trang 14

với một số lượng nhỏ của các alen Một nhiễm sắc thể được biểu diễn trong bảng

mã nhị phân như thể hiện trong hình 1.2

Hình 1.2- Minh họa kiểu mã hóa nhị phân của hai chuỗi gen

Hình 1.3- Minh họa phương pháp mã hóa hoán vị c) Mã hóa giá trị

Mã hóa trị có thể được cấu thành từ dạng số (nguyên hoặc thực), các ký tự tạo nên một bản thể đối tượng phức tạp Mã hóa giá trị là kỹ thuật trong đó mỗi nhiễm sắc thể là một chuỗi các giá trị và kiểu mã hóa này được sử dụng một khi nhiều các giá trị phức hợp được yêu cầu Nó có thể được thể hiện như thể hiện trong hình 1.4

Hình 1.4- Minh họa phương pháp mã hóa giá trị

Trang 15

d) Mã hóa dạng cây

Là phương pháp phù hợp cho việc tiến hóa các biểu thức hoặc tiến hóa các chương trình, chẳng hạn lập trình tiến hóa Trong mã hóa dạng cây, mỗi nhiễm sắc thể là một cây các đối tượng, hàm hoặc các lệnh trong ngôn ngữ lập trình Ngôn ngữ lập trình LISP (Locator/identifier separation protocol) được sử dụng cho kiểu mã hóa này Chương trình LISP có thể được biểu diễn trong một cấu trúc cây với hai phép lai ghép và đột biến Trong mã hóa dạng cây, các nhiễm sắc thể được biểu diễn như thể hiện trong hình 1.5

Hình 1.5- Minh họa phương pháp mã hóa dạng cây Một điều đáng quan tâm là các phương pháp mã hóa ở trên có thể biểu diễn trực tiếp lời giải của bài toán, tức là các tham số trong lời giải được thể hiện rõ trong cách mã hóa Tuy nhiên, trong một số bài toán hoặc các trường hợp đặc biệt, lời giải bài toán khó để biểu diễn trực tiếp và do đó cần phải áp dụng việc biễn diễn gián tiếp lời giải cho cá thể của GA Theo cách này, chúng ta cần một công cụ để sinh đầy đủ lời giải của bài toán từ cá thể được mã hóa và thường được xây dựng bởi một đơn vị hàm hoặc đơn vị chương trình

Theo [21], không có bất kỳ một công cụ hoặc phương pháp nào để xác định việc sử dụng loại lược đồ mã hóa nào là thích hợp cho một vấn đề cụ thể, thay vào đó, nó phụ thuộc vào cụ thể từng bài toán ứng dụng và các yêu cầu của bài toán

1.2.2 Đánh giá cá thể

Việc đánh giá cá thể (là biểu diễn lời giải ứng viên của bài toán) nhằm xác định mức độ tốt xấu của lời giải tương ứng đối với bài toán Thông thường để đánh giá cá thể, chúng ta sử dụng một hàm để tính toán ra một giá trị thực với

Trang 16

mục đích đo lường độ phù hợp của lời giải (fitness) Giá trị của hàm là giá trị độ phù hợp

Hàm fitness là một dạng đặc biệt để tổng hợp các mục tiêu của bài toán thành một giá trị đơn, giá trị này nhằm xác định mức độ gần với lời giải đúng của bài toán cho lời giải ứng viên trong biểu diễn của cá thể

Đặc biệt, trong lĩnh vực lập trình di truyền và các thuật toán di truyền, mỗi lời giải ứng viên thường được biểu diễn như là một chuỗi các con số (nhiễm sắc thể - chromosome) Sau mỗi đợt thử, hoặc kiểm nghiệm, ý tưởng là để xóa bỏ các lời giải tồi, và nhân giống những lời giải mới từ các lời giải tốt Mỗi lời giải,

do đó, cần phải được ghi nhận để chỉ cách biến đổi nó đến lời giải đúng của bài toán Điều này có được bằng cách áp dụng hàm fitness để thử, hoặc kiểm nghiệm, xác định kết quả thu được từ các giải pháp ứng viên

Việc thiết kế hàm fitness trong thuật toán di truyền không thể được xem nhẹ, những nỗ lực tham gia thiết kế một hàm fitness hoàn toàn khả thi là rất cần thiết Nếu chúng ta có một thiết kế hàm fitness tồi, thuật toán di truyền hoặc sẽ hội tụ

về một giải pháp không phù hợp, hoặc sẽ gặp khó khăn khi hội tụ toàn cục

Hơn nữa, hàm fitness không những phải tương quan chặt chẽ với mục tiêu của bài toán, mà nó cũng phải được thiết kế để có thể tính toán một cách nhanh chóng Tốc độ thực hiện của thuật toán trong quá trình tiến hóa là rất quan trọng, thuật toán di truyền là điển hình trong việc giải quyết các bài toán tối ưu phức tạp, cần phải lặp lại nhiều lầm để tạo ra một lời giải chấp nhận được cho một bài toán

Hai lớp hàm fitness thường được xem xét thiết kế sử dụng: một là hàm fitness không thay đổi cho mọi đánh giá cá thể; hai là hàm fitness có thể thay đổi cấu trúc tính toán trong quá trình tiến hóa

Việc định nghĩa rõ ràng một hàm fitness là không đơn giản trong nhiều trường hợp và thường được thực hiện lặp đi lặp lại nếu lời giải ứng viên sinh bởi

GA là không biểu diễn trực tiếp những ý đáp số của bài toán cần Trong một số trường hợp, nó là rất khó hoặc không thể đưa ra ngay cả với một dự đoán về những gì cần định nghĩa cho hàm fitness Các thuật toán di truyền tương tác giải quyết khó khăn này bằng cách đưa đánh giá độ phù hợp cá thể của GA cho các

bộ phận bên ngoài (thường là con người)

Trang 17

1.2.3 Khởi tạo quần thể ban đầu

Là quá trình sinh ngẫu nhiên các cá thể, mỗi cá thể gồm chuỗi nhiễm sắc thể

là các gen biểu diễn lời giải của bài toán Mỗi gen theo phương pháp biểu diễn sẽ

có một miền giá trị và chúng ta sẽ khởi tạo giá trị ngẫu nhiên trong miền đó Một

số trường hợp biểu diễn cần phải kiểm soát việc khởi tạo để sao cho lời giải được biểu diễn trong cá thể tạo ra không mâu thuẫn và vi phạm các điều kiện đặt

ra của bài toán Tạo quần thể khởi đầu trong giải thuật di truyền là nơi xuất phát của quá trình tiến hóa, bao gồm tất cả các giá trị thô ban đầu Tùy theo yêu cầu của từng bài toán mà chúng ta có thể có các cách khởi tạo khác nhau

1.2.4 Các phép toán di truyền

a) Phép chọn lọc (selection)

Phép chọn lọc là một phần quan trọng trong thuật toán di truyền (GA), dựa trên một tiêu chí đánh giá (hàm fitness) để trả về một phép đo giá trị cho bất kỳ nhiễm sắc thể trong không gian của bài toán Đó là giai đoạn của giải thuật di truyền nhằm thực hiện chọn một tập cá thể bố mẹ từ các thể của thế hệ hiện tại

để thực hiện các phép toán lai ghép Các kỹ thuật thường được sử dụng để chọn lọc các nhiễm sắc thể là phương pháp bánh xe Roulette, chọn lọc theo xếp hạng

và chọn lọc dựa trên trạng thái ổn định

xe Roulette được mô tả như sau:

Bước 1) Tính tổng độ phù hợp của tất cả các cá thể trong quần thể, từ đây có

thể xác định tỷ lệ phần trăm tương ứng phần bánh xe Roulette cho mỗi cá thể

Bước 2) Lấy số ngẫu nhiên trong đoạn [0,1]

Bước 3) Đi từ đầu và qua lần lượt các cá thể trong quần thể, đồng thời tính

tổng mức phần trăm đã xác định ở bước 1 của mỗi cá thể đi qua Khi một cá thể

Trang 18

mà tại đó số tổng này là nhiều hơn hoặc bằng giá trị lấy ở bước 2 thì dừng lại và trả về cá thể đó

Hình 1.6 cho thấy bánh xe Roulette có sáu cá thể (F1,F2,…,F6) với giá trị fitness khác nhau Cá thể thứ sáu chiếm phần bánh xe to hơn so các cá thể còn lại vì nó có độ phù hợp lớn nhất Điều này với hy vọng rằng xác suất để bánh xe Roulette chọn cá thể thứ sáu cao hơn bất kỳ cá thể nào khác

Hình 1.6- Minh họa sơ đồ chọn theo bánh xe Roulette

- Phương pháp chọn lọc xếp hạng

Việc áp dụng phương pháp chọn lọc theo bánh xe Roulette là không phù hợp trong các thuật toán di truyền (GA) khi mà giá trị độ phù hợp của các cá thể là có

sự khác nhau rất lớn Nó là một kỹ thuật hội tụ chậm, trong đó việc xếp hạng các

cá thể theo các tiêu chí nhất định và mỗi nhiễm sắc thể của cá thể nhận giá trị độ phù hợp được xác định dựa trên bảng xếp hạng này Phương pháp này ngăn chặn

sự hội tụ nhanh vào lời giải cục bộ của thuật toán Các cá thể trong quần thể được xếp hạng dựa trên giá trị độ phù hợp và kỳ vọng của mỗi cá thể được lựa chọn phụ thuộc vào thứ hạng của nó chứ không phải là giá trị độ phù hợp tuyệt đối của nó

Phương pháp chọn lọc xếp hạng được thể hiện trong hình 1.7 Ví dụ, nếu giá trị fitness của cá thể tốt nhất là 80%, chu vi của nó chiếm 80% của bánh xe roulette và vì vậy các cá thể khác sẽ có ít cơ hội để được lựa chọn Việc chọn lọc theo thứ hạng được thực hiện như sau, đầu tiên xếp các cá thể theo giá trị fitness của chúng và sau đó mỗi nhiễm sắc thể (của cá thể) nhận thứ tự xếp hạng Cá thể

Trang 19

hợp bằng 2, và một trong những cá thể tốt nhất sẽ có giá trị fitness là n, với n là

số lượng cá thể trong quần thể

Hình 1.7- Sơ đồ minh họa phép chọn lọc xếp hạng

- Chọn lọc theo trạng thái ổn định

Phương pháp này thay thế một số cá thể trong mỗi thế hệ, và không phải là một phương pháp điển hình cho phép chọn lọc thành các thể bố mẹ Chỉ có một

số lượng nhỏ các thể con mới được tạo ra thay thế vào cá thể bố mẹ tương ứng

Ý tưởng chính của chọn lọc theo trạng thái ổn định là việc giữa lại phần lớn các nhiễm sắc thể của các thể trong thế hệ kế tiếp

- Chọn lọc cạnh tranh

Chọn K cá thể từ quần thể hiện tại một cách ngẫu nhiên và chọn cá thể tốt nhất trong K cá thể đó để sao chép sao chép sang quần thể tạm thời Lặp lại bước chọn trên N lần chúng ta sẽ có quần thể tạm thời làm quần thể bố mẹ Giá trị K được gọi là kích cỡ của chọn lọc cạnh tranh Khi K=2 chúng ta chọn lọc cạnh tranh nhị phân

b) Phép lai ghép (crossover)

Nó là quá trình trong đó các gen được lựa chọn từ các nhiễm sắc thể của bố

mẹ (parents) để tạo ra cá thể con (children hoặc offspring) mới Phép lai ghép

thường được áp dụng theo một xác suất lai ghép là p c Phép lai ghép có thể được thực hiện với mã hóa nhị phân, mã hóa hoán vị, mã hóa giá trị và mã hóa dạng cây

Trang 20

Trong sinh sản hữu tính, theo cách mà phép lai ghép xuất hiện trong thế giới thực, các sinh vật được di truyền từ cả hai bố mẹ là hỗn hợp (trộn) các gen từ bố

mẹ của chúng Thông thường, nhiễm sắc thể được chia tách ngẫu nhiên và sáp nhập, kết quả là cá thể con có một số gen đến từ một trong hai bố mẹ trong khi những gen khác đến từ cá thể bố mẹ còn lại

Phép lai ghép là một công cụ rất mạnh để sinh cá thể mới và duy trì sự đa dạng trong di truyền, theo đó đặc điểm nổi bật là cá thể bố mẹ tốt thì cũng sản sinh cá thể con tốt hoặc thậm chí còn tốt hơn bố mẹ Một số nghiên cứu [22] đã

đi đến kết luận rằng lai ghép là lý do tại sao các loài sinh sản hữu tính đã thích nghi nhanh hơn so với những loài sinh sản vô tính

Về cơ bản, lai ghép là việc trao đổi gen giữa các nhiễm sắc thể của hai bố

mẹ Trong trường hợp đơn giản, chúng ta có thể nhận ra quá trình này bằng cách cắt hai chuỗi gen của bố mẹ tại một vị trí được chọn ngẫu nhiên và hoán đổi hai phần đuôi sẽ tạo hai cá thể con mới Quá trình này, chúng ta sẽ gọi là lai ghép một điểm cắt (one-point crossover), xem trong hình 1.8

Hình 1.8- Minh họa lai ghép một điểm cắt trên chuỗi nhị phân

Theo [22], trong các thuật toán GA đơn giản, ngoài lại ghép một điểm cắt, chúng ta có thể thực hiện lai ghép N điểm cắt, lai ghép phân đoạn, lai ghép đều, lai ghép hỗn hợp

- Phép lai ghép N-điểm cắt (N-point crossover): Thay vì chỉ có một, N điểm cắt được lựa chọn ngẫu nhiên trên chiều dài chuỗi gen Trong đó, mỗi đoạn cắt

số chẵn tính từ đầu là đổi chỗ trên hai bố mẹ để tạo hai cá thể con Theo cách này, lai ghép hai điểm cắt là đặc biệt quan trọng

- Lai ghép phân đoạn (segmented crossover): Tương tự như lai ghép N-điểm cắt nhưng có sự khác biệt đó là số các điểm có thể khác nhau trong quá trình tiến

Trang 21

- Lai ghép đều (uniform crossover): Với mỗi vị trí trên chiều dài chuỗi gen,

sẽ quyết định ngẫu nhiên xem giá trị gen tại vị trí đó được đổi chỗ trên hai bố mẹ hay không Minh họa bởi hình sau

Hình 1.9- Minh họa phép lai ghép đều

- Lai ghép hỗn hợp: Trước hết một hoán vị ngẫu nhiên được chọn để áp dụng trên hai bố mẹ, sau đó lai ghép N-điểm cắt được áp dụng tạo hai cá thể con Cuối cùng, các cá thể con được biến đổi ngược trở lại với hoán vị của bố mẹ tương ứng

Ngoài ra, tùy vào từng phương pháp biểu diễn, các nhà nghiên cứu [21] đề xuất áp dụng nhiều biến thể của phép lại ghép khác nhau nhằm đem lại hiệu quả cho thuật toán được áp dụng đối với bài toán tương ứng Chẳng hạn như lại ghép toán học (Arithmetic Crossover), lai ghép theo mã hóa hoán vị (Permutation encoding crossover), lai ghép theo mã hóa giá trị (Value encoding crossover) hay lai ghép theo mã hóa dạng cây (Tree encoding crossover)

c) Phép đột biến (mutation)

Hội tụ sớm là một vấn đề quan trọng trong hầu hết các kỹ thuật tối ưu, bao gồm quần thể mà chúng ta đạt được khi chuỗi gen của bố mẹ có độ phù hợp cao trong quần thể sinh sản nhiều cá thể con tương tự nhau trong thời gian đầu của tiến hóa Phép lai ghép của thuật toán di truyền không thể tạo ra con cái hoàn toàn khác với cha mẹ của chúng, vì những thông tin có được sử dụng để lai ghép trên chuỗi gen Một phép toán khác đó là đột biến, có thể tìm kiếm trên các khu vực mới trong không gian lời giải của bài toán, đây là sự tương phản với lai ghép Lai ghép được xem như là phép khai thác trong khi đột biến như là phép thăm dò hay khám phá Giống như lai ghép, đột biến cũng có thể được thực hiện cho tất cả các loại kỹ thuật mã hóa cá thể

Trong sinh sản tự nhiên, xác suất mà một gen nào đó bị đột biến là gần như

bằng nhau cho tất cả các gen Tuy nhiên, chúng ta cần một xác suất đột biến p m

Trang 22

đủ bé để quá trình tiến hóa không bị phân tán lung tung dẫn đến khó hội tụ Tương tự như phép lai ghép, sự lựa chọn phù hợp kỹ thuật đột biến phụ thuộc vào phương pháp mã hóa cá thể và chính bài toán đang giải quyết Chúng ta sẽ

đề cập đến một vài phép đột biến như sau [22]

- Đột biến đảo ngược: chọn hai vị trí ngẫu nhiên trong một nhiễm sắc thể và sau đó, lấy đảo ngược chuỗi gen giữa hai vị trí này

Ví dụ:

Nhiễm sắc thể ban đầu: 9 3 8 5 7 1 6 4 2

Nhiễm sắc thể sau khi đột biến : 9 3 1 7 5 8 6 4 2

- Đột biến chèn: chọn ngẫu nhiên một gen và sau đó chèn nó vào vị trí ngẫu nhiên khác

Trang 23

Sau đột biến (trái): 9 8 3 5 7 1 6 4 2

Sau đột biến (phải): 9 3 5 8 7 1 6 4 2

Ngoài ra, theo [21], chúng ta có thể áp dụng các biến thể của phép đột biến khác nhau tùy theo cách mã hóa cá thể và bài toán Chẳng hạn có phép đột biến theo mã hóa hoán vị, đột biến theo mã hóa giá trị, đột biến theo mã hóa dạng cây

1.2.5 Điều kiện kết thúc

Để kết thúc quá trình tiến hóa, thì tùy thuộc vào bài toán sẽ có các cách kết thúc khác nhau một khi đã đạt đến điều kiện yêu cầu Một vài trường hợp kết thúc quá trình tiến hóa thông thường như sau:

- Kết thúc theo kết quả: khi có một cá thể trong thế hiện tại đạt đến mức giá trị độ phù hợp theo yêu cầu thì dừng quá trình tiến hóa

- Kết thúc dựa vào số thế hệ: chọn số thế hệ tối đa trước khi tiến hóa, quá trình sẽ dừng đạt số thế hệ đã chọn đó, không cần kiểm tra kết quả là như thế nào

- Tính theo thời gian: bỏ qua việc tiến hóa bao nhiêu thế hệ hay kết quả như thế nào, chỉ dựa vào thời gian tiến hóa đã qui định trước để kết thúc

- Hỗn hợp: dùng nhiều phương án khác nhau ở trên, khi đạt đến một trong các điều kiện thì dừng thuật toán

1.3 Ứng dụng của giải thuật di truyền

Giải thuật di truyền (GA) được ứng dụng cho những bài toán khó, chẳng hạn như điều khiển quá trình phi tuyến phức tạp với bài toán tối ưu theo tham số GA hiện đã được ứng dụng thành công cho một số bài toán như: lập kế hoạch, điều khiển tương thích, chương trình trò chơi, các bài toán vận tải, bài toán người đi

Ngày đăng: 01/09/2016, 08:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] 2014, M.Abbaszadeh and S.Saeedvand, A Fast Genetic Algorithm for Solving University Scheduling Problem, IAES International Journal of Artificial Intelligence (IJ-AI), Vol. 3, No. 1, pp. 7-15 Sách, tạp chí
Tiêu đề: A Fast Genetic Algorithm for Solving University Scheduling Problem
[2] 2014, A.O.Modupe et al, Development of a University Lecture Timetable using Modified GA Approach, International Journal of AdvancedResearch in Computer Science and Software Engineering, Vol. 4, Iss. 9, pp. 163-168 Sách, tạp chí
Tiêu đề: Development of a University Lecture Timetable using Modified GA Approach
[3] 2013, W.Chinnasri et all, The Suitable Genetic Operators for Solving the University Course Timetabling Problem, Journal of ConvergenceInformation Technology(JCIT), Vol. 8, No. 12, pp. 60-66 Sách, tạp chí
Tiêu đề: The Suitable Genetic Operators for Solving the University Course Timetabling Problem
[4] 2013, R.Perzina & J.Ramik, Self-learning genetic algorithm for a timetable problem with fuzzy constraints, International Journal of Innovative, Computing, Information and Control, Vol. 9, No. 11, pp.4565-4582 Sách, tạp chí
Tiêu đề: Self-learning genetic algorithm for a timetable problem with fuzzy constraints
[5] 2013, R.Perzina & et al, Timetabling Problem with Fuzzy Constraints - A Self-Learning GA, International Journal of Engineering and Innovative Technology (IJEIT), Vol.3, No.4, pp.105-113 Sách, tạp chí
Tiêu đề: Timetabling Problem with Fuzzy Constraints - A Self-Learning GA
[6] 2013, R.M. Chen & H.F. Shih, Solving University Course Timetabling Problems Using Constriction Particle Swarm Optimization with Local Search, Algorithms - Open Access Journal, No. 6, pp. 227-244 Sách, tạp chí
Tiêu đề: Solving University Course Timetabling Problems Using Constriction Particle Swarm Optimization with Local Search
[7] 2012, S.R.Sutar & R.S.Bickar, University Timetabling based on Hard Constraints using GA, International Journal of Computer Applications (0975 – 8887), Vol.42, No.15, pp. 1-5 Sách, tạp chí
Tiêu đề: University Timetabling based on Hard Constraints using GA
[8] 2012, P.A.Tuan, Ứng dụng giải thuật di truyền để xếp thời khóa biểu hệ tín chỉ cho trường đại học, Master of Sci. Thesis, Đại học Đà Nẵng Sách, tạp chí
Tiêu đề: Ứng dụng giải thuật di truyền để xếp thời khóa biểu hệ tín chỉ cho trường đại học
[9] 2012, M.S.Kohshori et al, Hybrid Genetic Algorithm fr University Course Timetabling, IJCSI International Journal of Computer Science Issues, Vol Sách, tạp chí
Tiêu đề: Hybrid Genetic Algorithm fr University Course Timetabling
[10] 2012, K.Kumar et al, Genetic Algorithm Approach to Automate University Timetable, International Journal of Technical Research(IJTR), Vol 1, Issue 1, pp.47-51 Sách, tạp chí
Tiêu đề: Genetic Algorithm Approach to Automate University Timetable
[11] 2011, M.Hosny & S.Fatima, A Survey of Genetic Algorithms for the University Timetabling, International Conference on Future Information Technology IPCSIT, vol.13, pp.34-39, IACSIT Press, Singapore Sách, tạp chí
Tiêu đề: A Survey of Genetic Algorithms for the University Timetabling
[12] 2010, T.V.Hieu, Kết hợp giải thuật di truyền phân nhóm và tìm kiếm cục bộ cho bài toán xếp thời khóa biểu, Master of Sci. Thesis, Học viện công nghệ bưu chính viễn thong Sách, tạp chí
Tiêu đề: Kết hợp giải thuật di truyền phân nhóm và tìm kiếm cục bộ cho bài toán xếp thời khóa biểu
[13] 2010, A.Chaudhuri & K.De, Fuzzy Genetic Heuristic for University Course Timetable Problem, Int. J. Advance. Soft Comput. Appl., Vol. 2, No. 1, ISSN 2074-8523 Sách, tạp chí
Tiêu đề: Fuzzy Genetic Heuristic for University Course Timetable Problem
[15] 2008, C.C.Aydin et al, A Genetic Algorithm based course scheduling system, Ulusal Bilisim Kurultayi (BILISIM'08), Ankara Sách, tạp chí
Tiêu đề: A Genetic Algorithm based course scheduling system
[16] 2007, S.Innet and N.Nuntasen, University Timetabling Using Evolutionary Computation, WSEAS TRANSACTIONS on ADVANCES in ENGINEERING EDUCATION, pp. 41-48 Sách, tạp chí
Tiêu đề: University Timetabling Using "Evolutionary Computation
[17] 2007, S.Innet and N.Nuntasen, A Novel Approach of Genetic Algorithm for Solving University Timetabling Problems (a case study of Thai Universities), 7th WSEAS International Conference on APPLIED COMPUTER SCIENCE, Venice, Italy, November 21-23, 2007, pp.246- 252 Sách, tạp chí
Tiêu đề: A Novel Approach of Genetic Algorithm for Solving University Timetabling Problems (a case study of Thai Universities)
[18] 2003, B.Sigl and M.Golub and V. Mornar, Solving Timetable Scheduling Problem by Using Genetic Algorithms, Proc. ITI2003 Sách, tạp chí
Tiêu đề: Solving Timetable Scheduling Problem by Using Genetic Algorithms
[14] 2009, Z. Bratkovie et al, University Course Timetabling with Genetic Algorithm (a Laboratory Exercise Case Study) Khác
[19] 2011, Dương Thăng Long, Luận án tiến sĩ, Viện Công nghệ thông tin – Viện Khoa học và Công nghệ Việt Nam Khác
[20] 2013, Bùi Thu Lâm & Phan Việt Anh, Giải thuật di truyền và ứng dụng trong hỗ trợ lập lịch điều hành công tác bệnh viện, Chuyên san Công nghệ thông tin và Truyền thông - Số 02 (4-2013) Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1- Sơ đồ giải thuật di truyền - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Hình 1.1 Sơ đồ giải thuật di truyền (Trang 12)
Hình 1.4- Minh họa phương pháp mã hóa giá trị - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Hình 1.4 Minh họa phương pháp mã hóa giá trị (Trang 14)
Hình 1.5- Minh họa phương pháp mã hóa dạng cây - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Hình 1.5 Minh họa phương pháp mã hóa dạng cây (Trang 15)
Hình  1.6  cho  thấy  bánh  xe  Roulette  có  sáu  cá  thể  (F1,F2,…,F6)  với  giá  trị  fitness khác nhau - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
nh 1.6 cho thấy bánh xe Roulette có sáu cá thể (F1,F2,…,F6) với giá trị fitness khác nhau (Trang 18)
Hình 1.7- Sơ đồ minh họa phép chọn lọc xếp hạng - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Hình 1.7 Sơ đồ minh họa phép chọn lọc xếp hạng (Trang 19)
Hình 1.8- Minh họa lai ghép một điểm cắt trên chuỗi nhị phân - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Hình 1.8 Minh họa lai ghép một điểm cắt trên chuỗi nhị phân (Trang 20)
Hình 1.9- Minh họa phép lai ghép đều - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Hình 1.9 Minh họa phép lai ghép đều (Trang 21)
Bảng 2.1. Biểu diễn lịch của các lớp tín chỉ  Trong đó, như đã đề cập, chúng ta phân công cố định giảng viên vào các lớp  tín chỉ nhằm đảm bảo theo đúng yêu cầu chuyên môn, cân bằng về số lớp đảm  nhiệm của các giảng viên - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Bảng 2.1. Biểu diễn lịch của các lớp tín chỉ Trong đó, như đã đề cập, chúng ta phân công cố định giảng viên vào các lớp tín chỉ nhằm đảm bảo theo đúng yêu cầu chuyên môn, cân bằng về số lớp đảm nhiệm của các giảng viên (Trang 28)
Hình 2.2- Biểu diễn đánh giá mức độ thỏa mãn của giảng viên - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Hình 2.2 Biểu diễn đánh giá mức độ thỏa mãn của giảng viên (Trang 30)
Bảng 3.2- Xác định giảng viên vào giảng các lớp tín chỉ  Ràng  buộc  CC  hiện  thử  nghiệm  này  chưa  áp  dụng  (tương  ứng  trọng  số  thành phần này trong hàm fitness là w 3 =0) vì tiêu chí xếp các lớp tín chỉ có cùng  ràng buộc tiên quyết là ưu tiên  - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Bảng 3.2 Xác định giảng viên vào giảng các lớp tín chỉ Ràng buộc CC hiện thử nghiệm này chưa áp dụng (tương ứng trọng số thành phần này trong hàm fitness là w 3 =0) vì tiêu chí xếp các lớp tín chỉ có cùng ràng buộc tiên quyết là ưu tiên (Trang 36)
Bảng 3.5- Ràng buộc giữa sinh viên và các lớp tín chỉ (S×C) - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Bảng 3.5 Ràng buộc giữa sinh viên và các lớp tín chỉ (S×C) (Trang 37)
Bảng 3.6- Các tham số chạy thuật toán xếp lịch  Kết quả chạy thuật toán xếp lịch với bộ dữ liệu được cho ở trên có bảng lịch  sau, trong đó tất cả các ràng buộc cứng đều thỏa mãn, các ràng buộc mềm được  đánh giá theo hàm fitness đạt giá trị 0.886667 (bản - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Bảng 3.6 Các tham số chạy thuật toán xếp lịch Kết quả chạy thuật toán xếp lịch với bộ dữ liệu được cho ở trên có bảng lịch sau, trong đó tất cả các ràng buộc cứng đều thỏa mãn, các ràng buộc mềm được đánh giá theo hàm fitness đạt giá trị 0.886667 (bản (Trang 38)
Bảng 3.9- Xác định trước các giảng viên vào các lớp tín chỉ - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Bảng 3.9 Xác định trước các giảng viên vào các lớp tín chỉ (Trang 41)
Bảng 3.10- Các tham số chạy thuật toán trên dữ liệu thực - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Bảng 3.10 Các tham số chạy thuật toán trên dữ liệu thực (Trang 42)
Hình 3.12- Biểu đồ sự biến đổi độ phù hợp cá thể (fitness) qua các lần tiến hóa - Nghiên cứu và xây dựng ứng dụng hỗ trợ tự động xếp lịch học theo tín chỉ dựa trên phương pháp tìm kiếm tối ưu
Hình 3.12 Biểu đồ sự biến đổi độ phù hợp cá thể (fitness) qua các lần tiến hóa (Trang 44)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w