Lời mở đầu Ngày với phát triển không ngừng khoa học máy tính việc ứng dụng vào ngành khoa học khác đạt đợc hiệu to lớn Một ứng dụng cụ thể máy tính vào học tối u hoá hệ học Với modul tối u có sẵn máy ta dễ dàng triển khai chúng vào modul riêng biệt trình giải trọn vẹn hệ học Mục đích đồ án xây dựng modul tối u để gắn vào chơng trình hoàn chỉnh giải hệ học Do phạm vi để sử dụng nh nên đồ án trình bày phơng pháp tối u mà dễ dàng ứng dụng để đạt đợc mục đích trên, nhiều phơng pháp nhanh xác nhng việc áp dụng chúng vào dạng toán nh trở nên phức tạp Những phơng pháp tối u đợc trình bày sau phơng pháp tối u trực tiếp sử dụng đạo hàm, phơng pháp có sử dụng đạo hàm không đợc nói đến việc gắn vào modul khác mà tính đến đạo hàm chơng trình khó thực hàm mục tiêu đợc xác định trình tính toán từ modul khác nên khó xác định đợc đạo hàm chúng ràng buộc Chơng I giới thiệu sơ qua khái niệm tối u toán học đặt Chơng II, III, IV trình bày cụ thể phơng pháp tối u Chơng V sử dụng modul xây dựng từ phơng pháp đà giới thiệu để giải vài toán cụ thể Tôi xin chân thành cảm ơn hớng dẫn tận tình thầy giáo Đinh Văn Phong, cảm ơn giúp đỡ tham khảo thầy Nguyễn Nhật Lệ thầy Phan Mạnh Dần Chơng I toán tối u học I Bài toán tối u tổng quát Phát biểu toán Tìm trạng thái tối u hệ thống bị ràng buộc cho đạt đợc mục tiêu mong muốn chất lợng theo nghĩa đó. Các yếu tố toán tối u hoá: - Trạng thái: mô tả trạng thái hệ thống cần tối u hoá - Mục tiêu: đặc trng cho tiêu chuẩn hiệu 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ể điều kiện kỹ thuật mà hệ thống phải thoả mÃn Phân loại toán tối u Có loạ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 phạm vi ứng dụng toán học nên ta xét đến toán tối u phi tuyến Một toán tối u phi tuyến đợc phát biểu nh sau: Tìm giá trị nhỏ (hoặc lớn nhất) hàm: f(x) với x En cho thoả mÃn ràng buộc: hi(x)=0 với i=1,2,,m,m gi(x) với i=m+1,,m,p Hàm f(x) đợc gọi hàm mục tiêu, x En biến trạng thái Nếu x E ta nói f(x) hàm biến (n=1), với n>1 f(x) hàm nhiều biến Trong hàm phải cã Ýt nhÊt mét hµm lµ phi tuyÕn II Mét số Bài toán học Bây ta xét số ví dụ dùng để minh hoạ cho việc sử dụng modul tối u Với hệ học đặt toán tối u, ta xem xét cụ thể vào chơng V đồ án Bài toán 1: Tối u tần số (Xem [5]) Hình II-1 Hệ dao động n bậc tự Với hệ cho hình II-1, toán đặt tìm giá trị m i, ci, bi cho hµm: n ∑ ωi ( λ i−λ ib )2 F= i =1 Trong ®ã: → i trọng số ib giá trị trị riêng mong muốn i giá trị trị riêng hệ Đây toán tối u phơng pháp số, biến đầu vào mi, ci, bi, hàm mục tiêu hàm trị riêng, trị riêng ®ỵc tÝnh tõ mi, ci, bi b»ng mét modul tÝnh toán khác Bài toán 2: Tối u biên độ Hình II-2 Với mô hình học nh toán đặt xác định khối lợng mi, độ cứng ci, giảm chấn b2 cho biên ®é dao ®éng cđa vËt vµ lµ nhá Nếu ta đa vào kí hiệu: F0 x0= c1 : di chun tÜnh cđa m1 díi t¸c dơng cđa lùc F0 ω(10) √ √ = ω(20) = c1 m : tần số riêng hệ (m , c ) 1 c2 m2 : tÇn sè riªng cđa hƯ (m , c ) 2 Ω (0 ) = : tần số kích động m2 μ = m1 ; (0 ) ω2 ξ = ) ω(0 ; b ( 0) D= 2m Thì giải hệ ta đợc hàm khuếch đại nh sau: x1 V1= x = (2.2.7) x2 ( ξ2 −η )2 + 4D η2 [ (1−η2 )(ξ 2−η2 )−μξ2 η2 ]2 + 4D2 η2 (1−η2−μη2 )2 ξ + 4D2 η [(1−η2 )(ξ 2−η2 )−μξ2 η2 ]2 + 4D2 η2 (1−η2−μη2 )2 V2= x = (2.2.7) Biên độ dao động vật V1 V2 tơng ứng Có toán tối u biên độ đặt nh sau: Bài toán 2.1: Tìm: f(x) = V1(D, , ) Thoả mÃn ràng buéc: | → V (D,ξ,ηξ,ξ,ηη )−V ( D,ξ,ηξ,ξ,ηη ) |≤ V (D,ξ,ηξ,ξ,ηη ) Qmax Dmin ¿ D ¿ Dmax ξ ¿ ξ ¿ ξ max Bài toán 2.2: (Bài toán minimax) max Tìm: f(x) = [V1(D, , )] Thoả mÃn ràng buéc: a≤η≤b max | a≤η≤b → V (D,ξ,ηξ,ξ,ηη )−V ( D,ξ,ηξ,ξ,ηη ) |≤ V (D,ξ,ηξ,ξ,ηη ) Qmax Dmin ¿ D ¿ Dmax ξ ¿ ξ max Để sử dụng đợc modul tối u ta phải tiến hành gián đoạn hoá tần số kích động Giới hạn hàm mục tiêu đoạn a b đợc coi biến thiết kế giả tạo kí hiệu d kí hiệu d Gọi giá trị điểm gián đoạn [a,b] i=1 m Khi toán dẫn về: i với Tìm: f(x) = d Thoả mÃn ràng buộc: V1(D, , i) d i=1 m max | a≤η≤b V (D,ξ,ηξ,ξ,ηηi )−V (D,ξ,ηξ,ξ,ηηi ) |≤ V (D,ξ,ηξ,ξ,ηηi ) Qmax i=1 m Dmin ¿ D ¿ Dmax ξ ¿ ξ ¿ ξ max Nh vËy lµ cã 2m+4 rµng buéc bÊt đẳng thức Chơng II Tối u hoá hàm biến I Giới thiệu Phần ta xét hàm mơc tiªu chØ cã mét biÕn: y=f(x) víi x ¿ Rn Việc tìm lời giải tối u cho hàm biến đợc ứng dụng trực tiếp toán thờng gặp thực tế, nhng trình bày để đợc áp dụng vào phần sau đồ án Trong toán tối u hàm nhiều biến, có phơng pháp phải sử dụng thuật toán tối u lần lợt theo phơng, ta phải sử dụng đến thuật toán tối u hoá hàm biến Do phạm vi ứng dụng toán nh nên phần 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 tìm trực tiếp, thuật toán đợc trình bày cụ thể để sử dụng đồ án thuật toán Fibonacci đợ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 giới hạn Là hàm mục tiêu mà giới hạn cho biến x Để tìm đợc lời giải tối u cho hàm ta phải xác định khoảng mà chứa giá trị tối u, chuyển thành 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 đó, hai giá trị hàm mục tiêu đợc dùng để loại trừ miền không chứa giá trị tối u Theo đó, ta tìm max: với x1 > x0 f(x1) > f(x0) ta kết luận giá trị max không nằm miền x < x Ta luôn có kết giá trị tối u nằm hai khoảng, ®ã lµ [x0 ; x1] vµ (x1 ;+ ∞ ) Gọi x0 điểm xuất phát để tìm kiếm, s giá trị độ dài khởi tạo Đặt: x1=x0+s tÝnh f(x1), f(x0) Cã trêng hỵp sau: - NÕu f(x1) = f(x0) max nằm khoảng x0 < x < x1 - NÕu f(x1) > f(x0) th× max nằm 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 Swann yêu cầu tính giá trị hàm mục tiêu dÃy điểm: x0; x1=x0+s; x2=x1+2s; ,m; xk=xk-1+2k-1s, xk điểm dÃy làm cho hàm mục tiêu giảm: f(x0)< f(x1) ln (2.2.2) víi k lµ sè bớc dịch chuyển, nhng có k+1 giá trị hàm mục tiêu đợc tính x Đặt N=k+1 lần tính để định nghĩa miền cuối độ 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ới k tính theo (2.2.2) c ớc lợng gần giá trị tối u Từ điểm (xk-2, xk-1, xk) đà tính đợc với giá trị hàm mục tiêu tơng ứng, hàm f(x) đợc tính xÊp xØ thµnh hµm bËc nh sau: f(x)= β0 + (2.3.1) Víi: β0 β1 (x-xk-2)+ β11 (x-xk-2) (x-xk-1) = f(xk-2) (2.3.2) f ( x k-1 )-f ( x k-2 ) β1 = x k-1 -xk-2 (2.3.3) β11 f ( x k ) -f ( x k-2 ) f (x k-1 )-f( x k-2 ) − x k -x k-2 x k-1 -x k-2 x k -x k-1 = (2.3.4) Do toán tối u trở thành toán tìm cực trị hàm bậc hai biến Ta cần giải phơng trình f(x)=0, kết cho nh sau: x*=(xk-2+xk-1III β1 / β11 )/2 tèi u với hàm mục tiêu có giới hạn Trong phần ta 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 phơng pháp Fibonacci Phơng pháp Fibonacci a Cơ sở tìm kiếm dÃy số Fibonacci Để dễ dàng, ta xét miền đợc giới hạn đoạn AB có ®é dµi L j Hai ®iĨm dïng ®Ĩ thư cã thể đợc thêm vào C D nh hình vẽ dới với độ dài tơng ứng: lj=AC lj’=DB Lj lj'=lj lj A D E C l j+1 B Lj+1 Hình III-1 Hai bớc liên tiếp phơng pháp Fibonacci Điểm tối u nằm đoạn CB có độ dài L j-lj, đoạn AD có độ dài Lj-lj, để thu đợc đoạn ta nên đặt l j=lj Bớc ta thay đoạn AB đoạn CB AD cách loại trừ hai đoạn Giả sử ta thu đợc đoạn CB có chứa điểm D, ta việc thêm vào điểm E quan hệ độ dài là: CD=EB=lj+1 lj Nếu ta đặt: j = Lj (3.1.1) l j+1 vòng thø j+1 ta cã: σ j+1 = L j+1 σ j+1 L hay: L (1- σ j+1 )=l j+1 j+1 j σ σ σ Thay: Lj+1=Lj-lj=Lj- j Lj=Lj(1- j ) vµ lj= j Lj σ σ σ Ta cã: L (1- j )(1- j+1 )= j L Do ®ã: CD=Lj+1-lj=lj+1= j j 1−σ j+1 σ j = 2−σ j+1 (3.1.2) βj σ β γ NÕu ta viÕt: j = j với j j hai số nguyên biểu Rút ra: thức (3.1.2) trở thành: j j+1 -β j+1 γ j = 2γ j+1−β j+1 (3.1.3) Điều đợc thoả mÃn khi: j = j+1 - β j+1 γ j =2 γ j+1 - j+1 Khử j j+1 hai biểu thức ta thu đợc: j = j+1 + β j+2 (3.1.4a) β N −1 = β N −2 =1 (3.1.4b) B©y giê ta h·y chó ý tới dÃy số nguyên Fibonacci: F0=F1=1 (3.1.5a) Và với n>1: Fn=Fn-1+Fn-2 (3.1.5b) Ta thấy số dÃy tỉng cđa hai sè tríc nã β j =F N-(j+1) th×: γ j = β j + β j−1 = F N-(j+1)+FN-j=FN-(j-1) NÕu ta viÕt: F N −( j+1) σ F Do đó: j = N( j1) với j=1,2,,m,N-1 Đến ta đà có tất thành phần cần thiết cho phơng pháp tìm kiếm Fibonacci b Phơng pháp tìm kiếm Fibonacci Trong phơng pháp này, đoạn ta phải tính giá trị (bớc 1) để chia đoạn thành đoạn, sau chọn đoạn ®Ĩ thùc hiƯn viƯc t×m kiÕm tiÕp theo ë bíc ta việc tính thêm giá tri giá trị