Tải bản đầy đủ (.doc) (72 trang)

Bài toán thuê xe du lịch có hạn ngạch

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.78 MB, 72 trang )

Đ„I HÅC QUÈC GIA HÀ NËI
TRƯÍNG Đ„I HÅC CÔNG NGH› HÀ NËI

Đinh Thà Thõy

BÀI TOÁN THUÊ XE DU LÀCH CÓ H„N NG„CH

Ngành: Công ngh» thông tin
Chuyên ngành: Khoa håc máy tính
Mã sè: 64080101

LUŠN VĂN TH„C SĨ CÔNG NGH› THÔNG TIN

Ngưíi hưîng d¨n khoa håc: PGS.TS.Hoàng Xuân Hu§n

Hà Nëi - 2018


LI CAM OAN
Tụi xin cam oan rơng õy l cụng trỡnh nghiờn cựu cừa cỏ nhõn tụi dợi sỹ
hợng dăn giỳp ù cừa PGS.TS. Hong Xuõn HuĐn. Cỏc kát quÊ ủc viát chung
vợi cỏc tỏc giÊ khỏc ãu ủc sỹ ỗng ý cừa tỏc giÊ trợc khi a vo luên vn.
Trong ton bở nởi dung nghiờn cựu cừa luên vn, cỏc vĐn ã ủc trỡnh by ãu l
nhỳng tỡm hiu v nghiờn cựu cừa chớnh cỏ nhõn tụi hoc l ủc trớch dăn tứ cỏc
nguỗn ti liằu cú ghi tham khÊo rừ rng, hủp phỏp.
Trong luên vn, tụi cú tham khÊo án mởt số ti liằu cừa mởt số tỏc giÊ ủc
liằt kờ tÔi mửc ti liằu tham khÊo.
H Nởi, ngy .. thỏng .. nm 2018

Hồc viờn


inh Th Thừy


LI CM N
Trợc khi trỡnh by nởi dung chớnh cừa khúa luên, em xin by tọ lũng biát n
sõu s-c tợi PGS.TS.Hong Xuõn HuĐn ngới ó tên tỡnh hợng dăn em cú th
hon thnh khúa luên ny.
Em cng xin by tọ lũng biát n chõn thnh tợi ton th cỏc thƯy cụ giỏo trong
khoa Cụng nghằ thụng tin, Ôi hồc Cụng Nghằ, Ôi Hồc Quốc Gia H Nởi ó dÔy
bÊo em tên tỡnh trong suốt quỏ trỡnh hồc têp.
Nhõn dp ny em cng xin ủc gỷi lới cÊm n chõn thnh tợi gia ỡnh, bÔn bố
ó luụn bờn em, cờ v, ởng viờn, giỳp ù em trong suốt quỏ trỡnh hồc têp v thỹc
hiằn luên vn tốt nghiằp.
H Nởi, ngy .. thỏng .. nm 2018

Hồc viờn

inh Th Thừy

2


DANH MệC K HIU V CH VIT TT

ACO
AS
ACS
MMAS
SMMAS
CaRS

GA
QTSP
q-CaRS
TSP
jj

Phng phỏp tối u húa n kián(Ant Colony Optimisation).
Hằ kián AS(Ant System).
Hằ kián ACS(Ant Colony System).
Hằ kián MMAS(Max-Min Ant System).
Hằ kián MMAS trn(Smooth-Max Min Ant System).
Bi toỏn thuờ xe du lch(Traveling car renter problem).
Thuêt giÊi di truyãn(Genetic Algorithm ).
Quota Traveling Salesman Problem.
Bi toỏn thuờ xe du lch cú hÔn ngÔch(Quota traveling car renter problem)
Bi toỏn ngới cho hng(Traveling Salesman Problem).
Số phƯn tỷ trong mởt têp.


Mửc lửc
Danh mửc kớ hiằu v chỳ viát t-t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chng
1. Bi toỏn thuờ xe du lch cú hÔn ngÔch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.1.
Quy hoÔch nguyờn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1. DÔng tờng quỏt cừa bi toỏn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.1.2. ng dửng cừa bi toỏn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.1.3. Cỏc phng phỏp tiáp cên giÊi bi toỏn quy hoÔch nguyờn . . . . . . . . . . . . . . . 9


