Tải bản đầy đủ
CHƯƠNG II: ỨNG DỤNG MẠNG NƠ-RON HOPFIELD TRONG BÀI TOÁN LẬP THỜI KHÓA BIỂU CHO TRƯỜNG ĐẠI HỌC

CHƯƠNG II: ỨNG DỤNG MẠNG NƠ-RON HOPFIELD TRONG BÀI TOÁN LẬP THỜI KHÓA BIỂU CHO TRƯỜNG ĐẠI HỌC

Tải bản đầy đủ

http://www.ictu.edu.vn

33

2.1 Bài tốn lập thời khóa biểu và những khó khăn trong việc lập thời
khóa biểu cho trường đại học.
- Phát biểu bài tốn
Gọi V là tập hợp các phòng học và C, T lần lượt là tập các lớp học và
các giáo viên. Ta xây dựng một ma trận Rijk ∈ C × T × V, trong đó, Rijk là số
đơn vị thời gian mà giáo viên j phải dạy lớp i tại phòng học k theo thời gian
biểu quy định.
Chúng ta định nghĩa một biến logic xijkl như sau:

xijkl

1, nếu lớp i và giáo viên j dạy tại phòng k trong thời gian l
=
0, ngược lại

(6)

Ví dụ:
Giáo viên : Nguyễn Văn A -> j
Phòng :

309 A -> k

Lớp :

ĐH Tin 11B ->i

Thời gian: 8h30 – 10h05 ->l
Theo cơng thức (6) thì xijkl =1 thể hiện một giáo viên j có mặt để dạy lớp i tại
phòng k trong thời gian l; và xijkl = 0 trong các trường hợp còn lại.
Bài tốn lập thời khóa biểu đáp ứng các ràng buộc theo mơ hình TT2
(Timetable 2) được phát biểu như sau:
Mơ hình Lớp – giáo viên – phòng học (TT2)
Cần tìm các biến logic xijkl thỏa mãn các ràng buộc sau (xem [9]):
P

∑x
l =1

ijkl

= Rijk (∀i ∈ C , j ∈ T , k ∈ V )

(7)

http://www.ictu.edu.vn

T

V

∑∑ x

34

≤ 1 (∀i ∈ C , ∀l ∈ ∏ )

(8)

ijkl

≤ 1 (∀j ∈ T , l ∈ ∏)

(9)

ijkl

≤ 1 (∀k ∈V , l ∈ ∏)

(10)

xijkl = 0 hoặc 1 (∀i ∈ C ; j ∈ T ; k ∈ V ; l ∈ ∏ )

(11)

j =1 k =1

C

ijkl

V

∑∑ x
i =1 k =1
C

T

∑∑ x
i =1 j =1

Trong đó, cơng thức (7) ở vế phải Rijk thể hiện mối quan hệ giữa lớp i – giáo
viên j – phòng học k, vế trái của cơng thức ta sử dụng biến xijkl để nói tổng
thời gian (số tiết) mà một giáo viên j dạy lớp i tại phòng k trong thời điểm l
được thực hiện suốt trong thời gian biểu.
Các cơng thức từ (8) –(10) đảm bảo Lớp –giáo viên – phòng học khơng bị
xung đột. Cụ thể:
• Cơng thức (8) đảm bảo ràng buộc về Giáo viên – phòng học, nghĩa là
trong một lớp tại một thời điểm chỉ có tối đa một giáo viên j dạy phòng
k. hay một phòng học chỉ được phép một giáo viên dạy tại một thời
điểm.
• Cơng thức (9) đảm bảo cặp ràng buộc Lớp - phòng học, nghĩa là mọi
giáo viên j tại một thời điểm l chỉ dạy được một lớp i tại phòng k hay
một phòng học chỉ được phép một lớp học tại một thời điểm.
• Cơng thức (10) đảm bảo ràng buộc theo cặp Lớp –giáo viên, tức trong
một thời điểm l một lớp chỉ có tối đa một giáo viên.

http://www.ictu.edu.vn

35

• Cơng thức (11) thể hiện giá trị biến logic xijkl chỉ được phép nhận một
trong hai giá trị 0 hoặc 1.
Với mục đích xây dựng mơ hình bài tốn thời khóa biểu để giải bằng mạng
nơ-ron Hopfield, ta diễn giải mơ hình bài tốn thời khóa biểu ở trên (TT2)
sang dạng biễu diễn mới (TT3) như sau: Giả sử có bộ ba T ( Lớp- giáo viên phòng học) cho việc lập thời gian biểu tới học kỳ P. Mỗi bộ ba theo mẫu lớp i
gặp giáo viên j tại phòng k. Có duy nhất một bộ ba sẽ xảy ra Rijk trong tồn bộ
T, tổng số bộ ba được xác định bởi:
C

T

V

τ = ∑∑∑ Rijk

(12)

i =1 j =1 k =1

Sử dụng biến Boolean xtp như sau:

1, nếu bộ ba t = (i, j, k) được gán đợt P
xtp = 
0, nếu khác

(13)

Định nghĩa các ma trận Cˆ , Tˆ ,Vˆ :

1, nếu lớp i thuộc bộ ba t=(i,j,k)
Cˆ it = 
0, nếu khác

1, nếu giáo viên j thuộc bộ ba t=(i,j,k)
Tˆ jt = 
0, nếu khác
1,
Vˆkt = 
0,

nếu phòng học k thuộc bộ ba t=(i,j,k)
(16)

(14)

(15)

http://www.ictu.edu.vn

36

nếu khác
Ma trận x định rõ một lời giải đúng cho bài tốn thời khóa biểu nếu
thỏa mãn các ràng buộc (TT3):
P

∑x
p =1

τ

∑ x Cˆ
t =1

tp

it

tp

= 1 (∀t ∈τ )
(17)

≤ 1 (∀i ∈ C , p ∈ ∏ )

(18)
τ

∑x
t =1

tp

Tˆjt ≤ 1 (∀j ∈ T , p ∈ ∏ )
(19)

τ

∑x
t =1

Vˆkt ≤ 1 (∀k ∈ V , p ∈ ∏ )

tp

xtp = { 0,1} , (∀t ∈τ , p ∈ Π )

(20)

(21)

Phương trình (17) đảm bảo mỗi bộ ba (Lớp – giáo viên – phòng học)
chỉ xuất hiện chính xác một lần trong thời khóa biểu, trong khi phương trình
(18) – (20) tránh xung đột lớp, giáo viên, phòng học, và phương trình (21) bảo
đảm tính tồn vẹn cho lời giải. Rõ ràng, cơng thức này trình bày ngắn gọn hơn
so với TT2, nhằm giảm chiều bài tốn. Trong khi trình bày TT2 bao hàm ma
trận lời giải với kích thước C x T x V x P, qua trình bày TT3 giảm xuống còn
kích thước τ × P .
- Những khó khăn trong việc lập thời khóa biểu

http://www.ictu.edu.vn

37

Việc ánh xạ các ràng buộc bài tốn lên mạng nơ-ron Hopfield thơng
qua hàm năng lượng E, xác định các thành phần trong hàm phạt, từ đó kết hợp
hàm năng lượng của mạng nơ-ron Hopfield cho ra ma trận trọng số của mơ
hình bài tốn, .. sẽ là những khó khăn thực sự khi tìm lời giải bài tốn lập thời
khóa biểu.
Việc bài tốn với tập dữ liệu lớn về số lượng các lớp học, giáo viên,
phòng, đơn vị thời gian và nhiều điều kiện ràng buộc sẽ ảnh hưởng đến khả
năng tính tốn của chương trình.
2.2. Tình hình giải quyết bài tốn lập thời khóa biểu
Thời khóa biểu là một dạng bài tốn kinh điển trong hoạt động nghiên
cứu về lập lịch nói chung, do bài tốn đòi hỏi phải thỏa mãn nhiều điều kiện
ràng buộc. Từ hình thức đơn giản nhất như mơ hình lớp – giáo viên đến các
bài tốn phân cơng cơng việc phức tạp, thời khóa biểu là bài tốn tối ưu tổ
hợp dạng NP-complete, và chúng ta sẽ mở rộng mối liên hệ mơ hình lớp –
giáo viên này.
Có thể sử dụng mạng nơ-ron Hopfield để giải bài tốn thời khóa biểu
cho trường đại học. Các nghiên cứu trước đây sử dụng mạng nơ-ron cho bài
tốn thời khóa biểu khơng mang lại kết quả như mong đợi, nhưng những
nghiên cứu gần đây đã chứng minh rằng mạng nơ-ron đã có thể giải quyết tốt
Bài tốn Người bán hàng rong (Smith, 1999). Việc áp dụng mạng nơ-ron
Hopfield vào lập thời khóa biểu trường học mang tính thời sự và hiệu suất
của mạng Hopfield phụ thuộc vào việc sử dụng cơng thức phù hợp. Thuật giải
mạng Hopfield có thể so sánh với các thuật tốn siêu tìm kiếm
(metaheuristics) khác như mơ phỏng luyện kim (Annealing) và tìm kiếm tabu
về lời giải chất lượng và thời gian tính tốn qua kiểm tra.

http://www.ictu.edu.vn

38

2.3. Xây dựng mơ hình mạng Hopfield cho bài tốn thời khóa biểu
2.3.1. Mạng nơ ron Hopfield
Mạng nơ ron Hopfield ( Hopfield, 1982, 1984) là cơng cụ tốn học có
thể được sử dụng để giải các bài tốn tối ưu tổ hợp. Ưu thế của mạng nơ-ron
đã vượt qua những kỹ thuật tối ưu truyền thống ở dạng tiềm năng về sức
mạnh tính tốn rất nhanh khi phương tiện phần cứng máy tính ngày càng phát
triển, và dùng trong mạng tính tốn xử lý song song.
Có hai loại mạng Hopfield là mạng Hopfield rời rạc và liên tục, cho các
giá trị khác nhau tùy vào trạng thái nơ-ron. Mơ hình sinh học của bộ não
người là ln cố gắng sử dụng đầy đủ các hệ thống kết nối bên trong của N
nơ-ron. Nơ-ron i có trạng thái vào ui và đầu ra vi (có thể là giá trị nhị phân
trong mạng rời rạc hoặc giá trị thực bởi số 0 và 1 ở mạng liên tục). Trạng thái
ui kết hợp đầu vào bias Ii, và tổng trọng số đi ra từ tất cả các nơ-ron. Trọng số,
xác định độ dài của các kết nối từ nơ-ron i tới j, cho bởi Wij. Quan hệ giữa các
trạng thái của một nơ-ron và tín hiệu đi ra của nơ-ron được xác định bởi hàm
kích hoạt g(ui). Hàm kích hoạt này độc lập trên mạng Hopfield rời rạc hoặc
liên tục. Có dạng:
vi = g (ui ) =

u
1
(1 + tanh( i ))
2
λ

(22)

Cơng thức trên sử dụng cho mạng Hopfield liên tục, trong đó λ là biến xác
định độ dốc của hàm kích hoạt g(ui).
Đối với mạng Hopfield rời rạc, hàm kích hoạt thường thể hiện hàm ngưỡng
rời rạc:
1 , nếu ui > 0
vi = g(ui ) = 
0, nếu ui ≤ 0

(23)

http://www.ictu.edu.vn

39

Các nơ-ron tự học (tuần tự hoặc song song) theo đúng luật sau:

 N

ui (t + 1) = ui (t ) + ∆t  ∑ wij v j + I i ÷
 j =1

vi (t + 1) = g(ui )

(24)
(25)

( trong ∆t là thời gian trễ cố định), và khi thực hiện mạng nơ-ron sẽ hội tụ về
cực tiểu địa phương với hàm năng lượng theo thời gian:

E=−

N
1 N N
W
v
v

∑∑
∑I v
2 i =1 j =1 ij i j i =1 i i

(26)

Được cung cấp bởi trọng số đối xứng Wij = Wji. Nếu các nơ-ron tiếp
nhận thơng tin song song (hoặc đồng bộ) thì trạng thái hội tụ tới tồn tại hai
chu kỳ. Cả hai trạng thái mạng trong đó bao gồm hai chu kỳ sẽ cực tiểu địa
phương với hàm năng lượng.
Mạng rời rạc có ưu thế hơn mạng liên tục trong số lần cập nhập để hội tụ cực
tiểu địa phương và tốc độ thực hiện nhanh hơn trong mỗi nơ-ron, về chủ điểm
này, liên kết với ràng buộc phần cứng khác, chúng tơi đã chọn mạng Hopfield
rời rạc để giải bài tốn thời khóa biểu trình bày ở trên. Chúng tơi cũng chọn
cập nhập cho các nơ-ron bằng phép tốn song song hơn cách tuần tự trước
đây, tăng cường khơng giới hạn để giải các bài tốn lớn với tốc độ nhanh nhất
có thể. Liên quan đến việc thực hiện tất cả các tính tốn song song của trạng
thái đầu vào u khi tất cả v được cập nhập, trái với cập nhập tuần tự mà tính
tốn u và v cập nhập cho nơ-ron tại một thời điểm.
Hopfield và Tank (1985) cho thấy rằng nếu bài tốn tối ưu 0 – 1 có thể
được thể hiện trong một hàm năng lượng được cho bởi cơng thức (26), mạng
Hopfield có thể được dùng để tìm lời giải tối ưu cục bộ của hàm năng lượng,
có thể dịch đến lời giải cực tiểu địa phương của bài tốn tối ưu, cung cấp tham

http://www.ictu.edu.vn

40

số mạng (trọng số và đầu vào bias) đã được lựa chọn thích hợp cho bài tốn.
Thơng thường, hàm năng lượng của mạng được thực hiện tương đương với
hàm mục tiêu của bài tốn tối ưu đã được giảm đến mức tối thiểu. Trong khi
các ràng buộc bài tốn bao gồm hàm năng lượng như hàm phạt. Các tham số
mạng có thể được suy ra bởi so sánh với hàm năng lượng chuẩn cho bởi cơng
thức (26). Trọng số của mạng, Wij, hệ số của hàm bậc 2 vivj, và đầu vào bias
hiện tại, Ii mỗi nơ-ron i, hệ số vi của hàm năng lượng.
Mạng được cài đặt ban đầu mức kích hoạt vi của mỗi nơ-ron tới trạng
thái. Ngẫu nhiên và khơng đồng bộ cập nhập của mạng xảy ra ở cơng thức
(24) và (25) sẽ cho trạng thái năng lượng tối thiểu đạt được, trước mức năng
lượng khơng tăng trong suốt trạng thái dịch chuyển (Hopfield, 1982). Chứng
minh liên quan thể hiện:
 N

∆E = − ∑Wij v j + I i ∆vi ≤ 0
 j =1


Bởi nếu
<
 0 ∆ui < 0 và ∆vi ≤ 0
W
v
+
I
=


ij j
i
j =1
≥ 0 ∆ui ≥ 0 và ∆vi ≥ 0
N

Các dẫn xuất của trọng số và đầu vào bias ở hai trình bày thời khóa biểu (TT2
và TT3) được cho ở trên.
2.3.2. Ánh xạ bài tốn thời khóa biểu lên mạng nơ-ron Hopfield
Để ánh xạ bài tốn tối ưu lên mạng nơ-ron Hopfield, chúng ta cần đưa
ra các trọng số và ràng buộc của bài tốn.
Hàm năng lượng biểu diễn theo TT2:
2

 β
α C T V  P
E = ∑∑∑  ∑ xijkl − Rijk ÷ +
2 i =1 j =1 k =1  l =1
 2

C

T

V

P

T

V

∑∑∑∑∑ ∑ x
i =1 j =1 k =1 l =1 j =1 k =1
j' ≠ j k ' ≠ k
'

'

x

ijkl ij ' k 'l

χ C T V P C V
γ C T V P C T
∑∑∑∑∑ ∑ x x ' ' + ∑∑ ∑∑∑∑ x x ' '
2 i =1 j =1 k =1 l =1 i' =1 k ' =1 ijkl i jk l 2 i=1 j =1 k =1 l =1 i' =1 j' =1 ijkl i j kl
i' ≠ i k ' ≠ k

i ' ≠i j ' ≠ j

+

http://www.ictu.edu.vn

41

(27)

Trong đó α,β, χ, γ là các tham số phạt được chọn để cân bằng các thành phần
của hàm. Số hạng đầu tiên trong phương trình (27) đạt giá trị cực tiểu khi u

cầu ràng buộc (7) là thỏa mãn, và lớn hơn khơng trong trường hợp còn lại. Ba
thành phần còn lại trong phương trình (27) đảm bảo các ràng buộc tương ứng
với các bất phương trình (8)-(10).
Mạng Hopfield có thể được thiết kế để tối thiểu hóa hàm này, với điều
kiện trọng số của mạng và đầu ra bias xác định cụ thể. Một nơ-ron vijkl thực
hiện tương đương với ma trận giải xijkl, và một ma trận tám chiều có trọng số
kết nối tất cả các nơ-ron vijkl tới tất cả các nơ-ron khác

vi' ji k 'l' xây dựng ma trận

bốn chiều đầu ra bias.
Hàm năng lượng rút ra từ mạng Hopfield là:
C T V
P
1 C T V P T V P
E = − ∑∑∑∑∑∑∑ Wijkl ,i' j 'k 'l ' vijkl vi' j 'k 'l ' −∑∑∑∑ I ijkl vijkl
2 i =1 j =1 k =1 l =1 j ' =1 k ' =1 l ' =1
i =1 j =1 k =1 l =1

(28)

Hàm này tổng qt hóa phương trình (26) cho các biến bốn chiều của mỗi
nơ-ron. Sau khi khai triển sắp xếp lại hàm (27), so sánh với hàm năng lượng
(28) cho hai hàm tương đương sau.
Thiết lập ma trận trọng của TT2:

