Tải bản đầy đủ (.pdf) (53 trang)

Giải thuật di truyền cho bài toán đa mục tiêu

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 (1.03 MB, 53 trang )


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
dn ch b  
Ti li c  
i h  i hc Quc gia u kin
thun li t thi gian hc tp tng.
i li ng nghip, nhi
       c hi  


u c
ng c gng nhnh, tip cn vi thc t  
dng khoa hc s u hn ch
c s 
kin ca thn.
 
Hiu ng i h - i hc Qui
d  c khe, ni   tip tc thc hin s m  p c  
truyt kin thc cho th h mai sau.
ng.
  4






4
LỜI CAM ĐOAN

ng s lit qu u trong lu
p v c thc
hii s ng dn khoa hc ca Ti
ng mi sho vic thc hin lu
c cn trong luc ch 
ngun gc.





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 bin quynh




 














n
u

: S nghim tri hn nghim
u

S
u

: Tp nghim tri bi nghim u
P
: Qun th ban u
F
j

: Bin cha c nghim kng tri th j, j
=1,,R
Q
: Tp u tr nghim khg tri qua mi
th h
P
t


Q
t



P
t

F
j

:
j,
{j=1,…,R}

N

:

P
t

N
E

: S lng ln nht m tp E c th cha
c c nghim khng tri
N
P

: S lng c th trong qun th/kch thc
tp P
k


Tham s ca mt  nh ton: k =



 






: khoa nghim nghim
n gn nht th k trong tp
E
t
+
1


8
Danh mục các hình vẽ đồ thị
2.1 M gi 23
i thut di truyn 25
2 26
 hng 31
a kho quanh nghim i 34
 hng 34
a s quy t cm quanh mt nghim 35
2.9: Minh h  37

H2.10: Minh h 
k
nh nht 37
  40
 41
 -  42
3.4: Minh hm 44
3.5: Thu 46
3.6:   500 th h 48
3 1920 th h 49
3i NSGA2, SPEA2 50

9

Danh mục các bảng


Bng 1  19
Bng 3.1: T l % thc hin c ng hp thay th - SEAMO2 43
Bng 3.2: T l % thc hin cng hp 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, tn ti rt nhiu tng thi nhiu
mnh tranh l nh tuyn

 ng tm cung cp dch v cho mt
tp h n mt s mng
c thi gian thc hing xe s d a
 khong tha thuc
 mua thm b ng calo cn thit, chng ba
m bo, s tii h
Gii thut di truyt trong nh bi
 thu
 (fuzzy computing), m-ron
(neural networks), h  (multi-  b
intelligence), gii thut di truyng r
c ca cuc sng.
i v xut ra
 gii quy
i thuu qu  [4]. Vi gii thut SEAMO2,
vic thay th  n th (thc hin chic chn lc t 
hi t v tp nghim ti ln chy ngn th
nghing ti i ln ch mt nhiu th loi
  mnh d
ci tin chic chn lc t i thut 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
Ma lu trong gii thut di truyn
(hay gii thut tic bi chn lc t  chn
l i gii nhm tp li gii thut
di truyn gii quyt hiu qu 
M th ca lu d di truyi
vi thung di
chic chn lc t a thum ci tin thu

11
 i kt qu c
3,13,16,17].
a luu gii thut di truy

3. Nhiệm vụ nghiên cứu
a gii thut di truy
ti  p cn ng t thun  gi
m
c ci tin thun

4. Đối tượng và phạm vi nghiên cứu
u v -
u v gii thut tii thut ti 
d0 - 1 .
 ng ng dng gi      -     i gii thut
 xui tin gii thut.
t qu thc nghim c xut vt qu ca

5. Phương pháp nghiên cứu
D   u thu thp t nhiu ngu       
ng dn cung cng hnh
i theo s hiu bit ca b
M rp c i thut,
n gii quy  xut ci tin h
ng dng nhng kt qu d c
nghim, t i kt 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

         









   ca  
[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






 

   
vi tt c  l




 

 
f



, 


1.1.2. Khái niệm tối ưu Pareto


sau :
Gi 
























     


p li gii kh thi c
t[1,2].
1.1.3. Khái niệm trội Pareto
Gi  

i gii kh  tr n nu
 t :




   

  

  
  : 







hay   : 

  


1.1.4. Tập các lời giải tối ưu Pareto
Khái niệm: Gi 

   

  

sao cho  t p
i gii kh thi b tri ca 



 



i gii kh thi
 tri ca 

i gii ta 


.

-

 


 
14









M c mt biu din gi
t chm t tc 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 gii bng quy hot
thu 
- gng s
dng t  thng mhai, chng
hn Merkle-   g        
-t s thu  
ng con c th  to ra thc ra li gic b
thc.
1.3. Bài toán cái túi đa mục tiêu



[10] 
                  



  .  
 

 [10]:

16








sao cho





 



     
:    vt v m vt th   

   i sc
cha m  


 , m vt  

  trong
m,  



               Tuy
 Zitzler and Thiel

Zitzler and Thiele [17] 
 [10]

 [10, 14, 17].
-



[17].




  c vt  


 trng c vt  


 th 

 








 

sao cho:
 



















 











 khi:



















  n n vt  

 .
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
  bin nh
gii thut di truyng s d
  t chu 
0 ho  tt ngay c vi qun th s
ng nh i vi mt
s a phi sa ch c sau khi lai
t bin.
 A
101100101100101011100101
 B
111111100000110000011111
i v s dng c
Single point crossover: Ta chn mm ng
chui nh     cha m u
ph  cha m i.
11001011+11011111 = 11001111

Two point crossover: Ta chi nh  u
  cha m n t
   cha m
i, ph  cha m 
11001011 + 11011111 = 11011111
Uniform crossover: mi bit s   cha
hoc m
11001011 + 11011101 = 11011111
Arithmetic crossover: Mt s  h ng
 t con mi.
11001011 + 11011111 = 11001001 (AND)
t biBit inversion, c chn s
c ngc.
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 chn, t m
  cha m  cha m i s
c kim tra, nu 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 ca vic 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 vc ch

101100101100101011100101
19
V           t vector  









 vi 

  n vt th c ch

  nu
 vt th i c chn. Vic ta vector  khi to
ng

Bảng 1.1: Ví dụ bài toán cái túi đa mục tiêu

 1,  = 38
 2,  = 35

Trng

Trng

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
ly m c v{2,5,1,7,9,8,10,3,4,6}, b gi  u
 vt 2 vi tri vi vp theo
 vt th 5 vi tri vi vng
20
tri vi v. B gi thc hin chn
 vt t   vng

tri vi vt
i trng c vt cuc ch vt 10) s b 
khi c  cho vic 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 tp  sang tp , bii m   
quynh   
  
    
f: ng vi mnh  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
Mt gii thut di truyn (hay mt k) gii mt
 th gn [2]:
 u din di truyn cho li gii c
 i to qun th u.
 ng.
 n (la cht bin)
   c qun th

a gii thut di truyn   i dng gi 
Giải thuật GA
Begin
Khi to qun th u   





Repeat
          trong 
(evaluation)
La chn mt s cp nghim (g  -m)   

da
 
T h   c la ch  sinh     mi
(crossover)
Bii ngt s  (mutation)
To qun th mi bng vic thay th mt s ho 
th ca  b mc sinh ra d 
nghi c (population selection)
Until u kin dng th
End
25

Hình 2.2: Mô hình tổng quát giải thuật di truyền
u nhc gii thut
di truyng c di truya gii thuc
bit i t ti nghim 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].



×