GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN ĐA MỤC TIÊU
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN HẢI THANH
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2014
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Hải Thanh
GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN ĐA MỤC TIÊU
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2014
Ng
60480103
NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. LÊ NGUYÊN KHÔI
LỜI CẢM ƠN
ng
dn ch b
Ti li c
i h i hc Quc gia u kin
thun li t thi gian hc tp tng.
i li ng nghip, nhi
c hi
u c
ng c gng nhnh, tip cn vi thc t
dng khoa hc s u hn ch
c s
kin ca thn.
Hiu ng i h - i hc Qui
d c khe, ni tip tc thc hin s m p c
truyt kin thc cho th h mai sau.
ng.
4
4
LỜI CAM ĐOAN
ng s lit qu u trong lu
p v c thc
hii s ng dn khoa hc ca Ti
ng mi sho vic thc hin lu
c cn trong luc ch
ngun gc.
5
Mục Lục
3
4
7
8
9
10
CHƢƠNG 1 TỔNG QUAN VỀ TỐI ƢU ĐA MỤC TIÊU 12
1.1. 12
12
13
13
13
1.2. 14
1.2.1. -1 14
1.2.2. 15
1.2.3. 15
1.3. 15
1.4. 17
17
1. 18
18
18
19
CHƢƠNG 2 GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU . 21
21
2.1.1. 21
2.1.2. 23
2.1.3. 24
2.2. 25
2.2.1. 25
2.2.2. 26
2.2.3. 27
2.2.4. 30
2.2.5. 2 35
CHƢƠNG 3 KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 39
3.1. 39
3.1.1. 39
3.1.2. 39
3.1.3. 39
3.1.4. - 39
3.2. 42
3.2.1. 42
6
3.2.2. 43
3.2.3. 46
3.3. 49
51
52
52
52
7
Danh mục các ký hiệu và chữ viết tắt
GA
: Genetic Algorithms
MOGA
: Multi-Objective Evolutionary Algorithms
NSGA
: Nondominated Sorting in Genetic
Algorithms
SEAMO
: A Simple Evolutionary Algorithm for
Multi-objective Optimization
SPEA
: Strength Pareto Evolutionary Algorithm
=(x
1
n
)
: Vector bin quynh
n
u
: S nghim tri hn nghim
u
S
u
: Tp nghim tri bi nghim u
P
: Qun th ban u
F
j
: Bin cha c nghim kng tri th j, j
=1,,R
Q
: Tp u tr nghim khg tri qua mi
th h
P
t
Q
t
P
t
F
j
:
j,
{j=1,…,R}
N
:
P
t
N
E
: S lng ln nht m tp E c th cha
c c nghim khng tri
N
P
: S lng c th trong qun th/kch thc
tp P
k
Tham s ca mt nh ton: k =
: khoa nghim nghim
n gn nht th k trong tp
E
t
+
1
8
Danh mục các hình vẽ đồ thị
2.1 M gi 23
i thut di truyn 25
2 26
hng 31
a kho quanh nghim i 34
hng 34
a s quy t cm quanh mt nghim 35
2.9: Minh h 37
H2.10: Minh h
k
nh nht 37
40
41
- 42
3.4: Minh hm 44
3.5: Thu 46
3.6: 500 th h 48
3 1920 th h 49
3i NSGA2, SPEA2 50
9
Danh mục các bảng
Bng 1 19
Bng 3.1: T l % thc hin c ng hp thay th - SEAMO2 43
Bng 3.2: T l % thc hin cng hp thay th - SEAMO2_LG 47
B bao ph 500 th h 48
B bao ph 1920 th h 49
B bao ph 50
10
MỞ ĐẦU
1. Lý do chọn đề tài
c t, tn ti rt nhiu tng thi nhiu
mnh tranh l nh tuyn
ng tm cung cp dch v cho mt
tp h n mt s mng
c thi gian thc hing xe s d a
khong tha thuc
mua thm b ng calo cn thit, chng ba
m bo, s tii h
Gii thut di truyt trong nh bi
thu
(fuzzy computing), m-ron
(neural networks), h (multi- b
intelligence), gii thut di truyng r
c ca cuc sng.
i v xut ra
gii quy
i thuu qu [4]. Vi gii thut SEAMO2,
vic thay th n th (thc hin chic chn lc t
hi t v tp nghim ti ln chy ngn th
nghing ti i ln ch mt nhiu th loi
mnh d
ci tin chic chn lc t i thut SEAMO2 gi
t trong lu“Giải thuật di truyền cho bài toán đa
mục tiêu”.
2. Mục đích nghiên cứu
Ma lu trong gii thut di truyn
(hay gii thut tic bi chn lc t chn
l i gii nhm tp li gii thut
di truyn gii quyt hiu qu
M th ca lu d di truyi
vi thung di
chic chn lc t a thum ci tin thu
11
i kt qu c
3,13,16,17].
a luu gii thut di truy
3. Nhiệm vụ nghiên cứu
a gii thut di truy
ti p cn ng t thun gi
m
c ci tin thun
4. Đối tượng và phạm vi nghiên cứu
u v -
u v gii thut tii thut ti
d0 - 1 .
ng ng dng gi - i gii thut
xui tin gii thut.
t qu thc nghim c xut vt qu ca
5. Phương pháp nghiên cứu
D u thu thp t nhiu ngu
ng dn cung cng hnh
i theo s hiu bit ca b
M rp c i thut,
n gii quy xut ci tin h
ng dng nhng kt qu d c
nghim, t i kt qu c
12
CHƢƠNG 1 TỔNG QUAN VỀ TỐI ƢU ĐA MỤC TIÊU
1.1. Giới thiệu bài toán tối ƣu đa mục tiêu
ca
[1, 2]:
sau [1, 2]:
[1,2].
1.1.1. Mô hình bài toán tối ưu đa mục tiêu có ràng buộc
c g
13
sao cho
sao cho
vi tt c l
f
,
1.1.2. Khái niệm tối ưu Pareto
sau :
Gi
p li gii kh thi c
t[1,2].
1.1.3. Khái niệm trội Pareto
Gi
i gii kh tr n nu
t :
:
hay :
1.1.4. Tập các lời giải tối ưu Pareto
Khái niệm: Gi
sao cho t p
i gii kh thi b tri ca
i gii kh thi
tri ca
i gii ta
.
-
14
M c mt biu din gi
t chm t tc chu
m trong
ng c
1.2. Bài toán cái túi (Knapsack)
theo [1,10]
[10]
i
i
1.2.1. Bài cái túi dạng 0-1
).
- [1,10]:
sao cho
15
1.2.2. Bài toán cái túi bị chặn
H
sao cho
1.2.3. Bài toán cái túi không bị chặn
K
-1
c gii bng quy hot
thu
- gng s
dng t thng mhai, chng
hn Merkle- g
-t s thu
ng con c th to ra thc ra li gic b
thc.
1.3. Bài toán cái túi đa mục tiêu
[10]
.
[10]:
16
sao cho
: vt v m vt th
i sc
cha m
, m vt
trong
m,
Tuy
Zitzler and Thiel
Zitzler and Thiele [17]
[10]
[10, 14, 17].
-
[17].
c vt
trng c vt
th
sao cho:
khi:
n n vt
.
17
:
1.4. Mô hình bài toán cái túi đa mục tiêu
1.4.1. Mô hình mã nhị phân
bin nh
gii thut di truyng s d
t chu
0 ho tt ngay c vi qun th s
ng nh i vi mt
s a phi sa ch c sau khi lai
t bin.
A
101100101100101011100101
B
111111100000110000011111
i v s dng c
Single point crossover: Ta chn mm ng
chui nh cha m u
ph cha m i.
11001011+11011111 = 11001111
Two point crossover: Ta chi nh u
cha m n t
cha m
i, ph cha m
11001011 + 11011111 = 11011111
Uniform crossover: mi bit s cha
hoc m
11001011 + 11011101 = 11011111
Arithmetic crossover: Mt s h ng
t con mi.
11001011 + 11011111 = 11001001 (AND)
t biBit inversion, c chn s
c ngc.
11001001 => 10001001
18
1.4.2. Mô hình mã hóa hoán vị
cho .
A
1 5 3 2 6 4 7 9 8
B
8 5 6 7 2 3 1 4 9
Single point crossover: m c chn, t m
cha m cha m i s
c kim tra, nu s c ki
con
(1 2 3 4 5 6 7 8 9) + (4 5 3 6 8 9 7 2 1) = (1 2 3 4 5 6 8 9 7)
Cycle crossover: i v con s t
qu ca vic l t v c cha m.
(8 7 6 4 1 2 5 3 9 10) + (2 5 1 7 3 8 4 6 10 9) = (2 5 6 7 1 8 4 3 10 9)
t bi ng:
Displacement Mutation:
(0 1 2 3 4 5 6 7) =(0 3 4 5 1 2 6 7)
Insertion Mutation:
(0 1 2 3 4 5 6 7) = (0 1 3 4 5 2 6 7)
Inversion Mutation:
(0 1 2 3 4 5 6 7) = (0 4 3 2 1 5 6 7)
Displaced Inversion Mutation:
(0 1 2 3 4 5 6 7) = (0 6 5 4 1 2 3 7)
1.4.3. Một số ví dụ mã hóa đối với bài toán cái túi đa mục tiêu
1.4.3.1 Mô hình mã hóa nhị phân
- i
bit s cho bi vc ch
101100101100101011100101
19
V t vector
vi
n vt th c ch
nu
vt th i c chn. Vic ta vector khi to
ng
Bảng 1.1: Ví dụ bài toán cái túi đa mục tiêu
1, = 38
2, = 35
Trng
Trng
1
9
2
3
3
2
8
7
4
9
3
2
4
2
1
4
7
5
4
5
5
3
6
9
3
6
6
2
5
8
7
1
7
4
2
8
3
3
8
6
9
9
7
3
1
10
3
1
7
3
vector x=1011001011, theo
vector
.
1.4.3.2. Mô hình mã hóa hoán vị
- m
[8]
t
ly m c v{2,5,1,7,9,8,10,3,4,6}, b gi u
vt 2 vi tri vi vp theo
vt th 5 vi tri vi vng
20
tri vi v. B gi thc hin chn
vt t vng
tri vi vt
i trng c vt cuc ch vt 10) s b
khi c cho vic ch v {32, 24}.
21
CHƢƠNG 2 GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN TỐI ƢU
ĐA MỤC TIÊU
2.1. Giới thiệu về giải thuật di truyền
[1].
2.1.1. Các nguyên tắc căn bản của giải thuật di truyền
:
t
[1,7].
[1,2,7].
22
[2].
[2].
:
: t , t tp sang tp , bii m
quynh
f: ng vi mnh c
23
Hình 2.1 Mối liên hệ giữa không gian cá thể, vectơ quyết định và mục tiêu
2.1.2. Các vấn đề chính trong tìm kiếm đa mục tiêu
di
[2]:
1.
2.
3.
i
24
2.1.3. Mô hình tổng quát giải thuật di truyền
Mt gii thut di truyn (hay mt k) gii mt
th gn [2]:
u din di truyn cho li gii c
i to qun th u.
ng.
n (la cht bin)
c qun th
a gii thut di truyn i dng gi
Giải thuật GA
Begin
Khi to qun th u
Repeat
trong
(evaluation)
La chn mt s cp nghim (g -m)
da
T h c la ch sinh mi
(crossover)
Bii ngt s (mutation)
To qun th mi bng vic thay th mt s ho
th ca b mc sinh ra d
nghi c (population selection)
Until u kin dng th
End
25
Hình 2.2: Mô hình tổng quát giải thuật di truyền
u nhc gii thut
di truyng c di truya gii thuc
bit i t ti nghim t
2.2. Một số thuật toán thƣờng đƣợc áp dụng giải bài toán tối ƣu đa mục
tiêu
2.2.1. Thuật toán MOGA
.
cao
[9].