1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn phương pháp newton Để giải bài toán tối Ưu phi tuyến

14 4 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Phương pháp Newton để giải bài toán tối ưu phi tuyến
Tác giả Nguyễn Quách Nhật Vy, Nguyễn Quang Thiện
Người hướng dẫn Trần Thị Ngọc Huyền
Trường học Đại học Quốc gia TP. Hồ Chí Minh, Trường Đại học Bách Khoa, Khoa Khoa học Ứng dụng
Chuyên ngành Khoa học Ứng dụng
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2024
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 14
Dung lượng 218,67 KB

Nội dung

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG  BÁO CÁO BÀI TẬP LỚN PHƯƠNG PHÁP NEWTON ĐỂ GIẢI BÀI TOÁN TỐI ƯU PHI TUYẾN LỚP L05, NHÓM 16: GVHD:

Trang 1

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA KHOA HỌC ỨNG DỤNG



BÁO CÁO BÀI TẬP LỚN PHƯƠNG PHÁP NEWTON ĐỂ GIẢI BÀI TOÁN TỐI ƯU PHI TUYẾN

LỚP L05, NHÓM 16:

GVHD: TRẦN THỊ NGỌC HUYỀN

Tp HCM, 05/2024

Trang 2

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA KHOA HỌC ỨNG DỤNG



BÁO CÁO BÀI TẬP LỚN PHƯƠNG PHÁP NEWTON ĐỂ GIẢI BÀI TOÁN TỐI ƯU PHI TUYẾN

cáo,

Trang 3

Tp HCM, 05/2024

LỜI CẢM ƠN

Nhóm tác giả do thành viên không đoàn kết nên bài làm còn sai xót, mong giảng viên

bộ môn chăm chước Đồng thời nhóm tác giả xin trân trọng cảm ơn sự hướng dẫn tận tình của giảng viên bộ môn Phương Pháp Tính Trần Thị Ngọc Huyền, thông qua các bài giảng, tài liệu tham khảo,…đã giúp tác giả hiểu rõ hơn về bản chất cốt lõi của đề tài, từ đó vận dụng kiến thức vào thực tiễn một cách đúng đắn và hoàn thiện.

Trang 4

MỤC LỤC

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VÀ THUẬT TOÁN 1

1.1 Phương pháp Newton 1

1.1.1 Khái niệm sai số 1

1.1.2 Cơ sở lý thuyết phương pháp Newton 1

1.2 Thuật toán của phương pháp Newton 2

1.2.1 Diễn giải thuật toán của phương pháp Newton để giải phương trình tối ưu phi tuyến……… 2

1.2.1.1 Thuật toán newton thuần túy để giải bài toán tối ưu: 2

1.2.1.2 Thuật toán phương pháp Newton với bước tự điều chỉnh hay phương pháp newton suy rộng 2 1.2.1.3 Thuật toán phương pháp Newton cổ điển giải hệ phương trình phi tuyến 2

1.2.2 Lập trình code cho phương pháp Newton để giải phường trình tối ưu phi tuyến 4

1.2.2.1 Bài toán và lập trình code 4

1.2.2.2 Giải thích code 5

CHƯƠNG 2 PHẦN ỨNG DỤNG THỰC TẾ CỦA PHƯƠNG PHÁP NEWTON 6

2.1 Phân tích động lực học phi tuyến theo lịch sử thời gian được tích hợp sẵn trong phần mềm SAP2000 6

2.1.1 Khái quát 6

2.1.2 Phương pháp 6

CHƯƠNG 3 KẾT LUẬN 7

TÀI LIỆU THAM KHẢO 8

Trang 5

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VÀ THUẬT TOÁN

1.1 Phương pháp Newton

1.1.1 Khái niệm sai số

Trong thực tế, khi bài toán tìm xẩp xì một mô hình toán học đă biết, ví dụ tìm nghiệm của một phương trình đà biết, tính tích phân xác định của một hàm số nào đó trên miền cho trước hoặc cỏ nhừng bài toán thực tế mà ngay cả mô hình toán học cùng chưa biết; vỉ dụ, dự bảo về lượng mưa thay đổi do biến đổi khí hậu toàn cầu, nhu cầu thuê bao internet, Trong những trường hợp này, ta phải bắt đầu từ việc thu thập sổ liệu, xây dựng mô hình tỉnh toán rồi tìm phương pháp giải số thích hợp Nói chung khi thực hiện một bài toán bàng phương pháp số ta thường gặp sai số

-Sai số tuyệt đối: gọi a là giá trị gần đúng của A, ta viết được: A = a ± ∆ a

∆ agọi là sai số tuyệt đối giới hạn

-Sai số tương đối: δa = ∆ a|a|, dạng khác: A = a (1 ± δa)

