tối ưu hoá hàm nhiều biến không có ràng buộc

110 1.4K 0
tối ưu hoá hàm nhiều biến không có ràng buộc

Đ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

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ính thì việc ứng dụng nó vào các ngành khoa học khác cũng đạt được những hiệ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àng triển khai chúng vào một modul riêng biệt trong quá trình giải trọn vẹn mộ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ắn và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áp tố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ụng chú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ương pháp tối ưu trực tiếp không có sử dụng đạo hàm, còn những phương pháp có sử dụng đạo hàm không được nói đến do việc gắn nó vào các modul khác mà tính đến đạo hàm thì chương trình rất khó thực hiện do hàm mục tiêu được xác định trong quá trình tính toán từ các modul khác nê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ới thiệ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 Đinh Vă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 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ọc nê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 ∈ E n sao cho thoả mãn các ràng buộc: h i (x)=0 với i=1,2,…,m g i (x) ≥ 0 với i=m+1,…,p 2 Hàm f(x) ở đây được gọi là hàm mục tiêu, x ∈ E n 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à phi tuyế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ụng cá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ố (Xem [5]). Hình II-1. Hệ dao động n bậc tự do Với hệ cho trên hình II-1, bài toán đặt ra là tìm các giá trị m i , c i , b i sao cho hàm: F= ∑ = − n 1i 2 ibii )λλ(ω → min Trong đó: i ω là trọng số. ib λ là giá trị của các trị riêng mong muốn i λ là giá trị các trị riêng của cơ hệ 3 Đây là bài toán tối ưu bằng phương pháp số, các biến đầu vào là m i , c i , b i , 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ừ m i , c i , b i bằng một modul tính toán khác. 2. Bài toán 2: Tối ưu biên độ Hình II-2 Với mô hình cơ học như trên thì bài toán đặt ra là xác định các khối lượng m i , độ cứng c i , giảm chấn b 2 sao cho biên độ dao động của vật 1 và 2 là nhỏ nhất. Nếu ta đưa vào các kí hiệu: x 0 = 1 0 c F : di chuyển tĩnh của m 1 dưới tác dụng của lực F 0 . (0) 1 ω = 1 1 m c : tần số riêng của hệ (m 1 , c 1 ) (0) 2 ω = 2 2 m c : tần số riêng của hệ (m 2 , c 2 ) η = (0) 1 ω Ω : tần số kích động μ = 1 2 m m ; ξ = (0) 1 (0) 2 ω ω ; 4 D= (0) 12 ω2m b Thì giải hệ trên ta được các hàm khuếch đại như sau: V 1 = 0 1 x x = 22222222222 22222 )μηη(1η4D]ημξ)η)(ξη[(1 η4D)η(ξ −−+−−− +− (2.2.7) V 2 = 0 2 x x = 22222222222 222 )μηη(1η4D]ημξ)η)(ξη[(1 η4Dξ −−+−−− + (2.2.7) Biên độ dao động của vật 1 và 2 bây giờ là V 1 và V 2 tương ứng. Có 2 bài toán tối ưu biên độ đặt ra như sau: Bài toán 2.1: Tìm: f(x) = V 1 (D, ξ , η ) → min Thoả mãn các ràng buộc: ≤ − η)ξ,(D,V η)ξ,(D,Vη)ξ,(D,V 1 12 Q max D min ≤ D ≤ D max ξ min ≤ ξ ≤ ξ max Bài toán 2.2: (Bài toán minimax) Tìm: f(x) = ba max ≤≤ η [V 1 (D, ξ , η )] → min Thoả mãn các ràng buộc: ba max ≤≤ η ≤ − η)ξ,(D,V η)ξ,(D,Vη)ξ,(D,V 1 12 Q max D min ≤ D ≤ D max ξ min ≤ ξ ≤ ξ max Để 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. 5 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: V 1 (D, ξ , η i ) ≤ d i=1 m ba max ≤≤ η ≤ − )ηξ,(D,V )ηξ,(D,V)ηξ,(D,V i1 i1i2 Q max i=1 m D min ≤ D ≤ D max ξ min ≤ ξ ≤ ξ max Như vậy là có 2m+4 ràng buộc bất đẳng thức. 6 Chương II. Tối ưu hoá hàm một biến I. Giới thiệu Phần này ta chỉ xét hàm mục tiêu chỉ có một biến: y=f(x) với x ∈ R n Việc tìm lời giải tối ưu cho hàm một biến có thể rất ít được ứng dụng trực tiếp trong các bài toán thường gặp trong thực tế, nhưng ở đây tôi trình bày để được áp dụng vào các phần sau của đồ án. Trong các bài toán tối ưu hàm nhiều biến, có những phương pháp phải sử dụng thuật toán tối ưu lần lượt theo từng phương, khi đó ta sẽ phải sử dụng đến thuậ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ôi chỉ trình bày chủ yếu vào phương pháp tìm kiếm không sử dụng đạo hàm, tức là tìm trực tiếp, và thuật toán được trình bày cụ thể để sử dụng trong đồ án này là thuật toán Fibonacci và còn được phát triển thành phươ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ời giả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 7 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 x 1 > x 0 và f(x 1 ) > f(x 0 ) thì ta có thể kết luận giá trị max không nằm trong miền x < x 0 . Ta sẽ luôn luôn có kết quả giá trị tối ưu nằm trong hai khoảng, ở đây đó là [x 0 ; x 1 ] và (x 1 ;+ ∞ ). Gọi x 0 là điểm xuất phát để tìm kiếm, s là giá trị độ dài khởi tạo. Đặt: x 1 =x 0 +s và tính f(x 1 ), f(x 0 ). Có 3 trường hợp sau: - Nếu f(x 1 ) = f(x 0 ) thì max nằm trong khoảng x 0 < x < x 1 . - Nếu f(x 1 ) > f(x 0 ) thì max nằm trong khoảng x>x 0 , ta phải tìm theo trụ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: x 0 ; x 1 =x 0 +s; x 2 =x 1 +2s; …; x k =x k-1 +2 k- 1 s, ở đây x k là điểm đầu tiên trong dãy trên làm cho hàm mục tiêu giảm: f(x 0 )< f(x 1 ) <f(x 2 )<…< f(x k-1 ) và f(x k-1 ) ≥ f(x k ) d/2=x k-1 -x k-2 =2 k-2 s (2.1.1) Do đó giá trị max của hàm mục tiêu sẽ nằm trong khoảng (x k-2 ;x k ) và độ dài khoảng này là: x k -x k-2 = x k-1 +2 k-1 s- x k-2 =x k-2 +2 k-2 s+2 k-1 s- x k-2 =3.2 k-2 s=3d/2. (2.1.2) - Nếu f(x 1 ) < f(x 0 ), ta loại khoảng x>x 1 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 thay s=-s và giá trị max của hàm mục tiêu sẽ nằm trong khoảng (x k ;x k-2 ). Đến đây đã xác định được khoảng tối ưu, việc tìm giá trị tối ưu cho hà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ảng cách dịch chuyển trong quá trình tìm kiếm giá trị max của hàm mục tiêu 8 đến bước thứ k-1 là tổng của ∑ − = 1 0 s2 k i i , đến bước k hàm mục tiêu sẽ giảm. Ta có: x * -x 0 < x k -x 0 = ∑ − = 1 0 s2 k i i =(2 k -1)s (2.2.1) hay: k > 2ln ]/)(1ln[ 0 * sxx −+ (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ừ x 0 . Đặt N=k+1 lần tính để định nghĩa một miề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.2 k-2 s 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 Từ 3 điểm (x k-2 , x k-1 , x k ) đã tính được với 3 giá trị của hàm mục tiêu tươ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-x k-2 )+ 11 β (x-x k-2 ) (x-x k-1 ) (2.3.1) Với: 0 β = f(x k-2 ) (2.3.2) 1 β = 2-k1-k 2-k1-k x-x )f(x-)f(x (2.3.3) 11 β = 1-kk 2-k1-k 2-k1-k 2-kk 2-kk x-x x-x )f(x-)f(x x-x )f(x-)f(x − (2.3.4) 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àm bậ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 * =(x k-2 +x k-1 - 1 β / 11 β )/2 III. tối ưu với hàm mục tiêu có giới hạn 9 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áp Fibonacci. 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 L j . Hai điểm dùng để thử có thể được thêm vào là C và D như hình vẽ dưới với các độ dài tương ứng: l j =AC và l j ’ =DB. AA C D E B l j L j l j '=l j l j+1 L j+1 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 L j -l j , hoặc đoạn AD có độ dài L j -l j ’, do đó để thu được những đoạn bằng nhau ta nên đặt l j =l j ’. Bước tiếp theo là ta thay đoạn AB bằng đoạn CB hoặc AD bằng cách loạ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=l j+1 Nếu ta đặt: j σ = j j L l (3.1.1) 10 [...]... Chương III Tối ưu hoá hàm Nhiều biến không có ràng buộc I Giới thiệu Hàm mục tiêu nhiều biến là hàm mà biến trạng thái x ∈ Rn với n>1 Phương pháp Fibonacci cho hàm một 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ài toán tối ưu: đó là phương pháp có sử dụng đạo hàm và phương... hướng tố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ết luậ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. .. 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... đạo hàm hay 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ật toá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ất khó khăn 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ư... dụng đạo hà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àng buộ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ương 17 sau, nhưng về cơ bản vẫn phải sử dụng đến các phương pháp sẽ trình bà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ực hiện như sau: tại một thời điểm chỉ thay đổi một biến trong... của hàm mục tiêu cũ được thay bằ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 theo mẫ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ực 20 hiện) ta định nghĩa một vector trong không. .. cho lời giải bài toán tối ưu: đó là phương pháp có sử dụng đạo hàm và phương pháp khô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òn phươ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ùy theo từng phương pháp tìm kiếm Tuy... 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áy tí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 β và giải quyết rõ ràng cho việc chọn Bắt γ , và hiệu quả của việc chọn β đầu làm cho hiệu quả của việc tối ưu nhỏ hơn nhiều. .. là lỗi khi giá trị các biến dầ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 thay thế đó 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ại không yêu cầu hàm mục tiêu phải liên... đổ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ện việc kiểm tra như trên thì thực hiện kiểm tra theo cách khác là xác định xem hàm mục tiêu tăng (thất bại) hay giảm (thành công) 21 - Bước kiểm tra thứ hai bảo đảm rằng giá trị của hàm mục tiêu luôn tốt hơn (trong trường hợp tối ưu này . lục. 15 Chương III. Tối ưu hoá hàm Nhiều biến không có ràng buộc I. Giới thiệu Hàm mục tiêu nhiều biến là hàm mà biến trạng thái x ∈ R n với n>1. Phương pháp Fibonacci cho hàm một biến không thể áp. 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ời giả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, . đẳng thức. 6 Chương II. Tối ưu hoá hàm một biến I. Giới thiệu Phần này ta chỉ xét hàm mục tiêu chỉ có một biến: y=f(x) với x ∈ R n Việc tìm lời giải tối ưu cho hàm một biến có thể rất ít được ứng

Ngày đăng: 22/11/2014, 08:41

Mục lục

  • Lời mở đầu

    • Tối ưu hoá hàm Nhiều biến không có ràng buộc

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

      • + Nếu f()>f() và f()f():

        • Thực hiện co vector (-) theo công thức:

        • Tối ưu hoá hàm Nhiều biến có ràng buộc

          • Với các giá trị khởi tạo ban đầu là

          • Kết luận

          • Phụ lục

          • Tài liệu tham khảo

            • 2. David M. Himmelblau: Applied nonlinear Programming. Mc. Graw-Hill Book Company, New york, 1973

            • 3. Pierre Brousse: Optimization in Mechanics: Problems and Methods. North-Holland, New York, 1988

            • 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

            • 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.

            • 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.

            • Mục lục

              • Chương I.

              • Bài toán tối ưu trong cơ học

              • I. Giới thiệu 7

              • III. Một số bài toán cơ học

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

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

Tài liệu liên quan