Tải bản đầy đủ (.pdf) (13 trang)

Giải bài toán tìm đường đi ngắn nhất bằng thuật toán song song meta heuristic

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 (161.07 KB, 13 trang )

-1-

-2-

B GIÁO D C VÀ ĐÀO T O
Đ I H C ĐÀ N NG

Cơng trình đư c hồn thành t i
Đ I H C ĐÀ N NG

LÊ NG C QUANG

Ngư i hư ng d n khoa h c: PGS.TSKH. Tr n Qu c Chi n

GI I BÀI TỐN TÌM ĐƯ NG ĐI NG N NH T
B NG THU T TOÁN SONG SONG

Ph n bi n 1:
PGS.TS. Võ Trung Hùng

META-HEURISTIC
Ph n bi n 2:
TS. Hoàng Th Lan Giao
Chuyên ngành: Khoa h c máy tính
Mã s :
60.48.01

Lu n văn s đư c b o v t i H i ñ ng ch m Lu n văn
t t nghi p Th c sĩ k thu t h p t i Đ i h c Đà N ng vào
ngày 04 tháng 03 năm 2012.


TÓM T T LU N VĂN TH C SĨ K THU T

* Có th tìm hi u lu n văn t i:
- Trung tâm Thông tin - H c li u, Đ i h c Đà N ng
Đà N ng - Năm 2012

- Trung tâm H c li u, Đ i h c Đà N ng.


-3M

Đ U

-43. Đ i tư ng và ph m vi nghiên c u
Đ i tư ng nghiên c u

1. Lý do ch n đ tài
Bài tốn t i ưu t h p là d ng bài tốn có đ ph c t p tính

- Nghiên c u các gi i thu t ki n
- Mơ hình tính tốn song song Message Passing Interface

tốn cao thu c l p NP khó. S ra ñ i c a gi i thu t Meta-Heuristic

- Thu t tốn ki n song song

đã gi i quy t các bài toán v i hi u qu cao cho k t qu l i gi i g n

Ph m vi nghiên c u


t i ưu như h gi i thu t ki n (Ant Algorithm), gi i thu t luy n thép

- T p trung nghiên c u thu t toán song song áp d ng vào gi i

SA (Simulated Annealing), gi i thu t di truy n GA (Genetic
Algorithm).
V i đ ph c t p tính toán cao c a các bài toán t i ưu t h p
cũng như địi h i v m t th i gian, vi c gi i các bài toán này v i tính

thu t ki n.
- Vi c th nghi m đ i v i bài tốn ngư i du l ch - Travelling
Salesman problem (TSP) ñư c s d ng là thư vi n chu n TSPLIB
4. Phương pháp nghiên c u

ch t tu n t c a gi i thu t s g p ph i nh ng v n ñ v th i gian th c

Phương pháp tài li u:

hi n chương trình, t c đ x lý, kh năng lưu tr c a b nh , x lý

Nghiên c u lý thuy t v thu t tốn ki n, các v n đ song

d li u v i quy mơ l n... Kích thư c bài tốn tăng lên và khơng gian

song hóa. Trên cơ s lý thuy t nghiên c u ñư c s v n d ng k t qu

tìm ki m càng l n yêu c u c n ph i song song hóa các gi i thu t đ

tìm ki m t i ưu c a thu t ki n song song vào bài toán ngư i du l ch.


tăng t c ñ và hi u qu c a gi i thu t.
M c đích c a đ tài là gi i quy t bài tốn tìm đư ng đi ng n

Phương pháp th c nghi m
Xây d ng chương trình và ñánh giá k t qu th nghi m v i

nh t b ng thu t toán ki n song song nh m phát huy s c m nh c a bài

các mơ hình song song.

tốn. Trên cơ s đó s ñưa ra k t qu ñánh giá hi u qu c a thu t toán

5. Ý nghĩa khoa h c và th c ti n c a ñ tài

ki n trên các mơ hình song song.
2. M c đích nghiên c u
Các m c tiêu c th g m:
- Nghiên c u v gi i thu t Meta-Heuristic ñ c bi t là h các
gi i thu t ki n
- Nghiên c u v các v n ñ song song hóa và gi i thu t đàn
ki n song song.
- Áp d ng gi i thu t ki n song song vào bài tốn tìm đư ng
đi ng n nh t.

Nghiên c u và gi i thi u thu t tốn đàn ki n và thu t tốn
đàn ki n song song trong vi c gi i bài toán tìm đư ng đi ng n nh t và
ng d ng thu t toán vào bài toán ngư i du l ch.
6. C u trúc lu n văn
N i dung chính c a lu n văn này đư c chia thành ba chương
v i n i dung như sau:

Chương 1 – Cơ s lý thuy t: N i dung chính là tìm hi u,
nghiên c u lý thuy t liên quan ñ n v n ñ nghiên c u v lý thuy t ñ
th , các v n ñ l p trình song song, thu t tốn đàn ki n .


-5-

-6-

Chương 2 – Thu t toán ki n song song: T thu t tốn t i

CHƯƠNG 1

ưu đàn ki n tu n t th c hi n chuy n sang thu t tốn t i ưu đàn ki n

CƠ S

LÝ THUY T