Sai sổ tuyệt đối không nói lên đầy đủ "chất lượng" của một số xấp xỉ, chất lượng ẩy được phản ánh qua sai số tương đối

-Sai số quy tròn:

Quy tẳc quy tròn: Chừ sổ bò đi đầu tiên > 5: Thêm vào chừ sổ giữ lại cuối cùng 1 đơn vị Chữ số bỏ đi đầu tiên < 5: Để nguyên chữ số giữ lại cuối cùng

-Sai số của số đã quy tròn:

Giả sử quy tròn a thành a' với sai số quy tròn tuyệt đối θa'

|a '-a| < θa' thì ∆ a’ = ∆ a + θa' (tức tăng sai sổ tuyệt đối)

-Ảnh hưởng của sai số quy tròn:

Áp dụne nhị thức Newton, ta có: (√2 - l )10 = 3363-23782

Bây giờ thay √2 bởi các số quy tròn khác nhau:

1

Trang 6

-Các quy tắc tính sai số:

Xét hàm số: u= f(x,y)

Ta ký hiệu ∆ x , ∆ y , ∆ u: chỉ các số gia của x , y ,u

∆ x , ∆ y , ∆ u: chỉ các vi phân của x , y , u

∆ X , ∆Y , ∆ U : sai số tuyệt đốicủa x , y , u

Ta luôn có: | ∆ x∨≤ ∆ X

| ∆ y ∨≤ ∆ Y

Ta phải tìm ∆ U để có :∨∆ u∨¿≤ ∆ U

Sai số của tổng: u=x+y

Ta có: ∆ u=∆ x +∆ y-> |∆ u∨≤∨∆ x∨+¿∆ y∨¿

-> ¿∆ u∨≤ ∆ X+ ∆ Y¿X+Y)

+Nếu u = x - y với x, y cùng dấu:

δU= ∆ U

¿u∨¿ ¿= ∆ x +∆ y

¿x− y∨¿ ¿ nếu |x-y| là rất bé thì sai số rất lớn +Nếu u=xy -> ∆ udu= ydx +xdy= y∆ x +x ∆ y

Do đó: δU= ∆ U

¿u∨¿ ¿= ∆ x

¿x∨¿ ¿+ ∆ y

¿y∨¿ ¿

2

Trang 7

+Nếu u=x y, với y≠0, δU =δX +δY

Công thức tổng quát: u= f(x1, x2, x3,…xn)

Thì: ∆ U =

t=1

n

¿ δf δxi∆ Xi

1.1.2 Cơ sở lý thuyết phương pháp Newton

Xét phương trình f(x)=0 với f(x) là hàm liên tục trong miền xác định của nó, trong khoảng li nghiệm [a,b] chứa duy nhất nghiệm chính xác p Giả sử hàm f(x) có đạo hàm trong [a, b]

Ta xây dựng phương pháp Newton bằng hình học như sau:

Từ điểm có hoành độ xn-1 trên đồ thị của đường cong y= f(x), ta kẻ tiếp tuyến với đường cong Hoành độ giao điểm của tiếp tuyến với trục hoành sẽ là xn Ta dễ dàng viết phương trình tiếp tuyến:

y - f(xn-1 ) = f’(xn-1)(x-xn-1) cho y=0, x=xn ta thu được công thức xác định xn cũng là công thức lặp của phương pháp Newton như sau:

xn= xn-1 - f '(x n−1) f (x n−1) ∀ n=1, 2, 3,

3

Trang 8

Do cách xây dựng bằng hình học như vậy nên phương pháp Newton còn được gọi là

phương pháp tiếp tuyến

Sai số của nghiệm xấp xỉ xn theo phưởng pháp Newwton được đánh giá theo công thức sai

số tổng quát

1.2 Thuật toán của phương pháp Newton

Để xây dựng được thuật toán cho phương pháp nội suy Newton, tác giả chọn sử dụng phần mềm MATLAB để thiết lập thuật toán tìm ra giá trị xấp xỉ

1.1.1 Diễn giải thuật toán của phương pháp Newton để giải phương trình tối ưu phi tuyến 1.1.1.1 Thuật toán newton thuần túy để giải bài toán tối ưu:

Khởi tạo ban đầu, xuất phát từ điểm tùy ý x0∈ R n đủ gần điểm dừng x¿

∇ f (x0

)≠ 0; chọn trước số ε> 0 đủ nhỏ Đặt k := 0

Bước lặp k (k= 0;1;2….)

Bước 1: Tính hướng newton p k của hàm f tại x bằng việc giải hệ phương trình tuyến tính

[2f(x k) ] p k

=−∇f(x k).

Bước 2: Xác định x k+1 ≔ x k

+p k∇ f(x k+1).

Bước 3: If ∇f(x k+ 1) ‖<εThen dừng thuật toán lấy điểm ( lấy điểm dừng x¿

≈ x¿ +1) Else k:= k+1 và quay ngược lại bước lặp k

Chú ý: Điểm xuất phát x0 trong thuật toán phải đảm bảo đủ gần điểm dừng x¿

của hàm f

1.1.1.2 Thuật toán phương pháp Newton với bước tự điều chỉnh hay phương pháp newton suy rộng

Thuật toán newton với bước tự điều chỉnh hay phương pháp newton suy rộng

Bước khởi đầu , xuất phát từ điểm tùy ý x0∈ R n đủ gần điểm dừng x¿

∇ f (x0

)≠ 0; chọn trước số ε> 0 đủ nhỏ Đặt k := 0;

Bước 1: Tính hướng newton d k bằng việc giải hệ phương trình tuyến tính

[2

f (x k) ] d k=−∇ f(x k).

Bước 2: Xác định x k+1 ≔ x k

+t k d k theo thủ tục quay lui.Tính ∇ f(x k+1).

Bước 3: If ∇f(x k+ 1) ‖<εThen dừng thuật toán lấy điểm ( lấy điểm dừng x¿

≈ x¿ +1) Else k:= k+1 và quay ngược lại bước lặp k

1.1.1.3 Thuật toán phương pháp Newton cổ điển giải hệ phương trình phi tuyến

4

Trang 9

-Xét phương trình một biến số

f(x)=0 Giả sử nghiệm của phương bỉnh này là x¿ϵ R Thuật toán Newton tìm nghiệm x¿ sẽ xuất phát

từ mừt điểm x0 đủ gần x¿ và sinh ra một dãy nghiệm xấp xỉ x0;x1;x2;… hội tụ đến x¿

Xét x k là một điểm thuộc dãy này Với p ∈ R và |p| đủ bé, xấp xỉ Taylor bậc nhất của hàm f(x) tại x k là:

f(x k

+p)≈ f(x k)+p f '(x k).

Dễ thấy

y=f (x k

)+p f '(x k).

Là phương trình tiếp tuyến tại điểm (x k ;f(x k)) với đồ thị y=f(x) Gỉa sử f '(x k)≠ 0 Khi đó giải phương trình

f(x k)+p f '(x k)=0

Ta được:

p=f (x

k

)

f '(x k)

Đặt:

x k+1=x kf (x k

)

f '(x k)

-Trường hợp tổng quát (n>1)

Xét hệ phương trình n ẩn, n phương trình

F(x)=0 Giả sử nghiệm của phương bỉnh này là x¿

ϵ R Thuật toán Newton tìm nghiệm x¿

sẽ xuất phát

từ mừt điểm x0 đủ gần x¿ và sinh ra một dãy nghiệm xấp xỉ x0;x1;x2;… hội tụ đến x¿

Tại điểm x¿ϵ R n thuộc dãy này, khai triển Taylor của F(x) tại x k

F(x k+p)=F(x k)+DF(x k)p+o(p‖) Trong đó vecto p ϵ R n có ‖p‖ đủ nhỏ, DF(x k) là ma trận Jacobian của F tại điểm x k ϵ R n

5

Trang 10

o (p‖) là vô cùng bé so với ‖p‖ khi p →0 Khi đó xấp xỉ Taylor bậc nhất của hàm F tại x k

F(x k+p)≈ F(x k)+DF(x k)p Giả sử ma trận Jacobi DF(x k) không suy biến Giải hệ phương trình

F(x k)+DF(x k)p=0

Ta được vecto p=−[ DF(x k)]−1F(x k)

Và điểm lặp tiếp theo là x k+1=x k+p=x k−[DF(x k)]−1F(x k)

Đặt x k ≔ x k +1 và lặp lại quá bình tính toán đối với điểm x k mới

1.1.2 Lập trình code cho phương pháp Newton để giải phường trình tối ưu phi tuyến

1.1.2.1 Bài toán và lập trình code

Ví dụ hàm mục tiêu là f ( x )=(x1−1)2+(x2−2)2+x1× x2

% Định nghĩa hàm mục tiêu và hàm phụ

objective = @(x) (x(1) - 1)^2 + (x(2) - 2)^2 + x(1)*x(2); % Hàm mục tiêu

objective_negative = @(x) -objective(x); % Hàm phụ (đối của hàm mục tiêu)

% Khởi tạo điểm ban đầu

x0 = [0, 0];

% Tối ưu hóa hàm mục tiêu bằng fminunc

[x_opt, fval] = fminunc(objective, x0);

% In kết quả

disp('Nghiệm tối ưu:');

disp(x_opt);

