Một số thuật toán giải bài toán tối ưu phân thức và ứng dụng
Hệ thống nguồn nước tạo ra nhiều vấn đề đặc biệt, ví dụ, trong sử dụng tối ưu nguồn
nước, việc cực đại hiệu quả kinh tế, chất lượng môi trường, khả năng điều tiết lũ.vv khi ứng
dụng các phương pháp tối ưu hoá và các mô hình Toán học gặp khá nhiều khó khăn vì các đặc
trưng khác nhau của hệ thống liên quan đến bài toán qui hoạch rời rạc. Đặc điểm khác biệt
của tối ưu rời rạc, tối ưu tổ hợp là các biến thuộc miền rời rạc và nó đã phát triển nhanh chóng
vì việc sử dụng rộng khắp về máy tính và công nghệ thông tin. Một số kỹ thuật của tối ưu rời
rạc dưới đây là lời giải về các thuật toán , các định lý hội tụ cho bài toán tối ưu phân tuyến .Sử
dụng phương pháp Newton liên hệ với độ phức tạp tính toán của thuật toán trong đó nghiệm tối
ưu được xấp xĩ và thuật toán đa thức dừng sau một số hữu hạn bước lặp.
Tóm tắt nội dung tài liệu: Một số thuật toán giải bài toán tối ưu phân thức và ứng dụng
1 mét sè thuËt to¸n gi¶i bµi to¸n tèi u ph©n thøc vµ øng dông Th.s. nguyÔn m¹nh hïng Trêng §¹i häc Thuû lîi, Email: hungmath1976@yahoo.com Tãm t¾t: HÖ thèng nguån níc t¹o ra nhiÒu vÊn ®Ò ®Æc biÖt, vÝ dô, trong sö dông tèi u nguån níc, viÖc cùc ®¹i hiÖu qu¶ kinh tÕ, chÊt lîng m«i trêng, kh¶ n¨ng ®iÒu tiÕt lò...vv khi øng dông c¸c ph¬ng ph¸p tèi u ho¸ vµ c¸c m« h×nh To¸n häc gÆp kh¸ nhiÒu khã kh¨n v× c¸c ®Æc trng kh¸c nhau cña hÖ thèng liªn quan ®Õn bµi to¸n qui ho¹ch rêi r¹c. §Æc ®iÓm kh¸c biÖt cña tèi u rêi r¹c, tèi u tæ hîp lµ c¸c biÕn thuéc miÒn rêi r¹c vµ nã ®· ph¸t triÓn nhanh chãng v× viÖc sö dông réng kh¾p vÒ m¸y tÝnh vµ c«ng nghÖ th«ng tin. Mét sè kü thuËt cña tèi u rêi r¹c díi ®©y lµ lêi gi¶i vÒ c¸c thuËt to¸n , c¸c ®Þnh lý héi tô cho bµi to¸n tèi u ph©n tuyÕn .Sö dông ph¬ng ph¸p Newton liªn hÖ víi ®é phøc t¹p tÝnh to¸n cña thuËt to¸n trong ®ã nghiÖm tèi u ®îc xÊp xÜ vµ thuËt to¸n ®a thøc dõng sau mét sè h÷u h¹n bíc lÆp. I. Giíi thiÖu. Bµi to¸n t×m cùc ®¹i hoÆc cùc tiÓu cña th¬ng hai hµm thùc trªn tËp D cña kh«ng gian Rn ®îc gäi lµ bµi to¸n tèi u ph©n tuyÕn. Bµi to¸n tèi u ph©n tuyÕn t×m ®îc nhiÒu øng dông trong thùc tÕ, ch¼ng h¹n ®Ó ®o hiÖu qu¶ cña mét sè hÖ thèng ®îc thÓ hiÖn nh lµ tû sè gi÷a lîi nhuËn /thêi gian, phÝ tæn /thêi gian,.. . Mét trong nh÷ng líp bµi to¸n tèi u ph©n tuyÕn thêng gÆp trong thùc tÕ lµ bµi to¸n tèi u ph©n tuyÕn rêi r¹c. Bµi to¸n tèi u rêi r¹c ph©n tuyÕn cã thÓ ph¸t biÓu nh sau: (F): max{ f(x)/g(x) : x X } (1) trong ®ã g(x) >0 x X, f(x) >0 víi mét sè x X, C¸c phÇn tö cña tËp rêi r¹c X ®îc gäi lµ c¸c cÊu tróc, f(x) thêng ®îc gäi lµ hµm chi phÝ ( cost), g(x) thêng ®îc gäi lµ hµm träng lîng (weight). Mét vÝ dô vÒ bµi to¸n qui ho¹ch rêi r¹c ph©n tuyÕn lµ t×m : Max { f(x)/g(x), x X} trong ®ã X {0,1}p. Cïng víi bµi to¸n F ta xÐt bµi to¸n sau: (G): Min R víi f(x)-g(x) 0 x X. CÆp (*, x*) R X lµ nghiÖm tèi u cña bµi to¸n G nÕu vµ chØ nÕu: f(x)-*g(x) 0= f(x*)-*g(x*) víi mçi x X. §iÒu nµy t¬ng ®¬ng víi : f(x)/g(x) *= f(x*)/g(x*) víi mçi x X, cã nghÜa lµ * lµ gi¸ trÞ môc tiªu tèi u vµ x* lµ nghiÖm tèi u cña bµi to¸n F. V× vËy bµi to¸n F vµ G lµ t¬ng ®¬ng. Gäi P() lµ bµi to¸n bæ trî tham sè t¬ng øng cña F: P() : Max f(x)-g(x), víi x X. Ký hiÖu h() vµ x * lµ gi¸ trÞ môc tiªu tèi u vµ nghiÖm tèi u cña bµi to¸n P(). Ta cã h() =0 nÕu vµ chØ nÕu (, x * ) lµ nghiÖm tèi u cña G, tøc lµ, nÕu vµ chØ nÕu vµ x * lµ gi¸ trÞ môc tiªu tèi u vµ nghiÖm tèi u cña bµi to¸n F. V× vËy ta cã d¹ng t¬ng ®¬ng kh¸c cña bµi to¸n F: ( Z) : T×m R tho¶ m·n h() =0 2 trong ®ã h() =max { f(x) - g(x) x X } (2) ChÝnh d¹ng nµy gîi ra c¸ch thiÕt kÕ thuËt to¸n cho bµi to¸n F b»ng c¸ch ¸p dông c¸c ph¬ng ph¸p cæ ®iÓn t×m nghiÖm cña hµm. C¸c tÝnh chÊt sau cña hµm h ®îc suy ra víi h lµ maximum cña mét sè h÷u h¹n c¸c hµm tuyÕn tÝnh gi¶m. (i) Hµm h lµ liªn tôc trªn (- , + ) vµ gi¶m ngÆt tõ + tíi - . (ii) h(0) >0 (§îc suy ra tõ gi¶ sö f(x) > 0 víi mét sè x X nµo ®ã) (iii) Hµm h cã chÝnh x¸c mét nghiÖm * vµ * > 0. (iv) NÕu 1< 2 <...< q lµ ký hiÖu tÊt c¶ c¸c gi¸ trÞ cña mµ trong ®ã hai ®êng trong {f(x)- g(x) x X} giao nhau th× hµm h lµ tuyÕn tÝnh trªn tõng ®o¹n [- , 1], [i, i+1] víi i=1,2,..,q-1, vµ [q, + ]. (v) Hµm h lµ låi. Chóng ta sö dông c¸c tham sè sau : MAXf = max{ f(x) : x X }, MAXg = max{ g(x) :x X }, MINg = min{ g(x) : x X },GAP = min { f(x,)/g(x,)-f(x,,)/g(x,,) : x,, x,, X, vµ f(x,)/g(x,) f(x,,)/g(x,,)}. C¸c gi¶ thiÕt vÒ hµm f(x) vµ g(x) ë bµi to¸n F chØ ra r»ng gi¸ trÞ môc tiªu tèi u cña bµi to¸n F lµ n»m trong kho¶ng (0, MAXf / MINg ). Tham sè GAP lµ sù kh¸c biÖt nhá nhÊt gi÷a hai tû sè chi phÝ-träng lîng kh¸c nhau. Trong phÇn tiÕp theo, ta xÐt mét sè bµi to¸n tèi u rêi r¹c ph©n thøc tuyÕn tÝnh d¹ng : FL : max pp pp xbxbxb xaxaxa ... ... 2211 2211 víi (x1,x2,. ..,xp ) X. II. Bµi to¸n t×m ®êng ®i cã tû sè lín nhÊt trong ®å thÞ kh«ng cã chu tr×nh. Mét vÝ dô cho bµi to¸n qui ho¹ch rêi r¹c ph©n tuyÕn lµ bµi to¸n ®êng ®i cã tû sè lín nhÊt (MaxRatioPath) nh sau: Cho ®å thÞ cã híng n ®Ønh víi tËp c¹nh E. C¸c hµm chi phÝ trªn c¹nh: c : E R vµ hµm träng lîng c¹nh w: E R. Gi¶ sö víi (v,u) E th× v < u vµ mäi ®Ønh ®Òu cã thÓ ®Õn ®îc tõ ®Ønh 1. Cho ®êng ®i P vµ gäi f(P)= Puv uvc ),( ),( , g(P)= Puv uvw ),( ),( , f(P)/g(P) lÇn lît lµ chi phÝ, träng lîng vµ chi phÝ-träng lîng trung b×nh. YÒu cÇu cña bµi to¸n lµ t×m ®êng ®i tõ ®Ønh 1 tíi ®Ønh n ®Ó chi phÝ-träng lîng trung b×nh lín nhÊt: MaxRatioPath: Max )( )( Pg Pf trªn tÊt c¶ ®êng ®i P E tõ ®Ønh 1 tíi ®Ønh n. VÐc t¬ x X cã d¹ng x {0,1}E sÏ t¬ng øng víi c¸c ®êng ®i tõ ®Ønh 1 tíi ®Ønh n. Bµi to¸n tham sè t¬ng øng cña MaxRatioPath lµ: 3 MaxPath() : Max f(P)-g(P) víi tÊt c¶ PE tõ ®Ønh 1 tíi ®Ønh n. Víi mçi R vµ ®êng ®i P cè ®Þnh, f(P)-g(P)= Pe ewec ))()(( , v× vËy gi¸ trÞ tèi u cña MaxPath() lµ gi¸ trÞ lín nhÊt cña mét ®êng ®i tõ ®Ønh 1 tíi ®Ønh n theo hµm chi phÝ trªn c¹nh c -w. VÝ dô : XÐt ®å thÞ cã híng minh ho¹ trªn h×nh vÏ. C¸c ®êng th¼ng 9-6, 8-4, 6-2, vµ 4- t¬ng øng víi 4 ®êng tõ ®Ønh 1 tíi ®Ønh 4. §êng ®i tèi u lµ 1-3-4. ThuËt to¸n MaxCost díi ®©y tÝnh to¸n gi¸ trÞ lín nhÊt cña mét ®êng ®i tõ ®Ønh 1 tíi ®Ønh n cña tËp c¸c c¹nh E vµ mét hµm chi phÝ trªn c¹nh a bÊt kú b»ng c¸ch xÐt trong c¸c ®Ønh tõ 1 tíi n-1. Trong khi xÐt ®Ønh v, thuËt to¸n kiÓm tra tÊt c¶ c¸c c¹nh ®i ra tõ v.Trong qu¸ tr×nh tÝnh to¸n, biÕn boolean seen[u] chØ ra ®Ønh u ®· ®îc th¨m hay cha. C¸c phÇn tö cña m¶ng d[v] víi v=1,2,...,n lµ b»ng gi¸ trÞ lín nhÊt cña ®êng ®i tõ ®Ønh 1 tíi ®Ønh v sau mét lÇn tÝnh. BiÕn predecessor trá tíi d¹ng mét c©y chøa "®êng ®i dµi nhÊt" cã gèc lµ ®Ønh 1. C¸c thuËt to¸n tr×nh bµy díi d¹ng ng«n ng÷ tùa C. ThuËt to¸n MaxCost. 1) d[1]:=0; seen[1]:=true 2) for v=2 to n do seen[v]=false 3) for v=1 to n-1 do 4) for each u such that (v, u ) E do 5) if (not seen[u]) or (d[v] +a(v, u)-d[u] >0 ) then 6) d[u]:= d[v] +a(v, u) ; predecessor[u]:=v ; seen[u]:= true 7) Let P=(v1, v2,. .., vk ) where v1=1, vk =n, and vi= predecessor[vi+1] for i=1,2,..,k-1 path1-2-3-4) path1-2-3-4) path1-2-4) path1-2-3-4) path1-4) path1-2-3-4) path1-3-4) path1-2-3-4) h 4 8) return d[n] and path P. Nh vËy nÕu * lµ gi¸ trÞ tèi u cña MaxPath() th× ta ch¹y thuËt to¸n víi ®Çu vµo lµ (n,E,c-*w) sÏ tr¶ l¹i gi¸ trÞ 0 vµ mét ®êng ®i P lµ tèi u cho bµi to¸n MaxRatioPath . B©y giê, ta thö ch¹y MaxCost víi ®Çu vµo lµ (n,E, c-*w) nhng kh«ng biÕt gi¸ trÞ *. §©y lµ c¸ch t×m kiÕm tham sè theo ph¬ng ph¸p Megiddo[2]. Tõ dßng 5) trong thuËt to¸n MaxCost trªn ta cã: d[v] + (c(v,u)-*w(v,u))-d[u] > 0 tøc cã d¹ng : s-*t >0 cã ba kh¶ n¨ng : s/t * hoÆc s/t= *. V× vËy ta cã thuËt to¸n cho bµi to¸n MaxRatioPath nh sau: WeightedMaxCost(n,E,c,w) 1) d[1]:=0 ; seen[1]:=true 2) for v=2 to n do seen[v]:=false 3) for v=1 to n-1 do 4) for each u such that (v, u ) E do 5) let s and t be the number such that s-*t =d[v] + c(v,u)-*w(v,u) -d[u] 6) if t # 0 then 7) x:=the number returned by MaxCost(n,E,c-(s/t)w) 8) if (not seen[u]) or (t=0 and s>0) or (tx<0) then 9) d[u]:= d[v] + c(v,u)-*w(v,u); 10) predecessor[u]:=v ; seen[u]:= true 11) Let P=(v1, v2,. .., vk ) where v1=1, vk =n, and vi= predecessor[vi+1] for i=1,2,..,k-1 12) return path P. III. Ph¬ng ph¸p Newton. Ph¬ng ph¸p Newton cho bµi to¸n tèi u rêi r¹c ph©n tuyÕn lµ mét øng dông cña ph¬ng ph¸p Newton cæ ®iÓn cho bµi to¸n t×m nghiÖm cña hµm h() ®Þnh nghÜa ë (2). §Ó sö dông ph¬ng ph¸p nµy ta gäi Amax lµ thuËt to¸n tÝnh to¸n h() vµ x X tho¶ f(x)-g(x) =h() víi ®· cho. (Tøc lµ gi¶i quyÕt bµi to¸n P() b»ng ph¬ng ph¸p cña quy ho¹ch tham sè, xem [3]). Ph¬ng ph¸p Newton cho bµi to¸n F lµ t¹o ra qu¸ tr×nh lÆp trong ®ã mçi bíc lÆp sinh ra mét xÊp xØ míi gÇn gi¸ trÞ môc tiªu tèi u * h¬n. T¹i bíc lÆp thø i, íc lîng * lu«n ®îc xem xÐt vµ qu¸ tr×nh tÝnh to¸n nh sau: Tríc hÕt, ch¹y thuËt to¸n Amax cho =i thu ®îc hi= h(i) vµ xi X tho¶ m·n: f(xi)-ig(xi)=hi. NÕu hi=0 th× i= * lµ nghiÖm tèi u cña bµi to¸n F vµ qu¸ tr×nh tÝnh to¸n dõng l¹i. Ngîc l¹i ta thu ®îc íc lîng míi i+1:=f(xi)/g(xi) (NhËn xÐt i < i+1 * v× hi > 0) vµ chóng ta xö lý bíc lÆp tiÕp theo. (H×nh minh ho¹ ph¬ng ph¸p Newton gi¶i h()=0 ) 5 Qu¸ tr×nh tÝnh to¸n b¾t ®Çu víi 1=0. Gäi t lµ chØ sè cña bíc lÆp cuèi cïng vµ t=+ nÕu qu¸ tr×nh tÝnh to¸n kh«ng dõng. §Æt fi=f(xi) vµ gi= g(xi), víi mçi 1 i < t+1. Tõ qu¸ tr×nh m« t¶ trªn ta cã : hi= fi- igi víi mçi 1 i < t+1, i+1 =fi / gi, víi mçi 1 i <t. C¸c kÕt qu¶ sau ®· ®îc chøng minh trong[1],[4], rÊt cã ý nghÜa trong c¸c vÊn ®Ò vÒ ®é phøc t¹p tÝnh to¸n(computational complexity) trong to¸n häc vµ tin häc: KÕt qu¶ 1. Ph¬ng ph¸p Newton dõng sau mét sè h÷u h¹n bíc lÆp vµ : (A) h1 >h2 >. ..>ht-1 > ht =0, (B) 0 = 1 < 2 <...< t-1 <t = *, (C) g1 > g2 >...>gt-1 >gt. KÕt qu¶ 2. Víi mçi i=1,2,..., t-1, th× 111 i ii g g hi h . KÕt qu¶ 3. Ph¬ng ph¸p Newton gi¶i bµi to¸n F víi nhiÒu nhÊt log(MAXf )+log(MAXg)-log(MINg)-log(GAP) +2 bíc lÆp. KÕt qu¶ 4.Víi bµi to¸n tèi u rêi r¹c ph©n tuyÕn tÝnh FL tho¶ m·n tÊt c¶ c¸c ai, bi, 1 i p, lµ nguyªn vµ kh«ng lín h¬n U th× ph¬ng ph¸p Newton ch¹y trong O(log(pU)) bíc lÆp. KÕt qu¶ 5.Gäi c=(c1,c2,...,cp) lµ mét vÐc t¬ p-chiÒu víi c¸c thµnh phÇn thùc kh«ng ©m,vµ gäi y1, y2,...,yp lµ vÐc t¬ thuéc {-1,0,1} p. NÕu víi tÊt c¶ i=1,2,..,q-1 0 <yi+1c 2 1 yic th× q=O(plogp). VËy suy ra: Gäi c=(c1,c2,...,cp) vµ y1, y2,...,yp lµ c¸c vÐc t¬ thuéc {0, 1} p. i hi i+1 hi+1 f(xi)-g(xi) f(xi+1)-g(xi+1) 6 NÕu 0 <yi+1 c 2 1 yic víi mäi i=1,2,.., q-1 th× q=O(plogp). KÕt qu¶ 6.Ph¬ng ph¸p Newton gi¶i bµi to¸n qui ho¹ch rêi r¹c ph©n tuyÕn tÝnh FL trong O(p3logp) bíc. KÕt qu¶ 7. Cã nhiÒu nhÊt O(plogp) bíc lÆp k tho¶ m·n : gk+1 (2/3)gk. KÕt qu¶ 8. Cã nhiÒu nhÊt O(plogp) bíc lÆp liªn tiÕp k tho¶ m·n : gk+1 (2/3)gk. Tõ hai kÕt qu¶ 7 vµ 8 ta suy ra nhËn xÐt: Ph¬ng ph¸p Newton gi¶i bµi to¸n qui ho¹ch rêi r¹c ph©n tuyÕn tÝnh FL trong O(p 2log2p) bíc lÆp. Trë l¹i bµi to¸n MaxRatioPath, nÕu c¸c träng lîng lµ kh«ng ©m th× ph¬ng ph¸p Newton l¹i chØ yªu cÇu O(nlogn) bíc lÆp. §iÒu nµy ®îc kh¼ng ®Þnh nhê kÕt qu¶ sau: KÕt qu¶ 9. Ph¬ng ph¸p Newton gi¶i bµi to¸n MaxRatioPath trong O(nlogn) bíc lÆp vµ thêi gian tÝnh O(n2logn) nÕu c¸c träng lîng cña c¸c c¹nh lµ kh«ng ©m. Tµi liÖu tham kh¶o 1.NguyÔn M¹nh Hïng, Mét sè bµi to¸n tèi u trªn tËp rêi r¹c víi hµm môc tiªu ph©n tuyÕn, LuËn v¨n Th¹c sÜ – ViÖn To¸n häc –2001. [2]. N.Megiddo. "Combinatorial optimization with rational object functions". Mathematics of Operation Reseach 4 -1979. [3]. Bïi ThÕ T©m-TrÇn Vò ThiÖu, "C¸c ph¬ng ph¸p tèi u ho¸", Nhµ xuÊt b¶n Giao th«ng vËn t¶i, Hµ néi, 1998. [4]. C.H.Papadimitriou and K.Steiglitz, Combinatorial Optimization : Algorithms and Complexity. Pren-tice-Hall, Englewood Cliffwood, 1982. Algorithms for Fractional Programming and application Abstract: Water resources systems create many special problems, for example, in water resources planning, one wants to maximize economic efficiency, environmental quality, flood control capabilities...,which make the application of optimization methodologies and mathematical models quite difficult from different characteristics of these systems in relation with combinatorial optimization. The distinguishing feature of discrete, combinatorial optimization is that some of the variables are required to belong to a discrete set and it has been developing rapidly because of the widespread use of computer and information technology. Some techniques are viewed here as solutions of our algorithms and convergence theorems for Fractional Programming problems. We present a version of Newton's method deals with computational complexity and the optimal solution is approximated by Polynomial –Time Algorithms that stop for some finite iteration index. 7 8
File đính kèm:
- mot_so_thuat_toan_giai_bai_toan_toi_uu_phan_thuc_va_ung_dung.pdf