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

Giáo trình lý thuyết tối ưu

137 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 137
Dung lượng 1,73 MB

Nội dung

Tai ngay!!! Ban co the xoa dong chu nay!!! 1699002605689100 Lời nói đầu Lý thuyết tối ưu lĩnh vực đóng vai trị quan trọng việc nghiên cứu vấn đề cực trị, có nhiều ứng dụng đời sống thực tế ngành khoa học Tuy nhiên phải đến năm 30, 40 kỉ XX, lí thuyết tối ưu hình thành với tư cách lý thuyết độc lập với nhiều hướng nghiên cứu khác ngày ứng dụng nhiều sống nhờ phát triển công nghệ thông tin, đặc biệt máy tính Giáo trình lý thuyết tối ưu nhằm giới thiệu cách có hệ thống tốn tối ứu, cách phân loại số kết điều kiện cần đủ cho nghiệm tốn tối ưu Giáo trình giới thiệu vài phương pháp số để tìm nghiệm xấp xỉ cho toán tối ưu tự Nội dung nghiên cứu giáo trình tập trung xây dựng lí thuyết cho tốn tối ưu trơn, tức hàm mục tiêu hàm ràng buộc khả vi đến cấp cần thiết Giáo trình trình bày ba chương khái quát vấn đề chung tiếp cận với lý thuyết giải thuật cho tốn tìm cực tiểu Chương 1: Kiến thức sở Chương trình bày khái niệm kí hiệu sử dụng luận văn gồm: số khái niệm giá trị riêng, tập lồi, hàm lồi, hàm số liên tục Rn định lý Taylor, định lý giá trị trung gian định lý tách, tạo sở, tiền đề cho việc tiếp cận kiến thức chương sau Chương 2: Cơ sở tính chất nghiệm giải thuật tốn tối ưu Chương trình bày số kết khái niệm mở đầu toán tối ưu tổng quát, điều kiện nghiệm cần đủ tốn tối ưu, tính chất quan trọng cực trị hàm lồi hội tụ giải thuật giảm - sở việc hình thành giải thuật sau Chương 3: Giải thuật cho tốn tối ưu khơng ràng buộc Chương trình bày kết việc hình thành giải thuật giảm Bài tốn tối ưu khơng điều kiện ràng buộc, phương pháp tìm gần cực tiểu hàm biến, hội tụ, tốc độ phương pháp giảm nhanh trường hợp riêng tốn tối ưu bậc hai Giáo trình biên soạn bám sát đề cương môn học, tập trung vào kiến thức kỹ cần thiết theo chuẩn đầu môn học Bên cạnh đó, nội dung giáo trình trọng đến khái niệm bản, điều kiện cần đủ quan trọng, thường dùng hai phương pháp tìm nghiệm xấp xỉ nhất: phương pháp giảm gradient phương pháp Newton Ngồi ra, để có nghiên cứu sâu đầy đủ, bạn học viên cao học tham khảo thêm số nguồn tài liệu tham khảo giới thiệu cụ thể giáo trình Mặc dù có nhiều cố gắng cơng tác biên soạn, tham khảo nhiều tài liệu trình bày cách có hệ thống để giúp bạn đọc dễ dàng tiếp cận hơn, song giáo trình biên soạn lần đầu khó tránh khỏi sai sót Tác giả mong nhận đóng góp ý kiến bạn đọc để giáo trình hồn thiện lần tái sau Mọi góp ý xin gửi địa chỉ: Phạm Quý Mười, Khoa Toán, Trường Đại học Sư phạm - Đại học Đà Nẵng Xin trân trọng cảm ơn./ Đà Nẵng, tháng 01 năm 2020 Tác giả Danh mục ký hiệu N Tập hợp số tự nhiên: N = {1, 2, } R Tập hợp số thực C Tập hợp số phức K Một trường số, thông thường K = R K = C Rn Không gian Euclid n chiều Rn Ω Tập mở khác rỗng Rn Ck (Ω) Không gian hàm khả vi liên tục đến cấp k Ω D( f ) Miền xác định hàm f R( f ) Miền giá trị hàm f kxk Chuẩn véctơ x ∈ Rn kAk Chuẩn ma trận A AT Ma trận chuyển vị A I Toán tử đơn vị inf Cận sup Cận Mục lục Lời nói đầu Danh mục ký hiệu CHƯƠNG MỘT SỐ KIẾN THỨC CHUẨN BỊ 13 1.1 Ma trận 14 1.2 Không gian Euclide Rn 16 1.3 Giá trị riêng dạng toàn phương 21 1.3.1 Giá trị riêng véctơ riêng 21 1.3.2 Dạng toàn phương 26 1.4 Tôpô không gian Rn 27 1.5 Hàm số liên tục Rn 30 1.6 Định lý Taylor định lí giá trị trung gian 34 1.7 Các khái niệm tập lồi hàm lồi 34 1.7.1 Tập lồi 35 1.7.2 Hàm lồi 37 1.8 Các định lý tách, siêu phẳng siêu phẳng tựa 43 1.9 Cực điểm 48 1.10 Bài tập 50 CHƯƠNG LÍ THUYẾT CƠ BẢN VỀ BÀI TỐN TỐI ƯU 53 Điều kiện cần bậc 54 2.1.1 Hướng chấp nhận 56 2.1.2 Điều kiện cần bậc 57 2.2 Điều kiện cần bậc hai 63 2.3 Điều kiện đủ bậc hai 67 2.4 Cực tiểu cực đại hàm lồi 70 2.5 Bài tập Chương 73 2.1 CHƯƠNG GIẢI THUẬT GIẢM CHO BÀI TỐN TỐI ƯU KHƠNG RÀNG BUỘC 3.1 3.2 3.3 75 Giải thuật lặp cho Bài tốn tối ưu khơng điều kiện ràng buộc 76 Đường tìm kiếm khơng xác 79 3.2.1 Quy tắc Armijo 79 3.2.2 Quy tắc Goldstein 81 Giải thuật giảm bước nhanh 82 3.3.1 82 Hướng giảm nhanh 3.3.2 Kích thước bước 3.3.3 Quy tắc Goldstein giải thuật giảm bước nhanh 3.3.4 3.4 85 87 Giải thuật giảm bước nhanh với đường tìm kiếm xác 89 3.3.5 Tốc độ hội tụ 94 3.3.6 Bài toán tối ưu bậc hai 102 3.3.7 Các chương trình Matlab ví dụ minh họa 115 Bài tập Chương 136 Tài liệu tham khảo 139 Chương GIẢI THUẬT GIẢM CHO BÀI TOÁN TỐI ƯU KHÔNG RÀNG BUỘC Bước k f (xk ) E(xk ) f (xk )− f (x∗ ) f (xk−1 )− f (x∗ ) 0 0, 004206 −2, 1563625 0, 0182968 0, 016571 −2, 1744062 2, 5304 × 10−4 0, 003815 −2, 1746440 1, 54280 × 10−5 0, 001131 −2, 1746585 1, 0032 × 10−6 2, 484358 × 10−4 −2, 1746595 6, 6080 × 10−8 7, 539085 × 10−5 −2, 1746595 4, 3568 × 10−9 1, 635362 × 10−5 Khi đó, ta nghiệm: x∗ ≈ (1, 5350; 0, 1220; 1, 9752; 1, 4130)T f (x∗ ) ≈ −2.1746595 Hình 3.10: Sự hội tụ f (xk ) Chương trình Matlab cho ví dụ sau: 125 Giáo trình Lý thuyết tối ưu % Định nghĩa hàm mục tiêu, ma trận Q, véctơ b Q=[0.78 -0.02 -0.12 -0.14; -0.02 0.86 -0.04 0.06; -0.12 -0.04 0.72 -0.08; -0.14 0.06 -0.08 0.74]; b=[0.76;0.08;1.12;0.68]; f=@(x) x’*Q*x/2-b’*x; % Chọn giá trị khởi tạo; x0=zeros(4,1); xstar=[1.534965034965035; 0.122009569377990; 1.975156422524844; 1.412955465587045]; % Lưu thông tin dãy x_n f(x_n) xn=[]; fn=[]; Error=[]; % Chọn giá trị n cho vòng lặp n=50; for i=1:n xn=[xn x0]; 126 Chương GIẢI THUẬT GIẢM CHO BÀI TOÁN TỐI ƯU KHÔNG RÀNG BUỘC tg=(x0-xstar)’*Q*(x0-xstar)/2; Error=[Error tg]; tg=f(x0); fn=[fn tg]; gk=Q*x0-b; ak=gk’*gk/(gk’*Q*gk); x1=x0-ak*gk; x0=x1; end Ví dụ 3.3.5 Tìm cực tiểu toán tối ưu bậc hai f : R3 → R xác định bởi: f (x) = xT Qx − bT x,  0     0 25  Q=   −1     b= −1   −1 Giải: Tương tự Ví dụ 3.3.4, theo Bổ đề 2.1.1 Định lý 2.4.1, ta có cực tiểu tốn  −1, 00     x∗ =   −0, 20  −0, 04 127 f (x∗ ) = −0.620000 Giáo trình Lý thuyết tối ưu Bây giờ, ta giải toán Giải thuật (3.25) Ta có : xk+1 = xk − αk ∇ f (xk ), với: ∇ f (xk ) = Qxk − b α= gTk gk ∇ f (xk )T ∇ f (xk ) = gTk Qgk ∇ f (xk )T Q∇ f (xk ) + Với x0 = (0, 0, 0)T , ta có: f (x0 ) = 0, ∇ f (x0 ) = Qx0 − b = (1; 1; 1)T ,  −0, 0967744   ⇒ x1 = x0 − α0 ∇ f (x0 ) =  −0, 0967744 −0, 0967744 α0 = 0, 096774     ⇒ f (x1 ) = −0, 145161 + Với x1 = (−0, 0967744; −0, 0967744; −0, 0967744)T , ta có: ∇ f (x1 ) = Qx1 − b = (0, 903226; 0, 516129; −1, 149355)T , α1 = 0, 058973  −0, 150040     ⇒ x2 = x1 − α1 ∇ f (x1 ) =   −0, 127212  −0, 013071 ⇒ f (x2 ) = −0, 236474 128 Chương GIẢI THUẬT GIẢM CHO BÀI TỐN TỐI ƯU KHƠNG RÀNG BUỘC Hình 3.11: Sự hội tụ f (xk ) f (xk ) Bước k E(xk ) f (xk )− f (x∗ ) f (xk−1 )− f (x∗ ) 0 0, 620000 −0, 145161 0, 474838 0, 382934 −0, 236473 0, 383526 0, 370356 −0, 303760 0, 316239 0, 470787 −0, 355992 0, 264007 0, 355080 −0, 398793 0, 221206 0, 435453 −0, 434263 0, 185736 0, 336767 200 −0, 620000 4, 311551 × 10−16 3, 965999 × 10−8 Sau 200 bước lặp ta thu được: x200 =  −0.99999999; −0, 20000000; −0, 04000000 129 T Giáo trình Lý thuyết tối ưu Vậy nghiệm toán x∗ ≈ x200 f (x∗ ) = −0, 62000000 Chương trình Matlab cho ví dụ sau: % Định nghĩa hàm mục tiêu, MT Hesian, véctơ b Q=[1 0; 0; 0 25]; b=-ones(3,1); f=@(x) x’*Q*x/2-b’*x; % Chọn giá trị khởi tạo cho vòng lặp x0=zeros(3,1); xstar=[-1.00;-0.20;-0.04]; % Lưu thông tin dãy x_n f(x_n) xn=[]; fn=[]; Error=[]; % Chọn giá trị n cho vòng lặp n=200; for i=1:n xn=[xn x0]; tg=(x0-xstar)’*Q*(x0-xstar)/2; Error=[Error tg]; 130 Chương GIẢI THUẬT GIẢM CHO BÀI TỐN TỐI ƯU KHƠNG RÀNG BUỘC tg=f(x0); fn=[fn tg]; gk=Q*x0-b; ak=gk’*gk/(gk’*Q*gk); x1=x0-ak*gk; x0=x1; end Qua hai ví dụ ta thấy : Ma trận Q Ví dụ 3.3.4 có giá trị riêng lớn M = 0, 94, giá trị riêng nhỏ m = 0, 52 nên hệ số điều kiện r = 1, Khi đó, tốc độ hội tụ nhanh Ngược lại ma trận Q Ví dụ 3.3.5 có giá trị riêng lớn M = 25, giá trị riêng nhỏ m = nên hệ số điều kiện r = 25 Khi đó, tốc độ hội tụ chậm Đối với toán tối ưu khơng phải dạng bậc hai, nói phần lý thuyết, việc tính tốn xác giá trị αk điều khơng dễ dàng, có đường tìm kiếm khơng xác Với trợ giúp phần mềm Matlab, việc tính tốn tốn tối ưu trở nên đơn giản tiết kiệm nhiều thời gian công sức Sau xét ví dụ để thấy rõ điều này: Ví dụ 3.3.6 Tìm cực tiểu hàm số f : R3 → R xác định bởi: f (x1 , x2 , x3 ) = (x1 − 4)4 + (x2 − 3)2 + 4(x3 + 5)4 , 131 Giáo trình Lý thuyết tối ưu với x1 , x2 , x3 ∈ R Giải: Cách 1: Sử dụng chương trình Matlab với quy tắc Armijo nêu ta có chương trình sau: x0=[0;0;0]; f=@(x) (x(1)-4)^4+(x(2)-3)^2+4*(x(3)+5)^4; gradf=@(x) [4*(x(1)-4)^3;2*(x(2)-3);16*(x(3)+5)^3]; x=[x0]; F=[f(x0)]; eps=1/2;nu=2; n=50; for i=1:n an=1; tg=gradf(x0);x1=x0-an*tg; if f(x1)

Ngày đăng: 03/11/2023, 18:08