Giải bài toán tối ưu hóa ứng dụng bằng matlab maple tối ưu hóa tĩnh và điều khiển tối ưu phần 1

60 11 0
Giải bài toán tối ưu hóa ứng dụng bằng matlab   maple   tối ưu hóa tĩnh và điều khiển tối ưu phần 1

Đ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

TRUONG BAI HOC BACH KHOA HA NOI NAM XAY DUNG VA PHATTRIEN 0k KHOA CƠ KHÍ NGUYÊN NHẬT LỆ - PHAN MẠNH DẦN: TỐI ƯU HÚA ỨNG DỤNG BANG MATLAB - MAPLE TỐI UU HÓA TĨNH DIEU KHIEN TOI UU THU’ VIEN AS HOC NMA TRANG a 519.6 Ng 527 L as TRƯỜNG DAI HOC BACH KHOA HA NOI Bách K!9AÌ - 50 NĂM XÂY DỰNG VA PHAT TRIEN 1956 - 2006 KHOA CƠ KHÍ NGUYỄN NHẬT LỆ, PHAN MẠNH DẦN GIẢI BÀI TOÁN TOI UU HOA UNG DUNG BANG MATLAB, MAPLE Tối ưu hoá tĩnh Điều khiển tối ưu “hài | gh 022650 NHÀ XUẤT BẢN KHOA HỌC VÀ KỸ THUẬT HÀ NỘI LOI NOI DAU Quyển sách uới Tối ưu hoá ứng dụng Nguyễn Nhật Lệ tạo thành sách dùng cho sinh in đại học tà cao học ngành kỹ thuật Bộ sách làm tài liệu tham khảo cho sinh vién ngành khác bạn đọc có quan tâm đến toán Tối tru hoá ứng dụng Phần I sách đề cập đến số toán Tối wu hod tĩnh Phần 1I tề số toán Điều khiển tối ưu Phần Phụ lục giới thiệu hai phần mềm MATLAB, Maple tới hàm sử dung sách Trong phần I vt Il, toán Tối ưu hoá ứng dụng phân loại, phát biểu tổng quát Các thi du không phức tạp giải cụ thể MATLAB tà Maple, hai phần mềm thông dụng khoa họcuà kỹ thuật Cuối chương có số tap dé van dung Khi gặp tốn chun ngành phức tạp, bạn đọc đưa ề toán tà giải lrên máu tính phương pháp tương tự thí dụ Nếu bạn đọc quan tâm đến loại tốn phương pháp giải máu tính dùng sách Chúng chân thành cảm ơn đồng nghiệp góp nhiều ý kiến trình biên soạn, đặc biệt PGS TS Đỉnh Văn Phong Bộ môn Cơ học ứng dụng, Đại học Bách khoa Hà Nội đọc thảo va góp ý cho tác giả Chúng tơi mong nhận nhận xét, phê bình đồng nghiệp tà bạn đọc để sách hoàn thiện lần xuất sau Các nhận xét xin gửi vé Nha Xudt Khoa học tà Kỹ thuật Bộ mơn Cơ học ứng dụng, Khoa Cơ khí, Trường Đại học Bách khoa Hà Nội, Email: nhatle.nguyen@gmail.com điện thoại: 04 868 0469 Các tác giả MUC LUC LỜI NÓI ĐẦU MỤC LỤC KÝ HIỆU CHƯƠNG 1: QUY HOẠCH TUYẾN TÍNH BÀI TỐN Dạng tổng qt Dạng tắc (canonical) Dạng chuẩn (standard)) Dạng đối ngẫu (dual) tốn chuẩn Thí dụ 1.1 Đưa tốn max tốn Thí dụ 1.2 Lập giải tốn đối ngẫu Thí dụ 1.3 Đưa tốn dạng chuẩn giải Thí dụ 1.4 Đưa tốn đạng tắc giải Thí dụ 1.5 Giải tốn quy hoạch tuyến tính tng qt Thí du 1.6 Giải tốn quy hoạch tuyến tính MAPLE Thí dụ 1.7 Vẽ miền buộc đường mức BÀI TẬP CHƯƠNG 2: QUY HOẠCH LỎI VÀ QUY HOẠCH TOÀN PHƯƠNG 1.QUY HOẠCH LỎI Thí dụ 2.1 Hàm lỗi tập lồi Thí dụ 2.2 Định lý Kuhn-Tucker 1I.QUY HOẠCH TOÀN PHƯƠNG Thi du 2.3 Quy hoạch tồn phương Thí dụ 2.4 Vẽ miễn ràng buộc đường mức BÀI TẬP CHƯƠNG 8: QUY HOẠCH PHI TUYẾN BÀI TỐN KHƠNG BỊ RÀNG BUỘC 13 13 13 13 13 14 15 16 17 19 20 21 26 2% BRR PHAN I: TOI UU HOA TĨNH 30 32 32 Thí dụ 3.1 Xác định loại điểm dừng Thí dụ 3.2 Tìm hàm gián đoạn Thí dụ 3.3 Tìm hàm phi tuyến hai biến Thí dụ 3.4 Tìm hàm Rosenbrock Thi dy 3.5 Tim va vẽ hàm phi tuyến hai biến Thí dụ 3.6 Giải thí dụ 3.5 Maple BÀI TẬP CHƯƠNG 4: QUY HOẠCH PHI TUYẾN BỊ RÀNG BUỘC BÀI TOÁN MỘT MỤC TIÊU Thí dụ 4.1 Ràng buộc bất đẳng thức Thí dụ 4.2 Ràng buộc bắt đẳng thức đẳng thức Thí dụ 4.3 Nhiều ràng buộc dạng bắt đẳng thức Thí dụ 4.4 Quy hoạch phi tuyến có buộc dùng gradient 11 BÀI TOÁN MINIMAX Thi dy 4.5 Nhiều hàm mục tiêu Thi dy 4.6 Giải toán quy hoạch phi tuyến Maple BÀI TẬP CHƯƠNG 5: QUY HOẠCH THỰC NGHIỆM BÀI TỐN BÌNH PHƯƠNG NHỎ NHẮT TUYẾN TÍNH Thí dụ 5.1 Ràng buộc tuyến tính, sai số có dạng tổng bình phương, II XẮP XỈ ĐƯỜNG CONG BẰNG ĐA THỨC Thí dụ 5.2 Xắp xỉ đa thức y(x) xAP xi DUONG CONG THEO HAM SO CHON TRƯỚC Thi du 5.3 Xắp xỉ theo hàm chọn trước Thí dụ 5.4 Tìm biểu thức dao động tắt dần Thí dụ 5.4 Giải tốn quy hoạch thực nghiệm Maple BÀI TẬP PHAN II: ĐIỀU KHIỂN TỐI ƯU CHƯƠNG 6: ĐIỀU KHIỂN TỐI ƯU HỆ MỞ BÀI TỐN Thí dụ 6.1 Điểm cuối cố định Thí dụ 6.2 Điểm cuối cố định, tối ưu lượng Thí dụ 6.3 Điều khiển vận tốc chất điểm Thí dụ 6.4 Điểm cuối không cố định, điều kiện transversality 32 36 36 38 38 39 41 41 4 44 46 48 53 53 53 54 54 55 55 57 59 61 65 65 66 70 76 Thí dụ 6.5 Điểm cuối cho phiém hàm mục tiêu, phải xác định giá trị biên biến liên hợp 79 chưa xác định Thí dụ 6.7 Khơng dùng phép tính biến phân 82 85 bị giới hạn Thí dụ 6.9 Lập trình giải tốn điều khiển tối wu Phương pháp biến phân 89 Thí dụ 6.6 Mục tiêu giá trị cuối biến trạng thái, điểm cuối Thí dụ 6.8 Xác định miền điều khiển cho phép điều khiển GIẢI BÀI TOÁN THEO PHƯƠNG PHÁP LẶP ĐIỀU KHIỂN Thí dụ 6.10 Giải toán điều khiển tối ưu theo phương pháp lặp điều khiển GIAI NGUQC THEO THỜI GIAN HỆ PHƯƠNG TRÌNH VI PHÂN Thí dụ 6.11 Giải xi giải ngược phương trình vi phân BÀI TẬP CHUONG 7: DIEU KHIỂN TỐI ƯU VỀ THỜI GIAN BÀI TỐN Thí dụ 7.1 Tối ưu thời gian hệ mở, tìm u(), điều kiện transversality Thi du 7.2 Tối ưu thời gian hệ có phản hỏi Tìm u(x) theo phương pháp giải tích Thí dụ 7.3 Điều khiển chuyển động chất điểm vật tịnh tiến Thí dụ 7.4 Cho trước thời điểm chuyển mạch BÀI TẬP CHUONG 8: DIEU KHIỂN HỆ TUYẾN TÍNH CĨ PHAN HOI TIEU CHUAN TOI UU CO DANG TOAN PHUONG BÀI TOÁN THỜI GIAN ĐIỀU KHIỂN VƠ HẠN Thí dụ 8.1 Điều khiển chuyển động lắc đơn Thí dụ 8.2 Điều khiển chuyển động lắc kép II THỜI GIAN ĐIỀU KHIỂN HỮU HẠN Thí dụ 8.3 Điều khiển chuyển động chất điểm BÀI TẬP PHU LUC: SU DUNG CAC PHAN MEM MATLAB VA MAPLE GIẢI CÁC BÀI TOÁN TỐI ƯU HÓA 96 98 105 106 108 11 11 1H 112 118 119 120 122 122 123 123 125 129 129 131 133 A Phan mém MATLAB Giới thiệu Il, Céc ham giai toán tối ưu Các tốn tìm cực tiểu Giải phương trình Bài tốn bình phuong bé nhit (x4p xi duéng cong) Ham fminbnd Ham fminunc 3, Ham fminsearch Hàm linprog 5, Ham quadprog Hàm fmincon Ham fgoalattain 8, Hàm fminimax 9, Ham lsqcurvefit 10 Ham Isqlin 11 Hàm lsqnonlin 12, Ham Isqnonneg B Phan mềm Maple Giới thiệu IL Cac hàm giải toán tối ưu Ham dual 2, Ham convert (equality) 3, Ham extrema Hàm leastsqrs 5, Ham maximize 6, Ham minimize Hàm standardize TÀI LIỆU THAM KHẢO BANG CHi MUC 134 134 135 135 136 136 136 137 139 139 140 142 13 144 145 146 148 149 151 151 152 152 152 153 153 154 154 155 156 157 KY HIEU Tài liệu sử dụng ký hiệu theo quy ước sau: x- chữ nhỏ in đậm dùng để ký hiệu véctơ đại số (véctơ cột) A- chit hoa in đậm dùng để ký hiệu ma trận AT- chuyển vị ma trận A, cT- chuyển vị véctơ c - tích vơ hướng hai véctơ a b Vf(x) - gradient hàm f(x) Ngoài ra, số phần, để thuận lợi cho việc tính toán phần mềm MATLAB, số ký hiệu sau sử dụng: A,A.„- ma trận ràng buộc bắt đẳng thức đẳng thức bự b,„ - lan lượt véctơ phải ràng buộc bắt đẳng thức đẳng thức Ib, ub- lin lugt la véctơ giới hạn giới hạn PHAN: TOI UU HỐ TĨNH ¢ Quy hoach tuyến tính e Quy hoạch phi tuyển se Quy hoạch thực nghiệm eth kymợr wel TAD thet eA) « lower: [2x1 double} upper [2x1 double] eqlin [0x1 double} eqnonlin: 3.2357 ineqlin: [0x1 double) ineqnonlin: Thi dy 4.6 Giải toán quy hoạch phi tuyễn Maple > restart: > with (Optimization) : > # GIAI a QUY HOACH PHI TUYEN BI RANG Bai tap BUOC BANG Maple ># Ham muc tieu: >£4:= (x1~2) ^2+ (x2~1) ^2 9.5 - JWWGI~2)°+(x2~ LẺ ># Cac rang buoc: > g41:=x1~2*x2+1=0 ;g42 :=~1/4*x1^2-x2^2+1>=0; gd =x] -2x2+1=0 “42 m0s-% „ = x2 +1 ># Tim min: > KQ:=NLPSolve (£4, (g41,g42) ,assume=nonnegative) ; KQ:=[ ] 1.39346498068930202x! = 0.822875655532295358:2 =0.91 143782776614767] in Bai tap ># Ham muc tieu > £5:=x1^2+x2^2~16*x1~10*x2; /5:=xl?+x2?~ l6 x1 — I0x2 ># Cac rang buoc: > gSL:=11-x1*246%x1-4#x2>=0 7952 :=x1*x2-3#x2-exp (x1-3) g51 = 0S Mx? + 6x1 - 4x2 (tay g52 :=0= ># Tim min: > KQ:=NLPSolve (£5, (g51,g52) , assume=nonnegativ Ko (-79.8078208464972080 [x! = 2396091 1550852160 x2 = 74603775243464598)] ># Ham muc tieu: >£:=4*x1^2+x2^2; ># Cac rang buoe: > gl:=1/x1+1/x2-0.192>=0 ;g2:=x1*sqrt (x2*2-x1*2) -1.47>=0; g3:=0 6-x1/x2>=0 ;g4:=-0, 2+x1/x2>=1 g1:20% TT1 + ~ 0.192 #2 gi =0 KQ:=NLPSolve (£, (g1,92,93,94), initialpoint=(x1=0.5,x2=1.5), assume=nonnegative) ; KO:= [6.57403985384883072 [x/ = 0.810804529727331191 x2 = 1.98605737886481928] > # SAVE:NLP_4b BAI TAP 4.1 Tìm x va giá trị hàm mục tiêu cho thoả mãn buộc: f= 4x] +5x} h=2x, +3x, =6 'Vẽ ràng buộc đường mức Trả lời: x, = 1,071; x; = 1,286;f = 12,857 'Ràng buộc đường 3-TƯHUD thẳng Đường mức vòng tròn, tâm gốc toạ độ 49 4.2 Tim x’ va giá trị hàm mục tiêu cho thoả mãn buộc: £(x) = 1000 -x} - 2x3 -x} -x,x, —x,x, h,(x) =x} +x} +x} -25=0 h,(x) = 8x, +14x, +7x, ~56 =0 xị>0;i=1,2,3 Chọn điểm xudt phat: x, =x, =x, =2 Trả lời x’ =[3,512; 0,217; 3,552]Ï; f(x') = 961,715 hy") = hae 4.3 Tim x’ va giá trị hàm mục tiêu cho thoả mãn ràng buộc: £(X) = (x, -X2)? +(x, -1)? > B(x) =-x7 +X, 20, 8a(x)=—xị ~x;+2>0 Chọn điểm xuất phát: x, =x; =2 Trả lời: x` =[1; 1; fx')=1 4.4 Tìm x' giá trị hàm mục tiêu cho thoả mãn rang bi f(x)=(xị híx)=xị =2) +(x; 1)” => ~2x; +1=0 B(x) Chọn điểm xuat phat: x, =x, =2 Tra loi: x’ =[0,823; 0,911"; f(x’) = 1.393 4.5 Tìm x giá trị hàm mục tiêu cho thoả mãn buộc: £(x)=x? +x3 - 16x, ~10x, > B(x) =11-x] +6x, -4x, 20 *_8a(X)=xiX;~3x;=e”""?+1>0 Øa(x)=Xị >0 ø4(x)=x;>0 Chọn điểm xuất phát: xị = 4;x; =3 [5,27; 3,68]Ï; f(x’) =-89 hàm mục tiêu cho thoả mãn buộc: f(x) =x] + 2x, — x} + 4x, — + 8x, — x7 + 14x, -x2 + 18x, - 180 > Xị 2X; +x; +2x, +3x; —B5 SÚ =-Pxị +9x; ~8xy +38x, ~11x, ~ 500 < 0, =1ÂX¡ Xị —X; + 2X; —X, +2xy — 150 < +X; +Xạ +X, +x; =300 £1(X) =-2x, -3x, +60 8;(x)=xị +x; ~10 x; 20;x; 205%; +x, $8 b) f(x) =-[9=(x, -3)"}x3 /27V3 ;S=6;S=4 xị>0;0 with (Optimization) : ># I.Least-square Problem (Function Form): ># FGQ=1/2(f1^2+ £n^2)=>min & rang buoc g: ># Thi du 1: Cho cac ham & rang buoc: > £1:=x1~1;£2:=x2~1;£3:=x3~1;g1:=6*x1+3*x2# II.Least-square Problem (Matrix Form): ># Min (1/2)|Ie-Gx||^2; A.x e:sVector({1,1,1]) :G:=Matrix([[1,0,0),[0,1,0],[0,0,1]]): A:=Matrix ([[6, 3,0], [1,0,0]]) :b:=Vector({1,0]): le:=[A,b]: KQ:=LSSo1ve ([e,G] ,1e) ; Ko -0.066666666666666693 0.711111111111111138| 0.466666666666666674 > He ># Thi du 3: Cho cac ham, khong bi rang buoc > £1:=x1^2+exp (x2) ;£2:=3*x1*x2-x2^2~x3^2;£3:=x1*x3; 59 > KQ:=LSSolve( (£1, £2,£3],{},initialpoint=(x1=0.3,x2=0.4,x3=0.1} de flzxP +e? J2:=3xIx2~x2?~ x32 /:=xIxã ;=[0.101111695927802198 [x/ = -0.398805195917475320 26907352835732912 x3 = -0.594909973397113272107 ]] > restart: ># Maple 9.5- CURVE FITTING >t > with (CurveFitting) :with (plots) ># Cho cac cap so lieu: > pointel:=[[0,1],[1,2.5],[3,2.3],[4.2,5],(5,3-5],[5-8,4.2],[7, 71,[8,10]]; pntplot1:=pointplot (points1) : points! :=({0, 1}, [1, 2.5}, (3, 2.3], (4.2, 5}, (5, 3.5], [5.8, 4.2], [7, 7], (8, 10}] =PolynomialInterpolation (points1,v) ; 008728350920v” — 0,2626950683 v* + 47.66577899 v + 3.147340034 v5 — 89.75801494 v? ~ 18,98393186 v* + 59.68279449 v? + > polyplot:=plot (polycurve, v=0 .8) : > display ([pntplot1,polyplot]) ; ># Lam duong cong(A smoother curve): > splourve:=Spline(points1,v) : > splplot:=plot (splcurve,v=0 .8): display ([pntpl6t1, splplot]) ; 10 2 ># SAVE: CurveFit1 BÀI TẬP 5.1 Xác định x để sai số bình phương nhỏ nhất: min|Cx dị Các ràng buộc Ax

Ngày đăng: 22/11/2023, 14:17

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan