1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn) một số thuật toán giải số bài toán tối ưu phi tuyến

60 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 451,03 KB

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC  - NGUYỄN HỮU ĐẠT lu an n va p ie gh tn to MỘT SỐ THUẬT TOÁN GIẢI SỐ BÀI TOÁN TỐI ƯU PHI TUYẾN d oa nl w ll u nf va an lu oi m LUẬN VĂN THẠC SĨ TOÁN HỌC z at nh z m co l gm @ an Lu THÁI NGUYÊN - 2019 n va ac th si ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC  - NGUYỄN HỮU ĐẠT lu an n va p ie gh tn to MỘT SỐ THUẬT TOÁN GIẢI SỐ BÀI TOÁN TỐI ƯU PHI TUYẾN d oa nl w Chuyên ngành: Toán ứng dụng Mã số : 46 01 12 lu ll u nf va an LUẬN VĂN THẠC SĨ TOÁN HỌC oi m z at nh NGƯỜI HƯỚNG DẪN KHOA HỌC TS Vũ Vinh Quang z m co l gm @ an Lu n va THÁI NGUYÊN - 2019 ac th si i Lời cảm ơn Trước hết, em xin bày tỏ lòng kính trọng lịng biết ơn sâu sắc tới TS lu Vũ Vinh Quang, người thầy tận tình hướng dẫn, bảo cung cấp an tài liệu hữu ích để em hồn thành luận văn va n Xin cảm ơn lãnh đạo Trường Đại học Khoa học - Đại học Thái Nguyên tn to tạo điều kiện giúp đỡ mặt suốt trình học tập p ie gh thực luận văn Em xin bày tỏ lòng biết ơn tới thầy, cô giáo giảng dạy lớp K11C nl w truyền đạt kiến thức phương pháp nghiên cứu khoa học suốt d oa năm học vừa qua an lu Xin chân thành cảm ơn anh chị em học viên cao học K11C bạn bè oi lm ul cứu làm luận văn nf va đồng nghiệp động viên khích lệ tơi q trình học tập, nghiên Tơi xin bày tỏ lịng biết ơn sâu sắc đến gia đình, người thân, z at nh người động viên, khuyến khích giúp đỡ mặt để tơi hồn thành cơng việc nghiên cứu z @ Thái Nguyên, tháng năm 2019 gm m co l Tác giả luận văn an Lu Nguyễn Hữu Đạt n va ac th si ii Lời cam đoan Tôi xin cam đoan: lu Những nội dung luận văn thực hướng an dẫn trực tiếp thầy giáo hướng dẫn TS Vũ Vinh Quang n va tên cơng trình, thời gian, địa điểm công bố gh tn to Mọi tham khảo dùng luận văn trích dẫn rõ ràng tác giả, p ie Tôi xin chịu trách nhiệm với lời cam đoan nl w Thái Nguyên, tháng năm 2019 d oa Tác giả luận văn nf va an lu oi lm ul Nguyễn Hữu Đạt z at nh z m co l gm @ an Lu n va ac th si iii Mục lục Lời cảm ơn i lu an ii Bảng ký hiệu v n va Lời cam đoan tn to p ie gh Mở đầu w Một số kiến thức oa nl 1.1 Mơ hình tổng qt tốn tối ưu hóa 1.3 Một số phương pháp giải tốn tuyến tính 1.3.1 Thuật tốn hình học d 1.2 Phân loại toán tối ưu nf va an lu oi lm ul 1.4 Mơ hình tốn quy hoạch lồi tổng qt 6 1.4.2 Khái niệm Gradient đạo hàm hướng 1.4.3 Bài toán quy hoạch lồi tổng quát, điều kiện tối ưu 1.4.4 Cực tiểu hàm lồi biến 10 z at nh 1.4.1 Khái niệm tập lồi, hàm lồi z @ gm 1.5 Phương pháp giải tốn quy hoạch tuyến tính tổng qt 15 m co l phần mềm MATLAB Một số thuật toán giải số toán tối ưu phi tuyến không an Lu ràng buộc 16 n va ac th si iv 2.1 Một số kiến thức 16 2.1.1 Định nghĩa 16 2.1.2 Điều kiện tối ưu 17 2.2 Các thuật toán sử dụng đạo hàm 18 2.2.1 Thuật toán Gradient 18 2.2.2 Thuật toán đường dốc 20 2.2.3 Thuật toán Newton 23 2.3 Các thuật tốn khơng sử dụng đạo hàm lu an 26 2.3.1 Phương pháp tìm trực tiếp (Direct search) 26 2.3.2 Phương pháp Powell 27 2.3.3 Phương pháp Nelder Mead 28 n va 32 3.1 Một số kiến thức 32 3.1.1 Hàm Lagrange w 32 3.1.2 Thiết lập điều kiện tối ưu Kuhn - Tucker 33 ie buộc p gh tn to Một số thuật toán giải số tốn tối ưu phi tuyến có ràng d oa nl an lu 3.2 Một số thuật toán 3.2.1 Thuật toán Gradient va 35 38 Kết luận 52 z at nh Tài liệu tham khảo oi lm ul nf 3.2.2 Phương pháp hàm phạt (Penalty function method) 35 53 z m co l gm @ an Lu n va ac th si v Bảng ký hiệu QHTT Quy hoạch tuyến tính; lu an n va ie gh tn to xi tọa độ thứ i x; xT vectơ hàng (chuyển vị x ); ||x|| = chuẩn Euclide x; ∂f (x) vi phân f x; ∇f (x) đạo hàm f x; p f (x) đạo hàm f x d oa nl w oi lm ul nf va an lu z at nh z m co l gm @ an Lu n va ac th si Mở đầu Mơ hình tốn quy hoạch phi tuyến nói chung mơ hình quan trọng lớp tốn tối ưu hóa Mơ hình có nhiều ứng lu an dụng toán học vật lý, kinh tế thương mại Về mặt lý n va thuyết, có nhiều tài liệu trình bày thuật tốn lý thuyết giải tn to mơ hình tốn mơ hình tổng qt Tuy nhiên việc nghiên gh cứu cài đặt chi tiết thuật toán ứng dụng vào số mơ hình đối p ie với số toán cụ thể học vật lý chưa nhiều người đề w cập đến oa nl Nội dung luận văn nghiên cứu sở toán học thuật d toán giải toán quy hoạch phi tuyến tính khơng ràng buộc lu an có ràng buộc, tìm hiểu chi tiết bước mơ tả thuật tốn, xây dựng sơ đồ ul nf va khối cài đặt thuật tốn ngơn ngữ lập trình cụ thể oi lm Nội dung luận văn gồm ba chương, phần phụ lục cấu trúc sau: Chương Một số kiến thức z at nh Trình bày mơ hình tổng qt tốn tối ưu hóa, phân loại tốn tối ưu, phương pháp biến đổi bản, số thuật toán giải toán tối ưu z gm @ hàm lồi biến, giải tốn quy hoạch tuyến tính MATLAB Các kết kiến thức quan trọng ứng dụng chương m co l sau luận văn an Lu Chương Mơ hình tốn tối ưu hóa phi tuyến Trong chương này, trình bày số thuật toán giải số toán tối ưu phi n va ac th si tuyến không ràng buộc Cụ thể chương nêu mơ hình tổng qt, điều kiện tối ưu, thuật toán sử dụng đạo hàm thuật toán Gradient, thuật toán đường dốc nhất, thuật toán Newton, thuật toán Gradient liên hợp, thuật tốn khơng sử dụng đạo hàm thuật tốn tìm trực tiếp, thuật toán Powell, thuật toán Nelder Mead Chương Một số thuật toán giải số toán tối ưu phi tuyến có ràng buộc Nội dung chương tìm hiểu số thuật tốn giải số tốn tối ưu lu phi tuyến có ràng buộc khái niệm hàm Lagrange, phương pháp hàm an phạt, thuật tốn tìm nghiệm xấp xỉ Các thuật tốn cài đặt va n môi trường MATLAB version 7.0 p ie gh tn to d oa nl w oi lm ul nf va an lu z at nh z m co l gm @ an Lu n va ac th si Chương Một số kiến thức lu an va Nội dung chương trình bày mơ hình tổng qt tốn n tối ưu hóa, phân loại toán tối ưu, phương pháp biến đổi bản, gh tn to số thuật toán giải toán tối ưu hàm lồi biến, giải toán quy hoạch tuyến tính MATLAB Các kết kiến thức quan trọng ie p ứng dụng chương sau luận văn Các kiến thức Mơ hình tổng qt tốn tối ưu hóa va an lu 1.1 d oa nl w tham khảo tài liệu [1], [2], [4] Tối ưu hóa lĩnh vực quan trọng tốn có ảnh nf oi lm ul hưởng đến hầu hết lĩnh vực khoa học, công nghệ, kinh tế xã hội Việc tìm giải pháp tối ưu cho tốn thực tế chiếm vai z at nh trò quan trọng 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 trình Nếu sử dụng kiến thức z tảng toán học để giải toán cực trị, người ta đạt @ m co l toán đặt thực tế gm hiệu kinh tế cao Điều phù hợp với mục đích Mơ hình tốn tối ưu tổng quát phát biểu sau: an Lu n va ac th si 39 Các phương pháp hàm phạt chia thành hai nhóm: phương pháp hàm phạt trong, phương pháp hàm phạt a) Phương pháp hàm phạt (interior penalty function method), hàm Gj thường chọn dạng: Gj = − gj (x) Gj = log[−gj (x)] Cực tiểu hàm Pk nằm miền nghiệm chấp nhận hội tụ lu nghiệm tốn f (x) thơng số rk biến đổi đặn an b) Phương pháp hàm phạt (exterior penalty function method), va n hàm GJ thường chọn dạng: to gh tn Gj = max[0, gj (x)] Gj = {max[0, −gj (x)]}2 p ie Khi cực tiểu hàm Pk nằm ngồi miền nghiệm chấp nhận Ví dụ nl w hội tụ nghiệm toán f (x) thông số rk biến đổi d oa Hàm mục tiêu: f (x) = 13 (x1 + 1)3 + x2 → g1 (x) = −x1 + ≤ nf va an lu Ràng buộc: Giải: oi lm ul g2 (x) = −x2 ≤ z at nh z Theo phương pháp hàm phạt trong, hàm mục tiêu mở rộng là:   1 P (x, r) = (x1 + 1) + x2 − r − → −x1 + x2 gm @ l Để giải tốn khơng ràng buộc P (x, r) ta dùng điều kiện cần: m co ∂P r = (x1 + 1)2 − = → (x21 − 1)2 = r ∂x1 (1 − x1 ) an Lu n va ∂P r = − → x22 = r ∂x2 x2 ac th si 40 Các phương trình cho: x∗1 (r)  = r +1  12 ; x∗2 (r) = r 3   12  r2 + + − Pmin (r) = 1 r −  r2 r2 +  12 Để nhận nghiệm toán gốc, ta thấy: fmin = lim Pmin (r) r→0 lu x∗1 = lim x∗1 (r) r→0 an x∗2 = lim x∗2 (r) n va r→0 tn to Các giá trị f, x∗1 , x∗2 cho bảng sau: gh Bảng 3.1: Giá trị r x∗2 (r) 1000 5,71164 31,62278 376,2636 132,4003 100 3,31662 10,00000 89,9772 36,8109 2,04017 3,16228 25,3048 12,5286 1,41421 1,00000 9,1046 5,6904 1,14727 0,31623 4,6117 3,6164 1,04881 0,10000 3,2716 2,9667 p ie x∗1 (r) oa nl w 10 d f (r) 1,01569 0,03162 2,8569 2,7615 0,0001 1,00499 0,01000 2,7267 2,6967 0,00001 1,00158 0,00316 2,6856 2,6762 0,000001 1,00050 0,00100 2,6727 2,6697 Nghiệm xác 8/3 8/3 oi lm 0,001 @ ul nf 0,01 va an 0,1 lu Pmin (r) z at nh z l gm Sau nghiên cứu chi tiết số thuật toán sử dụng tư m co tưởng hàm phạt Hàm phạt p(x) thỏa mãn tính chất: an Lu A Một số phương pháp hàm phạt điểm n va ac th si 41 i/ không âm liên tục tập intD={x ∈ R : gi (x) < 0, i = 1, , m} ii/ p(x) → +∞ gi (x) → 0− Hai hàm phạt điểm sử dụng nhiều, Fiacco McCormick đưa ra, là: p(x) = − m X (ln(−gi (x)) p(x) = − m X i=1 i=1 gi (x) Phương pháp hàm phạt điểm xuất phát từ điểm x1 tập chấp nhận D, giải dãy toán tối ưu không ràng buộc lu minψ(x, αk ) với điều kiện x ∈ Rn , ψ(x, αk ) = f (x) + αk p(x), {αk } an dãy tham số dương, giảm đơn điệu va Thuật toán 3.1 n tn to Bước chuẩn bị: Cho số ε > đủ bé (để kiểm tra điều kiện dừng thuật gh toán) Chọn điểm x1 ∈ D thỏa mãn gi (x1 ) < 0, i = 1, , m Chọn p ie tham số phạt α1 > số µ ∈ (0, 1) Đặt k = w Bước lặp k: (k=1, 2, ) oa nl Bước k1 : Xuất phát từ xk giải tốn tối ưu khơng ràng buộc minψ(x, αk ) d với điều kiện x ∈ Rn nhận nghiệm xk+1 , an lu Bước k2 : oi lm Else chuyển Bước k3 ; ul toán (P) nf va if αk p(xk+1 ) < ε Then Dừng thuật toán (lấy xk+1 nghiệm tối ưu Bước lặp k z at nh Bước k3 ; Đặt tham số phạt αk+1 := µαk Đặt k := k + Chuyển l gm @ Thuật tốn 3.1 có tính chất sau: z Định lí 3.1 i/ ψ(x, α) ≥ f (x) với α > 0, x chấp nhận được; m co n va điểm tụ {xk } nghiệm tối ưu (P ) an Lu ii// gi (xk ) < 0, i = 1, , m  iii/ ψ(xk , αk ) hội tụ đến giá trị tối ưu toán (P) {αk } → ac th si 42 Chứng minh i/ Hiển nhiên ii/ Nếu gi (xk )=0 , ta suy ψ(xk , αk ) không hữu hạn iii/ Nếu x∗ nghiệm (P), ta cần chứng minh lim ψ(xk , αk ) = f (x∗ ) k→∞ Vì αk & 0, {ψ(xk , αk )} dãy giảm ψ bị chặn (do f liên tục tập compac D nên bị chặn dưới) αk p(x) ≥ 0), nên ta suy ψ(xk , αk ) hội tụ với ψ0 ≥ f (x∗ ) Thật vậy: lu ψ(xk , αk ) ≥ f (xk ) ≥ f (x∗ ) an ψ0 = lim ψ(xk , αk ) ≥ f (x∗ ) n va k→+∞ tn to Nếu ε = ψ0 − f (x∗ ) > 0, f liên tục nên ta chọn x¯ cho ε gi (¯ x) < 0, i = 1, , m p ie gh f (¯ x) < f (x∗ ) + w nl Lấy k đủ lớn cho oa m −αk lim d i=1 ε < gi (¯ x) lu ψ(xk , αk ) − ψ0 < ul nf va an oi lm Ta có z at nh ψ0 ≤ ψ(xk , αk ) (vì {ψ(xk , αk )} dãy giảm hội tụ với ψ0 ) z ≤ ψ(¯ x, αk ) (vì ψ(xk , αk ) đạt cực tiểu xk ) m X ≤ f (¯ x) − αk g (¯ x) i=1 i ε < f (¯ x) + < f (x∗ ) + ε m co l gm @ an Lu = ψ0 n va ac th si 43 Điều mâu thuẫn Do đó, ε = ψ0 − f (x∗ ) = 0, tức ψ0 = f (x∗ ) Tiếp theo, x¯ điểm hội tụ {xk }, tức x¯ = limxk1 , theo i/ ψ(xki , αki ) ≥ f (xki ) Từ ta suy ψ0 = limψ(xki , αki ) ≥ f (¯ x) Điều có nghĩa x¯ cực tiểu  Chú ý Điểm cực tiểu ψ(x, α) nằm tập chấp nhận lu Mệnh đề 3.1 Cho hàm lồi f : Rn → R tập lồi khác rỗng D ⊂ Rn Xét an n va tốn min{f (x)|x ∈ D} Khi đó: tn to i/ x∗ nghiệm tối ưu địa phương tốn x∗ gh nghiệm tối ưu toàn cục; p ie ii/ Nếu x∗ nghiệm tối ưu địa phương chặt f hàm lồi chặt nl w x∗ nghiệm tối ưu tồn cục tốn d oa Định lí 3.2 lu Giả sử f hàm lồi khả vi Rn Khí đó, x∗ ∈ Rn nghiệm cực tiểu 5f (x∗ ) = oi lm ul nf va an toàn cục toán min{f (x)|x ∈ Rn }, f : Rn → R hàm phi tuyến a1 Thuật toán Fiacco - Cormick Các ràng buộc: z at nh Hàm mục tiêu: f (x) → min(max) z gm @ gi (x) ≥ 0; i = 1, 2, , I hj (x) = 0; j = 1, 2, , J l i=1 J X ±√ h (x) gi (x) rk j=1 j an Lu P (x, rk ) = f (x) ± rk I X m co Hàm mục tiêu mở rộng xây dựng dạng hàm phạt trong: n va ac th si 44 rk dãy số thực, đơn điệu giảm q trình tính: r0 > r1 > r2 > > Ba cách chọn giá trị đầu r0 tính P (x, rk ) → a) rk = b) Đặt p(x) = I P i=1 Lấy x (0) gi (x) điểm miền chấp nhận được, I X  (0) g x i=1 i   − f x(0) f x(0) r0 =  2 5p x(0)  R x (0)  = lu an n va tn to c) Chọn s gh p ie r0 =     5T f x(0) H −1 f x(0)   ; 5p x(0) 6= 5T p x(0) H −1 p x(0) nl w Trong H ma trận Hessian hàm p(x) x(0) oa Thuật tốn mơ tả ngơn ngữ lập trình MATLAB sau: d function mfc=method_fiacco_cormick(epxilon, k) lu muy=1/2; oi lm ul r=1; nf clc; va an format short e; while ss1> epxilon z at nh X=[0; 1/2]; ss1=10; z while and(ss > epxilon, count < k) dk=-grad; an Lu alpha=1; m co grad=[dh1px(X, r); dh1py(X, r)]; l count=count + 1; gm @ count=0; ss=10; ep=1/2; lamdak =2/3; Xluu=[1; 1]; n va ac th si 45 %+ xac dinh buoc di toi uu lamdak X= X+lamdak*dk; ss=chuan1(X - Xluu, 2); Xluu = X; end; ss1=abs(r*g(X)); r = r*muy; end; mcf=X; lu an count; n va Các kết thực thuật toán cho bảng liệu sau to gh tn Bảng 3.3: Nghiệm xấp xỉ tối ưu sau bước lặp p ie f (x, y) = x2 + y nl w g(x, y) = x + y − Sai số Nghiệm xấp xỉ 1.5 [-2xe+1; -2xe+1] 0.9 [-033; -033] 0.15 [-2xe-2; -2xe-2] [-6xe-2; -6xe-2] 3× e − [-1 x e-3; -1 x e-3] 12 6× e − [-4 x e-4; -4 x e-4] 14 10× e − [-6 x e-5; -6 x e-5] 16 3× e − 18 9× e − 20 9× e − z at nh 0.01 10 oi lm ul nf va an lu d oa Số bước lặp gm @ [-1 x e-6; -1 x e-6] l [-5 x e-8; -5 x e-8] m co an Lu Hàm mục tiêu: f (x) → min(max) z a2 Thuật toán Carroll [-7 x e-6; -7 x e-6] n va ac th si 46 Các ràng buộc: gi (x) ≥ 0; i = 1, 2, , m Hàm mục tiêu mở rộng xây dựng dạng hàm phạt trong: m X wj Pk = P (x, rk ) = f (x) ± rk g (x) j=1 i Dấu + tìm minf(x), dấu - tìm maxf(x); rk nhân tử bước lặp thứ k; wj trọng số (thường chọn wj = 1) Thuật toán: Bước 0: Khởi động x0 ∈ D; r0 = 1; µ ∈ (0, 1); ε = 10(−10) lu Bước lặp: Mọi k=0, 1, 2, an va + Giải tốn khơng ràng buộc Pk = P (x, rk ) = f (x)±rk m P j=1 wj gi (x) → n p ie gh tn to (Sử dụng thuật toán Gradient quy tắc Armijo) P m wj + Kiểm tra: Nếu rk

Ngày đăng: 21/07/2023, 09:00