Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
1,13 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN QUANG LẬP THUẬT TOÁN BẦY ĐÀN PSO, GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG GIẢI CÁC BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: TS. VŨ VINH QUANG Thái Nguyên - 2013 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ i LỜI CẢM ƠN Em xin chân thành cảm ơn Trường Đại Học Công Nghệ Thông Tin và truyền thông đã tạo điều kiện cho em thực hiện luận văn này. Em cũng xin chân thành cảm ơn tới toàn thể thầy cô giáo ở Viện công nghệ thông tin và trường Đại học công nghệ thông tin và truyền thông đã tận tình giảng dạy và hướng dẫn, trang bị cho em những kiến thức cần thiết trong quá trình thực hiện luận văn được thành công. Dựa trên sự chỉ bảo tận tình của TS. Vũ Vinh Quang dựa trên những kiến thức đã học và tìm hiểu được, em đã hoàn thành luận văn theo đúng thời gian quy định. Tuy nhiên trong quá trình thiết kế và thực hiện luận văn không tránh khỏi sai sót, do thời gian có hạn và khả năng còn hạn chế. Em mong quý thầy cô và các bạn thông cảm và có những ý kiến quý báu nhằm hoàn thiện hơn cho sản phẩm. Em xin chân thành cảm ơn! Thái nguyên, ngày 15 tháng 9 năm 2013 Học viên Nguyễn Quang Lập Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ ii LỜI CAM ĐOAN Em xin cam đoan luận văn tốt nghiệp: “Thuật toán bầy đàn PSO, giải thuật di truyền và ứng dụng giải các bài toán tối ưu đa mục tiêu” do em tự thực hiện dưới sự hướng dẫn của thầy giáo Vũ Vinh Quang. Các kết quả và số liệu hoàn toàn trung thực. Ngoài các tài liệu tham khảo đã dẫn ra ở cuối luận văn em đảm bảo rằng không sao chép các công trình hay luận văn tốt nghiệp của người khác. Nếu phát hiện có sự sai phạm với điều cam đoan trên, em xin hoàn toàn chịu trách nhiệm. Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ iii MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC CÁC BẢNG v DANH MỤC CÁC HÌNH VẼ vi MỞ ĐẦU 1 CHƢƠNG 1: MÔ HÌNH BÀI TOÁN TỐI ƢU 3 1.1 Mô hình bài toán tối ưu hóa 3 1.1.1 Mô hình tổng quát 3 1.1.2 Phân loại bài toán tối ưu 4 1.2 Bài toán quy hoạch tuyến tính 4 1.3 Bài toán tối ưu đa mục tiêu 6 1.3.1 Phương pháp ràng buộc 6 1.3.2 Phương pháp tổng trọng số 8 1.3.3 Phương pháp nhượng bộ dần 8 1.3.4 Phương pháp thoả hiệp 9 1.3.5 Phương pháp tìm nghiệm có khoảng cách nhỏ nhất đến nghiệm lý tưởng 9 1.3.6 Phương pháp giải theo dãy mục tiêu đã được sắp 9 1.3.7 Phương pháp từng bước của Benayoun 10 1.3.8 Phương pháp trọng số 11 CHƢƠNG 2: CƠ SỞ THUẬT TOÁN DI TRUYỀN 13 2.1 Các khái niệm cơ bản 14 2.1.1 Cá thể, nhiễm sắc thể 14 2.1.2 Quần thể 14 2.1.3 Chọn lọc (Selection) 14 2.1.4 Lai ghép (Cross-over) 15 2.1.5 Đột biến (Mutation) 15 2.1.6 Mô hình GA 15 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ iv 2.1.7 Các tham số của GA 16 2.2 Cơ chế thực hiện GA 17 2.2.1 Mã hóa 17 2.2.2 Khởi tạo quần thể ban đầu 18 2.2.3 Xác định hàm thích nghi 19 2.2.4 Cơ chế lựa chọn 19 2.2.5 Các toán tử di truyền 20 2.3. Thuật toán di truyền kinh điển 22 2.3.1. Mã hóa 22 2.3.2. Toán tử chọn lọc 23 2.3.3. Toán tử lai ghép 24 2.3.4. Toán tử đột biến 25 2.3.5. Thuật toán di truyền mã hóa số thực (RCGA) 27 2.4 Thuật toán tối ưu bầy đàn PSO 33 2.4.1 Giới thiệu 33 2.4.2 Khái niệm về bầy đàn thông minh 34 2.4.3 Thuật toán PSO truyền thống 35 2.5 Một số kết quả cải tiến đối với PSO 43 CHƢƠNG 3: ỨNG DỤNG THUẬT TOÁN GA VÀ PSO CHO CÁC BÀI TOÁN THỰC TẾ 56 3.1 Đặt vấn đề 56 3.2 Mô hình bài toán thức ăn gia súc 58 3.2.1 Yêu cầu của bài toán 58 3.2.2 Dữ liệu đầu vào của bài toán 58 3.3 Bài toán thực tế 61 KẾT LUẬN 68 TÀI LIỆU THAM KHẢO 69 PHỤ LỤC 70 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ v DANH MỤC CÁC BẢNG Bảng 2.1: Phân tích kết quả một vài bài toán tối ưu thông dụng 53 Bảng 2.2: Kích thước quần thể và miền giá trị khởi tạo cho các bài toán tối ưu 53 Bảng 3.1 Giá trị các tham số của bài toán 57 Bảng 3.2 Tiêu chuẩn dinh dưỡng 61 Bảng 3.3 Tỉ lệ chất dinh dưỡng trong các loại nguyên liệu 61 Bảng 3.4: Nghiệm của bài toán với một số bộ dữ liệu 63 Bảng 3.5: Nghiệm của bài toán với một số bộ dữ liệu 66 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ vi DANH MỤC CÁC HÌNH VẼ Hình 2.1: Sơ đồ mô tả GA 15 Hình 2.2: Lai ghép CMX 30 Hình 2.3: Phân bố của ci j x 31 Hình 2.4: Toán tử lai ghép SX 32 Hình 2.5: Mô tả cách thức tìm kiếm thức ăn của bầy kiến 34 Hình 2.6: Mô tả cách thức tìm đường của đàn chim 35 Hình 2.7: Bầy đàn với 10 cá thể trong không gian tìm kiếm 2 chiều 36 Hình 2.8: Quan hệ vị trí – vận tốc trong không gian 2 chiều 37 Hình 2.9: Một bầy đàn toàn cục và lân cận cục bộ 38 Hình 2.10: Các topology lân cận đơn giản 38 Hình 2.11:Chuyển động của cá thể 42 Hình 2.12: Áp dụng kỹ thuật làm lệch cho hàm (2.13) tại điểm * 4.60095589x , với λ=1 46 Hình 2.13 Áp dụng kỹ thuật làm lệch cho hàm (2.13) tại điểm * 4.60095589x ,với λ=10 46 Hình 2.14:Áp dụng kỹ thuật làm lệch cho hàm (2.13) tại điểm * 4.60095589x ,với λ=0.1. 47 Hình 2.15: Áp dụng kỹ thuật làm lệch cho hàm (2.14) tại điểm * () 2 x , với λ=1 47 Hình 2.16: Áp dụng kỹ thuật làm lệch cho hàm (2.14) tại điểm * 2 x ,với λ=10 48 Hình 2.17: Áp dụng kỹ thuật làm lệch cho hàm (2.14) tại điểm * 2 x , với λ=0.1 48 Hình 2.18: Đồ thị của hàm Levy No.5 trong khối [-2,2] 2 50 Hình 2.19: Giai đoạn đầu G(x) của kỹ thuật kéo giãn cho hàm Levy No.5 trong khối [-2,2] 2 50 Hình 2.20: Hàm Levy No.5 trong khối [-2,2] 2 sau giai đoạn hai H(x) của kỹ thuật kéo giãn 51 Hình 3.1: Kết quả bài toán khi sử dụng thuật toán GA – Test 2 64 Hình 3.2 Kết quả giải bài toán khi sử dụng thuật toán PSO – Test 2 66 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 1 MỞ ĐẦU Trong thực tế, rất nhiều ngành khoa học phải giải quyết các bài toán tối ưu đa mục tiêu đặc biệt là trong ngành kinh tế. Chẳng hạn, người chế tạo sản phẩm thường phải đưa ra phương án sao cho vừa tiết kiệm vật liệu, chi phí sản xuất thấp và lại muốn giá trị sản phẩm là cao nhất. Nghiên cứu giải bài toán tối ưu đa mục tiêu là một vấn đề không đơn giản vì chưa chắc có lời giải thỏa mãn đồng thời các mục tiêu đặt ra (thường là các mục tiêu đối nghịch như ví dụ trên) mà không vi phạm các ràng buộc nào đó. Đã có nhiều phương pháp giải bài toán tối ưu đa mục tiêu được đề xuất, việc nghiên cứu phát triển các phương pháp này và ứng dụng chúng để giải quyết các bài toán thực tế là một vấn đề đang được quan tâm. Trong nhiều bài toán tối ưu thực tế, việc trọng tâm là tìm vị trí cực tiểu toàn cục của hàm mục tiêu giá trị thực f: E R, nghĩa là tìm điểm * xE sao cho * ( ) ( ),f x f x x E với tập đóng d ER , trong đó d là số chiều. Đã có nhiều phương pháp tối ưu toàn cục (Global Optimization - GO) được phát triển để giải quyết vấn đề như trên như: Mô phỏng việc luyện thép (Simulated Annealing), Tabu search, Tính toán tiến hóa (Evolutionary computation). Về mặt lý thuyết tổng quát, các phương pháp GO có tính hội tụ mạnh, hay ít ra về nguyên tắc cũng dễ hiểu trong việc thực hiện và ứng dụng. Tính toán tiến hóa (Evolutionary computation) là kỹ thuật đặc biệt trong số các phương pháp GO. Phương pháp này làm việc trên một tập hợp những lời giải tiềm năng, được gọi là quần thể (population) và tìm lời giải tối ưu thông qua việc cộng tác và cạnh tranh giữa các lời giải tiềm năng. Thường được sử dụng nhất là các thuật toán di truyền (Genetic Algorithms – GA) và Artificial Life, dựa trên sự tiến hóa tự nhiên và cư xử xã hội. Các phương pháp này thường có thể tìm tốt nhất trong các bài toán tối ưu phức tạp với các phương pháp tối ưu truyền thống. Thuật toán tối ưu Particle Swarm Optimization (PSO) được R.C.Eberhat và J.Kennedy đề nghị năm 1995. Từ lúc ra đời đến nay PSO đã được nhiều nhà khoa Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 2 học tham gia nghiên cứu, cải tiến và ứng dụng nó để giải nhiều bài toán lý thuyết và thực tế. Đề tài “Thuật toán bầy đàn PSO, giải thuật di truyền và ứng dụng giải các bài toán tối ưu đa mục tiêu” nhằm tìm hiểu khả năng ứng dụng của thuật toán PSO, GA trong việc giải quyết các bài toán tối ưu đa mục tiêu trong thực tế. Với mục đích đó, đề tài tập trung trình bày về việc giải bài toán tối ưu bằng giải thuật PSO, GA và thực nghiệm về khả năng ứng dụng thực tế của hai thuật toán này. Nội dung đề tài gồm 3 chƣơng: Chương 1: Mô hình bài toán tối ưu đa mục tiêu. Chương 2: Cơ sở thuật toán di truyền. Chương 3: Ứng dụng thuật toán GA, và PSO cho các bài toán thực tế. Trong luận văn, các kết quả thực nghiệm được thực hiện bằng các chương trình viết trên nền Matlab version 7.0. Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 3 CHƢƠNG 1 MÔ HÌNH BÀI TOÁN TỐI ƢU Trong chương này, luận văn sẽ trình bày một số kiến thức cơ bản về mô hình tổng quát của bài toán tối ưu hóa, việc phân loại các bài toán tối ưu và một số phương pháp giải bài toán tối ưu đa mục tiêu, các kiến thức của chương này được tham khảo từ các tài liệu [1,2]. 1.1 Mô hình bài toán tối ƣu hóa 1.1.1 Mô hình tổng quát Tối ưu hóa là một trong những lĩnh vực quan trọng của toán học có ảnh hưởng đến hầu hết các lĩnh vực khoa học, công nghệ và kinh tế và xã hội. Việc tìm giải pháp tối ưu cho một bài toán thực tế nào đó chiếm một vai trò hết sức quan trọng như việc tiến hành lập kế hoạch sản xuất hay thiết kế hệ thống điều khiển các quá trình … Nếu sử dụng các kiến thức trên nền tảng của toán học để giải quyết các bài toán cực trị, người ta sẽ đạt được hiệu quả kinh tế cao. Điều này phù hợp với mục đích của các vấn đề đặt ra trong thực tế hiện nay. Bài toán tối ưu tổng quát được phát biểu như sau: Cực đại hóa (cực tiểu hóa) hàm: ( ) ax(min)f X m Với các điều kiện: 1 ( ) , ii g X b i J (1.1) 2 ( ) , jj g X b j J (1.2) 3 ( ) , kk g X b k J (1.3) 12 , , , 0. n x x x (1.4) Trong đó ()fX được gọi là hàm mục tiêu, Các điều kiện (1.1) được gọi là ràng buộc đẳng thức. Các điều kiện (1.2), (1.3) được gọi là ràng buộc bất đẳng thức. Các điều kiện (1.4) được gọi là ràng buộc về dấu. 12 ( , , , ) n X x x x là véc tơ thuộc không gian n R . Tập các véc tơ X thỏa mãn hệ ràng buộc lập nên một miền D được [...]... Bit c chn s b o (Bit c chn cú gch chõn) Nu trc t bin : 11011001 Thỡ sau t bin : 11010001 2.3 Thut toỏn di truyn kinh in 2.3.1 Mó húa GA kinh in s dng mó húa nh phõn, mi cỏ th c mó húa l mt chui nh phõn cú chiu di c nh S dng vộc t nh phõn cú di L nh mt NST biu din giỏ tr ca bin x [l x , u x ] ( di L ca NST ph thuc vo yờu cu c th ca bi toỏn) Mt bit mó húa x ng vi mt giỏ tr trong khong [0, 2L] s c ỏnh... chn theo mu c thc hin nh sau: Bc 1: Biu din xỏc sut chn cỏc NST lờn trờn mt ng thng Bc 2: t N im chn lờn ng thng Cỏc im chn ny cỏch nhau 1 1 , im u tiờn t ngu nhiờn trong khong [0, ] N N Bc 3: Vi mt im chn, NST gn vi nú nht v bờn phi s c chn Phng phỏp ny cú c im l cỏc im chn c phõn b u trờn trc s, do ú s gn vi im xng ỏng c chn 2.2.5 Cỏc toỏn t di truyn Cỏc toỏn t di truyn ca GA l toỏn t lai ghộp v t bin... l phng phỏp mó hoỏ NST ph bin nht Trong mó hoỏ nh phõn, mi NST l mt chui nh phõn, mi bit trong nú cú th biu din mt c tớnh ca nghim S húa bi trung tõm hc liu http://www.lrc.tnu.edu.vn/ 18 Mó hoỏ nh phõn thng hay dựng trong cỏc bi toỏn ti u cỏc hm mt bin hay nhiu bin Khi ú, mi chui nh phõn s biu din hm ti mt tp giỏ tr ca cỏc bin Ngoi ra nú cũn c ỏp dng trong nhiu loi bi toỏn khỏc Mó hoỏ nh phõn tuy l... toỏn khỏc Mó hoỏ nh phõn tuy l ph bin nhng nú cú mt nhc im l cú th to ra khụng gian mó hoỏ ln hn so vi khụng gian giỏ tr ca NST Do ú, vi nhiu bi toỏn thỡ biu din nh phõn l khụng hu hiu + Mó hoỏ hoỏn v Trong mó hoỏ hoỏn v, mi NST l mt chui cỏc s biu din mt th t sp xp Mó hoỏ hoỏn v phự hp cho cỏc bi toỏn liờn quan n th t i vi cỏc bi toỏn ny, vic thao tỏc trờn cỏc NST chớnh l hoỏn v cỏc s trong chui ú lm... gii Cỏc kin thc ny l c s trỡnh by cỏc kt qu trong chng 2 v chng 3 ca lun vn S húa bi trung tõm hc liu http://www.lrc.tnu.edu.vn/ 13 CHNG 2 C S THUT TON DI TRUYN Trong chng 2, lun vn s trỡnh by cỏc kin thc c bn v lnh vc tớnh toỏn mm bao gm thut toỏn di truyn (GA) v thut toỏn by n (PSO) gii cỏc bi toỏn a mc tiờu Cỏc kin thc v cỏc thut toỏn ny c tham kho t cỏc ti liu [3, 4, 5, 6, 7, 8, 9, 10] M u Trong... chộp t m v phn cũn li sao chộp t cha Xột Cha : 11| 0010 | 10 M : 11| 1010 | 01 Con sinh ra do lai ghộp hai im ct : Con : 11 | 1010| 10 + Lai ghộp mt n : - Xõy dng mt mt n l mt chui nh phõn cú chiu di bng chiu di NST, Mt n c phỏt sinh ngu nhiờn i vi tng cp cha m - Xõy dng NST mi: Duyt qua mt n, bit cú giỏ tr 1 thỡ sao chộp gen ti v trớ ú t NST cha sang con, bit cú giỏ tr 0 thỡ sao chộp t m Vớ d xột Cha... yờu cu tỡm kim ti u ton cc vi khụng gian tỡm kim ln v khụng th kim soỏt nh kh nng duyt qua khụng gian tỡm kim i din m khụng thc s i qua tng im ca ton b khụng gian 2.2 C ch thc hin GA 2.2.1 Mó húa cú th thc hin GA, vn u tiờn l xut phỏt t bi toỏn thc t, ta cn phi mụ t cỏc phng ỏn ca bi toỏn di mt dng no ú (mụ hỡnh toỏn hc, tin hc, ) Vn mụ t ú c gi l cỏc phng phỏp mó húa Thụng thng ngi ta s dng mt trong... vi hai cỏ th cha v m ó c chn P1, P2: P1= (1110001010), P2= (0101100111), di L 10 Toỏn t ny cn sinh ngu nhiờn mt v trớ k (1 k L) , sau ú hai cỏ th con c to thnh bng cỏch trỏo i cỏc gen ca cp cha m tớnh t im ct Gi s im ct ó chn k 8 , hai con c sinh ra nh sau: C1= (1110001011), C2= (0101100110) Th tc lai ghộp mt im Procedure lai1diem(k, P1, P2: var C1,C2); Begin For i:=1 to k do Begin C1[i]:=P1[i]; C2[i]:=P2[i];... 2,4,6,9 P1= 1001110101, P2= 0100111110 C1= 1000111111, C2= 0101110101 c/ Lai ghộp mt n Vi hai cỏ th cha m ó chn P1, P2 v phỏt sinh mt chui nh phõn ngu nhiờn cng cú di L gi l chui mt n P1= (1110001010), P2= (0101100111), U= (0110011001), di L 10 Cỏc con c to ra da trờn chui mt n ny quyt nh ly thnh phn ca cỏ th cha hay cỏ th m da trờn nguyờn tc: Gen th i ca cỏ th con C1 c ly gen th i ca P1 nu bit mt... to m do If random[0,1] < pm then invert (parent[i]); Vi invert(u) l hm o ngc bit u Thut toỏn GA c in c mụ t mt cỏch tng minh nh sau: Algorithm GA_codien; Begin {Khi to qun th gm m qun th} t:=0; Creat initial population B0=(b10,b20,,bm0); While (stopping condition not fulfilled) do Begin {Chn lc t l} For i:=1 to m do Begin r:=random[0,1]; k:=1; i f (b j , t ) While (k . tiến và ứng dụng nó để giải nhiều bài toán lý thuyết và thực tế. Đề tài Thuật toán bầy đàn PSO, giải thuật di truyền và ứng dụng giải các bài toán tối ưu đa mục tiêu nhằm tìm hiểu khả năng ứng. nghiệp: Thuật toán bầy đàn PSO, giải thuật di truyền và ứng dụng giải các bài toán tối ưu đa mục tiêu do em tự thực hiện dưới sự hướng dẫn của thầy giáo Vũ Vinh Quang. Các kết quả và số liệu. HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN QUANG LẬP THUẬT TOÁN BẦY ĐÀN PSO, GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG GIẢI CÁC BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU Chuyên ngành: Khoa