1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận Văn Thạc Sĩ) Áp Dụng Thuật Toán Tối Ưu Hóa Đàn Kiến Để Giải Quyết Bài Toán Vị Trí Cơ Sở

72 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Áp Dụng Thuật Toán Tối Ưu Hóa Đàn Kiến Để Giải Quyết Bài Toán Vị Trí Cơ Sở
Tác giả Vi Đắc Quang
Người hướng dẫn PGS. TS Hoàng Xuân Huấn
Trường học Đại Học Quốc Gia Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2016
Thành phố Hà Nội
Định dạng
Số trang 72
Dung lượng 729,87 KB

Nội dung

Bài toán này thuác d¿ng NP-khó, có r¿t nhiều các thuÁt giÁi khác nhau đ°ÿc đ°a ra để có thể tìm lßi giÁi tái °u cho bài toán này nh°: thuÁt toán di truyền, thuÁt toán tham lam, thuÁt toá

Trang 1

ÁP DĀNG THUÀT TOÁN TÞI ¯U HÓA ĐÀN KI¾N

Đà GIÀI QUY¾T BÀI TOÁN VÞ TRÍ C¡ Sâ

LUÀN VN TH¾C S) NGÀNH CÔNG NGHà THÔNG TIN

Hà Nßi, năm 2016

Trang 2

ÁP DĀNG THUÀT TOÁN TÞI ¯U HÓA ĐÀN KI¾N

Đà GIÀI QUY¾T BÀI TOÁN VÞ TRÍ C¡ Sâ

Ngành : Công nghá thông tin

Chuyên ngành : Há tháng thông tin

Trang 3

Tôi xin cam đoan luÁn vn này căa tự bÁn thân tôi tìm hiểu, nghiên cąu d°ới sự h°ớng d¿n căa PGS.TS Hoàng Xuân Hu¿n Các ch°¢ng trình thực nghiám do chính bÁn thân tôi lÁp trình, các kÁt quÁ là hoàn toàn trung thực Các tài liáu tham khÁo đ°ÿc trích d¿n và chú thích đÁy đă

T ÁC GIÀ LUÀN VN

Vj Đąc Quang

Trang 4

Em xin bày tß lßi cÁm ¢n chân thành tới tÁp thể các thÁy cô giáo tr°ßng Đ¿i hãc công nghá - Đ¿i hãc Quác gia Hà Nái và Vián công nghá thông tin -

Vián Hàn lâm Khoa hãc và Công nghá Viát Nam đã d¿y dß chúng em trong

suát quá trình hãc tÁp ch°¢ng trình cao hãc t¿i tr°ßng

ĐÁc biát em xin bày tß lòng biÁt ¢n sâu sắc tới thÁy giáo PGS.TS Hoàng Xuân Hu¿n, Tr°ßng Đ¿i hãc Công nghá - Đ¿i hãc Quác gia Hà Nái đã quan

tâm, đánh h°ớng và đ°a ra những góp ý, gÿi ý, chßnh sāa quý báu cho em trong quá trình làm luÁn vn tát nghiáp

Cuái cùng, em xin chân thành cÁm ¢n các b¿n bè đßng nghiáp, gia đình

và ng°ßi thân đã quan tâm, giúp đỡ và chia sẻ với em trong suát quá trình làm

Trang 5

Trang

M à ĐÀU 1

CH¯¡NG 1 MàT Sà KIÀN THĄC TàNG QUAN VÀ BÀI TOÁN Và TRÍ C¡ Sà 3 1.1 Đá phąc t¿p tính toán căa bài toán 3

1.2 NP- đÁy đă 4

1.2.1 Bài toán quyÁt đánh 4

1.2.2 Bằng chąng ngắn gãn để kiểm tra 4

1.2.3 Lớp bài toán P, NP và co-NP 6

1.2.4 Lớp bài toán NP-khó và NP-đÁy đă 7

1.3 Bài toán vá trí c¢ sá không h¿n chÁ khÁ nng 8

1.4 Bài toán vá trí c¢ sá có h¿n chÁ khÁ nng 9

1.5 Bài toán vá trí c¢ sá c¿nh tranh 11

1.6 Bài toán bá trí vá trí xây dựng 14

1.6.1 Hàm māc tiêu thą nh¿t 14

1.6.2 Hàm māc tiêu thą hai 17

1.7 Bài toán bá trí c¢ sá theo hàng 22

1.8 KÁt luÁn ch°¢ng 23

CH¯¡NG 2 THUÀT TOÁN TàI ¯U HÓA ĐÀN KIÀN 24

2.1 Tÿ kiÁn thực đÁn kiÁn nhân t¿o 24

2.1.1 KiÁn thực 24

2.1.2 KiÁn nhân t¿o 26

2.2 Ph°¢ng pháp ACO cho bài toán T¯TH táng quát 27

2.2.1 Đß thá c¿u trúc 27

2.2.2 Mô tÁ thuÁt toán ACO táng quát 29

2.3 Ph°¢ng pháp ACO giÁi bài toán TSP 31

2.3.1 Bài toán TSP và đß thá c¿u trúc 31

2.3.2 Các thuÁt toán ACO cho bài toán TSP 32

2.4 Mát sá v¿n đề khác khi áp dāng ACO 41

2.4.1 ĐÁc tính hái tā 41

2.4.2 Thực hián song song 42

2.4.3 ACO kÁt hÿp với tìm kiÁm cāc bá 43

2.5 KÁt luÁn ch°¢ng 44

CH¯¡NG 3 CÀI ĐÀT THĀ NGHIàM 46

3.1 ThuÁt toán r|p-ACO giÁi bài toán r|p trung tâm 46

3.1.1 L°ÿc đß táng quát 46

3.1.2 Thă tāc ACO 47

3.1.3 KÁt quÁ thā nghiám 50

Trang 6

3 3.1 Mô tÁ thuÁt toán 55

3.3.2 Đß thá c¿u trúc và thă tāc xây dựng lßi giÁi 55

3.3.3 Quy tắc cÁp nhÁt vÁt mùi 56

3.3.4 Tìm kiÁm đáa ph°¢ng 56

3.3.5 KÁt quÁ thā nghiám 56

3.4 KÁt luÁn ch°¢ng 58

KÀT LUÀN 59

DANH MĀC CÁC CÔNG TRÌNH ĐÃ CÔNG Bà CĂA TÁC GIÀ 60

TÀI LIàU THAM KHÀO 61

Trang 7

Vi ¿t tÃt Vi ¿t đÁy đă

(T ái °u hóa đàn kiÁn)

(H á kiÁn ACS)

(Thu Át toán m¿ng mißn dách)

(Há kiÁn AS)

(Bài toán vá trí c¢ sá có h¿n chÁ khÁ nng)

(Bài toán bá trí vá trí xây dựng)

(GiÁi thuÁt di truyền)

(Há kiÁn đa mąc MLAS)

(Há kiÁn MMAS)

(Tái °u hóa bÁy đàn) r|p-centroid r|p-trung tâm

(Há kiÁn MMAS tr¢n)

(Bài toán bá trí c¢ sá theo hàng)

(Bài toán vá trí c¢ sá không h¿n chÁ khÁ nng)

Trang 8

BÁng 1.1 Ký hiáu các c¢ sá 15

BÁng 1.2 TÁn su¿t di chuyển giữa các c¢ sá 16

BÁng 1.3 KhoÁng cách giữa các c¢ sá (đ¢n vá m) 17

BÁng 1.4 Ma trÁn chi phí xây dựng (C) 18

BÁng 1.5 Ma trÁn láng giềng (A) trong TH4 19

BÁng 1.6 Ma trÁn chi phí t°¢ng tác giữa các c¢ sá (D) trong TH4 19

BÁng 1.7 Ma trÁn láng giềng (A) trong TH5 20

BÁng 1.8 Ma trÁn chi phí t°¢ng tác giữa các c¢ sá (D) trong TH5 20

BÁng 2.1.ThuÁt toán ACO theo thą tự thßi gian xu¿t hián 34

B Áng 3.1 Bá dữ liáu Eclidean, �㖑 = �㖓 = Āÿ 51

B Áng 3.2 Bá dữ liáu Eclidean �㖑 = �㖓 = Ā�㗓 52

B Áng 3.3 Bá dữ liáu Uniform �㖑 = �㖓 = �㗕 52

B Áng 3.4 So sánh kÁt quÁ căa các TH1, TH2 và TH3 53

B Áng 3.5 So sánh kÁt quÁ trong TH4 và TH5 54

B Áng 3.6 Lßi giÁi tái °u căa 6 bá dữ liáu 56