1.2. Bi toỏn ngới cho hng(Traveling Salesman Problem - TSP). . . . . . . . 11
1.3. Bi toỏn thuờ xe du lch cú hÔn ngÔch(q-CaRS) . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1. Bi toỏn ngới bỏn hng cú hÔn ngÔch(QTSP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.2. Cỏc bi toỏn liờn quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.3.3. Bi toỏn thuờ xe du lch cú hÔn ngÔch(q-CaRS) . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Chng

2.

Cỏc

phng

phỏp

metaheuristic

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.1. Thuêt giÊi di truyãn . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.1. Thuêt toỏn di truyãn cờ in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2. Biạu diạn bơng vộc t số thỹc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.3. GA trong tối u tờ hủp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.2. Phng phỏp tối u húa n kián . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.1. Cỏch tỡm ớng i cừa kián tỹ nhiờn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2. Kián nhõn tÔo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29


2.2.3. Phng phỏp ACO tờng quỏt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Chng 3. Thuêt giÊi di truyãn cho bi toỏn q-CaRS . . . . . . . . . . . . . . . . . . . . . . . . 35 3.1.
Biu diạn quƯn th . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.
Quỏ trỡnh tỏi tÔo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.3. Thừ tửc tỡm kiám a phng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
3.4. Thuêt toỏn MemPlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
3.5. Kát quÊ thỹc nghiằm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5.1. Bở dỳ liằu chuân . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.5.2. Tián hnh chÔy thỹc nghiằm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44


4


3.5.3. Kát quÊ thỹc nghiằm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Chng 4. Thuêt toỏn ACO giÊi bi toỏn q-CaRS . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.1. ỗ th cĐu trỳc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50 4.2. Vát mựi v thụng tin heuristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3. Quy t-c cêp nhêt mựi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4. Thừ tửc tỡm kiám cửc bở. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.5. Kát quÊ thỹc nghiằm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.6. Kát quÊ thỹc nghiằm v ỏnh giỏ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5



LI Mé U
Trong nhỳng nm gƯn õy, i cựng vợi sỹ bựng nờ mÔnh m cừa cụng nghằ
thụng tin v du lch, cỏc dch vử tiằn ớch phửc vử cho khỏch du lch vợi cỏc ựng
dửng di ởng cng ủc phỏt trin mÔnh m. Nhu cƯu tỡm kiám cỏc ká hoÔch cho
chuyán i vợi chi phớ phự hủp v thuên lủi l mởt trong nhỳng nhu cƯu phờ bián. Cử
th, trong mởt tour du lch tham quan cỏc a im cừa thnh phố, tÔi mội a
im ãu cú nhỳng sđn nhỳng chiác xe du lch vợi giỏ thnh cử th. Vỡ lý do ti
chớnh cng nh thới gian hnh khỏch cú th s khụng i tham quan ủc hát cỏc
a im nhng hồ luụn mong muốn s cú mởt chuyán i hi lũng nhĐt vợi chi phớ
nhọ nhĐt. õy bi toỏn thuởc vĐn ã tối u tờ hủp, thuởc lợp bi toỏn NP-khú v l
bi toỏn bián th cừa bi toỏn ngới bỏn hng du lch(TSP) v bi toỏn thuờ xe du
lch(CaRS). ó cú rĐt nhiãu cỏc nghiờn cựu a ra cho bi toỏn ny nh : Cỏc
phng phỏp tối u cho bi toỏn ngới bỏn hng du lch trỹc tuyán[ 46] , BÊo
Êm xĐp x cho bi toỏn ngới bỏn hng cú trồng số[6] , Thuêt toỏn Memetic
cho bi toỏn thuờ xe du lch[20]. . . Tuy nhiờn cỏc nghiờn cựu ny khụng xột án
chi phớ di chuyn m mợi ch xột án thới gian di chuyn thnh cụng giỳa cỏc a
im.
VĐn ã ủc t ra trong nghiờn cựu ny ú l sỹ tờng quỏt húa cừa thuêt toỏn
QTSP vợi mởt têp hủp cỏc xe ụ tụ ngới bỏn hng cú th thuờ di chuyn.
QTSP l mởt bián th cừa TSP vợi mội nh ãu cú rơng buởc nhĐt nh v mửc
tiờu l tối thiu húa chi phớ di chuyn vợi yờu cƯu rơng buởc khụng nhọ hn giỏ tr
nh sđn. Trong nghiờn cựu Thuêt toỏn Memetic cho bi toỏn thuờ xe du
lch[20] ó a ra nhỳng kát quÊ ủc ỏnh giỏ khỏ cao, tuy nhiờn trong nghiờn
cựu khụng cú rng buởc no ối vợi cỏc a im án thm.
Bi toỏn q-CaRS l bi toỏn tối u tờ hủp cú nhiãu rng buởc , thuởc lợp bi
toỏn NP khú, ch cú th tỡm lới giÊi gƯn ỳng trong thới gian a thực. Trong nghiờn
cựu [21] tỏc giÊ ó a ra thuêt giÊi di truyãn giÊi bi toỏn v kát quÊ thu ủc
l khỏ tốt. Tuy nhiờn trong thới gian gƯn õy, phng phỏp tối u húa n kián giÊi

bi toỏn tối u tờ hủp ang ủc nời lờn vợi nhỳng thỹc nghiằm ủc ỏnh giỏ
khỏ cao c biằt l thnh cụng trong bi toỏn ngới bỏn hng vợi số nh lờn án
2000. Vỡ vêy luên vn ã xuĐt thờm phng phỏp tời u húa n kián giÊi bi toỏn
q-CaRS trờn. Kát quÊ thỹc nghiằm cho thĐy phng phỏp tối u húa n kián cho
kát quÊ trong nhiãu hủp tốt hn thuêt giÊi GA vã cÊ chĐt lủng v thới gian. Trong
phng phỏp tối u húa n kián, luên vn sỷ dửng quy t-c cêp nhêt mựi Max-min
trn trong nghiờn cựu cừa tỏc giÊ ộ ực ụng v cỏc cởng sỹ [2].
Luên vn trỡnh by vã bi toỏn thuờ xe cú hÔn ngach q-CaRS, sau ú l giợi thiằu
chung vã hai phng phỏp metaheuristic l thuêt giÊi di truyãn v phng phỏp
6


tối u húa n kián giÊi bi toỏn toỏn tối u tờ hủp. Tiáp theo luên vn trỡnh by cử th
vã hai phng phỏp trờn giÊi bi toỏn q-CaRS v chng trỡnh thỹc nghiằm.

Bố cửc cừa luên vn bao gỗm 4 chng:
Chng 1: Bi toỏn thuờ xe cú hÔn ngÔch.
Chng 2: Cỏc phng phỏp metaheuristic.
Chng 3: Thuêt toỏn di truyãn giÊi bi toỏn q-CaRS.
Chng 4: Thuêt toỏn ACO giÊi bi toỏn q-CaRS.
Phử lửc trỡnh by mởt số module c bÊn trong lêp trỡnh thuêt toỏn.
Do thới gian thỹc hiằn luên vn khụng nhiãu, kián thực cũn hÔn chá nờn khi lm luên
vn khụng trỏnh khọi nhỳng hÔn chá v sai sút. Tỏc giÊ mong nhên ủc sỹ gúp ý
v nhỳng ý kián phÊn biằn cừa quý thƯy cụ v bÔn ồc. Xin chõn thnh cÊm n!
H Nởi, ngy .. thỏng .. nm 2018

Hồc viờn

inh Th Thừy


7


Chng 1
Bi toỏn thuờ xe du lch cú hÔn ngÔch
1.1. Quy hoÔch nguyờn
Quy hoÔch nguyờn (Integer Programming) , viát t-t l IP, l bi toỏn quy hoÔch
m trong ú tĐt cÊ hoc mởt phƯn cỏc bián b rng buởc ch lĐy giỏ tr nguyờn.
Trớng hủp thự nhĐt ủc gồi l quy hoÔch nguyờn hon ton (Pure Integer Programming PIP), trớng hủp thự hai ủc gồi l quy hoÔch nguyờn bở phên
(Mixed Integer Programming MIP)

1.1.1. DÔng tờng quỏt cừa bi toỏn
Bi toỏn quy hoÔch nguyờn tờng quỏt ủc biu diạn dợi dÔng:
T

f (x) = c x ! min(max)
vợi cỏc iãu kiằn:
Ax

b

x

0
x

2Z

n


Bi toỏn quy hoÔch nguyờn ủc gồi l hon ton khi tĐt cÊ cỏc bián ãu l số
nguyờn v ủc gồi l bở phên khi mởt số bián khụng phÊi l số nguyờn.
Bi toỏn quy hoÔch nguyờn 0-1 l bi toỏn khi cỏc bián ủc giợi hÔn l 0 hoc 1.

1.1.2. ng dửng cừa bi toỏn
ng dửng cừa bi toỏn ủc phỏt trin dỹa vo cỏc bián th l bi toỏn quy
hoÔch nguyờn hộn hủp v bi toỏn quy hoÔch nguyờn 0-1.
8


Lêp ká hoÔch sÊn xuĐt
Quy hoÔch nguyờn hộn hủp cú nhiãu ựng dửng trong sÊn xuĐt cụng nghiằp, bao
gỗm mụ hỡnh húa viằc lm. Mởt vớ dử quan trồng xÊy ra trong quy hoÔch sÊn xuĐt
nụng nghiằp bao gỗm xỏc nh nng suĐt sÊn xuĐt cho mởt số loÔi cõy trỗng cú
th chia s ti nguyờn (vớ dử nh Đt ai, lao ởng, vốn, hÔt giống, phõn bún ...).
Mởt mửc tiờu cú th l tối a húa tờng sÊn lủng m khụng vủt quỏ cỏc nguỗn
lỹc sđn cú. Trong mởt số trớng hủp, iãu ny cú th ủc biu diạn dợi dÔng mởt
chng trỡnh tuyán tớnh, nhng cỏc bián phÊi ủc hÔn chá l số nguyờn.
Bi toỏn lêp lch
Bi toỏn ny liờn quan án dch vử v lêp lch trỡnh xe trong mÔng lợi vên tÊi. Vớ
dử, bi toỏn liờn quan án viằc ch nh xe buýt hoc tu iằn ngƯm vo cỏc
tuyán ớng riờng cú th ỏp ựng ủc thới gian biu, v cng trang b cho
hồ cỏc trỡnh iãu khin. é õy cỏc bián quyát nh nh phõn cho biát xe buýt hoc
tu iằn ngƯm ủc gỏn cho tuyán ớng v liằu ngới lỏi xe cú ủc ch nh
cho mởt chuyán tu hoc tu iằn ngƯm hay khụng.
MÔng viạn thụng
Mửc tiờu cừa nhỳng bi toỏn ny l thiát ká mởt mÔng lợi cỏc ớng dõy ci t
ỏp ựng cỏc yờu cƯu truyãn thụng ủc xỏc nh trợc v tờng chi phớ cừa mÔng
l tối thiu. iãu ny ũi họi tối u húa cÊ topo cừa mÔng cựng vợi viằc thiát lêp
nng suĐt cừa cỏc ớng khỏc nhau. Trong nhiãu trớng hủp, nng suĐt b hÔn

chá l số nguyờn. Thụng thớng, tựy thuởc vo cụng nghằ ủc sỷ dửng, cỏc hÔn
chá bờ sung cú th ủc mụ hỡnh húa nh l mởt bĐt ng thực tuyán tớnh vợi cỏc
bián số nguyờn hoc nh phõn.
MÔng di ởng
Nhiằm vử quy hoÔch tƯn số trong mÔng di ởng GSM bao gỗm viằc phõn phối cỏc
tƯn số sđn cú trờn cỏc ng ten ngới dựng cú th ủc ỏp ựng v sỹ kát hủp
ủc giÊm thiu giỳa cỏc ng-ten. Bi toỏn ny cú th ủc xõy dỹng nh l mởt
chng trỡnh tuyán tớnh số nguyờn, trong ú cỏc bián nh phõn cho biát tƯn số
ủc gỏn cho mởt ng-ten.

1.1.3. Cỏc phng phỏp tiáp cên giÊi bi toỏn quy hoÔch nguyờn
Sỷ dửng tờng số n modulo
T

Náu bi toỏn cú dÔng max(c x), Ax = b vợi A, b, c ãu nguyờn v A l tờng n
modulo, khi ú tĐt cÊ cỏc phng ỏn ãu l số nguyờn. Do ú, ỏp ỏn trÊ vã bơng
thuêt toỏn n giÊn ủc Êm bÊo l nguyờn. ch ra tĐt cỏc cỏc ỏp ỏn ãu l
nguyờn, t x l mởt lới giÊi cừa bi toỏn. Khi ú Ax = b, x 0 = [xn1 , xn2 , ..., xnj ] l
cỏc phƯn tỷ tng ựng trong cởt cừa x. Theo nh ngha, cú ma trên vuụng con B
cừa A sao cho Bx0 = b.
9


Vỡ cỏc cởt cừa B l ởc lêp tuyán tớnh v B l ma trên vuụng, theo giÊ nh B l
n modulo v det (B ) = 1. Vỡ B l ma trên khụng suy bián, khÊ nghch nờn
x0 = B 1b. Theo nh ngha B 1 =

B

1


=

B

adj

(Badj l ma trên liờn hủp cừa B). Khi ú:

det(B)

adj

B l nguyờn
1
x0 = B b l nguyờn
TĐt cÊ cỏc ỏp ỏn cú th ãu nguyãn
Thuêt toỏn chớnh xỏc
Khi ma trên A khụng hon ton unimodular, cú mởt loÔt cỏc thuêt toỏn cú th ủc
sỷ dửng giÊi bi toỏn quy hoÔch nguyờn chớnh xỏc. Mởt lợp cỏc thuêt toỏn l

cỏc phng phỏp c-t mt phng bơng cỏch giÊi sỹ ly bián cừa bi toỏn quy
hoÔch nguyờn v sau ú thờm cỏc rng buởc tuyán tớnh a ra giÊi phỏp theo
hợng nguyờn m khụng loÔi bọ bĐt k im khÊ thi no.
Mởt lợp cỏc thuêt toỏn khỏc l cỏc bián th cừa nhỏnh cên v phng thực giợi hÔn
biờn. Vớ dử, phng phỏp nhỏnh cên v c-t kát hủp phng phỏp c-t v phng
phỏp nhỏnh cên. Mởt lủi thá l cỏc thuêt toỏn cú th ủc kát thỳc sợm v miạn l
cú ớt nhĐt mởt giÊi phỏp tớch hủp ó ủc tỡm thĐy khÊ thi, mc dự khụng nhĐt
thiát phÊi tối u, giÊi phỏp cú th ủc trÊ lÔi. Hn nỳa, cỏc giÊi phỏp cừa sỹ bi
toỏn quy hoÔch nguyờn ly bián cú th ủc sỷ dửng ợc tớnh trớng hủp xĐu

nhĐt tứ giÊi phỏp tối u ủc trÊ lÔi. Cuối cựng, phng phỏp nhỏnh cên v giợi
hÔn biờn cú th ủc sỷ dửng trÊ vã nhiãu giÊi phỏp tối u.
Lenstra nm 1983 cho thĐy rơng, khi số lủng cỏc bián ủc cố nh, bi toỏn
quy hoÔch nguyờn cú th ủc giÊi quyát trong thới gian a thực.
Phng phỏp Heuristic
Vỡ bi toỏn quy hoach nguyờn l bi toỏn NP, nờn nhiãu trớng hủp khú giÊi quyát
ủc v do ú phng phỏp heuristic phÊi ủc sỷ dửng thay thá. Vớ dử, tỡm kiám
tabu cú th ủc sỷ dửng tỡm kiám lới giÊi cho bi toỏn quy hoÔch nguyờn.
sỷ dửng tỡm kiám tabu giÊi quyát bi toỏn quy hoÔch nguyờn, cỏc chuyn ởng
cú th ủc nh ngha l tng hoc giÊm mởt số bián rng buởc nguyờn, trong
khi tĐt cÊ cỏc bián số nguyờn rng buởc khỏc khụng ời. Cỏc bián khụng b rng
buởc sau ú ủc giÊi. Bở nhợ ng-n hÔn cú th bao gỗm cỏc giÊi phỏp ó ủc
thỷ nghiằm trợc ú trong khi bở nhợ trung hÔn cú th bao gỗm cỏc giỏ tr cho cỏc
bián số nguyờn b rng buởc. Cuối cựng, bở nhợ di hÔn cú th hợng dăn tỡm kiám
theo cỏc giỏ tr số nguyờn m cha tứng ủc thỷ. Mởt số phng phỏp
heuristic khỏc:
Hill climbing
Simulated annealing
Reactive search optimization
Ant colony optimization
10


Hopfield neural networks
Ngoi ra cũn cú mởt loÔt cỏc phng phỏp heuristic khỏc ối vợi cỏc bi toỏn c
biằt, chng hÔn nh phng phỏp k-opt cho bi toỏn ngới cho hng.

1.2. Bi toỏn ngới cho hng(Traveling Salesman Problem - TSP)
Bi toỏn ngới bỏn hng l mởt trong nhỳng bi toỏn in hỡnh cừa tối u tờ
hủp ủc nh ngha trong thá k 19 bi nh toỏn hồc Ireland William Rowan

Hamilton v nh toỏn hồc Anh Thomas Kirkman. Trũ chi Icosa cừa Hamilton l
mởt trũ chi giÊi trớ dỹa trờn viằc tỡm kiám chu trỡnh Hamilton. Bi toỏn ủc phỏt
biu nh sau:
Cú mởt ngới giao hng cƯn i giao hng tÔi n thnh phố(hoc im tiờu thử) C
= fc1, c2, ..., cng ở di ớng i trỹc tiáp tứ ci án cj l dij . Anh ta xuĐt phỏt tứ mởt
thnh phố no ú, i qua cỏc thnh phố khỏc giao hng v tr vã thnh phố ban
Ưu, mội thnh phố ch án mởt lƯn. Hóy tỡm mởt chu trỡnh (mởt ớng i khộp kớn
thọa món iãu kiằn trờn) sao cho tờng ở di cỏc cÔnh l nhọ nhĐt.
Dợi dÔng ỗ th bi toỏn ủc mụ hỡnh húa nh mởt ỗ th vụ hợng cú trồng
số. õy chớnh l bi toỏn tỡm chu trỡnh Hamilton vợi ỗ th Ưy ừ cú trồng số
G = (V, E), vợi V l têp cỏc nh vợi nhón l cỏc thnh phố trong C, E l têp cỏc cÔnh
nối cỏc thnh phố tng ựng, ở di mội cÔnh chớnh l ở di ớng i giỳa hai
thnh phố tng ựng. Trong trớng hủp ny, têp S s l têp cỏc chu trỡnh Hamilton
trờn G, f l ở di cừa chu trỡnh, W l rng buởc ũi họi chu trỡnh l chu trỡnh
Hamilton (qua tĐt cÊ cỏc nh, mội nh ỳng mởt lƯn), C l têp thnh phố

ủc xột, C0 trựng vợi C, têp X l vect ở di n: x = fx1, x2, ..., xng vợixi 2 C 8i n,
cũn X l cỏc vect trong ú xi khỏc xj ối vợi mồi cp (i, j).
Do ú, lới giÊi tối u cừa bi toỏn TSP l mởt hoỏn v p cừa têp nh c1, c2, ..., cn
sao cho hm ở di f (p) l nhọ nhĐt, trong ú f (p) ủc tớnh theo cụng thực sau:
n 1

f(p) = ồ(d(p(i), p(i + 1))) + d(p(n), p(1))
i=1

Trong bi toỏn TSP ối xựng, khoÊng cỏch giỳa hai thnh phố l khụng ời dự
i theo chiãu no. Nh vêy ỗ th trong bi toỏn ny l ỗ th vụ hợng. Viằc ối
xựng ny lm giÊm i mởt nỷa số lới giÊi cú th. Trong khi ú, vợi bi toỏn TSP bĐt
ối xựng thỡ ớng i giỳa hai thnh phố cú th ch mởt chiãu hoc cú ở di khỏc
nhau giỳa mội chiãu, tÔo nờn ỗ th cú hợng. TSP l mởt trong nhỳng bi toỏn

ủc nghiờn cựu sõu nhĐt trong tối u húa. Nú thớng ủc dựng lm thợc o
cho nhiãu phng phỏp tối u húa. Mc dự bi toỏn rĐt khú giÊi trong trớng hủp
11


tờng quỏt, cú nhiãu phng phỏp giÊi chớnh xỏc cng nh heuristic ó ủc tỡm
ra giÊi quyát mởt số trớng hủp cú tợi hng chửc nghỡn thnh phố.
Ngay trong hỡnh thực phỏt biu n giÊn nhĐt, bi toỏn TSP ó cú nhiãu ựng
dửng trong lêp ká hoÔch, hêu cƯn, cng nh thiát ká vi mÔch.
Trong lý thuyát ở phực tÔp tớnh toỏn, phiờn bÊn quyát nh cừa TSP (cho
trợc ở di L, xỏc nh xem cú tỗn tÔi hay khụng mởt chu trỡnh i qua mội nh
ỳng mởt lƯn v cú ở di nhọ hn L) thuởc lợp NP-Ưy ừ. Do ú, cú nhiãu khÊ
nng l thới gian xĐu nhĐt cừa bĐt kỡ thuêt toỏn no cho TSP ãu tng theo cĐp số
nhõn vợi số thnh phố.
TSP cú mởt vi ựng dửng thêm chớ trong dÔng thực nguyờn thu cừa nú nh lêp
ká hoÔch, logistic, v sÊn xuĐt cỏc microchip. Thay ời i chỳt ớt nú xuĐt hiằn nh
mởt bi toỏn con trong rĐt nhiãu lnh vỹc nh viằc phõn tớch gen trong sinh hồc.
Trong nhỳng ựng dửng ny, khỏi niằm thnh phố cú th thay ời thnh khỏch
hng, cỏc im hn trờn bÊng mÔch, cỏc mÊnh DNA trong gen, v khỏi niằm
khoÊng cỏch cú th biu diạn bi thới gian du lch hay giỏ thnh, hay giống nh sỹ
so sỏnh giỳa cỏc mÊnh DNA vợi nhau. Trong nhiãu ựng dửng, cỏc hÔn chá truyãn
thống nh giợi hÔn ti nguyờn hay giợi hÔn thới gian thêm chớ cũn lm cho bi toỏn
tr nờn khú hn.
Trong lý thuyát cừa ở phực tÔp tớnh toỏn, phiờn bÊn quyát nh cừa bi toỏn
TSP thuởc lợp NP-Ưy ừ. Vỡ vêy khụng cú giÊi thuêt hiằu quÊ no cho viằc giÊi bi
toỏn TSP. Hay núi cỏch khỏc, giống nh thới gian chÔy xĐu nhĐt cho bĐt ký giÊi
thuêt no cho bi toỏn TSP tng theo hm m vợi số lủng thnh phố, vỡ vêy thêm
chớ nhiãu trớng hủp vợi vi trm thnh phố cng ó mĐt vi nm CPU giÊi mởt
cỏch chớnh xỏc.
Mởt số cỏch tiáp cên bi toỏn

Thiát ká thuêt toỏn tỡm kiám lới giÊi tối u (thớng hoÔt ởng hiằu quÊ cho
nhỳng trớng hủp nhọ).
Thiát ká thuêt toỏn heuristic tỡm nhỳng lới giÊi tốt nhng khụng nhĐt thiát tối
u.
Thiát ká thuêt toỏn xĐp x tỡm nhỳng lới giÊi khụng quỏ lợn so vợi lới giÊi tối
u..
GiÊi quyát cỏc trớng hủp c biằt.

12


1.3. Bi toỏn thuờ xe du lch cú hÔn ngÔch(q-CaRS)
Bi toỏn thuờ xe du lch cú hÔn ngÔch ủc ã xuĐt bi Elizabeth F.G. Goldbarg
v cỏc cởng sỹ[22]. õy l bi toỏn m rởng cừa bi toỏn ngới bỏn hng cú hÔn
ngÔch v bi toỏn thuờ xe du lch ủc ựng dửng trong viằc chồn tour du lch.

1.3.1. Bi toỏn ngới bỏn hng cú hÔn ngÔch(QTSP)
Bi toỏn ủc giợi thiằu trong[21]. Dợi dÔng ỗ th õy l bi toỏn cú ỗ th
cú hợng v cú trồng số. Ta cú G = fV, Ag l mởt ỗ th Ưy ừ, vợi V = f v1, v2, ...,
vng l têp cỏc nh v A = f(vi, vj), vi, vj 2 Vg. Mội nh vi 2 V ãu cú mởt rng buởc
l mực ở hi lũng, tÔi mội cÔnh (vi, vj) 2 A cú mởt trồng số cij l chi phớ thuờ xe. Lới
0

giÊi cừa bi toỏn chớnh l tỡm chu trỡnh Hamilton tứ têp con V cừa V vợi chi phớ thĐp
nhĐt. Bi toỏn thuờ xe du lch cú hÔn ngÔch ủc m rởng tứ bi toỏn QTSP.

1.3.2. Cỏc bi toỏn liờn quan
HƯu hát cỏc nghiờn cựu trợc õy cừa vĐn ã du lch l dỹa trờn cỏc bián th
cừa vĐn ã [23] v chỳng khụng xem xột án cỏc chi phớ vên chuyn. Hồ xem xột
án thới gian di chuyn thnh cụng giỳa cỏc im v giỏ tr tối a cừa tờng cỏc lủi

ớch liờn kát vợi mội im. Mởt số bi bỏi cú xem xột án thới gian cƯn thiát án
thm cỏc im du lch hĐp dăn. Cho mởt têp hủp cỏc im tng ựng vợi cỏc nh
cừa 1 ỗ th, mội nh cú mởt im số tng ựng Ôi diằn cho mực ở hi lũng
cừa im án. Trồng số tng ựng vợi mội cÔnh (v i, vj) 2 A biu th cho thới gian
cƯn thiát di chuyn giỳa v i v vj. Mửc tiờu cừa bi toỏn l tỡm ủc giỏ tr lợn
nhĐt cừa tờng số im cho nhỳng im du lch ó chồn trong mởt khoÊng thới
gian giợi hÔn nhĐt nh. Mởt cuởc khÊo sỏt heuristic v metaheuristic tiáp cên
TTDP ủc giợi thiằu trong [15]. Mởt cụng cử hợng dăn du lch ởng Goerlitz
(ực) ủc giợi thiằu trong [24, 26] bơng cỏch dựng thuêt toỏn tham lam giÊi
quyát cỏc vĐn ã tối u. Mởt bián th cừa bi toỏn nh hợng ó ủc dựng trong
cỏc bi toỏn thỹc tá trong [39], trong ú mội nh cú mởt giỏ tr trồng số tng
ựng vợi thới gian cƯn thiát di chuyn tợi mội v trớ.
im số tng ựng vợi mội v trớ ủc tớnh toỏn bơng thụng tin thu ủc tứ k
thuêt tỡm kiám thụng tin v tỡm kiám a phng s ủc ỏp dửng cho bi toỏn.
Mởt hằ thống thỹc tá ủc hon thnh ó ủc giợi thiằu cho thnh phố Ghent.
Bi bỏo ny ủc ká thứa tứ [38] bơng cỏch xem xột án thới tiát, giớ m cỷa, a
im ụng dõn v s thớch cỏ nhõn.
Vã c bÊn, mụ hỡnh c s cừa nghiờn cựu ny giống vợi bi toỏn nh hợng,
13


tuy nhiờn nú khỏc im l cho mởt số lủng a ch cú th di chuyn án nhng
b giợi hÔn bi mởt thới gian nhĐt nh. Thuêt toỏn tỡm kiám ngău nhiờn tham lam
(GRASP) vợi phng phỏp nối liãn (relinking) ó ủc ỏp dửng giÊi quyát bi
toỏn tối u. Phiờn bÊn vợi 2 tham số cừa vĐn ã ny ủc ã cêp trong [39] v
cng ủc nghiờn cựu trong[34], cú 2 giỏ tr lủi ớch khỏc nhau ủc gỏn vợi mội
thnh phố. Thuêt toỏn n kián v thuêt toỏn khu phờ bián(variable neighborhood
) vợi phng nối liãn (path relinking) ó ủc ỏp dửng cho nhiãu trớng hủp vợi mởt
v 2 tham số. Ngoi ra, cú th ỏnh giỏ cỏc trớng hủp, cỏc thuêt toỏn ó ủc
ỏp dửng cho nhỳng trớng hủp thỹc tá vợi dỳ liằu tứ c v thnh phố Padua (Italy).

Trong [??], GRASP ó ủc dựng phỏt trin hằ thống chuyờn gia du lch gồi l
City Trip Planner. Nm thnh phố Belgium ó ủc chồn kim thỷ. Mởt phƯn m
rởng cừa vĐn ã ú l xem xột án cỏc phng tiằn i lÔi cụng cởng ủc giợi thiằu
trong [14] v thnh phố San Sebastian ó ủc chồn kim thỷ. VĐn ã ó ủc
mụ hỡnh húa thnh bi toỏn nh hợng phử thuởc thới gian vợi cỏc cỷa sờ thới gian v
ó ủc giÊi quyát bơng thuêt toỏn tỡm kiám a phủng[42] . HƯu hát cỏc nghiờn cựu
trợc õy ãu b giợi hÔn khu vỹc, vớ dử nh 1 thnh phố hoc cỏc a im lõn cên.
Tuy nhiờn, trong mởt số trớng hủp, khỏch du lch hoc ngới bỏn hng cú th di
chuyn qua nhiãu thnh phố khỏc nhau bơng cỏch thuờ xe [20] v mửc tiờu cừa vĐn
ã cú th l viằc tối u chi phớ cừa tour, bao gỗm số tiãn bọ ra thuờ xe. Cú nhiãu
phng tiằn v cụng ty trong mội thnh phố, phÔm vi cừa cỏc tựy chồn cú th l
ngới dựng chồn phng tiằn tốt nhĐt sỷ dửng khi di chuyn trong tour. Núi chung,
mởt tour s b-t Ưu v kát thửc tÔi mởt thnh phố. chồn ủc xe no l tốt nhĐt cho
mội phƯn cừa tour, khỏch hng nờn xem xột án giỏ tiãn thuờ xe, cỏc chớ phớ liờn quan
án nhiờn liằu tiờu thử v cỏc chi phớ khỏc (vớ dử nh phớ cƯu ớng). Náu mởt chiác xe
ủc thuờ mởt thnh phố v ủc trÊ lÔi mởt thnh phố khỏc, khỏch hng s phÊi
trÊ thờm lằ phớ a chiác xe tr lÔi thnh phố ban Ưu. Trong mởt cụng ty, cỏc xe
cho thuờ ủc quÊn lý theo cĐu trỳc phõn cĐp n giÊn vợi cỏc khu vỹc chung [ 11].
Theo [11], nhỳng cụng ty ny s quÊn lý khoÊng 15 nhúm xe, mội nhúm gỗm nhỳng
xe cú chĐt lủng giống nhau v nhỳng nhúm khỏc nhau s cú chĐt lủng v giỏ tiãn
thuờ xe khỏc nhau. Mởt nghiờn cựu vã vĐn ã nh tuyán trong lnh vỹc thuờ xe
ủc giợi thiằu trong [45]. Mởt vĐn ã chớnh khỏc l sỹ phõn phố xe tÔi mội trÔm cho
thuờ, vỡ khỏch hng ủc phộp thuờ tÔi mởt trÔm v trÊ lÔi xe tÔi mởt trÔm khỏc. Do
ú, cƯn thiát duy trỡ số lủng cố nh xe tÔi mội trÔm vỡ phng tiằn ủc thuờ
phÊi ủc trÊ lÔi. Nhỳng hằ thống cho thuờ xe v trÊ lÔi cú th xÊy ra tÔi nhỳng trÔm
khỏc nhau v ủc sỷ dửng nhiãu a im khỏc nhau[16]. Cú nhỳng cỏch giÊm
t lằ số xe ủc trÊ lÔi mởt trÔm khỏc ú l cung cĐp nhỳng u ói cho khỏch
hng.

14



Nhỳng trÔm cú t lằ sỷ dửng cao cú th ủc khuyán khớch giÊm i lủi nhuên mởt
chỳt khỏch hng trÊ xe tÔi nhỳng trÔm cú t lằ sỷ dửng thĐp hn

1.3.3. Bi toỏn thuờ xe du lch cú hÔn ngÔch(q-CaRS)
Bi toỏn xuĐt phỏt tứ nhỳng nhu cƯu thỹc tiạn cừa ngới du lch. Khi ngới du
lch i tham quan mởt khu vỹc, hồ thớng t ra cỏc mửc tiờu vã sỹ hĐp dăn cừa
a im. Tuy nhiờn vỡ mởt số lý do ti chớnh v thới gian hồ khụng th tham quan
ủc tĐt cÊ. Do ú mửc tiờu t ra l thọa món vã mực ở hi lũng ỗng thới chi
phớ tiát kiằm nhĐt. Bi toỏn ủc t ra trong nghiờn cựu ny khụng ã cêp án thới
gian di chuyn m têp trung vo mực ở hĐp dăn cừa nhỳng a im tham quan
v chi phớ di chuyn. Yờu cƯu ủc t ra l khỏch tham quan cú th thuờ xe di
chuyn giỳa cỏc thnh phố. Mực giỏ thuờ xe mội thnh phố l khỏc nhau. Khi
khỏch hng trÊ xe lÔi tÔi mởt thnh phố khụng phÊi l ni thuờ xe thỡ mĐt thờm
chi phớ trÊ xe xe ú di chuyãn vã ni ban Ưu. Cỏc vĐn ã liờn quan án bi toỏn
ny ó ủc ựng dửng rĐt nhiãu trong thỹc tá[14].
Bi toỏn cú mởt số rng buởc sau:
-Mởt chiác xe khụng th b thuờ nhiãu hn 1 lƯn.
-Mởt rng buởc ủc gỏn vợi mội thnh phố ủc gồi l mực ở hĐp dăn.
-Tour du lch b-t u v kát thỳc trong thnh phố vợi ni Ưu tiờn b-t Ưu, cũn
gồi l c s.
Mụ hỡnh toỏn hồc cừa bi toỏn:
õy l mởt bi toỏn bián th cừa bi toỏn
TSP Input:
-C: têp cỏc xe cho thuờ
-V: têp cỏc cỏc thnh phố
-A: têp cỏc cÔnh (ớng i nối giỳa hai thnh phố))
- Mởt rng buởc qi, i = 1, ..., n, ủc gỏn vợi thnh phố i 2 V v w l tờng rng
buởc tối thiu cƯn thiát thu ủc trong suốt tour du lch.

-Giỏ thuờ c 2 C trờn canh (i, j) 2 A l dij

c

c

-Số tiãn bờ sung gij phÊi ủc trÊ náu c ủc thuờ tÔi thnh phố j v di chuyn
án thnh phố i vợi i 6= j, giỏ tr ny tng ựng vợi thuá phÊi trÊ chuyn c vã j
Cỏc bián số:
c

- fij cú giỏ tr 1 khi xe c di chuyn trờn cÔnh (i, j) tứ i tợi j v cú giỏ tr 0 trong
nhỳng trớng hủp khỏc.
c

-w cú giỏ tr 1 khi xe c ủc thuờ j v ủc chuyn tợi i.
ij

c

-ei cú giỏ tr 1 khi xe c ủc chuyn tợi i.
15


- Giỏ tr nguyờn ui nh ngha v trớ cừa nh i trong tour. nh 1 gồi l
thnh phố c s.
Cỏc rng buởc:
-Tour b-t Ưu v kát thỳc tÔi thnh phố 1

ồ ồ f1cj


=ồ

c2C j2V

(1.3.1)

ồ f1cj = 1

c2C i2V

-Mội nh ch ủc án thm mởt lƯn duy nhĐt v náu mởt chiác xe án nh i
thỡ sau ú phÊi cú 1 chiác xe khỏc rới khọi nh i.
sumc2C ồ fih

