Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 103 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
103
Dung lượng
1,39 MB
Nội dung
TR NG T I I H C TH Y L I U HÓA [Tài li u gi ng d y b c đ i h c] Nguy n Th Vinh HÀ N I 2010 M CL C CH NG 1: BÀI TOÁN T I U VÀ CÁC KHÁI NI M 1.1 BÀI TOÁN T I U VÀ VI C PHÂN LO I 1.1.1 Bài toán t i u t ng quát m t s thu t ng 1.1.2 Phân lo i toán t i u 1.1.3 B c c a ph ng pháp gi i toán t i u X p x b c hai X p x c s toán h c n sau ph n l n ph ng pháp t i u Nó d a khai tri n Taylor c a hàm f(x) lân c n m x0 nh m t chu i lu th a: 1.2 M t s khái ni m gi i tích l i 1.2.1 T p l i 1.2.2 Hàm l i 1.3 Bài t p ch ng 1: CH NG 2: QUI HO CH TUY N TÍNH (QHTT) 10 2.1 Các toán n hình c a QHTT 10 2.1.1 Bài toán v ch đ dinh d ng 10 2.1.2 Bài toán s d ng nguyên v t li u 11 2.1.3 Bài toán v n t i (t nh) 11 2.1.4 Bài toán tr ng 12 2.2 M t s ví d v cách thi t l p toán QHTT 12 2.2.1 Bài toán n kiêng: 12 Ch t dinh 13 d ng 13 Nhu c u t i 13 thi u hàng ngày 13 2.2.2 Bài toán s n xu t: 13 2.3 Ph ng pháp hình h c gi i toán QHTT 14 2.3.1 Ví d 1: Minh ho ph ng pháp hình h c 14 2.3.2 Ví d 2: Minh ho ph ng pháp hình h c 15 2.4 Bài toán QHTT d ng chu n khái ni m 16 2.4.1 Bài toán QHTT d ng chu n vi c chu n hóa toán QHTT 16 2.4.2 Ví d minh h a 17 2.4.3 Các ph ng án c a toán QHTT chu n 18 2.4.4 i u ki n t n t i nghi m t i u 19 2.5 Ph ng pháp đ n hình (PP H) gi i toán QHTT chu n 20 2.5.1 ng l i chung c s c a thu t toán 20 2.5.2 Tìm hi u PP H qua vi c gi i toán s n xu t 20 2.5.3 Thu t toán đ n hình 22 2.5.4 Ví d 23 2.5.5 M t s v n đ th ng g p 25 2.5.6 S đ kh i ch ng trình tính 31 2.6 Bài t p ch ng 2: 36 CH NG 3: CÁC BÀI TOÁN KHÁC C A QHTT 38 3.1 Bài toán đ i ng u (BT N) 38 3.1.1 Khái ni m BT N 38 3.1.2 nh ngh a: 39 3.1.3 Các tính ch t c a hai BT N 40 3.2 Bài toán v n t i 42 3.2.1 Bài toán v n t i (BTVT) s t n t i nghi m t i u 42 3.2.3 BTVT không cân b ng: đ a v BTVT cân b ng r i gi i 47 3.2.4 S đ kh i ch ng trình tính 47 3.3 Qui ho ch tham s n tính (QHTSTT) 49 3.3.1 Tr ng h p hàm m c tiêu ph thu c n tính vào m t tham s 50 3.3.3 Vài m r ng c a toán QHTSTT 56 3.4 Bài toán qui ho ch nguyên n tính (QHNTT) 56 3.4.1 Bài toán QHNTT t ng quát 56 3.4.2 Ph ng pháp nhánh c n gi i toán QHNTT 57 3.5 Bài t p ch ng 3: 61 CH NG 4: GI I THI U BÀI TOÁN QUI HO CH NG (QH ) 64 4.1 Bài toán tìm đ ng (l trình) ng n nh t ho c dài nh t 64 4.2 Các nguyên t c c b n c a QH 65 4.3 Thi t l p toán theo QH ph ng trình truy h i c a Bellmann 66 4.3.1 Thi t l p m t toán theo QH 66 4.3.2 Các ph ng trình truy h i c a R.Bellmann 67 4.4 Ph ng pháp th c hành QH 70 4.5 M t s ví d 70 4.6 Bài t p ch ng 4: 76 4.7 77 4.8 Ph ng án 77 4.8.1 I 77 CH NG 5: QUY HO CH PHI TUY N (QHPT) 78 5.1 Ph ng pháp dò tìm c c tr đ a ph ng c a hàm m t bi n 78 5.1.1 N i dung ph ng pháp lát c t vàng (ph ng pháp b c không) 78 5.1.2 Thu t toán 79 5.1.3 Ví d : nh v m c c t u c a hàm f(x) = x − x bi t ε = 0,15 79 5.2 Các ph ng pháp t t d c dò tìm c c tr đ a ph ng c a toán QHPT không ràng bu c nhi u chi u 82 5.2.1 t v n đ : 82 5.2.2 Ph ng pháp đ ng d c nh t (Steepest Descents) 82 5.3 Ph ng pháp gradient dò tìm c c tr đ a ph ng c a toán QHPT ràng bu c nhi u chi u 88 5.3.1 M t s khái ni m 88 5.3.2 Ph ng pháp Gradient 91 5.4 Bài t p ch ng 5: 94 CH NG 6: H NG D N S D NG CÔNG C SOLVER TRONG MSEXCEL GI I CÁC BÀI TOÁN T I U 95 6.1 Gi i thi u b công c SOLVER chu n MS-EXCEL 95 6.1.1 M t s khái ni m SOLVER chu n 95 6.1.2 Xây d ng mô hình SOLVER 97 6.2 Ví d : 97 CH NG 1: BÀI TOÁN T I U VÀ CÁC KHÁI NI M 1.1 BÀI TOÁN T I U VÀ VI C PHÂN LO I 1.1.1 Bài toán t i u t ng quát m t s thu t ng Bài toán t i u t ng quát: Tìm giá tr l n nh t (hay giá tr nh nh t) c a hàm đ n tr f(x) (1.1) tho mãn u ki n: gi(x) ≥ (≤, =) bi, i = 1, m (1.2) x ∈X ⊂ Rn (1.3) Bài toán (1), (2), (3) đ c g i toán t i u t ng quát, hàm f(x) đ c g i hàm m c tiêu, hàm gi(x) đ c g i hàm ràng bu c, t p h p D = {x ∈ X : g i ( x ) ≥ (≤, =) b i , i = 1, m} (1.4) đ c g i mi n ràng bu c (mi n ch p nh n đ c) M t ph ng án x*ε D làm t i u hàm m c tiêu đ c g i m t ph ng án t i u hay m t nghi m t i u; f(x*) đ c g i giá tr t i u c a toán t i u t ng quát M t s thu t ng - Bài toán t i u t ng quát đ c g i toán t i u không ràng bu c n u m t h n ch mi n X (không có h ràng bu c (2) hay D = X) - Giá tr f(x*) t i nghi m t i u x*∈ D đ c g i c c tr t đ i (hay toàn c c) c a toán (1), (2), (3) N u có m t ph ng án x ∈ D: f(x) ch giá tr t i u m t lân c n c a x f(x) đ c g i c c tr t ng đ i (hay đ a ph ng) V y đ tìm giá tr t i u c a hàm m c tiêu f(x) mi n, ng i ta th ng tìm c c tr t ng đ i, sau so sánh v i giá tr biên đ xác đ nh giá tr t i u M t s tính ch t quan tr ng c a c c tr c a hàm tr n - i v i hàm m t bi n m c c tr (t ng đ i) x ∈ D, ta có df ( x ) = 0, đ i v i dx hàm nhi u bi n, véct gradientf c a hàm m c tiêu f(x) b ng không, t c ⎛ ∂f ⎞ ⎜ ⎟ ⎜ ∂x ⎟ ⎜ ∂f ⎟ ⎜ ∂x ⎟ ⎜ 2⎟ gradientf ( x ) = ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ∂f ⎟ ⎜ ∂x ⎟ ⎝ n ⎠x Nh ng m x ε D tho mãn u ki n (5) đ (1.5) c g i m d ng Hình d - i cho ta m d ng c a hàm m t bi n y = f(x) i v i hàm m t bi n, nh ng m c c đ i, đ cong c a đ d 2f s âm, t c (x) < , dx ng y = f(x) m t (1.6) Còn nh ng m c c ti u b t đ ng th c (1.6) có chi u ng c l i i v i hàm nhi u bi n, u ki n (1.6) t ng đ ng v i ma tr n Hessian H(x) đ o hàm riêng c p hai c a f(x) xác đ nh âm (d ng), t c yT H(x) y < (> 0) ∀x ∈ D, ∀y ∈ R n ⎛ ∂ 2f ⎞ ⎟ H(x) = ⎜⎜ ⎟ x x ∂ ∂ j ⎠ ⎝ i x ⎞ ⎛ ∂ 2f ∂ 2f ∂ 2f ⎟ ⎜ ∂ x1∂ x ∂ x1∂ x n ⎟ ⎜ ∂ xi ⎜ ∂ 2f ∂ 2f ∂ 2f ⎟⎟ ⎜ = ⎜ ∂ x 2∂ x1 ∂ x 22 ∂ x 2∂ x n ⎟ ⎟ ⎜ ⎟ ⎜ 2 ⎜ ∂ 2f ∂ f ∂ f ⎟ ⎟ ⎜ ∂ xn∂ x2 ∂ x 2n ⎠ x ⎝ ∂ x n ∂x1 (1.7) Hình cho ta nh ng m d ng c a m t hàm hai bi n f(x1, x2) ây m t hình v chu n, nh ng m có giá tr d c n i v i b i m t đ ng cong Trong hình có m t m yên ng a (saddle points) 1.1.2 Phân lo i toán t i u D a tính ch t c a thành ph n c a toán t i u (1), (2), (3), ng i ta phân toán t i u thành lo i sau: Qui ho ch n tính (QHTT): hàm m c tiêu hàm ràng bu c đ u hàm n tính Qui ho ch tham s : h s c a hàm m c tiêu c a hàm ràng bu c ph thu c vào tham s Qui ho ch đ ng: đ i t ng xét t i u trình có nhi u giai đo n (phát tri n theo th i gian) Qui ho ch phi n: n u hàm m c tiêu ho c có nh t m t hàm ràng bu c phi n ho c c hai tr ng h p x y Qui ho ch r i r c (tr ng h p riêng qui ho ch nguyên): mi n ràng bu c r i r c (hay nguyên) Qui ho ch đa m c tiêu: xét nhi u hàm m c tiêu mi n ràng bu c 1.1.3 B c c a ph ng pháp gi i toán t i u Cách thu n ti n đ phân lo i ph ng pháp t i u b c c a ph ng pháp gi i ó b c cao nh t c a đ o hàm hàm m c tiêu mà ph ng pháp s d ng a- Ph ng pháp b c không: ch c n đ n giá tr c a hàm m c tiêu Ch ng h n ph ng pháp đ n hình gi i toán QHTT ph ng pháp b c không b- Ph ng pháp b c nh t: đòi h i c giá tr c a hàm l n véct đ o hàm (riêng) Ví d c a ph ng pháp b c nh t ph ng pháp gradient liên h p c- Ph ng pháp b c hai: đòi h i c giá tr c a hàm l n véct đ o hàm (riêng) c p m t ma tr n đ o hàm riêng c p hai Ví d c a ph ng pháp b c hai ph ng pháp Newton X p x b c hai X p x c s toán h c n sau ph n l n ph ng pháp t i u Nó d a khai tri n Taylor c a hàm f(x) lân c n m x0 nh m t chu i lu th a: df Δx d f f ( x + Δx ) = f ( x ) + Δx ( x ) + ( x ) + dx dx Hoàn toàn t ng t , khai tri n Taylor đ c m r ng cho hàm nhi u bi n: f ( x + Δx ) = f ( x ) + Δx T gradientf ( x ) + T Δx H.Δx ( x ) + (1.8) đ o hàm b c nh t đ c thay th b i gradientf ( x ) đ o hàm b c hai đ thay th b i ma tr n Hessian H(x0) c N u x0 m c c tr c a hàm f(x) (8) tr thành: f ( x + Δx ) = f ( x ) + T Δx H.Δx ( x ) + O(Δx ) (1.9) đ o hàm (riêng) b c nh t t i m c c tr đ u b ng không S h ng O(∆x3) n đ nh sai s b c ∆x3 Do ∆x 0, s h ng s tr nên nh so v i s h ng b c hai V y m t hàm kh vi b c hai b t kì luôn x p x đ c b i khai tri n Taylor đ n c p hai c a i u d n đ n h qu h u h t ph ng pháp t i u đ c thi t k đ tìm giá tr t i u c a hàm b c hai Trong th c hành, hi m ta g p toán t i u mà hàm m c tiêu hàm b c hai Tuy nhiên ch ng trình tính h i t đ n giá tr t i u m t cong y = f(x) s d n v m t b c hai i u có ngh a m t thu t toán x p x h i t t t n u có th ch r ng h i t m t b c hai ó c s toán h c c a ph ng pháp Newton 1.2 M t s khái ni m gi i tích l i 1.2.1 T p l i T h p l i: Cho m vect { xi Rn, i=1,…,m }; vect x ∈ Rn đ c g i t h p l i c a vect n u : L u ý: x đ c g i t h p l i th t s c a {xi} n u ràng bu c ta có ∃ α i ∈ [0,1] T p h p l i: + S ∈ Rn t p l i n u { ∀ x ∈ S , y ∈ S , λ ∈ [0,1] ⇒ λ x + (1-λ) y ∈ S } Nh v y n u S ⊂ R m t t p l i nó ch a tr n đo n th ng n i hai m b t kì c a Ví d v t p h p l i: o n th ng M t ph ng Siêu ph ng n {x=(x1 , …, xn)∈Rn : ∑a x i i =1 i = b, ∀a i , b ∈ R} N a không gian {x=(x1 , …, xn)∈Rn: n ∑a x i =1 i i ≤ ( hoÆc ≥ hoÆc < hoÆc >) b∀a i , b ∈ R} nh c c biên : Cho m x*∈S (v i S t p l i): ∃ x1, x2 ∈S đ x* = λ x1 +( 1-λ )x2 ; λ ∈[0,1] Khi x* m t đ nh c c biên c a S a di n l i : Là t p l i S v i s đ nh c c biên h u h n Ví d v đa di n l i R2 đa giác l i nh lí 1: Các t p l i đóng đ i v i phép giao, phép c ng, phép nhân v i m t s phép l y t h p n tính, t c n u A B hai t p l i Rn t p h p sau c ng l i: A ∩ B = {x : x ∈ A, x ∈ B} λA + βB = {x = λa + βb : a ∈ A, b ∈ B, λ, β ∈ R} H qu 1: Mi n ch a nghi m c a h ph di n l i ng trình đ i s n tính m t đa 1.2.2 Hàm l i nh ngh a: - Hàm s f(x) xác đ nh t p l i S ⊂ R n đ c g i hàm l i S n u ∀x, y ∈ S, ≤ λ ≤ ta có: f( x +(1 – )y) ≤ f(x) + (1 – )f(y) - Hàm s f(x) đ c g i l i ch t S n u ∀x, y ∈ S, < λ < ta có: f( x +(1 – )y) < f(x) + (1 – )f(y) - Hàm s f(x) đ c g i lõm (ch t) t p l i S n u hàm –f(x) l i (ch t) S Các tính ch t c a hàm l i - i u ki n đ m t hàm kh vi l i nh lí 2: Cho hàm f: X R m t hàm kh vi t p l i m X c n đ đ f m t hàm l i X i u ki n f(x) + gradientf(x) (y-x) ≤ f(y) ∀x, y ∈ X N u f kh vi hai l n u ki n c n đ đ f l i X ma tr n Hessian H(x) c a f(x) xác đ nh không âm X, t c yT H(x) y ≥0 ∀x ∈ X, ∀y ∈ R n - Tính ch t c b n v c c tr c a m t hàm l i nh lí 3: B t kì c c ti u đ a ph c c ti u t đ i ng c a m t hàm l i t p l i c ng H qu 2: B t kì c c đ i đ a ph đ i t đói ng c a hàm lõm t p l i c ng c c nh lí 4: C c đ i c a m t hàm l i (n u có) m t t p l i có m c c biên bao gi c ng đ t t i m c c biên 1.3 Bài t p ch ng 1: 1> Xác đ nh mi n mà hàm sau l i (lõm): y = x2 y = ex y=x y=sn 2> V mi n gi i h n b i ràng bu c sau xét xem mi n mi n l i x22 – x1 + < x22 – x1 + < x1 + x2 – < x12 + x22 – 16 < 5.3 Ph ng pháp gradient dò tìm c c tr đ a ph bu c nhi u chi u ng c a toán QHPT ràng Trong gi i tích c n, ph ng pháp nhân t Lagrange đ c s d ng đ gi i toán tìm c c tr đ a ph ng v i ràng bu c đ ng th c c a hàm nhi u bi n Trong ph n ta s gi i quy t toán QHPT v i ràng bu c b t đ ng th c theo h ng s d ng ph ng pháp gradient dò tìm m t i u H ng u vi t s bi n s ràng bu c nhi u lên, công vi c tìm ki m s đ c th c hi n máy tính 5.3.1 M t s khái ni m Ví d m đ u Tìm c c ti u c a hàm C(x, y) = (x – 4)2 + (y – 4)2 th a mãn ràng bu c sau: ⎧ x + 3y ≥ ⎪ ⎨− 3x − y ≥ − 12 ⎪ x, y ≥ ⎩ B ng tr c quan hình h c, ta th y r ng: i v i toán c c tr t tâm (4, 4) m c c ti u Cmin = i v i toán c c tr v i ràng bu c d ng đ ng th c, ch ng h n 3x + 2y =12, ta có th s d ng ph ng pháp nhân t Lagrange ho c đ a v toán tìm c c tr t c a hàm m t bi n C(x, y(x)) = (x – 4)2 + (y – 4)2 v i y( x ) = − x + 64 ⎛ 28 36 ⎞ tìm đ c m c c ti u (x*, y*) = ⎜ , ⎟ , t i Cmin = 13 ⎝ 13 13 ⎠ i v i toán trên, hàm m c tiêu phi n nên thay dò tìm giá tr nh nh t c a C(x, y) mi n ràng bu c b ng cách di chuy n đ ng th ng song 88 song nh đ i v i toán QHTT, ta xét h đ ng tròn đ ng tâm liên quan đ n hàm C(x, y) Vòng tròn có bán kính nh nh t ti p xúc v i biên c a mi n ràng bu c t i ⎛ 28 36 ⎞ m (x*, y*) = ⎜ , ⎟ n m đ ng biên c a u ki n ràng buôc th hai ⎝ 13 13 ⎠ V y giá tr c c ti u c a toán Cmin = C ⎛⎜ 28 , 36 ⎞⎟ = 64 ⎝ 13 13 ⎠ 13 Nh n xét: i> i u ki n đ tìm vòng tròn có bán kính nh nh t, ti p xúc v i biên nói ti p n c a vòng tròn t i ti p m ph i có đ nghiêng (h s góc) b ng đ nghiêng c a đ ng biên 3x + 2y = 12 (b ng − ) (5.10) tính đ nghiêng c a ti p n v i h vòng tròn trên, ta s d ng công th c đ o hàm c a hàm n y theo đ i x c a F(x, y) = (x – 4)2 + (y – 4)2 – C ( C h ng s ) → ∂F/∂x dy x−4 =− =− =− ∂F/∂y dx y−4 (5.11) ⎛ 28 36 ⎞ c m c c ti u ⎜ , ⎟ nói ⎝ 13 13 ⎠ ii> Nghi m t i u c a toán không n m đ nh c c biên mà n m ph n biên c a mi n ch p nh n đ c ng v i m t ràng bu c nh t đ nh Gi i h (5.10) (5.11) ta nh n đ Bài toán QHPT có ràng bu c t ng quát: Tìm (ho c max) c a hàm f(X), X Rn (5.12) tho mãn ràng bu c sau: gi(Xi) ≥0 (≤0) ∀i = 1, m (5.13) Nh n xét: T tính ch t c a m t hàm l i, toán tìm (max) ch c ch n có nghi m f(X) hàm l i (lõm) mi n ràng bu c l i Vi c tìm c a m t hàm lõm (ho c max c a m t hàm l i) mi n l i th ng ph c t p h n H ng dò tìm ch p nh n đ c Cho X* m t m thu c mi n ràng bu c (mi n ch p nh n đ c) = {X ∈ R n : g i ( X ) ≥ 0, i = 1, m} H ng D đ c g i h ng ch p nh n đ c t i X* n u tho mãn u ki n D ∇g i (X*) ≥ 0, ∀i = 1, m T i u ki n (5.14) đ ki n sau: (5.14) c th c hi n hàm ràng bu c tho mãn m t u - Các hàm ràng bu c n tính - Các hàm ràng bu c l i t n t i m X: gi(X)≤0 - Các hàm ràng bu c phi n ∇g i (X*) đ c l p n tính 89 Hàm Lagrange u ki n c n c a c c tr đ a ph ng m - nh ngh a: Hàm L(X,Y) = f (X) + ∑ y i g i ( X) c a toán (5.12), (5.13) đ c g i i =1 hàm Lagrange c a toán - i u ki n c n (b c nh t) c a c c tr đ a ph ng đ c phát bi u d i d ng u ki n Kuhn-Tucker nh sau: Cho f(X), gi(X) hàm kh vi, X Ω m c c tr c a toán (5.12), (5.13) đ c dò tìm theo h ng ch p nh n đ c Khi t n t i vect nhân t ⎛ y1 ⎞ ⎜ ⎟ ⎜y ⎟ Y = ⎜ ⎟ c a hàm Lagrange L(X, Y) cho ⎜ ⎟ ⎜y ⎟ ⎝ m⎠ ∂L ⎧ ∂L v x ≥ ≥ = ∀j = 1, n (bài toán min) x j j ⎪⎪ ∂x ∂ x j j (5.15) ⎨ L L ∂ ∂ ⎪ ≤ y i ≥ y i = ∀i = 1, m ⎪⎩ ∂y i ∂y i ho c ∂L ⎧ ∂L x x ≤ ≥ = ∀j = 1, n (bài toán max) j j ⎪⎪ ∂x x ∂ j j ⎨ ∂ ∂ L L ⎪ ≥ y i ≥ y i = ∀i = 1, m ⎪⎩ ∂y i ∂y i (5.15’) Ý ngh a c a u ki n Kuhn-Tucker: u ki n c n c a hàm Lagrange vi c gi i toán c c tr ràng bu c b ng ph ng pháp gi i tích c n i v i ví d trên, u ki n Kuhn-Tucker đ c vi t cho hàm Lagrange L(X, Y) = (x – 4)2 + (y – 4)2 + z [6 – 2x – 3y] + t [–12 + 3x + 2y] b n u ki n biên u ki n không âm c a bi n ban đ u bi n ph tr i (các nhân t Lagrange) ⎧ ∂L ⎪ ∂x = 2( x − 4) − 2z + 3t ≥ ⎪ ⎪ ∂L = 2( y − 4) − 3z + t ≥ ⎪ ∂y ⎪ ⎪ ∂L = − x − 3y ≤ ⎨ z ∂ ⎪ ⎪ ∂L ⎪ ∂t = −12 + 3x + y ≤ ⎪ ⎪ x , y, z , t ≥ ⎪ ⎩ 90 ⎛ 28 36 ⎞ ⎛ 48 32 ⎞ D th y nghi m (x*, y*) = ⎜ , ⎟ th a mãn h v i (z*, t*) = ⎜ , ⎟ ⎝ 13 13 ⎠ ⎝ 13 13 ⎠ Nh n xét: Tu vào đ c m c a t ng toán mà u ki n Kuhn-Tucker có th tr thành u ki n c n đ 5.3.2 Ph ng pháp Gradient N i dung ph ng pháp Ph ng pháp ph thu c vào gradient c a hàm ràng bu c ho c gradient c a hàm m c tiêu ho c c hai nh h ng dò tìm có t l bi n đ i l n nh t đ t i u hóa hàm m c tiêu Gi s b ng phép th , ta tìm đ c m xu t phát thu c mi n ràng bu c Vi c dò tìm đ c ti n hành theo h ng d c nh t c a hàm m c tiêu v i b c di chuy n đ c xác đ nh tr c cho đ n có m t ràng bu c gi ≥ b vi ph m ho c giá tr c a hàm m c tiêu t i đi, ta ph i quay l i mi n Ω đ c i thi n giá tr c a hàm ràng bu c hay c a hàm m c tiêu t ng ng N u giá tr c a hàm m c tiêu t i đi, vect đ i c a gradient c a hàm m c tiêu m dò tìm thành công cu i đ c l y làm h ng dò tìm ti p theo v i b c d ch chuy n N u có nh t m t ràng bu c b vi ph m, ta ph i di chuy n v m mi n ch p nh n đ c nh ng g n biên t t Khi h ng d ch chuy n không theo qui t c đ ng d c nh t n a mà vuông góc v i chu n c a ràng bu c b vi ph m v i b c d ch chuy n s cho gi > Khi m dò tìm n m mi n ch p nh n đ c, vi c dò tìm theo h ng d c nh t l i đ c ti n hành Vi c dò tìm k t thúc m dò tìm ch m vào ph n biên gi = c a mi n Ω vect ∇f ∇g i t i song song v i nhau, t c ∇f T ∇g i =1 ∇f ∇ g i (5.16) Thu t toán B c 1: Ch n m X1 b t kì mi n ràng bu c Ω, gán i = 1, = 0,5 B c 2: Tính ∇f (X i ) , n u ∇f (X i ) = d ng, Xi nghi m, ng c l i Di = − B B ∇f (X i ) h ∇f (X i ) ng dò tìm m i c 3: Tính Xi+1 = Xi + i Di c 4: Ki m tra xem Xi+1 có n m mi n ràng bu c Ω hay không - N u Xi+1 thu c mi n Ω hàm m c tiêu gi m, quay l i b c đ l p l i vi c dò tìm v i i+1 t ng lên - N u Xi+1 ch m vào ph n biên c a Ω ng v i ràng bu c gk(Xi+1) = ki m tra xem hai vect ∇f ∇g k t i Xi+1 có song song không + N u trình tìm ki m d ng, Xi+1 nghi m + N u không, ta lùi l i mi n Ω theo h ng ∇g k (X i +1 ) tìm Xi+1 m i = Xi+1 + s ∇g k (X i +1 ) v i s đ c ch n cho gk(Xi+1 m i) > r i l p l i b c v i i+1 gi m 91 - N u Xi+1 n m mi n Ω ng v i ràng bu c th k, gk ≥ b vi ph m, ta lùi l i mi n Ω theo h ng ∇g k (X i+1 ) tìm Xi+1 m i = Xi+1 + s ∇g k (X i +1 ) v i s đ c ch n cho gk(Xi+1 m i) > r i l p l i b c v i i+1 gi m Ví d Gi i l i toán nêu ph n đ u b ng ph ng pháp gradient v i sai s = 0,05 Vi t lai toán d i d ng t ng quát: Tìm c c ti u c a hàm f(x, y) = (x – 4)2 + (y – 4)2 th a mãn ràng bu c sau: ⎧ x + 3y − ≥ (1' ) ⎪ ⎨− 3x − y + 12 ≥ (2' ) ⎪ x, y ≥ ⎩ B ⎛1⎞ c 1: Ch n m X1 = ⎜⎜ ⎟⎟ mi n ràng bu c Ω ⎝ 3⎠ B c 2: Tính ∇f (X1 ) = ⎜⎜ f(X1) = 10, 1=0,5 ⎛ − 6⎞ ⎟⎟ → ∇f (X1 ) = 10 = 6,32 > ε ⎝ − 2⎠ Ch n D1= − ∇f ( X1 ) ⎛ / 10 ⎞ ⎛ 0,95 ⎞ ⎟=⎜ ⎟ =⎜ ∇f ( X1 ) ⎜⎝ / 10 ⎟⎠ ⎜⎝ 0,16 ⎟⎠ ⎛1⎞ ⎛ 0,95 ⎞ ⎝ ⎠ ⎝ ⎛ 1,48 ⎞ ⎟=⎜ ⎟ D1 = ⎜⎜ ⎟⎟ + 0,5⎜⎜ 0,16 ⎟ ⎜ 3,08 ⎟ B c 3: Tính X2 = X1 + B f(X2) = f(X1+ D1) = f(1,48, 3,08) = 7,2 V y f(X2) < f(X1) c 4: Ki m tra th y X2 Ω g2(X2) = 1,4 > Quay l i b ⎠ ⎝ ⎠ ⎛ − 5,04 ⎞ ⎟⎟ → ∇f (X1 ) = 28,79 = 5,37 > ε ⎝ − 1,84 ⎠ c 2: tính ∇f (X ) = ⎜⎜ ∇f ( X ) ⎛ 5,04 / 5,37 ⎞ ⎛ 0,94 ⎞ ⎟ ⎟=⎜ =⎜ ∇f ( X ) ⎜⎝ 1,84 / 5,37 ⎟⎠ ⎜⎝ 0,34 ⎟⎠ Tính X3 = X2 + D2 v i = 1,2 = 0,6 Ch n D2= − ⎛ 1,48 ⎞ ⎛ 0,94 ⎞ ⎛ 2,04 ⎞ ⎟⎟ + 0,6⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟ , f(X3) = 4,36 < f(X2) ⎝ 3,08 ⎠ ⎝ 0,34 ⎠ ⎝ 3,28 ⎠ X3 = ⎜⎜ Ω g2(X3) = - 0,7 < Ki m tra th y X3 ∇g (X ) vuông góc v i ràng bu c b vi ph m g2 Ph i lùi l i mi n Ω theo h ng ∇g ( X ) ⎛ 2,04 ⎞ ⎛ − / 3,61⎞ ⎛ 2,04 − 0,83s ⎞ ⎟ ⎟=⎜ ⎟ + s⎜ =⎜ ∇g ( X ) ⎜⎝ 3,28 ⎟⎠ ⎜⎝ − / 3,61⎟⎠ ⎜⎝ 3,28 − 0,55s ⎟⎠ c ch n cho g2(X3 m i) > s > 0,195, ch n s = 0,20 X3 m i = X3 +s v isđ X3 m i = X3 +s ∇g (X ) ⎛ 2,04 − 0,83s ⎞ ⎛ 1,87 ⎞ ⎟=⎜ ⎟, f(X3 m i) = 5,23 =⎜ ∇g (X ) ⎜⎝ 3,28 − 0,55s ⎟⎠ ⎜⎝ 3,17 ⎟⎠ Ki m tra th y X3 m i n m ph n biên g2 c a mi n Ω g2(X3 m i) = 0,05 ≈ 92 ⎛ − 4,26 ⎞ ⎟⎟ → ∇f (X míi ) = 20,91 = 4,57 > ε , 66 − ⎠ ⎝ Tính ∇f (X ) = ⎜⎜ ⎛ − 3⎞ ∇g = ⎜⎜ ⎟⎟, ∇g = 13 = 3,61 ∀X ∈ Ω ⎝ − 2⎠ Còn ∇f T ∇g 16,1 16,1 = = = 0,98 ≈ ∇f ∇g 4,57.3,61 16,5 V y ∇f ∇g2 đ ng ph ng, d ng trình l p đ (x*, y*) = (1,87; 3,17) t i fmin = 5,23 Các k t qu dò tìm đ c ghi l i b ng sau: i x y g2 1,48 2,04 1,87 3,08 3,28 3,17 1,4 –0,7 0,05 |g2| < N N N Y s c nghi m t i u fx’ fy’ ∇f 10 7,2 –6 –5,04 –2 –1,84 6,32 5,37 N N 5,23 –4,26 –1,66 4,57 N f ∇f < 0,5 0,6 0,2 93 5.4 Bài t p ch ng 5: 1> Dùng ph ng pháp lát c t vàng dò tìm m c c ti u c a hàm f(x) = (x – 100)2 v i đ xác = 0,1 2> Dùng ph ng pháp đ ng d c nh t tìm m (x, y) cho hàm m c tiêu 1 f(x, y) = x + y + + → x y v i đ xác = 0,1và (x1; y1) = (1; 3) 3> Dùng ph ng pháp hình h c tìm c c ti u c a hàm f(x, y) = 4(x – a)2 + 5(y – b)2 cho u ki n sau đ c tho mãn: x + y ≥ 1, x, y≥0 (v i a, b h ng s cho) 4> Dùng ph ng pháp hình h c tìm c c đ i c a hàm f(x, y) = 2x + y cho u ki n sau đ c tho mãn: ⎧− x + x − y ≤ ⎪ ⎨2 x + 3y ≤ 12 ⎪x , y ≥ ⎩ ng pháp gradient dò tìm m c c ti u c a hàm f(x, y) = 3x2 – 2x – 5y2 + 10y th a mãn u ki n sau ⎧2 x + 3y ≤ ⎪ ⎨3x + y ≥ ⎪x, y ≥ ⎩ 5> Dùng ph v i đ xác = 0,1và m xu t phát (x1; y1) = (1; 2) 94 CH NG 6: H NG D N S D NG CÔNG C MS- EXCEL GI I CÁC BÀI TOÁN T I U SOLVER TRONG SOLVER công c ph n m m gi i toán t i u Frontline Systems, Inc (USA) phát tri n SOLVER chu n đ c cài đ t s n Microsoft Excel theo s tho thu n gi a Microsof Corporation Frontline Systems, Inc V i SOLVER ng i dùng có th gi i toán sau thông qua b ng tính EXCEL • Gi i h ph ng trình n tính, phi n, ph ng trình đ i s b c cao, siêu vi t, hàm m • Tìm tham s c a hàm gi i tích x p x c a t p d li u th ng kê, quan sát nh m ph c v cho vi c tính toán d báo • Gi i toán t i u: QHTT, QHPT, QHN, … 6.1 Gi i thi u b công c SOLVER chu n MS-EXCEL 6.1.1 M t s khái ni m SOLVER chu n SOLVER chu n kh n ng gi i toán t i u SOLVER chu n g m nh ng công c c b n nh ph ng pháp đ n hình gi i tóan QHTT, ph ng pháp nhánh & c n gi i toán QHN ph ng pháp GRG (Generalized Reduced Gradient) gi i tóan QHPT tr n SOLVER chu n gi i h n cho nh ng toán đ n 200 bi n u n (B K) c ng thêm 100 ràng bu c đ i v i toán QHPT Trong SOLVER chu n có ba lo i báo cáo: báo cáo l i gi i, báo cáo đ nh y báo cáo gi i h n Nh ng đ nh ngh a c b n mô hình SOLVER M c đích c a SOLVER tìm nghi m, ngh a tìm giá tr cho bi n mà SOLVER đ t tên “Changing Cells” mô hình Các giá tr tho mãn ràng bu c (constraints) làm c c đ i ho c c c ti u hàm m c tiêu (objective function) mà SOLVER đ t tên “Set Target Cell” Mô hình thi t l p đ dùng v i SOLVER không khác so v i mô hình b ng tính EXCEL ngh a g m có giá tr đ u vào “input”, công th c đ tính toán d a input, đ nh d ng (formatting), … Bi n u n tham s (Decision Variables and Parameters) M t s giá tr đ u vào có th h ng s , không thay đ i trình tìm nghi m, ch ng h n lãi su t, giá s n ph m Ta g i nh ng giá tr tham s c a mô hình Nh ng giá tr đ u vào khác có th thay đ i ho c ta mu n u n thay đ i trình tìm nghi m g i B K hay “Changing Cells” SOLVER s tìm giá tr t i u cho nh ng bi n Hàm m c tiêu (Objective Function): Hàm m c tiêu (HMT) công th c n m ô ta mu n c c đ i ho c c c ti u Ô s đ c ch đ nh khung Set Cell 95 c a h p tho i “Solver Parameters” Hàm m c tiêu có th l i nhu n nhi u nh t (tìm max) hay chi phí nh t (tìm min) Có c mô hình SOLVER HMT đ tìm c c tr Khi khung Set Target Cell h p tho i “Solver Parameters” tham chi u đ n ô có công th c =0 Trong tr ng h p SOLVER ch đ n gi n tìm nghi m tho mãn ràng bu c Ràng bu c (Constraints) Ràng bu c quan h ch ng h n nh A1 >= M t ràng bu c đ c tho mãn n u u ki n qui đ nh m t ph m vi sai s nh Có s khác bi t nh gi a đánh giá s h c công th c lôgic TRUE FALSE ta đ a vào ô Trong thí d này, n u A1 –0,0000001, công th c lôgic s đánh giá FALSE, nh ng v i đ xác m c đ nh c a Solver (default SOLVER Precision setting), ràng bu c s đ c tho mãn Trong SOLVER, ràng bu c đ c đ nh rõ b ng cách cho ô ho c ô tham chiéu v trái ví d A1 ho c A1:A5, m t d u quan h (=) m t bi u th c v ph i M c dù SOLVER cho phép đ a b t k bi u th c s h c vào v ph i nh ng ta ch nên đ a vào h ng s ho c tham chi u đ n ô có giá tr h ng s M t giá tr h ng s đ i v i SOLVER m t giá tr không ph thu c vào b t c B K Ví d : - M t ràng bu c nh A1:A5