You are on page 1of 43

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

B GIO DC V O TO
TRNG I HC DN LP HI PHNG

iso 9001 : 2008

BO CO TT NGHIP
NGNH: CNG NGH THNG TIN

a im thc tp: Trng i hc Dn lp Hi Phng


ti:

Tm Hiu Gii Thut Di Truyn


ng Dng Gii Bi Ton Lp Lch

Gio vin hng dn: Th.S Vn Chiu


Sinh vin

:Hong Chnh Ngha

Lp

: CT901

M s: 090036
Kho:9

Hi Phng,3/2009
Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

LI CM N
hon thnh bi bo co thc tp ny, trc ht, em xin cm n cc thy gio, c
gio Khoa Cng ngh thng tin Trng i hc Dn lp Hi Phng, nhng ngi dy
d, trang b cho em nhng kin thc chuyn mn trong bn nm hc,v gip chng em
hiu r hn cc lnh vc nghin cu hon thnh ti c giao.
Em xin by t lng bit n xu sc nht ti thy gio Thc s Vn Chiu, ngi
hng dn, ch bo tn tnh em hon thnh qu trnh thc tp.
Xin cm n bn b v gia nh ng vin c v, ng gp kin, trao i, ng
vin trong sut qu trnh hc cng nh lm tt nghip, gip em hon thnh ti ng
thi hn.
Em xin chn thnh cm n !
Hi Phng, thng 6 nm 2009
Sinh vin

Hong Chnh Ngha

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

MUC LUC
LI M U..........................................................................................................................4
CHNG I- TM HIU V BI TON LP LCH............................................................5
1.1 Tm hiu chung...................................................................................................................5
1.2 Cc c tnh ca bi ton lp lch.......................................................................................6
1.3 Bi Ton Lp Lch Thi Kho Biu...................................................................................6
1.3.1 Gii thiu bi ton.....................................................................................................6
1.3.2 D liu bi ton.........................................................................................................6
1.4 Mt s bc c bn gii quyt bi ton lp lch thi kho biu...................................7
CHNG II-GII THUT DI TRUYN (GAs)..................................................................8
2.1 Tm hiu chung v Gas.......................................................................................................8
2.2. Cc ton t ca gii thut di truyn
.................................................................................................................................................12
2.3 Cc tham s ca gii thut di truyn................................................................................13
2.4. Cng thc ca Gii thut Di Truyn...............................................................................14
2.5. Cc thnh phn ca thut gii di truyn..........................................................................15
2.5.1 Khi ng qun th ban u....................................................................................15
nh gi c th...................................................................................................................15
2.5.3 Ton t lai ghp........................................................................................................16
Ton t t bin..................................................................................................................16
2.5.5 iu kin kt thc.....................................................................................................17
CHNG III- NG DNG GII THUT DI TRUYN VO BI TON XP LCH THI
KHO BIU..........................................................................................................................17
3.1 Giai on 1 - xp lch hc cc lp....................................................................................18
3.1.1 Chn m hnh c th..................................................................................................18
3.1.2 To qun th ban u................................................................................................21
3.1.3 thch nghi - chn c th.......................................................................................22
3.1.4 Thut ton lai ghp v t bin.................................................................................23
3.2 Giai on 2 - xp lch hc cho ton b c s...................................................................24
3.2.1 Chn m hnh c th..................................................................................................24
3.2.2 To qun th ban u...............................................................................................25
3.2.3 thch nghi - chn c th......................................................................................25
3.2.4 Thut ton lai ghp v t bin................................................................................26
3.2.5 Chn im dng thut ton......................................................................................27
CHNG IV- THIT K H THNG LP LCH THI KHA BIU..........................27
4.1 Thit k c s d liu bi ton.........................................................................................27
4.2 Cc i tng ca lch hc...............................................................................................28
4.3 Biu din nhim sc th....................................................................................................29
4.4 Cc tham s ca gii thut di truyn................................................................................30
4.4.1 Php lai ghp............................................................................................................31
4.4.2 Php t bin.............................................................................................................35
4.6 thch nghi....................................................................................................................36
4.7 Chng trnh thc nghim...............................................................................................39
Kt lun v hng pht trin.................................................................................................42
Ti Liu Tham Kho..............................................................................................................43

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

LI M U
Trong ngnh khoa hc my tnh, tm kim li gii ti u cho cc bi
ton l vn c cc nh khoa hc my tnh c bit rt quan tm. Mc ch
chnh ca cc thut ton tm kim li gii l tm ra li gii ti u nht cho bi
ton trong thi gian nh nht. Cc thut ton nh tm kim khng c thng tin /
vt cn ( tm kim trn danh sch, trn cy hoc th ) s dng phng php
n gin nht v trc quan nht hoc cc thut ton tm kim c thng tin s
dng heurictics p dng cc tri thc v cu trc ca khng gian tm kim
nhm gim thi gian cn thit cho vic tm kim c s dng nhiu nhng ch
vi khng gian tm kim nh v khng hiu qu khi tm kim trong khng
gian tm kim ln. Tuy nhin, trong thc tin c rt nhiu bi ton ti u vi
khng gian tm kim rt ln cn phi gii quyt. V vy, vic i hi thut gii
cht lng cao v s dng k thut tr tu nhn to c bit rt cn thit khi gii
quyt cc bi ton c khng gian tm kim ln. Thut gii di truyn (genetic
algorithm) l mt trong nhng k thut tm kim li gii ti u p ng c
yu cu ca nhiu bi ton v ng dng.
Thut gii di truyn c pht minh ra bt chc qu trnh pht trin
t nhin trong iu kin quy nh sn ca mi trng. Cc c im ca qu
trnh ny thu ht s ch ca John Holand ( i hc Michigan) ngay t
nhng nm 1970. Holand tin rng s gn kt thch hp trong thut gii my tnh
c th to ra mt k thut gip gii quyt cc vn kh khn ging nh trong t
nhin din ra-thng qua qu trnh tin ha.
Trn th gii hin nay, Thut Gii Di Truyn kt hp vi Cng ngh thng
tin c ng dng gii quyt nhng vn phc tp trong h thng in mt

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

cch rt hiu qu. Nhng trong ti ny, chng ta nghin cu ng dng Thut
Gii Di Truyn xp Thi kho biu trong trng i hc.
Ni dung bo co gm li ni u v bn chng chnh:
Chng 1- Tm hiu v bi ton lp lch
Chng 2- Gii thut di truyn
Chng 3- ng dng gii thut Di truyn vo bi ton sp xp thi
kho biu
Chng 4- Thip k h thng lp lich thi kho biu

CHNG I- TM HIU V BI TON LP LCH


(Scheduling problem)

1.1 Tm hiu chung


Lp lch c th c nh ngha l mt bi ton tm kim chui ti u
thc hin mt tp cc hot ng chu tc ng ca mt tp cc rng buc cn
phi c tha mn. Ngi lp lch thng c gng th n mc ti a s s
dng cc c th, my mc v ti thiu thi gian i hi hon thnh ton b
qu trnh nhm sp xp lch.V th bi ton lp lch l mt vn rt kh gii
quyt . Hin nay c nhiu kh nng pht trin cc k thut hin ti gii
quyt bi ton ny. Nhng k thut bao gm: cc tip cn Tr tu nhn to
nh h thng tri thc c s (knowledge-based systems), bi ton tho mn rng
buc, h chuyn gia, mng Nron v cc tip cn ca cc Nghin cu hot ng:
lp trnh tnh ton, lp trnh ng, tm kim nhnh v ng bin, k thut m
phng, tm kim Tabu v phng php nt c chai

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

1.2 Cc c tnh ca bi ton lp lch


Ti nguyn: l cc ngun d liu u vo ca bi ton. Cc ti nguyn
ny c th phc hi hoc khng.
Tc v: c nh gi qua cc tiu chun thc hin nh thi gian thc
hin, chi ph, mc tiu th ngun ti nguyn.
Rng buc: y l nhng iu kin cn tha mn bi ton c th a ra
li gii tt nht
Mc tiu: nh gi ti u ca lch trnh li gii ca bi ton.
Khi cc mc tiu c tha mn th cc rng buc cng phi c tha mn
1.3 Bi Ton Lp Lch Thi Kho Biu
1.3.1 Gii thiu bi ton
Bi ton t ra vn cn sp xp thi kho biu cho mt trng i hc
vi nhiu c s khc nhau. Cn c s sp xp lch hc cho cc lp ti cc phng
mi a im, sao cho va ph hp li va tin dng nht
1.3.2 D liu bi ton

Danh sch c s

Danh sch khoa

Danh sch kho hc

Danh sch hc phn hc v cc lp trong hc k

Danh sch lp hc

Danh sch gio vin

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Danh sch phng hc

Danh sch mn hc v s tit

Bng phn cng gio vin ging dy ti cc lp

Bng yu cu rng buc ca gio vin vI lch dy

Bng yu cu rng buc ca lp vi lch hc

Bng yu cu rng buc ca phng vi lch s dng

phng
1.4 Mt s bc c bn gii quyt bi ton lp lch thi kho biu
Bc 1. Khi to d liu thi kha biu mi
Bc 2. Nhp, iu chnh d liu gc thi kha biu
Bc 3. Nhp, sa, iu chnh cc rng buc chnh ca thi kha biu
Cc rng buc chnh ca thi kha biu l nhm cc d liu c nhim v
nh hnh v khun dng ca thi kha biu. y l nhm cc lnh rt quan
trng ca bi ton v phn mm thi kha biu.
Bc 4. Nhp bng Phn cng ging dy (PCGD)
Bng phn cng ging dy (hay cn gi l Phn cng chuyn mn) l phn
d liu quan trng nht v phc tp nht ca mi thi kha biu. Bng ny ch ra
cc phn cng c th ca thi kha biu: gio vin no dy lp no, mn hc no
v mt tun dy bao nhiu tit
Bc 5. Chun b xp thi kha biu

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Bc 6. Xp t ng TKB
Bc 7. iu chnh, tinh chnh d liu thi kha biu
Bc 8. Hon thin thi kha biu (s dng RAD)
Bc 9. In n TKB
Bc 10. Tng hp, thng k v truy vn thng tin thi kha biu

CHNG II-GII THUT DI TRUYN (GAs)


2.1 Tm hiu chung v Gas
Genetic algorithms (thut gii di truyn) l mt gii thut m phng theo
qu trnh chn lc t nhin, l k thut chung gip gii quyt vn bi ton
bng cch m phng s tin ha ca con ngi hay ca sinh vt ni chung (da
trn thuyt tin ha mun loi ca Darwin) trong iu kin qui nh sn ca mi
trng. Ly tng t qu trnh tin ho t nhin, xut pht t mt lp cc li
gii tim nng ban u, GA tin hnh tm kim trn khng gian li gii bng
cch xy dng lp li gii mi tt hn (ti u hn) li gii c. Qu trnh xy
dng lp li gii mi c tin hnh da trn vic chn lc, lai ghp, t bin t
lp li gii ban u. Qun th li gii tri qua qu trnh tin ho: mi th h li
ti sinh cc li gii tng i tt, trong khi cc li gii xu th cht i.
Vy GAs lm g?
Trong GA, mt tp cc bin ca bi ton a ra c m ha sang mt
chui (hay mt cu trc m ha khc) tng t nh mt nhim sc th trong t
nhin. Mi chui bao gm mt gii php c th ca bi ton. Gii thut di truyn

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

s dng cc ton t c sinh ra bi s chc lc t nhin mt qun th cc chui


nh phn (hoc cc cu trc khc), m ha khong tham s trn mi th h, kho
st cc phm vi khc nhau ca khng gian tham s, v nh hng tm kim i
vi khong m l xc sut cao tm kim s thc hin tt hn. Thut ton di
truyn gm c bn quy lut c bn l lai ghp, t bin, sinh sn v chn lc t
nhin
Qu trnh lai ghp (php lai) qu trnh ny din ra bng cch ghp mt hay
nhiu on gen t hai nhim sc th cha-m hnh thnh nhim sc th mi
mang c tnh ca c cha ln m.
Php lai ny c th m t nh sau:
-Chn ngu nhin hai hay nhiu c th trong qun th. Gi s chui nhim
sc th ca cha v m u c chiu di l m. Tm im lai bng cch to ngu
nhin mt con s t 1 n m-1. Nh vy, im lai ny s chia hai chui nhim
sc th cha-m thnh hai nhm nhim sc th con l m1 v m2. Hai chui
nhim sc th con lc ny s l m11+m22 v m21+m12. a hai chui nhim
sc th con vo qun th tip tc tham gia qu trnh tin ha
Qu trnh t bin (php t bin) qu trnh tin ha c gi l qu
trnh t bin khi mt hoc mt s tnh trng ca con khng c tha hng t
hai chui nhim sc th cha-m. Php t bin xy ra vi xc sut thp hn rt
nhiu ln so vi xc sut xy ra php lai. Php t bin c th m t nh sau:
-Chn ngu nhin mt s k t khong 1 k m
-Thay i gi tr ca gen th k

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

-a nhim sc th con vo qun th tham gia qu trnh tin ha tip


theo
Qu trnh sinh sn v chn lc (php ti sinh v php chn)
Php ti sinh: l qu trnh cc c th c sao chp da trn thch nghi
ca n. thch nghi l mt hm c gn cc gi tr thc cho cc c th trong
qun th ca n. Php ti sinh c th m phng nh sau:
-Tnh thch nghi ca tng c th trong qun th, lp bng cng dn cc
gi tr thch nghi (theo th t gn cho tng c th) ta c tng thch nghi.
Gi s qun th c n c th. Gi thch nghi ca c th th i l Fi, tng dn th
i l Ft. Tng thch nghi l Fm To s ngu nhin F c gi tr trong on t 0
n Fm
-Chn c th k u tin tha mn F Ft a vo qun th ca th h mi.
Php chn: l qu trnh loi b cc c th xu v li nhng c th
tt.
Php chn c m t nh sau:
- Sp xp qun th theo th t thch nghi gim dn
- Loi b cc c th cui dy, ch li n c th tt nht.

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

10

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Cu trc thut gii di truyn tng qut


Bt u

Bt u
t =0;
Khi to P(t)
Khi to qun th
Tnh thch nghi cho cc c th thuc P(t);
Khi (iu kin dng cha tha) lp
t = t + 1;
M ho cc bin
Chn lc P(t)
Lai P(t)
t bin P(t)
Ht lp
Kt thc

nh gi thch nghi

Chn lc

Lai ghp

t bin

Tho iu kin dng

Khng

Tho
Kt qu

Kt thc

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

11

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Sau y l nhng nguyn tc c bn thc hin gii thut di truyn GAs:


B1: Khi to v m ha mt qun th ngu nhin ca NST. gi l qun th
hin ti
B2: nh gi thch nghi ca mi NST trong qun th hin ti.
B3: To ra th h trung gian, thng qua chn la suy din cc NST trong qun th
hin ti tu theo thch nghi. s l cha m ca nhng th h tip theo.
B4: p dng ton t lai ghp v nghch o i vi nhng cp hoc NST n
trong th h trung gian, qua s sn sinh ra mt th h NST mi. l qun th
hin ti.
Lp li cc bc 2-4 cho n khi mt gii php ph hp c tm thy.

2.2. Cc ton t ca gii thut di truyn


+ Ton t chn lc
o Chn lc da trn thch nghi.
o Chn lc da trn s xp hng
o Chn lc da trn s cnh tranh
o Chn lc hng khng gian

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

12

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

+ Ton t di c
+ Ton t nghch o

+ Ton t t bin
+ Ton t lai ghp
o Lai ghp mt im (one-point crossover)
o Lai ghp hai im (two-point crossover)
o Lai ghp N im (N-point crossover)
o Lai ghp ng nht (Uniform crossover)
2.3 Cc tham s ca gii thut di truyn.
Xc sut lai ghp: l tham s cho bit tn sut thc hin ton t lai ghp.
Nu khng c lai ghp, c th con s chnh l bn sao ca c th cha m. Nu
xc sut lai ghp bng 100%, khi mi c th con u c to ra qua qu trnh
lai ghp.
Xc sut t bin: l tham s cho bit tn sut t bin ca nhim sc th.
Nu khng c t bin, th h con c to ra ngay sau giai on lai ghp m
khng b thay i. Ngc li, mt hoc mt s phn ca nhim sc th s b thay
i. Nu xc sut t bin l 100%, ton b nhim sc th s b thay i. Nu
tham s ny bng 0%, khng c g b thay i ht
Kch thc qun th: l tham s cho bit c bao nhiu c th (NST) trong
1 th h ca qun th. Nu c qu t c th, kh nng thc hin lai ghp rt nh
v khi ch c mt vng tm kim nh mi c kho st. Ngc li, vic kch

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

13

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

thc qun th qu ln cng khng tt, do n s lm chm qu trnh gii bi


ton.
2.4. Cng thc ca Gii thut Di Truyn
Tnh thch nghi eval(vi) ca mI nhim sc th vi(i=1
kch thc qun th)

vi f(vi) l hm mc tiu

Tm tng gi tr thch nghi ca qun th

Tnh xc xut chn Pi cho mI nhim sc th vi

Tnh xc sut tch lu pi cho mi nhim sc th Pi

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

14

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Tin trnh chn lc c thc hin bng cch quay bnh xe rulet kch
thc qun th ln. Mi ln chn ra mt nhim sc th t qun th hin hnh vo
qun th mi theo cch sau:
Pht sinh mt s ngu nhin r trong khong [0, 1]
Nu r < q1th chn nhim sc th v1, ngc li chn nhim sc th vi (2
i kch thc qun th) sao cho qi-1 < r qi
2.5. Cc thnh phn ca thut gii di truyn
2.5.1 Khi ng qun th ban u
To qun th u tin trong thut gii, l ni xut pht qu trnh tin ha,
bao gm tt c cc gi tr th ban u. Ty theo vn ca bi ton m c cch
khi ng khc nhau. Trc mt bi ton p dng thut gii di truyn, ta cn
phi xc nh r nhim sc th v c th cho vn , v thng thng s kt
qu cui cng. Vic phn tch s da trn kt qu l c bn nht.
nh gi c th
Chc chn rng vic chn c th s thng qua kt qu, hay mc ch ca
vn . Da trn mc thch nghi ca c th, bao gm nhng vng mc m c
th gp phi. Thng thng, t mi vn nh tng ng vi mt gi tr im
thch nghi, kt qu nh gi gm tng cc s im . C th tt nht s c s
im thp nht hoc ln nht.
Theo thuyt tin ha ca Darwin, nhim sc th tt nht s tn ti v to ra
cc c th con mi. C nhiu phng php chn cc nhim sc th tt nht.
1)

Chn lc Roulette (Roulette Wheel Selection)

2)

Chn lc xp hng (Rank Selection)

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

15

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH


3)

Chn lc cnh tranh (Tournament Selection)

2.5.3 Ton t lai ghp


Lai ghp nhm nng cao kt qu c th, do , ton t lai ghp s to iu
kin cho tin trnh hi t nhanh hay chm. Cn ty thuc vo cch t chc v
phn b cc nhim sc th m chng ta c xc sut lai ghp nhanh hay chm. Sau
y l vi phng php lai ghp thng dng trong k thut di truyn:
1) Lai ghp nh x tng phn (PMX

Partial Mapped

Crossover)
2) Lai ghp c trt t (OX Order Crossover)
3) Lai ghp da trn v tr (Position Based Crossover)
4) Lai ghp da trn th t (Order Base Crossover)
5) Lai ghp c chu trnh (CX Cycle Crossover)
6) Lai ghp th t tuyn tnh (LOX Linear Order Crossover)

Ton t t bin
Cng ging nh lai ghp, ton t t bin lm tng nhanh qu trnh hi t,
nhng tng mt cch t ngt, cng c khi s khng gy tc dng g mt khi
khng thnh cng. Khng ai c th nh gi c phng php t bin no tt
hn, do c mt vi phng php n gin, cng c vi trng hp kh phc
tp. Ngi ta thng chn mt trong nhng phng php sau :
1) t bin o ngc (Inversion Mutation)
2) t bin chn (Insertion Mutation)
3) t bin thay th (Displacement Mutation)

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

16

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

4) t bin tng h (Reciprocal Exchange Mutation)


5) t bin chuyn dch (Shift Mutation)
2.5.5 iu kin kt thc
Thot ra qu trnh tin ha qun th, da vo bi ton m c cc cch kt
thc vn khc nhau, mt khi t n mc yu cu. Mt vi trng hp
thng thng nh sau:
-Kt thc theo kt qu: mt khi t n mc gi tr yu cu th chm dt
ngay qu trnh thc hin.
-Kt thc da vo s th h: chn s th h, qu trnh s dng ng ngay
s th h qui nh trc, khng cn bit kt qu nh th no.
-Tnh theo thi gian: khng cn bit bao nhiu th h hay kt qu no,
ch da vo s gi qui nh m kt thc.
-T hp: dng nhiu phng n khc nhau cho vn , chng hn nh :
chy theo s th h xong sau nh gi cho chy theo kt qu, hoc ngc li.

CHNG III- NG DNG GII THUT DI TRUYN


VO BI TON XP LCH THI KHO BIU
Vn ca bi ton kh phc tp v mt rng buc, nhng phng php
chia tr vn l bin php hu hiu trong mi vn phc tp. y cng vy,
theo phn cp cc rng buc m ta gii quyt bi ton xp thi kha biu ny
thnh hai giai on khc nhau:

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

17

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Giai on 1: nhm gii quyt thnh phn rng buc mc lp hc, vi

cc vn c bn phc tp ca nhng i tng lin quan ti vic hc ca


lp. Khi c c kt qu cui cng l lch hc cho tng lp mt cch hon
chnh, chng s c dng lm thng tin cho giai on sau.
Giai on 2 : tng hp li cc rng buc cn li v c n

gin ha trong giai on trc. Kt qu ca giai on ny chnh l mc tiu


cui cng ca bi ton. l lch hc ca cc lp trong mt c s.

C hai giai on tuy c mc tiu v d liu khc nhau, nhng v cch gii
quyt c tnh tng t nhau, nn khng khc g nhiu khi p dng vo m hnh
thut gii di truyn.
3.1 Giai on 1 - xp lch hc cc lp
3.1.1 Chn m hnh c th
Lch hc ca mt lp c hai thnh phn chnh, bao gm: cc mn hc v
cc gi hc trong tun. Vic t ngu nhin cc mn hc vi cc gi hc s to
thnh mt lch hc cho tng lp. Nh vy mt lp hc tng ng s c nhiu
lch hc khc nhau, do ta chn mi lch hc lm c th trong thut gii di
truyn.
V trong hai thnh phn , th cc gi hc l thnh phn n nh hn v
s lng cng nh v gi tr ca chng, cho nn ta chn mn hc lm n v
nhim sc th trong c th. V i vi mn hc vic lm nhim sc th l ph
hp vi tnh khng n nh ca n : vi s lng cc mn ph thuc tng lp
hc, cng ging nh s lng nhim sc th trong c th, c chiu di khng
nht thit phi c nh hay bng nhau. Ngoi ra cha k n tnh phc tp ca
Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

18

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

mn hc v s tit phi hc lun b thay i, trong khi gi tr cc gi hc th


ngc li, c th xc nh mt cch r rng v nhanh chng.

M hnh c th trong lch lp


Mn
hc 1

Mn

......

hc 2

Mn
hc n

Thay v chn ngu nhin mn hc vo cc tit hc nh trnh by, chng


ta s lm ngc li: chn ngu nhin tit hc theo mn, v chng ta chn mn
hc lm n v trong c th ( theo m hnh trn ). C ngha l, vi mt c th ca
m hnh xp lch lp, bt k thi im no, khi ta t nhim sc th u tin
nh l mn th nht, nhim sc th k tip s l mn th hai, v tip tc cho cc
nhim sc th cn li ... th sau ny, lc no cng theo th t y m ly thng tin
ra, s khng c g thay i ( ngoi tr gi tr tit hc, nu nh sau ny c xy ra
lai ghp hay t bin ). Trong trng hp mt mn c hc nhiu ln trong
tun, do c nhiu chng ch / hc phn, nn s gy kh khn cho vic xp chng
vo trong c th. Cch gii quyt vn ny rt n gin, ch cn a chng vo
c th vi nhim sc th tng ng, chng khc g mt mn hc bnh thng
khc. Lc c thng tin, chng ta nn ch mt cht th thi.

