<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
BỘ GIÁO DỤC VÀ ĐÀO TẠO.
'TRƯỜNG ĐẠI-HỌC BÁCH KHOA HÀ NỘI
<small> </small>
LUẬN VĂN THẠC SĨ KHOA HỌC
THUAT TOAN PHONG BAY KIẾN GIAI BAI TOAN K-MEDIAN
NGANH : CONG NGHE THONG TIN MA S6:23.04.3898
‘TRAN TRUNG HIẾU
Người hướng dẫn khoa học: PGS TS NGUYEN DUC NGHIA <sub> </sub>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">
Với tất cả lịng kính trọng và biết ơn sâu sắc, em xin gửi lời cảm ơn chân thành tới thầy giáo PGS TS Nguyễn Đức Nghĩa, người đã tận tinh day dỗ và hướng dẫn em trong q trình hồn thành luận văn. Em cũng xin gt cảm ơn chân thành tới các Thầy Cô Khoa Công nghệ Thông tin, Trường Đại hoc Bách Khoa Hà nội, những người đã tận tình giảng dạy, truyền cho chúng.
em những kiến thức căn bản trong suốt quá trình học tập tại trường để tạo cơ
sở hoàn thành bài luận văn này.
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">
MỤC LỤC
CAC THUAT NGU VIET TAT
LOI NOI DAU
Trang 6 <small>Tự Ỷ </small>
1.3 Các không gian tìm kiếm, đặc tả và các hàm phù hợp 12
1.4 Phân loại các thuật toán phỏng sinh học <sup>13 </sup>
1.4.4. Các ứng dụng trong điều khiển <sup>17 </sup>
1.5 Nguyên lý cơ bản của các thuật toán phỏng sinh học <sup>19 </sup>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">
2.4.5 Bài toán định tuyến mạng 36
Chương 4. Giải thuật phỏng bầy kiến giải bài toán k-median _ — 53
4.3.6. Điều kiện dừng của thuật toán 59
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">
Chương 5. Kết quả thực nghiệm
5.1 Mô tả thực nghiệm
5.1.1 Đặc điểm các bộ dữ liệu
5.1.2 Thiết kế chương trình
5.2 Kết quả thực nghiệm
5.2.1 Xác định các tham số 5.2.2 Các kết quả tính toán
5.3 Đánh giá kết quả thực nghiệm
5.3.1 Đánh giá về chất lượng thuật toán
5.3.2 Đánh giá về thời gian thực hiện
5.3.3. Đánh giá về độ ôn định
Kết luận và hướng phát triển Tài liệu tham khảo
61 61 61 62 | 64 64 68 75 75 76 77 78 79
<small> </small>
Phụ lục: Cấu trúc dữ liệu và các modul chương trình <sup>81</sup>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">
EC EA ACO AS GA TSP QAP
JSP GBAS SMTWTP GAP SCP
Single Machine Total Weighted Tardiness Scheduling Problem Generalized Assignment Problem Set Covering Problem
“Thuật toán di truyền
Bài toán người bán hàng, đi động
Bài tốn phương trình bậc
hai
Bài toán lập lịch bán hàng
Hệ thống Ant dựa trên đồ
thị
Bài toán lập lịch sản xuất
trên một máy đơn.
Bài toán lập lịch tổng quát
Bài toán phủ đỉnh
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">
LỜI NÓI ĐÀU
Các hệ thống công nghệ thông tỉn ngày nay càng phát triển, lối tư duy,
cơ chế tính tốn, suy diễn ngày càng tiến gần hơn với kiểu tư duy logie của
con người. Cùng với nó, các hệ thống tính tốn mơ phỏng, theo các eg chế hoạt động sinh học của các thực thể trong cuộc sống cũng, ngày cảng được
nghiên cứu sâu hơn, chỉ tiết hơn, Các bài toán trong thực tế cũng được các
nhà nghiên cứu nắm bắt và giải quyết dễ dàng hơn thông qua các mối liên hệ tồn tại và không ngừng phát triển của các thực thể sinh học. Các hệ thống tinh toán như vậy được nghiên cứu dưới tên gọi các hệ thống tính tốn phỏng sinh
Các vấn đề phục vụ và năng lực phục vụ của các trạm dịch vụ đối với
các yêu cầu của khách hàng ngày nay trở thành một mảng đề tài khá nóng. Do phải tiếp nhận số lượng lớn các yêu cầu từ các khách hàng và vẫn tiếp tục
tăng lên mà các trạm dịch vụ nhiều khi quá tải do năng lực phục vụ không đáp
ứng. Đặc biệt, trong một số loại hình dịch vụ mang tính khẩn cấp, các yêu cầu
cần phục vụ với thời gian nhanh nhắt, thì vấn đề cài đặt các trạm dịch vụ một
cách hợp lý sao cho khả năng đáp ứng là tốt nhất có thể được lại trở nên hết sức quan trọng, Bài toán k-median, mt bai tốn điển hình đáp ứng các kiểu mơ hình trên đã được triển khai với nhiều nghiên cứu chuyên sâu.
Với mục tiêu đi sâu nghiên cứu về hệ thống giải thuật phỏng bay kiến, cũng như ứng dụng nó để giải một lớp bài toán tối ưu tổ hợp đó là bài toán &-
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">
median, luận văn này sẽ cố gắng tìm hiểu mơ hình cơ bản nhất của hệ thống,
giải thuật phỏng bẩy kiến, bài toán k-median và ứng dụng giải thuật phỏng,
bẩy kiến để giải bai toán này. Luận văn gồm 5 chương:
« Chương 1 Giới thiệu tổng quan về các hệ thống phỏng sinh học,
các phương pháp tính toán phỏng sinh học, cũng như nguyên lý
cơ bản của một hệ thống thuật toán phỏng sinh học.
nghiên cứu nhiều, Tuy nhiên việc áp dụng thuật toán phỏng by kiến vào giải
bài toán k-median còn chưa được nghiên cứu sâu sắc. Chính vì vậy, trong quá.
trình nghiên cứu, từm hiều, chắc chắn các vấn để tôi đề cập cịn có nhiều thiếu
sót, khiếm khuyết. Do vậy rất mong nhận được sự đóng góp, chỉ đạy của các
thấy cơ, các bạn học có quan tâm tới vấn đề này.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">
CHUONG I.
TONG QUAN VE CAC HE THONG TINH TOÁN
PHONG SINH HOC
1.1 Giới thiệu
Các kỹ thuật tính toán phỏng sinh học (EC) [10] được nghiên cứu cho thấy chúng hoàn toàn phù hợp với các phương pháp tính, giải các bài toán tổ hợp. Nguyên lý chung của các kỹ thuật này đều dựa trên các hiện tượng sinh học tự nhiên. Các tính toán này bao gồm lớp các thuật toán phỏng sinh học
(EA), trong đó chứa các giải thuật tìm kiếm dựa trên các tri thức kinh nghiệm.
Các trí thức này có thể được sử dụng để tìm kiếm các lời giải tốt cho các bài
để suy diễn ra các lời giải tốt hơn từ các lời giải trước đó và đặc biệt phù hợp
với các dạng bài tốn khơng, tồn tại các giải thuật hiệu quả (là giải thuật có thời gian tính tốn đa thức). Các giải thuật này thường là đơn giản, mang tính
tổng qt và có thể được ứng dụng trong lớp các bài tốn tìm kiếm và tối ưu. Tắt nhiên, để có một sự đánh giá đúng về việc tại sao và làm thế nào các thuật tốn có thể làm việc, cần có các hiểu biết cơ bản về di truyền và sự
tiến hoá,
1.2 Di truyền và sự tiến hoá
Trong sinh học, sự khác biệt được tạo ra giữa kiểu gen và kiểu hình của
sinh vật. Kiểu gen là tổ hợp các gen mã hóa sinh vật, đặc biệt là các phân tử
DNA có trong, mỗi tế bào của cơ thể sinh vật (cho dù đó là vi khuẩn, nấm,</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">
<small> </small>
thực vật hay động vật). Các phân tử DNA này có chứa các gen, đó là các đoạn
nhỏ của phân tử DNA mã hóa cho các đặc điểm riêng của sinh vật (còn gọi là
tính trạng), ví dụ như da hoặc màu lơng, số lượng chỉ, kích thước sọ, ... Một
cách chính xác hơn, các gen (hoặc các đoạn DNA) này được dịch mã thành
các protein tạo nên các phần của cơ thể, và tạo nên các chức năng cân thi cho sự tồn tại (chuyển hóa, vận động cơ, bảo vệ chống lại bệnh tật, ...). Sự
<small> </small>
hình thành sinh vật cùng với các chức năng hoặc hành vỉ của nó tạo nên kiển
hình, hay sinh vật thực thể khi sống trong thế giới thực. Nói tóm lại, cỏ quá. trình 1 chiều mà thông tin về gen (kiểu gen) xác định (cùng với tác động của.
mơi trường) hình dạng và chức năng (kiểu hình) của sinh vật.
Khi hai sinh vật cùng loài sống cùng nhau và sinh con, các thay đổi ở
mức gen như sau: sao lại các phân tử DNA của cả bố lẫn mẹ và kết hợp với
nhau, và kiểu gen của con nhận được một phần gen từ bố, một phần gen từ
mẹ. Nói cách khác, kiểu gen của từng cá thể con là tổ hợp (một cách ngẫu. nhiên) kiểu gen của bố mẹ, mỗi cá thể con có tổ hợp gen khác nhau. Quá trình.
này được gọi là lại. Hơn nữa, trong quá trình sao chép thong tin gen từ bố mẹ
so với bố mẹ của chúng. Một số tính trạng của thể hệ tiếp theo có từ bố, và.
một số từ mẹ. Hơn nữa, các đột biển ngẫu nhiên này có thể biểu hiện hoàn
<small> </small>
toàn ở một số tính trạng nhất định. Tóm lại, mỗi thay đổi đều có nguồn gốc,
xuất phát từ mức độ kiểu gen (qua lai và đột biến) và biểu hiện ở mức độ kiểu
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">
11
<small> </small>
trước khi trưởng thành; chúng có thể bị chết bởi thú ăn thịt, chúng phải tranh
thức ăn với các chuột khác, hoặc chúng có thể phải chống chọi với các mối đe
dọa từ tự nhiên hoặc bắt ngờ khác trước khi chúng có thể sinh sản. Hậu quả là
chỉ có một phần nhỏ mỗi thế hệ chuột sẽ sinh sản, và truyền các thông tỉa di
truyền cho thế hệ sau. Đặc biệt, những con chuộc có kiểu hình tốt, như #ó thể
chạy nhanh hoặc có màu lông cho phép chúng lẫn trốn được trong các bụi để
tránh được thú ăn thịt, mới sống sót và sinh sản. tuy nhiên, các con chuột có
kiểu hình không tốt sẽ chết, và do đó khơng thể sinh sản được. Quá trình này, được tổng kết bằng thành ngữ “tồn tại dành cho kẻ mạnh nhất” được gọi là
chọn lọc tự nhiên: các đặc tính (hoặc các biến đổi) có lợi nhìn chung sẽ được
bảo tồn và phát triển trong quần thể, và các đặc tính (hoặc các biến đổi) bất
lợi sẽ nhìn chung biến mắt, vì khơng truyền đến được thế hệ sau. Hậu quả là
qua thời gian, quần thể nói chung sẽ thay đổi dần dân, hoặc tiến hóa dựa trên
các biến đổi về gen, và thích nghỉ tốt hơn với các thay đổi của môi trường qua chọn lọc tự nhiên.
Điều đó chính là hình thức diễn ra của tiến hóa và chọn lọc tự nhiên
trong thế giới. Tất nhiên đó là một hình ảnh được đơn giản hóa, nhưng điều quan trọng chính là các nguyên lý chủ yếu này. Một cách nhìn đặc biệt về tiến
hóa đã trở nên phổ biến là tiến hóa chính là cách phân tích bài tốn. Bài tốn ở đây chính là sự tồn tại và sinh sản, và sự tiến hóa qua chọn lọc tự nhiên chính là một kỹ thuật phân tích bài tốn. Nói cách khác, tiến hoá sẽ tìm kiếm
trong khơng gian các phần tử DNA (kiểu gen) để mã hoá các thành các kiểu hình có thể đảm bảo tổn tại và phát triển. Những kiểu gen mã hóa các kiểu
hình thành công, sẽ, một cách tương đối, được sử dụng để tạo ra các kiểu gen (qua biến đổi gen) dé duy trì giống nịi. Theo cách này, qua nhiều thế hệ kế
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">
tiếp, các cá thé trong quan thể sẽ trở-nên ngày càng thành cơng trong, việc
“phân tích bài tốn”.
14.3 Các khơng gian tìm kiếm, đặc tả và các hàm phù hợp Để có thể sử dụng các nguyên lý tiến hoá sinh học trong việc xây dựng các thuật tốn tìm kiếm, đầu tiên ta cần tìm hiểu các khái niệm không gian tìm kiếm, các đặc tả di truyền và các hàm phù hợp.
1.3.1. Khơng gian tìm kiếm
Khơng gian tìm kiếm của một bài toán đơn giản chính là khơng gian
của tất các các lời giải có thể có để giải bài toán. Chẳng hạn với bài tốn tính tổng: Dua ra một tập gồm ø số x„ thì có tồn tại hay không một tập con Ø các
số này mà tổng của chúng không vượt quá một số m cho trước? Khi đó tập các lời giải cho bài toán này (khơng gian tìm kiếm) là tập tất cả các tập con có thể của ø số, là 2". Một ví dụ khác là bài toán người bán hàng di động (TSP).
Đối tượng cần tìm một hành trình ngắn nhất đi qua » thành phố sao cho mỗi
thành phố chỉ được thăm đúng một lần. Ở đây khơng gian tìm kiếm chính là tập tất cả các hành trình có thể qua ø thành phố này, chính là ø!1.
1.3.2. Các đặc tả di truyền
Đôi khi các đặc tả này là các cách mô tả các lời giải cho một vài bài
toán theo nguyên tắc đơn giản, thuận tiện để tính tốn, chẳng hạn thơng qua
các xâu ký tự. Ví dụ trong bài tốn tính tổng con trên, mỗi lời giải có thể được mơ tả bởi một chuỗi bit có độ dài „. Đưa ra một chuỗi bít, lời giải tương ứng
được định nghĩa bằng cách thêm vào một giá trị x; trong tập con lời giải nếu
bit giá trị thứ ¿ trong chuỗi bit bằng 1. Tương tự trong bài toán TSP, mỗi bộ
lời giải có thể được mô tả bởi một hoán vị của ø số tự nhiên từ 1 đến ø. Mỗi
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">
Các cách mô tả các lời giải này làm cho bài toán tương tự như mô tả
kiểu gen/kiểu hình trong các hiện tượng sinh học tự nhiên. Các mô tả (các chuỗi bit, các hoán vị) là các kiểu gen và các lời giải tương ứng là các kiểu
hình. Khi đó khơng gian tìm kiếm có thể được mô tả như là không gian của
các chuỗi bịt hay là không gian của các hoán vị.
1.3.3. Các hàm phù hợp
Để áp dụng một thuật toán phỏng sinh học vào một bài toán, ta cần có
một vài cách đánh giá các lời giải. Điều này có thể được thực hiện thông qua các hàm phù hợp. Một hàm phù hợp là một hàm mà đầu vào là các mô tả (hay
các kiểu gen), dịch các mô tả này ra các lời giải tương ứng (hay các kiêu hình), kiểm tra các lời giải này trên bài toán đặt ra, sau đó trả về một giá trị
đánh giá mức độ tốt của lời giải.
Chẳng hạn trong bài toán TSP, đầu vào là một hốn vị, được tính thành
hành trình tương ứng qua các thành phó, và độ dài của hành trình này sẽ được
tính ra.
Xem xét với một bài tốn tìm cực đại, sự phù hợp aên là cực đại, hàm
phù hợp khi đó được cấu trúc sao cho giá trị phù hợp càng cao thì lời giải sẽ càng tốt.
1.4 Phân loại các thuật toán phỏng sinh học
Các ứng dụng của các hệ thống tính toán phỏng sinh học hết sức rộng, rãi [12]. Việc phân loại nhiều khi chỉ mang tính chất tương, đối. Tuy nhiên, về cơ bản có thể phân loại các thuật toán phỏng, sinh học dựa theo các ứng dụng,
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">
<small>“ </small>
trong thực tế của các thuật tốn đó. Để thuận tiện, có thể phân chia thành các
dạng ứng dụng tiêu biểu như sau:
® Các ứng dụng quy hoạch © Cac tg dung thiét ké
s - Các ứng dụng mơ phỏng và nhận dạng
©_ Các ứng dụng điều khiển
Việc phân loại này chỉ mang tính chất tương đối. Có thể có một vài bài
tốn cụ thể nào đó đúng trong đồng thời nhiều dạng ứng dụng. 1.4.1 Các ứng dụng trong quy hoạch
1.4.1.1 Bài toán định tuyến
Một trong các bài toán nổi tiếng trong hệ thống các bài toán tối ưu tổ hợp dạng này chính là bài toán người bán hàng di động (TSP) . Một người
bán hàng cần phải đi qua một số thành phố, và sau đó trở về nhà. Điều kiện
đặt ra là anh ta phải đi qua tất cả các thành phố với khả năng tối thiểu hoá
quãng đường đi.
Một bài toán khác dạng này là bài toán vận chuyển (Transportation
Problem). Trong, bài toán này, hàng hoá cần được lấy từ một số kho hàng và
phân phối cho một số khách hàng. Vậy đâu sẽ là giải pháp đảm bảo tối ưu chỉ
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">
<small>15 </small>
<small> </small>
trường, không, đồng nhất, khi một yêu cầu xử lý trực tuyến được đặt ra, các
rôbốt phải đưa ra tức thì các di chuyển phủ hợp.
1.4.1.2 Bài toán lập lịch
Các vấn đề lập lịch chủ yếu tập trung phân tích các kế hoạch đặgra để
thực hiện một số yêu cầu trong một khoảng thời gian nào đó, trong đó các yêu
cầu là có giới hạn, các ràng buộc thay đổi và sẽ có một số đối tượng được tơi
<small>ưu. </small>
Bài tốn lập lịch công việc bán hàng là một dạng bài toán NP đầy đủ. Khung cảnh đặt ra là một nhà máy sản xuất, với các kiểu máy công cụ khác nhau. Có một số cơng việc cần được hoàn thành, mỗi công việc bao gồm một
tập các nhiệm vụ. Mỗi nhiệm vụ yêu cầu một máy riêng thực hiện trong một
khoảng thời gian xác định, và các nhiệm vụ cho mỗi công việc cần được hoàn thành theo yêu cầu. Làm sao để lịch đưa ra có thể thực hiện tắt cả các nhiệm
vụ với chỉ phí tối ưu?
Một dạng bài toán lập lịch khác là đặt ra một thời gian có thể cho một
tập các bài kiểm tra, các bài giảng, hoặc một thể loại tương tự.
Trong tính tốn, các bài tốn lập lịch còn bao gồm cả bài toán phân phối các công việc một cách có hiệu quả cho từng bộ*xử lý trong một hệ thống rất nhiều bộ xử lý.
1.4.1.3 Bài tốn đóng gói
Các thuật toán phỏng sinh học được ứng dụng trong rất nhiều các bài
tốn đóng gói, mà đơn giản nhất là bài tốn balơ rỗng một chiều (Zero-One
Knapsack Problem). Dua ra một ba lô rỗng, và một tập các đồ vật, mỗi đồ vật
<small> </small>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">
có kích thước và giá trị xác định. Tìm-tập các đồ vật với giá trị lớn nhất có thé
chứa được trong balơ đó. Có nhiều bài tốn thực tế có cùng kiểu này, chẳng
hạn bài toán cấp phát các kênh truyền thông cho khách hàng với chỉ phí cho
các kênh là khác nhau.
Có rất nhiều dạng bài tốn đóng gói hai chiều. Khi việc sản xuất các đồ
vật được thực hiện từ nhiều vật liệu khác nhau, mong, muốn đặt ra là tìm một dải phù hợp nhất các loại vật liệu, sao cho tối thiểu số lượng các vật liệu thừa. Một bài toán tương tự trong lĩnh vực thiết kế mạch điện tử tích hợp, đó là làm
thế nào các mạch điện được sắp xếp để tối thiểu hoá tổng số lượng linh kiện và đường mạch dẫn được sử dụng.
1.4.2 Các ứng dụng trong thiết kế
Việc thiết kế các hệ thống lọc trong điện tử nhận được nhiều sự quan
tâm. Các thuật toán phỏng sinh học thường được sử dụng để thiết kế các hệ
thống điện tử hoặc hệ thống số, được thực hiện tại tần số trả lời mong muốn.
Các thuật toán phỏng sinh học cũng đồng thời được sử dụng trong vấn
đề tối ưu các thiết kế của các hệ thống xử lý tín hiệu và trong thiết kế mạch
tích hợp.
Các kỹ thuật tính tốn phỏng sinh học được sử dụng rộng rãi trong các
mạng Nơron nhân tạo, cả trong thiết kế giao thức mạng cũng như trong tìm
kiếm các tập trọng số tối ưu.
Có rất nhiều các ứng dụng kỹ thuật trong tính tốn phỏng sinh học:
thiết kế cấu trúc, thay thế các suy hao trong các không gian cấu trúc, thiết kế
máy gia tốc tuyến tính, thiết kế hộp số, thiết kế lò phản ứng hoá học ...
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">
Các tính tốn phỏng sinh học được ứng dụng trong các bài toán khác nhau trong hoá học cũng như sinh học. Roosen và Meyer (1992) [12] sử dụng,
chiến lược phỏng sinh học để xác định trạng thái cân bằng trong các hệ thống hoá học, bằng cách xác định chất entanpi dư thừa tối thiểu trong phân tích.
Việc xác định cấu trúc 3 chiều của các protein, đưa ra các chuỗi các amino axít cũng được thực hiện theo các tính tốn phỏng sinh học.
Trong lĩnh vực kinh tế, các tính tốn phỏng sinh học cũng được sử
dụng để mơ hình hố các thành phần kinh tế trong thị trường.
Quá trình nhận dạng ngược với q trình mơ phỏng. Nó phân tích, xác
định một thiết kế của hệ thống đưa ra là vận hành được.
Rất nhiều hệ thống có thể được mơ tả thông qua các mô hình, đảm bảo
đưa ra các giá trị đầu ra dựa trên một hoặc một số giá trị đầu vào.
1.4.4 Các ứng dụng trong điều khiển
Có hai kiểu xử lý khác nhau sử dụng các tính tốn phỏng sinh học trong, điều khiển: online và offline, Xử lý online sử dụng một thuật toán phỏng sinh
học như là một phần kích hoạt của việc xử lý điều khiển. Với xử lý offline,
khơng có một phỏng sinh học nào được ứng dụng. </div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">
Một vài nhà nghiên cứu đã tìm-kiếm, sử dụng các hệ thống thích nghỉ
có chất lượng của các thuật toán phỏng sinh học để xây dựng các bộ điều khiển trực tuyến cho các hệ thống động. Thuận lợi của một bộ điều khiển
phỏng sinh học là nó có thể phù hợp trong phạm vi hệ thống khi các đặc tính
bị thay đổi theo thời gian với các thay đổi có thể là từ từ hoặc đột biến. Hầu hết các nhà nghiên cứu đưa ra các cách tiếp cận offline cho các điều khiển đối
với các hệ thống không, đổi.
Fonseca và Fleming (1993) [12] sử dụng các thuật toán phỏng sinh học
để thiết kế một bộ điều khiển cho các máy bơm ga. Một hệ thống điều khiển
sẽ tối ưu khả năng đốt cháy trong các lò đa sợi đốt và làm sôi. Các tính tốn
phỏng sinh học đồng thời cũng được thiết lập cho phần hướng dẫn điều khiển và hệ thống dẫn đường.
Ngoài các cách phân loại như đã trình bày ở trên, có thể phân loại các thuật toán phỏng sinh học dựa theo các mơ hình phỏng sinh học trong thực tế.
®- Dựa trên nguyên lý di truyền học, có các thuật tốn di truyền.
® Dựa trên nguyên lý chuyển động của bay kiến, ta có các thuật
<small>“ ` À ak </small>
toán phỏng bây kiên.
s- Dựa trên nguyên lý trèo đổi có thuật tốn trèo đổi (Hill Climbing
Algorithm),
Trong phạm vi luận văn này, ta sẽ nghiên cứu về thuật toán phỏng bầy
kiến và ứng dụng thuật toán để giải bài toán &-median,
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">
19
<small> </small>
<small>“ </small>
4.5. Nguyên lý cơ bản của các thuật toán phỏng sinh học
Các thuật toán phỏng sinh học là một dạng tìm kiếm và tối ưu thông
qua các q trình tích luỹ tri thức dựa cơ bản trên các nguyên lý phỏng sinh học và được thực hiện trên các máy tính trong hầu hết các trường, Hợp. Nguyên tắc cơ bản là nếu một lời giải được sinh ra nằm trong tập lời giải có triển vọng và các lời giải khác là không, triển vọng thì lời giải được sinh ra sẽ
hội tụ tốt nhất trong tập lời giải triển vọng. Nếu một lời giải chưa hoàn chỉnh
được thêm vào, quá trình tạo lời giải sẽ thăm dị khơng gian tìm kiếm và chuyển tới vùng lời giải có khả năng tăng các lựa chọn và kế thừa các thuộc
tính của lời giải trước đó. Các quá trình này dựa trên các luật cơ bản của nguyên lý phỏng sinh học Darwinistic.
Để phân tích bài tốn tối ưu với các tri thức phỏng sinh học, các lời giải
phải mô tả phù hợp với các đặc điểm của bài toán đưa ra và các lựa chọn có
thể là tập tương ứng về số lượng các lời giải được mô tả.
Số lượng các lời giải được mô tả được gọi là hàm phù hợp ý. Các ký hiệu 4, B, € mô tả các tập riêng lẻ hay các lời giải. Tình trạng hiện tại của
một xử lý phỏng sinh học được xác định bởi tham số s. Một phần tử riêng lẻ với chỉ sé i trong tap lời giải 4(s) được ký hiệu là a(s). Xác suất lựa chọn a(s) ký hiệu là p„ Khi một mô tả cho một lời giải có thể của Jap bao gdm n phan tử, phần tử thứ ¿ định dạng lời giải có thể sẽ có thuộc tính x, Tức là một tập riêng lẻ bao gồm một vài thuộc tính x và sẽ mơ tả một lời giải có thể thơng,
qua các thuộc tính của nó.
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">
<Đánh giá sự phù hợp của mọi 4, trong .4(s)>
<Lya chon phan tử phù hợp nhất a, nhu là các tổ tiên của
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">
trạm làm việc vào năm 1991, Sau đó, rất nhiền các biến thể của thuật toán dựa
trên các nguyên lý cơ bản của nó đã được giới thiệu. Đặc điểm chủ yếu của
một thuật toán ACO là sự kết hợp của các thông tin về cấu trúc của lời giải triển vọng với thông tin về cấu trúc của các lời giải tốt trước đó.
Hiệu quả của thuật toán ACO đã được thể hiện khi so sánh với một số
thuật toán nổi tiếng khác như thuật toán di truyén (GA), Simulated Annealing, Tabu-Search, Local Search... Người ta áp dụng rất thành cơng các thuật tốn kiến trong một số các bài toán tối ưu thường gặp như: bài toán người đưa thư,
bài toán gán, bài toán tô mầu đồ thị, bài toán lập lịch...
Tuy nhiên về mặt lý thuyết, có rat it các cơng, trình nghiên cứu nhằm đưa ra các đánh giá về hiệu quả của thuật tốn. Tình hình này đã được thay
đổi khi lần đầu tiên, năm 2000, W.J Gutjahz chứng minh được tính hội tụ của
một thuật toán ACO, thuật toán GBAS [19, 20]. Gutjahz chứng minh rằng,
trong một số điều kiện nhất định GBAS hội tụ đến lời giải tối ưu với xác suất
tiệm cận đến 1 với độ chính xác tuỳ ý. Tuy nhiên GBAS chưa có một áp dụng
cụ thể nào trên thực tế nên các kết quả này thuần tuý chỉ có ý nghĩa lý thuyết.
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">
a
Năm 2002 M.Dorigo và T.Stủzle đã chứng minh được tính hội tụ của
hai biến thé quan trọng nhất của ACO, đó là thuật toán Max ~ Min va ASC
[21]. Điều này đã khiến cho ACO có một cơ sở lý thuyết vững vàng và mở ra một loạt các nghiên cứu đầy hứa hẹn về các tham số điều khiển trong ACO.
+ Tính linh hoạU đa năng: Có nghĩa là nó có thể áp dụng mở rộng,
u bài tốn khác nhau có một số điểm tương đồng. Ví dụ
cho nh
như có thể mở rộng dễ dàng từ bài toán bán hằng di động sang
bài toán bán hàng di ng bt i xng ...
ôâ Có tính thích nghỉ cao: Có thể được áp dụng với chỉ những thay.
đổi nhỏ tới những bài toán tổ hợp tối ưu, chẳng hạn bài tốn
phương trình bậc hai (QAP) hay bai toán lập lịch công việc bán
hàng (JSP).
+ _ Có tính phổ biến: Điều này là khá thú vị vì nó cho phép khai thác
các khả năng quay lui trong các kỹ thuật tìm kiếm. Nó đồng thời cũng tạo ra một hệ thống có thể thực hiện các xử lý song song.
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">
23
<small> </small>
2.2 Mơ hình mơ phỏng của thuật tốn
Mơ hình được diễn tả dưới đây [22] dựa trên thực tế hoạt động của đàn
kiến trong trong tự nhiên . Ta gọi hệ thống đó là hệ thống Ant (AS).
Š ð|ợ F & ư|
Hình 2.1: Một ví dụ về hoạt động ctia bay kién trong thực té.
Hình 2.1 là ví dụ về hành trình của bẩy kiến. Hình 2.1a cho thấy bầy
kiến đi từ điểm A là nơi có thực phẩm thẳng tới tổ là điểm E và ngược lại.
Bỗng nhiên một cản trở xuất hiện trên đường tại vị trí B. Do đó tại B hoặc D,
by kiến phải quyết định rẽ phải hoặc rẽ trái (Hình 2. Ib). Sự lựa chọn sẽ bị tác
động lớn khi xuất hiện mùi hương thu hút của một con khác giới.
Nếu mùi hương thu hút từ bên phía phải càng lớn sẽ tạo cho bầy kiến một động lực mạnh mẽ hơn và do đó xác suất rẽ phải sẽ lớn hơn. Con kiến
đầu đàn đến điểm B (hoặc D) sẽ có xác suất rẽ phải như rẽ trái (vì khơng có
mùi hương thu hút trước đó trên cả hai tuyến). Bởi vì tuyến B-C-D ngắn hơn
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">
<small>“ </small>
B-H-D, con kiến đầu đàn sau đó sẽ đến.điểm D trước khi con kiến đầu đàn đi
theo tuyến B-H-D (Hình 2c).
Kết quả là một con kiến đi từ E đến D sẽ tìm thấy mùi hương thu hút
trên tuyến D-C-B và làm cho một nửa đàn kiến còn lại quyết định vượt qua rào cản theo tuyến D-C-B-A va do đó bẩy kiến đã đi qua B-C-D. Do vậy, số
các con kiến đi theo tuyến B-C-D theo đơn vị thời gian sẽ nhiều hơn so với số các con kiến đi theo tuyến B-H-D.
Nếu mùi hương thu hút trên tuyến đi ngắn hơn lớn hơn sẽ thúc day việc
di chuyển nhanh hơn so với tuyến đài hơn, do đó xác suất chọn tuyến ngắn
hơn là lớn hơn.
Tuy nhiên, do sử dụng mơ hình bầy kiến nhân tạo như là một phương
pháp tối ưu, nên hệ thống sẽ có một vài điểm khác so với cơ chế hoạt động
của bẩy kiến trong thực tế:
«- Bầy kiến nhân tạo có một vài bộ nhớ/ ký ức nhất định.
e Chúng không hoàn toàn mù, tức cũng có một vài trí thức nhất định trong việc quan sát, đánh giá các thay đổi của mơi trường. © Chúng sẽ sống trong môi trường mà miễn thời gian là rời rạc. Hình dưới mơ tả một dạng mơ hình của bay kiến nhân tạo.
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">
<small>Hình 2.2: Một ví dụ về đàn kiến nhân tạo </small>
Một ý tưởng được đưa ra là nếu tại một điểm nào đó, một con kiến
chọn một đường đi từ tập các đường đi khác nhau, nó sẽ lựa chọn đường đi có
khả năng đạt tới đích cao nhất. Hơn nữa đường đi đó cũng có nghĩa là đường, đi ngắn nhất.
2.3 Trình bày giải thuật
2.3.1 Một số định nghĩa ban đầu
Cho một bộ (S, / 42), trong đó:
© _Š: tập hợp các lời giải triển vọng
© / hàm đánh giá/: ->R
© @: các điều kiện ràng buộc
© Cần tìm lời giải tối ưu $* thoả /(S*) => min
Trong ACO, bài toán tối ưu tổ hợp (5, ƒ' 2) được giải quyết qua sơ đồ gồm các thành phân sau:
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">
2.3.2 Trình bày thuật tốn
Khởi đầu, mỗi con kiến được phân bố ngẫu nhiên trên các đỉnh của Ớ,
sau đó chọn một đỉnh nào đó làm đỉnh kế tiếp trong quá trình dịch chuyển.
Quá trình chấm dứt khi mọi đỉnh đều được duyệt qua. Việc chọn đỉnh kế tiếp
trong quá trình di chuyển của kiến phụ thuộc vào mật độ mùi trên các cung. Điều kiện Ø được áp dụng bảo đảm các lời giải ứng cử viên thoả mãn cáể điều kiện ban đầu. Sau khi các con kiến hồn thành q trình di chuyển, quá trình cập nhật mật độ mùi được thực hiện. Lưu đồ thực hiện có thể được mơ tả
như sau:
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">
Định nghĩa các kết nói, các điều kiện
<small>giới hạn của bài toán </small>
|
Cáu trúc lời giải ban đầu với hàm
<small>xác suất như đã mô tả </small>
|
<small>Tạo các lân cận hoặc danh sách </small>
không gian lời giải cần tìm kiếm
rT
<sub>Sinh đàn kiến nhân tạo </sub>
}
Đánh giá lời giải triển vọng nhất được sinh <small>ra dụa trên toàn bộ không gian lời giải </small>
<small> </small>
<small> </small>
<small> </small>
<small>Cập nhật tập lời giải dựa trên lời giải </small>
tốt và tạo dạng sách tìm kiếm mới
<small> </small>
<small> </small>
Hình 2.3 Lưu đồ giải thuật ACO
Dựa trên lưu đồ trên, các thủ tục được xây dựng như sau:
Procedure ACO_Algorithms;
Initialize; ⁄Khởi tạo các tham số ban đâu While <Diéu kiện dừng chưa thoả> do
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">
<small>“ </small>
ConstructAntSolutions; ⁄ Cấu trúc các lời giải dựa trên di
chuyển của bẩy kiến
ApplyLocalSearch; //Tuy chon
UpdatePheromones; Cập nhật các thông tin
For <duyét qua & con kiến> do
// Xay dung tập lời giải cho con kiến thứ ¡
While <x; € X* and x; ¢ S> do
<Chon dinh tiép theo Cj,; theo biéu thtte xdc suất
ngẫu nhiên P(Œ,¡ = Œ | ?; x)>
<Bé sung Œ¡.¡ vào tập x/> End; //while
<V(,J) eS*: tú, J) := tí, J) + g(S*)> <Vự, j): tú, 7) = MAX {Tmiu rÚ, J)}>
End; Kết thúc thủ tục UpdatePheromones</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">
thông, qua một vài ứng dụng trong một số bài toán khác nhau [13].
Ở đây, ta sẽ xem xét 4 ứng dụng của thuật toán là các bài toán tối ưu thuộc dạng NP khó: TSP, SMTWTP, GAP, SCP. Ta sẽ sử dụng những, bài
toán này để xem xét các cách thức khác nhau trong việc mô tả lời giải. Trong,
khi bài toán TSP và SMTWTP là một dạng bài tốn hốn vị, trong đó lời giải
được mô tả như là các hoán vị của các thành phần lời giải, lời giải trong bài
toán GAP thiết lập các nhiệm vụ cho các con kiến, cịn trong bài tốn SCP lời
giải được mô tả như là một tập con của các lời giải thành phần có triển vọng. Một trong các ứng dụng khác của ACO là trong các bài toán động mà tiêu biểu là bài toán định tuyến dữ liệu trên mạng. Thuật toán AntNet áp dụng cho bài toán này là một thuật tốn rất thành cơng trong, việc đóng gói, chuyển
mạch dữ liệu trên mạng Internet.
2.4.1 Giải thuật ACO cho bài toan TSP <sup>. </sup>
Bài toán TSP là một bài toán tối ưu tổ hợp thuộc dạng NP-khó. Đây là
một bài tốn điển hình cho việc ứng dụng giải thuật ACO để giải.
Trong hệ thống AS, mỗi con kiến sẽ khởi động từ một thành phố được chọn ngẫu nhiên và có một ký ức nhớ để lưu các thành phân lời giải mà nó sẽ
cấu trúc sau này. Từ thành phố đầu tiên, mỗi con kiến sẽ do chuyển qua các
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">
®ny= 1/4, là thông tin về trỉ thức ưu tiên;
© ø / là hai tham số do người dùng định nghĩa, xác định mức độ
ảnh hưởng của vệt mật độ mùi và thơng tin về tri thức;
¢ Ni la cac lang giềng, khả thi của con kiến thứ #, có nghĩa là tập các thành phố mà con kiến thứ & có thể sẽ đến thăm.
Việc cấu trúc lời giải cuối cùng sau khi mỗi con kiến hồn thành hành
trình của mình kết thúc sau khi mỗi con kiến được cấu trúc có độ dài ø. Tiếp
theo các vệt mật độ mùi sẽ được cập nhật theo công, thức:
a(t+1) = (1-p) a(t) + 3;Ar,() với moi (i, 7) (2.2)
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">
và thời gian tới hạn đ, và mọi cơng việc có thể được xử lý từ thời điểm 750,
Độ trễ của công việc j được định nghĩa 7 = max{0,Œ,~ đ) với Œj là tha? gian
hoàn thành chuỗi công việc tại thời điểm hiện tại. Mục tiêu là tìm kiếm chuỗi cơng việc sao cho tối thiểu hoá trọng số độ trễ được đưa ra bởi công thức:
<small>bi oT, . </small>
Ứng dụng thuật toán ACO cho bài toán SMTWTP, tập các thành phần € là tập tất cả các công việc. Giống như trong bài toán TSP, trạng thái của bài
toán là tắt cả các phần công việc nối tiếp có thể có. Trong bài tốn SMTWTP,
ta khơng xem xét chỉ phí ứng với các kết nối do hàm mục tiêu phụ thuộc vào
các phần lời giải chưa được cấu trúc.
Thuật toán Ant dùng cho bài toán SMTWTP hoạt động như sau: Mỗi
con kiến bắt đầu với một chuỗi rỗng, và sau đó lặp lại việc gắn một công việc
chưa có lịch vào phần chuỗi được cấu trúc. Mỗi con kiến sẽ lựa chọn công việc kế tiếp sử dụng luật lựa chọn tỷ lệ thức giả ngẫu nhiên. Các vệt mật độ mùi được định nghĩa như sau: 7 là lịch mong, muốn của công việc / tại vị trí i. Các thơng tin về trì thức được định nghĩa theo một trong, 3 bách:
() Luật thời gian tới hạn sớm nhất (EDD): sẽ đưa cơng việc có thời gian tới hạn không tăng được xác định bởi đ,.
(ii) Luật sửa đổi thời gian tới hạn (MDD): đưa vào công việc có thời gian tới han kh6ng tang duge xdc dinh boi mdd) = max{C+p, dj} với C
la tổng thời gian xử lý các công việc đã sắp xếp.</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">
(ii) Luật khẩn cấp rõ ràng (AU): đưa vào các công việc khẩn cấp được
xác định theo công thức a, = (2⁄2)*exp(-(max{4-Œ,0})/k*p) với k là
tham số luật ưu tiên,
Trong mỗi trường hợp, thông tin tri thức được xác định theo công thức ?„y = 1/hy với hị là một trong các tham số đ, mđij, aw, được định nghĩa ở trên.
Các mật độ mùi tổng quát và địa phương sẽ được cập nhật theo công thức mô tả ở trên.
2.4.3 Bài toán GAP
Trong bài toán GAP, đưa ra một tập các nhiệm vụ 7 ={1...ø} được thiết lập cho tập các agents / ={I..m}, Mỗi agent / chỉ có một dung lượng giới han
a, va mỗi nhiệm vụ ¿ khi thiết lập tới agent j dùng hết một lượng b„ của agent
J, dong thoi chju một chỉ phí thiết lập là đ/„ Mục tiêu là tìm một nhiệm vụ khả thi được thiết lập với chỉ phí nhỏ nhất.
Đặt 1 Nếu nhiệm vụ ¿ được thiết lập cho agent /
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">
33
<small> </small>
Ràng buộc (2.4) đảm bảo giới hạn dung lượng tài nguyên của các
agents, trong khi các ràng buộc (2.5) và (2.6) đảm bảo rằng mỗi nhiệm <sup>vụ chỉ </sup>được thiết lập chính xác cho l agent và một nhiệm vụ không, <sup>thể phân chia </sup>
cho một vài agents.
Bài tốn GAP có thể được cài đặt dễ dàng sử dụng thuật toán <sup>Ant Bài </sup>
tốn có thể được mơ tả bởi một đồ thị trong đó tập các thành phan chính là tập
các nhiệm vụ và các agents. Có nghĩa la C =1U J va tap cdc kết <sup>nói trên đồ </sup>
thị. Mỗi thiết lập, bao gồm n cặp (¡/) các nhiệm vụ va agents, <sup>theo di chuyén </sup>
của con kiến trên đồ thị. Mỗi di chuyển thoả mãn (2.5) và (2.6) sẽ <sup>được thiết </sup>lập.
Tại mỗi bước lặp, một con kiến sẽ thực hiện hai quyết định <sup>cơ bản sau: </sup>
(i) nd sé quyết định nhiệm vụ nào được thiết lập tiếp theo va (ii) <sup>nó sẽ quyết </sup>
định agent nào sẽ được thiết lập tới nhiệm vụ đó. Các vệt mật <sup>độ mùi và thơng, </sup>
tin về trì thức có thể được thiết lập theo hai cách trên.
Để đơn giản, đầu tiên một nhiệm vụ sẽ được thiết lập một cách ngẫu
nhiên. Sau đó, tại mỗi bước tiếp theo, một nhiệm vụ sẽ được <sup>thiết lập cho một </sup>
agent đảm bảo chỉ phí thiết lập nhỏ và mỗi agent chỉ cần một <sup>số lượng nhỏ </sup>tương đối tài nguyên để thực hiện nhiệm vụ. Do đó thơng tin về <sup>tri thức có thể </sup>
là ?ậy = 4/d,b„ và xác suất lựa chọn thiết lập có thể giống; luật <sup>xác suất trong, </sup>
hệ thống AS. Sự rắc rối trong quá trình cấu trúc lời giải là GAP <sup>phân tích các </sup>ràng buộc dung lượng tài nguyên, thực tế là với GAP không có <sup>gì đảm bảo </sup>đưa ra một con kiến sẽ cấu trúc được lời giải khả thi đáp ứng <sup>các ràng, buộc. </sup>
Thực tế là để đưa ra một lời giải khả thi, các rằng buộc tài ngun cần được
tính tốn trên tập Nj, tập các láng giềng khả thi của con kiến <sup>thứ &. Trong </sup>GAP, ta định nghĩa Ni bao gom tất cả các apents mà nhiệm vụ ỉ có <sup>thể được</sup>
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">
<small> </small>
thiết lập mà không lo về dung lượng tài nguyên của agents. Nếu khơng có u
cầu về tài nguyên, ta bắt buộc phải xây dựng một lời giải không khả thi và trong trường hợp này ta đơn giản lựa chọn M/ là tập tất cả các agents.
Bài tốn SCP khi đó có thể được định nghĩa như sau:
voi:
Ràng buộc (2.8) đảm bảo mỗi hàng được chứa trong ít nhất 1 cột.
Thuật toán Ant được thiết lập theo cách khá dễ hiểu cho bài toán. Các
cột được chọn như các thành phần lời giải và được kết hợp với một hàm chỉ
phí và tham số mật độ mùi. Tập ràng buộc #2 nói rằng một cột có thể được
thăm bởi một con kiến một và chỉ 1 lần và đảm bảo lời giải cuối cùng sẽ chứa
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">
35
<small> </small>
<small>“ </small>
tất cả các hàng. Đường đi của con kiến trên đồ thị mô tả theo các cột thêm vào
lời giải bộ phận. Mỗi con kiến bắt đầu với một lời giải rỗng và thêm dần các
cột cho đến khi hoàn thành. Mật độ mùi 7 va thông tin trí thức 7 được kết
hợp vào mỗi cột ¡. Một cột được chọn nếu xác suất p/() được thoả mãn: -
cột ¿ vào lời giải bộ phận hiện tại.
Một con kiến sẽ kết thúc việc tạo lời giải khi mọi hàng được chứa. Trong một bước tiền tối ưu, một con kiến có thể loại bỏ các dư thừa, là các cột chỉ chứa các hàng, nằm trong một tập con của các hàng khác, trong, lời giải cuối cùng. Việc cập nhật mật độ mùi giống, như trong các phần trước.
Khi thiết lập thuật toán Ant cho bài toán SCP, ta có hai khác biệt chính
với các bài tốn được mơ tả trước đó: (¡) Các vệt mật độ mùi chỉ được kết hợp
tới các thành phần và (ii) Độ dài hành trình của một con kiến có thể phụ thuộc
vào số lượng kiến, có nghĩa là việc tạo lời giải chỉ kết thúc khi tất cả các con
kiến kết thúc hành trình của chúng.
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">
<small>“ </small>
2.4.5 Bài toán định tuyến mạng -
Cho một đồ thị mô tả một mạng truyền thông. Bài toán đặt ra là tìm kiếm một đường dẫn giữa các cặp đỉnh của đồ thị sao cho tổng chỉ phí là tối
thiểu. Một chú ý quan trọng là mặc dù việc tìm đường dẫn trên đồ thị là một
bài toán đơn giản (có thể sử dụng nhiều thuật toán giải bài toán với độ phức tạp là đa thức), nhưng điều này lại đặc biệt khó khi chỉ phí trên các cạnh lại thay đổi liên tục theo thời gian. Đây chính là trường hợp bài toán định tuyến
các gói chuyên mạch trên mạng, một ứng dụng của bài toán đặt ra.
Sau đây, ta sẽ đưa ra mơ tả của bài tốn. Như ta đã biết, trong bài toán,
mỗi con kiến sẽ tìm kiếm một đường dẫn với chỉ phí nhỏ nhất. Để đạt mục
tiêu này, mỗi con kiến sẽ di chuyển ngẫu nhiên từ một đỉnh trong mạng tới
một đỉnh khác. Giả sử mỗi con kiến đi từ đỉnh nguồn s đến đỉnh đích đ, và di chuyển từ s tới đ phải đi qua một số đỉnh trung gian. Khi con kiến thứ & nằm ở
đình ¿ lựa chọn đỉnh 7 tiếp theo dé chuyén dén theo một luật xác suất là hàm của bộ nhớ đàn kiến, mật độ mùi cục bộ và thông tin tri thức.
Trong hệ thong AS, mật độ mùi được xác định trên các cạnh. Tuy
nhiên, đối với bài toán này, mật độ mùi được xác định trên các cặp (cung -
điểm đến). Có nghĩa là một cung (¿ /) có „-l giá trị vét tg € [0,1], voi n 1a sd
lượng đỉnh trên đồ thị, nhìn chung ta # 1u Mỗi cung có thể được kết hợp một giá trị thông tin về tri thức ny = l-qy >, ». Fu VOI gy la dQ dai cla hang
đợi các kết nối từ đỉnh ¿ đến các đỉnh láng giềng j. Hang dgi cang ngắn thì giá
trị thơng tin trí thức càng cao. Đàn kiến sẽ lựa chọn đường đi theo xác suất là hàm của 7„¿ và 7; Trong quá trình xây dựng đường đi tới điểm đích, các con
kiến di chuyển sử dụng cùng một hàng đợi giống như hàng đợi các gói dữ liệu
<small>= tre.</small>
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">
tiêu biểu,
Bảng 2.1: Các ứng dụng hiện tại của thuật toán Ant
Tên bài toán | Tác giả Tên thuậttoán —— | Năm *
VRP Bullnheimer, Hart! & Strauss AS-VRP 1997
<small>Gambardella, Taillard & Agazzi_| HAS-VRP 1999 </small>
White, Pagurek & Oppacher ASGA 1998
Di Caro & Dorigo AntNet & AntNet-FA | 1997
<small>Subramanian, Druschel & Chen | Regular ants 1997 </small>
van der Put & Rothkrantz ABC-backward 1998
<small>GAP Ramalhinho Lourene,o & Serra. | MMAS-GAP 1998 </small>
ONRP Navarro Varela & Sinclair ACO-V WP 1999
<small> </small>
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">
<small> </small>
2.5 Đánh giá ảnh hưởng các tham số
“Thuật toán Ant tạo các bộ lời giải khả thi dựa chủ. yếu trên các thông tin
tri thức mang tính kinh nghiệm. Một vải tham số đặc trưng cho các thông tin
này do đó sẽ tác động lên hiệu quả của thuật toán. Các tham số đó sẽ được
phân tích trong các phần dưới đây.
2.5.1 Xác định các vệt mật độ mùi
Đầu tiên, một lựa chọn rất quan trọng khi ứng dụng thuật toán Ant để
định nghĩa một thông số mang tính dự đốn là các vệt mật độ mùi. Khi ứng,
dụng thuật toán Ant trong bài toán TSP, mô tả chuẩn của mật độ mùi , xác
định độ mong muốn của con kiến khi thăm thành phố / từ thành phố ¡. Có thông tin dựa trên độ mong muốn trong quan hệ
nghĩa là nó cung cấp một v:
lữa thành phố í và thành phố
bài toán SMTWTP, kết quả tốt hơn đạt được khi sử
dụng thuật tốn Ant gì
dụng mơ tả vị trí tuyệt đối
<small> </small>
ủa các vệt mật độ mùi, nơi mà z, là độ mong,
1). Trái lại, trong bài toán SMTWTP, ø và z" mô tả hai
khả năng chỉ phí rất khác nhau. Khi đó, trong bài tốn SMTWTP vị trí tuyệt
đối dựa trên cơ sở mật độ mùi là một lựa chọn tốt hơn. Vi
định các bộ lời
xác định vệt mật độ mùi là một chỉ
`u quan trọng trong việc xác
<sub>i tip theo của thuật toán.</sub>
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">
39
<small> </small>
2.5.2 Cân nhắc các thăm dò và khai thác
Bắt kỳ một thuật tốn siêu trí thức hiệu quả đều phải đưa ra một sự
(đánh giá giữa việc khai thác các kinh nghiệm trong tìm kiếm và thăm dị các
vùng khơng gian tìm kiếm chưa được thăm hoặc chưa khám phá. Trong A€O.
phát với tần suất cao. Chú ý rằng dựa trên các phân bố mật độ mùi, các mẫu
phân bố có thể thay đổi. Do vậy, cách đơn giản nhất để khai thác các kinh
nghiệm tìm kiếm của đàn kiến là liên tục cập nhập mật độ mùi của đàn kiến
như là một hàm của chất lượng lời giải được sinh ra từ mỗi con kiến.
'Việc thăm dò khơng gian tìm kiếm được đưa ra trong thuật toán Ant bởi việc cấu trúc lời giải ngẫu nhiên của đản kiến. Giả sử ta xem xét thuật toán Ant mà khơng có các thơng tỉn về trí thức (điều nảy có thể dễ dàng đạt
(được bing cách đặt /?-0). Trong trường hợp đó việc cập nhật mật độ mùi của
đàn kiến sẽ được địch từ mẫu lời giải khởi tại của khơng gian tìm kiếm tới mẫu đang xem xét trong vùng không gian tìm kiếm. Khi đó, việc thăm đỏ
khơng gian tìm kiếm sẽ được kết hợp trong phần khởi tạo của thuật toán và sẽ
giảm các tính tốn phụ.
Cuối cùng, một vấn đề quan trọng, đó là vai trò trong việc cân nhắc lựa
chọn các thăm đò và khai thác thông qua các tham số œ /Öđể xác định các ảnh
Âu tiên ta xem xét ảnh.
hưởng của vệt mật độ mùi và thông tin tri thức.
hưởng của tham số ø. Với a>0, ø càng lớn việc khai thác các kinh nghiệm
tìm kiếm cảng chắc chắn; ø=0, các vệt mật độ mùi không ảnh hưởng đến quá.
trình cấu trúc lời giải; với œ<0 hẳu hết các lựa chọn có thể được thực hiện bởi
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">
<small>“ </small>
đàn kiến có độ mong muốn thấp hơn từ khía cạnh vệt mật độ mùi, Do đó các
thay đổi của ø có thể được sử dụng để dịch chuyển từ việc thăm dò sang, khai
thác hay ngược lại. Tham số / xác định độ ảnh hưởng của thông tin tri thức
theo cách tương tự trên.
2.5.3 ACO và tìm kiếm cục bộ
Trong rất nhiều các bài toán tối ưu tổ hợp, thuật toán Ant sẽ thực hiện
tốt hơn nếu kết hợp với một thuật toán tìm kiếm cục bộ. Các thuật tốn tìm
kiếm cục bộ sẽ tối ưu lời giải của đản kiến và lời giải tối ưu cục bộ đó được
sử dụng trong quá trình cập nhật các vệt mật độ mùi.
Việc sử dụng tìm kiếm cục bộ trong các thuật toán Ant rất được quan
tâm. Thực tế là các giải thuật Ant thực hiện tìm kiếm thô, và lời giải chúng
tạo ra có thể sau đó được tối ưu cục bộ bởi một thuật tốn tìm kiếm cục bộ
tương xứng.
Mặt khác, việc sinh lời giải khởi tạo cho thuật toán tìm kiếm cục bộ
khơng phải là một nhiệm vụ dễ dàng. Chẳng hạn, với nhiều bài toán, việc lặp
lại tìm kiếm cục bộ từ một lời giải khởi tạo ngẫu nhiên là không hiệu quả. Thực tế, đàn kiến có thể kết hợp các lời giải thành phần như là một phần của
lời giải cục bộ tốt nhất sau nảy, sinh ra một lời giải khởi tạo cho tìm kiếm cục bộ. Bằng thực nghiệm, có thể tìm thấy sự kết hợp dựa trên xác suất, sự tương.
thích về tri thức cấu trúc với tìm kiếm cục bộ để đưa ra một kết quả hoàn hảo. Trừ phi phải sử dụng thuật tốn tìm kiếm cục bộ như là một điều kiện
cho hiệu quả tốt nhất của nhiều ứng dụng ACO, cịn nhìn chung thuật tốn
Ant có hiệu quả thực hiện rất tốt với những, bài toán mà thuật tốn tìm kiếm
cục bộ không thể áp dụng dễ dàng.
</div>