1. Trang chủ
  2. » Tất cả

Luận văn thạc sĩ toán học một số thuật toán giải số bài toán tối ưu phi tuyến

20 7 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

Tiêu đề Một Số Thuật Toán Giải Số Bài Toán Tối Ưu Phi Tuyến
Tác giả Nguyễn Hữu Đạt
Người hướng dẫn TS. Vũ Vinh Quang
Trường học Đại Học Thái Nguyên
Chuyên ngành Toán ứng dụng
Thể loại Luận văn thạc sĩ toán học
Năm xuất bản 2019
Thành phố Thái Nguyên
Định dạng
Số trang 20
Dung lượng 349,49 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC  NGUYỄN HỮU ĐẠT MỘT SỐ THUẬT TOÁN GIẢI SỐ BÀI TOÁN TỐI ƯU PHI TUYẾN LUẬN VĂN THẠC SĨ TOÁN HỌC THÁI NGUYÊN 2019 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌ[.]

Trang 1

NGUYỄN HỮU ĐẠT

MỘT SỐ THUẬT TOÁN GIẢI SỐ BÀI TOÁN TỐI ƯU PHI TUYẾN.

LUẬN VĂN THẠC SĨ TOÁN HỌC

THÁI NGUYÊN - 2019

Trang 2

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC KHOA HỌC

- -

NGUYỄN HỮU ĐẠT

MỘT SỐ THUẬT TOÁN GIẢI SỐ BÀI TOÁN TỐI ƯU PHI TUYẾN.

Chuyên ngành: Toán ứng dụng

Mã số : 8 46 01 12

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS Vũ Vinh Quang

THÁI NGUYÊN - 2019

Trang 3

Lời cảm ơn

Trước hết, em xin bày tỏ lòng kính trọng và lòng biết ơn sâu sắc tới TS

Vũ Vinh Quang, người thầy đã tận tình hướng dẫn, chỉ bảo và cung cấp những tài liệu rất hữu ích để em có thể hoàn thành luận văn

Xin cảm ơn lãnh đạo Trường Đại học Khoa học - Đại học Thái Nguyên

đã tạo điều kiện giúp đỡ tôi về mọi mặt trong suốt quá trình học tập và thực hiện luận văn

Em xin bày tỏ lòng biết ơn tới các thầy, cô giáo giảng dạy lớp K11C

đã truyền đạt kiến thức và phương pháp nghiên cứu khoa học trong suốt những năm học vừa qua

Xin chân thành cảm ơn anh chị em học viên cao học K11C và bạn bè đồng nghiệp đã động viên và khích lệ tôi trong quá trình học tập, nghiên cứu và làm luận văn

Tôi xin bày tỏ lòng biết ơn sâu sắc đến gia đình, người thân, những người luôn động viên, khuyến khích và giúp đỡ về mọi mặt để tôi có thể hoàn thành công việc nghiên cứu

Thái Nguyên, tháng 4 năm 2019

Tác giả luận văn

Nguyễn Hữu Đạt

Trang 4

Lời cam đoan

Tôi xin cam đoan:

Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy giáo hướng dẫn TS Vũ Vinh Quang

Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tác giả, tên công trình, thời gian, địa điểm công bố

Tôi xin chịu trách nhiệm với lời cam đoan của mình

Thái Nguyên, tháng 4 năm 2019

Tác giả luận văn

Nguyễn Hữu Đạt

Trang 5

Mục lục

1.1 Mô hình tổng quát của bài toán tối ưu hóa 3

1.2 Phân loại bài toán tối ưu 4

1.3 Một số phương pháp giải cơ bản bài toán tuyến tính 5

1.3.1 Thuật toán hình học 5

1.4 Mô hình bài toán quy hoạch lồi tổng quát 6

1.4.1 Khái niệm tập lồi, hàm lồi 6

1.4.2 Khái niệm về Gradient và đạo hàm hướng 8

1.4.3 Bài toán quy hoạch lồi tổng quát, điều kiện tối ưu 8 1.4.4 Cực tiểu hàm lồi một biến 10

1.5 Phương pháp giải bài toán quy hoạch tuyến tính tổng quát trên phần mềm MATLAB 15

Trang 6

2.1 Một số kiến thức cơ bản 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 nhất 20

2.2.3 Thuật toán Newton 23

2.3 Các thuật toán không sử dụng đạo hàm 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 và Mead 28

3 Một số thuật toán giải số bài toán tối ưu phi tuyến có ràng buộc 32 3.1 Một số kiến thức cơ bản 32

3.1.1 Hàm Lagrange 32

3.1.2 Thiết lập điều kiện tối ưu Kuhn - Tucker 33

3.2 Một số thuật toán 35

3.2.1 Thuật toán Gradient 35

Trang 7

Bảng ký hiệu

QHTT Quy hoạch tuyến tính;

Trang 8

Mở đầu

Mô hình bài toán quy hoạch phi tuyến nói chung là một mô hình quan trọng trong lớp các bài toán tối ưu hóa Mô hình này có rất nhiều ứng dụng trong các bài toán cơ học và vật lý, kinh tế và thương mại Về mặt lý thuyết, đã có rất nhiều các tài liệu trình bày các thuật toán lý thuyết giải

mô hình các bài toán này trên mô hình tổng quát Tuy nhiên việc nghiên cứu và cài đặt chi tiết các thuật toán và ứng dụng vào một số mô hình đối với một số bài toán cụ thể trong cơ học và vật lý là chưa nhiều người đề cập đến

Nội dung chính của luận văn là nghiên cứu cơ sở toán học của các thuật toán cơ bản giải bài toán quy hoạch phi tuyến tính không ràng buộc và

có ràng buộc, tìm hiểu chi tiết các bước mô tả thuật toán, xây dựng sơ đồ khối và cài đặt các thuật toán trên ngôn ngữ lập trình cụ thể

Nội dung luận văn gồm ba chương, phần phụ lục được cấu trúc như sau: Chương 1 Một số kiến thức cơ bản

Trình bày mô hình tổng quát của bài toán tối ưu hóa, phân loại bài toán tối

ưu, các phương pháp biến đổi cơ bản, một số thuật toán giải bài toán tối ưu hàm lồi một biến, giải bài toán quy hoạch tuyến tính trên MATLAB Các kết quả là những kiến thức quan trọng được ứng dụng trong các chương sau của luận văn

Chương 2 Mô hình bài toán tối ưu hóa phi tuyến Trong chương này, trình bày một số thuật toán giải số bài toán tối ưu phi

Trang 9

thuật toán Powell, thuật toán Nelder và Mead.

Chương 3 Một số thuật toán giải số bài toán tối ưu phi tuyến có ràng buộc

Nội dung của chương là tìm hiểu một số thuật toán giải số bài toán tối ưu phi tuyến có ràng buộc như khái niệm hàm Lagrange, phương pháp hàm phạt, các thuật toán tìm nghiệm xấp xỉ Các thuật toán đã được cài đặt trên môi trường MATLAB version 7.0

Trang 10

Chương 1

Một số kiến thức cơ bản

Nội dung chính của chương là trình bày mô hình tổng quát của bài toán tối ưu hóa, phân loại bài toán tối ưu, các phương pháp biến đổi cơ bản, một số thuật toán giải bài toán tối ưu hàm lồi một biến, giải bài toán quy hoạch tuyến tính trên MATLAB Các kết quả là các kiến thức quan trọng được ứng dụng trong các chương sau của luận văn Các kiến thức được tham khảo trong các tài liệu [1], [2], [4]

Tối ưu hóa là một trong những lĩnh vực quan trọng của bài toán có ảnh hưởng đến hầu hết các lĩnh vực khoa học, công nghệ, 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ế rất cao Điều này phù hợp với mục đích của các bài toán đặt ra trong thực tế hiện nay

Mô hình bài toán tối ưu tổng quát được phát biểu như sau:

Trang 11

gi(X) = bi, i ∈ J1 (1.1)

Trong đó f (X) đượ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

mãn hệ ràng buộc lập nên một miền D được gọi là miền phương án (hay miền chấp nhận được), mỗi điểm X ∈ D gọi là một phương án Một

được gọi là phương án tối ưu

Dựa trên mô hình tổng quát, người ta thường phân loại lớp các bài toán tối ưu như sau:

- Quy hoạch tuyến tính: Là những bài toán mà hàm mục tiêu f (X)

- Quy hoạch phi tuyến: Là những bài toán một trong hàm mục tiêu

- Quy hoạch lồi: Là các bài toán quy hoạch mà các hàm mục tiêu

f (X) là lồi trên tập các ràng buộc D lồi

Trang 12

- Quy hoạch lõm: Là các bài toán quy hoạch mà các hàm mục tiêu

f (X) là lõm trên tập các ràng buộc D lõm

- Quy hoạch rời rạc: Bài toán tối ưu được gọi là quy hoạch rời rạc nếu miền ràng buộc D là tập hợp rời rạc Trong trường hợp riêng khi các biến chỉ nhận giá trị nguyên thì ta có quy hoạch nguyên

- Quy hoạch đa mục tiêu: Nếu trên cùng một miền ràng buộc ta xét đồng thời các hàm mục tiêu khác nhau

Trong các lĩnh vực kinh tế kỹ thuật thì quy hoạch phi tuyến, quy hoạch tuyến tính là những bài toán thường gặp

Xét bài toán:

Nhận xét

1 Vì các ràng buộc của bài toán luôn luôn là các nửa mặt phẳng, do

đó miền phương án luôn luôn là một đa giác lồi (là giao của các nửa mặt phẳng)

2 Xét đường thẳng f = m được gọi là đường mức Hiển nhiên khi đường mức chuyển động song song trong miền phương án thì điểm chạm

Trang 13

Thuật toán:

Bước 1: Vẽ miền phương án D là đa giác lồi bằng cách xác định miền giao của các nửa mặt phẳng trong hệ ràng buộc

Bước 2 : Xác định tọa độ của các đỉnh đa giác: Giả sử là các điểm

Bước 3: Xác định phương án tối ưu

Chú ý

Trong trường hợp khi miền phương án không phải là miền kín thì tùy thuộc vào hướng di chuyển của đường mức, chúng ta sẽ xác định được phương án tối ưu của bài toán

a Tập lồi Định nghĩa:

∀λ ∈ [0; 1] Nghĩa là nếu x, y ∈ C thì đoạn thẳng [x, y] ∈ C

b Hàm lồi

Định nghĩa:

Hàm số f (x) là lồi (convex function) trên tập C nếu với mọi cặp điểm

Trang 14

có nghĩa là điểm x = λx1 + (1 − λ)x2 trong [x1, x2] thì mọi điểm của đồ

Một số điều kiện

bán xác định dương Khi H(x) xác định dương thì hàm f (x) gọi là hàm lồi chặt

Cực trị của hàm lồi

Bất cứ cực tiểu địa phương nào của hàm lồi trên tập lồi cũng là cực tiểu của hàm trên tập đó

Ta sẽ chứng minh tính chất này bằng phản chứng:

Trang 15

1.4.2 Khái niệm về Gradient và đạo hàm hướng

+ Gradient của f (x) là một vectơ có các thành phần là đạo hàm riêng

∂f

∂f

thì f (x) giảm nhanh nhất

+ Ma trận Hessian H(x) là ma trận có các thành phần là Gradient cấp hai của f (x)

∂ 2 f

∂x 1 ∂x 1

∂ 2 f