V d: Gi s c danh sch mn hc v s ln hc trong mt tun nh sau:


-

Mn hc a c 1 ln hc.

Mn hc b c 2 ln hc.

Mn hc d c 1 ln hc.
Chng ta s phn b cc nhim sc th nh sau:

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

19

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

(ln 1)

(ln 2)

Mi nhim sc th s mang mt gi tr s nguyn. chnh l v tr tit


hc bt u ca mn hc. Phm vi gi tr ca n t 0 -> 35 theo th t cc tit
hc trong tun, c nh du theo v tr lin tc ca cc ngy, tng t cu trc
mng mt chiu. Cc tit hc tip theo l gi tr lin tc k tip nhau ty theo s
lng tit hc ca mn m ta ang lu tr.
Gi tr cc tit hc.
Th hai
Th ba
0 1
. 5 6 7
.

..... .
1
...

Th by
3 3
.

...
...
1 2
..
0 1
V d: v cch xp v tr tit hc trong lch hc.

...

3
5

Mn hc a tit bt u 0 s tit cn hc l 3
Mn hc b tit bt u 3 s tit cn hc l 2
Mn hc c tit bt u 8 s tit cn hc l 4
Mn hc d tit bt u 12 s tit cn hc l 3
Phn b cc mn hc trn lch hc nh sau:
Th
hai

Th
ba

Th

.... ..

Th
by

12

30

13

31

a(1
)
1

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

20

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

a(2
)
2

