1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề xuất giải thuật di truyền giải bài toán xếp thời khóa biểu

7 10 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 441,62 KB

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

Nội dung

Trong nghiên cứu này, chúng tôi đề xuất một giải thuật metaheuristic dạng quần thể là giải thuật di truyền để giải bài toán xếp thời khóa biểu trường phổ thông[r]

Trang 1

ĐẠI HỌC SÀI GÒN OF SAIGON UNIVERSITY

Email: tcdhsg@sgu.edu.vn ; Website: http://sj.sgu.edu.vn/

ĐỀ XUẤT GIẢI THUẬT DI TRUYỀN GIẢI BÀI TOÁN

XẾP THỜI KHÓA BIỂU

Proposing a genetic algorithm to solve timetabling problem

Nguyễn Hồ Thiên Đăng(1), Nguyễn Thị Hồng Bích(2),

Thái Minh Tân(3), TS Phan Tấn Quốc(4)

(1) Học viên cao học Trường Đại học Sài Gòn

(2) Trường THPT Ngô Quyền, Q.7, TP.HCM

(3) Công ty TMA Solutions, TP.HCM

(4) Trường Đại học Sài Gòn

TÓM TẮT

Việc xếp thời khóa biểu hợp lý là bài toán tối ưu có nhiều ứng dụng trong thực tế Được phân loại thuộc lớp NP-complete và đã được nghiên cứu rộng rãi trong hàng chục năm qua với các hướng tiếp cận như quy hoạch toán học, tối ưu dựa trên ràng buộc, tối ưu đa mục tiêu, giải thuật tham lam, giải thuật metaheuristic.v.v Nghiên cứu này đề xuất sử dụng giải thuật di truyền để giải bài toán xếp thời khóa biểu trường phổ thông, một loại bài toán xếp thời khóa biểu phổ biến Nghiên cứu đã cài đặt và thí nghiệm giải thuật đề xuất trên một số bộ dữ liệu thực tế Kết quả thực nghiệm cho thấy giải thuật đề xuất cho kết quả tốt hơn một số phần mềm hỗ trợ xếp thời khóa biểu cho các trường phổ thông hiện nay trên dựa trên trọng số một số ràng buộc của bài toán

Từ khóa: thời khóa biểu, thời khóa biểu trường phổ thông, giải thuật di truyền

ABSTRACT

Timetabling problem is optimization problems that have many practical applications; this is the problem

of class NP-complete Timetabling problem has been widely studied over the past decades with approaches such as mathematical programming, constraint-based approaches, multiobjective optimization, greedy algorithms, metaheuristic algorithms, etc In this study, we propose a genetic algorithm to solve a form of Timetabling problem that is the School Timetabling problem The proposed algorithm was conducted on some real data sets Experimental results claim that our algorithm results in better results than some of the current school Timetabling software based on some constraints of the problem

Keywords: genetic algorithm, timetabling problem, school timetabling

1 Giới thiệu

Bài toán xếp thời khóa biểu trường học

(timetabling problem) là tạo ra một lịch

phân công giảng dạy giữa người dạy và

người học trong một chu kỳ thời gian cố

định (thường là theo tuần) sao cho thỏa mãn được nhiều ràng buộc nhất có thể của bài toán Bài toán xếp thời khóa biểu thuộc lớp bài toán tối ưu NP-complete [1]

Bài toán xếp thời khóa biểu được biết Email: quocpt@sgu.edu.vn

Trang 2

đến rộng rãi với 3 dạng sau: bài toán xếp

thời khóa biểu trường phổ thông (school

timetabling-STTP); bài toán xếp thời khóa

biểu trường đại học (course

timetabling-CTTP); bài toán xếp lịch thi (examination

timetabling-ETTP) [1]

Đã có nhiều công trình nghiên cứu về

bài toán xếp thời khóa biểu dựa trên các

hướng tiếp cận như giải thuật tô màu đồ thị,

tiếp cận dựa trên ràng buộc, quy hoạch toán

học, tối ưu đa mục tiêu, giải thuật tham lam

[2], giải thuật metaheuristic [3], [4], [5],

[6], [7]

Trong nghiên cứu này, chúng tôi đề

xuất một giải thuật metaheuristic dạng

quần thể là giải thuật di truyền để giải bài

toán xếp thời khóa biểu trường phổ thông

với hy vọng có thể khắc phục được bẩy tối

ưu cục bộ so với các metaheuristic dạng cá

thể khác

2 Bài toán xếp thời khóa biểu phổ

thông

2.1 Một số khái niệm

Chu kỳ thời khóa biểu: chu kỳ thời

khóa biểu là số ngày mà thời khóa biểu cần

xếp lịch, tính từ thứ Hai đến thứ Bảy

Nhóm thời gian: nhóm thời gian là

tập hợp nhóm các tiết trong một chu kỳ

thời khóa biểu; buổi sáng từ tiết 1 đến tiết

5, buổi chiều từ tiết 6 đến tiết 8, sau 2 tiết

đầu của mỗi buổi học sẽ có giờ giải lao

Định dạng khuôn mẫu các buổi học thông

thường ở trường phổ thông hiện như sau:

từ thứ Hai đến thứ Sáu, mỗi buổi các lớp

học đủ 5 tiết; riêng thứ Bảy có thể học ít

hơn tuỳ theo tổng số tiết các môn cả tuần,

tổng số tiết này thay đổi tuỳ học kỳ và tuỳ

khối lớp

Giáo viên: các giáo viên có thể được

phân công làm công tác chủ nhiệm lớp,

giáo viên chủ nhiệm lớp nào thì phải được

phân công giảng dạy ít nhất một môn học

của lớp đó; các giáo viên có thể dạy môn học ngoài chuyên môn chính, gọi là công tác kiêm nhiệm

Lớp học: lớp học gồm tập các học

sinh học chung với nhau ở tất cả các môn học

Phạm vi bài toán xếp thời khóa biểu đề cập trong nghiên cứu này là các khối lớp

10, 11 và 12

Phòng học: với bài toán xếp thời khóa

biểu ở trường phổ thông, mỗi lớp được cấp

cố định một phòng học lý thuyết trong suốt năm học; mỗi phòng học có thêm thông tin

là phòng học lý thuyết hay phòng thực hành, thực nghiệm

Môn học: có thể gọi là môn, mỗi khối

lớp trong một học kỳ có từ 13 đến 17 môn; Môn ngữ văn, thể dục, quốc phòng phải xếp tiết cặp và không xếp tiết 2-3 vì sau tiết 2 là giờ giải lao; Môn toán, tiếng Anh, Tin học cũng khuyến khích xếp tiết cặp Các môn đã xếp tiết cặp thì một buổi không xếp quá một cặp

Bảng phân công: bảng phân công

giảng dạy gồm một tập các phân công; mỗi phân công bao gồm các thông tin về giáo viên, lớp học, môn học, tổng số tiết môn học trong tuần

2.2 Ràng buộc của bài toán xếp thời khóa biểu

Ràng buộc của bài toán xếp thời khóa biểu được phân làm hai loại: ràng buộc cứng (hard constraints) và ràng buộc mềm (soft constraints)

Ràng buộc cứng là các ràng buộc đã

được quy định trong các văn bản của ngành

Ví dụ môn học cần xếp có tiếp cặp, buổi học của các lớp không có tiết lủng.v.v Ràng buộc cứng là loại ràng buộc, không thể vi phạm, trừ trường hợp bất khả kháng

Ràng buộc mềm là các ràng buộc

thường do giáo viên hoặc lớp học yêu cầu

Trang 3

để làm tăng chất lượng thời khóa biểu Các

ràng buộc mềm cần được xếp thỏa mãn

càng nhiều càng tốt Khi có nhiều ràng

buộc mềm thì độ ưu tiên giữa chúng cũng

là yếu tố cần xem xét

Ràng buộc cứng của bài toán xếp

thời khóa biểu phổ thông

Ràng buộc đụng độ giáo viên (1): các

phân công đối với cùng giáo viên thì không

xếp vào cùng vị trí tiết học

Ràng buộc đụng độ lớp học (2): các

phân công đối với cùng lớp học thì không

xếp vào cùng vị trí tiết học

Ràng buộc đụng độ phòng học (3):

mỗi phòng học chỉ được xếp vào nhiều

nhất một phân công tại một vị trí tiết học

Việc đụng độ phòng học chỉ có thể xảy ra ở

các phòng thí nghiệm, thực hành, sân tập

thể dục

Ràng buộc về số tiết học liên tiếp tối

thiểu và số tiết học liên tiếp tối đa (4):

thông số này là (1,2) đối với bài toán STTP