disp('Giá trị tối ưu của hàm mục tiêu:');

disp(fval);

6

Trang 11

% Tìm giá trị nhỏ nhất và lớn nhất

% Tìm giá trị nhỏ nhất

[x_min, fval_min] = fminunc(objective, x0, options);

% Tìm giá trị lớn nhất của hàm phụ

[x_max, fval_max] = fminunc(objective_negative, x0, options);

% In kết quả giá trị nhỏ nhất và lớn nhất

% Hiển thị kết quả

disp('Giá trị nhỏ nhất:');

disp(['x1 = ', num2str(x_min(1))]);

disp(['x2 = ', num2str(x_min(2))]);

disp(['Giá trị của hàm tại điểm này = ', num2str(fval_min)]); disp('Giá trị lớn nhất:');

disp(['x1 = ', num2str(x_max(1))]);

disp(['x2 = ', num2str(x_max(2))]);

disp(['Giá trị của hàm tại điểm này = ', num2str(-fval_max)]);

1.1.2.2 Giải thích code

objective là hàm mục tiêu cần tối ưu

objective_negative là hàm đối của hàm mục tiêu

fminunc là hàm được sử dụng để tối ưu hóa hàm mục tiêu x0 là giá trị ban đầu của biến

x là giá trị tối ưu của biến mà fminunc tìm ra

fval là giá trị tối ưu của hàm mục tiêu tại điểm tối ưu

7

Trang 12

CHƯƠNG 2 PHẦN ỨNG DỤNG THỰC TẾ CỦA PHƯƠNG PHÁP NEWTON

2.1 Phân tích động lực học phi tuyến theo lịch sử thời gian được tích hợp sẵn trong phần mềm SAP2000

2.1.1 Khái quát

Vấn đề phân tích động lực học phi tuyến (gọi tắt là động phi tuyến) kết cấu công trình chịu tải trọng động đất theo phương pháp lịch sử thời gian (nonlinear time-history analyses) được quan tâm gần đây vì những ưu điểm của nó như: Khắc phục được những nhược điểm của phương pháp phân tích đàn hồi tuyến tính khi thiết kế những công trình có kết cấu đặc biệt, phức tạp, phân tích chính xác hơn ứng xử của kết cấu có thể giúp giảm bớt kích thước tiết diện, làm giảm chi phí đầu tư mà vẫn đảm bảo an toàn khi sử dụng

Phương pháp phân tích động phi tuyến có thể cho biết chính xác vị trí và thời điểm hình thành khớp dẻo trong kết cấu

2.1.2 Phương pháp

Một trong những cách để áp dụng các phương pháp phân tích động phi tuyến theo lịch sử thời gian là sử dụng phần mềm phân tích kết cấu SAP2000 cho phép phân tích động phi tuyến theo lịch sử thời gian với một số phương pháp được tích hợp sẵn.

8

Trang 13

CHƯƠNG 3 KẾT LUẬN

Đề tài đã giúp nhóm nghiên cứu hiểu thêm về MATLAB ở những bước đầu tiên MATLAB giúp tiết kiệm thời gian tính toán và xử lý bài toán hơn các phương pháp phổ thông Bên cạnh đó các câu lệnh, hàm và giao diện của chương trình dễ sử dụng, khá tiện ích và dễ hiểu Mặc dù thiết kế đoạn code có rườm rà và tốn thởi gian nhưng đó cũng là những kinh nghiệm quý báu và bổ ích cho tác giả Với đề tài cô giao, nhóm 16 đã cố gắng hoản thành

và cho ra kết quả tốt nhất có thể Qua bài tập lớn, tác giả cũng đã đạt được mục đích chính của bài tập đó là hiểu hơn về phần mềm quan trọng MATLAB, nâng cao hiểu biết và niềm yêu thích với môn học, trau dồi và rèn luyện thêm để cải thiện vốn kiến thức còn nhiều hạn chế

9

Trang 14

TÀI LIỆU THAM KHẢO

[1] Giáo trình Phương pháp tính (Tài liệu liệu hành nội bộ), Trường Đại học Bách Khoa – Đại học Quốc gia Thành Phố Hồ Chí Minh, 2019

[2] Nguyễn Phùng Quang (2006), “Matlab và Simulink Dành cho Kỹ sư điều khiển

tự động”, NXB Khoa học & Kỹ thuật.

[3] Phạm Thị Ngọc Yến, Lê Hữu Tình, “Cơ sở matlab và ứng dụng”, NXB Khoa học

&Kỹ thuật

[4] Trần Quang Khánh (2002), “giáo trình cơ sở Matlab ứng dụng”, tập I và II, NXB

Khoa học & Kỹ thuật

8

Ngày đăng: 11/11/2024, 21:08

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w