∂x 1 ∂x 2 ∂x∂2f

1 ∂x n

∂2f

∂x 2 ∂x 1

∂2f

∂x 2 ∂x 2 ∂x∂2f

2 ∂x n

∂ 2 f

∂x n ∂x 1

∂ 2 f

∂x n ∂x 2 ∂x∂2f

n ∂x n

a Phát biểu bài toán Tìm x sao cho hàm mục tiêu

f (x) → min Các ràng buộc:

Trang 16

trong đó C là tập lồi, f , gi là các hàm lồi trên C.

b Điều kiện tối ưu

+ Miền nghiệm chấp nhận được:

+ Khái niệm về điểm yên ngựa (saddle point)

Ký hiệu hàm Lagrange L(x, λ) = f (x) +

m

P

i=1

+OL(x, λ) = 0

+ Điều kiện cần và đủ của tối ưu Định lí 1.1

Định lí 1.2 (Định lý Kuhn - Tucker, phát biểu năm 1951)

Giả sử bài toán quy hoạch lồi thỏa mãn điều kiện Slater:

Trang 17

Chú ý Điều kiện Slater không được thỏa mãn thì có thể không tồn tại

Ví dụ 1

Xác định điểm dừng:

∂L

Điều kiện Slater không thỏa mãn khi x = 0, do đó không tồn tại λ và hàm L(x, λ) không có điểm yên ngựa loại (0, λ)

Thuật toán chia đôi Cho hàm số f (x) xác định trên đoạn [a, b] với điều kiện f (x) lồi trên

Thuật toán chia đôi:

Bước 1: Đặt L = (b − a) Bước 2: While L > ε

Trang 18

x1 = a + L4, x2 = b − L4

L = b − a;

Lặp lại cho đến khi L < ε

Nhận xét

+ Thuật toán chắc chắn hội tụ sau hữu hạn bước lặp, tốc độ hội tụ phụ

+ Phương pháp chia đôi dễ lập trình nhưng không tối ưu về tính toán

Thuật toán được mô phỏng dưới ngôn ngữ lập trình MATLAB function cd=chia_doi(a, b, epxilon)

L=b-a;

count = 0;

while L > epxilon

count=count + 1 x1=a + L/4;

x2=b - L/4;

if f(x1) < f(x2)

b = x2;

elseif f(x1) > f(x2)

a = x1;

elseif f(x1) == f(x2)

a = x1;

b = x2;

end;

L= b - a;

end;

Trang 19

Hiển nhiên hàm f (x) là hàm lồi trên đoạn [1, 10], cực tiểu đạt tại x=3 Kết quả chạy thuật toán chia đôi cho trong bảng 2.1

Bảng 2.1: Nghiệm xấp xỉ tối ưu sau các bước lặp

tối ưu

Thuật toán mặt cắt vàng

(n=3, 4, )

Dãy số Fibonacci có tính chất đặc biệt đáng chú ý là: Tỷ số giữa hai số kế tiếp nhau của dãy tiến tới tỷ số vàng:

lim

n→∞

5 − 1 2 + Tư tưởng phương pháp

1 − p

1 − 2(1 − p)

Trang 20

Phương trình p2+ p − 1 = 0 có nghiệm dương: p = −1+

√ 5

Hai số p và (1-p)=0,38197 được gọi là hằng số Fibonacci

số vàng

Thuật toán lát cắt vàng

cho trước

Nhận xét

a/ Trong cả hai trường hợp ta đều có:

b/ Một trong hai điểm chia ở bước sau trùng với điểm chia ở bước trước

Do đó thuật toán này cho phép giảm số phép tính

Thuật toán mặt cắt vàng được mô phỏng bằng ngôn ngữ MATLAB function mc=mat_cat_vang_1(a, b, epxilon)

L=b-a;

p=(-1 + sqrt(5))/2; count=0;

while L > epxilon

Ngày đăng: 24/02/2023, 22:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w