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

đồ án kỹ thuật điện cơ giới thiệu sơ qua các khái niệm về tối ưu và bài toán cơ học đặt ra

107 405 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 107
Dung lượng 5,83 MB

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

Nội dung

Những phương pháp tối ưu được trình bày sau đây là những phươngpháp tối ưu trực tiếp không có sử dụng đạo hàm, còn những phươngpháp có sử dụng đạo hàm không được nói đến do việc gắn nó v

Trang 1

LỜI MỞ ĐẦU

Ngày nay cùng với sự phát triển không ngừng của khoa học máy tínhthì việc ứng dụng nó vào các ngành khoa học khác cũng đạt được nhữnghiệu quả hết sức to lớn

Một ứng dụng cụ thể của máy tính vào cơ học đó là tối ưu hoỏ cỏc

hệ cơ học Với các modul tối ưu có sẵn trờn mỏy thỡ ta có thể dễ dàngtriển khai chúng vào một modul riêng biệt trong quá trình giải trọn vẹnmột hệ cơ học

Mục đích chính của đồ án này là xây dựng các modul tối ưu để gắnvào một chương trình hoàn chỉnh giải một hệ cơ học Do phạm vi để sửdụng như vậy nên trong đồ án này tôi chỉ trình bày những phương pháptối ưu mà có thể dễ dàng ứng dụng để đạt được mục đích trên, mặc dùcòn nhiều phương pháp nhanh và chính xác hơn nhưng việc áp dụngchúng vào dạng bài toán như trên thỡ nú trở nên phức tạp hơn

Những phương pháp tối ưu được trình bày sau đây là những phươngpháp tối ưu trực tiếp không có sử dụng đạo hàm, còn những phươngpháp có sử dụng đạo hàm không được nói đến do việc gắn nó vào cácmodul khác mà tính đến đạo hàm thì chương trình rất khó thực hiện dohàm mục tiêu được xác định trong quá trình tính toán từ các modul khỏcnờn khú xác định được đạo hàm của chúng và các ràng buộc

Chương I giới thiệu sơ qua các khái niệm về tối ưu và bài toán cơhọc đặt ra Chương II, III, IV trình bày cụ thể các phương pháp tối ưu.Chương V là sử dụng các modul xây dựng từ các phương pháp đã giớithiệu để giải một vài bài toán cụ thể

Tôi xin chân thành cảm ơn sự hướng dẫn tận tình của thầy giáo ĐinhVăn Phong, cảm ơn sự giúp đỡ tham khảo của thầy Nguyễn Nhật Lệ vàthầy Phan Mạnh Dần

1

Trang 2

Chương I.

BÀI TOÁN TỐI ƯU TRONG CƠ HỌC

I BÀI TOÁN TỐI ƯU TỔNG QUÁT

1 Phát biểu bài toán.

“Tỡm trạng thái tối ưu của một hệ thống bị ràng buộc sao cho đạtđược mục tiêu mong muốn về chất lượng theo một nghĩa nào đú.”

Các yếu tố của một bài toán tối ưu hoá:

- Trạng thái: mô tả trạng thái của hệ thống cần tối ưu hoá

- Mục tiêu: đặc trưng cho tiêu chuẩn hoặc hiệu quả mong muốn(nh hiệu suất cao nhất, trọng lượng nhỏ nhất, độ cứng nhỏ nhất,gia tốc nhỏ nhất, thời gian ngắn nhất)

- Ràng buộc: Thể hiện các điều kiện kỹ thuật mà hệ thống phải thoảmãn

2 Phân loại các bài toán tối ưu.

Cú các loại bài toán tối ưu sau:

- Bài toán quy hoạch tuyến tính

- Bài toán quy hoạch phi tuyến

- Bài toán cực trị phiếm hàm

- Bài toán điều khiển tối ưu

Tuy nhiên do phạm vi ứng dụng ở đây là trong các bài toán cơ họcnên ta chỉ xét đến bài toán tối ưu phi tuyến

Một bài toán tối ưu phi tuyến được phát biểu nh sau:

Tìm giá trị nhỏ nhất (hoặc lớn nhất) của hàm:

f(x) với xEn

sao cho thoả món cỏc ràng buộc:

hi(x)=0 với i=1,2,…,m

gi(x) 0 với i=m+1,…,p

Trang 3

Hàm f(x) ở đây được gọi là hàm mục tiêu, xEn là biến trạng thái.Nếu xE thì ta nói f(x) là hàm một biến (n=1), còn với n>1 thì f(x) làhàm nhiều biến Trong các hàm đó thì phải có Ýt nhất một hàm là phituyến.

II MỘT SỐ BÀI TOÁN CƠ HỌC

Bõy giê ta sẽ đi xét một số ví dụ dùng để minh hoạ cho việc sử dụngcác modul tối ưu Với mỗi hệ cơ học sẽ chỉ đặt ra bài toán tối ưu, còn ta

sẽ xem xét cụ thể vào chương V của đồ án này

1 Bài toán 1: Tối ưu tần số

λ là giá trị các trị riêng của cơ hệ

Đây là bài toán tối ưu bằng phương pháp số, các biến đầu vào là mi,

ci, bi, hàm mục tiêu ở đây là hàm của các trị riờng, cỏc trị riêng ở đâyđược tính từ mi, ci, bi bằng một modul tính toán khác

3

Trang 4

2 Bài toán 2: Tối ưu biên độ

Thì giải hệ trên ta được các hàm khuếch đại nh sau:

η 4D ) η (ξ

Trang 5

) μη η (1 η 4D ] η μξ ) η )(ξ η [(1

η 4D ξ

η) ξ, (D, V η) ξ, (D, V

max

η) ξ, (D, V

η) ξ, (D, V η) ξ, (D, V

Để có thể sử dụng được các modul tối ưu trên ta phải tiến hành gián

đoạn hoá tần số kích động η Giới hạn trên của hàm mục tiêu trongđoạn a η b được coi là biến thiết kế giả tạo – kí hiệu là d.

Gọi giá trị của η tại các điểm gián đoạn trong [a,b] là ηi với i=1 m.Khi đó bài toán dẫn về:

Tìm: f(x) = d min

Thoả món cỏc ràng buộc:

V1(D, ξ, ηi) d i=1 m

b a

max

) η ξ, (D, V

) η ξ, (D, V ) η ξ, (D, V

i 1

i 1

Trang 7

toán tối ưu hàm nhiều biến, có những phương pháp phải sử dụng thuậttoán tối ưu lần lượt theo từng phương, khi đó ta sẽ phải sử dụng đếnthuật toán tối ưu hoá hàm một biến.

Do phạm vi ứng dụng trong các bài toán như vậy nên ở phần này tôichỉ trình bày chủ yếu vào phương pháp tìm kiếm không sử dụng đạohàm, tức là tìm trực tiếp, và thuật toán được trình bày cụ thể để sử dụngtrong đồ án này là thuật toán Fibonacci và còn được phát triển thànhphương pháp “golden section” (mặt cắt vàng)

II TỐI ƯU VỚI HÀM MỤC TIÊU KHÔNG CÓ GIỚI HẠN

Là hàm mục tiêu mà không có giới hạn cho biến x Để tìm được lờigiải tối ưu cho những hàm này ta phải đi xác định khoảng mà chứa giátrị tối ưu, do đó nó chuyển thành bài toán với hàm mục tiêu có giới hạn

a Xác định khoảng tối ưu

Trong bước tìm kiếm trực tiếp nào đó, hai giá trị của hàm mục tiêu

có thể được dùng để loại trừ một miền không chứa giá trị tối ưu Theo

đó, nếu ta tìm max: với x1 > x0 và f(x1) > f(x0) thì ta có thể kết luận giátrị max không nằm trong miền x < x0 Ta sẽ luôn luôn có kết quả giá trịtối ưu nằm trong hai khoảng, ở đây đó là [x0 ; x1] và (x1 ;+)

Gọi x0 là điểm xuất phát để tìm kiếm, s là giá trị độ dài khởi tạo Đặt:

x1=x0+s và tính f(x1), f(x0) Có 3 trường hợp sau:

- Nếu f(x1) = f(x0) thì max nằm trong khoảng x0 < x < x1

- Nếu f(x1) > f(x0) thì max nằm trong khoảng x>x0, ta phải tìm theotrục x theo hướng tăng theo s Phương pháp của Swann yêu cầu tính giátrị hàm mục tiêu tại dóy cỏc điểm: x0; x1=x0+s; x2=x1+2s; …; xk=xk-1+2k-

1s, ở đây xk là điểm đầu tiên trong dóy trờn làm cho hàm mục tiêu giảm:

f(x0)< f(x1) <f(x2)<…< f(xk-1) và f(xk-1) f(xk)

d/2=xk-1-xk-2=2k-2s (2.1.1)

(2.1.1)

7

Trang 8

Do đó giá trị max của hàm mục tiêu sẽ nằm trong khoảng (xk-2;xk) và

độ dài khoảng này là:

xk-xk-2= xk-1+2k-1s- xk-2

=xk-2+2k-2s+2k-1s- xk-2=3.2k-2s=3d/2 (2.1.2) (2.1.2)

- Nếu f(x1) < f(x0), ta loại khoảng x>x1 và tìm kiếm theo các giá trịgiảm dần của x Cũng tương tự trường hợp thứ 2 ở trên nhưng ta thays=-s và giá trị max của hàm mục tiêu sẽ nằm trong khoảng (xk;xk-2).Đến đây đó xỏc định được khoảng tối ưu, việc tìm giá trị tối ưu chohàm mục tiêu sẽ chuyển thành tìm giá trị tối ưu cho hàm mục tiêu cógiới hạn

b Chọn độ dài khởi tạo s

Bài toán đặt ra đầu tiên trong bất kì việc tìm kiếm giá trị tối ưu làchọn dé dài khởi tạo s, trong phương pháp số trên máy tính thỡ nú quyếtđịnh số lượng tính toán nhiều hay Ýt Trong phần trước, tổng khoảngcách dịch chuyển trong quá trình tìm kiếm giá trị max của hàm mục tiêuđến bước thứ k-1 là tổng của 

1 0

s 2

k i

s 2

k i

i

=(2k-1)s (2.2.1)(2.2.1)

hay: k >

2 ln

] / ) (

1 ln[  x * x0 s

(2.2.2)với k là số bước dịch chuyển, nhưng có k+1 giá trị của hàm mục tiêuđược tớnh vỡ nú bắt đầu từ x0 Đặt N=k+1 lần tính để định nghĩa mộtmiền cuối cùng của độ dài 3d/2 chứa giá trị tối ưu mong muốn Độ dài

đó là: (3/2).d(k)=3.2k-2s theo (2.1.2) và với k tính theo (2.2.2)

c Ước lượng gần đúng giá trị tối ưu

Trang 9

Từ 3 điểm (xk-2, xk-1, xk) đã tính được với 3 giá trị của hàm mục tiêutương ứng, hàm f(x) có thể được tính xấp xỉ thành hàm bậc 2 nh sau:f(x)= β 0 + β 1(x-xk-2)+ β 11(x-xk-2) (x-xk-1) (2.3.1)

2 - k 1

k

-x - x

) f(x - ) f(x

(2.3.3)

11

β =

1 - k k

2 - k 1 - k

2 - k 1

k 2

k k

-2 - k k

x - x

x - x

) f(x - ) f(x x

x

-) f(x - ) f(x

Do đó bài toán tối ưu bõy giờ trở thành bài toán tìm cực trị của hàmbậc hai một biến Ta chỉ cần giải phương trình f’(x)=0, kết quả cho nhưsau:

x*=(xk-2+xk-1-β 1/β 11)/2

III TỐI ƯU VỚI HÀM MỤC TIÊU Cể GIỚI HẠN

Trong phần này ta sẽ tìm giá trị tối ưu cho hàm mục tiêu có giới hạn:

axb Phương pháp được trình bày chủ yếu ở đõy là phương phápFibonacci

1 Phương pháp Fibonacci

a Cơ sở tìm kiếm trờn dóy số Fibonacci

Để dễ dàng, ta xét một miền được giới hạn bởi đoạn AB có độ dài Lj.Hai điểm dùng để thử có thể được thêm vào là C và D nh hình vẽ dướivới các độ dài tương ứng: lj=AC và lj’=DB

9

Trang 10

Hình III-1 Hai bước liên tiếp của phương pháp Fibonacci

Điểm tối ưu sẽ nằm trong đoạn CB có độ dài Lj-lj, hoặc đoạn AD có

độ dài Lj-lj’, do đó để thu được những đoạn bằng nhau ta nên đặt lj=lj’.Bước tiếp theo là ta thay đoạn AB bằng đoạn CB hoặc AD bằng cáchloại trừ một trong hai đoạn Giả sử ta thu được đoạn CB và nú cú chứađiểm D, do đó ta chỉ việc thêm vào điểm E và quan hệ về độ dài là:CD=EB=lj+1

thì ở vòng thứ j+1 ta có: σ j1=

1

1 L

l

j j

σ 1

(3.1.2)

Trang 11

1 1 β 2γ

β - γ

(3.1.3)Điều đó được thoả mãn khi:

) 1 (

j N

với j=1,2,…,N-1Đến đây ta đó cú tất cả những thành phần cần thiết cho phương pháptìm kiếm Fibonacci

b Phương pháp tìm kiếm Fibonacci

Trong phương pháp này, đoạn đầu tiên ta phải tính 2 giá trị (bước 1)

để chia đoạn đó thành 3 đoạn, sau đó chọn 2 đoạn để thực hiện việc tìmkiếm tiếp theo Ở bước tiếp theo ta chỉ việc tớnh thờm 1 giá tri do giá trịthứ 2 trùng với 1 trong 2 giá trị ở bước trước Do đó từ bước thứ 2 trở đi

ta chỉ phải tớnh thờm 1 giá trị để thử

11

Trang 12

Có thể tóm tắt các bước của phương pháp nh sau:

- Bước 1: Thay hai giá trị đầu tiên.

Với đoạn a1  x  b1 có độ dài L1=b1-a1 Hai vị trí được thêm vàođoạn [a1,b1] để thử là x1 và x2 (x2 > x1) Trước hết ta tính độ dài:

- Bước 2: Tìm kiếm trên đoạn mới.

Đoạn mới có độ dài: L2=L1-l1=b1-x1 (hoặc x2-a1)

) 1 (

k N

Lk (3.1.7)(3.1.7)

- Bước 3: Hai điểm để thử trong đoạn thứ hai.

Trên đoạn L2 ta sẽ thêm vào 2 điểm x3’và x3’’ Ta có:

+ Trường hợp thứ nhất: đoạn (a1,x1) bị loại trừ còn lại đoạn(x1,b1), giá trị tối ưu sẽ nằm trong đoạn (x1,b1):

Trang 13

F - F

Nh vậy ở bước này ta chỉ phải tính một giá trị x3

+ Trường hợp thứ hai: đoạn (x2,b1) bị loại trừ còn lại đoạn (a1,x2),giá trị tối ưu sẽ nằm trong đoạn (a1,x2): còng tương tù nh trường hợptrên, chỉ phải tính một giá trị x3

Tổng quát cho bước lặp thứ m ta có:

Lm=

N

m N

F

F ( 1)

L1 (3.1.8)(3.1.8)

Cuối cùng để xác định N ta tính đến sai số của thuật toán:

2 Phương pháp Fibonacci cải tiến

Từ biểu thức (3.1.7) ta đặt: j=N-(k-1) ta có

lk=

) 1 (

) 1 (

k N

Khi đó: lk=0.3820Lk

Ta sẽ áp dụng kết quả này để xây dựng một thuật toán cụ thể để ápdụng cho các phần sau

13

Trang 14

IV TỔNG KẾT

Cuối cùng chúng ta có thể viết cụ thể giải thuật của phương phápFibonacci theo các bước nh sau:

Tìm min f(x) với xR

Bước 1: Xác định hướng tối ưu

Chọn trước x0 và s > 0, sai sè e, hằng số Fibonacci p=0,3820

a xt=x0+s

Nếu f(xt) > f(x0) thì s = -s và xt=x0+s (Đổi hướng)

Nếu f(xt) > f(x0) thì s = -s/2 và xt=x0 (Quay về điểm ban đầu)

b Nếu f(xt) > f(x0) và s>e thì quay lại a

Bước 2: Xác định khoảng tối ưu

a Gán: xt=x0+s và s=2s

b Nếu f(xt) < f(x0) thì quay lại a

Bước 3: Thuật toán Fibonacci

Chó ý: ở trên ta phải dùng dấu trị tuyệt đối để kiểm tra điều kiện

dừng của chương trình do ở bước 1 xác định hướng tối ưu s có thể õmnờn xt-x0 có thể mang giá trị âm, trường hợp đó có thể dẫn tới việcchương trình kết thúc khi xt chưa dần tới x0 (xt < x0)

Thuật toán Fibonacci có tốc độ hội tụ rất nhanh so với việc chiakhoảng tối ưu thành nhiều điểm bằng nhau đồng thời số lượng tính toán

Ýt do ở mỗi vòng lặp chỉ phải thực hiện một phép tính

Trang 15

Thủ tục tính toán được viết bằng ngôn ngữ C++ ứng dụng trongthuật toán Powell trong tệp “Powell.cpp” trong phần phụ lục.

15

Trang 16

lời giải tối ưu biến không thể áp dụng được cho hàm nhiều biến, ta sẽphải tìm ra các phương pháp khác phù hợp để tìm lời giải tối ưu.

Ta có thể phân loại thành hai phương pháp chính cho lời giải bàitoán tối ưu: đó là phương pháp có sử dụng đạo hàm và phương phápkhông sử dụng đạo hàm

Phương pháp có sử dụng đạo hàm có ưu điểm là hội tụ nhanh vàchính xác nhưng yêu cầu phải tính đạo hàm của hàm mục tiêu Cònphương pháp không sử dụng đạo hàm thì không phải tính đạo hàm màchỉ cần tính giỏ trị của hàm mục tiêu và so sánh các giá trị với nhau tùytheo từng phương pháp tìm kiếm

Tuy nhiên trong ứng dụng các phương pháp vào từng líp bài toán cụthể thì phương pháp sử dụng đạo hàm gặp phải hai trở ngại lớn khi triểnkhai

Thứ nhất đó là khi gặp phải bài toán có số lượng lớn các biến (n lớn),việc phân tích hàm mục tiêu để tớnh cỏc giá trị đạo hàm đó rất nặng nề

và không dễ dàng để thực hiện, nhất là khi phải tính đạo hàm bậc haivới phương pháp gradient cấp hai Ngay cả khi việc xác định giá trị cácđạo hàm được thay thế bằng phương pháp tính xấp xỉ thì cũng gặp phảilỗi khi triển khai trên máy tính số, cụ thể đó là lỗi khi giá trị các biếndần đến lân cận của vô cùng hoặc tính đến điểm đạo hàm không xácđịnh, việc tính xấp xỉ không còn đúng nữa Về nguyên tắc thì việc thaythế đó hoàn toàn có thể, nhưng phương pháp này vẫn yêu cầu một sốlượng biến đổi đáng kể trước khi nó trở thành công cụ có thể tính toán.Cũng với trường hợp trờn thỡ phương pháp không sử dụng đạo hàm lạikhông yêu cầu hàm mục tiêu phải liên tục và đều hay tồn tại đạo hàmhay không mà vẫn có thể thực hiện việc tìm lời giải tối ưu

Trở ngại thứ hai đó là người dùng phải nhập trực tiếp biểu thức củađạo hàm vào trước khi phải tính đến giá trị của hàm mục tiêu trong thuậttoán, nhất là khi số biến lớn hoặc có nhiều ràng buộc thì việc nhập rấtkhó khăn

Trang 17

Một vấn đề nữa cũng cần phải cân nhắc khi sử dụng phương pháp tối

ưu nào, đó là khi sử dụng thuật toán tối ưu như một modul tính toán chotoàn bộ một đề án, khi đó hàm mục tiêu được tính qua các modulchương trình khỏc trờn máy tính số, việc xác định được đạo hàm của nótrong trường hợp này là vô cùng khó khăn

Với những yếu tố trên và phạm vi ứng dụng của đồ án này như mộtmodul riêng như đã nói thì trong đồ án này tôi chỉ nói sơ qua phươngpháp có sử dụng đạo hàm để có thể so sánh chứ không có ý định ứngdụng, còn phương pháp được trình bày chính là không sử dụng đạohàm

Trong chương này ta sẽ xét đến các hàm mục tiêu không có các ràngbuộc Việc tối ưu các hàm mục tiêu có ràng buộc ta sẽ nói đến ở chươngsau, nhưng về cơ bản vẫn phải sử dụng đến các phương pháp sẽ trìnhbày ở chương này

II PHƯƠNG PHÁP TỐI ƯU CỦA HOOK VÀ JEEVES

Theo khái niệm thì đây là phương pháp đơn giản nhất, nó được thựchiện nh sau: tại một thời điểm chỉ thay đổi một biến trong khi giữnguyên giá trị của các biến còn lại cho tới khi tìm được giá trị tối ưu.Lấy một ví dụ để minh hoạ: với hàm mục tiêu f(x1,x2) ban đầu giữnguyên x2 và thay đổi x1 cho tới khi tìm được giá trị tối ưu ứng với x1.Sau đó giữ nguyên giá trị x1 tìm được ở trên rồi cho x2 thay đổi để tìmgiá trị tối ưu ứng với nó Tuy nhiên quá trình này sẽ không chính xácnếu có sự ảnh hưởng lẫn nhau giữa x1 và x2, đó là nếu trong quan hệ ảnhhưởng bao gồm kết quả của x1 và x2 tìm thấy trong hàm mục tiêu Do đóphương pháp này không thể được thực hiện trừ khi hàm mục tiêu có sựảnh hưởng lẫn nhau là vô nghĩa

Hook và Jeeves đã đưa ra một chiến lược đơn giản hợp lý củaphương pháp tối ưu trực tiếp Đó là sử dụng những điểm đó tớnh thử rồi

17

Trang 18

loại bỏ sự không cần thiết về tính chất của hàm mục tiêu trong khônggian En trong hình học tụ pụ (là ngành hình học nghiên cứu các tính chấtkhông bị ảnh hưởng của sự thay đổi hình dáng và kích thước) Nú đóđược Wood bổ sung thêm, thuật toán gồm hai bước chính: đầu tiên là tối

ưu quanh điểm cơ sở rồi tối ưu theo hướng đã chọn (hay còn gọi tối ưutheo mẫu hỡnh) Hỡnh II-1 dưới đây là sơ đồ thuật toán của phươngpháp đó (Trong trường hợp tìm min của f(x))

Tèi u theo mÉu h×nh

Thùc hiÖn tèi u lÇn II, thu ® îc x.

KiÓm tra: f(x) < f(x

0 )

Trang 19

Hình II-1 Sơ đồ thuật toán tối ưu của Hook Jeeves

Thuật toán tối ưu trực tiếp được thực hiện theo các bước nh sau:

- Cho trước các giá trị khởi tạo:

x1(0) được thay đổi bởi s1(0): x1(1)= x1(0)+s1(0)

Nếu f(x) giảm thì giữ nguyên thành phần x1(0)

Nếu f(x) không giảm thì thay x1(1)= x1(0)-s1(0) Nếu f(x) giảm thì tachấp nhận thành phần x1(1) Còn nếu f(x) không giảm thì giữ nguyên

Trang 20

thì chấp nhận hướng đó và giá trị của hàm mục tiêu cũ được thaybằng giá trị mới vừa tính được, cũn khụng thỡ giữ nguyên giá trị cũ.

- Tối ưu theo mẫu hình được thực hiện nếu bước trên thành công:Sau khi tối ưu theo n hướng ở trên thì ta thực hiện tối ưu theomẫu hình Từ các hướng tối ưu thành công ở trên (là các hướng màtối ưu thu được giá trị hàm mục tiêu tốt hơn giá trị trước khi thựchiện) ta định nghĩa một vector trong không gian Rn thể hiện hướngtối ưu thành công Gọi m là số lần tối ưu thành công thì thực hiện tối

ưu theo mẫu hình theo công thức sau:

x(k+1)=m.x(k)-x(0) (i=1 n)

x(0) là điểm cơ sở để thực hiện bước tối ưu thứ nhất

Việc tối ưu theo mẫu hỡnh cú thành công hay không ta chưa thểkết luận ngay được mà còn phải thực hiện tối ưu lần II xong mới kếtluận được

- Tối ưu lần II:

Sau khi tối ưu theo mẫu hình kết thúc thì ta thực hiện tối ưu lần

II, các bước cũng tương tự như lần I

Nếu f(x) không giảm sau khi tối ưu lần II thì ta kết luận việc tối

ưu theo mẫu hình là thất bại, quay lại tối ưu từ lần I để tìm hướng tối

ưu thành công mới

- Kiểm tra điều kiện dõng:

Nếu việc tối ưu ngay từ lần I đã thất bại, hướng tối ưu mới khôngđược tìm thấy thì ta giảm dần các thành phần của s (là một vector)cho tới khi tìm được hướng tối ưu mới hoặc tất cả các thành phầncủa nó bằng không (trong máy tính số thì nhỏ hơn sai sè e) thì thuậttoán kết thúc

Việc thất bại trong việc làm giảm giá trị của f(x) ứng với các thànhphần của s cho thấy f(x) chính là giá trị tối ưu địa phương Ba bướckiểm tra cơ sở phải được thoả mãn cho các bước tối ưu kết thúc:

Trang 21

- Bước kiểm tra đầu tiên được thực hiện sau mỗi lần tối ưu I và tối

ưu theo mẫu hình: Độ lớn của sự thay đổi hàm mục tiêu được so sánhvới một giá trị nhỏ cho trước Nếu tổng số thay đổi của hàm mục tiêu kể

từ giá trị cơ sở của nó không lớn hơn giá trị nhỏ cho trước thì bước tối

ưu lần I hoặc tối ưu theo mẫu hình coi như thất bại Khi không thực hiệnviệc kiểm tra như trên thì thực hiện kiểm tra theo cách khác là xác địnhxem hàm mục tiêu tăng (thất bại) hay giảm (thành công)

- Bước kiểm tra thứ hai bảo đảm rằng giá trị của hàm mục tiêu luôntốt hơn (trong trường hợp tối ưu này là giảm)

- Bước kiểm tra thứ ba thực hiên sau khi tối ưu lần I thất bại theocác hướng thành phần của s Thuật toán có thể kết thúc nếu các thànhphần của s nhỏ hơn sai sè e cho trước

III PHƯƠNG PHÁP TỐI ƯU CỦA NELDER VÀ

MEAD

1 Cơ sở lý thuyết

Nelder và Mead đã đưa ra một phương pháp có phần hơi phức tạp sovới phương pháp tối ưu trực tiếp nhưng nú đó chứng tỏ là một phươngpháp có hiệu quả tốt và dễ dàng thực hiện trên máy tính số

Để hiểu rõ hơn về phương pháp ta hãy xem xét vắn tắt một phươngpháp gọi là tối ưu bằng đơn hình do Spendley, Hext và Himsworth nghĩ

ra khi thống kê các lần tính thử bằng tay Các khối đa diện đều trongkhông gian En được gọi là những đơn hình Ví dụ với hàm mục tiêu haibiến (biến trạng thái thuộc không gian En) thì một đơn hình đều sẽ làmột tam giác đều (3 đỉnh), với hàm 3 biến thì là một khối tứ diện đều (4đỉnh) (hai trường hợp này được minh họa bằng hình III-1 ở dưới),…,tương tự với hàm mục tiêu n biến thì đơn hình là khối đa diện (n+1)đỉnh

21

Trang 22

Hình III-1 Đơn hình đều với 2 và 3 biến độc lập

Trong quá trình tối ưu hàm mục tiêu f(x), vector x dùng để thử có thểđược chọn tại các điểm trong không gian En xác định các đỉnh của đơnhình như đã giới thiệu ở trên do Spendley, Hext và Himsworth Từnhững phân tích hình học như trên ta có thể chỉ ra toạ độ của các điểmcủa đơn hình đều được cho bởi ma trận D, trong đó các cột biểu diễncác thành phần của các đỉnh được đánh số từ 1 đến (n+1) và các hàngbiểu diễn các toạ độ được đánh số từ 1 đến n:

D =

1) (n n d

d d 0

d d 0

d

d d 0

d

d d 0

1 2

2

2 2

2

2 1

2

2 2

t : khoảng cách giữa hai đỉnh

Hàm mục tiêu có thể được tính tại mỗi đỉnh của đơn hình, một phépchiếu được thực hiện từ đỉnh mà hàm mục tiêu có giá trị lớn nhất quatrọng tâm của đơn hình, trong hình III-1 thì đó là đỉnh A và B là đỉnhtạo thành sau phép chiếu Thông thường thì ta thực hiện phép chiếu làphép ánh xạ hệ số bằng 1, tức là phép lấy đối xứng Đơn hình mới được

4

Trang 23

tạo nên sau khi bỏ đi đỉnh A và thêm một đỉnh mới là B Tiếp tục vớithủ tục này ta luôn luôn loại được đỉnh mà hàm mục tiêu có giá trị lớnnhất, đồng thời thêm vào quy tắc giảm kích thước của đơn hình sau mỗilần thực hiện để tránh dẫn tới giá trị vô hạn Chúng ta thừa nhận rằngphương pháp tối ưu bằng đạo hàm thì ở một vòng lặp nào đó độ dàidùng để tối ưu là cố định nhưng hướng tối ưu đã chọn lại thay đổi.

Một vài khó khăn trong thủ tục đơn hình đều là hội tụ chậm (do phảitính đến nhiều hơn (n+1) giá trị và so sánh trong một lần tính) và khithực hiên với những hàm mục tiêu lồi hoặc lõm, từ đó dẫn đến một vàiphương pháp cải tiến để xử lí những khó khăn đó Trong phần nàychúng ta sẽ nói đến phương pháp của Nelder và Mead, trong đó đơnhình được thay đổi hình dáng không phải là đơn hình đều nữa, việc đókhông làm phương pháp lâu hơn là giữ nguyên đơn hình đều, do đóchúng ta gọi là phương pháp “khối đa diện linh hoạt” (flexiblepolyhedron)

Phương pháp của Nelder và Mead để tìm giá trị nhỏ nhất của hàmmục tiêu có n biến độc lập sử dụng (n+1) đỉnh của khối đa diện linhhoạt trong không gian En Mỗi đỉnh được xác định bằng một vector x.Đỉnh mà giá trị hàm mục tiêu có giá trị lớn nhất được lấy đối xứng quatrọng tâm của các đỉnh còn lại của khối đa diện Thay đỉnh mà hàm mụctiêu có giá trị lớn nhất đó bằng đỉnh có giá trị nhỏ hơn qua các phépchiếu cho tới khi kích thước của khối đa diện xấp xỉ khụng thỡ tìm thấygiá trị nhỏ nhất

2 Xây dựng thuật toán

Từ những cơ sở lý thuyết như trên ta sẽ đi xây dựng một thuật toán

cụ thể để dễ dàng thực hiện trên máy tính

Kí hiệu: xi(k)=[xi1(k), xi2(k),…, xin(k)]T là đỉnh thứ i của khối đa diện tạibước tính thứ k Thuật toán Nelder và Mead là thực hiện trên khối đadiện (n+1) đỉnh bất kỡ nờn ta phải cho trước toạ độ của (n+1) đỉnh, tức

23

Trang 24

là phải nhập trên máy tính n(n+1) giá trị khởi tạo ban đầu Để thuậntiện và đơn giản ta xây dựng luôn khối đa diện ban đầu là một đơn hìnhđều như đã trình bày ở trên, khi đó ta chỉ phải cho trước một đỉnh, tức làchỉ phải nhập vào máy n giá trị, điều đó đơn giản hơn rất nhiều và bảođảm khối đa diện ban đầu luôn thoả mãn để tính toán không phải kiểmtra.

Thuật toán được trình bày cụ thể như sau:

- Bước 1: Cho trước đỉnh khởi tạo: x0(0) rồi xây dựng khối đa diệnban đầu là một đơn hình đều với kích thước t cho trước như phầntrình bày ma trận D ở trên:

x1(0)= x0(0)

d1=nt2 ( n  1+n-1)

d2=

2 n

Trang 25

)

xn

hj n

Trong đó ( )

2

x k n là trọng tâm được tính theo (3.1), x (k)

h là đỉnh màtại đó hàm mục tiêu đạt giá trị lớn nhất trong (n+1) giá trị ở vòng lặpthứ k

- Bước 4: Kiểm tra nếu f( ( )

3

x k n )f(x (k)

l ):

giãn vector ( ( )

3

x k n - ( )

2

x k n ) theo công thức:

3

x k n - ( )

2

x k n )(3.3)(3.3)

Trong đó γ>1 là hệ số giãn Kiểm tra tiếp:

+ Nếu f( ( )

4

x k n ) < f(x (k)

l ): thay x (k)

h = ( )

4

x k n

+ Ngược lại: thay x (k)

h = ( )

3

x k n

k=k+1 và quay lại bước 2

- Bước 4:

+ Nếu f( ( )

3

x k n ) f(x (k)

g ) và f( ( )

3

x k n )>f(x (k)

+ Nếu f( ( )

3

x k n )>f(x (k)

g ) và f( ( )

3

x k n )f(x (k)

) ( 5

x k n = ( )

2

x k n +β(x (k)

+ k=k+1 và quay lại bước 2

- Bước 5: Nếu f( ( )

3

x k n )>f(x (k)

h ) thì thu nhỏ khối đa diện về đỉnh màtại đó hàm mục tiêu có giỏ trị nhỏ nhất, đó là đỉnh x (k)

l Ở đây ta lấy

hệ số thu nhỏ là 0,5:

25

Trang 26

xi(k)= xl(k)+0,5(xi(k)- xl(k))i=1,2,…,(n+1)(3.5) i=1,2,…,(n+1)

(3.5)k=k+1 và quay lại bước 2

- Bước 6: Kiểm tra điều kiện dừng:

Điều kiện kiểm tra cho thuật toán dừng là:

2 / 1 1

1

2 ) ( 2 )

( ) ( )]

( [ 1

k n

k

i f x x

f

Trong đó ε là sai số của thuật toán.

3 Các hệ sè α, γ, β

Trong các bước trên của thuật toán có 3 hệ số là α, γ, β Trong đó

α là hệ số ánh xạ sử dụng để chiếu đỉnh mà hàm mục tiêu đạt giá trịlớn nhất qua trọng tâm của khối đa diện biến dạng (đã bỏ đi đỉnh đó)

Hệ số giãn γ sử dụng để kéo dài vector xác định hướng tối ưu (gốc làtrọng tâm của khối đa diện dùng để thực hiện phép chiếu và ngọn làđỉnh thu được) nếu như phép ánh xạ thu được một đỉnh mà tại đó hàmmục tiêu có giá trị nhỏ hơn giá trị nhỏ nhất tìm được ngay trước đó Hệ

số co β sử dụng để thu nhá vector xác định hướng tối ưu (gốc là trọngtâm như trên và ngọn là đỉnh dùng để thực hiện phép chiếu) nếu phépchiếu không thu được một đỉnh mà tại đó giá trị của hàm mục tiêu nhỏhơn giá trị lớn nhất thu được ngay trước khi thực hiện phép chiếu Do

đó ý nghĩa của cỏc phộp gión và co là làm cho kích thước và hình dángcủa khối đa diện biến dạng có tỉ lệ phù hợp với tính topo của bài toánđang được giải

Một câu hỏi tự nhiên được đặt ra là nên chon các hệ số trên như thếnào cho phù hợp Một khối đa diện biến dạng có tỷ lệ thích hợp, độ dàinên được giữ nguyên không thay đổi cho đến khi thay đổi trong hìnhhọc topo của bài toán gọi đến một khối đa diện có hình dỏng khỏc Điềunày chỉ thoả mãn khi α=1 Nelder và Mead đã chứng minh được rằng

các giá trị được yêu cầu để giải bài toán với α=1 Ýt hơn với α<1 Hơn

Trang 27

nữa α không nên chọn lớn hơn 1 bởi vỡ có hai lý do, thứ nhất đó làkhối đa diện biến dạng dễ dàng thích nghi với hình học topo của bàitoán hơn nếu chọn α nhá, cụ thể khi nó cần thay đổi hướng tối ưu khi

gặp phải hàm lõm, thứ hai là kích thước của khối đa diện biến dạng phảiđược thu nhỏ về giá trị nhỏ nhất, và một giá trị α lớn sẽ làm cho tốc độhội tụ chậm hơn Do đó ta chọn α=1.

Để xác định được hiệu quả của việc chọn γ và β trong quá trình tối

ưu, Nelder và Mead, và cả Paviani đã giải một vài bài toán kiểm tra có

sử dụng nhiều sự kết hợp các giá trị của γ và β Nelder và Mead đãđưa ra các giá trị α=1, β=0.5, γ=2 và nói chung đều thoả mãn với cácbài toán tối ưu không ràng buộc Kích thước và sự định hướng của khối

đa diện khởi tạo đó cú một vài tác dụng trong số lượng thời gian máytính yêu cầu Nhưng các giá trị thích hợp với α, β, γ lại có tác dụngđáng kể hơn Còn Paviani đã tiến hành kiểm tra và cho rằng không cómột cách giải quyết rõ ràng cho việc chọn β và γ, và hiệu quả của việcchọn β làm cho hiệu quả của việc tối ưu nhỏ hơn nhiều so với việcchọn γ Paviani đã giới thiệu một các chọn vừa phải như sau:

0.4 β 0.6

2.8 γ 3.0

Với 0 < β < 0.4 vòng lặp có thể sớm kết thúc do khối đa diện bị dátmỏng Với β > 0.6 thì quá trình tối ưu đòi hỏi một số lượng lớn cácbước lặp và thời gian để đi tới lời giải cuối cùng của bài toán

4 Sơ đồ thuật toán

Từ các bước phân tích như trên ta xây dựng một sơ đồ giải thuật nhưsau để dễ dàng thực hiện trên máy tính

i (0) ) víi i=1,2, ,(n+1)

T×m x

h , x

g , x

l TÝnh x

Trang 28

IV PHƯƠNG PHÁP TỐI ƯU CỦA ROSENBROCK.

1 Cơ sở lý thuyết

Phương pháp của Rosenbrock là một thủ tục lặp mà sinh ra một vài

sự tương ứng với bước tối ưu thăm dò của Hook và Jeeves (đã trình bàytrong mục II), trong đó những khoảng tối ưu nhỏ được giữ nguyên trongkhi tối ưu trờn cỏc toạ độ trực giao Tuy nhiên, thay vì tiếp tục tối ưu

Trang 29

trờn cỏc toạ độ tương ứng với các hướng của các biến độc lập sau mỗivòng lặp thỡ nú lại tối ưu trờn cỏc trục của toạ độ trực giao, với toàn bộkhoảng tối ưu ở bước trước được dùng để xây dựng các toạ độ tối ưumới Phương pháp của Rosenbrock xác định x(k+1) bằng việc tối ưu thànhcông trên một trục từ điểm cơ sở x(k) theo một tập các trục trực giao s1(k),

s2(k),…, sn(k) được tạo ra từ thủ tục của Gram-Schmidt, do đó các hướngtối ưu hướng theo các trục chính của xấp xỉ bậc hai của hàm mục tiêu.Các trục này là các vector thành phần của ma trận H(x) (là ma trậnGradient cấp hai của hàm mục tiêu) và tạo thành một trường hợp đặcbiệt của các trục liên hợp, phương pháp thực hiện có phần giống vớiphương pháp một trục liên hợp trong sự hội tụ nếu ứng dụng vào mộtxấp xỉ bậc hai của hàm mục tiêu

Phương pháp thực hiện như sau Đặt s1(k), s2(k), …, sn(k) là các vectorđơn vị trong En, ở đây k=0, 1, 2, … là chỉ số bước lặp Các vector trênsinh ra từ những thông tin thu được ở bước (k-1) theo công thức (4.1.1)

và (4.1.2) ở dưới Tại bước khởi tạo k=0, hướng của các vector s1(k), s2(k),

…, sn(k) thường được lấy song song với các trục của x1, x2, …, xn Núichung các hướng trực giao có thể được biểu diễn bằng các sự kết hợpcủa tất cả các toạ độ của các biến độc lập như sau:

) (

2

k n

29

Trang 30

Từ x0(k) thuật toán bắt đầu bằng việc tính λ 1 (k) s1(k) trong trục toạ độđầu tiên của vòng lặp

Nếu f(x0(k)+ λ 1 (k) s1(k)) f(x0(k)) thì bước tối ưu đó được cho là thànhcông và x0(k) được thay bằng x0(k)+ λ 1 (k) s1(k), λ 1 (k) được nhân với một sè

α>0 và tiếp tục với hướng s2(k)

Nếu f(x0(k)+ λ 1 (k) s1(k)) > f(x0(k)) thì bước tối ưu đó được cho là thấtbại và x0(k) được giữ nguyên, λ 1 (k) được nhân với một sè β<0 và tiếptục với hướng s2(k) Rosenbrock đã đặt α=3 và β=-1.5 cho toàn bộchương trình

Sau mỗi lần thực hiện xong n hướng s1(k), s2(k), …, sn(k) thì hướng đầutiên s1(k) lại được thực hiện với độ lớn của bước tối ưu là α λ 1 (k) hoặc β

1

λ (k), nã độc lập với kết quả của bước trước Tiếp tục thực hiện quátrình trên cho đến khi tất cả các hướng đều thất bại thì bước lặp thứ kkết thúc Trong mỗi hướng tại lần thành công cuối cùng ta giữ lấy giá trịcủa hàm mục tiêu tại điểm x(k) và độ dài tối ưu λ i (k) Điểm cuối cùng thuđược trở thành điểm cơ sở cho bước kế tiếp: x0(k+1)=xn(k) Thông thườnghướng s1(k+1) chọn song song với (x0(k+1)-xn(k)) và các hướng còn lại đượcchọn sao cho trực giao với mỗi hướng khác và với s1(k+1) bằng một trongcác phương pháp được trình bày vắn tắt sau đây

Davies, Swann và Campey (DSC) đã biến đổi cách tối ưu củaRosenbrock trong các hướng s1(k), s2(k), …, sn(k) bằng việc xác định giá trịnhỏ nhất của f(x) trong mỗi hướng si(k) Để rõ ràng, đặt xi(k) là điểm màf(xi(k)) là giá trị nhỏ nhất theo hướng si(k) Trong mỗi bước k sẽ có nvector xi(k) và n giá trị tối ưu của hàm mục tiêu f(xi(k)) Từ x0(k) ta xácđịnh λ 1 *(k) theo hướng s1(k) sao cho f(x0(k)+ λ 1 *(k) s1(k)) là một giá trị nhỏnhất, đặt x1(k)= x0(k)+ λ 1 *(k) s1(k) Từ x1(k) xác định λ 2 *(k) sao cho f(x1(k)+2

λ *(k) s2(k)) là giá trị nhỏ nhất, đặt x2(k)= x1(k)+ λ 2 *(k) s2(k)

Một cách tổng quát như sau: từ xi-1(k) xác định λ i *(k) trên hướng si(k)sao cho f(xi-1(k)+ λ i *(k) si(k)) là giá trị nhỏ nhất Quá trình trên được lặpliên tiếp cho tới khi tất cả xi, i=1, 2, …,n đều được xác định Davies,

Trang 31

Swann và Campey đã sử dụng thuật toán tối ưu tuyến tính để xác địnhi

λ *(k) Tuy nhiên ta có thể sử dụng phương pháp tối ưu hàm một biến đãđược trình bày ở chương trước để thay thế

Sau khi bước lặp thứ k hoàn thành thỡ cỏc vector cho hướng mớiphải được tính tại điểm x0(k+1)=xn(k) Kết quả thu được là các hướng tối ưutrực giao sẽ xoay từ các hướng ở ngay bước trước tới vị trí sao chothẳng hàng với một điểm lõm (hoặc lồi) của hàm mục tiêu và bỏ quaquan hệ giữa các biến Đặt Di(k) là tổng đại số của tất cả các hướng tối

ưu thành công (các khoảng cách dich chuyển cuối cùng) theo hướng si(k)trong bước lặp thứ k: Di(k)= λ i *(k) theo phương pháp DSC Ta định nghĩa

n vector A1, A2, …, An như sau:

Do đó A1(k) là vector hướng từ x0(k) tới x0(k+1), A2(k) là vector hướng từ

x1(k) tới x0(k+1) A1(k) biểu diễn toàn bộ dịch chuyển từ bước k tới bước(k+1), A2(k) biểu diễn toàn bộ dịch chuyển nhỏ hơn ở bước k bắt đầu từhướng s1(k), …, An(k) biểu diễn dịch chuyển bắt đầu từ hướng sn-1(k), tức làtổng dịch chuyển trong hướng sn(k)

Trong quá trình biến đổi DSC của phương pháp Rosenbrock, đểtránh bất kì một vector si(k) nào bằng vector không (trường hợp mà đãđược phương pháp Rosenbrock xử lí được) thì vector đó và D(k) cùng chỉ

số dưới sẽ không có trong công thức (4.1.1), nhưng cần phải sắp xếp lạisao cho Dx 1(k) > Dx x 2(k) >… Dx x n(k) Nếu có m sè Dx i(k) nào đó bằngkhông thỡ cỏc hướng mới được tính như sau: chỉ có (n-m) hướng mà

Di(k) 0, giữ lại m hướng không thay đổi:

s(k+1)=si(k) với i=(n-m)+1, , n

31

Trang 32

Do đó trong phương pháp DSC, các vector tương ứng với các số D(k)khác không chính là (n-m) số đầu tiên (n-m) vector đầu tiên là trực giaovới nhau, do Di(k)=0 với i=(n-m)+1, , n, nên (n-m) vector đầu tiên sẽkhông có các thành phần trong các hướng còn lại si(k) với i=(n-m)+1, ,

n Do các (n-m) hướng sau cùng trực giao với nhau nên tất cả các hướng

là trực giao với nhau

Trên máy tính, thay cho việc kiểm tra Di(k)=0 thì ta kiểm tra Dx i(k)x<

ε với ε là độ chính xác của x hoặc f(x) Sù thay đổi này ảnh hưởng tới

tính trực giao của các vector si(k) rất nhỏ

Trong cả hai phương pháp thỡ cỏc hướng mới xác định như sau:vector đơn vị đầu tiên s1(k+1) của tập các hướng mới tại bước (k+1) thẳnghàng với A1(k) Các hướng còn lại được dựng lên thành các vector đơn vịtrực giao với nhau và với A1(k) bằng phương pháp Gram-Schmidt Do đótập các hướng trực giao với nhau s1(k+1), s2(k+1), …, sn(k+1) tại bước thứ(k+1) được tính theo các quan hệ như sau:

) 1 (

1

1

) ( 1

A

A

k k

2

2

) ( 2

B

B

k k

s k

n = ( )

) (

B

B

k n

k n

Trong đó Ai là độ dài của vector Ai Thủ tục thực hiện tương tựbước k bõy giờ lặp lại cho bước (k+1), bắt đầu từ điểm x0(k+1)=xn(k)

Trang 33

Palmer đã chỉ ra rằng Bj 1 và Bj 1 là hai số hạng của tỉ lệ thức

j và thường tiết kiệm được một số lượng lớn các thaotác toán học và không gian nhí:

) (

i =

n i j

k j

k j

) ( ) ( s

) 1 (

s k

i =

) ( 2 ) ( 1 )

( ) ( 1

2 ) ( ) ( 1 2

) ( 1 ) (

A A

A A

A A A

A

k i k

i k i k i

k i k i k

i k i

1

1

) ( 1

i =0

Phương pháp của Rosenbrock ban đầu không tự động kết thúc khitìm thấy f(x) bằng vô cùng Hoặc quá trình tối ưu thực hiện với một sốbước lặp k cho trước, hoặc ngược lại nó sẽ kết thúc mỗi khi số lượng Dinhá hơn một giá trị cho trước trong một vài bước lặp thành công Còntrong phiên bản của DSC sau mỗi bước, khoảng cách Di(k) được so sánhvới bước tối ưu δ (k)

i để thu được Di(k) trong tối ưu tuyến tính Nếu Di(k)<)

2 Tóm tắt phương pháp

Từ những phân tích cụ thể như trên ta có thể tóm tắt các bước thựchiện lần lượt của phương pháp Rosenbrock tại bước lặp thứ k như sau:

33

Trang 34

Bước 1: Chọn một tập các độ dài tối ưu λ 1, λ 2, …, λ n và một tậpcác hướng s1(k), s2(k), …, sn(k) Tại bước đầu tiên k=0 thì ta nên chọn cáchướng trên song song với trục của các biến độc lập.

Bước 2: Thực hiện việc tối ưu lần lượt theo từng hướng độc lập Một

điểm mới được chấp nhận nếu một dịch chuyển là thành công (giá trịcủa hàm mục tiêu nhỏ hơn giá trị của nó tại điểm cơ sở), còn ngược lại

là thất bại thì giữ nguyên điểm cơ sở Nếu một dịch chuyển thành côngthì độ dài tối ưu được nhân với một sè α>1, còn thất bại thỡ nhõn với

một sè β<0 và β>-1

Bước 3: Quá trình trên được thực hiện cho tới khi tất cả các hướng

đều thành công Trong mỗi bước lặp ở trên ta đều phải tính Di(k) là tổngcác dịch chuyển thành công λ i theo hướng si(k)

Tiếp theo ta tính một tập các hướng mới theo các công thức (4.1.1)

và (4.1.2)

3 Sơ đồ giải thuật

Sau cùng ta đi xây dựng một sơ đồ giải thuật cho phương phápRosenbrock như trang sau

i

(k) =-0.5

i (k)

Trang 35

V PHƯƠNG PHÁP TỐI ƯU CỦA POWELL

Trang 36

liên hợp (p<n) tại một bước lặp, đồng thời tìm được một bước tối ưutrong mỗi hướng thì tất cả các bước tối ưu từ hướng bắt đầu tới hướngthứ p liên hợp với p hướng còn lại.

Phép biến đổi từ điểm x0(k) tới điểm xm(k) như sau:

xm(k)= x0(k)+

1 1

) ( ) ( s λ

m i

k i

k

Ta đi tìm hiểu cụ thể cách thực hiện thủ tục biến đổi trên Tại mộtvector x0(0) trong En xây dựng các hướng khởi tạo s1(0), s2(0),…, sn(0) songsong với các trục toạ độ của En Bước đầu tiên được thực hiện tronghướng sn(0); f(x0(0)+λsn(0)) được tối ưu bằng phương pháp tối ưu mộttham số (chú ý λ ở đây là λ 0(0)) Sau đó x1(0)=x0(0)+ λ 0(0)sn(0) Tiếp theothực hiện lần lượt với n hướng si(0) (i=1,2,…,n), f(xi(0)+λsi(0)) được tối

ưu để tìm được λ i(0) và biểu thức (5.1.1) được ứng dụng để tính toánthành công các giá trị mới của xi(0)

2 Các bước của thuật toán

Từ cách biến đổi như trên ta trình bày cụ thể tại bước thứ k củaphương pháp Powell thực hiện tối ưu n hướng độc lập tuyến tính vớiđiểm khởi tạo là x0(k)=xn+1(k-1)

Bước 1: Từ x0(k) xác định λ 1(k) bằng tối ưu một tham sè sao cho f(x0(k)+λ 1s1(k)) là một giá trị tối ưu và đặt x1(k)=x0(k)+ λ 1(k)s1(k) Từ x1(k) xác định

λ 2(k) sao cho f(x1(k)+λ 2s2(k)) là một giá trị tối ưu và đặt x2(k)=x1(k)+ λ

2(k)s2(k)…, thực hiện liên tiếp như vật cho tới khi tất cả λ i(k) (i=1,2,…,n)được xác định

Bước 2: Tìm một điểm xm(k) cô thể mà tại đó giá trị của hàm mục tiêuthay đổi lớn nhất, gọi khoảng thay đổi đó là (k) thì ta có:

(k)=max{ f(xx i(k))- f(xi-1(k)) } với i=1,2,…,nx

và (k)= f(xx m(k))- f(xm-1(k))x

Xác định vector μ=xn(k)-x0(0)

Bước 3: Xác định f(2xn(k)-x0(k))=ft(k)

Trang 37

Đặt: f0(k)= f(x0(k)), fn(k)= f(xn(k)).

Bước 4: Nếu: ft(k)  f0(k) hoặc

(f0(k)-2 fn(k)+ ft(k)) (f0(k)- fn(k) -(k)) 0.5(k)( f0(k)- ft(k))2thì μ không phải là một hướng tốt, ta thực hiện bước tối ưu tiếptheo:

x0(k+1)=xn(k)

si(k+1)=si(k) với i=1,2,…,n

Quay lại lặp từ bước 1

Ngược lại cả hai bất đẳng thức trên đều không thoả món thỡ μ làhướng tốt để tính:

Thực hiện tối ưu theo hướng μ tìm được giá trị tối ưu tại

x0(k+1), là điểm cơ sở để thực hiện bước tối ưu tiếp theo

Thay: si(k+1)=si(k) với i=1,2,…,m-1

si(k+1)=si+1(k) với i=m,…,n-1 và sn(k+1)= μLặp lại từ bước 1

Bước 5: Tiêu chuẩn hội tụ của phương pháp Powell là thoả mãn điều

0 )

37

Trang 38

Zangwill đó chỉ ra rằng thủ tục của Powell sẽ hội tụ tới một điểm màtại đú gradient của f(x) bằng khụng nếu f(x) là hàm hoàn toàn lồi, đú làđiểm mà hàm mục tiờu dần tới vụ cựng.

3 Sơ đồ giải thuật

Từ cỏc bước thực hiện như trờn ta cú sơ đồ giải thuật như hỡnh vẽdưới

Xác định bằng cách tối u một

Tìm min của f() theo h ớng =- thu đ

Trang 39

39

Trang 40

khả năng này rất hay xảy ra với các phương pháp tìm trực tiếp ở chươngtrước Ràng buộc thứ hai là trong ứng dụng cụ thể Các loại ràng buộcnày xuất hiện khi giải một bài toán cụ thể, nó có thể là tập xác định củahàm mục tiêu, có thể là mối quan hệ giữa các biến trạng thái.

Trong chương này tôi sẽ giới thiệu hai phương pháp chính để giải bàitoán tối ưu các hàm mục tiêu có ràng buộc, đó là phương pháp dùnghàm phạt (penalty function) và phương pháp sai lệch linh hoạt (flexibletolerance) Trong đó phương pháp thứ nhất đơn giản nhưng không triệt

để do không xử lý được ràng buộc loại 1 là tập xác định của hàm mụctiêu, tức là khi gặp loại ràng buộc này thỡ nú chỉ xử lý trong các ràngbuộc chứ không xử lý trong hàm mục tiêu chớnh, cũn phương pháp thứhai thì tổng quát hơn, nó thực hiện đối với mọi bài toán tối ưu với cácràng buộc bất kì

II PHƯƠNG PHÁP HÀM PHẠT (PANELTY FUNCTION)

1 Cơ sở lý thuyết

Ý tưởng cơ bản của phương pháp là đưa bài toán tối ưu bị ràng buộc

về bài toán tối ưu không bị ràng buộc bằng cách tổ hợp các ràng buộcvới hàm mục tiêu tạo thành một hàm mục tiêu duy nhất gọi là hàm phạt

Từ bài toán tối ưu tổng quát:

Tối ưu hàm mục tiêu: f(x) với xEn

Các ràng buộc: hi(x)=0 với i=1,2,…,m

gi(x) 0 với i=m+1,…,pThì chuyển thành hàm phạt như sau:

Tối ưu hàm mục tiêu:

P(x(k),ρ (k))=f(x(k))+

m i

k i

k i

1

) ( )

k i

k i

1

) ( )

( G ( g ( x )) ρ

Trong đó ρ (k) được gọi là trọng sè, H ( h ( x( k) ))

i và G ( g ( x( k) ))

hàm số của các ràng buộc tương ứng, k là chỉ số của các bước lặp đãthực hiện thành công

Ngày đăng: 18/05/2015, 14:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Gordon S. G. Beveridge and Robert S. Schechter: Optimization: Theory and Practice. Mc. Graw-Hill Book Company, New York, 1970 Khác
2. David M. Himmelblau: Applied nonlinear Programming. Mc. Graw-Hill Book Company, New York, 1973 Khác
3. Pierre Brousse: Optimization in Mechanics: Problems and Methods. North-Holland, New York, 1988 Khác
4. Nguyễn Nhật Lệ: Tối ưu hoá ứng dụng. Nhà xuất bản Khoa học và Kĩ thuật, Hà Nội, 2001 Khác
5. Đinh Văn Phong: Solution of Discrete Oscillating System on personal computer. Tạp chí Cơ Học, Số 2, Trang 37 – 41, Hà Nội, 1993 Khác
6. Nguyễn Văn Khang: Dao động đàn hồi. Nhà xuất bản Khoa học và Kĩ thuật, Hà Nội, 1998 Khác
7. Phạm Cụng Ngụ: Tù học lập trình Visual C++ 6.0. Nhà xuất bản Thống kê, Hà Nội, 2002 Khác
8. Scott Robert Ladd: C++ Kĩ thuật và ứng dụng. Công ty Cổ Phần tư vấn và dịch cụ KHKT-SCITEC, Hồ Chí Minh, 1998 Khác

HÌNH ẢNH LIÊN QUAN

Hình II-1. Hệ dao động n bậc tự do - đồ án kỹ thuật điện cơ  giới thiệu sơ qua các khái niệm về tối ưu và bài toán cơ học đặt ra
nh II-1. Hệ dao động n bậc tự do (Trang 3)
Hình II-2 - đồ án kỹ thuật điện cơ  giới thiệu sơ qua các khái niệm về tối ưu và bài toán cơ học đặt ra
nh II-2 (Trang 4)
Hình III-1. Hai bước liên tiếp của phương pháp Fibonacci - đồ án kỹ thuật điện cơ  giới thiệu sơ qua các khái niệm về tối ưu và bài toán cơ học đặt ra
nh III-1. Hai bước liên tiếp của phương pháp Fibonacci (Trang 10)
Hình V-1. Giao diện chương trình - đồ án kỹ thuật điện cơ  giới thiệu sơ qua các khái niệm về tối ưu và bài toán cơ học đặt ra
nh V-1. Giao diện chương trình (Trang 59)
Hình II-1 - đồ án kỹ thuật điện cơ  giới thiệu sơ qua các khái niệm về tối ưu và bài toán cơ học đặt ra
nh II-1 (Trang 62)
Hình II-2 - đồ án kỹ thuật điện cơ  giới thiệu sơ qua các khái niệm về tối ưu và bài toán cơ học đặt ra
nh II-2 (Trang 71)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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