Tải bản đầy đủ (.docx) (62 trang)

Phương pháp ACO và bài toán thời khóa biểu cho trường đại học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (429.29 KB, 62 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN VĂN TUÂN

PHƯƠNG PHÁP ACO VÀ BÀI TOÁN
THỜI KHOÁ BIỂU CHO TRƯỜNG ĐẠI HỌC

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

Hà Nội - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN VĂN TUÂN

PHƯƠNG PHÁP ACO VÀ BÀI TOÁN
THỜI KHOÁ BIỂU CHO TRƯỜNG ĐẠI HỌC

Ngành: Công nghệ Thông tin
Chuyên ngành: Hệ thống Thông tin
Mã số: 60.48.01.04

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS HOÀNG XUÂN HUẤN

Hà Nội - 2015



LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành nhất tới PGS.TS. Hoàng Xuân Huấn, người
thầy đáng kính đã tận tình chỉ bảo, hướng dẫn tôi trong suốt quá trình tìm hiểu, nghiên
cứu và hoàn thiện luận văn. Với kiến thức sâu rộng, nhiều năm nghiên cứu trong lĩnh
vực tối ưu hóa cũng như phương pháp tối ưu hệ kiến của thầy đã giúp tôi hiểu rõ, sâu
sắc nhiều bài toán khó khăn gặp phải trong quá trình nghiên cứu. Thầy cũng đưa ra
những góp ý chi tiết, tỉ mỉ hết sức quý báu giúp cho tôi có thể hoàn thành quyển luận
văn này.
Tôi cũng xin được gửi lời cảm ơn sâu sắc tới Tiến Sĩ Đỗ Đức Đông và Thạc sĩ
Trần Ngọc Hà, những người đã giúp đỡ tôi giải quyết những khúc mắc trong quá trình
viết chương trình để chạy thực nghiệm.
Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những
thiếu sót nhất định. Tôi rất mong nhận được những sự góp ý quý báu của thầy cô và
các bạn.
Hà Nội, tháng 01 năm 2015

Nguyễn Văn Tuân


TÓM TẮT
ài toán lập thời khóa biểu là một trong những lĩnh vực được nhiều người uan
tâm vì tính ứng ng cao của nó trong các t chức giáo c, trường học trên thế giới, là vấn
đề đau đầu mà hàng năm bất k hệ thống trường học nào trên thế giới cũng phải đối
mặt. ác bài toán lập thời khóa biểu rất phong phú và đa ạng b i các ràng buộc và yêu
cầu của t ng t chức.
Bài toán thời khóa biểu thuộc lớp NP khó [12] nên khó giải bằng các thuật toán
truyền thống. Đến nay các thuật toán mô phỏng tự nhiên tỏ ra là phương pháp hữu hiệu
nhất để giải các bài toán này. Thuật toán i truyền là một trong những thuật toán mô
phỏng tự nhiên đầu tiên dựa vào sự tiến hóa và phát triển của ngành di truyền học. Gần

đây phương pháp tối ưu hóa đàn kiến o Dorigo đề xuất là một trong số các cách tiếp
cận mới nhất. Đây là hai thuật toán tiêu biểu cho lớp thuật toán mô phỏng tự nhiên để
giải uyết các bài toán tối ưu khó nói chung và bài toán thời khóa biểu nói riêng. M c
tiêu luận văn “Phương pháp ACO và bài toán thời khoá biểu cho trường Đại học” là
nghiên cứu và áp d ng phương pháp A O vào bài toán thời khoá biểu. Phương pháp
ACO sử d ng quy tắc cập nhật mùi Max-Min Ant System (MMAS) đã được áp d ng
cho bài toán thời khoá biểu và đã có kết quả khá tốt so với các phương pháp khác.
Luận văn sẽ xem xét áp d ng thuật toán cập nhật mùi Smooth-Max Min Ant
System(SMMAS) cho bài toán thời khoá biểu. Smooth-Max Min Ant System là quy
tắc cập nhật mùi mới được PGS.TS Hoàng Xuân Huấn và đồng nghiệp đề xuất năm
2011. Hệ kiến SMMAS đã được áp d ng vào bài toán TSP và chứng tỏ được hiệu quả
của nó hơn hẳn hệ kiến MMAS (một hệ kiến được áp dùng nhiều nhất hiện nay).
Trong luận văn này chúng tối tiến hành cài đặt mới thuật toán ACO theo quy tắc cập
nhật mùi SMMAS và chạy thực nghiệm so sánh với hai quy tắc cập nhật mùi MMAS,
kết quả cho thấy hai thuật toán SMMAS có kết quả tốt hơn hẳn so với MMAS.

i


LỜI CAM ĐOAN
Tôi xin cam đoan rằng đây là công trình nghiên cứu của cá nhân tôi ưới sự
hướng dẫn giúp đỡ của PGS.TS. Hoàng Xuân Huấn. Các kết quả được viết chung với
các tác giả khác đều được sự đồng ý của tác giả trước khi đưa vào luận văn. Trong toàn
bộ nội dung nghiên cứu của luận văn, các vấn đề được trình bày đều là những tìm hiểu
và nghiên cứu của chính cá nhân tôi hoặc là được trích dẫn t các nguồn tài liệu có ghi
tham khảo rõ ràng, hợp pháp.
Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả được
liệt kê tại m c tài liệu tham khảo
Hà nội, tháng 01 năm 2016


Nguyễn Văn Tuân

ii


MỤC LỤC
TÓM TẮT...................................................................................................................... i
LỜI AM ĐOAN.......................................................................................................... ii
MỤC LỤC.................................................................................................................... iii
DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT................................................... v
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ....................................................................... vi
DANH SÁCH BẢNG BIỂU........................................................................................ vi
MỞ ĐẦU....................................................................................................................... 1
hương 1. GIỚI THIỆ

I TO N

P T ỜI

A IỂ...................................... 3

1.1. ác bài toán lập thời khóa biểu........................................................................... 3
1.1.1. ài toán lập thời khóa biểu cho trường ph thông (School timetabling)......3
1.1.2. Bài toán xếp lịch thi (Examination timetabling).......................................... 4
1.1.3. ài toán lập thời khóa biểu cho trường đại học ( niversity timetabling).....4
1.2. Các cách tiếp cận hiện nay.................................................................................. 4
hương 2. P ƯƠNG P

P TỐI Ư


Đ N

IẾN....................................................... 8

2.1. T kiến tự nhiên đến kiến nhân tạo..................................................................... 8
2.1.1. Kiến tự nhiên............................................................................................... 8
2.1.2. Kiến nhân tạo (Artificial Ant).................................................................... 11
2.2. Phương pháp tối ưu đàn kiến............................................................................ 11
2.3. Đồ thị cấu trúc.................................................................................................. 12
2.4. Mô tả thuật toán ACO t ng quát....................................................................... 14
2.5. Các hệ kiến....................................................................................................... 16
2.5.1. Hệ kiến AS................................................................................................. 16
2.5.2. Hệ kiến ACS.............................................................................................. 18
2.5.3. Hệ kiến MAX-MIN................................................................................... 20
2.5.4. Hệ kiến ba mức.......................................................................................... 22
2.5.5. Hệ kiến đa mức.......................................................................................... 23
2.5.6. Hệ kiến Smooth-Max Min......................................................................... 23
2.6. Một số vấn đề liên quan.................................................................................... 24
2.6.1. Đặc tính hội t............................................................................................. 24
2.6.2. ACO kết hợp với tìm kiếm địa phương...................................................... 25
2.6.3. Thông tin heuristic..................................................................................... 25
2.6.4. Số lượng kiến............................................................................................. 26
iii

2.6.5. Tham số bay hơi ..........................................................................................


hương 3. P

ƯƠN


3.1.

Áp d

3.1.1.

ng thuậ

ây ựng

3.1.2. Ma trận m i
3.1.3. Thông tin heuristic .......................................................................................
3.1.4. Tìm kiếm c
3.1.5. Thuật toán ghép cặp cực đại để tìm lời giải hoàn chỉnh ..............................
3.1.6. Mô tả thuật toán ...........................................................................................
3.2.

Các thuật toán ACO được áp d ng cho bài toán UCT

3.2.1. Thuật toán hệ kiến MMAS ..........................................................................
3.2.2. Thuật toán hệ kiến Smooth-Max Min Ant System......................................
hương 4. T ỰC NGHIỆM .........................................................................................
4.1.

Dữ liệu thực nghiệm .................................................

4.2.

Thực nghiệm ............................................................


4.3.

Kết quả .....................................................................

ẾT

N

TÀI LIỆU THAM KHẢO .............................................................................................

iv

...........


DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
STT
1
2
3
4
5
6
7
8
9
10
11
12



v


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1. Thể hiện hành vi của mỗi con kiến trong tự nhiên......................................... 8
Hình 2.2: Thực nghiệm cây cầu đôi............................................................................... 9
Hình 2.3. Thí nghiệm b xung..................................................................................... 10
ình 2.4. Đồ thị cấu trúc t ng quát cho bài toán cực trị hàm....................................... 14
Hình 2.5. Lựa chọn đỉnh đi tiếp theo........................................................................... 15
ình 2.6. Đặc tả thuật toán ACO................................................................................. 15
ình 3.1. Đồ thị cấu trúc cho bài toán UCTP.............................................................. 27

DANH SÁCH BẢNG BIỂU
ảng 4.1. Giá trị các tham số đầu vào cho ba loại bộ dữ liệu...................................... 39
ảng 4.2. ác tham số tĩnh sử d ng cho bài toán UCTP

các thuật toán đàn kiến.....40

ảng 4.4. So sánh thuật toán hệ kiến SMMAS, đa mức và hệ kiến Max-Min với các bộ
dữ liệu điển hình.......................................................................................................... 41

vi


MỞ ĐẦU
ài toán lập thời khóa biểu là một trong những lĩnh vực được nhiều người uan
tâm vì tính ứng ng cao của nó trong các t chức giáo c, trường học trên thế giới, là vấn
đề đau đầu mà hàng năm bất k hệ thống trường học nào trên thế giới cũng phải đối

mặt. ác bài toán lập thời khóa biểu rất phong phú và đa ạng b i các ràng buộc và yêu
cầu của t ng t chức.
Bài toán thời khóa biểu thuộc lớp NP khó[12] nên khó giải bằng các thuật toán
truyền thống. Đến nay các thuật toán mô phỏng tự nhiên tỏ ra là phương pháp hữu hiệu
nhất để giải các bài toán này. Thuật toán i truyền là một trong những thuật toán mô
phỏng tự nhiên đầu tiên dựa vào sự tiến hóa và phát triển của ngành di truyền học. Gần
đây phương pháp tối ưu hóa đàn kiến o Dorigo đề xuất là một trong số các cách tiếp
cận mới nhất. Đây là hai thuật toán tiêu biểu cho lớp thuật toán mô phỏng tự nhiên để
giải uyết các bài toán tối ưu khó nói chung và bài toán thời khóa biểu nói riêng.
Trong nước ta, mô hình đào tạo đại học theo niên chỉ đang chuyển sang đào tạo
hệ tín chỉ nhưng bài toán này chưa được nghiên cứu nhiều và trong thực tế chưa có
phần mềm nào sử d ng được. Với đề tài “Phương pháp ACO và bài toán thời khoá
biểu cho trường Đại Học”, luận văn mạnh ạn nghiên cứu phương pháp giải cho bài
toán lập thời khóa biểu trường đại học hệ tín chỉ theo mẫu của một bài toán chu n trên
internet (www.metaheuristics.org) và thực hiện thực nghiệm trên thuật toán tối ưu đàn
kiến. Đối với thuật toán tối ưu đàn kiến chúng tôi tìm hiểm các hệ kiến đã áp ng cho
bài toán thời khoá biểu hiện nay bao gồm hệ kiến ACS, hệ kiến Max-Min Ant
System(MMAS) đồng thời sử d ng qui tắc cập nhật mùi Smooth-Max Min Ant
System(SMMAS) mới áp d ng cho bào toán này. iệu uả của thuật toán áp d ng quy tắc
cập nhật mùi Smooth-Max Min Ant System so với MMAS được so sánh bằng thực
nghiệm dựa trên các test chu n trên mạng ( />Kết quả thực nghiệm cho thấy hiệu quả của thuật toán Smooth-Max Min tốt hơn MaxMin. Vì thời gian làm luận văn ngắn, nên chúng tôi chưa đưa ra được phần mềm sử
ng được của bài toán này, hi vọng trong thời gian tới có thể phát triển mô hình này
áp ng cho các bài toán lập thời khóa biểu cho một số trường đại học thực tế Việt Nam.
Phần còn lại của luận văn được t chức như sau:
Chương 1: Trong chương này luận văn giới thiệu về các mô hình thời khóa biểu
cho các trường học bao gồm cả trường ph thông và đại học trên thế giới và bài toán
chu n
TP ( niversity ourse TimeTabling Problem), đồng thời giới thiệu ua về
một số cách tiếp cận hiện nay cho bài toán lập thời khóa biểu.
1



Chương 2: Giới thiệu phương pháp tối ưu hóa đàn kiến lịch sử phát triển, các
thuật toán A O, và một số nguyên tắc ứng ng A O
Chương 3: Trình bày về cách thức chung để áp ng tối ưu đàn kiến giải bài toán
UCTP. (Đồng thời trong chương này chúng tôi trình bày các cải tiến c thể trong áp d
ng tối ưu hóa đàn kiến với bài toán UCTP)
TP, các
Chương 4: Chương này giới thiệu về bộ ữ liệu chu n cho bài toán
kết uả thực nghiệm và đánh giá trên thuật toán tối ưu đàn kiến sử d ng các quy tắc cập
nhật mùi SMMAS và MMAS.

2


Chương 1. GIỚI THIỆU BÀI TOÁN

ẬP THỜI

H A BIỂU
1.
1.
C

h

u


ác t

chức giáo
c
trên thế
giới hàng
k
phải đối
mặt với
một công
việc khó
khăn là đưa ra
lịch học của các
học viên đáp
ứng được nhiều
ràng buộc khó
và phức tạp. ài
toán lập thời
khóa biểu là một
bài toán tối ưu t
hợp NP-khó[12]
một trường hợp
riêng của bài
toán lập lịch
trong đó đưa ra
một chuỗi các
sự kiện (thông
thường là các
môn học, bài
giảng hoặc các
môn thi) và bao
gồm các giáo

viên và học viên
trong
một
khoảng thời gian
định trước và
thỏa mãn một
tập hợp các ràng
buộc của t ng
loại thời khóa
biểu khác nhau.
ác ràng buộc

bao gồm khả năng học tập
của sinh viên và khả năng
làm việc của giáo viên, sức
chứa của ph ng học và yêu
cầu đáp ứng của các sự kiện.

học, các
ràng buộc khó có
thể thỏa mãn
giáo
được.
viên tr
ng giờ
ạy, và
3
tính
ài toán thời khóa biểu
phức tạp

bao gồm rất nhiều
loại khác nhau đã
của một
được đưa ra xuất
thời
phát t các loại sự kiện, mỗi loại t
khóa
học ...) và các loại ảnh hư ng khác biểu
đến các
cho ràng buộc của bài toán t y thuộc v
điều kiện khác nhau. Nói chung bàimột
toánlớp.
lập thời khóa biểu được chia làm 3
chung được mô tả khác nhau
Đặc biệt
toán lập thời khóa biểu cho trường đại
là học,
ràng bài toán xếp lịch thi.
buộc
1.1.1. B
chặt các
ài toán lập thời khóa
lớp học
biểu cho trường ph thông hay
phải có
bài toán phân chia giáo viên,
giờ
lớp học trong một tuần đối
trong
với tất cả các môn học của

bất k
một trường học.
tiết học
Với ba tập hợp cho
nào tr
trước là tập giáo viên, tập lớp
tiết đầu
học và tập tiết học và một ma
hoặc tiết
trận ràng buộc số bài giảng
cuối của
một giáo viên được phân
ngày.
công ạy một lớp. ài toán yêu
Độ chặt
cầu phân chia các bài giảng
này là
vào các tiết sao cho không
yếu tố
giáo viên hay lớp học nào có
uyết
c ng một bài giảng trong c
định sự
ng một thời gian và mỗi giáo
khác
viên đều có một số lượng
nhau
nhất định các bài giảng với
giữa
mỗi lớp học.

thời
ác ràng buộc thêm vào bao
khóa
gồm chế độ nghỉ của giáo
biểu cho
viên, các bài giảng liên tiếp
trường
nhau cho hai hay nhiều lớp
ph


1.1.2. Bài toán xếp lịch thi (Examination timetabling)
ài toán lập lịch thi yêu cầu đưa ra bộ lịch của một số các k thi cho trước với một
lượng thời gian cho trước và tập hợp các ph ng thi.
ài toán lập lịch thi tương tự như bài toán lập thời khóa biểu cho trường đại học
nhưng ta cần phân biệt sự khác nhau giữa hai bài toán này. ài toán lập lịch thi có những
đặc điểm khác sau đây:


hỉ có một k thi cho mỗi một môn thi.

 ác điều kiện xung đột nói chung là hạn chế. Thực tế, chúng ta có thể chấp

nhận một sinh viên có thể bỏ ua một bài giảng o sự chồng ch o các môn
học nhưng không có sinh viên nào được ph p bỏ ua một k thi.
• Và một số ràng buộc khác nhau ví hầu hết một sinh viên sẽ chỉ có một k thi
trong một ngày và không có nhiều uá các k thi liên tiếp nhau với một sinh
viên.
 Số tiết của k thi có thể khác nhau, ngược lại với bài toán lập thời khóa biểu


cho trường đại học cái đó là cố định.
• ó thể có nhiều hơn một k thi trong một ph ng nhưng lại không thể có nhiều bài
giảng được diễn ra trong một phòng tại một thời điểm.
1.1.3. B

n

h

h

u h

ư ng

h

Un

ng)