song song trên mơ hình truy n thơng đi p.
Chương 3 – Phân tích, xây d ng và cài ñ t chương trình:

1.1. CÁC KHÁI NI M CƠ B N V Đ

Phân tích ch c năng và xây d ng chương trình ng d ng vào bài tốn

1.1.1. Đ nh nghĩa ñ th

ngư i du l ch ñ ng th i ti n hành ch y th nghi m, đánh giá k t qu .


TH

1.1.2. Tính liên thơng c a ñ th
1.1.3. Đ th Euler và ñ th Hamilton
Đ nh nghĩa 1.13. Chu trình (tương ng đư ng đi) ñơn ch a
t t c các c nh (ho c cung) và các đ nh c a đ th (vơ hư ng ho c có
hư ng) G đư c g i là chu trình (tương ng đư ng đi) Euler. M t đ
th liên thơng (liên thơng y u đ i v i đ th có hư ng) có ch a m t
chu trình (tương ng đư ng đi) Euler ñư c g i là ñ th Euler (tương
ng n a Euler).
Đ nh nghĩa 1.14. Chu trình (tương ng đư ng ñi) sơ c p
ch a t t c các ñ nh c a ñ th (vô hư ng ho c có hư ng) G đư c g i
là chu trình (tương ng đư ng đi) Hamilton. M t đ th có ch a m t
chu trình (tương ng đư ng ñi) Hamilton ñư c g i là ñ th Hamilton
(tương ng n a Hamilton).
1.1.4. Bi u di n ñ th trên máy tính
1.1.4.1. Ma tr n k , ma tr n tr ng s
1.1.4.2. Danh sách c nh (cung)
1.1.4.3. Danh sách k
1.2. TÍNH TỐN SONG SONG VÀ CÁC V N Đ

SONG

SONG HĨA
1.2.1. Mơ hình máy tính song song
M t h th ng máy tính song song là m t máy tính v i
nhi u hơn m t b x lý cho phép x lý song song. D a vào s
phân bi t

k t n i gi a các b x lý (hay thành ph n x lý), gi a



-7-

-8-

b x lý và b nh mà có r t nhi u lo i ki n trúc máy tính song

1.3.1. Các khái ni m cơ b n

song khác nhau. Nhưng theo nguyên t c phân lo i c a Flynn thì

1.3.2. Các đ c tính cơ b n c a m t chương trình MPI

có hai ki n trúc máy tính song song song thơng d ng sau:

1.3.3. Trao đ i thơng tin đi m – đi m

1.2.1.1. Mơ hình Đơn dịng l nh đa d li u – SIMD

K thu t truy n thông cơ b n c a MPI là s chuy n giao d

1.2.1.2. Mơ hình đa l nh ña d li u - MIMD

li u gi a hai x lý, m t bên g i và m t bên nh n, chúng ta g i hình

1.2.2. Mơ hình l p trình song song

th c này là Point to Point (ñi m - ñi m). H u h t các c u trúc x lý


M t mô hình l p trình song song là s d ng m t t p các

c a chu n MPI ñ u d a trên truy n thông Point to Point.

k thu t ph n m m ñ th hi n các gi i thu t song song và ñưa

1.3.3.1. Các thơng tin c a thơng đi p

ng d ng vào th c hi n trong h th ng song song. Mơ hình bao

1.3.3.2. Các hình th c truy n thơng

g m các ng d ng, ngôn ng , b biên d ch, thư vi n, h th ng

1.3.4. Các ki u d li u ñã ñư c ñ nh nghĩa c a MPI

truy n thông và vào/ra song song. Hi n nay có r t nhi u mơ hình

1.4. T I ƯU T

l p trình song song: Đa lu ng (Threads), Truy n thơng đi p

1.4.1. Bài tốn T i ưu t h p

(Message Passing), Song song d

li u (Data Parallel), Lai

H P VÀ BÀI TOÁN NGƯ I DU L CH


Bài tốn t i ưu hóa t h p liên quan t i vi c tìm giá tr cho

(Hybird).

các bi n s r i r c như l i gi i t i ưu mà có lưu ý t i hàm m c tiêu

1.2.3. Các chi n lư c song song hóa thu t tốn

(objective function) cho trư c. Bài tốn có th là bài tốn tìm c c đ i

1.2.3.1. Song song hóa k t qu

ho c tìm c c ti u. M t cách thông thư ng, bài toán t i ưu hoá t h p

1.2.3.2. Song song hóa đ i di n

đư c cho dư i d ng b 3 (S, f,

1.2.3.3. Song song hóa chuyên bi t

c viên, f là hàm m c tiêu (hàm này gán giá tr f(s) cho m i l i gi i

1.3. MƠ HÌNH TRUY N THƠNG ĐI P - MPI
MPI - Message Passing Interface - là thư vi n truy n thơng

ng c viên s ∈ S), và

). Trong đó S là t p các l i gi i ng

là t p các ràng bu c c a bài toán. Các l i


gi i thu c t p S ⊆ S th a mãn t p các ràng bu c
*

g i là l i gi i

ñi p tiêu chu n d a trên s ñ ng thu n c a di n ñàn MPI v i hơn 40

kh thi. M c tiêu bài tốn là tìm ra m t l i gi i kh thi t i ưu toàn c c

t ch c tham gia bao g m c các nhà cung c p, các nhà nghiên c u,

s*. V i các bài tốn t i ưu hóa c c ti u là tìm l i gi i s* v i giá nh

các nhà phát tri n thư vi n ph n m m và ngư i s d ng. Đó là m t

nh t, nghĩa là f(s*) ≤ f(s) v i m i l i gi i s ∈ S. Ngư c l i bài toán

thư vi n các hàm (trong C) ho c ti n trình con (trong Fortran) cho

t i ưu hóa c c đ i là tìm l i gi i s* v i giá l n nh t, nghĩa là f(s*) ≥

phép b n chèn vào trong code ñ th c hi n trao ñ i d li u gi a các

f(s) v i m i l i gi i s ∈ S. Bài toán t i ưu hóa t h p có th chia 2

ti n trình. M c tiêu c a MPI là cung c p m t tiêu chu n ñư c s

lo i: Bài tốn tĩnh và bài tốn đ ng.


d ng r ng rãi đ vi t các chương trình chuy n gói tin đ m b o tính di
đ ng, hi u qu và linh ho t.


-9-

-10-

1.4.2. Bài tốn Ngư i du l ch

đư ng, m t đ mùi càng l n thì chúng càng có xu hư ng ch n. D a

1.4.2.1. Phát bi u bài tốn

vào hành vi tìm ki m này mà đàn ki n tìm đư c đư ng đi ng n nh t

Có m t ngư i du l ch hay m t ngư i giao hàng c n ñi giao
hàng t i n thành ph . Anh ta xu t phát t m t thành ph nào đó, đi

t t ñ n ngu n th c ăn và sau ñó quay tr v t c a mình.
1.5.3. Đàn ki n nhân t o

qua các thành ph khác ñ giao hàng và tr v thành ph ban ñ u.

Đàn ki n nhân t o (Artificial Ants) mô ph ng các ho t ñ ng

M i thành ph ch ñ n m t l n, và kho ng cách t m t thành ph ñ n

c a ñàn ki n t nhiên và có m t s thay đ i, đi u ch nh so v i ñàn


các thành ph khác ñã ñư c bi t trư c. Hãy tìm m t chu trình (m t

ki n t nhiên đ tăng tính hi u qu c a thu t tốn. Các tính ch t c a

đư ng đi khép kín th a mãn ñi u ki n trên) sao cho t ng ñ dài các

ñàn ki n nhân t o như sau:

c nh là nh nh t.

- Ngồi thơng tin pheromone thì ñàn ki n nhân t o còn s

1.4.2.2. Phân lo i bài tốn

d ng thơng tin heuristic trong xây d ng lu t di chuy n c a

1.4.2.3. Các phương pháp ti p c n gi i bài tốn TSP

chúng.

Có nhi u hư ng ñ ti p c n bài toán TSP như thi t k thu t

- Ki n nhân t o có b nh đ lưu thơng tin c a ki n nh m

tốn tìm l i gi i chính xác, thu t tốn x p x , thu t tốn Heuristic và

m c đích xác đ nh hành trình đã đi qua và đ tính tốn đ dài

gi i quy t các trư ng h p ñ c bi t.


c a hành trình đó.

1.5. T NG QUAN V THU T TỐN KI N

- Lư ng thơng tin mùi pheromone ñư c thêm vào b i ki n

1.5.1. Gi i thi u chung

nhân t o là hàm c a ch t lư ng l i gi i mà chúng tìm đư c.

T i ưu hóa thu t tốn ñàn ki n (Ant Colony Optimization -

Ki n nhân t o thư ng ch th c hi n tăng lư ng thông tin mùi

ACO) là m t trong các thu t tốn MetaHeuristic đư c thi t k đ gi i

sau khi đã hồn thành l i gi i.

quy t các bài toán t i ưu t h p, s d ng phương pháp tính xác su t

- Ki n nhân t o s d ng cơ ch bay hơi thơng tin pheromone

đ tìm đư ng đi ng n nh t c a ñ th . H th ng ACO l n ñ u tiên

ñ tránh b t c trong bài tốn t i ưu c c b .

đư c Marco Dorigo gi i thi u trong lu n văn c a mình vào năm
1992, và đư c g i là H th ng ki n (Ant System, hay AS).
1.5.2. Đàn ki n t nhiên
Ki n là lo i cá th s ng b y ñàn. Chúng giao ti p v i nhau

thơng qua mùi mà chúng đ l i trên hành trình mà chúng đi qua. M i
ki n khi ñi qua m t ño n ñư ng s ñ l i trên ño n ñó m t ch t mà
chúng ta g i là mùi. S lư ng mùi s tăng lên khi có nhi u ki n cùng
đi qua. Các con ki n khác s tìm đư ng d a vào m t ñ mùi trên

1.5.4. Các nguyên t c c a thu t toán ki n


-11-

-12-

CHƯƠNG 2

chúng ñã ñi qua. G n v i m i c nh (i,j) n ng ñ v t mùi τ ij và thông

T I ƯU ĐÀN KI N VÀ THU T TOÁN KI N SONG SONG
2.1. T I ƯU ĐÀN KI N –ACO

s heuristic η ij trên c nh ñó.

Ban ñ u n ng ñ mùi trên m i c nh (i,j) ñư c kh i t o b ng

2.1.1. Thu t toán Ant System (AS)

m t h ng s c, ho c ñư c xác ñ nh theo công th c:

2.1.1.1. Quy t c di chuy n c a ki n

τ ij = τ 0 =


Trong thu t tốn AS, ki n xây d ng m t đư ng ñi b t ñ u t i
T i ñ nh i, m t con ki n k s ch n ñ nh j chưa ñư c ñi qua

α

η ij

(2.4)

V i ρ trong kho ng (0,1) là t c ñ bay hơi c a pherromone.
- Ti p theo m i con ki n trong ñàn s ñ t thêm m t lư ng

: xác su t con ki n k l a ch n c nh (i,j)
: n ng ñ v t mùi trên c nh (i,j)

thông tin pheromone trên nh ng cung mà chúng đã đi qua
trong hành trình c a chúng.
m

k
τ ij ← τ ij + ∑ ∆τ ij

: h s ñi u ch nh nh hư ng c a τ ij
: thơng tin heuristic giúp đánh giá chính xác

s l a ch n c a con ki n khi quy t ñ nh ñi t ñ nh i qua đ nh j và

η ij =


(2.5)

k =1

k
Trong đó: ∆τ ij là lư ng pheromone mà con ki n k đ t lên

c nh mà nó đã đi qua và đư c tính như sau:

đư c tính theo cơng th c:

dij

τ ij ← (1 − ρ ).τ ij

(2.1)

Trong đó:

τ ij

- Đ u tiên t t c pheromone trên các cung s ñư c gi m ñi
b i m t lư ng:

k
i

pijk

(2.3)


Vi c c p nh t pheromone ñư c ti n hành như sau:

m t ñ nh ñư c ch n ng u nhiên.
trong t p láng gi ng c a i theo công th c sau:
(τ ij )α (ηij )β , j ∈ N k
k
pij =
i
α
β
∑l∈N (τ il ) (ηil )

m
, ∀(i, j )
C nn

1
d ij

(2.2)

: kho ng cách gi a ñ nh i và ñ nh j

β

: h s ñi u ch nh nh hư ng c a η ij

Nik


: t p các ñ nh láng gi ng c a i mà con ki n k

chưa ñi qua
2.1.1.2. Quy t c c p nh t thông tin mùi
Trong q trình di chuy n tìm đư ng đi c a ñàn ki n, chúng
th c hi n vi c c p nh t thông tin mùi trên nh ng ño n ñư ng mà

1 / C k ,
∆τ = 
0 ,
k
ij

n u ki n k qua cung (i,j)
ngư c l i

(2.6)

V i: C k là ñ dài ñư ng ñi c a con ki n th k sau khi hồn
thành đư ng đi, t c là b ng t ng các cung thu c ñư ng ñi mà
ki n ñã ñi qua.


-13-

-14-

2.1.2. Thu t toán Ant Colony System (ACS)

C p nh t thông tin mùi c c b :


2.1.2.1. Quy t c di chuy n c a ki n

Công th c như sau:

Trong thu t toán ACS, con ki n k ñang

τ ij ← (1 − ρ )τ ij + ρτ 0

ñ nh i, vi c ki n

ch n ñ nh j ñ di chuy n ñ n ñư c xác ñ nh b ng qui lu t như sau:

(2.9)

V i:

- Cho q0 là m t h ng s cho trư c (0 ≤ q0 ≤ 1)

- ρ : là tham s bay hơi n m trong kho ng (0,1)

- Ch n ng u nhiên m t giá tr q trong kho ng [0, 1]

- τ0 = 1

- N u q ≤ q0 ki n k ch n ñi m j di chuy n ti p theo d a trên

nC nn

giá tr l n nh t c a thông tin mùi và thơng tin heuristic có trên c nh


- n : là s ñ nh hay s thành ph

tương ng v i cơng th c:

- Cnn: chi u dài hành trình cho b i phương pháp tìm ki m g n

(

j = arg l∈N k max τ il (η il )
i

β

)

(2.7)

nh t (nearest neighbor – nn).
2.1.3. Thu t toán Max-Min Ant System (MMAS)

- N u q > q0 ki n k s ch n ñ nh j chưa ñư c ñi qua trong t p

Lu t di chuy n c a ki n ñư c th c hi n tương t như trong

láng gi ng c a i theo m t qui lu t phân b xác su t ñư c xác đ nh

thu t tốn ACS d a trên cơng th c (2.7).

theo công th c sau:


2.1.3.1. Quy t c c p nh t thông tin mùi

(τ ) (η )
α

k
pij =

β

ij

ij

α
β
∑ (τ ) (η )
l∈N ik

il

Thu t toán MMAS th c hi n vi c c p nh t thông tin mùi khi

, j ∈ N ik

toàn b ki n trong đàn hồn thành l i gi i và lư ng thông tin mùi ch

il


c p nh t trên các c nh thu c l i gi i t i ưu nh t. Ban ñ u cũng th c

2.1.2.2. Quy t c c p nh t thông tin mùi

hi n bay hơi thông tin mùi trên các c nh thu c lơi gi i t i ưu v i m t

C p nh t thơng tin mùi tồn c c:
M t con ki n có đư ng đi t t nh t sau m i l n l p thì ñư c
phép c p nh t thông tin pheromone. Vi c c p nh t ñư c th c hi n

lư ng đư c xác đ nh t i cơng th c (2.4).
Lư ng pheromone trên m t c nh ñư c xác ñ nh như sau :
best
τ ij ← τ ij + ∆τ ij

theo công th c sau:

bs
τ ij ← (1 − ρ )τ ij + ρ∆τ ij

bs
V i ∆τ ij = 1

C bs

(2.8)

là lư ng pheromone ñ t lên c nh (i,j)

mà ki n ñi qua.

Cbs là ñ dài ñư ng ñi t t nh t c a con ki n th k sau khi
hồn thành đư ng ñi, t c là b ng t ng các cung thu c ñư ng ñi t t
nh t mà ki n ñã ñi qua.

v i

1 / Cbest
best
∆τ ij = 
0

n u ki n qua c nh (i,j)
ngư c l i

Cbest là ñ dài ñư ng ñi ng n nh t c a con ki n th k sau khi
c ñàn hồn thành đư ng đi.


-152.1.3.2. Kh i t o và kh i t o l i thơng tin mùi
Thu t tốn MMAS đã thêm vào giá tr c n trên và giá tr c n
dư i cho thông tin pheromone g i là τmin và τmax .
Sau m i l n c p nh t giá tr thông tin mùi τ ij , n u

τ ij < τ min thì s gán τ ij = τ min và n u τ ij > τ max thì gán τ ij = τ max .
Giá tr c n trên τ max thư ng ñư c thi t l p v i công th c sau:

τ max = 1 ρC
best
Giá tr c n dư i τ min ñư c xác ñ nh b ng công th c
τmin = τmax / 2n.

2.2. THU T TOÁN KI N CHO BÀI TOÁN NGƯ I DU L CH
Áp d ng thu t toán ki n vào bài toán ngư i du l ch v i các
thông s c a ki n như sau:
- m: s lư ng ki n

-16- aki : nh n giá tr True, False tương ng v i con ki n k ñã
thăm ho c chưa ñi qua ñ nh i
Các bư c xây d ng thu t toán như sau:
Đ u vào:
Đ th G=(V,E), v i t p ñ nh V và t p c nh E, ma tr n tr ng
s D = d[i,j], v i i, j ∈ V.
S lư ng ki n m.
Đ u ra: ñư ng ñi S v i kho ng cách ng n nh t CS
Các bư c
Bư c 1: Kh i t o
Kh i t o các tham s NC, β, α, ρ, s lư ng ki n m và s ñ nh n
Kh i t o ñ dài ñư ng ñi ng n nh t Cbest là h ng s
Tính đ dài đư ng đi ng n nh t Cnn
Tính giá tr τ max = 1

ρC nn và τ min = τ max / 2n

τ ij
: n ng ñ v t mùi trên c nh (i,j)
ρ : là tham s bay hơi n m trong kho ng (0,1)
-

Kh i t o giá tr q0 v i (0 ≤ q0 ≤ 1)

- pijk


: xác su t con ki n k l a ch n c nh (i,j)

Kh i gán ñi u ki n k t thúc stop := 1

: h s ñi u ch nh nh hư ng c a τ ij

Thi t l p ma tr n pheromone trên t t c các c nh

-


- η ij

: thông tin heuristic giúp đánh giá chính xác s l a

ch n c a ki n ñi t ñ nh i t i ñ nh j
: h s ñi u ch nh nh hư ng c a η ij


-

Nik

: t p các ñ nh láng gi ng c a i mà con ki n k chưa ñi

for i:=1 to n do
for j:=1 to n do τ ij = τ max
Bư c 2: Xây d ng ñư ng ñi c a ki n
Trư ng h p hoàn thành xong t t c các bư c l p: stop > NC thì

xu t ra ñư ng ñi ng n nh t và k t thúc

qua
- ∆τ

k
ij

là lư ng pheromone mà con ki n k ñ t lên c nh mà nó

ñã ñi qua
- NC : là s bư c l p c a thu t tốn
- Sk : đư ng đi c a ki n k ( t p các ñ nh mà ki n k ñi qua)
- q : là giá tr ng u nhiên trong kho ng [0, 1]

2.1 Thi t l p các ñ nh khi ki n chưa ñi qua nh n giá tr false
for k:=1 to m do
for i:=1 to n do aki:= false
Thi t l p ñư ng ñi c a ki n S k = φ
2.2 Ch n ng u nhiên v trí xu t phát c a ki n


-17-

-18for j:=i to n do τ ij := (1 − ρ )τ ij

for k:=1 to m do

4.2 Thêm thông tin mùi trên các c nh thu c ñư ng ñi t t nh t


for i:=1 to n do

r ← random{ ..n}
1

Sk,best

B sung r vào ñư ng ñi Sk:={r},

akr:=

true;

best
N u c nh (i, j ) ∈ S k

Gán ñ dài ñư ng ñi Ck:=0
2.3 Xác ñ nh ñ nh ñ n ti p theo c a ki n k

- Ch n ng u nhiên m t giá tr q: q ← random{0..1}

Ki m tra thông tin pheromone v i c n trên và c n dư i
N u τij < τmin thì τij = τmin

- N u q ≤ q0 ki n k ch n ñi m u di chuy n ti p theo v i

(

u = arg l∈N k max τ rl (η rl )
r


β

)

- N u q > q0 ki n k s ch n ñ nh u chưa ñư c ñi qua trong t p
láng gi ng c a r theo công th c sau:
(τ ru )α (η ru )β , u ∈ N k
k
p ru =
r
α
β
∑l∈N (τ rl ) (η rl )
k
r

- Ch n ñ nh u là ñ nh ti p theo, b sung ñ nh u vào Sk
Sk:= {r, u}
- Tăng ñ dài ñư ng ñi Ck:=Ck + dru
- Gán aku:=true
Bư c 3: Xác ñ nh đư ng đi ng n nh t
Ta có Ck là ñ dài ñư ng ñi c a con ki n k v i k=[1..m] thu
ñư c t bư c 2.
N u Ck < Cbest thì hi u ch nh Cbest:=Ck
Bư c 4: C p nh t thông tin mùi
T i bư c này, ch c p nh t thông tin mùi trên ñư ng ñi c a
con ki n k có giá tr Ck nh nh t thu đư c t bư c 3, t c là giá tr
Cbest
4.1 Bay hơi thông tin mùi trên các c nh

for i:=1 to n do

1
C
thì τ ij := best + ∆τ
τ ij

Tính giá tr pheromone ∆τ =

N u τij > τmax thì τij = τmax
Tăng giá tr stop:=stop+1.
2.3. SONG SONG HÓA THU T TỐN KI N
2.3.1. T ng quan thu t tốn ki n song song
Trong lu n văn này trình bày chi ti t hai chi n lư c song
song hóa thu t toán ki n c a B. Bullnheimer, G. Kotsis, C. Strauss là
song song ñ ng b và song song b t ñ ng b m t ph n.
2.3.2. Thu t tốn song song đ ng b
2.3.2.1. Ý tư ng thu t tốn
Thu t tốn s d ng mơ hình Master/Slave trên ki n trúc b
nh phân tán g m m t vi x lý ñ m nh n vai trò Master và các vi x
lý còn l i là Slave. M i m t Slave ñư c gán cho m t tác t ki n và
th c hi n nhi m v xây d ng m t ñư ng đi. Master có nhi m v kh i
t o các thơng tin ban đ u, c p nh t thơng tin pheromone tồn c c
nh n t các Slave và ñưa ra k t qu t i ưu.
2.3.2.2. Các bư c thu t toán
Đ i v i Master
Bư c 1: Kh i t o
G i các tham s ñ n m i Slave
G i ma tr n d và pheromone τ ñ n m i Slave
Bư c 2: Xác ñ nh ñư ng ñi ng n nh t c a ki n



-19Bư c 3: C p nh t thông tin Pheromone

-20Đ i v i Slave

Đ i v i Slave

Bư c 1: Nh n các tham s t Master

Bư c 1: Nh n các tham s t Master

Bư c 2: Xây d ng ñư ng ñi cho ñàn ki n

Bư c 2: Xây d ng ñư ng ñi

N u step > T thì d ng và chuy n sang bư c 3

Bư c 3: G i ñư ng ñi Sk và ñ dài ñư ng ñi Ck v Master

2.1 Kh i t o thành ph xu t phát c a m i ki n t i m i Slave

2.3.2.3. Sơ ñ thu t tốn

2.2 Xây d ng đư ng đi cho t ng ki n

2.3.3. Song song b t ñ ng b m t ph n

2.3 C p nh t ma tr n pheromone c c b


2.3.3.1. Ý tư ng thu t tốn

Bư c 4: G i đư ng đi Sk và ñ dài ñư ng ñi Cbest v

Trong chi n lư c này s lư ng ki n m nhi u hơn s vi x lý

Master

P, (P < m). Như v y, m i Slave ñ m nh n th c hi n xây d ng ñư ng

2.3.3.3. Sơ ñ thu t tốn

đi cho m t đàn ki n v i s lư ng là m/P. Vi c phân chia theo chi n

2.3.4. Hi u qu c a thu t gi i song song

lư c này là gi m ñáng k chi phí truy n thơng gi a Master và Slave.

Vi c xem xét hi u qu c a thu t gi i song song thư ng căn

2.3.3.2. Các bư c thu t toán

c vào các y u t như: th i gian thi hành, t c ñ (Speedup), hi u su t

Đ i v i Master

(efficienly), chi phí (Cost) và qui mô (Scaling).

Bư c 1: Kh i t o


2.3.4.1. Chi phí

Bư c 2: Xác đ nh đư ng đi ng n nh t

Ký hi u T0 là hàm overhead, ta có:

Trư ng h p stop > NC thì xu t ra ñư ng ñi ng n nh t và k t

T0 = pTP – TS
2.3.4.2. T c ñ

thúc

T c ñ ký hi u S = TS/TP.

2.1 G i các tham s ñ n m i Slave
G i ma tr n d và pheromone τ ñ n m i Slave
2.2 Nh n ñư ng ñi Sk ñ dài ñư ng ñi Ck t các Slave

2.3.4.3. Hi u su t

2.3 Xác ñ nh đư ng đi ng n nh t

h u ích, là t s gi a t c ñ (Speedup) và s ph n t x lý PE (E =

N u Ck < Cbest thì Cbest := Ck
Bư c 3: C p nh t thông tin Pheromone
3.1 Bay hơi thông tin mùi trên các c nh
3.2 Thêm thông tin mùi trên các c nh thu c ñư ng ñi ng n
nh t Sk,best

3.3 G i ma tr n Pheromone τ m i cho Slave

Hi u su t là ñ ño th i gian mà ph n t x lý (PE) s d ng
S/p).


-21CHƯƠNG 3

-223.1.2.3. C p nh t Pheromone

PHÂN TÍCH, XÂY D NG VÀ CÀI Đ T CHƯƠNG TRÌNH
3.1. Đ C T

C U TRÚC D

LI U VÀ CÁC CH C NĂNG

Có hai giai đo n chính trong ch c năng c p nh t thơng tin
pheromone đó là th c hi n bay hơi trên các cung và c p nh t thơng

CHÍNH C A CHƯƠNG TRÌNH

tin pheromone m i trên các cung thu c ñư ng ñi t t nh t c a ki n.

3.1.1. C u trúc d li u

Trong thu t tốn MMAS có b sung thêm giá tr c n trên và giá tr

3.1.1.1. Các thơng s chính


c n dư i c a thơng tin pheromone nên có ch c năng ki m tra các giá

Trong ph n này mô t c u trúc d li u c a các thơng s chính
c a chương trình. Chương trình s d ng mã ngu n thu t toán ki n

tr này.
3.1.2.4. Th c hi n song song

tu n t ACOTSP.V1.01 tham kh o trong [15] và phát tri n thành

Vi c th c hi n song song trong lu n văn này là cho p tác t

chương trình song song. Chương trình s d ng các t p tin gr24.tsp,

ki n ho c ñàn ki n ti n hành tìm đư ng đi hay xây d ng gi i pháp

st70.tsp, kroA100.tsp trong thư vi n TSPLIB [13] ñ ñánh giá k t

cho mình trên p b vi x lý.
Bài tốn đư c xây d ng ch y trên ki n trúc b nh phân tán

qu th nghi m.
3.1.1.2. C u trúc d li u c a ki n

v i mơ hình song song truy n thơng đi p, s d ng thư vi n MPI.

3.1.1.3. Ki u d li u c a MPI

3.2. NGÔN NG


3.1.2. Các ch c năng chính

TRI N

3.1.2.1. Kh i t o d li u
Ch c năng kh i t o d li u bao g m các hàm kh i t o cho

L P TRÌNH VÀ MƠI TRƯ NG PHÁT

NG D NG
Ngơn ng l p trình đư c s d ng là ngơn ng C, trình biên

d ch là GCC (GNU C compiler), ph n m m h tr phát tri n ng

c u trúc d li u ñã nêu trong ph n 3.1.1 Đ u tiên s th c hi n ñ c các

d ng là CodeBlocks. Thư vi n chu n ñ c t truy n thơng đi p s

d li u t t p tin trong TSP, sau đó t o l p ma tr n tr ng s , danh

d ng trong chương trình là b n MPICH2.

sách các láng gi ng, kh i t o thông tin Heuristic, kh i t o c u trúc

3.3. K T QU TH C NGHI M CHƯƠNG TRÌNH

ki n và kh i t o m t s bi n b sung ñ theo dõi th c hi n thu t toán.

3.3.1. Th c nghi m chương trình


3.1.2.2. Xây d ng dư ng đi

3.3.2. Đánh giá k t qu

Ch c năng xây d ng ñư ng ñi cho ki n ñư c th c hi n thơng

3.3.2.1. Đánh giá chương trình song song

qua 3 giai ño n riêng bi t. Đ u tiên m i ki n s ñư c phân b ng u

- Chương trình song song khơng phá v c u trúc c a thu t

nhiên t i m t thành ph xu t phát, sau đó ki n xây d ng m t đư ng

tốn tu n t cho nên ch t lư ng l i gi i c a nó tương t như chương

ñi qua t t c các thành ph b ng cách xác đ nh v trí thành ph di

trình tu n t .

chuy n ti p theo và cu i cùng là tr v l i v trí xu t phát và tính đ
dài đư ng đi hồn thành.

- Chương trình ch th c hi n song song
pháp ñư ng ñi c a ki n.

bư c xây d ng gi i


-23-


-24-

- Chương trình khơng th c hi n c u trúc liên k t m ng trao

B ng 3.2 Th i gian trung bình tìm ra gi i pháp t i ưu trên s vi

đ i thơng tin gi a các đàn ki n, chi phí truy n thơng gi a
Master/Slave l n, th i gian th c hi n ph thu c vào c u hình máy

x lý
2

4

6

tính ch y chương trình.

15

5

10

3.3.2.2. Đánh giá k t qu th c hi n

12

9


7

Th i gian cho

21

15

11

m i vòng l p

29

33

13

(giây)

- K t qu c a chương trình tu n t và song song là tương t
nhau căn c trên các t p tin k t qu xu t ra c a chương trình.
- Qua th c nghi m, th i gian th c hi n thu t toán song song

S vi x lý

19

10


8

tìm ki m k t qu t i ưu nhanh hơn so v i tìm ki m b ng thu t toán

10

7

6

tu n t và t l ph thu c vào s lư ng vi x lý s d ng.

17

5

7

17.57

12

8.85

- Khi s lư ng b vi x lý tăng lên thì th i gian trung bình đ

Trung bình

tìm ra gi i pháp t i ưu s gi m.

- Đ i v i cùng s lư ng các b vi x lý thì th i gian trung

B ng 3.3 Hi u su t tương ng v i các d li u c a bài tốn TSP

bình đ tìm ra gi i pháp t i ưu t i m i vòng l p khác nhau cũng khác
nhau, đư c mơ t

b ng 3.1.
Bài tốn TSP

T c đ th c hi n
2

4

6

Gr24.tsp

0.8

0.7

0.7

St70.tsp

1.27

1.23


1.23

kroA100.tsp

1.41

1.37

1.37

4

6

Gr24.tsp

0.4

0.175

0.116

0.63

0.307

0.205

kroA100.tsp


TSP

2

St70.tsp

B ng 3.1 T c ñ th c hi n tương ng v i các d li u c a bài toán

Bài toán TSP

Hi u su t th c hi n

0.705

0.342

0.228


-25K T LU N VÀ HƯ NG PHÁT TRI N
1. K t lu n
Nh ng k t qu nghiên c u c a lu n văn cho phép rút ra nh ng
k t lu n:

-26- Lu n văn ch t p trung nghiên c u thu t tốn đàn ki n trong
h P-Meta heuristic, chưa nghiên c u các thu t tốn khác ( như thu t
tốn đàn ong ) ñ có nh ng so sánh ñánh giá.
- Trong vi c song song hóa thu t tốn đàn ki n, chưa tìm


V lý thuy t

hi u v quá trình trao ñ i thông tin mùi và gi i pháp gi a các đàn

- Tìm hi u đư c thu t tốn đàn ki n trong vi c xác đ nh ñư ng ñi

ki n trong vi c xây d ng ñư ng ñi.

ng n nh t b ng phương pháp tính xác su t gi a các đi m di chuy n

V th c nghi m

d a trên các thông tin v đ dài đư ng đi, thơng tin heuristic và

- M c dù đã phân tích đư c các nhóm ch c năng nhưng cịn

thơng tin mùi pheromone mà các con ki n ñ l i trên ñư ng ñi trong

nhi u ch c năng chưa cài ñ t hồn ch nh ho c đã cài đ t nhưng chưa

quá trình di chuy n.

ki m tra th nghi m trong th c t .

- Hi u ñư c các phương pháp ti p c n t i ưu thu t tốn đ nâng

- Chương trình ch m i song song hóa đư c m t ph n d a

cao đ chính xác cho thu t tốn ki n, c th là c i ti n quy lu t di


theo ý tư ng ñã nêu, chưa th c nghi m trên ki n trúc song song b

chuy n c a ki n và qui lu t c p nh t thơng tin mùi pheromone th

nh chia s đ có đánh giá hi u qu c a thu t toán trên các lo i ki n

hi n

trúc khác nhau.

thu t toán Ant Colony System và Max-Min Ant System.

- Hi u ñư c các chi n lư c song song hóa thu t tốn và th c hi n

- Chương trình cịn tính ch t mơ ph ng chưa ph i là m t ng

song song hóa thu t tốn ki n trên ki n trúc b nh phân tán và mô

d ng c th .

hình song song Master/Slave. Qua đó đánh giá đư c thu t tốn d a

2. Hư ng phát tri n

trên các tiêu chí v t c đ , hi u su t và chi phí.
V th c nghi m
Phân tích và mơ t đư c các nhóm ch c năng c a chương trình
ng d ng. Đây là cơ s ñ ti p t c phát tri n ñ tài trong tương lai.

V lý thuy t

- Ti p t c nghiên c u sâu thêm v thu t tốn đàn ki n v i
nh ng phương pháp t i ưu hóa đư c c i ti n áp d ng trong các bài
tốn t i ưu hóa t h p ph c t p.

Cài ñ t thành cơng chương trình th c nghi m tìm đư ng ñi ng n

- Nghiên c u m t s thu t toán thu c toán thu c h P-Meta

nh t c a thu t toán ki n áp d ng vào bài tốn ngư i du l ch trên mơi

heuristic và song song hóa đ so sánh, đánh giá tính chính xác và

trư ng song song. Chương trình đư c ki m tra v i d li u ñ u vào

m c ñ hi u qu gi a các thu t tốn meta heuristic.

đư c khai thác t thư vi n TSPLIB.
Đánh giá ưu ñi m và h n ch c a ñ tài
V lý thuy t

V th c nghi m
- Ti p t c cài ñ t các ch c năng cịn thi u, đ c bi t là b sung
ch c năng trao đ i thơng tin gi a các đàn ki n trên các mơ hình liên
k t m ng khác nhau.



×