a(3

c(1)

b(1

c(2)

10

b(2

c(3)

11

14

32

15

33

16

34

17

35

)
c(4)

Nh ta ni phn trn, tng ng mi c th l mt lch hc thc th ca


lp. V vy, khi to c th, chng ta vn phi m bo s ng n v tnh cht
trong lch hc : phi s tit hc, s mn hc, khng c s chng cho ln nhau
ti cng thi im trong cc mn... gii quyt vic ny, chng ta s dng mt
tham bin nh du cc tit hc ln lch, mn hc sau s khng b sp trng
vo nhng v tr ny, m mn hc ny s c a vo v tr khc. Tt nhin, vi
mi lch hc s c s sp xp khc nhau.
3.1.2 To qun th ban u
Trc khi to qun th ban u trong phn ny, chng ta phi chun b sn
v d liu cho qu trnh thc thi, t lc khi to n khi cho ra kt qu, bao gm
y thng tin ca mt lp ang c chn. Tt c nh sau :

Cc rng buc lp, gio vin c phn cng dy.

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

21

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Cc mn hc v s chng ch tng mn.

Tnh ton s tit hc tng ng cc mn.

Chn qui nh c v ghi nhn nhim sc th.

Ging nh c th c m t trn, hng lot cc c th c to ra v


c xem nh qun th ban u trong m hnh thut gii di truyn ca phn xp
lch lp. Sau khi qun th c s lng, bc tip theo l nh gi qun th,
kim tra xem thch nghi tt nht hin ang tn ti ca qun th.
3.1.3 thch nghi - chn c th
y l phn gii quyt cc yu cu a ra cho bi ton, ch yu vn xem
xt trn cc thnh phn rng buc. Tng ng vi mi loi rng buc, chng ta
s gn cho chng mt gi tr thch nghi no , m mt khi c th i qua, cc
rng buc c lp t vo, v s cho ra gi tr thch nghi c th cho c th ,
kt thc cng vic tnh thch nghi. Nghe rt n gin nhng thc cht y l
vn kh nht, quan trng nht ca bi ton. Chi tit c th nh sau:
Trc ht ta ni v gio vin. Khi chn phn cng ging dy, chng ta

phi bit chc rng gio vin s trng vo gi , mn , bui ca lp


hc. Hay ni cch khc, chng ta cn kim tra rng buc tit hc, m tng
ng vi mi mn trong lch hc, xem xt li cc mn c th hc gi hay
khng. K tip l xt gi hc ca lp. Do mt qui nh no m lp c th hc
gi ny hay gi kia, chng hn nh khng hc ba tit u trong ngy th hai,...
Cui cng kim tra li s chng cho gi ln nhau ca cc mn hc. Vic

kim tra ny nht thit phi lm, v trong lc lai ghp, t bin, c th gy ra sai

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

22

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

lch. Cho nn tt nht ta phi kim tra chng. Ging nh lc khi ng, ta dng
mt bin cha tt c gi hc cc mn gip cho vic nh gi. Tng t cc
rng buc gio vin v lp. Mi vn s c mt bin lu tr gi lm vic,
trnh cc tit hc theo qui nh m ta ghi nhn cho mt gio vin hay lp hc
tng ng.
C nhiu cch chn mt c th tt. Chn cch tnh theo thch nghi
cao nht hoc thp nht. Thng thng, ngi ta chn cch tnh tt nht. y,
chng ta cng chn cch tnh tt nht tc l xp theo gi tr gim dn ca gi tr
b pht theo thch nghi.
3.1.4 Thut ton lai ghp v t bin
V thut ton lai ghp, ta dng lai ghp on: ly ngu nhin mt on
nhim sc th bn nhim sc th cha, s cn li s ly bn nhim sc th m.
Cn thut ton t bin : ch vic hon v hai nhim sc th mt cch ngu
nhin trong c th. Ta c th sa thng s xc xut v t bin, lai ghp ca
chng trnh trong lc chy thc thi.
Phn ny p dng thc thi cho tt c cc lp trong mt c s, tng ng
vi mi lp s c mt file lu tr tt c cc lch lp m c th s dng, di hnh
thc cc nhim sc th trong qun th. Ngoi mc ch xem xt kim tra, chng
cn c dng lm thng tin chy lch c s sau ny.

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

23

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

3.2 Giai on 2 - xp lch hc cho ton b c s


3.2.1 Chn m hnh c th
Lch hc ti c s bao gm tt c cc lch hc ca cc lp hin c trong c
s, nu mi lp u c mt lch hc r rng th c ngha l c lch c s. Da
vo giai on u, trn mi lp cho ra hng lot cc lch hc, vic chn ngu
nhin lch hc ca mt lp th khng c g kh khn. Nhn m hnh c th trong
lch lp ta thy lp hc trong c s c tnh cht nh mn hc trong lp, cho nn
ta chn lp hc lm n v ca nhim sc th trong m hnh thut ton di truyn
trong xp lch c s. V tng t, ta chn lch c s lm c th.
mi nhim sc th l mt con s mang tnh cht nh mt trong nhng
ch s trong file lu tr thng tin c th ca lch lp ( ch s mt lch hc ca lp
). Nh vy phm vi gi tr cc nhim sc th s khc nhau, nhng ta lun xc
nh c phm vi mt cch r rng, ch cn c gi tr kch thc ca file
tng ng ca lp m thi.

M hnh c th trong lch c s.


Lch

Lch

lp 1

.......

lp 2

Lch
lp n

File 1
0
.
.
.

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

24

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

n
1
Ging nh trong lch lp, c th lch c s cng phi qua mt giai on
kim tra ban u, c th mc t dc dng ng ca mt lch c s. l
vic t cc lp hc vo cc phng trong c s, khng phi chn phng cho lp
m l kim tra phng vi lp, xem c th ph hp vi c s hay khng v mt
kch thc hin c. Nu vic kim tra ny khng thc hin c th bi ton n
y kt thc.
3.2.2 To qun th ban u
Qun th khi u gm nhng c th c to ra nh m hnh trn, nhng
thng tin cc lp hc phi c chn cng trong mt bui hc thuc c s, v c
file lch lp y . y kch thc c th l s lp hin c, cho nn di hay
ngn ty theo c s, cng ging nh lch lp chiu di c tnh theo s mn
hin c ca lp.
Cng vic ny s tn rt nhiu thi gian, v cng vic c file kim tra,
nhng qun th s cho ra kt qu ng nht v mt p dng bi ton vo thut
gii di truyn.
3.2.3 thch nghi - chn c th
Giai on hi t c th trong qun th, trn c bn vic nh gi c s ty
theo s lp, s gi hc v s phng hc. Phng hc phi hp l v sc cha ca

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

25

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

n i vi lp hc, thng thng ngi ta chn phng ln nht cho lp tng


ng ln nht. Nhng y ta chn phng php khc, lp v phng s c xp
theo th t ln dn. Cho nn khi xp lch, lp s c t mt phng va nht
m c s ang c. iu ny tuy mt thi gian hn nhng thc t th n s hp l
hn.
V vn trng phng hc gia cc lp, chng ta s s dng mt tham
bin ghi nhn tt c cc gi hc ca tng phng mt khi c lp no vo hc,
ng thi sau ny cng chnh l lch s dng cc phng.
Cng nh gi li rng buc lch gio vin, nhng ln ny ch xt v mt
trng gi dy cc lp cng mt thi im. Tng t, ta s s dng mt tham
bin lch dy cho mi gio vin, ghi nhn v trnh trng hp trng gi ny.
Vi cc ln kim tra tng ng vi mt gi tr thch nghi, cui cng tng
cc gi tr ny chnh l thch nghi ca c th. Cng vic khng khc g trong
lch lp, c th c chn l c th tt nht, gi tr thch nghi t mc nh l 0.
3.2.4 Thut ton lai ghp v t bin
S dng li ca phn xp lch lp, chn c th theo thch nghi, lai ghp
ngu nhin on v t bin hon v im. Do ging nhau v mt d liu, v yu
cu v cu trc thut ton cng khng khc nhau nhiu, vic dng li ny, s
khng gy nh hng g trong qu trnh thc hin xp lch c s.
Mt ln na ni v thi gian thc thi, s mt nhiu thi gian hn cng vic
xp lch lp, do s lng v phm vi rng buc kh ln v phi c d liu trn
cc file. Nhng v mt hot ng khng khc nhau.

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

26

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

3.2.5 Chn im dng thut ton


c ni trong tng giai on ca cc phn p dng thut gii di
truyn vo bi ton, im dng thut ton da trn thch nghi ca n. Mt s
bi ton chn im dng theo s th h, hoc da trn tnh tng i ca kt qu,
nhng vi bi ton ny cn c mt kt thc tuyt i tt nht, mt d s th h
vn phi c chn trc ngay t u. V tnh cht yu cu trong bi ton ny l
khng b sai lch.
Nu trong qu trnh thc thi qua cc giai on, ch cn mt kt qu khng
t n im dng, xem nh bi ton s khng c kt qu.

CHNG IV- THIT K H THNG LP LCH THI


KHA BIU
4.1 Thit k c s d liu bi ton
Khi to mt lch lp hc chng ta cn xem xt n rt nhiu cc yu cu
v s lng ging vin, hc sinh, s lp hc, phng hc, kch c ca phng hc
trang thit b trong lp hc( my tnh, my chiu) v nhiu yu t khc. Cc
yu cu ny c th c chia thnh nhiu nhm tu theo tm quan trng ca
chng. Cc yu cu bt buc (nu vi phm mt trong nhng yu cu ny, lch
hc s thnh v hiu, bt kh thi):
-

Lp ch c th din ra trong phng hc

Khng ging vin hay mt nhm sinh vin no c th nhiu lp


hc cng mt lc

Lp hc phi ch cho tt c hc sinh

lp hc din ra trong phng hc, lp hc phi c cc thit b nu


cn thit

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

27

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Mt s yu cu khng bt buc nu vi phm lch hc vn kh thi:


-

Thi gian hc ca lp c u tin cho ging vin

Phng hc c th do ging vin chn

Phn b (thi gian hoc khng gian) ca cc lp hc dnh cho cc


nhm sinh vin hoc ging vin.

Cc yu cu bt buc hoc khng bt buc ca kha hc ty thuc vo


hon cnh c th. Trong h thng lp lch thi kha biu ny ch cp n
nhng yu cu bt buc.

4.2 Cc i tng ca lch hc


Ging vin
Phn ging vin c ID( ch danh) v tn ca ging vin. N cng cha
danh sch cc lp m ging vin dy
Nhm sinh vin
Phn nhm sinh vin cha danh tnh v tn ca nhm sinh vin , cng nh
s lng sinh vin( kch c ca nhm). N cng cha danh sch cc lp hc m
nhm tham gia hc.
Phng hc
Phn phng hc cha ID v tn ca phng hc, cng nh s lng ch
ngi v my tnh( nu c) trong . Nu phng hc c my tnh, d kin c th
mi ch ngi c mt my tnh. Cc ID c to ra ni b v t ng
Kho hc
Phn kha hc c ID v tn kha hc
Lp hc

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

28

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Phn lp hc gii thiu v kha hc ca lp hc , ch ra ging vin v


danh sch nhm sinh vin tham d cc lp ca ging vin . Phn ny cng a
ra s lng ch ngi cn thit( s lng ca nhm sinh vin) , lng my tnh
trong lp hc (nu cn) v thi lng ca lp hc ( tnh bng gi).
4.3 Biu din nhim sc th
trnh by mt nhim sc th ta cn mt slot cho mt phng hc hng
ngy trong thi kha biu. Ngoi ra, chng ta khng nh rng khng th bt u
cc lp hc trc 7 gi sng v nn kt thc trc hoc vo lc 7 m (tng l
12gi) v ngy lm vic l t th Hai n th Su (tng l 5 ngy).V vy, chng
ta cn iu chnh s lp hc l (12*5*s ca phng hc). Cc slot sau c k
tha t cc slot trc bi v trong qu trnh thc hin thut ton chng ta cho
php nhiu lp hc ti mt thi im slot. Ta dng thm mt nh x l mt bng
bm ly slot ti thi im lp hc bt u( v tr ca n theo vect) t a ch
i tng ca lp. Mi gi ca mt lp hc c mc nhp ring bit trong vc t,
nhng ch c mt mc nhp cho mi lp hc trong nh x bng bm

Biu din c th
Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

29

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Nhim sc th vi s lng l 100 c biu din bng mt lp Schedule


v n c lu tr trong 2 thuc tnh
Cc khe thi gian, mi khe s biu din mt gi trong mt lp hc

Vector&ltlist&ltCourseClass*>>_slots;
Bng lp dnh cho nhim sc th dc dng quyt nh slot u tin

ca lp
//c s dng quyt nh khe thi gian u tin c s dng bi lp hc
Hash_map&ltCourseClass*, int> _classes;
ng thi nhim sc th c lu tr nhng gi tr ph hp v nhng
tham s bng vic s dng cc thao to ca gii thut
Nhng gi tr ph hp c lu tr ti:
Float_fitness;
//Cc c ca s tha cc rang buc lp
Vector&ltbool>_criteria;
4.4 Cc tham s ca gii thut di truyn
S im lai ghp ca cc bng lp cha m
int_numberOfCrossoverPoints= 2 ;
S lng nhng lp m c di chuyn ngu nhin bi thao tc t bin
n gin
int_mutationSize= 2 ;
Xc sut lai ghp s xy ra
int_crossoverProbability= 80% ;
Xc sut t bin s xy ra
int_mutationProbability= 3% ;
Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

30

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

4.4.1 Php lai ghp


Nh ni trn php lai ghp din ra bng cch ghp mt hay nhiu
on gen t hai nhim sc th cha-m hnh thnh nhim sc th mi mang c
tnh ca c cha ln m.
V d:

Trong h thng ny thao tc lai ghp ban u kim tra mt s bt k vi


xc sut lai ghp nu ln hn s tin hnh lai ghp v tr ra mt nhim sc th
gi l nhim sc th u tin. Qu trnh la chn cc im lai ghp l ngu nhin
if( rand() % 100 > _crossoverProbability )
return new Schedule( *this, false );
Schedule* n = new Schedule( *this, true );
int size = (int)_classes.size();
vector<bool> cp( size );
for( int i = _numberOfCrossoverPoints; i > 0; i-- )
{
while( 1 )
{
int p = rand() % size;
if( !cp[ p ] )
{
cp[ p ] = true;
break;
}
}
}

Qu trnh lai ghp kt hp cc d liu trong bng bm ca hai nhim sc


th cha m, v sau n to ra vc t ca cc slot theo ni dung ca bng bm
Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

31

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

mi. Lai ghp 'Tch' bng bm ca c hai nhim sc th cha m thnh cc phn
c kch thc ngu nhin. S ca cc thnh phn c xc nh bi s lng cc
im lai ghp (cng thm mt) theo cc tham s ca nhim sc th. Sau , n
sao chp thay lun phin cc phn nhim sc th cha m mu thnh cc nhim
sc th mi, v cc hnh thc thao tc lai ghp

hash_map<CourseClass*, int>::const_iterator it1 =


_classes.begin();
hash_map<CourseClass*, int>::const_iterator it2 =
parent2._classes.begin();

//
//

//
//

//

bool first = rand() % 2 == 0;


for( int i = 0; i < size; i++ )
{
if( first )
{
Chn lp t nst cha me u tin n bng nst mi
n->_classes.insert( pair<CourseClass*, int>( ( *it1 ).first,
( *it1 ).second ) );
Tt c cc slot ca lp c sao chp
for( int i = ( *it1 ).first->GetDuration() - 1; i >= 0; i-- )
n->_slots[ ( *it1 ).second + i ].push_back( ( *it1 ).first );
}
else
{
Chn lp t nst cha m th h th 2 vo bng nst mi
n->_classes.insert( pair<CourseClass*, int>( ( *it2 ).first,
( *it2 ).second ) );
Tt c cc slot ca lp c sao chp
for( int i = ( *it2 ).first->GetDuration() - 1; i >= 0; i-- )
n->_slots[ ( *it2 ).second + i ].push_back( ( *it2 ).first );
}
S im lai ghp
if( cp[ i ] )
first = !first;
it1++;
it2++;
}

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

32

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

33

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

34

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

4.4.2 Php t bin


Cng ging nh vy php t bin din ra bng cch khi mt hoc mt s
tnh trng ca con khng c tha hng t hai chui nhim sc th cha m.
Php t bin xy ra vi xc sut thp hn rt nhiu so vi xc sut xy ra php
lai ghp.
V d:

Trong h thng ny thao tc t bin ban u kim tra xc sut t bin


vi mt s bt k
if( rand() % 100 > _mutationProbability )
return;

Sau thao tc t bin to ra mt lp ngu nhin v di chuyn nhim sc


th n mt slot cng c la chn ngu nhin khc. S ca lp hc s c
di chuyn vo mt thao tc n l c xc nh bi kch thc t bin trong
cc tham s ca nhim sc th
// La chn im ca lp mt cch ngu nhin
int nr = Configuration::GetInstance().GetNumberOfRooms();
int dur = cc1->GetDuration();
int day = rand() % DAYS_NUM;
Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

35

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH


int room = rand() % nr;
int time = rand() % ( DAY_HOURS + 1 - dur );
int pos2 = day * nr * DAY_HOURS + room * DAY_HOURS + time;
// Di chuyn slot
for( int i = dur - 1; i >= 0; i-- )
{

// Lo i b gi cc lp t slot thi gian hin thi


list<CourseClass*>& cl = _slots[ pos1 + i ];
for( list<CourseClass*>::iterator it = cl.begin(); it !
= cl.end(); it++ )
{
if( *it == cc1 )
{
cl.erase( it );
break;
}
}

// Di chuyn gi lp ti cc slot thi gian mi


_slots.at( pos2 + i ).push_back( cc1 );

// Thay i u vo ca bng lp ch ti cc slot


(khe) thi gian mi
_classes[ cc1 ] = pos2;

4.6 thch nghi


y l phn gii quyt cc yu cu a ra cho bi ton, ch yu vn xem
xt trn cc thnh phn rng buc. Tng ng vi mi loi rng buc chng ta s
gn cho chng mt gi tr thch nghi no , m mt khi c th i qua, cc rng
buc c lp t vo, v s cho ra gi tr thch nghi c th cho c th , kt
thc cng vic tnh thch nghi
By gi chng ta cn phi n nh mt gi tr thch hp cho cc nhim sc
th. Ta s p dng cc yu cu ti thiu cho lch hc ca mt lp (khng c g l,
v d, chng ta cng nhn rng ging vin c th ng lp bt c lc no).Cch
lm nh sau:

Mi lp hc c th c t 0 n 5 v tr.

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

36

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Nu lp hc s dng phng trng, ta gia tng score ca n.


bool ro = false;
for( int i = dur - 1; i >= 0; i-- )
{
if( _slots[ p + i ].size() > 1 )
{
ro = true;
break;
}
}
if( !ro )
score++;
_criteria[ ci + 0 ] = !ro;

Nu cc lp hc i hi phi c my tnh trong phng hc, ta tng score


ca n. Nhng nu lp hc khng cn my tnh, chng ta cng tng score
ca n bng mi cch.
_criteria[ ci + 2 ] = !cc->IsLabRequired() ||
( cc->IsLabRequired() && r->IsLab() );
if( _criteria[ ci + 2 ] )
score++;

Nu lp hc phng c ch ngi, ta tng score ca n.


_criteria[ ci + 1 ] = r->GetNumberOfSeats()>cc>GetNumberOfSeats();
if( _criteria[ ci + 1 ] )
score++;

Nu ging vin hin c th ln lp ( khng c lp hc khc) ti thi im


, chng ta tng score ca lp ln mt ln na.

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

37

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

V tiu ch cui cng chng ta cn kim tra l liu nhm sinh vin ca lp
c phi hc mt lp no khc ti cng mt thi im khng, v nu
khng chng ta tng score ca lp .

for( int i = numberOfRooms, t = day * daySize + time; i > 0; i--,t


+= DAY_HOURS )
{
for( int i = dur - 1; i >= 0; i-- )
{
const list<CourseClass*>& cl =_slots[ t + i ];
for( list<CourseClass*>::const_iterator it
=cl.begin(); it != cl.end(); it++ )
{
if( cc != *it )
{
if( !po &&
cc>ProfessorOverlaps(**it ) )
po = true;
if( !go && cc->GroupsOverlap( **it ) )
go = true;
if( po && go )
goto total_overlap;
}
}
}
}
total_overlap:
if( !po )
score++;
_criteria[ ci + 3 ] = !po;
if( !go )
score++;
_criteria[ ci + 4 ] = !go;

Tng s ca lch l tng hp tt c cc mt ca lp hc.


_fitness = (float)score /
Configuration::GetInstance().GetNumberOfCourseClasses() * DAYS_NUM );

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

38

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

4.7 Chng trnh thc nghim


Kt qu v demo chy th nghim chng trnh lp lch thi kho biu
bng gii thut di truyn.
Chng trnh demo bao gm phn c s d liu to ra 2 phng( room 1 v
room 2) vi tn gio vin, tn mn hc, tn phng hc, s gi hc ( quy nh l
2h), lp hc vi cc thuc tnh c lp trnh sn. Chng trnh s dng khi hm
Fitness c gi tr bng 1.00000

Chng trnh Th nghim

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

39

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

40

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

41

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Kt lun v hng pht trin


I. Kt qu t c
*p dng c gii thut di truyn gii quyt bi ton sp thi
kho biu.
Xy dng thnh cng chng trnh demo sp xp thi kho biu
II. Hn ch - Hng pht trin trong tng lai
1. Hn ch:
+ Do gii thut di truyn mang tnh cht ngu nhin nn i khi kt
qu t c khng phi l 100%.
+ Gii thut Di Truyn c th gii quyt bi ton ti u bt k (cc
tiu ha hm mc tiu) vi n bin vo. Tuy nhin, vi s lng bin vo kh
nhiu, cc gi tr hm mc tiu t c thng khng gn vi kt qu ti u
thc s. khc phc vn ny, c th tng s lng vng lp, hy vng ln
sinh sn mun s hnh thnh nhng con chu vi thch nghi cao ng vi cc
gi tr hm mc tiu gn kt qu ti u thc s nht.
2. Hng pht trin trong tng lai
+ Sp thi kha biu thc hnh theo nhiu mc u tin hn( u
tin cho ging vin.).
+ Hon thin mt s cc chc nng hiu chnh ngi dng c
th linh ng hn trong qu trnh hiu chnh.

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

42

TM HIU GII THUT DI TRUYN P DNG GII BI TON LP LICH

Ti Liu Tham Kho


Lp trnh tin ho_Ts. Nguyn nh Thc
Gii thiu gii thut Di truyn v Tnh ton Tin ha _PGS.TS
Randy Ribler khoa tin trng i hc Lynchburg,VA,USA
http://forum.mait.vn
http://www.kh-sdh.udn.vn
http://baigiang.violet.vn
http://www.vninformatics.com

Bo Co n Tt Nghip _Hong Chnh Ngha _Ct90125

43

You might also like