c

=ồ

i2V

c

ồ fhjc

(1.3.2)

18h 2 V

c2C j2V


c

-Cỏc cp bián ai v fij biu diạn rơng náu xe c ủc thuờ thnh phố i, (i 6= j)
thỡ xe c s ủc sỷ dửng di chuyn tứ i án thnh phố j v s cú xe c 0 i án
thnh phố i tứ thnh phố h.
! 0 ồ ồ fhic0 8c 2 C, i 2 V, i > 1 1

aic =

ồ fijc

j2V

(1.3.3)

@

0

A

0

c 2C,c 6=C h2V
c

c

-Tng tỹ iãu kiằn [1.3.3], cỏc bián ei v fij


eic =
c

1
(1.3.4)

j2V

- Cỏc cp bián w

ồ ồ fihc0 8c 2 C, i 2 V, i > 1

!0

ồ fijc

@

0

0

c 2C,c 6=C h2V

c

A

c


,a ,e .
ij

i

i

c

c

c

omegaij = a j.ei 8c 2 C, 8i, j 2 V

(1.3.5)

-Cú 1 xe thuờ nh 1

ồ a1c = 1

(1.3.6)

c2C

-Mội xe ch ủc thuờ mởt lƯn

ồ a1c


18c 2 C

(1.3.7)

i2V

-Náu xe c ủc thuờ thỡ sau ú nú s ủc trÊ lÔi.

ồ a 1c
i2V

c

= ồ e1 8c 2 C
i2V

16

(1.3.8)


-Ph£i đ£m b£o đưñc mùc đë hài lòng.

!

å

!

å å fijc qi w


i2V

(1.3.9)

c2C j2V

-Không có các tour du làch con
2 ui

n8i = 2, ..., n

ui uj + 1 (n 1)(1

å fic j)8i, j = 2, ..., n

(1.3.10)
(1.3.11)

c2C

-Các bi¸n đ·u là nhà phân và bi¸n ui là sè nguyên dương.
c c c c
f , w , a , e 2 [0, 1]
ij

ij

ij


ij

ui 2 N

(1.3.12)
(1.3.13)

Hàm möc tiêu
Chi phí cho chuy¸n đi đ£m b£o là th§p nh§t
min å

å dijc. fijc + å å gijc.wijc

c2C j2V

c2C j2V

17

(1.3.14)


Chng 2
Cỏc phng phỏp metaheuristic
2.1. Thuêt giÊi di truyãn
Thuêt toỏn di truyãn (Genetic Algorithm viát t-t l GA ), l phng phỏp metaheuistic ang ủc sỷ dửng rởng rói. Phng phỏp ny phọng theo quỏ trỡnh tián
hoỏ tỹ thớch nghi cừa cỏc quƯn th sinh hồc dỹa trờn hồc thuyát Darwin tỡm lới
giÊi cỏc bi toỏn tối u.
Trong tỹ nhiờn, mội cỏ th cú mởt têp cỏc tớnh chĐt v c im riờng biằt ủc
th hiằn ra ngoi mụi trớng gồi l kiu hỡnh. Kiu hỡnh ny ủc quyát nh bi