ài toán lập thời khóa biểu cho trường đại học là bài toán lập lịch cho các bài
giảng (lectures) vào t ng khóa học với một số lượng ph ng học và tiết học cho trước.
Điểm khác biệt chính với bài toán lập thời khóa biểu trường ph
thông là đặc trưng
của các khóa học
học
trường ph
thực thể đơn. Ở các trường đại học, hai khóa học khác nhau có thể có tr
tham

ự và điều đó có thể tạo ra xung đột và sẽ không thể lập lịch
một tiết học.
Thêm vào đó, các giáo viên
trong khi trường đại học một giáo sư thường chỉ
trong một k .

uối c ng, với bài toán trường đại học kích cỡ các ph ng học
uan trọng trong khi với bài toán trường ph thông vấn đề này là không
vì trong hầu hết các trường ph thông mỗi lớp có một ph

4


Trong luận văn này chỉ xét bài toán lập thời khóa biểu cho trường đại học theo hệ
tín chỉ ( niversity ourse Timetabling Problem - UCTP). Để tiện cho việc so sánh giữa
các thuật toán, bài toán lập thời khóa biểu cho trường đại học được thu gọn về thành
bài toán mẫu chu n (được phát biểu tại: www.metaheuristics.org) để thực nghiệm với
các thuật toán mô phỏng tự nhiên.
ài toán được phát biểu như sau
Có N môn học được các sinh viên đăng ký tham gia cần được xếp lịch vào một
tuần gồm K tiết học tương ứng. ác môn học được t chức tại các ph ng học đáp ứng đủ
các điều kiện học tập của môn học đó (mỗi ph ng học chỉ chứa được một lượng người
nhất định và đáp ứng được một số các điều kiện học tập cho trước, trong khi mỗi một
môn học lại yêu cầu phải có một số điều kiện học tập cho riêng nó).
Một lời giải hay một thời khóa biểu chấp nhận được là tất cả các môn học đều
được chia vào các tiết học và các ph ng tương ứng và thỏa mãn các điều kiện ngặt sau:
- hông sinh viên nào tham ự hơn một môn học trong c ng một thời gian.
- Ph ng học đủ lớn cho các sinh viên đăng ký môn học và đáp ứng đủ các điều

kiện của môn học đó.

hỉ có một môn học được t chức tại một ph ng trong bất k một khoảng
thời gian cho trước nào.
Thêm vào đó, một thời khóa biểu chấp nhận được sẽ được đánh giá bằng số vi
phạm các ràng buộc mềm được cho như sau:
- Hạn chế số sinh viên phải tham ự một môn học vào tiết cuối c ng trong ngày

(tồn tại mỗi một sinh viên như vậy thì tính là một vi phạm).
- Hạn chế các sinh viên phải tham ự uá nhiều môn học liên tiếp nhau trong
cùng một ngày (trong thực nghiệm, nếu có ba môn học t chức liên tiếp với
một sinh viên trong một ngày sẽ được tính là một vi phạm).
- Hạn chế các sinh viên chỉ học đúng có một môn học trong ngày (một sinh

viên như vậy tương ứng với một vi phạm).
1.2. Các cách tiếp c n hiện nay
Bài toán thời khóa biểu nói riêng và các bài toán tối ưu t hợp nói chung là rất khó
giải. Sự khó khăn của chúng được thể hiện độ phức tạp tính toán và với những bài toán
thuộc lớp NP-khó như vậy thời gian để giải thường tăng theo hàm mũ của kích thước
bài toán.

5


Như chúng ta đã biết, trong thuật toán “v t cạn” (tìm kiếm theo bề rộng hoặc theo
độ sâu), về mặt nguyên tắc các phương pháp tìm được nghiệm của bài toán nếu bài
toán có nghiệm, song trên thực tế, những bài toán NP-khó không thể áp d ng được
phương pháp này, vì ta phải phát triển một không gian trạng thái rất lớn, trước khi đi
tới trạng thái đích, mà o những hạn chế về thời gian tính toán và ung lượng bộ nhớ,
không cho ph p chúng ta làm được điều đó.
Chẳng hạn, với bài toán thời khóa biểu cho 40 lớp học, mỗi lóp có 8 môn học,
mỗi lớp có 25 tiết mỗi tuần thì không gian tìm kiếm rất lớn là 825*40 trường hợp. Rõ

ràng, nếu ng phương pháp v t cạn thì thời gian chạy rất lâu, khó chấp nhận được.
Vì vậy đã có rất nhiều thuật toán được đề xuất để giải gần đúng các bài toán NP
khó. ác thuật toán này tìm được lời giải gần tối ưu và là một trong những xu thế phát
triển hiện nay đối với các bài toán chưa thể tìm được lời giải tối ưu thực sự trong đó
các thuật toán mô phỏng theo tự nhiên như thuật toán luyện kim, thuật toán di truyền,
thuật toán hệ kiến... Trong đó thuật toán i truyền và thuật toán hệ kiến tỏ ra là phương
pháp hữu hiệu nhất.
Thuật toán i truyền[12] kết hợp ý tư ng leo đồi và thuật toán luyện kim. Trong
thuật toán “leo đồi” sử d ng kỹ thuật “nâng cấp lặp”, kỹ thuật này áp d ng cho một
điểm đơn (điểm hiện tại) trong không gian tìm kiếm. Trong một lần nâng cấp, một
điểm mới được chọn trong số các điểm lân cận của điểm hiện hành nếu điểm đó cho
kết quả tốt hơn của hàm m c tiêu. Việc tìm kiếm sẽ kết thúc khi không thể nâng cấp
thêm được nữa. Rõ ràng thuật toán leo đồi chỉ cho ta kết quả tối ưu c c bộ, kết quả này
ph thuộc vào sự lựa chọn của điểm xuất phát, mặt khác ta không có được thông tín sai
số về kết quả tìm được so với kết quả tối ưu toàn c c
Để khắc ph c nhược điểm trên, thuật toán leo đồi đã được cải tiến bằng cách tăng
số lượng các điểm xuất phát (điểm xuất phát cho mỗi lần chạy có thể được lựa chọn
ngẫu nhiên hoặc được chọn tùy theo kết quả của các lần chạy trước). Sự thành công
hay thất bại của mỗi lần chạy (cho ta kết quả tối ưu toàn c c hay c c bộ), ph thuộc vào
sự lựa chọn điểm xuất phát và hình dáng của “mặt cong” của hàm giá. Nếu mặt cong
chỉ có một số ít cực trị địa phương thì tối ưu toàn c c được tìm ra rất nhanh. Nhưng
ngược lại, nếu số cực đại địa phương nhiều thì khả năng tìm tối ưu toàn c c là rất nhỏ.
Chính vì vậy mà kể cả sau khi đã được cải tiến thì thuật toán vẫn chưa tốt.
Trong thuật toán luyện kim[12], người ta dùng kỹ thuật thay đ i entropy của hệ.
Ở phương pháp này người ta đã điều khiển tốc độ hội t của quần thể bằng cách biến
đ i nhiệt động học với một tham số nhiệt độ T toàn c c. Để hạn chế việc tối ưu c c bộ
và tăng khả năng khám phá không gian tìm kiếm, người ta đã
ng thủ thuật giảm
6



nhiệt độ T t ng bước (đến một mức nào đó). Tuy nhiên vì T chỉ giảm đến một mức nhất
định, vì vậy phương pháp này cũng không tránh khỏi hạn chế trong việc khám phá
không gian tìm kiếm mới và s hội t địa phương.
Bằng cách duy trì một quần thể (tập hợp các lời giải có thể) thuật toán i truyền
khuyến khích sự hình thành và trao đ i thông tin giữa các cá thể (thể hiện qua phép tráo
đ i chéo). Một quá trình tiến hóa được thực hiện trên một quần thể tương đương với sự

tìm kiếm trong một không gian các lời giải có thể. Sự tìm kiếm này đ i hỏi sự cân bằng
giữa hai m c đích tìm lời giải tốt nhất và khám phá không gian tìm kiếm mới.
Gần đây, phương pháp tối ưu đàn kiến [15](A O - Ant olony Optimi ation) o
Dorigo đề xuất là một trong số các cách tiếp cận mới nhất. Một thành phần ngẫu nhiên
trong ACO cho phép các con kiến xây dựng được một lượng lớn các lời giải khác nhau
và t đó tìm kiếm được một lượng lời giải lớn hơn hẳn so với phương pháp khác. Và tại
cùng một thời gian, việc sử d ng các thông tin kinh nghiệm sẽ hướng dẫn các con kiến
tìm kiếm được các lời giải hứa hẹn. Quan trọng hơn, kinh nghiệm tìm kiếm của con
kiến được sử d ng để học tăng cường trong quá trình lặp xây dựng thuật toán. Thêm
vào đó, việc sử d ng đàn kiến sẽ làm cho các thuật toán ứng d ng ACO phức tạp có
thêm một tập hợp các tác nhân lặp hiệu quả để giải quyết bài toán. Hiệu quả của nó đã
được chứng minh bằng thực nghiệm và cho thấy n i trội hơn so với các thuật toán mô
phỏng tự nhiên khác như luyện kim, di truyền, tính toán tiến hóa. Miền ứng
d ng của các bài toán ACO rất rộng. Về nguyên lý, ACO có thể được áp d ng cho bất k

bài toán tối ưu rời rạc nào. Trong chương 3 chúng ta sẽ tìm hiểu chi tiết thuật toán tối
ưu hóa đàn kiến cho bài toán UCTP.

7


Chương 2. PHƯƠNG PHÁP TỐI ƯU ĐÀN KIẾN

Ở chương 1 luận văn đã được tìm hiểu về bài toán UCTP và một số cách tiếp cận

để giải bài toán, chương này luận văn sẽ tìm hiểu phương pháp tối ưu đàn kiến để giải
bài toán trên.
2.1. Từ kiến tự nh ên ến kiến nhân t o
Những hình ảnh nhận thức đặc biệt của đàn kiến chỉ đơn giản là sự phát triển và
hoàn toàn mò mẫm. Trong thực tế, một điều quan trọng trong nghiên cứu về loài kiến
là hành vi liên lạc giữa các con kiến hoặc giữa các cá nhân với môi trường, được dựa
trên việc sử d ng các sản ph m hóa chất của các loài kiến. Các hóa chất đó được gọi là
mùi (vết mùi).
2.1.1. Kiến tự nhiên
hi 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. Phương thức này tuy đơn giản nhưng đã 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ả năng của t ng con kiến, đặc biệt là
khả năng tìm đường đi ngắn nhất t t đến nguồn thức ăn (xem hình 2.1) (mặc dù, kiến
không có khả năng đo độ ài đường đi). iến chịu ảnh hư ng của các vết mùi của các con
kiến khác chính là ý tư ng thiết kế thuật toán ACO.

Hình 2.1. Thể hiện hành vi của mỗi con kiến trong tự nhiên
Để làm được điều đó, trên đường đi, mỗi con kiến để lại vết m i ng để đánh dấu
đường đi. ằng cách cảm nhận vết mùi, con kiến có thể lần theo đường đi đến

8


nguồn thức ăn được các con kiến khác khám phá theo phương thức chọn ngẫu nhiên,
có định hướng theo nồng độ vết mùi.
Con kiến chịu ảnh hư ng của các vết mùi của các con kiến khác, đây là ý tư ng
chính để thiết kế thuật toán ACO.
Thí nghiệm trên cây cầu

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. Thực nghiệm, được thiết kế b i Deneubourg và các đồng nghiệp [15]
dùng một chiếc cầu đôi nối t
Họ đã thực nghiệm với tỉ lệ độ ài đường
cầu đôi, trong đó là độ dài của nhánh dài còn
Trong thực nghiệm thứ nhất, chiếc cầu đôi có hai nhánh bằng nhau (
2.2.a). an đầu, kiến lựa chọn đường đi một cách tự o đ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ư sau an đầu không có vết mùi nào
trên cả hai nhánh, o đó 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 c c bộ giữa
các con kiến với thông tin gián tiếp là vết m i để lại cho ph p điều chỉnh hoạt động vĩ
mô của đàn kiến.

Hình 2.2: Thực nghiệm cây cầu đôi
(a) ai nhánh có độ dài bằng nhau.

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


9


Trong thực nghiệm thứ hai (xem hình 2.2 b), độ dài của nhánh dài gấp đôi độ dài
nhánh ngắn (tỉ lệ


). Trong trường hợp này, sau một thời gian tất cả các con kiến

đều chọn đoạn đường ngắn hơn. ũng như trong thực nghiệm thứ nhất, ban đầu đàn kiến
lựa chọn hai nhánh đi như nhau, một nửa số kiến đi theo nhánh ngắn và một nửa đi
theo nhánh ài (mặc dù trên thực tế, do tính ngẫu nhiên có thể một nhánh nào đó được
nhiều kiến lựa chọn hơn nhánh kia). Nhưng thực nghiệm này có điểm khác biệt quan
trọng với thực nghiệm thứ nhất: Những kiến lựa chọn đi theo nhánh ngắn sẽ nhanh
chóng quay tr lại t và khi phải lựa chọn giữa nhánh ngắn và nhánh dài, kiến
sẽ thấy nồng độ mùi trên nhánh ngắn cao hơn nồng độ m i trên nhánh ài, o đó sẽ ưu
tiên lựa chọn đi theo nhánh ngắn hơn. Tuy nhiên, trong thời gian đầu không phải tất cả
các kiến đều đi theo nhánh ngắn hơn.Phải mất một khoảng thời gian tiếp theo nữa bầy
kiến mới lựa chọn đi theo nhánh ngắn. Điều này minh chứng bầy kiến đã sử d ng
phương thức thăm , tìm đường mới.
Một điểm thú vị nữa là quan sát xem sẽ xảy ra điều gì khi quá trình tìm kiếm
đang 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 an đầu t t đến nguồn thức ăn chỉ có một nhánh dài và sau 30 phút,
thêm một nhánh ngắn (xem hình 2.3). Trong trường hợp này, nhánh ngắn thường
không được kiến chọn mà chúng tập trung đi trên nhánh ài. Điều này có thể giải thích
như sau nồng độ vết mùi trên cạnh dài cao và sự bay hơi của vết mùi diễn ra chậm nên
đại đa số các con kiến vẫn lựa chọn nhánh dài (có nồng độ vết mùi cao).Hành vi này
tiếp t c được củng cố kiến chọn đi theo nhánh ài, ngay cả khi có một nhánh ngắn
xuất hiện. Việc bay hơi vết m i là cơ chế tiện lợi cho việc tìm đường mới, nghĩa là việc
bay hơi có thể giúp kiến uên đi đường đi tối ưu địa phương đã được tìm thấy trước đây
để tìm khám phá đường đi mới, tốt hơn.

Hình 2.3. Thí nghiệm b

xung


( an đầu chỉ có một nhánh và sau 30 phút thêm nhánh ngắn hơn)

10


2.1.2. Kiến nhân t o (Artificial Ant)
Thực nghiệm cây cầu đôi cho thấy đàn kiến 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 cho ph p liên tư ng tới cách học tăng cường
(reinforcement learning) trong bài toán chọn tác động tối ưu[2], gợi m 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 đó các tác tử (agent) là đàn kiến nhân tạo.
Tuy nhiên, trong các bài toán ứng d ng các đồ thị thường phức tạp hơn.T mỗi
đỉnh có thể có nhiều cạnh, nên nếu mô phỏng thực sự hành vi của đàn kiến tự nhiên
nhiều con kiến sẽ đi lu n qu n và o đó hiệu quả thuật toán sẽ rất kém. Vì vậy, người ta
dùng kỹ thuật đa tác tử (multiagent) mô phỏng đàn kiến nhân tạo, trong đó mỗi con
kiến nhân tạo có khả năng nhiều hơn so với kiến tự nhiên. Kiến nhân tạo (về sau trong
luận án ta sẽ gọi đơn giản là kiến) có bộ nhớ riêng, có khả năng ghi nhớ các đỉnh đã
thăm trong hành trình và tính được độ ài đường đi nó chọn. Ngoài ra, kiến có thể trao
đ i thông tin với nhau, thực hiện tính toán cần thiết, cập nhật m i…
Sử d ng mô hình kiến nhân tạo này, Dorigo (1991) [15] đã xây ựng thuật toán Hệ
kiến (AS) giải bài toán người chào hàng. Hiệu quả của thuật toá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.
Thuật toán này về sau được phát triển và có nhiều ứng d ng phong phú, được gọi
chung làphương pháp A O.
2.2. Phương h

ố ưu

n


ến

Tối ưu đàn kiến (Ant Colony Optimization - ACO) là một phương pháp
metaheuristic được đề xuất b i Dorigo vào năm 1991[14] dựa trên ý tư ng mô phỏng
cách tìm đường đi t t tới nguồn thức ăn và ngược lại của các con kiến tự nhiên để giải
gần đúng bài toán TƯT NP-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ủa vết mùi này là có khả năng ứ đọng,
bay hơi và là phương tiện giao tiếp báo cho các con kiến khác thông tin về đường đi đó
một cách gián tiếp. Các con kiến sẽ lựa chọn đường đi nào tồn đọng lượng m i hay có
cường độ vết m i lớn nhất tại thời điểm lựa chọn để đi, nhờ cách giao tiếp mang tính
gián tiếp và cộng đồng này mà đàn kiến trong tự nhiên tìm được đường đi ngắn nhất
trong uá trình tìm thức ăn mang về t và ngược lại. Sử d ng mô hình kiến nhân tạo này
Dorigo (1991) [4] đã xây ựng thuật toán hệ kiến (AS) giải bài toán người chào hàng.
Thuật toán này đã được chứng minh tính hiệu quả thông qua thực nghiệm so với

11


các mô phỏng tự nhiên khác như SA (mô phỏng luyện kim) và GA (giải thuật di
truyền). Thuật toán này về sau được phát triển và có nhiều áp d ng phong phú trong
thực tế, được gọi chung là phương pháp A O.
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 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 của t ng bài toán c thể. Thuật toán A
O đầu tiên là hệ kiến (Ant System - AS) giải bài toán Người chào hàng TSP, đến
nay các thuật toán A
t hợp khác nhau và hiệu

Nhờ những thành
vào giải các bài toán tối ưu t
mới thu hút được sự
được ội đồng châu
Excellence Award) trao hai năm một lần giành cho năm nhà khoa học có nhiều đóng
góp cho nền khoa học và công nghệ châu u vào ngày 05 11 2003. ho đến nay, các
hội nghị về đàn kiến đã t
2004, ANTS 2006, ANTS 2008) và
công trình nghiên cứu lý thuyết và thực nghiệm có ý nghĩa khoa học và ứng
trọng góp phần chứng tỏ A
/>2.3. Đồ thị cấu trúc
t bài toán TƯT
S là tập hữu hạn trạng thái, f là hàm m c tiêu xác định trên S, c n Ω là các ràng buộc

để xác định tập S có các thành phần được lấy t tập hữu hạn C. Các tập S, và Ω có các
đặc tính sau:
là tập các dãy trong
độ dài không quá
1) Ký hiệu
trong được xác địnhb i ít nhất một
{

}. hi đó, mỗi phương án

vectơ trong

.

2) Tồn tại tập con của
mọi , trong đó tập


và ánh xạ t lên có thể
xây dựng được t

tuần tự ưới đây.
3) T

ta m rộng tuần tự thành

i) Ta xem

như sau

là m rộng được với mọi
12

sao cho
tập con

không rỗng với
nhờ m rộng
của


ii) Giả sử
xác định tập con

là m rộng được và chưa thuộc
của , sao cho với mọi rộng
là m được.


. T tập ràng buộc

,

thì
iii) c
Áp
d
ng
thủ t


×