Theo ý tưởng này, các thuật toán ACO sử dụng thông tin heuristic kết hợp thông tin học tăng cường xem [6] qua các vết mùi của các con kiến nhân tạo artificial ant để giải các bài toán tố
Trang 11
MỤC LỤC
MỤC LỤC 1
DANH SÁCH CÁC HÌNH VẼ 3
DANH SÁCH CÁC BẢNG 4
BẢNG TỪ VIẾT TẮT 5
TỪ KHÓA 6
MỞ ĐẦU 7
CHƯƠNG 1 : TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG 9
10
n TSP 10
1.1.2 13
1.2 Phươ ư 16
16
17
21
22
1.3 ư 24
1.3.1 ng 24
1.3.2 25
ương 26
a s 26
1.3.5 S ng c viên 28
29
CHƯƠNG 2 : BÀI TOÁN LẬP LỊCH SẢN XUẤT VÀ CÁC PHƯƠNG PHÁP GIẢI CHÍNH 30
2.1 Giới thiệu bài toán lập lịch sản xuất (Job shop scheduling - JSS) 30
2.2 Các cách tiếp cận truyền thống 32
2.2.1 Bài toán JSS trong trường hợp hai máy 32
2.2.2 Bài toán JSS với số máy lớn hơn 2 33
Trang 22
40
3.1 Bài toán lập lịch sản xuất (Job shop scheduling - JSS) 40
3 lịch sản xuất 41
3 41
3 43
3 43
3 44
3.2.5 ACO giải bài toán lập lịch sản xuất 46
3.2.6 Độ phức tạp các thuật toán MMAS, SMMAS, MLAS 47
CHƯƠNG 4 : 49
4.1 49
4.2 49
4.2.1 Kết quả thực nghiệm của MMAS 50
4.2.2 Kết quả thực nghiệm của MMAS, SMMAS và MLAS 52
N 54
TÀI LIỆU THAM KHẢO 55
Trang 33
DANH SÁCH CÁC HÌNH VẼ
Hình 1 : Lược đồ thuật toán ACO 18
Hình 2: Lươc đồ của thuật toán nhánh cận 35
Hình 3: Lược đồ thuật toán di truyền 37
Hình 4: Ma trận thể hiện trình tự và thời gian xử lý 41
Hình 5: Đồ thị cấu trúc cho bài toán lập lịch sản xuất 2 công việc thực hiện trên 3 máy 41
Hình 6: Một hành trình của kiến trên đồ thị cấu trúc 42
Hình 7: Lược đồ thuật toán ACO giải bài toán lập lịch sản xuất 47
Trang 44
DANH SÁCH CÁC BẢNG
Bảng 1: Bài toán lập lịch sản xuất 3 công việc thực hiện trên 3 máy 31
Bảng 2: Bài toán lập lịch sản xuất 10 công việc thực hiện trên 10 máy 31
Bảng 3: Bài toán gia công trên 2 máy 32
Bảng 4: Bài toán lập lịch sản xuất gồm 2 công việc thực hiện trên 3 máy 41
Bảng 5: Độ phức tạp của các thuật toán MMAS, SMMAS, MLAS 48
Bảng 6: Các tham số sử dụng cho các thuật toán ACO 50
Bảng 7: Kết quả thực nghiệm MMAS với 4 bộ dữ liệu Orb1 đến Orb4 50
Bảng 8: Kết quả thực nghiệm MMAS cho các bộ dữ liệu chuẩn 51
Bảng 9: So sánh kết quả tốt nhất sau 10 lần chạy của MMAS, SMMAS và MLAS 52
Bảng 10: So sánh kết quả trung bình sau 10 lần chạy của MMAS, SMMAS và MLAS 53
Trang 55
BẢNG TỪ VIẾT TẮT
(Tối ưu hóa đàn kiến)
(Hệ kiến MMAS trơn)
(Hệ kiến đa mức MLAS)
(Bài toán người chào hàng)
(Bài toán lập lịch sản xuất)
Trang 66
TỪ KHÓA
Ant colony optimization algorithm, ACO convergence, Job shop scheduling problem, Ant System, Max Min Ant System, Ant Colony System
Trang 77
MỞ ĐẦU
Trước đây, công việc lập kế hoạch sản xuất thường phụ thuộc vào kinh nghiệm của người phụ trách lập lịch và vấn đề này mất rất nhiều thời gian tính toán trong khi kết quả lại có ảnh hưởng lớn đến toàn bộ quá trình sản xuất Ngày nay, quy mô sản xuất ngày càng lớn, số lượng ngày càng nhiều, vừa mang tính cạnh tranh cao về chất lượng sản phẩm vừa phải đáp ứng được yêu cầu về thời gian, đồng nghĩa với việc đòi hỏi phải có một lịch sản xuất hợp lý, tối ưu trên
giảm thời gian sản xuất, mang lại hiệu quả kinh tế đã
u trong thời gian đa thức Vì vậy
Luận văn đi sâu nghiên cứu các phương pháp cập nhật mùi trong các thuật
văn , dựa trên phân tích toán học các đặc tính hội tụ của vết mùi, chúng tôi đã
hai mức để từ đó các Ưu điểm của phương pháp đề xuất kiểm kết quả trên các bộ dữ liệu chuẩn (benchmark data) của
Trang 8Chương 2 : B sản xuất và các phương pháp giải chính
Trang 99
CHƯƠNG 1 TỐI ƯU HÓA ĐÀN KIẾN VÀ ỨNG DỤNG
Tối ưu hóa đàn kiến (Ant Colony Optimization - ACO) là cách tiếp cận
meta-heuristic tương đối mới (xem [5], [6], [9], [10]) được đề xuất bởi Dorigo vào năm
1991 mô phỏng hành vi tìm đường
-khó
Trên đường đi của mình các con kiến thực để lại một vết hóa chất được gọi là
vết mùi (pheromone trail), đặc điểm sinh hóa học củ
chọn để đi, nhờ cách giao tiếp mang tính gián tiếp và cộng đồng (xem [5]
Theo ý tưởng này, các thuật toán ACO sử dụng thông tin heuristic kết hợp
thông tin học tăng cường (xem [6]) qua các vết mùi của các con kiến nhân tạo
(artificial ant) để giải các bài toán tối ưu tổ hợp khó bằng cách đưa về bài toán
tìm đường đi tối ưu trên đồ thị cấu trúc tương ứng được xây dựng từ đặc điểm
System - AS) (Travelling Salesman Problem -
Trang 1010
6 (ANT’ 98, ANT’ 2000, ANTS 2002, ANTS 2004, ANTS 2006, ANTS 2008)
-(xem http://iridia.ulb.ac.be/~ants/)
1.1
(xem [5], [6], [7], [9]
với đồ thị đối xứng Với n lớn thì ta không thể tìm hết các đường đi và chỉ
có thể tìm được một lời giải đủ tốt bằng các phương pháp tìm kiếm địa phương, tìm kiếm heuristic, tính toán tiến hóa h
Trang 11
][)]
([
][)]
([)
k
t t
Trang 1212
Cập nhật mùi
)1,0(
:
m
k
k ij ij
1
)()
()1()1
0
)(
1)
Trang 1313
Nhƣ
Trang 141( ij L 1gl t
Trang 1515
( max( min
:
}0,)1(max{
))((min
1
ij ij
t w L
(i,j) w(t) (1.8)
Trang 16là hàm mục tiêu xác định trên S còn là các ràng buộc để xác định S qua các thành phần của tập hữu hạn C và các liên kết của tập này Các tập S, C, và có các đặc tính sau :
C = {c1, c2, …, cn} là tập hữu hạn gồm n thành phần Ta ký hiệu X là tập các dãy trong C có độ dài không quá h :
X={<u0, …, uk> | uk C i k h} Tồn tại tập con X*
của X và ánh xạ từ X* lên S sao cho 1 ( )
s không rỗng với mọi s S và là tập xây dựng đƣợc từ tập con C0 của C và theo đặc tính 3
đi đƣợc mở rộng từ mỗi u0 trong C0
Trang 17và chọn lời giải tốt nhất bằng phương pháp vét cạn nhưng trên thực
tế, do sự bùng nổ tổ hợp thì với số phần tử n của C lớn thì không thực hiện được
và bài toán được xét thuộc dạng NP-khó Thông thường ta sẽ có các phương pháp heuristic để tìm lời giải đủ tốt cho bài toán Các thuật toán ACO kết hợp thông tin heuristic này với phương pháp học tăng cường nhờ mô phỏng hành vi của đàn kiến để tìm lời giải tốt hơn
Giả sử với mỗi cạnh (i, j) C có trọng số heuristic hi,j để định hướng chọn thành phần mở rộng là j khi thành phần cuối cùng của xk là i theo thủ tục nêu trên (hi,j>0 (i,j)) Đàn kiến m con sẽ xây dựng lời giải trên đồ thị đầy đủ có trọng số
G = (V, E, H, ) trong đó V là tập đỉnh tương ứng với tập thành phần C ở trên, E
là tập các cạnh, H là vector các trọng số heuristic của cạnh tương ứng còn là vector vết mùi tích lũy được ban đầu với khởi tạo bằng 0 Đồ thị G được gọi là
đồ thị cấu trúc của bài toán
Với điều kiện dừng đã chọn (giả sử như là với số lần lặp Nc xác định trước) các thuật toán được mô tả hình thức như sau :
Trang 18Hình 1 : Lược đồ thuật toán ACO
Sau khi khởi tạo các tham số và cường độ mùi ban đầu, các con kiến thực hiện thủ tục xây dựng lời giải Trong mỗi lần lặp t, mỗi con kiến chọn ngẫu nhiên một đỉnh xuất phát trong C0 và kết hợp thông tin heuristic với thông tin mùi để xây dựng lời giải ngẫu nhiên theo thủ tục mở rộng tuần tự nêu ở phần trước với xác suất chọn đỉnh tiếp theo như sau :
Quy tắc chuyển trạng thái :
Giả sử con kiến s đã xây dựng x k u0, ,u , nó sẽ chọn đỉnh y thuộc J(xk)
để x k 1 u0, ,u,y với xác suất :
) (
, ,
, , )
,
| (
k
x J j
j u j u
y u y u
h x
với S Ký hiệu w(t) là trạng thái tốt nhất các con kiến tìm được cho tới lúc
0
) (x k J y
ngược lại
Trang 1919
này và wi(t) là lời giải tốt nhất trong bước lặp, ta sẽ quy ước chọn w(t) = w(t-1) trong trường hợp wi
(t)=w(t-1)và quan tâm đến lời giải gần đúng w(t) này Trong
lý thuyết để tiện cho việc chứng minh, các tác giả đã chọn w(t) còn trong thực nghiệm wi(t) lại tỏ ra hiệu quả hơn do việc này tăng cường tính khám phá của thuật toán Do giả thiết (3.iii) của bài toán và để tiện cho trình bày, về sau ta không phân biệt mỗi *
X
x với trạng thái s S tương ứng
Giả sử g là một hàm giá trị thực xác định trên S sao cho 0 g(s) , s S và
Quy tắc ACS : Quy tắc này phỏng theo quy tắc cập nhật mùi của thuật toán
hệ đàn kiến ACS bao gồm cả cập nhật địa phương và cập nhật toàn cục
Cập nhật mùi địa phương : nếu con kiến l thăm cạnh (i, j), tức là (i, j) s(l) thì
cạnh này sẽ thay đổi mùi theo công thức :
1
) 1
1
Quy tắc MMAS : Quy tắc này thực hiện theo cách cập nhật mùi của thuật
toán MMAS, sau khi mỗi con kiến đề xây dựng xong lời giải ở mỗi bước lặp, vết mùi được thay đổi theo công thức sau :
Trang 2020
}0,)1(max{
))((min
1
ij ij
t w L
, trong [15
Quy tắc ba mức (xem [15]) : Quy tắc cập nhật mùi mới đƣợc đề xuất là lai
giữa hai quy tắc nói trên, theo quy tắc này vết mùi tại cạnh (i, j) đƣợc cập nhật toàn cục theo công thức (1.11) trong đó :
1
2 ,
))((w t g
1)1(
ij
(i,j) w(t)
) ( ) ,
)(),(: i j s l l
ngƣợc lại
Trang 21g
m ax 1
0 ,
1 0
m in min{ , ,g*} j max{ , ,g*}
0
m in 1 g(w(t)), t m ax g*
: Định lý 1.2.3.1 ([15]) :
Nếu cường độ các vệt mùi nằm trong khoảng [ m in, m ax] thì với xác suất 1 lời giải tốt nhất w(t) luôn hội tụ đến lời giải tối ưu
Các thuật toán ACO hiện nay (hay theo hai cách cập nhật mùi nói trên) đều thỏa mãn tính chất này Nhưng về mặt thực tế, các bài toán tối ưu không thể tìm
ra được lời giải tối ưu nên định lý không có ý nghĩa thực tế
)) 1 ( (
))
(
(w t g w t
Trang 22) 1 ln(
)) ( (
ln
* 1
t w g T
t nếu dùng quy tắc cập nhật mùi MMAS
} , max{
Trang 24sẽ giải thích việc này qua một ví dụ Khi áp dụng ACO cho bài toán TSP, vệt mùi
ij đƣợc sử dụng trong các ứng dụng ACO vào bài toán này thể hiện độ thích hợp
của việc chọn trực tiếp thành phố j sau khi đã thăm thành phố i, hay nó cung cấp thông tin để đánh giá mối quan hệ giữa thành phố i và thành phố j Ngoài ra ta
cũng có thể coi ij là đánh giá xem khả năng thành phố i và thành phố j có nằm trong một hành trình hay nó là độ thích hợp vị trí
) các kết quả đạt đƣợc là tốt hơn với vệt mùi ij là độ thích hợp khi sắp công việc j vào vị trí i Đó là do vai trò khác nhau của các hoán vị kết quả trong hai bài toán đó Trong bài toán TSP, các hoán vị là tuần hoàn và chỉ có duy nhất thứ tự quan hệ giữa các thành phần mới là quan trọng và chú ý rằng hoán vị (1 2 … n) và hoán vị ' -
(cũng nhƣ các bài toán lập lịch khác), và '
biểu diễn hai lời giải khác nhau với những chi
Trang 2525
phí khác nhau hoàn toàn Tuy nhiên cần chú ý rằng, trong lý thuyết cả hai lựa chọn đều là có thể bởi vì bất kỳ lời giải nào trong không gian tìm kiếm với hai cách thể hiện này
Công việc định nghĩa các vệt mùi rất quan trọng và một sự lựa chọn tồi tại một bước sẽ có thể dẫn đến giảm hiệu quả của thuật toán May mắn là vời nhiều bài toán, lựa chọn theo trực giác đồng thời
1.3.2 tin heuristic
Việc sử dụng các thông tin heuristic để xây dựng lời giải của các con kiến trực tiếp theo xác suất là quan trọng vì nó tận dụng các tri thức xác định của bài toán Các tri thức này thường là những yếu tố có sẵn tĩnh hoặc động Trong các bài toán tĩnh, các thông tin heuristic sẽ chỉ được tính một lần trước khi bắt đầu
thuật toán, ví dụ trong ứng dụng TSP độ dài d ij của cung nối thành phố i và thành phố j định nghĩa được thông tin heuristic ij 1 /d ij Các thông tin heuristic tĩnh có các lợi điểm sau : (i) dễ tính toán, (ii) chỉ phải tính một lần trước khi bắt đầu thuật toán, và (iii) tại mỗi vòng lặp của thuật toán ACO có thể tính trước một bảngij các giá trị ij(t)[ ij] sẽ tiết kiệm được đáng kể thời gian tính toán
Trong trường hợp bài toán động, thông tin heuristic phụ thuộc vào các lời giải thành phần được xây dựng cho nên nó được tính tại mỗi bước đi của con kiến Điều này gây ra chi phí tính toán lớn nhưng có thể đạt được độ chính xác cao tr
Cuối cùng, chú ý rằng việc sử dụng các thông tin heuristic là quan trọng cho các dạng thuật toán ACO, nó được kết hợp với tìm kiếm địa phương (xem [22])
để cải tiến lời giải Vì sự thật là tìm kiếm địa phương có được những thông tin chi phí để cải tiến lời giải theo cách trực tiếp hơn Một cách may mắn các thuật
Trang 26Bằng thực nghiệm, có thể thấy sự kết hợp của các lời giải tham lam thích nghi theo xác suất với các thuật toán tìm
Mặc dù trong thực tế, việc sử dụng các thuật toán tìm kiếm địa phương là một yếu tố quyết định tính hiệu quả cho các ứng dụng ACO, nhưng chú ý rằng các thuật toán ACO thực hiện dễ dàng thì các thuậ
Bất kỳ thuật toán metaheuristic hiệu quả tốt nào cũng có sự kết hợp giữa việc
sử dụng kinh nghiệm tìm kiếm với việc đi thăm các không gian tìm kiếm mới Trong ACO, có một số cách để đạt được sự cân bằng này, thông thường la qua sự
Trang 2727
quản lý các vệt mùi Thực tế, các vệt mùi đưa ra một sự phân bố xác suất trên không gian tìm kiếm và xác định các phần của không gian tìm kiếm có thể có các lời giải thường xuyên h
Cách đơn giản nhất để sử dụng kinh nghiệm tìm kiếm của các con kiến là thiết đặt việc cập nhật mùi với một hàm đo hiệu quả của lời giải được cho bởi mỗi con kiến đặc biệt Chưa hết, xu hướng này thường không có được những lời giải tốt như trong thực nghiệm của bài toán TSP Vì thế trong nhiều thuật toán
ACO chiến thuật elitist tìm ra những lời giải tốt nhất trong khi cập nhật các vệt
sự tính toán Hiển nhiên là phải tránh sự tập trung quá mạnh ở các vùng tốt bên ngoài không gian tìm kiếm khiến cho thuật toán ACO gặp phải hiện tựơng tắc nghẽn
Có một số cách để tránh hiện tượng này, ví dụ như trong thuật toán ACS các con kiến sử dụng các luật cập nhật mùi cục bộ khi xây dựng lời giải và thuật toán MMAS sử dụng một cận dưới của các cường độ vệt mùi sao cho cấp độ nhỏ nhất của mở rộng không gian luôn được đảm bảo MMAS đồng thời có sử dụng việc khởi tạo lại các vệt mùi như là một cách mở rộng không gian tìm kiếm Kinh nghiệm cho thấy việc khởi tạo lại các vệt mùi kết hợp với các lựa chọn cập nhật
Trang 2828
vệt mùi giúp tìm kiếm trên các vùng không gian khác nhau Cuối cùng, một điều quan trọng trong cân bằng giữa khai thác và khám phá đó là các tham số và , định nghĩa sự ảnh hưởng của vệt mùi và thông tin heuristic
1
Một trong những vấn đề khó khăn khi áp dụng các thuật toán ACO đó là gặp phải những tập láng giềng kích thước lớn trong quá trình xây dựng lời giải Thực
tế, một con kiến bao giờ cũng gặp phải một tập láng giềng kích thước lớn để lựa
chọn Ví dụ thực tế trên như là bài toán TSP và SCP (The Set Covering Problem)
với các bộ dữ liệu lớn chẳng hạn Trong các trường hợp này, có thể giảm tải các vấn đề nêu trên bằng việc sử dụng các danh sách ứng cử viên Danh sách ứng cử viên là tập con của tập các láng giềng hứa hẹn của lời giải hiện tại Chúng được tạo ra dựa trên các thông tin tri thức có sẵn của bài toán nếu có hoặc các thông tin động được sinh ra Việc sử dụng này cho phép các thuật toán ACO tập trung vào các thành phần ưa thích của chúng và giảm không gian tìm kiếm
Một ví dụ khi xem xét các ứng dụng ACO cho bài toán TSP Bài toán TSP thường cho những kết quả tối ưu trên những đồ thị nhỏ bao gồm các thành phố và các cạnh nối giữa chúng sao cho mỗi một thành phố chỉ có một ít các láng giềng
gần nhất Ví dụ như một bài toán TSP trong thư viện TSPLIB là pr2392.tsp với
2392 thành phố đạt lời giải tối ưu trên đồ thị con với các láng giềng 8-gần nhất
Kỹ thuật này có thể dùng để sử dụng để xây dựng các danh sách ứng cử v
Trong quá trình xây dựng lời giải, con kiến luôn lựa chọn thành phố trong số các tập láng giềng của nó, chỉ
có những thành phố như thế mới được chọn
Trong các thuật toán ACO việc sử dụng các danh sách ứng cử viên hay các tiếp cận tương tự chưa được nghiên cứu nhiều Các kỹ thuật sử dụng danh sách ứng cử viên được sử dụng trong các thuật toán như Tabu Search hay GRASP có thể ứng dụng cho việc áp dụng các chiến lược ứng cử viên hiệu quả cho các thuật toán ACO