và đây cũng là điểm khác biệt so với bài

toán CTTP Ở bài toán CTTP, số tiết học

liên tiếp tối thiểu, tối đa có thể là (2,k) với

2 ≤ k ≤ 6

Ràng buộc thời gian rảnh của giáo

viên, lớp học, phòng học (5): các phân

công không được vi phạm thời gian rảnh

của giáo viên, của lớp học, của phòng học

Ràng buộc về tính đầy đủ của phân

công (6): tất cả các phân công đều phải

được xếp thời khóa biểu Nếu giải thuật

không xếp được tất cả phân công thì cần gỡ

dần các ràng buộc mềm và tiến hành lại việc

xếp thời khóa biểu Một giải thuật xếp được

tất cả các phân công không đồng nghĩa giải

thuật đó sẽ tạo ra thời khóa biểu tốt

Ràng buộc về phân công xếp sẵn (7):

tiết xếp sẵn là tiết được ưu tiên xếp trước

và mọi tiết khác xếp sau sẽ tránh các tiết

xếp sẵn này

Ràng buộc về các môn học có tiết cặp (8): một số môn học theo quy định bắt

buộc phải có ít nhất một tiết cặp để đáp ứng yêu cầu về chuyên môn

Ràng buộc về mỗi môn học chỉ học một lần trong một buổi tại mỗi lớp (9):

trong một buổi học, một môn học chỉ có thể xuất hiện nhiều nhất một lần (một tiết

lẻ hoặc tiết cặp)

Ràng buộc tiết trống của lớp theo buổi (10): tiết trống là tiết không bố trí dạy học

xen giữa các tiết học khác; thực tế thì thời khóa biểu các lớp ở trường phổ thông cần được xếp sao cho không có hiện tượng trống tiết

Ràng buộc về tiết không xếp của giáo viên (11): tiết không xếp là tiết theo quy

định của ngành, của cơ sở giáo dục; thời khóa biểu của giáo viên cần xếp tránh các tiết không xếp này, ví dụ ngày sinh hoạt chuyên môn của giáo viên được xem là các tiết không xếp

Ràng buộc mềm của bài toán xếp thời khóa biểu phổ thông

Ràng buộc về lịch bận của giáo viên (1): mỗi giáo viên có lịch bận riêng

Ràng buộc về học cách ngày (2): nên

xếp các môn học học cách ngày trong tuần

Ràng buộc về độ nén lịch dạy của giáo viên (3): nên xếp lịch dạy của giáo viên sao

cho số buổi mà giáo viên đi dạy là ít nhất

có thể; gọi n là số buổi dạy của giáo viên thì: n ≤ số tiết trong tuần của giáo viên/5

+1

Ràng buộc về tiết trống của giáo viên (4): mỗi buổi giáo viên có thể trống tiết tối

đa 1 lần (trống 1 tiết hoặc 2 tiết liên tục);

trong một tuần số tiết trống của mỗi giáo viên không vượt quá 3

Ràng buộc về số tiết dạy tối thiểu trong một buổi của giáo viên (5): mỗi giáo

viên dạy ít nhất 2 tiết trong một buổi

Trang 4

Ràng buộc về số tiết học tối thiểu

trong một buổi học của một lớp (6): số tiết

tối thiểu trong mỗi buổi học của một lớp là

2 tiết

Ràng buộc về số môn học tối đa

trong mỗi buổi (7): số môn học tối đa

trong mỗi buổi là 4; trường hợp bất khả

kháng có 5 môn trong một buổi học thì 5

môn học đó không cùng thuộc nhóm môn

học xã hội (Văn, Sử, Địa, Giáo dục công

dân, Tiếng Anh)

Ràng buộc về số tiết tối đa của một

giáo viên trong một lớp trong mỗi buổi (8):

tránh xếp một giáo viên dạy một lớp nhiều

hơn 2 tiết/buổi học (không tính tiết sinh

hoạt chủ nhiệm) Trường hợp này có thể

xảy ra đối với các môn học có nhiều hơn 2

tiết hoặc các giáo viên dạy lớp đó 2 môn

học

2.3 Mô hình hóa bài toán xếp thời

khóa biểu

Bài toán xếp thời khóa biểu gồm các

yếu tố sau:

Tập P ={p1, p2,…,pm} gồm m tiết học,

tập T ={t1, t2,…,tn} gồm n giáo viên, ma

trận PT cho biết tiết rảnh của mỗi giáo

viên, trong đó PTij=1 nếu giáo viên ti rảnh

tiết pj và PTij=0 nếu ngược lại

Tập C ={c1, c2,…,ch} gồm h lớp học,

ma trận PC cho biết tiết rảnh của lớp học,

trong đó PCij=1 nếu lớp học ci rảnh tiết pj

và PCij=0 nếu ngược lại

Tập R ={r1, r2, ,rk} gồm k phòng học,

ma trận PR cho biết tiết rảnh của phòng

học, trong đó PRij=1 nếu phòng học ri rảnh

tiết pj và PRij=0 nếu ngược lại

Tập M ={m1, m2,…, my} gồm y môn

học, tập PM gồm y tổng số tiết học trong

tuần của các môn học tương ứng trong tập

M tức PM={pm1, pm2,…, pmy}

Tập MR gồm các môn học được phân

công vào các phòng học, trong đó MRij=1

nếu môn học mi có thể xếp vào phòng rj và ngược lại

Tập A ={A1, A2, , Aq} gồm q phân công, tập Ai cho biết chi tiết của phân công

giáo viên tj giảng dạy môn mf cho lớp Cv:

Ai={tj, Cv, mf}

Tập lời giải S của bài toán gồm x phân

công được gán tiết học và phòng học

S={S1, S2, ,Sx}, trong đó tập Si gồm phân

công Ai được xếp vào tiết học Pj với số tiết

liên tiếp là kv (với k=1,2) và tại phòng học

rm: Si={Ai, pj, kv, rm}

Để đánh giá được chất lượng của một lời giải thì ta sử dụng một hàm mục tiêu biểu diễn tổng trọng số các vi phạm của các ràng buộc của bài toán; trong đó các ràng buộc cứng đã được chuyển thành các ràng buộc mềm có trọng số cao

Trong đó: S là lời giải - là thời khóa biểu toàn trường, n là tổng số các ràng buộc của bài toán, wi là trọng số vi phạm

của ràng buộc thứ i (wi ≥ 0, với i=1 n), di

là số lần vi phạm ràng buộc thứ i (di ≥ 0,

với i=1 n) [4]

Ký hiệu f(S) là giá trị hàm mục tiêu của lời giải S, giá trị hàm mục tiêu càng cao thì

độ thích nghi càng thấp và ngược lại

2.4 Tiêu chí đánh giá chất lượng thời khóa biểu

Chất lượng của một thời khóa biểu thể hiện qua thời khóa biểu của các lớp học và thời khóa biểu của mỗi giáo viên Việc đánh giá chất lượng một thời khóa biểu là công việc khó khăn và thông thường giáo viên sẽ đánh giá dựa vào thông tin thời khóa biểu có

vi phạm các ràng buộc của bài toán

3 Giải thuật di truyền giải bài toán xếp thời khóa biểu

Trong phần này, chúng tôi sẽ đề xuất

Trang 5

một giải thuật metaheuristic, cụ thể là giải

thuật di truyền [5], [7], [8] để giải bài toán

xếp thời khóa biểu ở trường phổ thông

3.1 Tạo quần thể ban đầu

Quần thể ban đầu được tạo gồm N cá

thể T1, T2, ,TN, trong đó mỗi cá thể là một

lời giải của bài toán, tức là một thời khóa

biểu toàn trường Mỗi cá thể gồm nhiều

gen, mỗi gen được khởi tạo ngẫu nhiên từ

tập các phân công đã cho sao cho trước hết

phải thỏa mãn được các ràng buộc cứng

của bài toán

Chất lượng các cá thể của quần thể ban

đầu được khởi tạo ngẫu nhiên thường có

chất lượng kém hơn so với chất lượng của

các cá thể được khởi tạo bằng các heuristic

của bài toán Tuy nhiên do sự đa dạng của

các cá thể khi khởi tạo ngẫu nhiên, nên lúc

kết thúc quá trình tiến hóa, giải thuật di

truyền ứng với quần thể ban đầu (được

khởi tạo ngẫu nhiên) thường cho chất

lượng lời giải tốt hơn

3.2 Độ thích nghi của cá thể

Độ thích nghi của mỗi cá thể thời khóa

biểu được xác định là giá trị của hàm mục

tiêu Giá trị hàm mục tiêu càng nhỏ thì cá