cĐu trỳc cừa cỏc gene trong c th, ủc gồi l kiu gene. Sỹ a dÔng vã kiu
gene cừa cỏc cỏ th dăn án sỹ a dÔng vã kiu hỡnh cừa mởt quƯn th sinh hồc.
Quỏ trớnh phỏt trin cừa mội quƯn th tuõn theo quy luêt chồn lồc tỹ nhiờn m tián
hoỏ qua cỏc thá hằ ká tiáp nhau. Trong ú, cỏc hêu duằ ủc sinh ra tứ thá hằ
trợc thụng qua quỏ trỡnh sinh sÊn (di truyãn v bián d) cÔnh tranh tỹ nhiờn, cỏ
th no cú kiu hỡnh (v do ú l kiu gene) thớch nghi cao hn vợi mụi trớng phỏt
trin thỡ s cú khÊ nng lợn hn trong tỗn tÔi v sÊn sinh con chỏu, do ú kiu
gene ny tián hoỏ v hon thiằn. Quỏ trỡnh tián hoỏ ny ủc lp i lp lÔi, cỏc cỏ
th cú kiu gene phự hủp s sống sút v phỏt trin, cỏc cỏ th yáu s b loÔi bọ.
Dỹa vo t tng trờn, giÊi bi toỏn tối u ngới ta mó hoỏ mội lới giÊi tiãm
nng dợi dÔng thớch hủp gồi l mởt nhiạm s-c th. Mội nhiạm s-t th (cũn gồi l cỏ
th) cĐu tÔo tứ cỏc gene,thớng dựng nhĐt l dÔng xõu. Trờn têp nhiạm s-c th ny,
ngới ta xõy dỹng cỏc toỏn tứ di truyãn (tng giao chộo: crosover, bián d:
mutation) v mụ phọng quỏ trỡnh chồn lồc tỹ nhiờn trờn mởt quƯn th nhiạm s-c th
tỡm lới giÊi gƯn ỳng cừa bi toỏn. hiu rừ GA. , trợc hát ta lm quen vợi GA.
cờ in dựng cho bi toỏn tối u liờn tửc.

18


2.1.1. Thuêt toỏn di truyãn cờ in
GA cờ in ủc Holland (1975) giợi thiằu tối u hoỏ bi toỏn:
(2.1.1)

n

maxf f (x)/x 2 M R g
nhớ biu diạn gene dÔng nh phõn, õy M l hỡnh hởp
n


Fn

i =1[ai, bi] trong khụng

gian vộc t thỹc n chiãu R , f nhên cỏc giỏ tr dng trờn M.
thỹc hiằn thừ tửc GA, trợc hát cƯn mó húa cỏc phƯn tỷ cừa têp M. Mội
x trong M ủc mó hoỏ bi mởt xõu nh phõn ở di m z = (z1, z2, ..., zm) gồi l
nhiạm s-c th hay mởt cỏ th, mội zi ủc gồi l mởt gene.
Phng phỏp mó hoỏ v giÊi mó
Mó húa
GiÊ sỷ ta cƯn tỡm cỹc Ôi hm f vợi sai số mội bián x i l 10

p

. Ta chia mội oÔn

p

[ai, bi] thnh (bi ai)10 oÔn bơng nhau v ký hiằu mi l số tỹ nhiờn nhọ nhĐt thoÊ
món:
p

(bi ai)10 6 2

m

1

i


Khi ú náu x = (x1, ..., xi, ..., xn) v xi thuởc oÔn thự k thỡ x i ủc mó hoỏ bi xõu
nh phõn ở di mi cú dÔng sao cho s thoó món yờu cƯu vã ở chớnh xỏc v x
ủc biạu diạn bi xõu nh phõn cú ở di .
GiÊi mó
Vợi mội oÔn gene (bmi 1, ..., b0) ta xỏc nh ki theo hằ số 10 :
m

1

j

ki = ồ j=i0 (bj2 )10
v cú x i = a i + k (bmi ai)
i

2 i 1

mi 1
Hay l xi = ai + ồj=0

j

(bi ai)

(bj2 ) 10 2 mi 1

.

Mụ tÊ lủc ỗ GA
Vợi phng phỏp mó húa v giÊi mó nh trờn, thỹc hiằn GA, ta dỹng thừ

tửc mó hoỏ , giÊi mó tng ựng.
Tiáp theo, xõy dỹng thừ tửc tớnh hm eval trờn têp nhiạm s-c th ỏnh giỏ ở
thớch nghi cừa mội cỏ th: eval(z) = f (x), trong úx l vộc t tng ựng vợi z. Sau
khi ó cú cỏc thừ tửc mó húa-giÊi mó v tớnh hm eval cho cỏc nhiạm s-c th, thừ
tửc GA kh tÔo ngău nhiờn quƯn th ban Ưu P(0) gỗm N nhiạm s-c th v thỹc hiằn
lp quỏ trỡnh tián hoỏ quƯn th ny cho án khi dứng nhớ cỏc thỷ tửc
19


chồn lồc v tỏi tÔo bơng cỏc toỏn tỷ di truyãn (bián d v tng giỏo chộo). Nh
cỏc thuêt toỏn metaheuristic khỏc, chĐt lủc cừa GA ủc quyát nh nhớ hai c
tớnh nh hợng quỏ trỡnh tián húa: tớnh tng cớng v khỏm phỏ/a dÔng. Tớnh
tng cớng thỹc hiằn nhớ u tiờn chồn lồc cỏc cỏc th cú giỏ hm ỏnh giỏ (eval)
cỏo trong quƯn th hiằn thới cho tÔo sinh quƯn th ká tiáp. Tớnh khỏm phỏ/a dÔng
nhơm tÔo sinh ra cỏc lới giÊi tiãm nng mợi nhớ cỏc toỏn tỷ tỏi tÔo: di truyãn v bián
d. CĐu trỳc cừa thừ tửc GA ủc mụ tÊ trong hỡnh 2.1

Hỡnh 2.1: CĐu trỳc tờng quỏt cừa thuêt toỏn di truyãn
Thừ tửc chồn lồc mởt quƯn th thỹc hiằn theo phng phỏp bỏnh xe xờ số
mửc I.1.3 cũn thừ tửc tỏi tÔo ỹc thỹc hiằn nhớ cỏc toỏn tỷ di truyãn trong mửc
I.1.4 dợi õy
Thừ tửc chồn lồc
Vợi mội quƯn th P(t 1) gỗm N nhiạm s-c th : P(t 1) = fv 1, .., vN g ta xõy dỹng
bỏnh xe xờ số (roulette wheel) thỹc hiằn quỏ trỡnh chồn lồc nh sau.
Bỏnh xe xờ số
N

ỏnh giỏ ở phự hủp ton phƯn : F = ồi =1 eval(vi).
Tớnh cỏc xỏc suĐt chồn pi cừa nhiạm s-c th vi : pi = eval(vi)/F.
i


Tớnh xỏc suĐt tớch lu qi cừa vi: qi = ồ j=1 pj.

20


Quỏ trỡnh chồn lồc
Quỏ trỡnh chồn lồc quƯn th Q(t) tứ P(t 1) dỹa vo bỏnh xe xờ số ủc thỹc
hiằn theo cỏch sau:
ối vợi mội số tỹ nhiờn k 2 f1, 2, ..., Ng ta tÔo mởt số ngău nhiờn r k in[0, 1].
Náu qi rk qi 1 thỡ chồn vi thuởc Q(t). Hin nhiờn, õy mội nhiạm s-c th cú th
ủc chồn nhiãu lƯn v Q(t) văn ủc xem l cú N phƯn tỷ. Cỏc cỏ th cú ở thớch
nghi (eval) lợn s cú khÊ nng ủc chồn nhiãu hn.
Quỏ trỡnh tỏi tÔo
Quỏ trỡnh tỏi tÔo dỹa trờn cỏc toỏn tỷ di truyãn : tng giao chộo v bián
d Toỏn tỷ tng giao chộo (Crossover operator)
Vợi 2 nhiạm s-c th x = (x1 k ...xm) v y = (y1...ym) tu ý, chồn im tng giao
(cú th ngău nhiờn) ta s sinh ủc hai nhiạm s-c th mợi:
0

x = (x1, ...xk, yk+1...ym)

Toỏn tỷ bián d (Mutation operator)
Náu gene xk cừa nhiạm s-c th x = (x 1...xm) bián d thỡ ta ủc nhiạm s-c th
mợi x0 cú:
x 0 = 8 x x i 6= k
i

i


<1

i

i=k

:
Thừ tửc tỏi tÔo.
Cho trợc cỏc xỏc suĐt tng giao chộo p c v xỏc suĐt bián d pm. Quỏ trỡnh
tỏi tÔo ủc thỹc hiằn nh sau.
ối vợi mội nhiạm s-c th v i ( i chÔy tứ 1 án N) thuởc Q(t), ta tÔo mởt số ngău
nhiờn r 2 [0, 1]. Náu r < p c thỡ vi ủc a vo têp tng giao chộo. Têp ny ủc
chia thnh cp , náu l thỡ cú th thờm hoc bợt ngău nhiờn mởt nhiạm s-c th khỏc
v ỏp dửng toỏn tỷ tng giao chộo tÔo nờn hêu duằ mợi thay thá cho nú.
Sau khi tng giao chộo, ối vợi mội gene cừa mội nhiạm s-c th ta tÔo mởt số
ngău nhiờn r 2 [0, 1]. Náu r < pm thỡ gene ny ủc bián d.
Quỏ trỡnh trờn cho ta quƯn th P(t) cừa thá hằ t v ủc ỏnh giỏ chồn phƯn tỷ
cú giỏ tr thớch nghi tốt nhĐt.
iãu kiằn kát thỳc cú th l số lƯn lp nh trợc v lới giÊi cú th l cỏc th tốt
21


nhĐt lƯn lp cuối hoc cừa mồi lƯn lp. quƯn th cú tớnh ờn nh, Êm bÊo tớnh
tng cớng, xỏc suĐt pm thớng ủc chồn ừ bộ khụng qua s nhiãu cỏc th b
bián d v mội cỏ th cng khụng b bián d nhiãu gene khi chuyn sang thá hằ ká
tiáp.
Sỹ hởi tử cừa GA
Cỏc kát quÊ nghiờn cựu , ỏnh giỏ vã sỹ hởi tử cừa GA cũn rĐt nghốo nn, chi
mợi mực chựng minh sỹ hởi tử theo xỏc suĐt tợi lới giÊi tối u cừa bi toỏn. Tuy
nhiờn, vã mt thỹc hnh, giÊi thuêt di truyãn văn l mởt giÊi thuêt ủc a thớch

giÊi cỏc bi toỏn khú trong thỹc tá v cho lới giÊi ừ tốt. c biằt GA. tọ ra rĐt hiằu
quÊ ối vợi cỏc bi toỏn m hm mửc tiờu phực tÔp, cú nhiãu cỹc tr a phng
v khụng trn. ối vợi cỏc bi toỏn ó cú phng phỏp giÊi tốt bơng phng
phỏp truyãn thống thỡ GA văn kộm hiờử quÊ hn.
Vớ dử.
minh hoÔ, ta xột bi toỏn cỹc Ôi hm hai bián :
f (x1, x2) = 10 + x1sinx1 + x2sinx2
trờn miãn 1 x11 3; 3 x2 5 vợi sai số
2

cỏc bián l 10 .
Biu diạn nhiạm s-c th.

Vỡ a1 b1 = 3 ( 1) = 4, 4x100 = 400 v 28 < 400 < 29 nờn cƯn 9 gene biu diạn x1.
Tng tỹ, ta cƯn 8 gene biạu diạn x2 v m = 17. Khi tÔo. GiÊ sỷ ta khi tÔo
ngău nhiờn 10 cỏ th ủc :
v1=(10011010000000111) tng ựng vợi x1=1,41 ; x2=3,15 ; eval(v1)=12,68 ;
v2=(11100010010011011) tng ựng vợi x1=2,54 ; x2=4,22 ; eval(v2)=14,78 ;
v3=(00001000001100100) tng ựng vợi x1=-0,87; x2=3,78 ; eval(v3)=10,94 ;
v4=(10001100010110100) tng ựng vợi x1=1,19 ; x2=4,41 ; eval(v4)=10,81 ;
v5=(00011101100101001) tng ựng vợi x1=-0,54 ; x2=3,32 ; eval(v5)=7,67 ;
v6=(00010100001001011) tng ựng vợi x1=-0,69 ; x2=3,58 ; eval(v6)=7,53 ;
v7=(00100010000011010) tng ựng vợi x1=-0,47 ; x2=3,20 ; eval(v7)=9,23 ;
v8=(10000110000111010) tng ựng vợi x1=1,01 ; x2=3,45 ; eval(v8)=7,52;
22


v9=(01000000011010001) tng ựng vợi x1=0,00 ; x2=4,64 ; eval(v9)=5,67 ;
v10=(00010100001001010) tng ựng vợi x1=0,88 ; x2=3,19 ; eval(v10)=9,94 .
Cỏ th tốt nhĐt : v2=(11100010010011011) , eval(v2)=14,78 ; ở phự hủp ton

phƯn F=96,77.
Chồn lồc.
Náu cỏc ri tng ựng l :
r1=0,52 ; r2=0,17 ;
r3=0,70 ; r4=0,01 ;
r5=0,78 ; r6=0,31 ;
r7=0,42 ; r8=0,28 ;
r9=0,64 ; r10=0,95
thỡ kát quÊ chồn lồc ủc Q(1) nh sau.
STT
1.
2.
3.
4.
5.
6.
7.
8.
9.
10

pi
0,13
0,15
0,11
0,11
0,08
0,08
0,10
0,08

0,06
0,10

qi
0,13
0,28
0,40
0,51
0,59
0,67
0,76
0,84
0,90
1,00

Số ngău nhiờn

Cỏ th ủc chồn

0,52
0,17
0,70
0,78
0,42
0,31
0,42
0,28
0,64
0,95


v5=(00011101100101001)
v2=(11100010010011011)
v6=(00010100001001010)
v8=(10000110000111010)
v4=(10001100010110100)
v4=(00001000001100100)
v4 =(10001100010110100)
v2 =(11100010010011011)
v =(00010100001001011)
6
v
10 =(00010100001001010)

ỏnh số lÔi
u

1

u2
u3
u4
u5
u6
u

7

u8
u


u

9

10

Tng giao chộo. Vợi pc=0,25 ta chồn ủc cp tng giao
chộo l u3= (00010100001001010)
u5= (10001100010110100) vợi im trao ời k=5.
Sau khi tng giao ta ủc
0

u3= (00010100010110100)
0

u5= (10001100001001010)

Vợi xỏc suĐt ởt bián l pm=0,01 ; cỏc gene ỏnh số tứ 1 án 170 ta chồn ủc
gene thự 81 (gene thự 13 cừa cỏ th thự 5) v gene thự 127 (gene thự 8 cừa cỏ
th thự 8) Ta ủc P(1) l :

23


×