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

Tìm hiểu về giải thuật di truyền và ứng dụng vào bài toán sắp xếp thời khóa biển

61 60 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 61
Dung lượng 1,25 MB

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

Nội dung

Tìm hiểu về giải thuật di truyền và ứng dụng vào bài toán sắp xếp thời khóa biển Tìm hiểu về giải thuật di truyền và ứng dụng vào bài toán sắp xếp thời khóa biển Tìm hiểu về giải thuật di truyền và ứng dụng vào bài toán sắp xếp thời khóa biển luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

Trang 1

TÌM HIỂU GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG VÀO BÀI

TOÁN SẮP XẾP THỜI KHÓA BIỂU

LUẬN VĂN THẠC SĨ KỸ THUẬT

Hà Nội – Năm 2013

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

NGUYỄN QUYẾT

TÊN ĐỀ TÀI LUẬN VĂN: TÌM HIỂU VỀ GIẢI THUẬT DI TRUYỀN VÀ

ỨNG DỤNG VÀO BÀI TOÁN SẮP XẾP THỜI KHÓA BIỂU

CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC :

Ts Vũ Tuyết Trinh

Hà Nội – Năm 2013

Trang 3

LỜI CẢM ƠN

Trước tiên Tôi xin được gửi lời cảm ơn chân thành đến các thầy cô trường Đại Học Bách Khoa Hà Nội đã tận tình giảng dạy và truyền đạt nhưng kiến thức bổ ích cho chúng tôi trong suốt 2 năm qua Chúng tôi không chỉ được tiếp thu những kiến thức chuyên ngành mà còn được trang bị những phương pháp nghiên cứu và học tập hiệu quả nhất

Trinh, Cô đã tận tình hướng dẫn chỉ bảo cho tôi trong suốt thời gian thực hiện luận văn này

Tôi cũng xin gửi lời cảm ơn sâu sắc đến những người luôn bên cạnh cổ vũ, động viên, giúp đỡ tôi trong quá trình học tập và rèn luyện Gia đình và bạn bè luôn

là chỗ dựa tinh thần vững chắc, là động lực mạnh mẽ giúp tôi vượt qua những khó khăn để đạt được kết quả như ngày hôm nay

Tôi xin chân thành cảm ơn!

Hà Nội, ngày 20 tháng 4 năm 2013

Nguyễn Quyết

Trang 4

M ỤC LỤC

CHƯƠNG I: ĐẶT VẤN ĐỀ 7

1.1 Lý do ch ọn đề tài 7

1.2 M ục đích và nội dung 8

1.3 Phương pháp nghiên cứu và ý nghĩa thực tiễn 8

CHƯƠNG II – THUẬT TOÁN DI TRUYỀN 10

2.1 T ổng quan về giải thuật di truyền 10

2.1.1 Gi ới thiệu 10

2.1.2 Các thao tác cơ bản 13

2.2 Các toán t ử di truyền 13

2.2.1 Kh ởi tạo quần thể 13

2.2.2 Đánh giá độ thích nghi 13

2.2.3 Toán t ử chọn lọc 13

2.2.4 Toán t ử lai ghép 15

2.2.5 Toán t ử đột biến 21

2.2.6 Điều kiện dừng 23

2.2.7 Các tham s ố của giải thuật di truyền 23

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

CHƯƠNG III - ỨNG DỤNG THUẬT GIẢI DI TRUYỀN VÀO BÀI TOÁN X ẾP THỜI KHÓA BIỂU 25

3.1 Tìm hi ểu chung về bài toán lập lịch 25

3.1.1 Các thu ộc tính của bài toán lập lịch 25

3.1.2 Phân lo ại mô hình xếp thời khóa biểu 26

3.2 Bài toán x ếp thời khóa biểu cho Đại học và cao đẳng ở Việt Nam 28

3.2.1 Phân lo ại đơn vị xếp thời khóa biểu 28

3.2.2 Các đối tượng liên quan đến thời khóa biểu 29

3.2.3 Các đặc thù xếp thời khóa biểu 31

3.3 Bài toán th ời khóa biểu tại Đại học Chu Văn An 32

3.3.1 Gi ới thiệu bài toán xếp thời khóa biểu tại Đại học Chu Văn An 33

Trang 5

3.3.2 D ữ liệu bài toán 35

3.3.3 Ràng bu ộc của bài toán 35

3.4 Bi ểu diễn mô hình cá thể 36

3.4.1 Bi ểu diễn thời gian biểu 36

3.4.2 Bi ểu diễn mô hình cá thể 36

3.5 Kh ởi tạo quần thể và chỉnh sửa 38

3.6 Các ràng bu ộc của bài toán 41

3.7 Đánh giá độ thích nghi 42

3.8 Các toán t ử di truyền 42

3.8.1 Toán t ử chọn lọc 42

3.8.2 Toán t ử lai ghép 42

3.8.3 Toán t ử đột biến 43

3.9 Tính độ thích nghi của cá thể 44

3.9.1 Tính độ thích nghi của cá thể 44

3.9.2. Tính độ thích nghi dựa vào ràng buộc về nhóm lớp 44

3.9.3 Tính độ thích nghi dựa vào ràng buộc trùng giờ của giảng viên 45

3.9.4 Tính độ thích nghi dựa vào ràng buộc giờ bận của giảng viên 46

3.9.5 Tính độ thích nghi dựa vào ràng buộc sức chứa phòng 47

3.9.6 Tính độ thích nghi dựa vào ràng buộc số tiết học trên tuần 47

3.9.7. Tính độ thích nghi dựa vào ràng buộc số tiết học mỗi lần 48

3.9.8. Tính độ thích nghi dựa vào ràng buộc loại phòng 48

3.9.9 H ệ số phạt của các loại vi phạm ràng buộc 48

CHƯƠNG IV: CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG XẾP THỜI KHÓA BI ỂU CHO TRƯỜNG ĐẠI HỌC CHU VĂN AN 51

4.1 Các ch ức năng của hệ thống 51

4.1.1 Nh ập thông tin giảng viên 51

4.1.2 Nh ập danh sách lớp học phần 51

4.1.3 Nh ập danh sách các môn học 52

4.1.4 Nh ập danh sách các phòng học 53

4.1.5 Ch ức năng xếp phiếu giảng dạy 54

4.1.6 Cá th ể được khởi tạo từ các phiếu phân công giảng dạy 56

Trang 6

4.2 K ết quả thử nghiệm hệ thống xếp thời khóa biểu 56

4.2.1 K ịch bản thử nghiệm 56

CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 58

5.1 K ết luận 58

5.2 Hướng phát triển đề tài 58

TÀI LI ỆU THAM KHẢO 59

Trang 7

DANH MỤC THUẬT NGỮ

Trang 8

DANH MỤC HÌNH VẼ

vẽ

Tên hình

Trang 9

CHƯƠNG I: ĐẶT VẤN ĐỀ

1.1 Lý do chọn đề tài

Trong cuộc sống, ta thường gặp các bài toán liên quan đến xếp lịch vận hành máy móc, xếp lịch biểu cho việc thực hiện một dự án, xếp lịch làm việc, xếp lịch thi đấu thể thao,… Đối với loại bài toán này cần phải tìm ra một phương án xếp lịch thỏa mãn tất cả các ràng buộc cũng như khai thác hiệu quả các nguồn tài nguyên hiện có, giảm thời gian và chi phí thực hiện

Bài toán xếp thời khóa biểu trong trường học là một ví dụ Xếp thời khóa biểu trong một trường Đại học phụ thuộc rất nhiều ràng buộc được đặt

ra trong bài toán này như ràng buộc về đối tượng tham gia(giảng viên, sinh viên, lớp học), ràng buộc về tài nguyên phục vụ giảng dạy(phòng học lý thuyết, phòng thực hành, phòng có máy chiếu, loa đài, …), ràng buộc về thời gian(số tiết học, số lần học, số tiết mỗi lần,…), ràng buộc về chuyên môn và rất nhiều các ràng buôc khác tùy thuộc vào từng trường Vấn đề đặt ra là cần phải xây dựng một thời khóa biểu thỏa mãn tối đa các ràng buộc trên đồng

Bài toán xếp thời khóa biểu thuộc lớp bài toán NP- đầy đủ vì vậy có thể không tìm ra được lời giải tối ưu Đây là một bài toán không mới và đã

có nhiều giải thuật được đưa ra để giải quyết như giải thuật nhánh cận và giải thuật leo đồi, giải thuật luyện thép, giải thuật tô mầu đồ thị, giải thuật xấp xỉ, giải thuật di truyền…

Trong phạm vi luận văn này, chúng tôi quan tâm đến tìm hiểu giải thuật di truyền Phương pháp này có nhiều đặc điểm nổi trội như không đòi hỏi tri thức, tránh tối ưu cục bộ, thực hiện tốt với các bài toán có không gian tìm kiếm lời giải lớn và có thể áp dụng cho nhiều loại bài toán tối ưu khác nhau Trên thế giới hiện nay, giải thuật di truyền kết hợp với tin học được ứng dụng để giải quyết những bài toán tối ưu một cách rất hiệu quả

Trang 10

1.2 Mục đích và nội dung

Mục đích của luận văn là tìm hiểu giải thuật di truyền (Genetic Algorithm - GA) và áp dụng giải thuật vào giải quyết bài toán xếp thời khóa biểu cho trường Đại học Chu Văn An theo hình thức đào tạo tín chỉ

Để đạt được các mục tiêu trên, đề tài tập trung vào các nhiệm vụ cụ thể sau:

• Tìm hiểu giải thuật di truyền và ứng dụng của nó trong việc giải quyết hiểu quả các bài toán tối ưu

• Phân tích đặc điểm của bài toán xếp thời khóa biểu tại trường Đại học Chu Văn An theo học chế tín chỉ để từ đó đưa ra các giải pháp hợp lý trong việc xây dựng và phát triển hệ thống

• Ứng dụng giải thuật di truyền vào bài toán xếp thời khóa biểu

hệ tín chỉ cho Đại học Chu Văn An

• Phân tích đánh giá kết quả đạt được khi thực hiện hệ thống đối với các bộ dữ liệu thử nghiệm

1.3 Phương pháp nghiên cứu và ý nghĩa thực tiễn

• Phương pháp nghiên cứu lý thuyết

- Tổng hợp các tài liệu lý thuyết về giải thuật di truyền

học Chu Văn An sử dụng mô hình giải thuật di truyền

- Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan

• Phương pháp nghiên cứu thực nghiệm

quy trình xây dựng ứng dụng phần mềm

Văn An chỉ sử dụng giải thuật di truyền

An

Trang 11

• Ý nghĩa thực tiễn

pháp áp dụng các quy luật của quá trình tiến hóa tự nhiên vào việc giải quyết các bài toán phức tạp mà các giải thuật trước đó không đáp ứng được

An chỉ sử dụng giải thuật di truyền là một vấn đề tuy không mới nhưng lại chưa được áp dụng hiệu quả trong thực tế

còn có thể được ứng dụng trong nhiều bài toán tối ưu khác Vì vậy kết quả nghiên cứu của đề tài sẽ tạo nền tảng và cơ sở để tiếp tục nghiên cứu về sau

ứng tốt như cầu của người dùng

- Hệ thống có thể chạy tốt với bộ dữ liệu thực tế tại các trường đại học giúp giảm đáng kể thời gian và công sức trong việc xếp thời khóa biểu

1.4 Bố cục luận văn

Phần tiếp theo của luận văn trình bày được tổ chức như sau:

C hương 2: Thuật toán di truyền Chương 3: Ứng dụng thuật toán di truyền vào bài toán xếp

thời khóa biểu

C hương 4: Cài đặt và thử nghiệm hệ thống xếp thời khóa biểu

cho trường Đại học Chu Văn An

Chương 5: Kết luận

Trang 12

CHƯƠNG II – THUẬT TOÁN DI TRUYỀN 2.1 Tổng quan về giải thuật di truyền

2.1.1 Giới thiệu

Thuật giải di truyền do D.E Golbberg đề xuất, được L.Davis và Z Michaleviz phát triển Đây là thuật toán tiến hóa chính để tôi nghiên cứu trong đề tài này

Giải thuật di truyền, cũng như các thuật toán 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 Quan niệm này có thể được xem như một tiên đề đúng, không chứng minh được, nhưng phù hợp với thực tế khách quan 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 hơn, hoàn thiện hơn) thế hệ trước Tiến hóa tự nhiên được duy trì nhờ hai quá trình cơ bản: Sinh sản và chọn lọc

tự nhiên Xuyên suốt quá trình tiến hóa tự nhiên, các thế hệ cũ Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tồn tại Cá thể nào không thích ứng được với môi trường sẽ bị đào thải Sự thay đổi môi trường là động lực thúc đẩy quá trình tiến hóa Ngược lại, tiến hóa cũng tác động trở lại góp phần làm thay đổi môi trường

Trong thuật giải di truyền người ta dùng thuật ngữ vay mượn của di truyền học như: cá thể, nhiễm sắc thể, gen, quần thể, độ thích nghi, chọn lọc, lai ghép, đột biến… Trong đó cá thể biểu diễn một lời giải, giải pháp của bài toán, không giống như trong tự nhiên cá thể có thể là có nhiều nhiễm sắc thể,

ở đây chúng ta quy ước mỗi cá thể chỉ có một nhiễm sắc thể Các nhiễm sắc thể là một có thể là một chuỗi tuyến tính , trong nhiễm sắc thể có thể có các đơn vị nhỏ hơn đó là gen Mỗi gen đại diện một thuộc tính, tính chất và có vị trí nhất định trong nhiễm sắc thể Quần thể là một tập hợp hữu hạn xác định các cá thể, trong thuật giải di truyền quần thể là một tập các lời giải, các phép toán chọn lọc, lai ghép, đột biến được thực hiện trên quần thể để tạo ra một

quần thể mới

Trang 13

Một bài toán được giải bằng thuật giải di truyền thông thường phải qua các bước sau:

 Biểu diễn lời giải của bài toán bằng chuỗi nhị phân, chuỗi ký tự,

số thập phân…

 Khởi tạo quần thể ban đầu gồm N các thể một cách ngẫu nhiên

 Xây dựng hàm thích nghi làm tiêu chuẩn đánh giá các cá thể theo

độ thích nghi của chúng

 Xác định xác suất lai tạo, xác suất đột biến,…

 Xây dựng các phép toán lai tạo, chọn lọc, đột biến

Trang 14

Lưu đồ thuật giải di truyền:

Hình 2.1 Sơ đồ khối mô tả thuật giải di truyền tổng quát

- Thay thế các cá thể kém thích nghi b ằng các cá thể con

Ch ọn lời giải tốt nhất từ cá thể

có độ thích nghi cao nhất

K ết thúc Đúng

Sai

Trang 15

2.1.2 Các thao tác cơ bản

2.2 Các toán tử di truyền

2.2.1 Khởi tạo quần thể

Tạo quần thể đầu tiên trong thuật giải, là nơi xuất phát quá trình tiến hóa, bao gồm tất cả các giá trị thô ban đầu Tùy theo vấn đề bài toán mà có cách khởi động khác nhau Trước một bài toán áp dụng thuật giải di truyền, ta cần phải xác định rõ nhiễm sắc thể cho vấn đề,

và thông thường đó sẽ là kết quả cuối cùng Việc phân tích sẽ dựa trên kết quả là cơ bản nhất

2.2.2 Đánh giá độ thích nghi

Phép tái sinh là quá trình trong đó các cá thể được sao chép trên cơ sở độ thích nghi của nó Đánh giá độ thích nghi là một hàm gán một giá trị thực cho các cá thể trong quần thể Quá trình này có thể được mô phỏng như sau:

• Tính độ thích nghi của từng cá thể trong quần thể hiện hành Lập bảng cộng dồn các giá trị thích nghi(theo số thứ tự gán cho từng cá thể) Giả sử quần thể có n cá thể Gọi độ thích nghi của các thể thứ i là Fi, tổng cộng dồn thứ i là Fti, tổng độ thích nghi của toàn quần thể là Fm

thể của thế hệ mới

2.2.3 Toán tử chọn lọc

Trang 16

Chắc chắn rằng việc chọn cá thể sẽ thông qua kết quả, hay mục đích của vấn đề Dựa trên mức độ thích nghi của cá thể, bao gồm những vướng mắc mà cá thể gặp phải Thông thường, đặt mỗi vấn đề nhỏ tương ứng với một giá trị điểm thích nghi, kết quả đánh giá gồm tổng số điểm đó Các thể tốt nhất sẽ tồn tại và tạo ra các cá thể con mới Có nhiều phương pháp để chọn lọc các nhiễm sắc thể tốt nhất

Theo thuyết tiến hóa của Darwin, nhiễm sắc thể tốt nhất sẽ tồn tại và tạo ra các cá thể con mới Có nhiều phương pháp để chọn ra các nhiễm sắc thể tốt nhất

Toán t ử chọn lọc Rolette(Roulette Wheel Selection)

Các cá thể cha mẹ được chọn theo độ thích nghi của chúng, nhiễm sắc thể tốt hơn có cơ hội cao hơn tham dự vào thế hệ tiếp theo

Thuật giải chọn lọc Roulette như sau:

quần thể và gọi nó là tổng thích nghi (Total Fitness)

từ 0 đến tổng thích nghi

trước đó lớn hơn hay bằng n

Toán t ử chọn lọc cạnh tranh(Tournament Selection)

Chọn lọc cạnh tranh 2 (2- Tournament Selection) Hai nhiễm sắc thể khác nhau được chọn ngẫu nhiên và được so sánh với nhiễm sắc thể tồn tại Nếu sắc thể i1 không tốt hơn nhiễm sắc thể i2 nghĩa là: F(i1)<=F(i2), thì nhiễm sắc thể i1

Trang 17

chết đi và bị loại ra khởi quần thể Quá trình này lặp lại đến hết

Toán t ử chọn lọc xếp hạng(Rank Selection)

Phương pháp này sẽ sắp hạng cá thể dựa trên độ thích nghi của chúng Cá thể xấu nhất sẽ có giá trị 1, kế tiếp là 2,…

và cá thể tốt nhất sẽ có độ thích nghi N (N là số nhiễm sắc thể trong quần thể)

Toán t ử chọn lọc Elitism

Phương pháp Elitism cho phép sao chép những cá thể tốt sang quần thể mới Thành phần còn lại được chọn bởi phương pháp chọn lọc khác Để đánh giá nhiễm sắc thể có tốt hay không ta cần tạo ra một hàm đánh giá, hàm đánh giá này trả về cho ta giá trị là tổng của hàm thích nghi của tất cả các nhiễm sắc thể Sau khi được chọn một quần thể gồm n cá thể vừa được chọn ra từ Elitism và một phương pháp khác cá thể

2.2.4 Toán tử lai ghép

Phép lai là quá trình hình thành nhiễm sắc thể mới trên cơ sở nhiễm sắc thể cha mẹ, bằng cách ghép một hay nhiều đoạn gen của hai(hay nhiều) nhiễm sắc thể cha mẹ với nhau Phép lai nhằm nâng cao kết quả cá thể, do đó toán tử lai ghép sẽ tạo điều kiện cho tiến trình hội tụ nhanh hay chậm Còn tùy thuộc vào cách tổ chức và phân

bố các nhiễm sắc thể mà chúng ta có xác suất lai ghép nhanh hay

chậm Phép lai xảy ra với xác suất pc

Trang 18

Có khá nhiều toán tử lai ghép và sau đây là một số phương pháp lai ghép thông dụng trong kỹ thuật di truyền:

Lai ghép d ựa trên vị trí (Position Based Crossover)

Đây là phương pháp lai ghép chúng tôi đề cập để giải

chọn một hay nhiều điểm trong nhiễm sắc thể làm các điểm lai tạo Khi đó các tham số giữa các điểm lai tạo được hoán vị cho nhau giữa hai nhiễm sắc thể cha mẹ

NST mẹ = [pm1, pm2, pm3,…,pmn] NST cha = [pc1, pc2, pc3,…,pcn] Chọn hai vị trí ngẫu nhiên là 2,5 ta có:

NSTcon1 = [pm1, pc2, pc3, pc4, pm5, pm6,…,pmn] NSTcon2 = [pc1, pm2, pm3, pm4, pm5, pc6,…,pcn]

Từ tổng quát trên ta có một số phương pháp lai ghép dựa trên vị trí

- Lai ghép đơn điểm: Chọn một số ngẫu nhiên

- Lai ghép hai điểm: Chọn hai điểm ngẫu nhiên

để lai tạo trong 2 nhiễm sắc thể cha mẹ, sau đó hoán vị các bits giữa 2 điểm đó

Ví dụ: Giả sử hai nhiễm sắc thể cha mẹ là chuỗi nhị phân có chiều dài là 14 như sau:

Trang 19

- Phép lai t ạo đều: Đầu tiên tạo một mặt nạ gồm

các bít khởi tạo ngẫu nhiên ‘0’ và ‘1’ và số bít bằng số số bít của nhiễm sắc thể cha mẹ Nếu một bít trong mặt nạ bằng 0, thì tương ứng trong nhiễm sắc thể con 1 bằng bít tương ứng của nhiễm sắc thể cha và bít tương ứng trong nhiễm sắc thể con 2 bằng bít tương ứng của nhiễm sắc thể mẹ Nếu một bít trong mặt nạ bằng 1 thì thực hiện ngược lại

Trang 20

Mặt nạ = […00000011111000…]

Do đó phép lai tạo đều được xem là dạng tổng quát của các phép lai tạo khác

Lai ghép ánh x ạ từng phần (PMX Partial Mapped Crossover)

Phép lai ánh xạ từng phần, hai chuỗi được sắp hàng và hai điểm lai được chọn ngẫu nhiên giống nhau dọc theo chiều dài của chuỗi Hai điểm lai cho một chọn lọc khớp được dùng

để tác động thông qua toán tử trao đổi vị trí – vị trí Mỗi con cháu chứa thông tin có thứ tự một cách từng phần được quyết định bởi cha mẹ của chúng PMX có thể được áp dụng cho các bài toán biểu diễn hoán vị

Ví dụ:

NST – Cha = [3 4 6 2 1 5]

NST – Mẹ = [4 1 5 3 2 6]

Chọn 2 vị trí lai tạo là 2,3 sau đó tráo đổi vị các bít giữa

2 vị trí này Chẳng hạn chuỗi K = 4,6, J=1,5 hoán đổi cho nhau, được kết quả sau:

Lai tạo tương xứng một phần (bước A)

NST – Con1A [3 1 5 2 1 5]

NST – Con2A [4 4 6 3 2 6]

Sau bước A, trong các NST – Con1A, NST – Con2A có một giá trị trùng nhau và một số giá trị bị mất đi Các giá trị lặp lại ở chuỗi NST – Con1A được thay thế bằng chuỗi con tương ứng ở NST – Con2A và lặp lại điều đó cho NST – Con2A, ta

có kết quả cuối cùng

Điểm lai tạo

Trang 21

Lai tạo tương xứng một phần (bước B)

NST – Con1B [3 1 5 2 4 6]

NST – Con2B [1 4 6 3 2 5]

Lai ghép có tr ật tự (OX Order Crossover)

Lai ghép có trật tự (OX) bắt đầu theo cách tương tự như lai ghép ánh xạ từng phần, lai có trật tự áp dụng chuyển động trượt để lấp đầy các vị trí trống bên trái bằng cách chuyển các

vị trí ánh xạ Lai ghép ánh xạ từng phần hướng tới khía cạnh vị trí tuyệt đối trong khi lai ghép có trật tự hướng tới vị trí tương đối

Toán tử lai ghép có trật tự bao gồm các bước sau:

mẹ

con vào những vị trí tương ứng như trong cá thể cha mẹ

lúc này đã có trong chuỗi con Chuỗi còn lại chứa các ký hiệu

Trang 22

Hoán vị các giá trị của X với các giá trị đầu chuỗi sao cho cuối cùng tất cả các giá trị X đều ở đầu chuỗi

Lai tạo thứ tự (bước 2)

NST – Con 1 [X X 5 3 1 4]

NST – Con 2 [X X 6 2 4 1]

Cuối cùng, các X được thay bằng J hoặc K, sao cho trong một nhiễm sắc thể các giá trị của nó không được trùng nhau

Lai tạo thứ tự (bước cuối)

NST – Con 1 [6 2 5 3 1 4]

NST – Con 2 [5 3 6 2 4 1]

Phương pháp lai ghép có trật tự có ưu điểm là bảo toàn

Nó cố gắng giữ nguyên thứ tự của các số nguyên giống như thể các nhiễm sắc thể được hoán đổi trong một vòng tròn Do đó [1

2 3 4] được xem giống như [2 3 4 1]

Lai ghép có chu trình (CX Cycle Crossover)

Lai ghép chu trình thực hiện tổ hợp dưới các ràng buộc

mà mỗi gen xuất phát từ cha hoặc mẹ Mỗi cá thể con được tạo dựa trên vị trí, giá trị của cha mẹ thứ nhất và cha mẹ thứ hai

Trang 23

Bây giờ chuỗi NST – Con 1 có chứa hai số 4, do đó trao đổi số 4 thứ 2 (Vị trí số 2) cho chuỗi NST – Con2, ta được

Phép lai tạo vòng tròn (bước 2)

tính (LOX Linear Order Crossver)

2.2.5 Toán tử đột biến

Cũng giống như lai ghép, toán tử đột biến làm tăng nhanh quá trình hội tụ, nhưng tăng một cách đột ngột, cũng có khi sẽ không gây tác dụng gì một khi không thành công Không ai có thể đánh giá được phương pháp đột biến nào tốt hơn, dó đó có một vài phương pháp đơn giản, cũng có vài phương pháp khá phức tạp Người ta thường chọn

Trang 24

 Đột biến đảo ngược (Inversion Mutation) Chọn hai vị trí nhẫu nhiên trong một nhiễm sắc thể và sau đó, nghịch đảo chuỗi giữa hai vị trí này

Ví dụ:

NST - Ban đầu = [9 3 8 5 7 1 6 4 2]

NST – Đột biến = [9 3 1 7 5 8 6 4 2]

Chọn ngẫu nhiên một chuỗi con và chèn nó vào một vị trí ngẫu nhiên Đột biến chèn có thể được xem như trường hợp đặc biệt của đột biến thay, trong đó chuỗi con chỉ chứa một gen

Chọn ngẫu nhiên một gen và sau đó chèn nó vào vị trí ngẫu nhiên

Trang 25

Trước tiên, chọn ngẫu nhiên một gen, sau đó dịch chuyển nó đến một vị trí ngẫu nhiên bên phải hoặc bên trái vị trí của gen

Một số điều kiện dừng thuật giải:

Kết thúc theo kết quả, tức khi giá trị thích nghi của cá thể trong quần thể có giá trị sau số nhỏ hơn một giá trị α cho trước, thì dừng thuật toán

Kết thúc dựa trên số thế hệ, một số vấn đề dựa vào số thế hệ trong quần thể Khi số lượng tiến hóa của quần thể đến một giới hạn cho phép thì thuật toán sẽ dừng, mà trong khi không quan tâm đến chất lượng của các thể trong quần thể như thế nào

Tính theo thời gian, phụ thuộc vào thời gian chạy chương trình được quy định trước và thuật toán dừng

Kết hợp nhiều phương pháp khác nhau, thuật giải cũng có thể

sử dụng kết hợp nhiều phương pháp khác nhau để giải quyết vấn đề

2.2.7 Các tham số của giải thuật di truyền

Xác suất lai ghép: là tham số cho biết tần suất thực hiện toán tử lai ghép Nếu không có lai ghép, cá thể con sẽ chính là bản sao của cá thể cha mẹ Nếu xác suất lai ghép bằng 100%, khi đó mọi cá thể con đều được tạo ra qua quá trình lai ghép Ta gọi xác suất lai ghép là Pc

Xác suất đột biến: là tham số cho biết tần suất đột biến của nhiễm sắc thể Nếu không có đột biến, thế hệ con được tạo ra ngay sau giai đoạn lai ghép mà không bị thay đổi Ngược lại, một hoặc một số phần của nhiễm sắc thể bị thay đổi Nếu xác suất đột biến là 100%,

Trang 26

toàn bộ nhiễm sắc thể sẽ bị thay đổi Nếu tham số này bằng 0%, không có gì bị thay đổi Ta gọi xác suất đột biến là Pm

Kích thước quần thể là tham số cho biết có bao nhiêu cá thể trong một thế hệ của quần thể Nếu có quá ít cá thể, khả năng thực hiện lai ghép rất nhỏ và khi đó chỉ có một vùng tìm kiếm nhỏ mới được khảo sát Ngược lại, việc kích thước quần thể quá lớn cũng không tốt, do nó sẽ làm chậm quá trình giải bài toán và làm hao phí tài nguyên của máy tính Việc lựa chọn các tham số phù hợp sẽ tăng tính hiệu quả của bài toán Ta gọi kích thước quần thể là Popsize

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

Để ứng dụng giải thuật di truyền vào việc giải quyết một bài toán nào đó cần phải thực hiện một số công việc quan trọng sau:

sắc thể có thể chứa đựng một lời giải của bài toán

thể Đây là bước khó khăn và ảnh hưởng lớn đến tính hiệu quả của giải thuật

3 Lựa chọn các toán tử di truyền phù hợp, trong đó tập trung cho ba toán tử chính là chọn lọc, lai ghép và đột biến

thước quần thể, xác suất lai ghép, xác suất đột biến

5 Xác định điều kiện dừng cho quá trình tiến hóa

Trang 27

CHƯƠNG III - ỨNG DỤNG THUẬT GIẢI DI TRUYỀN VÀO BÀI

TOÁN X ẾP THỜI KHÓA BIỂU 3.1 Tìm hiểu chung về bài toán lập lịch

Các bài toán lập lịch thường được biết đến là một lớp bài toán tối ưu khó vì có phải thỏa mãn đồng thời nhiều ràng buộc và hướng tới nhiều mục tiêu tối ưu Trở ngại lớn nhất khi giải quyết bài toán này là không gian tìm kiếm sinh ra thường rất lớn Giải thuật di truyền(Genetic Algorithm - GA) được coi là một giải pháp tốt nhất cho lớp bài toán này Giải thuật hoạt động trên nguyên tắc “cân đối” giữa việc khai thác những lời giải tốt và xem xét toàn bộ không gian tìm kiếm Chính nhờ đó, nó cho kết quả tốt hơn các thuật toán tối ưu khác như giải leo đồi, thuật giải mô phỏng quá trình luyện thép,

kỹ thuật tìm kiếm ngẫu nhiên GA mô phỏng quá trình kế thừa và đấu tranh sinh tồn trong tự nhiên để tìm ra lời giải cho bài toán Nó được hình thành trên quan điểm quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất: xuất phát từ cá thể ban đầu, trải qua quá trình biến đổi và đấu tranh sinh tồn, các

cá thể sinh ra thế hệ con cháu ngày một thích nghi hơn với môi trường sống, mang các đặc tính tốt của thế hệ sau còn các cá thể không thích nghi với môi trường sống sẽ bị đào thải

3.1.1 Các thuộc tính của bài toán lập lịch

Giải thuật di truyền có thể được mô tả một cách vắn tắt qua các bước như sau:

cá thể tương ứng với lời giải cho bài toán

thích nghi, tính độ thích nghi của mỗi cá thể trong quần thể

thể mới

Trang 28

• Chọn lọc: dựa vào độ thích nghi xác định ở bước

2, chọn hai cá thể bố mẹ từ quần thể cũ Cá thể có độ thích nghi càng cao thì càng có nhiều khả năng được chọn

• Lai ghép: lai ghép hai cá thể bố mẹ để tạo ra một

cá thể mới với một xác suất lai ghép được chọn trước

• Đột biến: với một xác suất đột biến được chọn trước, biến đổi cá thể thành cá thể mới

• Chấp nhận: thay thế cá thể mới vào quần thể

4 Thay thế sử dụng quần thể mới cho quá trình tiếp theo của thuật toán

5 Thử nghiệm và đưa ra lời giải Vậy khi xây dựng giải thuật di truyền cho một bài toán cụ thể, các vấn đề chúng ta cần đặt ra là

• Mã hóa các nhiễm sắc thể

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

• Định nghĩa hàm đánh giá độ thích nghi của các

3.1.2 Phân loại mô hình xếp thời khóa biểu

tế có rất nhiều dạng thời khóa biểu khác nhau, rất đa dạng và tùy thuộc vào hoàn cảnh điều kiện của từng trường Có thể liệt kê ra đây một vài kiểu mẫu thời khóa biểu như sau:

3.1.2.1 Thời khóa biểu tuần

Là thời khóa biểu cho một tuần được dùng làm chuẩn cho tất

cả các tuần của học kỳ hoặc năm học Đa số các nhà trường của

Trang 29

