As a bio-inspired computational paradigm, Ant colony optimization (ACO) has been applied with great success to a large number of discrete optimization problems. However, up to now, there are few adaptations of ACO to continuous optimization problems, whereas these problems are frequent occurrence. Moreover, almost all of the adaptations use marginal distribution models and the pheromone update rules used are quite different than those of the original ACO algorithms. In some recent papers, Shigeyoshi Tsutsui and colleagues have proposed two algorithms for continuous optimization called the Aggregation Pheromone System (APS) and the enhanced APS (eAPS). These algorithms apply the same pheromone update rule in a way similar to those of the original ACO algorithms, and as a result the aggregation pheromone density eventually becomes a mixture of multivariate normal probability density functions. However, both of the above algorithms do not guarantee to find out a solution converging to an optimal solution. Based on an insight into the mathematical techniques used to prove convergence of ACO algorithms on the discrete domain, we propose an improved APS (iAPS). iAPS inherits APS’s ant-colony based approaches and allows a stronger exploration of better solutions found and at the same time; it can prevent premature stagnation of the search. Consequently, iAPS has a higher probability of finding out an optimal solution. We hope iAPS will be applied for realistic optimization problems in agricultural fields. Keywords: Aggregation pheromone system, Ant colony optimization (ACO), approximation algorithm, metaheuristics.
Trang 1Hệ CộNG DồN “MùI” CảI TIếN TRONG TốI ƯU HóA BầY KIếN
An Improved Aggregation Pheromone System in the Ant Colony Optimization
Nguyễn Hoàng Huy * , Nguyễn Hải Thanh *
SUMMARY
As a bio-inspired computational paradigm, Ant colony optimization (ACO) has been applied with great success to a large number of discrete optimization problems However, up to now, there are few adaptations of ACO to continuous optimization problems, whereas these problems are frequent occurrence Moreover, almost all of the adaptations use marginal distribution models and the pheromone update rules used are quite different than those of the original ACO algorithms In some recent papers, Shigeyoshi Tsutsui and colleagues have proposed two algorithms for continuous optimization called the Aggregation Pheromone System (APS) and the enhanced APS (eAPS) These algorithms apply the same pheromone update rule in a way similar to those of the original ACO algorithms, and as a result the aggregation pheromone density eventually becomes a mixture of multivariate normal probability density functions However, both of the above algorithms do not guarantee to find out a solution converging to an optimal solution Based on an insight into the mathematical techniques used to prove convergence of ACO algorithms on the discrete domain, we propose
an improved APS (iAPS) iAPS inherits APS’s ant-colony based approaches and allows a stronger exploration of better solutions found and at the same time; it can prevent premature stagnation of the search Consequently, iAPS has a higher probability of finding out an optimal solution We hope iAPS will be applied for realistic optimization problems in agricultural fields Keywords: Aggregation pheromone system, Ant colony optimization (ACO), approximation algorithm, metaheuristics
1 ĐặT VấN Đề
Trong các nghiên cứu về nông nghiệp và
sinh học, chúng ta gặp nhiều bài toán tối ưu
Nhiệm vụ chính của các bài toán này là phải
xây dựng một phương pháp hiệu quả để tìm ra
những giải pháp tối ưu nhất Vấn đề này, thực
chất được đưa về bài toán tìm giá trị nhỏ nhất
của một hàm số f x ( ) trên miền X ⊂ Rn
Trong những năm gần đây, một số nghiên cứu
(Bilchev G and Parmee I C., 1995; Dreo J
and Siarry P., 2002; Pourtakdoust S.H and
Nobahari H., 2004; Socha K., 2004; Tsutsui S.,
2006; Wodrich M and Bilchev G., 1997) đã
triển khai một số phương pháp tiếp cận phương
pháp tối ưu hóa bầy kiến (ACO) để giải bài
toán tối ưu liên tục trên
Phương pháp ACO là một phương pháp
tính toán hiệu quả trong lĩnh vực tính toán tự
nhiên mới mẻ hiện nay: trí tuệ bầy đàn (swarm intelligence) (Engelbrecht A.P., 2005) Mục
đích của những mô hình tính toán trí tuệ bầy
đàn là mô phỏng tập quán đơn giản và những tác động cục bộ đối với môi trường xung quanh của từng cá thể, từ đó thu được những tập quán của bầy đàn phức tạp hơn có thể được sử dụng
để giải quyết những bài toán khó trong thực tế, chủ yếu là những bài toán tối ưu Phương pháp
ACO mô phỏng tập quán tìm đường đi ngắn
nhất của bầy kiến khi kiếm ăn Khi đi đến nguồn thức ăn, từng con kiến tiết ra “mùi” (pheromone) trên đường đi và thích chọn những đường đi có nồng độ “mùi” cao Do đó, những đường đi ngắn nhất có nhiều khả năng càng ngày nồng độ “mùi” càng tăng và được nhiều kiến lựa chọn hơn
Phương pháp ACO, về nghiên cứu thực
nghiệm, đã được áp dụng rất thành công trong
Trang 2nhiều bài toán tối ưu rời rạc NP-khó Tuy
nhiên, về cơ sở lý thuyết toán học, chỉ có một
số thuật toán trong những nghiên cứu đó đảm
bảo sẽ tìm được lời giải tối ưu toàn cục
(Engelbrecht A.P., 2005) Một số nghiên cứu
thực nghiệm về phương pháp ACO cho những
bài toán tối ưu liên tục cũng bắt đầu được công
bố trong những năm gần đây, trong đó có hai
thuật toán APS và eAPS (Tsutsui S., 2006) APS
và eAPS thay thế dấu vết “mùi” trong ACO cổ
điển bằng hàm cộng dồn “mùi”, còn quy luật
cập nhật hàm cộng dồn “mùi" hoàn toàn tương
tự với quy luật cập nhật dấu vết “mùi” trong
ACO đã được áp dụng cho các bài toán tối ưu
rời rạc Lúc này, hàm mật độ cộng dồn “mùi”
trở thành tổ hợp tuyến tính của những hàm mật
độ phân phối chuẩn nhiều chiều APS cũng như
eAPS có thể giải quyết thành công một số bài
toán tối ưu liên tục NP-khó Tuy nhiên, hai
thuật toán trên cũng như tất cả các thuật toán
áp dụng phương pháp ACO cho những bài toán
tối ưu liên tục khác (Bilchev G and Parmee I
C., 1995; Dreo J and Siarry P., 2002;
Pourtakdoust S.H and Nobahari H., 2004;
Socha K., 2004; Wodrich M and Bilchev G.,
1997) do quá chú trọng vào tìm kiếm “sâu” nên
không đảm bảo luôn tìm được lời giải tối ưu
toàn cục (theo các tài liệu chúng tôi thu thập
được cho tới nay)
Trong bài báo này, chúng tôi đề xuất một
lớp thuật toán iAPS cải tiến của thuật toán APS
cho những bài toán tối ưu liên tục Lớp thuật
toán iAPS là lớp thuật toán xấp xỉ với thuật
toán APS Hơn nữa, nhờ sự cân bằng giữa tìm
kiếm “rộng” và tìm kiếm “sâu” mà lớp thuật
toán này có khả năng tìm kiếm được lời giải tối
ưu toàn cục tốt hơn so với hai thuật toán APS
và eAPS đặc biệt trong những bài toán tối ưu
liên tục có nhiều cực trị địa phương Các mục
tiếp theo của bài báo được sắp xếp như sau
Mục 2 giới thiệu mô hình cơ bản hệ cộng dồn
“mùi” APS Trên cơ sở mục 2, mục 3 trình bày
những cải tiến của lớp thuật toán iAPS Mục 4
kết luận bài báo này
2 MÔ HìNH CƠ BảN Hệ CộNG DồN “MùI”
APS
Thuật toán APS được S Tsutsui, M
Peklikan, A Ghosh đưa ra lần đầu tiên vào
năm 2005 và sau đó, được S Tsutsui nâng cấp
thành thuật toán eAPS vào năm 2006 (Tsutsui
S., 2006)
2.1 Sự cộng dồn “mùi”
Trong thực tế, sự cộng dồn “mùi” được sinh bởi một số loài côn trùng để chia sẻ thông tin về nguồn thức ăn, nơi ẩn nấp an toàn, sự thu hút giới tính hoặc kẻ thù Người ta đã quan sát
được rất nhiều chức năng của hành động cộng dồn “mùi” như đánh dấu nguồn thức ăn, tìm kiếm nơi ẩn nấp, kết bạn hoặc tự vệ Khi một con gián thấy một chỗ ẩn nấp an toàn, nó sẽ tiết ra một loại “mùi” đặc biệt trong phân của
nó để thu hút những con gián khác Sự khác
biệt giữa ACO và APS chính là ở chức năng của
“mùi” trong không gian tìm kiếm Trong ACO
nồng độ “mùi” được xác định là dấu vết trên mỗi đỉnh hoặc trên mỗi cạnh giữa các đỉnh của
đồ thị tìm kiếm Còn trong APS, hàm mật độ
cộng dồn “mùi” được xác định là hàm mật độ trong không gian tìm kiếm X ⊂ Rn Mỗi vòng
lặp của APS gồm hai bước cơ bản:
Cập nhật hàm mật độ cộng dồn “mùi” Sinh ra “các kiến” mới nhờ vào hàm mật
độ cộng dồn “mùi” tại thời điểm hiện tại
2.2 Cập nhật hàm mật độ cộng dồn “mùi”
Đặt τ ( ) t x , là hàm mật độ (density) cộng
dồn “mùi” trong vòng lặp t APS khởi
tạo τ (0, )= x τmin( ) 0,x = c Do đó, “kiến” mới ban đầu được sinh ra ngẫu nhiên theo phân phối đều trên toàn bộ không gian tìm kiếm
m
X
Để đảm bảo “kiến” được sinh ra nhiều hơn tại những vị trí có mật độ cộng dồn “mùi” cao, trong vòng lặp , các “kiến” mới được sinh ra ngẫu nhiên theo phân phối xác suất
t
( , )
p t xτ
xác định như sau:
( ) ( )
, ( , )
,
X
t x
p t x
t x dx
τ
τ τ
=
Sau khi được sinh ra, mỗi “kiến” mới sẽ phát ra “mùi” trong lân cận của nó Để đảm bảo nồng độ (intensity) “mùi” càng tăng khi càng gần mỗi “kiến”, đặc biệt là với các “kiến” tốt nhất, cũng như để giảm bớt những biến đổi tuyến tính trong không gian tìm kiếm, có thể cập nhật “mùi” cho “kiến” x t r, như sau:
Trang 3( ) 2
1
k
C
k
α τ
α
β
=
(2)
Trong đó là số điểm đạt được của
“kiến” trong vòng lặp (số điểm r của “kiến”
r t
,
t r
x càng tăng khi giá trị của hàm số
( )
f x càng nhỏ, “kiến” tốt nhất trong kiến ở vòng lặp này được điểm còn kiến tồi nhất
được 1 điểm)
m m
2 ,
( ; t r; t)
phối xác suất của biến ngẫu nhiên chuẩn chiều:
n
2 2
T
t
π
ư
,
∑
t
∑ là ma trận hiệp phương sai của mẫu { } 1; ,
,
m
r
t r
=
là các tham số điều khiển
( α β , > 0 )
C là tổng nồng độ “mùi” trên toàn không gian tìm kiếm X
Khi đó, cộng dồn mật độ “mùi” tiết ra bởi tất cả m “kiến” ở vòng lặp thứ t sẽ có:
1
m
t r r
=
∆ =∑∆ ; với t≥1 (3) và đặt ∆τ(0, ) x = c (4)
Với cách xây dựng như trên, thuật toán APS luôn đảm bảo
X
τ
Điều này rất quan trọng trong quá trình
sinh ngẫu nhiên “kiến” mới Sự cộng dồn mật
độ “mùi’ được cập nhật trong công thức sau:
( t 1, x ) ( ) t x , τ( t x ,
) 1
Trong đó hằng số là tỷ lệ
bay hơi của “mùi”
( 0
ρ ≤ < ρ
2.3 Sinh ngẫu nhiên “các kiến” mới
Từ quy luật cập nhật mật độ “mùi” trong
phương trình (7), hàm mật độ cộng dồn “mùi”
của APS được xác định bởi công thức sau:
0
t
h
=
Để thực hiện quá trình sinh ngẫu nhiên
“các kiến” mới, cần phải có hàm mật độ phân phối xác suất p tτ( + 1, x ) từ hàm mật độ cộng dồn “mùi” τ (t+1,x) Từ phương trình (1), (5), (6), (8) ta có:
0
t
h
τ τ
τ
+
=
,
Xét hàm mật độ phân phối xác suất f x ( )
tổng quát dưới dạng tổ hợp tuyến tính của các
hàm mật độ phân phối xác suất
Trang 4Với thì quá trình sinh ngẫu
nhiên “các kiến” mới theo hàm mật độ phân
phối xác suất
1
1
s
i i
p
=
=
∑
( )
f x được tiến hành như sau:
Chọn thành phần f xi( ) với xác suất pi
Sinh ngẫu nhiên “các kiến” mới theo hàm
mật độ phân phối xác suất f xi( )vừa chọn
Chú ý rằng p tτ( + 1, x )là tổ hợp tuyến
tính của phân phối chuẩn nhiều chiều và
một phần phối đều Do đó “các kiến” mới có
thể được sinh ngẫu nhiên bằng cách sử dụng
thủ tục vừa nêu trong đó xác suất chọn thành
phần thứ là:
1
t+
i
1
0
t i i
k
=
và thành phần thứ là: i
( , )
i
f x
τ
⎧
Quá trình sinh ngẫu nhiên “các kiến” mới theo thành phần cuối cùng ft+1( ) x là đơn giản vì ft+1( ) x là hàm hằng, nên nó là hàm mật độ của phân bố đều trên toàn không gian tìm kiếm Những thành phần còn lại f ti( ) với
i ≤ t là tổ hợp tuyến tính của m thành phần:
, 1
1
,
m
t i r t i m
r k
N x x C
k
α τ
α
β
ư
=
=
Do đó, việc sinh ngẫu nhiên “các kiến”
mới theo hàm mật độ phân phối xác suất f ti( )
với có thể được làm tương tự như trên với
xác suất chọn thành phần thứ r
là :
i ≤ t
2
t-i,r
N(x, x , β ∑t iư)
1
m r
k
=
Do mỗi thành phần thứ của vế phải
(13) là hàm mật độ phân phối chuẩn, việc sinh
“các kiến” mới có thể sinh ngẫu nhiên nhờ
phân hoạch Cholesky (Suli E and Mayers
D.F., 2003)
r
Khi đủ lớn, việc tính t p tτ( + 1, x ) theo
phương trình (9) đòi hỏi phải lưu trữ một số
lượng lớn các dữ liệu Trong
trường hợp này, với t và đủ
lớn, nên để khắc phục điều đó thuật toán APS
xấp xỉ
2 , ;
t h r t h
)
0
t
( 1,
p tτ + x trong (9) bởi:
0 0
,
h H
H k h
k
t h x
C
τ τ
ρ ρ
ư
ư
=
=
2.4 Sơ đồ thuật toán APS
Các bước của thuật toán APS Khởi tạo vòng lặp của APS: t: 0= Khởi tạo hàm mật độ cộng dồn “mùi”
(0, ) x c
τ = , ∆τ(0, ) x = c và khởi tạo sinh ngẫu nhiên m “kiến” mới theo phân phối
đều
( )
P t
Đánh giá và đưa ra số điểm r của
mỗi “kiến”
( )
P t
Tính ma trận ∑t của m “kiến” P t ( ) Cập nhật hàm mật độ cộng dồn “mùi”
(t 1,x)
τ + theo phương trình (7)
Lưu trữ m “kiến” vào E t ( ) Sinh ngẫu nhiên “kiến” mới theo hàm mật độ phân phối xác suất xác định ở
phương trình (9) đối với t , trong phương trình (15) tới t H
H
<
≥
Chọn “kiến” nhân tạo tốt nhất từ
“kiến”
( ) ( )
{ N t + E t } để sinh ra m “kiến’
mới trong P t ( + 1 )
t = +t
Trang 5Nếu điều kiện kết thúc thoả mãn thì dừng
thuật toán, nếu không quay lại bước 4
3 MÔ HìNH CƠ BảN Hệ CộNG DồN “MùI”
iAPS
Do hoàn toàn tập trung vào tìm kiếm “sâu”
nên APS rất dễ “hội tụ nhanh” tới lời giải tối ưu
địa phương đủ tốt Để khắc phục những nhược
điểm trên của APS, bài báo này xin đề xuất một
lớp thuật toán cải tiến của thuật toán APS, đó là
lớp thuật toán iAPS Lớp thuật toán này không
làm mất đi “bản chất bầy kiến” của APS cũng
như của phương pháp ACO nói chung Hơn nữa, về mặt thực nghiệm, iAPS là lớp thuật toán xấp xỉ với thuật toán APS và khá linh hoạt
trong việc điểu chỉnh tìm kiếm “rộng” và tìm kiếm “sâu” Dưới đây là những điều chỉnh của
lớp thuật toán iAPS so với thuật toán APS
3.1 Cập nhật hàm mật độ cộng dồn “mùi”
Sau khi “kiến” x t r, được sinh ra iAPS cập
nhật “mùi” cho “kiến” x t r, như sau:
1
k
k
α τ
α
τ
β
=
( )
min t x ,
τ được chọn sao cho min( ) ,
log
t
c
t x
t
τ = khi t≥N đủ lớn và t 0
t
lim c a
→∞ = >
Khi đó, cộng dồn mật độ “mùi” tiết ra bởi
tất cả m “kiến” ở vòng lặp thứ sẽ có: t
1
m
t r r
=
Để đảm bảo sự tìm kiếm “rộng” ta xác
định mật độ “mùi” thêm vào không gian tìm
kiếm trong vòng lặp thứ là: t
( ) t x , τ( ) t x , min( t 1, x c )
3.2 Sinh ngẫu nhiên “các kiến” mới
Từ quy luật cập nhật mật độ “mùi” trong phương trình (7) ta có hàm mật cộng dồn
“mùi” trong iAPS là:
1
τ τ
τ
+
Để thực hiện quá trình sinh ngẫu nhiên
“các kiến” mới trong iAPS, cần phải có hàm
mật độ phân phối xác suất p tτ( + 1, x ) từ hàm
mật độ cộng dồn “mùi” τ ( t + 1, x ) Từ phương trình (1), (5), (6), (8’) ta có:
min 1
0 1
min
1 0
0
h t
t k h
k h
t
t k h
k
C
τ τ
τ ρ
ρ
+
=
= +
+
=
=
+ ư +
∑
∑
∑
∑
x
Trang 6Chú ý rằng p tτ( + 1, x ) là tổ hợp tuyến
tính của phân phối chuẩn nhiều chiều và
một phân phối đều Do đó, “các kiến” mới có
thể được sinh ngẫu nhiên bằng cách sử dụng
thủ tục vừa nêu trong đó xác suất chọn thành phần thứ là:
1
min 1
0 1
min 0
0
0,1, 2, ,
i
k k t
h h
k k
p
ρ
ρ τ
ρ
+
= +
=
=
⎪
⎪
⎪
⎪
⎨
+ ư
⎪
⎪
⎪⎩
∑
∑
∑
(11’)
và thành phần thứ là: i
( )
( )
( min )
0,
1 ,
i
x
C
f x
t i x
khi i t
τ
τ
τ
⎧
= +
⎪
⎪
⎩
(12’)
Quá trình sinh ngẫu nhiên “các kiến” mới
theo thành phần cuối cùng ft+1( ) x là đơn giản
vì ft+1( ) x là hàm hằng, nên nó là hàm mật độ
của phân phối đều trên toàn không gian tìm
kiếm Những thành phần còn lại f ti( ) với
i ≤ t là tổ hợp tuyến tính của m thành phần:
, 1
min
1
,
m
t i r t i m
r k
N x x
k
α τ
α
β
=
=
=
Do đó, việc sinh ngẫu nhiên “các kiến”
mới theo hàm mật độ phân phối xác suất f ti( )
với có thể được làm tương tự như trong
APS
1
min 1 0 0 1
min 1
0
0,
,
h H H k h
k h
H
H
k h
k
x
C
t h x
τ
τ
τ
ρ τ ρ
τ ρ
ư
ư
=
=
ư
ư
=
=
∑
∑
∑
∑
3.3 Sơ đồ lớp thuật toán iAPS
Sơ đồ lớp thuật toán iAPS gồm các bước
tương tự sơ đồ thuật toán APS iAPS khác APS
ở bước cập nhật hàm mật độ cộng dồn “mùi”
và bước sinh ngẫu nhiên “các kiến” mới Trong
iAPS, điều kiện kết thúc có thể là: số vòng lặp
vượt quá một số cho phép, số vòng lặp liên tiếp
mà không cải thiện được lời giải vượt quá số lần cho phép… Hơn nữa, trong lớp thuật toán
Trang 7iAPS, ngoài các điều kiện kết thúc như trên còn
có bổ sung một điều kiện kết thúc khác Do khi
lớp thuật toán iAPS hội tụ đến lời giải tối ưu
toàn cục, nồng độ “mùi” hầu như tập trung
xung quanh lời giải đó nên thuật toán iAPS có
thể kết thúc khi tổng nồng độ “mùi” trong một
lân cận của lời giải tốt nhất vượt quá một số
cho phép
4 KếT LUậN
So với hai thuật toán APS và eAPS, lớp
thuật toán iAPS cân bằng được sự tìm kiếm
“sâu” và tìm kiếm “rộng” một cách hiệu quả
Do đó, khi áp dụng lớp thuật toán iAPS, khả
năng tìm được lời giải tối ưu toàn cục là cao
hơn APS và eAPS Trong khi đó, do chỉ chú
trọng đến khả năng tìm kiếm “sâu”, nên các
thuật toán APS và eAPS rất dễ bị “mắc cạn” tại
lời giải tối ưu địa phương
Chúng tôi đề xuất tiếp tục hoàn thành
những định lý về cơ sở lý thuyết toán học nhằm
chỉ ra những điều kiện làm cho thuật toán APS
và eAPS không hội tụ tới lời giải tối ưu toàn
cục Đồng thời, tiếp tục hoàn thành chứng
minh tính hội tụ của lớp thuật toán iAPS cũng
như đánh giá về độ phức tạp của lớp thuật toán
này nhằm cải tiến lớp thuật toán iAPS có tốc độ
hội tụ tốt hơn Hơn nữa, cũng cần có những
nghiên cứu tính toán so sánh lớp thuật toán này
với các thuật toán tối ưu khác trên các bài toán
tối ưu mẫu
Hy vọng lớp thuật toán iAPS sớm được cài
đặt, khai thác sử dụng để giải quyết các bài
toán tối ưu trong những lĩnh vực khác nhau
trong đó có các bài toán tin sinh học
TàI LIệU THAM KHảO
Bilchev G., I C Parmee (1995) The ant
colony metaphor for searching
continous design spaces Proc of the
AISB Workshop on Evo Comp, p 24 -
39
Dreo J., P Siarry (2002) A new ant colony algorithm using the heterarchical concept aimed at optimization of multiminima continuous functions Proc
of the Third Int Workshop on Ant Algorithms, p 216 - 221
Engelbrecht A.P (2005) Fundamentals of Computational Swarm Intelligence John
Wiley & Sons, Chichester, p 361-510
Pourtakdoust S.H., H Nobahari (2004) An extension of ant colony system to continuous optimization problems Proc
of Fourth Int Workshop on Ant Colony Optimization and Swarm Intelligence, p 294-301
Socha K (2004) ACO for continuous and mixed-variable optimization Proc of
Fourth Int Workshop on Ant Colony Optimization and Swarm Intellgence, p 25-36
Suli E., D F Mayers (2003) An Introduction
to Numerical Analysis Cambridge
University press, Cambridge, p 39-91
Tsutsui S (2006) An Enhanced Aggregation Pheromone System for Real-Prameter Optimization in the ACO Metaphor
Proc of the Fifth Int Workshop on Ant Colony Optimization and Swarm Intelligence, p 60-71
Wodrich M., G.Bilchev (1997) Cooperative distribution search: the ant’s way
Control Cybernetics 3, p 413-446