B Áng 3.7 So sánh kÁt quÁ thuÁt toán ACO- SRFL với các thuÁt toán khác 57

B Áng 3.8 So sánh thßi gian ch¿y giữa thuÁt toán ACO- SRFL với thuÁt toán đàn d¢i (Bat Algorithm) 57

Trang 9

Hình 1.1 Phân lớp các bài toán 8

Hình 1.2 Các vá trí biểu dißn mát dự án xây dựng 16

Hình 1.3 Ví dā về mát dự án xây dựng 18

Hình 2.1 Thí nghiám trên cây cÁu đôi 25

Hình 2.2 Thí nghiám ban đÁu chß mát nhánh dài và sau 30 phút thêm nhánh ngắn 26

Hình 2.3.Đß thá c¿u trúc táng quát cho bài toán cực tri hàm f(x 1 ,&x n ) 29

Hình 2.4 ĐÁc tÁ thuÁt toán ACO 30

Hình 2.5 Lựa chãn đßnh đi tiÁp theo khi kiÁn 33

Hình 2.6 ĐÁc tÁ thuÁt toán ACO giÁi bài toán TSP .33

Hình 3.1 ThuÁt toán �㖓|�㖑-ACO 46

Hình 3.2 Đß thá c¿u trúc 47

Hình 3.3 Thă tāc ACO- Tr°ớc 48

Hình 3.4 ThuÁt toán ACO-Sau 49

Hình 3.5 ThuÁt toán tìm kiÁm đáa ph°¢ng 50

Hình 3.6 ThuÁt toán ACO-SRFL 55

Hình 3.7 Đß thá c¿u trúc thuÁt toán ACO-SRFL 55

Trang 10

M â ĐÀU

Trong cuác sáng, viác đ¿t lÿi nhuÁn cao hay th¿p trong kinh doanh buôn bán, cung c¿p dách vā phā thuác r¿t nhiều yÁu tá Trong đó, có mát yÁu tát quan

trãng đÁu tiên, đóng góp mát phÁn r¿t lớn đó là xác đánh đ°ÿc đáa điểm đÁt dách

vā thuÁt lÿi – n¢i cung c¿p dách vā cho khách hàng Có r¿t nhiều tiêu chí đÁt ra khi chãn vá trí đÁt c¢ sá nh°: thuÁn tián về giao thông, là n¢i tÁp trung đông dân c°, & để làm sao thu đ°ÿc lÿi nhuÁn cao nh¿t ĐÁc biát, đái với các tr°ßng hÿp

khẩn c¿p nh° cąu th°¢ng, cąu hßa thì yêu cÁu về khoÁng cách nhß nh¿t là vô cùng quan trãng, có thể nói là quan trãng nh¿t trong các yÁu tá Bài toán đÁt ra là: đÁt các tr¿m dách vā á đâu để thßi gian di chuyển bánh nhân tÿ n¢i xa bánh viên nh¿t (hoÁc ng°ÿc l¿i, tÿ các tr¿m dách vā đÁn n¢i bánh nhân xa nh¿t) là nhß

nh¿t có thể Còn với dách vā phá biÁn nh° tr¿m xng, thùng phiÁu, bát đián tho¿i, & thì yêu cÁu l¿i là chi phí tÿ các khách hàng (hay ng°ßi có nhu cÁu) đÁn đáa điểm phāc vā gÁn khách hàng nh¿t là nhß nh¿t

Bài toán này thuác d¿ng NP-khó, có r¿t nhiều các thuÁt giÁi khác nhau đ°ÿc đ°a ra để có thể tìm lßi giÁi tái °u cho bài toán này nh°: thuÁt toán di truyền, thuÁt toán tham lam, thuÁt toán tái °u hóa bÁy đàn, tìm kiÁm tabu& Tuy nhiên các giÁi thuÁt trên đều tán chi phí về thßi gian và/hoÁc không gian lớn

Tái °u hóa đàn kiÁn (Ant Colony Optimization - ACO) là cách tiÁp cÁn

metaheuristic t°¢ng đái mới, do Dorigo giới thiáu vào nm 1991 và liên tāc đ°ÿc phát triển cho đÁn nay Thành công đÁu tiên căa các thuÁt toán ACO là giÁi quyÁt bài toán Ng°ßi chào hàng nái tiÁng với sá đßnh lên tới h¢n 2000 với kÁt

quÁ thu đ°ÿc là tát, hiáu quÁ căa nó đ°ÿc chąng minh bằng thực nghiám

ĐÁu tiên, luÁn vn đã há tháng hóa các kiÁn thąc c¢ sá về lý thuyÁt đá

phąc t¿p thuÁt toán, lớp các bài toán P, NP, NP-khó và NP-đÁy đă Sau đó, luÁn vn trình bày các bài toán điển hình trong lớp các bài toán vá trí c¢ sá cùng các nghiên cąu đã đ°ÿc công bá gÁn đây TiÁp theo, tác giÁ đề xu¿t thuÁt toán dựa trên giÁi thuÁt tái °u đàn kiÁn giÁi mát sá bài toán vá trí c¢ sá hián nay và so sánh kÁt quÁ thu đ°ÿc với mát sá công trình đã đ°ÿc công bá gÁn đÁy nhằm rút

ra đ°ÿc các °u nh°ÿc điểm căa thuÁt toán KÁt quÁ này đã đ°ÿc tác giÁ công bá trong 2 công trình nghiên cąu khoa hãc

Nái dung chính căa luÁn vn đ°ÿc chia thành 4 ch°¢ng nh° sau:

Trang 11

Ch°¢ng 1: Tìm hiểu táng quan về các kiÁn thąc c¢ sá về đá phąc t¿p

thuÁt toán, lớp các bài toán P, NP và NP-khó và các bài toán thuác lớp bài toán

vá trí c¢ sá cũng nh° các công bá gÁn đây

Ch°¢ng 2: Trình bày chi tiÁt về thuÁt toán tái °u hóa đàn kiÁn

Ch°¢ng 3: Trình bày về cài đÁt ch°¢ng trình, thā nghiám và so sánh kÁt

quÁ với mát sá công trình đã công bá gÁn đây

K ¿t luÁn

Tài liáu tham khÁo

Trang 12

CH¯¡NG 1

M ÞT SÞ KI¾N THĄC TÞNG QUAN VÀ BÀI TOÁN VÞ TRÍ C¡ Sâ

Trong cuác sáng, viác đ¿t lÿi nhuÁn cao hay th¿p trong kinh doanh buôn bán, cung c¿p dách vā phā thuác r¿t nhiều yÁu tá Trong đó, có mát yÁu tá quan

trãng đÁu tiên, đóng góp mát phÁn r¿t lớn đó là xác đánh đ°ÿc đáa điểm đÁt dách

vā thuÁn lÿi – n¢i cung c¿p dách vā Có r¿t nhiều tiêu chí đÁt ra khi chãn đáa điểm: thuÁn tián về giao thông, là n¢i tÁp trung đông dân c°&để làm sao thu đ°ÿc lÿi nhuÁn cao nh¿t ĐÁc biát, đái với các tr°ßng hÿp khẩn c¿p nh° cąu th°¢ng, cąu hßa thì yêu cÁu về khoÁng cách nhß nh¿t là vô cùng quan trãng, có

thể nói là quan trãng nh¿t trong các yÁu tá

Yêu cÁu căa bài toán vá trí c¢ sá là tìm ph°¢ng án đÁt các tr¿m dách vā á đâu để thßi gian di chuyển bánh nhân tÿ n¢i xa bánh vián nh¿t (hoÁc ng°ÿc l¿i,

tÿ các tr¿m dách vā đÁn n¢i bánh nhân xa nh¿t) là nhß nh¿t có thể Còn với các

dách vā phá biÁn nh° tr¿m xng, thùng phiÁu, bát đián tho¿i,& thì yêu cÁu l¿i là

táng chi phí tÿ khách hàng (hay ng°ßi có nhu cÁu) đÁn đáa điểm phāc vā gÁn khách hàng nh¿t là nhß nh¿t

1.1 Đß phąc t¿p tính toán căa bài toán

Gãi TA(X) là thßi gian tính căa thuÁt toán A đái với đÁu vào X Khi đó thßi gian tính trong tình huáng tßi nh¿t căa thuÁt toán A đái với dữ liáu đÁu vào kích th°ớc n đ°ÿc đánh ngh*a nh° là:

Đá phąc t¿p trong tình huáng tßi nh¿t căa thuÁt toán P là thßi gian tính

trong tình huáng tßi nh¿t căa thuÁt toán nhanh nhất để giÁi nó:

Trong đó  là tÁp t¿t cÁ các thuÁt toán giÁi bài toán P

Viác đánh giá đúng đá phąc t¿p căa bài toán là mát v¿n đề hÁt sąc phąc

t¿p Vì vÁy chúng ta quan tâm đÁn viác đ°a ra các cÁn trên và cÁn d°ới cho nó

NÁu ta có thuÁt toán A với thßi gian tính trong tình huáng tßi nh¿t là

TA(n)= ÿ(Ą(Ą)) thì:

Ā�㕃(Ą) f Ā�㔴(Ą) f ÿ(Ą(Ą))

Trang 13

Tąc là ta có cÁn trên cho đá phąc t¿p căa bài toán P ThuÁt toán nhanh h¢n s¿ cho cÁn trên tát h¢n

Chúng ta còn quan tâm đÁn viác đánh giá cÁn d°ới đá phąc t¿p căa bài toán, ngh*a là quan tâm đÁn viác nó khó đÁn mąc đá nào

Để chß ra rằng:

Ā�㕃(Ą) = (Ą(Ą))

Ta cÁn phÁi chß ra rằng:

i Có thuÁt toán với thßi gian tính (Ą(Ą)) để giÁi bài toán P

ii Mãi thuÁt toán giÁi bài toán P đều đòi hßi thßi gian tính trong tình huáng

tßi nh¿t là (Ą(Ą))

Yêu cÁu ii có thể thay thÁ bái:

ii9 cÁn d°ới cho đá phąc t¿p tính toán căa bài toán P là (Ą(Ą))

1.2 NP- đÁy đă

1.2 1 Bài toán quyết định

Bài toán quyÁt đánh là bài toán mà đÁu ra chß có thể là 8yes9 hoÁc 8no9 (Đúng/sai, 0/1, ch¿p nhÁn/tÿ chái, accept/reject) Đái với mát bài toán quyÁt đánh, có những bá dữ liáu vào căa nó có câu trÁ lßi (đÁu ra) là 8yes9 và cũng có

những bá dữ liáu vào có câu trÁ lßi là 8no9 Những bá dữ liáu vào có câu trÁ lßi 8yes9 (8no9) s¿ đ°ÿc gãi là bá dữ liáu vào 8yes9 (8no9)

Ví dā 1:

Bài toán vß tính nguyên tß: <Hßi sá nguyên n có là sá nguyên tá hay

không?= N=23 là bá dữ liáu vào 8yes9, còn n=24 là bá dữ liáu vào 8no9 căa bài toán

Bài toán tßng con: <Cho tÁp I gßm n sá nguyên d°¢ng x1, x2,&,xn và sá nguyên d°¢ng T Hßi có thể tìm đ°ÿc tÁp con S căa I với táng các sá trong S là bằng T?=

Bài toán ng°ái du lßch d¿ng quy¿t đßnh (Dec – TSP): <Tßn t¿i hay

chng hành trình căa ng°ßi du lách với táng chi phí không v°ÿt quá sá K cho tr°ớc?=

1.2.2 B ằng chứng ngắn gọn để kiểm tra

R¿t nhiều các bài toán quyÁt đánh có mát đÁc điểm chung, đó là để xác

nhÁn câu trÁ lßi 'yes' đái với bá dữ liáu vào 'yes' căa chúng, ta có thể đ°a ra

Trang 14

bằng chứng ngắn gọn dễ kiểm tra xác nhận câu trả lời 'yes' cho bộ dữ liệu vào 'yes' đó

Ví dā 2:

 Đái với bài toán kiểm tra tích hÿp sá: "Có phÁi sá n là hÿp sá?", để xác

nhÁn câu trÁ lßi 'yes' cho đÁu vào n, ta có thể đ°a ra mát °ớc sá b (1<b<n)

căa n Để kiểm tra xem b đúng là °ớc sá căa n ta có thể thực hián phép chia n cho b sau thßi gian đa thąc.Trong ví dā này b là bằng chąng ngắn gãn (vì b<n) và dß kiểm tra: có thuÁt toán thßi gian tính đa thąc để kiểm tra b đúng là °ớc sá căa n

 Đái với bài toán táng con, bằng chąng xác nhÁn câu trÁ lßi 'yes' đái với bá

dữ liáu (x1, ,xn) là vecto c = (c1, ,cn), trong đó ci = 1 nÁu xi đ°ÿc chãn vào tÁp S và ci = 0 nÁu trái l¿i Viác kiểm tra xem tÁp S gßm các sá đ°ÿc

chãn có thßa mãn yêu cÁu đÁt ra hay không, rõ ràng, có thể thực hián sau

thßi gian đa thąc

 Đái với bài toán ng°ßi du lách d¿ng quyÁt đánh, bằng chąng xác nhÁn câu trÁ lßi 'yes' cho ma trÁn chi phí C = {cij: i,j=1, ,n} căa bài toán là dãy các thành phá trên hành trình Viác kiểm tra xem dãy các thành phá đã cho có

phÁi là hành trình với chi phí không v°ÿt quá K có thể thực hián xong sau

thßi gian đa thąc

Ta gãi bằng chąng ngÃn gán dß kiám tra xác nhÁn câu trÁ lái 'yes' cho

bá dữ liáu vào 'yes' căa bài toán là mát bằng chąng có đá dài bá chÁn bái mát đa

thąc bÁc cá đánh căa đá dài dữ liáu đÁu vào căa bài toán, và viác kiểm tra nó là

bằng chąng xác nhÁn câu trÁ lßi 'yes' đái với đÁu vào đã cho căa bài toán có thể thực hián xong sau thßi gian đa thąc

Nh° vÿa chß ra á trên, các bài toán trong ví dā 2 đều có bằng chąng ngắn

gãn dß kiểm tra để xác nhÁn câu trÁ lßi 'yes' căa bá dữ liáu vào 'yes'

Hoàn toàn t°¢ng tự, có thể đ°a ra khái niám b ằng chąng ngÃn gán dß kiám tra

đá xác nhÁn câu trÁ lái 'no'

Đái với mát sá bài toán viác đ°a ra bằng chąng ngắn gãn xác đánh câu trÁ

lßi 'no' là dß h¢n so với viác đ°a ra bằng chąng ngắn gãn xác đánh câu trÁ lßi 'yes'

Ví dā 3:

Trang 15

Đái với bài toán kiểm tra tính nguyên tá, để đ°a ra bằng chąng ngắn gãn dß

kiểm tra xác nhÁn câu trÁ lßi 'no' cho đÁu vào n căa nó, ta có thể đ°a ra mát °ớc

sá b căa n

Có những bài toán mà viác đ°a ra bằng chąng ngắn gãn dß kiểm tra xác

nhÁn câu trÁ lßi 'yes' cũng nh° 'no' đều là không dß dàng

Ví dā 4:

Cho đ¢n đß thá vô h°ớng G = (V,E) Hßi có đ°ßng đi đ¢n dài nh¿t nái hai đßnh s và t căa đß thá G có tßn t¿i duy nh¿t?

1.2.3 L ớp bài toán P, NP và co-NP

Tr°ớc hÁt, ta nêu khái niám về lớp các bài toán dß giÁi – đó là các bài toán

có thể giÁi đ°ÿc nhß các thuÁt toán thßi gian tính đa thąc

Định nghĩa: Ta gọi P là lớp các bài toán có thể giải được sau thời gian đa thức

Ví dā 5:

Bài toán về tính liên thông căa đß thá có thể giÁi đ°ÿc nhß thuÁt toán với

thßi gian tính là O(n2), vì vÁy, nó là bài toán thuác lớp P Bài toán cây khung nhß nh¿t giÁi đ°ÿc nhß thuÁt toán Prim với thßi gian O(n2), cũng thuác vào lớp

P

Định nghĩa: Ta gọi NP là lớp các bài toán quyết định mà để xác nhận câu trả

lời 'yes' của nó ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra

Ví dā 6:

Các bài toán trình bày trong ví dā 2 đều thuác lớp NP

Định nghĩa: Ta gọi co-NP là lớp các bài toán quyết định mà để xác nhận câu

trả lời 'no' của nó ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra

Ví dā 7:

Các bài toán trình bày trong ví dā 3 đều thuác lớp co-NP

Bài toán trong ví dā 4 còn ch°a biÁt có thuác vào lớp nào trong hai lớp

NP và co-NP hay không

Rõ ràng, nÁu mát bài toán thuác lớp P, thì ta có thể tìm đ°ÿc lßi giÁi căa

nó sau thßi gian đa thąc, và vì thÁ ta cũng có thể xác nhÁn đ°ÿc câu trÁ lßi 'yes'

căa nó (bằng viác giÁi nó) sau thßi gian đa thąc Vì vÁy:

PýNP

Trang 16

Cho đÁn hián nay v¿n đề này v¿n là v¿n đề má

1.2.4 L ớp bài toán NP-khó và NP-đầy đủ

Ta s¿ đ°a ra đánh ngh*a về những bài toán khó nh¿t trong lớp NP: bài toán

NP-đÁy đă (NP-complete)

Định nghĩa:

Một bài toán quyết định A được gọi là NP-đầy đủ nếu như:

i A là bài toán trong NP;

ii Mọi bài toán trong NP đều có thể qui dẫn về A

Nh° vÁy, có thể nói khái niám về "bài toán khó nhất" trong lớp NP đ°ÿc

xây dựng trên c¢ sá phép qui d¿n NÁu t¿t cÁ các bài toán trong NP có thể qui

d¿n về mát bài toán A thì A khó không kém b¿t cą bài toán nào trong sá chúng Điều đáng ng¿c nhiên là sự tßn t¿i căa những bài toán có tính ch¿t nh° vÁy

Khó khn nh¿t là viác tìm ra đ°ÿc mát bài toán nh° vÁy Bái vì hß chúng

ta đã có mát bài toán NP-đÁy đă thì để ta có thể dß dàng chąng minh nhiều bài toán khác là NP-đÁy đă nhß sā dāng kÁt quÁ sau đây

Bß đß: Giả sử bài toán A là NP-đầy đủ, bài toán B là thuộc NP, và bài

toán A qui dẫn về B Khi đó bài toán B cũng là NP-đầy đủ

Định nghĩa: Một bài toán A được gọi là NP-khó (NP-hard) nếu như sự

tồn tại thuật toán đa thức để giải nó kéo theo sự tồn tại thuật toán đa thức để giải một bài toán trong NP

Mát cách không hình thąc, có thể nói rằng nÁu ta có thể giÁi đ°ÿc mát cách hiáu quÁ mát bài toán NP-khó cā thể, thì ta cũng có thể giÁi hiáu quÁ b¿t kỳ bài toán nào trong NP bằng cách sā dāng thuÁt toán giÁi bài toán NP-khó nh° là

mát ch°¢ng trình con

Trang 17

Tÿ đánh ngh*a khó suy ra rằng mßi bài toán đÁy đă đều là khó Tuy nhiên, nh° đã nêu á trên, mát bài toán là NP-khó không nh¿t thiÁt phÁi

NP-là NP-đÁy đă

Tÿ Bá đề suy ra rằng để chąng minh mát bài toán A nào đó là NP-khó, ta

chß cÁn chß ra phép qui d¿n mát bài toán đã biÁt là NP-khó về nó

Ta có bąc tranh t¿m thßi đÁy đă h¢n về phân lớp các bài toán trên hình 1.3:

Hình 1.1 Phân lớp các bài toán

Tÿ phÁn trình bày trên, ta th¿y rằng có r¿t nhiều bài toán ąng dāng quan trãng thuác vào lớp NP-khó, và vì thÁ khó hi vãng xây dựng đ°ÿc thuÁt toán đúng hiáu quÁ để giÁi chúng Mát trong những h°ớng phát triển thuÁt toán giÁi các bài toán nh° vÁy là xây dựng các thuÁt toán gÁn đúng

1.3 Bài toán vß trí c¢ sã không h¿n ch¿ khÁ năng

Bài toán vá trí c¢ sá không h¿n chÁ khÁ nng (Uncapacitated Facility Location Problem - UFLP) có thể đ°ÿc gãi với nhiều tên khác nhau, chẳng h¿n nh°: Simple Plant Location Problem, the location of bank accounts problem, warehouse location problem, the standardization and uniûcation problem, the problem of a nonrecoverable tools optimal system&

Bài toán UFLP đ°ÿc phát biểu nh° sau: Xét mát tÁp ą = {1,2, 3,&, þ} các c¢ sá tiềm nng cung c¿p sÁn phẩm hoÁc dách vā Mát c¢ sá i * ą có chi phí xây dựng là ÿÿ (ÿÿ > 0) Mßi c¢ sá má có thể cung c¿p mát sá l°ÿng không

giới h¿n hàng hóa cho mßi khách hàng Và mát tÁp Ć = {1, 2,&, ý} là tÁp các khách hàng sā dāng dách vā Giá trá ąÿĀ (với ÿ * ą và Ā * Ć) là chi phí vÁn chuyển

tÿ c¢ sá ÿ đÁn khách hàng Ā Māc tiêu là xác đánh mát tÁp hÿp con ÿ căa tÁp hÿp các đáa điểm c¢ sá tiềm nng ą (ÿ ý ą, ÿ ) để cung c¿p cho t¿t cÁ các khách hàng sao cho táng chi phí xây dựng và chi phí vÁn chuyển là nhß nh¿t

Trang 18

là ng°ßi đÁu tiên nghiên cąu mát mô hình vá trí c¢ sá mà không bá h¿n chÁ về sá l°ÿng sÁn phẩm t¿i mßi c¢ sá

T¿t cÁ các ph°¢ng pháp tiÁp cÁn quan trãng có liên quan đÁn bài toán UFLP có thể đ°ÿc chia thành 2 lo¿i chính là: ThuÁt toán chính xác và ph°¢ng pháp dựa trên metaheuristics Các thuÁt toán chính xác để giÁi quyÁt bài toán UFLP chẳng h¿n nh° nhánh cÁn, quy ho¿ch tuyÁn tính (linear programing), thuÁt toán nới lßng Lagrng (Lagrangean relaxation) Cách tiÁp cÁn đái ng¿u (dual approach (DUALLOC)) và ph°¢ng pháp đái ng¿u nguyên thăy (primaldual approaches) Bài toán UFLP đ°ÿc chąng minh là NP khó nên các thuÁt toán chính xác trên có thể không thực sự hiáu quÁ khi giÁi quyÁt các tr°ßng hÿp sá l°ÿng c¢ sá lớn Vì vÁy, đã có r¿t nhiều các nghiên cąu giÁi bài toán UFLP dựa trên ph°¢ng pháp heuristics hay metaheuristics

1.4 Bài toán vß trí c¢ sã có h¿n ch¿ khÁ năng

Bài toán vá trí c¢ sá có h¿n chÁ khÁ nng (Capacitated Facility Location Problem – CFLP) là khái quát hóa bài toán UFLP khi mà những c¢ sá bá giới

Trang 19

h¿n về sá l°ÿng sÁn phẩm MÁc dù mô hình toán hãc căa hai bài toán này không khác nhau nhiều nh°ng các ph°¢ng pháp giÁi bài toán CFLP thì th°ßng khó h¢n

Trong bài toán CFLP, mßi khách hàng có nhu cÁu nh¿t đánh để đáp ąng

và các c¢ sá có h¿n chÁ về công su¿t phāc vā hay h¿n chÁ về sÁn phẩm cung

c¿p, tąc là táng nhu cÁu căa khách hàng đ°ÿc phân công mát c¢ sá không thể v°ÿt quá khÁ nng căa c¢ sá đó CÁ hai bài toán UFLP và CFLP đ°ÿc coi là NP-khó (Garey & Johnson, 1990; Kariv & Hakimi, 1979) Các bài toán vá trí c¢ sá

có thể đ°ÿc nghiên cąu trên không gian rßi r¿c hoÁc liên tāc Khi c¢ sá có thể đ°ÿc đÁt á b¿t cą n¢i nào trong khu vực, bài toán đ°ÿc coi là là liên tāc Khi c¢

sá có thể đ°ÿc đÁt chß t¿i các đáa điểm cā thể, bài toán đ°ÿc coi là rßi r¿c Māc tiêu căa bài toán CFLP là tìm ra Ć vá trí đÁt c¢ sá sao cho táng chi phí xây dựng

và chi phí vÁn chuyển giữa các khách hàng và c¢ sá là nhß nh¿t Chính vì vÁy, bài toán CFLP còn có tên gãi khác là bài toán p-median

Bài toán CFLP đ°ÿc mô tÁ chi tiÁt nh° sau:

Trang 20

tÿ (1.8) đÁn (1.12) đều thßa mãn Trong đó, h¿n chÁ (1.8) đÁm bÁo rằng mßi khách hàng chß đ°ÿc cung c¿p bái mát c¢ sá H¿n chÁ (1.9) đÁm bÁo rằng táng nhu cÁu căa khách hàng đ°ÿc phân công đÁn mát c¢ sá không v°ÿt quá khÁ nng đáp ąng căa c¢ sá đó H¿n chÁ (1.10) đÁm bÁo rằng sá l°ÿng các c¢ sá má

là trong khoÁng ÿ và Ā, đái với bài toán p-median thì sá l°ÿng c¢ sá đ°ÿc má ra chính xác bằng sá Ć H¿n chÁ (1.11) và (1.12) là các điều kián nhá phân

Trong tr°ßng hÿp /ÿ = 1, ∀ ÿ * ą và ĉĀ = Ą, ∀ Ā * Ć thì bài toán CFLP s¿

trá thành bài toán UFLP

Có r¿t nhiều ph°¢ng pháp đã đ°ÿc đề xu¿t để giÁi quyÁt bài toán bao gßm thuÁt toán dựa trên đái ng¿u đ°ÿc Erlenkotter [13] công bá Ý t°áng chính là sā

dāng tiÁp cÁn đái ng¿u quy ho¿ch tuyÁn tính tìm mát cÁn cho hàm māc tiêu Ngoài ra, các thuÁt toán đã đ°ÿc áp dāng để giÁi quyÁt bài toán UFLP cũng đã đ°ÿc các tác giÁ triển khai cho bài toán CFLP

1.5 Bài toán vß trí c¢ sã c¿nh tranh

Với bài toán UFLP hay CFLP, hàm māc tiêu đ°ÿc đ°a ra nhằm tái đa hóa

lÿi nhuÁn căa mát ng°ßi hoÁc giÁm thiểu táng chi phí căa khách hàng với c¢ sá Nh°ng bài toán vá trí c¢ sá c¿nh tranh (Competitive Facilities Location Problem) hay còn đ°ÿc gãi là bài toán r|p-centroid (r|p trung tâm) xét tình huáng

phąc t¿p h¢n khi hai ng°ßi ch¢i Trước và Sau là đái thă căa nhau lÁn l°ÿt chãn

vá trí đÁt c¢ sá Trong khi đó, mßi khách hàng dựa trên sá thích riêng căa hã, lựa

chãn c¢ sá tát nh¿t trong sá t¿t cÁ các c¢ sá đ°ÿc má làm nhà cung c¿p cho mình do đó mang l¿i nhuÁn cho cÁ hai bên

Bài toán (Ĉ|Ć)-trung tâm lÁn đÁu tiên đ°ÿc Hakimi [16] nghiên cąu d°ới

d¿ng bài toán rßi r¿c, có thể phát biểu nh° sau: Cho mát tÁp ą hữu h¿n các đáa điểm có thể chãn để đÁt các c¢ sá dách vā và mát tÁp Ć hữu h¿n căa các vá trí căa khách hàng, ma trÁn (ĂÿĀ) là khoÁng cách tÿ khách hàng Ā * Ć tới c¢ sá ÿ * ą, các

Trang 21

giá trá čĀ xác đánh lÿi nhuÁn căa mát c¢ sá thu đ°ÿc trong viác phāc vā khách

hàng Ā Hai công ty / ng°ßi ch¢i Trước và Sau s¿ má các c¢ sá kinh doanh t¿i các điểm căa tÁp ą ĐÁu tiên, ng°ßi ch¢i Trước má Ć c¢ sá BiÁt đ°ÿc quyÁt đánh căa Trước, Sau s¿ chãn để má ra Ĉ c¢ sá Mßi khách hàng s¿ chãn ra c¢ sá

gÁn hã nh¿t trong sá Ć + Ĉ c¢ sá căa cÁ hai ng°ßi ch¢i đã má ra nh° là nhà cung c¿p cho mình KÁt quÁ là tÁp khách hàng s¿ đ°ÿc chia thành hai phÁn: tÁp

khách hàng lựa chãn Trước và tÁp khách hàng lựa chãn Sau Bài toán đÁt ra là tìm ra Ć vá trí đÁt c¢ sá cho Trước để đ¿t tái đa nh¿t lÿi nhuÁn d°ới sự phÁn ąng

Xét mát đß thá hai phía đÁy đă có trãng sá ă = (ą, Ć, ā), trong đó tÁp đßnh

ą = {1, ,ă} biểu dißn tÁp hÿp các đáa điểm c¢ sá tiềm nng mà hai ng°ßi

ch¢i Trước và Sau có thể lựa chãn để má c¢ sá, tÁp đßnh Ć = {1, , Ą} biểu

dißn tÁp khách hàng, ā = ą × Ć là tÁp các c¿nh có đá đo khoÁng cách t°¢ng ąng ĂÿĀ∀(ÿ, Ā) * ā , mßi Ā * Ć có trãng sá čĀ (čĀ > 0) ąng với doanh thu mà c¢ sá nhÁn đ°ÿc nÁu khách hàng này chãn c¢ sá làm nhà cung c¿p BiÁt rằng

mßi khách hàng s¿ chãn c¢ sá phāc vā gÁn nó nh¿t, trong tr°ßng hÿp khoÁng

cách tới Trước bằng khoÁng cách tới Sau thì khách hàng s¿ chãn Trước

Ta cÁn tìm Ć vá trí trong tÁp ą cho Trước sao cho tái đa hóa doanh thu căa Trước với l°u ý rằng Sau s¿ chãn Ĉ c¢ sá tÿ các đáa điểm còn l¿i cũng nhằm tái

đa hóa doanh thu căa hã khi đã biÁt vá trí dách vā căa Trước

Gãi (Ą, ą) là lßi giÁi cho bài toán (Ĉ|Ć)-trung tâm, trong đó Ą ⊆ ą, |Ą| =

Ć là tÁp các c¢ sá đ°ÿc Trước chãn, và ą ⊆ {ą \ Ą}, |ą | = Ĉ là tÁp các c¢ sá đ°ÿc Sau lựa chãn Với mßi tÁp Ă ⊆ ą và ∀Ā * Ć, ký hiáu Ā(Ā,Ă) =

ăÿĄ{ĂĀÿ| ÿ * Ă} cho khoÁng cách tái thiểu tÿ khách hàng Ā đÁn t¿t cÁ các c¢ sá trong tÁp Ă Khi đó tÁp khách hàng s¿ đ°ÿc chia thành hai phÁn: TÁp khách

hàng lựa chãn Trước āĀ = { Ā * Ć|Ā(Ā, ą) g Ā(Ā, Ą)} và tÁp khách hàng lựa

Trang 22

chãn Sau āÿ = {Ć\āĀ} Doanh thu căa Trước s¿ là ĆĀ = ∑Ā*ā�㕇 čĀ =

∑ čĀ 2 Ćý

Ā*þ còn doanh thu căa Sau s¿ là Ćÿ = ∑ čĀ = ∑ čĀ 2 ĆĀ

Ā*þ

Yêu cÁu bài toán là tìm ra tÁp c¢ sá Ą cho Trước sao cho lÿi nhuÁn căa hã

nhÁn đ°ÿc là nhiều nh¿t cho dù Sau có lựa chãn c¢ sá ą nào đi nữa Bài toán tìm tÁp c¢ sá ą tái °u cho Sau khi biÁt tr°ớc Ą đ°ÿc gãi là bài toán (Ĉ|ĄĆ)-

trung vá ((Ĉ|ĄĆ) 2 ăăĂÿÿĄąÿĂ) và nó đã đ°ÿc Hakimi chąng minh là NP-khó [16] Noltemeier cùng các cáng sự [25] đã chąng minh bài toán tÁp c¢ sá Ą cho

Trước có đá phąc t¿p là ∑ 2ā/ó�㕃

2 ngay cÁ khi ma trÁn (ĂÿĀ) là ma trÁn khoÁng cách Euclide trên mÁt phẳng

Bài toán dưới dạng quy hoạch hai mức Bài toán (Ĉ|Ć)-trung tâm có thể

phát biểu d°ới d¿ng bài toán tìm minimax trong bài toán quy ho¿ch hai mąc

Ký hiáu:

Ďÿ = {1 Ąếċ ĀĈưßā ăở ā¡ ĉở ÿ0 Ąếċ Ąąưÿā Ăạÿ (1.13)

ďÿ = {1 Ąếċ ÿÿċ ăở ā¡ ĉở ÿ0 Ąếċ Ąąưÿā Ăạÿ (1.14)

ĐĀ = {1 Ąếċ ā/áā/ /àĄą Ā đưÿā ĀĈưßā Ć/ÿā Čÿ0 Ąếċ ā/áā/ /àĄą Ā đưÿā ÿÿċ Ć/ÿā Čÿ (1.15) Khi đó X ý {i Iþ | x i ý 1 , } Y ý {i Iþ | y i ý 1} Với mßi khách hàng

Ā, chúng ta đánh ngh*a tÁp c¢ sá ąĀ(Ą) cho phép Sau <thu hút= khách hàng Ā

j j x

j J i

i I i

Trang 23

ý là táng lÿi nhuÁn căa

Trước khi nó má đúng Ć c¢ sá, giá trá này phā thuác vào lßi giÁi tái °u căa Sau

Đã có nhiều thuÁt toán đề xu¿t cho bài toán này [8] [37] [9] ĐÁc biát, Davydov cùng các cáng sự [9] theo tiÁp cÁn metaheuristics đã đề xu¿t hai thuÁt toán VNS (Variable Neighborhood Search) và STS (Stochastic Tabu Search)

giÁi gÁn đúng nhanh bài toán căa Trước, trong đó hã dùng phÁn mềm CPLEX

(mát phÁn mềm căa IBM cung c¿p nhằm giÁi các bài toán quy ho¿ch tuyÁn tính)

để tìm lßi giÁi tái °u cho Sau mßi khi biÁt các c¢ sá căa Trước; Alekseeva cùng các cáng sự [5] phát triển thuÁt toán IM giÁi đúng bài toán Trước, trong đó cũng

sā dāng phÁn mềm CPLEX cho toán Sau KÁt quÁ thực nghiám cho th¿y °u

điểm căa các thuÁt toán này so với các thuÁt toán đã biÁt tr°ớc đó

1.6 Bài toán bß trí vß trí xây dựng

Bá trí vá trí xây dựng (Construction Site Layout Problem - CSLP) là mát nhiám vā quan trãng cÁn đ°ÿc xem xét cẩn thÁn trong công tác quy ho¿ch xây

dựng Māc tiêu căa bài toán CSLP là sắp xÁp các c¢ sá nh°: vn phòng, nhà kho, phòng tr°ng bày, & trong không gian căa mát dự án xây dựng mát cách hÿp lý Thông th°ßng nhiám vā này đ°ÿc thực hián bái các nhà quÁn lý xây

dựng Tuy nhiên, quyÁt đánh này th°ßng đ°ÿc đ°a ra dựa trên trực giác, thí nghiám và kinh nghiám Viác bá trí hÿp lý các c¢ sá s¿ góp phÁn làm giÁm thiểu chi phí xây dựng, thßi gian vÁn chuyển, xā lý vÁt liáu và giÁm thiểu viác di chuyển nguyên liáu hay trang thiÁt bá, đÁc biát đái với các dự án lớn

Có r¿t nhiều hàm māc tiêu cho bài toán đã đ°ÿc công bá, tuy nhiên hai hàm māc tiêu sau đây đ°ÿc các nghiên cąu ráng rãi và phá biÁn nh¿t

1.6.1 Hàm mục tiêu thứ nhất

Hàm māc tiêu thą nh¿t đ°ÿc chia nhß ra thành ba tr°ßng hÿp ąng với ba

lo¿i điều kián khác nhau trong thực tÁ, ta kí hiáu các tr°ßng hÿp này lÁn l°ÿt là TH1, TH2 và TH3

Trang 24

Trong TH1, bài toán đ°ÿc giÁ đánh rằng các vá trí là có s¿n và mßi vá trí đ°ÿc phép đÁt duy nh¿t mát c¢ sá [14] Các c¢ sá đ°ÿc lựa chãn đ°ÿc liát kê trong bÁng 1.1

Electrical, water and other utilities control room UR

Các c¢ sá trong dự án th°ßng có sự kÁt nái khá chÁt ch¿ với nhau, ví dā

nh°: mát nhân viên th°ßng di chuyển giữa Site office và Concrete batch workshop nh°ng l¿i r¿t hiÁm khi di chuyển tÿ Site office tới Storeroom Do đó

các đáa điểm để đÁt các c¢ sá s¿ đ°ÿc lựa chãn cẩn thÁn để giÁm thiểu táng chi phí vÁn chuyển và đó cũng là māc tiêu bài toán Táng khoÁng cách đ°ÿc đánh ngh*a nh° trong hàm (1.19) và (1.20)

ý

Trang 25

và vá trí Ā Do đó, hàm māc tiêu Ă là táng khoÁng cách di chuyển đ°ÿc thực hián

bái nhân viên Hình 1.2 d°ới là ví dā về mát dự án với Ą = 11

Hình 1.2 Các vị trí biểu diễn một dự án xây dựng

TÁn su¿t di chuyển (trong mát ngày) giữa các c¢ sá đ°ÿc cho trong bÁng 1.2

B ảng 1.2 Tần suất di chuyển giữa các cơ sở

Trang 26

đái xąng qua đ°ßng chéo chính Ví dā, tÁn sá di chuyển tÿ SO đÁn BW và ng°ÿc l¿i đều bằng 9

KhoÁng cách giữa các vá trí đo bằng đ¢n vá mét (m) và đ°ÿc cung c¿p á bÁng 1.3 d°ới đây

B ảng 1.3 Khoảng cách giữa các cơ sở (đơn vị m)

TH2 là tr°ßng hÿp má ráng tÿ TH1 với Site gate và Main gate phÁi luôn

đ°ÿc đÁt t°¢ng ąng á vá trí thą 1 và vá trí thą 10 Điều này đ°ÿc xác đánh dựa

trên đßi sáng thực tÁ Trong xây dựng, Main gate và Side gate th°ßng đ°ÿc xác

đánh đÁu tiên và nằm á những vá trí quan trãng thuÁn lÿi cho viác ra vào Do đó,

Main gate và Side gate đ°ÿc đánh vá trên những vá trí xác đánh tr°ớc

TH3 đ°ÿc giÁ đánh rằng các c¢ sá nh°: Site office, Labor residence, Concrete batch shop không thể đ°ÿc đÁt á những vá trí thą 7 và 8 [20] Tr°ßng

hÿp này đ°ÿc sā dāng để minh hãa các h¿n chÁ, trong đó các c¢ sá có kích th°ớc lớn s¿ không đ°ÿc phép đÁt á những vá trí nhß

1.6.2 Hàm mục tiêu thứ hai

Hàm māc tiêu thą hai đ°ÿc đ°a ra với hai lo¿i tr°ßng hÿp ąng với các bá

dữ liáu khác nhau, chúng ta s¿ kí hiáu các tr°ßng hÿp đó lÁn l°ÿt là TH4 và TH5

Māc tiêu bá trí c¢ sá á phÁn này là chi phí khoÁng cách giữa các đái t°ÿng liền kề Bài toán đ°ÿc mô phßng bái Yeh [38] và Mawdesley [23] cùng các cáng sự Bài toán CSLP còn có thể đ°ÿc xây dựng nh° sau:

Trang 27

B ảng 1.4 Ma trận chi phí xây dựng (C)

Trang 28

1 2 3 4 5 6 7 8 9 10 11 12 R1 35 35 30 30 35 15 10 15 6 6 7 10

Trang 29

B ảng 1.7 Ma trận láng giềng (A) trong TH5

Trang 30

Bài toán CSLP đ°ÿc phân lo¿i là bài toán phân lo¿i bÁc hai và nó đã đ°ÿc

chąng minh là NP-khó [24] Có r¿t nhiều ph°¢ng pháp khác nhau để giÁi quyÁt bài toán bao gßm cÁ viác áp dāng các thuÁt toán chính xác chẳng h¿n nh° nhánh

cÁn&hay các thuÁt toán gÁn đúng nh°: PSO, GA, và ACO&

Ph°¢ng pháp GA đã đ°ÿc áp dāng ráng rãi cho viác giÁi quyÁt bài toán CSLP [20] Mawdesley cùng các cáng sự đã đề xu¿t mát giÁi thuÁt mà các chi phí di chuyển đ°ÿc mô phßng sā dāng thuÁt toán GA tng c°ßng (augmented GA) [23] Ka Chi Lam cùng các cáng sự [19] đã đề xu¿t mát thuÁt toán kÁt hÿp thuÁt toán Max-Min Ant System (MMAS) với GA

ThuÁt toán PSO dựa trên quá trình tái °u hóa ng¿u nhiên đ°ÿc l¿y cÁm

hąng tÿ hành vi tự nhiên căa các con vÁt nh° chim, ong, cá Mßi cá thể trong đàn có thể đ°ÿc sā dāng làm đ¿i dián cho mát lßi giÁi căa bài toán Mát bÁy đàn

gßm r¿t nhiều cá thể đ°ÿc khái t¿o á các vá trí ng¿u nhiên s¿ bay về phía vá trí

tái °u theo mát con đ°ßng mà luôn đ°ÿc cÁp nhÁt lÁp đi lÁp l¿i dựa trên vá trí

hián t¿i tát nh¿t căa các cá thể Trong [39] Zhang và Wang đã đề xu¿t mát ph°¢ng pháp dựa trên thuÁt toán PSO để giÁi quyÁt các công trình xây dựng không đßng đều, bài toán vá trí c¢ sá

ThuÁt toán ACO là mát thuÁt toán metaheuristic đ°ÿc l¿y cÁm hąng tÿ sinh hãc bắt ch°ớc hành vi căa kiÁn trong quá trình tìm kiÁm thąc n ThuÁt toán này đã đ°ÿc Dorigo cùng các cáng sự [12] đề xu¿t dựa trên quan sát tÿ đàn

kiÁn thực Trong thực tÁ tự nhiên, các con kiÁn bắt đÁu tìm kiÁm thąc n mát cách ng¿u nhiên Mßi con kiÁn s¿ chãn các h°ớng đi khác nhau và con kiÁn đi trên con đ°ßng ngắn nh¿t s¿ có xu h°ớng để l¿i vÁt mùi pheromone với nßng đá cao h¢n các con đ°ßng khác, nh° vÁy, các con kiÁn lân cÁn s¿ ngāi th¿y vÁt mùi

á các đ°ßng đi có nßng đá cao và có xu h°ớng tham gia vào con đ°ßng ngắn

nh¿t và tiÁp tāc làm tng vÁt mùi lên Các con kiÁn s¿ tiÁp tāc tham gia quá trình này cho đÁn khi phÁn lớn l°ÿng vÁt mùi đ°ÿc hái tā trên con đ°ßng ngắn nh¿t

Để áp dāng ACO, các bài toán tái °u hóa đ°ÿc chuyển thành bài toán tìm con

Trang 31

đ°ßng tát nh¿t trên mát đß thá có trãng sá Ning và Liu [24] đã sā dāng thuÁt toán MMAS nh° mát cÁi tiÁn căa thuÁt toán ACO để giÁi quyÁt bài toán CSLP Gharaie [14] cùng các cáng sự đã áp dāng ACO để giÁi quyÁt bài toán CSLP t*nh trong mát dự án xây dựng

Gulben Calis và Orhan Yuksel [6] trình bày mát thuÁt toán lai giữa ACO

và tìm kiÁm đáa ph°¢ng (2-opt) Trong [7] Gulben Calis và Orhan Yuksel đề

xu¿t mát thuÁt toán kÁt hÿp giữa ACO với Phân tích Parametric (PA) và tìm kiÁm đáa ph°¢ng (2-opt) cho kÁt quÁ tát h¢n so với những nghiên cąu tr°ớc đây Adrian [3] đã đề xu¿t cách thąc lựa chãn tham sá tái °u cho 3 thuÁt toán GA, PSO và ACO Qua thực nghiám, ông kÁt luÁn rằng ACO đ°ÿc xem là nhanh

nh¿t trong sá ba thuÁt toán khi áp dāng vào bài toán CSLP

1.7 Bài toán bß trí c¢ sã theo hàng

Bài toán bá trí c¢ sá theo hàng (Single row facility layout – SRFL) là mát bài toán đÁc biát căa bài toán vá trí c¢ sá, giÁ sā các c¢ sá đ°ÿc sắp xÁp trên mát hàng dài, mßi c¢ sá ÿ có đá dài L i (L i þ0) Mát ma trÁn kích th°ớc nxn đ°ÿc

ký hiáu là Cý (C ij) với C ijlà chi phí vÁn chuyển tÿ c¢ sá ÿ đÁn c¢ sá Ā Mát ph°¢ng án  đ°ÿc gãi là mát cách sắp xÁp các c¢ sá thành hàng theo thą tự

phẳng cắt (cutting plane) Tuy nhiên, các ph°¢ng pháp chính xác đều có nh°ÿc điểm chung là gÁp khó khn khi giÁi quyÁt mát khái l°ÿng lớn các tính toán và

Trang 32

bá nhớ l°u trữ với sá l°ÿng c¢ sá lớn Chính vì vÁy, các thuÁt toán heuristic và metaheuristic đã đ°ÿc đề xu¿t làm giÁm chi phí tính toán và thßi gian ch¿y căa thuÁt toán mà v¿n cho những lßi giÁi ch¿p nhÁn đ°ÿc Solimanpur [34] đề xu¿t thuÁt toán ACO và PSO đ°ÿc Samarghandi đề xu¿t [31] Feristah Ozcelik [27]

đã đề xu¿t giÁi thuÁt lai giữa giÁi thuÁt di truyền và tìm kiÁm đáa ph°¢ng Sinem [33] đề xu¿t thuÁt toán đàn d¢i giÁi bài toán nhanh cho lßi giÁi tát trong thßi gian ngắn

1.8 K ¿t luÁn ch°¢ng

Trên đây chúng ta đã tìm hiểu các kiÁn thąc táng quan về đá phąc t¿p thuÁt toán, lớp các bài toán P, NP, NP-khó Viác đánh giá mát bài toán thuác lớp nào là công đo¿n đÁu tiên và vô cùng quan trãng, nó góp phÁn giúp ng°ßi lÁp trình đánh h°ớng và lựa chãn các thuÁt toán giÁi phù hÿp cho bài toán

Các bài toán điển hình trong lớp các bài toán vá trí c¢ sá cùng các thuÁt toán đã đ°ÿc đề xu¿t giÁi các bài toán đó Chi tiÁt viác đánh giá, so sánh hiáu nng căa các thuÁt toán s¿ đ°ÿc trình bày trong ch°¢ng 3

Trang 33

CH¯¡NG 2 THU ÀT TOÁN TÞI ¯U HÓA ĐÀN KI¾N

Tái °u đàn kiÁn (ACO) là mát ph°¢ng pháp metaheuristic dựa trên ý t°áng mô phßng cách tìm đ°ßng đi tÿ tá tới ngußn thąc n căa các con kiÁn tự nhiên ĐÁn nay nó đ°ÿc cÁi tiÁn đa d¿ng và có nhiều ąng dāng [1] Tr°ớc khi

giới thiáu ph°¢ng pháp ACO, cÁn giới thiáu ph°¢ng thąc trao đái thông tin gián

tiÁp căa các con kiÁn thực và mô hình kiÁn nhân t¿o

2.1 T ć ki¿n thực đ¿n ki¿n nhân t¿o

Khi tìm đ°ßng đi, đàn kiÁn trao đái thông tin gián tiÁp và ho¿t đáng theo ph°¢ng thąc tự tá chąc MÁc dù đ¢n giÁn nh°ng ph°¢ng thąc này giúp cho đàn

kiÁn có thể thực hián đ°ÿc những công viác phąc t¿p v°ÿt xa khÁ nng căa tÿng con kiÁn, đÁc biát là khÁ nng tìm đ°ßng đi ngắn nh¿t tÿ tá đÁn ngußn thąc n

mÁc dù chúng không có khÁ nng đo đá dài đ°ßng đi Tr°ớc hÁt ta xem các đàn

kiÁn tìm đ°ßng đi nh° thể nào mà có thể giÁi quyÁt đ°ÿc các v¿n đề tái °u hóa

kÁ thuÁt toán ACO

Thí nghiám trên cây cÁu đôi

Có nhiều thực nghiám nghiên cąu về hành vi để l¿i vÁt mùi và đi theo vÁt mùi căa loài kiÁn Mát thực nghiám đ°ÿc thiÁt kÁ bái Deneubourg và các đßng nghiáp (Deneubourg, Aron, Goss, & Pasteels, 1990; Goss et al., 1989) nhß dùng

mát chiÁc cÁu đôi nái tÿ tá căa loài kiÁn tới ngußn thąc n nh° minh hãa trong hình 3.1 Hã đã thực nghiám với tß lá đá dài đ°ßng Ĉ = ĂĂ

Ăý giữa hai nhánh căa chiÁc cÁu đôi khác nhau, trong đó ĂĂ là đá dài căa nhánh dài còn Ăý là đá dài căa nhánh ngắn

Trong th ực nghiệm thứ nhất, chiÁc cÁu đôi có hai nhánh bằng nhau (Ĉ =

1, hình 3.1.a) Ban đÁu, kiÁn lựa chãn đ°ßng đi mát cách tự do đi tÿ tá đÁn ngußn thąc n, cÁ hai nhánh đều có kiÁn đi, nh°ng sau mát thßi gian các con

kiÁn này tÁp trung đi theo cùng mát nhánh KÁt quÁ có thể đ°ÿc giÁi thích nh°

Trang 34

sau: Ban đÁu không có vÁt mùi nào trên cÁ hai nhánh, do đó các kiÁn lựa chãn nhánh b¿t kỳ với xác su¿t nh° nhau Mát cách ng¿u nhiên, s¿ có mát nhánh có

sá l°ÿng kiÁn lựa chãn nhiều h¢n nhánh kia Do kiÁn để l¿i vÁt mùi trong quá trình di chuyển, nhánh có nhiều kiÁn lựa chãn s¿ có nßng đá mùi lớn h¢n nßng

đá mùi căa nhánhcòn l¿i Nßng đá mùi trên c¿nh lớn h¢n s¿ ngày càng lớn h¢n

vì ngày càng có nhiều kiÁn lựa chãn Cuái cùng, hÁu nh° t¿t cÁ các kiÁn s¿ tÁp trung trên cùng mát nhánh.Thực nghiám này cho th¿ylà sự t°¢ng tác đáa ph°¢ng giữa các con kiÁn nhß thông tin gián tiÁp qua vÁt mùi để l¿i mà có thể điều chßnh

ho¿t đáng v* mô căa kiÁn

Hình 2.1 Thí nghiệm trên cây cầu đôi

(a) Hai nhánh có đá dài bằng nhau

(b) Hai nhánh có đá dài khác nhau

Trong thực nghiệm thứ hai (xem hình 2.1b), đá dài giữa nhánh dài h¢n

g¿p đôi nhánh ngắn h¢n (tß lá Ĉ = 2) Trong tr°ßng hÿp này, sau mát thßi gian

t¿t cÁ các kiÁn chãn đi duy nh¿t theo đ°ßng ngắn h¢n Cũng nh° thực nghiám

thą nh¿t, ban đÁu kiÁn lựa chãn đ°ßng đi theo hai nhánh nh° nhau, ta có thể giÁ

sā mát nāa kiÁn đi theo nhánh ngắn và mát nāa đi theo nhánh dài (mÁc dù ng¿u nhiên nh°ng v¿n có thể mát nhánh s¿ có nhiều lựa chãn h¢n nhánh khác) Tuy nhiên thực nghiám này khác với thực nghiám trên: bái vì mát nhánh ngắn h¢n nhánh kia nên các kiÁn lựa chãn theo nhánh ngắn h¢n s¿ nhanh chóng quay trá l¿i tÿ ngußn thąc n về tá và phÁi lựa chãn giữa nhánh ngắn và nhánh dài, nßng

đá mùi trên nhánh ngắn đang cao h¢n nßng đá mùi trên nhánh dài, do đó nó °u tiên lựa chãn đi theo nhánh ngắn h¢n ThÁt thú vá, chúng ta có thể quan sát th¿y

rằng, với nhánh dài g¿p đôi nhánh ngắn thì không phÁi t¿t cÁ các kiÁn cũng đều

đi theo nhánh ngắn h¢n và phÁi m¿t mát thßi gian nữa thì các kiÁn này s¿ đi theo nhánh ngắn h¢n Điều này đ°ÿc hiểu là mát lo¿i thm dò, tìm đ°ßng mới

Trang 35

Mát điều thú vá nữa là điều gì s¿ xÁy ra nÁu sau khi hái tā l¿i xu¿t hián

mát đ°ßng mới tÿ tá đÁn ngußn thąc n Viác này đ°ÿc thực nghiám nh° sau: Ban đÁu tÿ tá đÁn ngußn thąc n chß có mát nhánh dài và sau 30 phút thì thêm mát nhánh ngắn (xem hình 3.2) Trong tr°ßng hÿp này, nhánh ngắn th°ßng không đ°ÿc kiÁn chon mà chúng tÁp trung đi trên nhánh dài Điều này có thể

giÁi thích bái nßng đá vÁt mùi trên c¿nh dài cao và do sự bay h¢i chÁm căa vÁt mùi nên đ¿i đa sá các con kiÁn lựa chãn các nhánh dài (vì nßng đá vÁt mùi cao)

và hành vi này tiÁp tāc căng cá trên nhánh dài, ngay cÁ khi mát nhánh ngắn xu¿t

hián Viác bay h¢i vÁt mùi có thể có lÿi cho viác tìm đ°ßng mới, ngh*a là viác bay h¢i có thể giúp kiÁn quên đi đ°ßng đi tái °u cāc bá để tìm đ°ßng đi mới tát h¢n có thể đ°ÿc khám phá

Hình 2.2 Thí nghiệm ban đầu chỉ một nhánh dài và sau 30 phút thêm nhánh

ng ắn 2.1.2 Ki ến nhân tạo

Qua thực nghiám cây cÁu đôi ta nhÁn th¿y rằng đàn kiÁn trong tự nhiên có thể sā dāng luÁt di chuyển theo xác su¿t dựa trên thông tin đáa ph°¢ng để tìm đ°ÿc đ°ßng đi ngắn nh¿t giữa hai đáa điểm VÁt mùi căa đàn kiÁn làm ta liên t°áng tới cách hãc tng c°ßng (reinforcement learning) cho bài toán chãn tác đáng tái °u gÿi má mát mô hình mô phßng cho bài toán tìm đ°ßng đi ngắn nh¿t giữa hai nút (t°¢ng ąng là tá và ngußn thąc n) trên đß thá, trong đó dùng các tác tā (agent) làm con kiÁn nhân t¿o

Tuy nhiên, trong các bài toán ąng dāng thì các đß thá phąc t¿p h¢n, tÿ mßi đßnh có nhiều c¿nh nên nÁu mô phßng trung thực với kiÁn tự nhiên thì nhiều con kiÁn s¿ đi luẩn quẩn và hiáu quÁ s¿ r¿t kém Vì vÁy ng°ßi ta dùng đa tác tā (multiagent) làm đàn kiÁn nhân t¿o, trong đó mßi con kiÁn có nhiều khÁ nng h¢n kiÁn tự nhiên Mßi con kiÁn nhân t¿o (về sau s¿ gãi là kiÁn) có bá nhớ riêng,

có khÁ nng ghi nhớ các đßnh đã thm trong hành trình và tính đ°ÿc đá dài

Trang 36

đ°ßng đi nó chãn Ngoài ra các con kiÁn có thể trao đái thông tin có đ°ÿc với nhau, thực hián tính toán cÁn thiÁt, cÁp nhÁt mùi&

Nhß các con kiÁn nhân t¿o này Dorigo [12] đã xây dựng há kiÁn (AS) giÁi bài toán ng°ßi chào hàng, hiáu quÁ căa nó so với các ph°¢ng pháp mô phßng tự nhiên khác nh° SA và GA đã đ°ÿc kiểm chąng bằng thực nghiám và đ°ÿc phát triển và ąng dāng phong phú với tên gãi chung là ph°¢ng pháp ACO

2 2 Ph°¢ng pháp ACO cho bài toán T¯TH tßng quát

2 2.1 Đồ thị cấu trúc

Xét bài toán tái °u tá hÿp (T¯TH) táng quát d°ới d¿ng bài toán cực tiểu hoá (ÿ, Ą,), trong đó ÿ là tÁp hữu h¿n tr¿ng thái, Ą là hàm māc tiêu xác đánh trên ÿ còn  là các ràng buác để xác đánh ÿ qua các thành phÁn căa tÁp hữu h¿n

ÿ và các liên kÁt căa tÁp này Các tÁp ÿ, ÿ và có các đÁc tính sau

1) Ký hiáu Ą là tÁp các xâu trong ÿ đá dài không quá /: Ą = {< ċ0, , ċā >

ċÿþÿ ÿ  ā  /}, khi đó mßi ph°¢ng án s trong S đ°ÿc xác đánh nhß ít nh¿t

mát xâu trong X nh° á điểm 2

2) Tßn t¿i tÁp con Ą∗căa Ą và ánh x¿  tÿ Ą∗ lên ÿ sao cho 21(ĉ) không rßng

với mãi ĉþÿ Trong đó tÁp Ą∗có thể xây dựng đ°ÿc tÿ tÁp con ÿ0 nào đó căa

ÿ nhß má ráng tuÁn tự d°ới đây

māc 3.2.2

Ngày đăng: 25/11/2024, 08:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN