1
I HC QUC GIA HÀ NI
I HC CÔNG NGH
T VI
H KIN
CHO BÀI TOÁN LP LCH SN XUT
Ngành: Công ngh Thông tin
Chuyên ngành: Công ngh Phn mm
Mã s: 60 48 10
LUNGH THÔNG TIN
NG DN KHOA HC:
PGS.TS Hoàng Xuân Hun
Hà Ni 2013
2
MC LC
DANH MC KÝ HIU VÀ T VIT TT 4
DANH SÁCH CÁC BNG 5
DANH SÁCH CÁC HÌNH V 6
M U 7
HP VÀ BÀI TOÁN LP LCH SN XUT 9
1.1 Gii thiu bài toán t hp 9
1.1.1 i giao hàng 10
1.2 Các cách tip cn gii quyt bài toán t hp 11
1.2.1 Heuristic cu trúc 11
1.2.2 Tìm kim cc b 12
1.2.3 13
1.3 Bài toán lp lch sn xut 14
1.3.1 Gii thiu bài toán lp lch sn xut (Job shop scheduling - JSS) 15
1.3.2 Ví d cho bài toán JSS 15
1.4 Bng hp hai máy 16
1.5 Bài toán JSS ng hp nhi 17
1.5.1 K thut nhánh cn 18
1.5.2 Thut toán xp x nhanh 19
1.5.3 Gii thut di truyn (Genetic Algorithms - GA) 20
N 23
2.1 n 23
2.2 th cu trúc 24
2.3 Mô t thut toán ACO tng quát 26
2.4 i giao hàng 29
2.4.1 th cu trúc 29
2.4.2 Các thut toán ACO cho bài toán TSP 30
2.5 Mt s v liên quan 32
2.5.1 c tính hi t 32
2.5.2 ACO kt hp vi tìm kim cc b 33
3
2.5.3 Thông tin heuristic 33
2.5.4 S ng kin 34
2.5.5 Tham s 34
KIN AS VÀ H KIN 35
3.1 H kin AS 35
3.1.1 Xây dng li gii 35
3.1.2 Cp nht mùi 37
3.1.3 Nhn xét 38
3.2 H kin 38
3.2.1 kin 38
3.2.2 n cp nht cho thut toán 40
3.2.3 Gii hn vt mùi 40
3.2.4 Khi to giá tr mùi 41
3.2.5 Nhn xét 41
KII BÀI TOÁN LP LCH SN XUT . 42
4.1 Xây d th 42
4.2 Ma trn mùi và thông tin heuristic 43
4.3 Quy tc chuyn trng thái 43
4.4 Quy tc cp nht mùi 44
4.5 i bài toán lp lch sn xut. 45
4.6 phc tp các thut toán 46
T QU THC NGHI 47
5.1 47
5.2 Tin hành chy thc nghim 47
5.3 49
5.3.1 Kt qu thc nghim 50
5.3.2 So sánh vi thut toán ACO khác 51
53
TÀI LIU THAM KHO 54
4
DANH MC KÝ HIU VÀ T VIT TT
STT
T vit tt
T hoc cm t
1
ACO
Ant Colony Optimization
(Tn)
2
AS
Ant System
(H kin AS)
3
ACS
Ant Colony System
(H kin ACS)
4
MMAS
Max-Min Ant System
(H kin MMAS)
5
SMMAS
Smooth-Max Min Ant System
(H ki
6
MLAS
Multi-level Ant System
(H kic MLAS)
7
TSIACO
Two state updateting pheromone for
invariant ant colony optimization
(H kin)
8
TSP
Travelling Salesman Problem
i chào hàng)
9
JSS
Job shop scheduling
(Bài toán lp lch sn xut)
10
g-best
global-best
(Tt nht toàn cc)
11
i-best
iteration-best
(Tt nht cc b)
12
T hp
5
DANH SÁCH CÁC BNG
Bng 1.1: Bài toán lp lch sn xut 3 công vic thc hin trên 3 máy 16
Bng 1.2: Bài toán gia công trên 2 máy 16
Bng 2.1: Thut toán ACO theo th t thi gian xut hin 32
Bng 5.1: Các tham s s dng cho các thut toán ACO 50
Bng 5.2: Kt qu thc nghim TSIACO cho các b d liu chun 50
Bng 5.3: So sánh kt qu tt nht sau 10 ln chy ca SMMAS và TSIAO 51
6
DANH SÁCH CÁC HÌNH V
u trúc 12
Hình 1.2: Li gii nhc nh thông qua tìm kim cc b 13
Hình 1.3: Thut toán memetic s dng EC 14
ca thut toán nhánh cn 19
thut toán di truyn 21
th cu trúc tng quát cho bài toán cc tr hàm 26
Hình 2.2: Thut toán ACO 27
Hình 2.3: Thut toán ACO gii bài toán TSP có s dng tìm kim cc b 31
th cng cho bài toán lp lch sn xut 42
thut toán TSIACO gii bài toán lp lch sn xut 46
liu thc nghim 48
Hình 5.2: Di chuyn tc cha file ch 48
Hình 5.3: Chi tham s file d liu 49
Hình 5.4: Kt qu ch 49
7
M U
Trong quá trình sn xut ra sn phm thì vic lp k hoch sn xut là cc
k quan trng, nó ng trc tip ti hiu sut ca h thng máy móc và
nh ng n chng ca toàn b quá trình sn xuc bit ngày
nay khi mà quy mô sn xut ln, vi ch sn xut hp lý càng có ý
ng, thc t vic lp k hoch sn xut là không h n và
không th ch n da trên kinh nghim. Chính vì c t
n hành nghiên cu bài toán lp lch sn xut t nh 1950
nhm m hóa bài toán và xây dng li gii trên máy tính nhm gim
thiu thi gian sn xut, mang li hiu qu v kinh t. Bài toán c
s chú ý quan tâm ca o gii chuyên môn và u
bài toán NP-khó trong lp bài toán t hp
nên ch có th tìm ra li gii gi gi
ta tng s dng các thut toán xp x và mô phng t t toán di
truyn, thut toán luyn kim, thut toán nhánh c gii bài toán, g
ni lên m n (Ant Colony
Optimization) vi kt qu thc nghim ni tri c
(Ant Colony Optimization - ACO
, do Dorigo gii thiu vào và liên tc
c phát trin nay. C mi i có mt hi ngh quc t v kin
c t ch các nhà nghiên cu gp g i v ch này, ln g
nhc t chc ti Brussels, B vào ngày 14/12/2012.
2000 vi kt qu c là tt,
minh .
n có 2 th tc chính là th tc ngu nhiên
và th tc cp nht mùi, các thu yu tp trung
ci tin th tc cp nhât mùi. Lu u thut toán
8
ACO ht sc mi m là thut toán h kin (Two state updateting
pheromone for invariant ant colony optimization TSIACO) do Zhaojun Zhang
xu gii chào hàng. S khác bit
ca TSIACO so vi các thut toán ACO khác là vic cp nhc chia ra
làm han. Luu, tìm hiu áp d
TSIACO gii bài toán Lp lch sn xut. t qu
thc nghip tSMMAS (chi tit xem [1]) trên cùng mt b d liu chun
(benchmark data) c n xut ly t website
Ngoài phn m u, tài liu tham kho, ph lc và kt lun, lu
:
: Gii thiu v bài toán t hp tng quát và bài toán Lp lch
sn xut, các cách tip cn gii bài toán t hp.
: Gii thi n, lch s và phát trin.
i chào hàng.
: Trình bày AS, nhng hn cht ca AS. Trình bày
i nhng ci tin so vi AS.
: Xây d th cho bài toán lp lch sn xut, mô hình hóa trên
máy tính và áp dng TSIACO ng dng vào gii bài toán lp lch sn
xut.
5: Tin hành chy thc nghim b d liu chun,
thng kê kt qu c và so sánh vi thut toán ACO khác.
9
HP VÀ BÀI TOÁN LP LCH SN
XUT
Bài toán thc t yêu cu chúng ta tìm li gii tchí
vi mt lot các thành phn ri rc ca chúng. Các bài toán loi này luôn có mt
tp hu hn các li gii, chúng ta có th dùng vét c tìm ra li gii t
tuy nhiên khi không gian bài toán ln thì vét cn không th áp d
này s gii thiu v bài toán t hp, bài toán lp lch sn xut và các cách
tip c gii chúng.
1.1 Gii thiu bài toán t hp
Chúng ta có th k ra các bài toán tiêu biu ca lp bài toán t hp
i chi phí nh nht gia hai thành ph, bài toán lp
thi khóa biu, bài toán lp lch sn xu
ây là các bài toán trong thc t gii các bài toán dng này ta cn khái
quát hóa có mô phng trên máy tính, tính toán thông qua các mô
ph tìm ra li gii tu. Chung nht vi mu cha n thành
phn
và hàm mc tiêu . Các bài toán ng vi b ,
là tp hu hn các trng thái , là hàm mnh
trên và là tp các ràng buc. M tha mãn các ràng buc
gp nhc. Mc tiêu c
tc i vi hàm mc tiêu
án
sao cho
vi mi . i vi bài toán này ta có 3 cách gii
quyn, k thut tham lam hoc
NP-khó.
Các thuc tính ca tp và
1) Ký hiu là t dài không quá
. trong c xác
nh nh ít nht mt .
10
2) Tn ti tp con
ca và ánh x
t
lên sao cho
không
rng vi mi
, p
có th xây dc t tp con
nào
a nh th tc m rng tun t .
3) T
ta m rng tun t thành
i) Ta xem
là m rc vi mi
ii) Gi s
là m rc
. T tp ràng
buc , nh tp con
ca , sao cho vi mi
thì
là m rc.
iii) Áp dng th tc m rng t các phn t
cho phép ta xây dng
c mi phn t ca
.
y mc xem là mt bài toán cc tr hàm có
bii bin nhn giá tri trong tp hu hn k c giá tr rng. Nói
mt cách khác là bài toán tìm kim trong không gian vec dài không quá
th nh có nhãn trong tp .
1.1.1 i giao hàng
i giao hàng (Traveling Salesman Problem - TSP) là bài toán
c nghiên c
hiu qu li gi
c phát bi
Có mt tp gm thành ph (hom tiêu th)
c tip t c
i
n c
j
là d
i,j
. Mi chào hàng mun tìm mt
hành trình ngn nht t i thành ph t l gii thiu
sn ph v thành ph xut phát.
Có th th th
có trng s , vi là tp các nh vi nhãn là các thành ph trong ,
là tp các cnh ni các thành ph dài mi c dài
a hai thành ph ng. ng hp này, tp s là tp
11
các chu trình Hamilton trên , dài ca chu trình, là ràng bui
chu trình là chu trình Hamilton (qua tt c nh, mt ln),
là tp thành ph c xét,
trùng vi , tp dài :
vi
còn
khác
i vi
mi cp .
i gii t a bài toán TSP là mt hoán v ca t nh
dài là nh nhc tính theo
(1.1):
(1.1)
1.2 Các cách tip cn gii quyt bài toán t hp
bài toán tìm
ki th. Vi nhng bài toán c nh hoc nhc bit thì ta
hoàn toàn có th tìm li gii t tìm kim vét cng
nhng li gic thù riêng. Tuy nhiên hu ht các bài toán trong s
toán NP-khó, nên vi các bài toán c li ta phi tìm li gii g
Các thut toán gi vng da trên 2 k
thun: heuristic cu trúc (construction heuristic) và tìm kim cc b (local
search).
1.2.1 Heuristic cu trúc
Khi không th tìm li gii ta bài toán vi thc, chúng
n vic tìm li gii g thut hay dùng trong vic tìm li
gii gu trúc, li gii cc xây dng thông
qua vic m rng tun t. T thành ph khi to trong tp
, tc m
rng không quay lui, thêm vào các thành phn mc ngu nhiên
hay tnh da trên nhng quy tc heuristic. Các quy tc heuristic này khác
nhau tùy vào thut toán c th c xây dng da trên toán hc kt hp vi kinh
nghim. Chúng ta có th mô phi dng thu
sau:
12
Procedure Heuristic cu trúc;
Begin
chn thành phn
trong
;
whileng xong li gii)do
GreedyComponent(
);
;
end-while
;
i gii;
End;
u trúc
chn thành phn b sung
vào
theo quy t u
là kt qu phép toán thêm
thành phn vào
.
Vi ta có th áp dng cho bài toán TSP v th y
và s dng quy tc heuristic láng ging gn nh chnh
láng ging nh nh thêm vào). Thut toán kiu m
là thi gian tính toán nhanh i không có kh i tin li gii qua
mc lp.
1.2.2 Tìm kim cc b
K thut tìm kim cc b hay còn gi là tìm kic hin
bng cách bu t mp nhc, lp lc ci tin li
gii nh i cc b thc hin k thut này, ta cc
cu trúc lân cn ca mi gic là nh
chp nhc, gn vi nó nht, nh i mt s thành phng
dùng là lân cn -i, tc là lân cn bao gp nhn
c khác v i nhiu nht thành phn.
Ví d. Lân cn 2-i ca mt li gii trong bài toán TSP bao gm
tt c các li gii có th nhc t bi hai cnh. Hình 1.2 ch
13
ra mt ví d mt li gii nhc bng cách thay hai cnh (1,3), (2,6) bng hai
cnh (2,3), (1,6).
Vic ci tic lng chi
da theo hai chic: Chic tt nht và chic t. Vi chin
c tt nht, i ta thc hin chn li gii tt nht trong lân c làm li
gii ci tin. Tuy nhiên, khi bài toán c ln có th c li gii tt
nht do b hn ch v thi gian. Còn vi chic t, ta ch
u tiên trong lân cn, ci thic hàm mm ca tìm kim
cc b ng ch cho cc tr
Hình 1.1: Li gii nhc thông qua tìm kim cc b
Các k thuc kt hp, to thành các h lai trong các
ng t nhiên da trên qun th, chng ht toán di
truyn (GA) hoc tn (ACO).
1.2.3 tic
c
thit kng cho các thut toán c th (bao gm c heuristic cu trúc và
tìm kim cc by, mt metaheuristic là m thut toán tng
quát ng dng cho các bài toán ti mt chút si cho phù
hp vi tng bài toán.
14
Memetic là mt
c thit k i ta to ra nhiu th h qun th li gii
chp nhc. Trong mi qun th ca th h ng, ta ch chn ra mt s
li gii (chng hn li gii tt nh thc hin tìm kim cc b nhm ci thin
chng. Quá trình tic li gii tt nht có th. Hình
1.3 mô t mt thut toán memetic s dng tính toán tin hóa (Evolutionary
Computing - EC):
Proedure Thut toán memetic-EC;
Begin
Initialize: To ra qun th u tiên;
while u kin da mãn do
ánh giá các cá th trong qun th;
Thc hin tin hóa qun th nh các toán t cho
c;
Chn tp con
ci tin nh th tc tìm kim cc
b;
for mi cá th trong
do
Thc hin tìm kim cc b;
end-for
Chn phn t tt nht;
end-while;
i gii tt nht;
End;
Hình 1.2: Thut toán memetic s dng EC
Trong ng dng thc t, các thuc kt hp vi tìm
kim cc b theo mô hình memetic này.
1.3 Bài toán lp lch sn xut
Bài toán lp lch sn xut JSS thuc l
c tp, và là mt trong nhng bài toán khó tính toán nht cho
n nay. Tuy nhiên do tính ng dc s quan tâm nghiên cu
rt nhiu, là mn hình v lý thuyt lp lch. u thut toán
15
i quyt bài toán này, phn này chúng ta s tìm hiu v bài toán
p cn gii bài toán lp lch sn xut.
1.3.1 Gii thiu bài toán lp lch sn xut (Job shop scheduling - JSS)
Bài toán lp lch sn xuu
c phát bi
Có danh sách n công vic (jobs) J
1
, J
2
, , J
n
cn thc hin trên m máy
(machine) M
1
, M
2
, , M
m
tha mãn các ràng buc sau:
1. Mi công vic J
j
(j=1 n) có m thao tác
12
, , ,
m
jr jr jr
O O O
phc thc
hin theo th t lt trên các máy M
r1
, M
M
rm
, thao tác
i
jr
O
(i=1 m)
yêu
cu s dng máy
i
r
M
trong mt khong thi gian
i
jr
p
liên tip.
2. Ti mi thm, mi máy ch có th thc hin mt công vic.
Mục tiêu: Cn xây dng l thi gian hoàn thành các công vic là nh
nht.
1.3.2 Ví d cho bài toán JSS
Ví d: Bài toán lp lch sn xut gm 3 công vic thc hin trên 3 máy
(bng 1.1). Công vic 1 gm 3 thao tác vi trình t thc hin O
11
, O
12
, O
13
thao
tác O
11
c thc hin trên máy 2 v thi gian, thao tác O
12
c thc
hin trên máy 1 vi 5 thi gian và thao tác O
13
c thc hin trên máy 3
vi 4 thi gian; Công vic 2 gm 3 thao tác vi trình t thc hin O
21
,
O
22
, O
23
thao tác O
21
c thc hin trên máy 1 vi 4 thi gian, thao tác
O
22
c thc hin trên máy 3 v thi gian và thao tác O
23
c thc
hin trên máy 2 vi 4 thi gian; Công vic 3 gm 3 thao tác vi trình t
thc hin O
31
, O
32
, O
33
thao tác O
31
c thc hin trên máy 2 v thi
gian, thao tác O
32
c thc hin trên máy 1 vi 2 thi gian và thao tác
O
33
c thc hin trên máy 3 vi 2 thi gian.
16
1
2(3)
1(5)
3(4)
2
1(4)
3(3)
2(4)
3
2(3)
1(2)
3(2)
Bng 1.1: Bài toán lp lch sn xut 3 công vic thc hin trên 3 máy
1.4 Bng hp hai máy
ng hp, ng hp ch có 2 máy
c li gii tc bng thut toán ca
xu (xem [8]) v phc tp là O(n.logn). Trong
ng hp s máy lc lp bài toán NP-khó.
Bài toán ng hp 2 máy c phát bi
Có n chi tit D
1
, D
2
n
, mi chi tiu cn phc lt gia
công trên hai máy A, B. Thi gian gia công chi tit D
j
trên máy A là a
j
, trên máy
B là b
j
, j=1,2, ,n. Hãy tìm lch (trình t gia công) các chi tit trên hai máy sao
cho vic hoàn thành gia công tt c các chi tit là sm nht có th c.
Ví d: Xét bài toán khi n=6. Thi gian gia công các chi tit trên các máy
c cho trong bng sau:
Máy
D
1
D
2
D
3
D
4
D
5
D
6
A
8
4
4
6
3
5
B
5
7
3
2
6
5
Bng 1.2: Bài toán gia công trên 2 máy
Gi s thc hin vic gia công các chi tit theo lch (D
1
, D
2
, D
3
, D
4
, D
5
,
D
6
) thì thi gian hoàn thành vic gia công là: 36.
Vi cách làm ca xut ta có th gii bài toán d dàng thông
qua mt s c sau:
17
1. Chia các chi tit thành hai nhóm: Nhóm N
1
gm các chi tit D
i
tha
mãn a
i
b
i
, và nhóm N
2
gm các chi tit D
i
tha mãn a
i
>b
i
.
2. Sp xp các chi tit trong nhóm N
1
theo chia các a
i
và sp
xp các chi tit trong nhóm N
2
theo chiu gim ca các b
i
3. Kt hp N
1
và N
2
c dãy N
1
N
2
chính là lch gia công t
Áp dng cho ví d trên qua tc ta s :
1. Chia thánh 2 nhóm: N
1
= {D
2
, D
3
, D
6
}; N
2
= {D
1
, D
4
, D
5
}
2. Sp xp các thành phn ca N
1
theo chia các a
i
và sp xp
các thành phn ca N
2
theo chiu gim dn ca các b
i
; N
1
= {D
2
, D
3
, D
6
}; N
2
=
{D
5
, D
1
, D
4
}
3. Kt hp 2 chui N
1
và N
2
c: {D
2
, D
3
, D
6
, D
5
, D
1
, D
4
} chính
là lch gia công t chui này d c thi gian hoàn thành
vic gia công là: 32.
1.5 Bài toán JSS ng hp nhi
ng hp nhiu 2 máy thì bài toán thuc lp bài toán NP-
khó, c (xem [18]).
sn xut vi s máy l
2 (Integer Linear Programming) (xem [11],
[17]) hay (Branch and Bound) (xem [11])
c nghim tp
v, s ng phép toán
s là rt ln vì phi phát trin mt không gian trng thái quá ln, mà do nhng
hn ch v thng b nh, không cho phép chúng ta
thc hi p x nhanh (Fast Approximate
Algorithms) (xem [11]) là mt gic la
chng hng nhanh v mt thi gian thc
hin, tuy nhiên ch ng thc nghim còn nhiu hn ch. Hin nay, xu th
các thu vt lý thng kê, tin hóa
18
sinh hc hay da trên lý thuyt ca trí tu nhân to (xem [10])
gii quyt bài toán này.
1.5.1 K thut nhánh cn
G. H. Brooks và C. R. White là nh xut k thut
nhánh cn (Branch and Bound - thuc nhiu
nhà nghiên cu tip tc phát trin. Trong quá trình nghiên cu, phát trin các
nhà nghiên cu tp trung vào chiphân nhánh và xây d
ci.
Xét bài toán t:
p hu hn các phn t c gi là min ràng buc, còn
:f S R
là hàm thnh trên S.
áp dng thut toán nhánh cn gii bài toán JSS, chúng ta cn xây dng
hai th tc r nhánh và th tc nhánh c tc chính:
1. Th tc r nhánh: phân hoch liên tip min S thành các min con vi
c nh m mcui cùng s xây dc các tp con ch
gm mt phn t, vim bo vic thc hin vét cn.
2. Th tc nhánh cn: Xây dng hàm tính ci
bound
f
nh trên tp
con ca tp S tha mãn:
( ) min ( ):
bound i
f S f x x S
vi mi S
i
thuc S
Giá tr
()
bound i
fS
c gi là ci ca S
i
.
Gi s ta bic mt li gii x
*
thuu
**
( ) ( )
bound
f f x f S
Thì t bng thc
**
( ) ( ) min ( ):
bound i i
f f x f S f x x S k
19
Ta suy ra tp S
i
chc chn không cha li gii t loi b
Procedure Branch_And_Bound_Algorithm;
BEGIN
t
i
PS
là mt phân hoch ca tp S;
Tìm x
*
thuc S, tính
**
()f f x
;
Repeat
Loi khi P tp con có trin vng nht S
i
;
Phân hoch S
i
thành các tp con S
ij
;
Cp nht giá tr mc tiêu tt nht f
*
;
ij
P P S
For all
ij
SP
do
If
*
ij
()
bound
f S f
then loi b S
ij
khi P
Until
P
;
END;
Hình 1.4: L ca thut toán nhánh cn
ng S
i
c coi là có trin vng nu nó có giá tr c i
ij
()
bound
fS
là nh nht. (chuyn lên trên)
K thut nhánh c m là có th tìm ra li gii t
i yêu cu thi gian tính toán lc cho là không phù hp
vi các bài toán t hp khó. Chính vì vy k thut nhánh cn không thích
hp v phc tp tính toán l
1.5.2 Thut toán xp x nhanh
Cách tip cn này (xem [10]) là s dng các lunhm gim thi
gian tính t xut sm nht v luc thc hin bi Jackson
Error! Reference source not found., Giffler và Thompson Error! Reference
source not found. ng d ê: Mi công vic gán
cho m xut da vào tiêu chun t th và mi khi có
máy ri ta giao ngay cho nó công vi n nht.
20
Nói mt cách khác, trong các thuy, chúng ta s phi sp xp
các công vic thành mt dãy theo mt quy tn s lt thc
hin các công vic sp xp: Công vic tip theo s c b
trí thc hin trên máy ri xut hiu tiên. Ta xét mt s quy tng dùng
xây dy.
Thời gian xử lý lớn nhất (Longest Processing Time – LPT)
Quy tc này (xem [10]) s sp xp các công vic theo th t gim dn ca
thi gian x lý. Mi khi có máy ri (máy có th thc hin công vic),
công vic có thi gian x lý ln nht trong s các công vic sn sàng s c
giao cho máy x lý.
Thời gian xử lý nhỏ nhất (Shortest Processing Time – SPT)
Quy tc này (xem [10]) s sp xp các công vic theo th t n ca
thi gian x lý. Mi khi có máy ri, công vic có thi gian x lý nh nht trong
s các công vic sn sàng s c giao cho máy x lý.
Thời gian lệch nhỏ nhất (Minimun Slack Time – MST)
Quy tc thi gian lch nh nht (xem [10]) a các công
vic bi thi gian lch. Gi d
i
và p
i
là thi hn hoàn thành và thi gian x lý ca
công vic i trong tp các công vic cn sp th t. Dãy MST các công vic là
dãy tha mãn bng thc sau:
1 1 2 2
nn
d p d p d p
ng khi s dng các lu ng ch cho kt qu tt.
Tuy nhiên trong mt s ng hc bit vn cho lch tn tìm.
1.5.3 Gii thut di truyn (Genetic Algorithms - GA)
xut lu tiên bi John Holland và các cng
s. c rt nhii nghiên ci k i
hc trò xut sc ca Holland
rt nhiu trong vic phát trin lý thuyt và ng dng thut toán di truyn.
21
Các thut toán di truyn phng theo quá trình tin hóa t thích nghi ca
các qun th sinh hc tc tiêu. Trong s tin hóa t nhiên,
mi loài sinh vu phi tìm cách thích nghi tt nht vi mng sng
phc ti. S t và ghi li trong cu
trúc nhim sc th ca chúng. H nhng sinh vt thuc th h c
sinh ra s thích nghi vng t h c.
nht ca GA là: Chi c tìm kim da trên qun th cùng vi ba toán t:
Chn lt bii chéo. s dng thut toán di truy
chính là chn lc kiu gene, cu trúc nhim sc th và các th tc to mu,
toán t di truyn thích hp x lý các ràng buc.
Procedure GA;
Begin
t 0;
Khi to P(t); //khi to qun th
thích nghi
while not kt_thúc do //vòng lặp tiến hóa
begin
//bii qun th
Bii (P(t));
thích nghi mi
//to ra th h con mi
P(t+1) Chn l
t t+1;
end;
End;
Hình 1.5 thut toán di truyn
Áp dng gii thut di truyn cho bài toán JSS:
- Chn kiu gene và cu trúc nhim sc th thích hp cho các li gii tim
a bài toán. Xây dng th tc chuyi gi thc hin các
phép toán di truyn.
22
th t tt c các thao tác ca các công vic t n N_oper
ng s các thao tác). Nhim sc th có cu trúc là mt
mng mt chiu v dài bng là N_oper. Mt gen trên nhim sc th là th t
cy nhim sc th là mt hoán v ca các s t n N_oper
th hin mt lch th t thc hin các thao tác, t c lch thc
hin các công vic trên các máy.
Thut toán di truyn và nhng phát trin ca nó vi tên gi chung
c nhng thành công nhnh. Mt
trong nhng tip c. Cách tip cn
này
. 4, lu trình bày
p lch sn xut.
23
2. KIN
1 c tìm hiu v bài toán t hp và mt s
cách tip c gii lp bài toán này, tìm hi
pháp t gii bài toán trên.
2.1 n
Tn (Ant Colony Optimization - ACO) là m
metaheuristic xut b d ng mô
ph t ti ngun thc li ca các con kin
t gii g-khó.
a mình các con kin th li mt vt hóa chc
gi là vt mùi (pheromone trailm sinh hóa hc ca vt mùi này là có
kh n giao tip báo cho các con kin khác
thông tin v t cách gián tip. Các con kin s la ch
n nht ti thm la chn
cách giao tip mang tính gián tip và c n
trong t n nh
. S dng mô hình kin nhân tng thut
toán h kin (AS) gii chào hàng. Thuc chng
minh tính hiu qu thông qua thc nghim so vi các mô phng t nhiên khác
SA và GA. Thut toán này v c phát trin và có nhiu áp dng
phong phú trong thc tc g
ng này, các thut toán ACO s dng thông tin heuristic kt hp
thông tin hng qua các vt mùi ca các con kin nhân to (artificial
ant gii các bài toán t hp khó b ng
th cc xây dng t m ca t
(Ant System - AS)
TSP
24
.
i,
(Marie Curie Excellence Award
05/11/2003. Cho6
-
(xem
2.2 th cu trúc
c nêu trong mi dng bài toán
cc tiu hóa (S, f, p hu hn trng thái, f là hàm mc tiêu xác
nh trên S, còn nh tp S có các thành phc
ly t tp hu hn C. Các tp S, c tính sau:
1) Ký hiu là tp các dãy trong dài không quá
. trong nh bi ít nht
m.
2) Tn ti tp con
ca và ánh x
t
lên sao cho
không
rng vi mi
, p
có th xây dc t tp con
ca
nh m rng tun t
3) T
ta m rng tun t thành
i) Ta xem
là m rc vi mi
25
ii) Gi s
là m rthuc
. T tp ràng
buc , nh tp con
ca , sao cho vi mi
thì
là m rc.
iii) Áp dng th tc m rng t các phn t
cho phép ta xây dng
c mi phn t ca
.
t bài
toán tìm ki dài không quá th c gán
nhãn trong tp tìm các li gii chp nhc, ta xây d th
vi tnh , mi nh cng vi mi thành phn ca Các li
gii chp nhc s nh theo th tc m rng tun t
hay m rng ngu nhiên
i vi các bài toán thuc loi NP-
tìm li gi tt cho bài toán. Các thut toán ACO kt
hp thông tin heuristic này vng, mô phng hành vi
c tìm li gii t
Mi cnh nnh
có trng s heuristic
ng chn
thành phn m rng là khi thành phn cui ca trng thái hin ti
là (theo
th tc m rng tun t trên). Ký hiu ng s heuristic
ca cn là ngho c
dài c ng), còn
u th các thông tin hng
(gi là vc khi to giá tr
ng hc bit
và
ch ph thuc vào , các thông tin này s gn vnh. Không làm mt
tính tng hp các thông tin này gn vào các cnh.
Ta g th
là th cu trúc ca bài toán t hp,
là tnh, là tp cnh, và
là các thông tin gn vi cnh. T
các cnh, xây dng tp
nh m rng tp
theo th tc tun t. Nu không
có thông tin heuristic thì ta xem có các thành phng 1.