thể thời khóa biểu có chất lượng càng cao

3.3 Phép lai

Mục này trình bày cách chọn các cá

thể và cách thực hiện phép lai, cách xử lý

các cá thể con sinh ra từ phép lai

Chọn các cá thể thời khóa biểu tham

gia phép lai

Cho xác xuất lai là pc, đối với mỗi cá

thể trong quần thể P, ta phát sinh ngẫu

nhiên một số thực r  [0 1] Nếu r ≤ pc, thì

chọn cá thể đó để tham gia phép lai Ta sẽ

tiến hành thực hiện phép lai từng cặp các

cá thể thời khóa biểu theo thứ tự mà chúng

được chọn

Phép lai hai cá thể thời khóa biểu

cha-mẹ T1,T2 để sinh ra hai cá thể thời khóa

biểu T1’ và T2’ T1’ và và T2’ ban đầu được

gán bằng T1 và T2 Lấy ngẫu nhiên một đoạn các gen

trong mỗi cặp cá thể cha-mẹ thỏa mãn ràng

buộc về tính chất gen của bài toán – ở đây

là cùng một lớp nào đó, giả sử đó là đoạn

(p1,p2) Duyệt các đoạn gen từ (p1,p2) trong

cá thể cha-mẹ T1, nếu có gen nào làm cho

cá thể T2’ tốt hơn thì cập nhật T2’ Công

đoạn này kết thúc ta được cá thể con T2’ Tương tự, duyệt các đoạn gen từ

(p1,p2) trong cá thể cha-mẹ T2, nếu có gen

nào làm cho cá thể T1’ tốt hơn thì cập nhật

T1’ Công đoạn này kết thúc ta được cá thể

con T1’

Các cá thể gốc T1 và T2 không thay đổi

trong quá trình này; các cá thể T1’ và T2’ sinh ra từ phép lai phải thỏa mãn các ràng buộc của bài toán

Phép lai hai cá thể T1 và T2 để được hai

cá thể con T1’ và T2’ Ta đưa 2 cá thể con này vào quần thể mới - nghĩa là sau khi thực hiện phép lai, số cá thể của quần thể sẽ

lớn hơn N, giả sử đó là N’ Phép chọn ở

cuối mỗi thế hệ có nhiệm vụ loại bớt một số

cá thể có độ thích nghi kém hơn để đảm bảo kích thước quần thể không đổi trong mỗi lần bắt đầu thế hệ tiến hóa tiếp theo

3.4 Phép đột biến

Mục này trình bày cách chọn các phân công trong các cá thể để thực hiện phép đột biến, cách thực hiện phép đột biến và cách

xử lý các cá thể con sinh ra từ phép đột biến

Phép đột biến được tiến hành sau khi thực hiện phép lai (trước khi thực hiện phép chọn) Kích thước của quần thể lúc

thực hiện phép đột biến là N’

Chọn ngẫu nhiên một phân công, giả

sử đó là phân công X (tức 1 cụm tiết gồm các thông tin: giáo viên, môn học, lớp, số tiết, vị trí tiết đầu đã bố trí cụm tiết.v.v.)

Trang 6

Thực hiện di chuyển cụm tiết đó từ vị trí u

đến vị trí v trong cùng lớp hoặc qua một

lớp khác mà vẫn đảm bảo lớp khác ở đây

cũng có giáo viên, môn học phù hợp với

phân công X Nếu không tìm được vị trí v

phù hợp thì phép đột biến đó không được

thực hiện

Theo nguyên tắc đột biến, cá thể sau

đột biến không nhất thiết phải tốt hơn trước

đột biến Vì xét về cả quá trình tiến hóa,

một cá thể chưa tốt ở thế hệ này vẫn sẽ có

khả năng giúp quá trình tiến hóa sinh ra các

cá thể tốt ở những thế hệ tiếp theo

Xử lý các cá thể con sinh ra

Giả sử cá thể T sau đột biến sinh ra cá

thể T’, khi đó ta có hai cách xử lý sau đây:

Cách thứ nhất là nếu T’ tốt hơn T thì

thay T bằng T’, nếu T’ kém hơn T thì xem

như phép đột biến không thực hiện gì cả

Cách thứ hai là thay T bằng T’ mà

không quan tâm đến chất lượng lời giải của

T’ Trong bài báo này, chúng tôi chọn thực

hiện phép đột biến thứ hai

3.5 Phép chọn lọc

Chúng tôi sử dụng phép chọn lọc các

cá thể dựa trên độ thích nghi xếp hạng

bằng cách bố trí chung theo độ thích nghi

giảm dần (tức theo chiều tăng dần của giá

trị hàm mục tiêu), sau đó chọn N cá thể có

độ thích nghi cao nhất

Để không làm mất đi cá thể tốt nhất

được khai phá trong suốt quá trình tiến

hóa, giải thuật của chúng tôi luôn cập nhật

cá thể tốt nhất cho đến thời điểm hiện tại

(cá thể ưu tú)

3.6 Điều kiện dừng

Thường các giải thuật di truyền chọn

các điều kiện dừng sau đây: thứ nhất là lời

giải tốt nhất tìm được của bài toán không

được cải thiện sau một số lần lặp định

trước ; thứ hai là số lần lặp của giải thuật

đạt đến một giá trị định trước ; thứ ba là

giải thuật chạy hết một lượng thời gian định trước Trong bài toán xếp thời khóa biểu trường phổ thông đang xét, chúng tôi chọn điều kiện dừng đầu tiên

3.7 Giải thuật di truyền giải bài toán xếp thời khóa biểu

Chúng tôi gọi giải thuật này là STTGA (School Timetabling Problem Genetic algorithm)

Dữ liệu đầu vào: danh sách các phân

công, danh sách các ràng buộc, bộ trọng số

vi phạm ứng với mỗi ràng buộc

Dữ liệu đầu ra: thời khóa biểu của mỗi lớp, thời khóa biểu của mỗi giáo viên Giải thuật di truyền giải bài toán xếp thời khóa biểu - STTGA

1: Khởi tạo quần thể ban đầu với N cá thể

ngẫu nhiên, trong đó mỗi lời giải là một thời khóa biểu toàn trường, mỗi gen của

cá thể ứng với một phân công;

2: Xác suất lai là pc, xác suất đột biến là pm;

3: Đánh giá độ thích nghi mỗi cá thể trong

quần thể, cá thể T có giá trị hàm mục là C(T), cá thể T càng tốt nếu C(T) có giá

trị càng bé và ngược lại;

4: while (điều kiện dừng chưa thỏa)

{

a) Chọn ngẫu nhiên một cặp cá thể

cha-mẹ từ quần thể;

b) Phép lai (crossover): nếu xảy ra xác

suất lai ghép pc thì lai ghép hai cá thể cha-mẹ để tạo thành các cá thể

con, ngược lại, các cá thể con giống

cá thể cha-mẹ;

c) Đột biến (Mutation): nếu xảy ra xác

suất đột biến pm thì đột biến bằng

cách cho thay đổi nhỏ trong cá thể; d) Đánh giá lại độ thích nghi của các

cá thể, tức tính lại giá trị của hàm mục tiêu;

e) Chọn lọc (Selection): thay thế các

Trang 7

cá thể có độ thích nghi ít hơn;

}

5: Cá thể tốt nhất của thế hệ sau cùng là

lời giải của bài toán

4 Thực nghiệm và đánh giá

4.1 Dữ liệu thực nghiệm

Chúng tôi thực nghiệm giải thuật di

truyền STTGA trên 2 bộ dữ liệu thực tế tại

Trường Trung học phổ thông Giồng Ông

Tố, Quận 2, Thành phố Hồ Chí Minh Bộ thứ nhất có tên gọi là HK11920, bộ thứ hai

có tên gọi là HK21920

Bảng 1 Thông số các bộ dữ liệu thực nghiệm

(Số lượng)

HK21920 (Số lượng)

Các ràng buộc cứng 1, 2, 3, 9, 10, 11 ở

trên được mềm hóa với trọng số cao (các

giá trị này được đề xuất qua quá trình thực

nghiệm thực tế), các ràng buộc cứng 4, 5,

6, 7, 8 còn lại luôn được thỏa mãn khi cài đặt Do đó, bài toán có 6 ràng buộc cứng và

8 ràng buộc mềm cần được xử lý theo liệt

kê ở Bảng 2 và Bảng 3

Bảng 2 Trọng số vi phạm của ràng buộc cứng

Ràng

Đối tượng ràng buộc

H4 Ràng buộc về mỗi môn học chỉ học một lần trong

Ngày đăng: 01/04/2021, 19:35

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