Việt Nam đều sử dụng khuôn mẫu này Đây cũng là mô hình thời khóa biểu của đa số phần mềm thời khóa biểu trên thế giới Trong luận văn này tôi xin đề cập chính là phương pháp xếp thời khóa biểu tuần

3.1.2.2 Thời khóa biểu học kỳ

Là mẫu khuôn dạng thời khóa biểu được biểu diễn chi tiết đến từng ngày trong suốt một học kỳ hoặc năm học Một số các trường đại học, cao đẳng tại Việt Nam, đặc biệt là các trường quân đội sử dụng khuôn dạng này của thời khóa biểu

3.1.2.3 Thời khóa biểu 2 tuần liên tục

Là mẫu dạng thời khóa biểu theo tuần nhưng phân biệt sự khác nhau giữa các tuần chẵn lẻ trong học kỳ Thời khóa biểu dạng này được áp dụng cho các loại trường có môn học, bài giảng được sắp xếp 2 tuần 1 lần trong học kỳ hoặc năm học Thời khóa biểu của một tuần chẵn lẻ có dạng giống như loại Thời khóa biểu tuần như đã mô tả ở trên

3.1.2.4 Thời khóa biểu (k) tuần/ học kỳ

Đây là loại thời khóa biểu khuôn dạng tuần tuy nhiên thời gian phân bổ cho thời khóa biểu được chia làm nhiều kỳ trong một học kỳ hoặc năm học Rất nhiều trường đại học, cao đẳng tại Việt

sắp xếp không dàn đều trong một học kỳ mà thường co giãn trong những khoảng thời gian nhỏ hơn Các trường đại học, cao đẳng với chương trình đào tạo đa dạng, kết hợp chặt chẽ giữa lý thuyết và thực tế thường hay sử dụng mô hình này

3.1.2.5 Thời khóa biểu cho mỗi tuần

Là loại thời khóa biểu mô hình tuần nhưng mỗi tuần lại có một thời khóa biểu riêng Như vậy ví dụ trong một học kỳ có 25 tuần thì mỗi lớp sẽ có đúng 25 thời khóa biểu Đây là mô hình rất

Trang 30

phức tạp và về bản chất chính là mô hình thời khóa biểu học kỳ, điểm khác duy nhất là khuôn dạng in ra thời khóa biểu là Tuần

3.2 Bài toán xếp thời khóa biểu cho Đại học và cao đẳng ở Việt Nam

3.2.1 Phân loại đơn vị xếp thời khóa biểu

Phân loại theo các đối tượng trực tiếp liên quan đến dữ liệu thời khóa biểu Các đối tượng chính của Thời khóa biểu bao gồm:

Giáo viên: người trực tiếp giảng dạy theo các học phần môn học được qui định chặt chẽ về thời lượng, kiến thức và hình thức học

H ội trường: địa điểm học các môn học và bài giảng do giáo

viên đảm nhiệm

H ọc sinh: đối tượng học tập trực tiếp của giáo viên giảng

dạy Học sinh được phân công vào các lớp học Chính việc phân công lớp học theo các kiểu khác nhau tạo ra sự khác biệt cơ bản của mô hình Thời khóa biểu Trên thực tế tại Việt Nam cũng như thế giới có 2 loại lớp học sau đây:

Mô hình lớp học niên chế: Học sinh nhập học và các năm học được phân công cố định vào các lớp học được gọi là lớp niên chế

Mô hình lớp học tín chỉ: Học sinh được tự do đăng ký vào

biểu giảng dạy chi tiết Thông thường, sau khi thời khóa biểu của các lớp học này đã được lên kế hoạch thì học sinh mới căn cứ vào thời khóa biểu cụ thể để đăng ký học Cũng có thể xếp thời khóa biểu các lớp học tín chỉ sau khi học sinh đã đăng ký học Việc sắp xếp này phải đảm bảo sự không trùng giờ học của các sinh viên đã đăng ký Tuy nhiên cách làm này sẽ vô cùng phức tạp và trên thực

Ngày đăng: 13/02/2021, 08:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đình Thúc. Trí tuệ nhân tạo. Lập trình tiến hóa Nhà xuất bản giáo dục 2001 Khác
[2] Đinh Mạnh Tường .Trí tuệ nhân tạo. Nhà xuất bản khoa học và kỹ thuật 2002 Khác
[3] David A Coley. An Introduction to Genetic Algorithms for Scientists and Engineers Khác
[4] Đinh Mạnh Tường và Nguyễn Hoàng Cương . Giáo trình trí tuệ nhân tạo khoa Công nghệ thông tin, đại học Quốc Gia Hà Nội (.pdf) Khác
[5] R. Feldman and M.C. Golumbic. Optimization algorithms for student scheduling via constraint satisfiability, The Computer Journal1990 Khác
[6]Marco Chiarandini, An Effective Hybrid Algorithm for University Course Timetabling Khác

TỪ KHÓA LIÊN QUAN

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