Wijkl ,i' j' k il' = −αδ

δ δ − βδ ' (1−δ ' )(1−δ '
ii' jj ' kk '
ii
jj
kk

− γ (1−δ ' )(1−δ ' )δ ' δ
ii

jj

kk

)δ ' − χ (1−δ ' )δ ' (1−δ
ll

ii

jj

kk '



ll'

(29)

ll'

I ijkl = α Rijk

(30)

http://www.ictu.edu.vn

42

ở đây σ yy là hàm Kronecker – Delta , σ yy =1 nếu y = y' và bằng khơng trong
'

'

trường hợp khác.
'
1, nếu i = i
δ
=
Ta có: ii' 
'
0, ngược lại i ≠ i

α C T V 2
Một thành phần hằng số được thêm vào là
∑∑∑ R
2 i =1 j =1 k =1 ijk
Tuy nhiên hằng số này có thể được bỏ qua mà khơng ảnh hưởng đến các giá
trị tối ưu cục bộ và tồn cục của hàm gốc (27), và hàm năng lượng Hopfield
(28).
Đối với mơ hình lớp – giáo viên – phòng học (TT3), chúng ta có thể
ánh xạ lên mạng nơ-ron Hopfield theo cách tương tự. Sử dụng mơ hình này,
số chiều của mỗi nơ-ron là nhỏ hơn, và số chiều kết nối trọng số và đầu ra
bias cũng như vậy. Từ mơ hình TT3 đã trình bày, một hàm tối ưu có thể được
xây dựng như sau:
2

 β C P τ τ
α τ  P
χ T P τ τ
E = ∑  ∑ xtp − 1÷ + ∑∑∑∑ xtp Cˆ it xt ' pCˆit ' + ∑∑∑∑ xtpTˆjt xt ' pTˆjt '
2 t =1  p =1
2 i =1 p =1 t =1 t ' =1
2 j =1 p =1 t =1 t ' =1

t ' ≠t

γ V P τ τ
+ ∑∑∑∑ xtpVˆkt xt ' pVˆkt '
2 k =1 p =1 t =1 t ' =1

t ' ≠t

(31)

t ' ≠t

Số hạng đầu tiên của phương trình (31) sẽ bằng khơng nếu mỗi bộ ba Lớp –
giáo viên – phòng học xếp chính xác với thời khóa biểu. Điều kiện thứ hai
đảm bảo sự xung đột về lớp là nhỏ nhất bởi tất cả ba thành phần tránh lớp đã
xếp trong một thời điểm. Điều kiện ba và bốn đảm bảo hạn chế đến mức tối
thiểu các vi phạm về giáo viên và phòng học.

http://www.ictu.edu.vn

43

Để ánh xạ bài tốn tối ưu lên mạng nơ-ron Hopfield, lời giải ma trận x
là đặt lại ban đầu như là một ma trận nơ-ron nhị phân v, và hàm năng lượng
mạng Hopfield sẽ là một hàm của vtp , Wtp ,t p , và I tp .
' '

Thiết lập ma trận trọng số theo TT3:
Wtp ,t ' p'

 T ˆ ˆ 
 C ˆ ˆ 
= −αδ tt ' − β (1 − δ tt ' )δ pp'  ∑ Cit Cit ' ÷− χ (1 − δ tt ' )δ pp'  ∑ T jtT jt ' ÷
 i =1

 j =1


 V

−γ (1 − δ tt ' )δ pp'  ∑ VˆktVˆkt ' ÷
 k =1


I tp = α

(32)

(33)

Như vậy, các cơng thức (29) và (30) định nghĩa các tham số mạng của
mơ hình TT2, và các cơng thức (32) và (33) dành cho mơ hình TT3. Có thể
nhận thấy rằng, số chiều của nơ-ron và ma trận trọng số và ma trận đầu ra
bias, như TT3 có tính hiệu quả hơn so với các mơ hình trước. Số nơ-ron đòi
hỏi cũng giảm bớt khi sử dụng TT3 đối với bài tốn thời khóa biểu mở rộng.
2.4. Thuật tốn mạng nơ-ron Hopfield trong bài tốn lập thời khóa biểu
cho trường Đại học
Thuật giải mạng nơ-ron Hopfield dùng mã giả như sau:
Khởi tạo u ( ngẫu nhiên)
Tính v sử dụng phương trình (23)
For i= 1 to descent
For j=1 to lặp
For k=1 to N
Cập nhập uk dùng phương trình (24)
Cập nhập vk dùng phương trình (25)