Một số thuật toán giải bài toán tối ưu phân thức và ứng dụng ths nguyễn mạnh hùng1

7 7 0
Một số thuật toán giải bài toán tối ưu phân thức và ứng dụng   ths  nguyễn mạnh hùng1

Đang tải... (xem toàn văn)

Thông tin tài liệu

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Ý[.]

một số thuật toán giải toán tối ưu phân thức ứ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 nhiều vấn đề đặc biệt, ví dụ, sử dụng tối ưu nguồn nước, việc cực đại hiệu kinh tế, chất lượng môi trường, khả điều tiết lũ vv ứng dụng phương pháp tối ưu hoá mô hình Toán học gặp nhiều khó khăn đặc trưng khác hệ thống liên quan đến toán qui hoạch rời rạc Đặc điểm khác biệt tối ưu rời rạc, tối ưu tổ hợp biến thuộc miền rời rạc đà phát triển nhanh chóng việc sử dụng rộng khắp máy tính công nghƯ th«ng tin Mét sè kü tht cđa tèi ­u rời rạc lời giải thuật toán , định lý hội tụ cho 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 thuật toán nghiệm tối ưu xấp xĩ thuật toán đa thức dừng sau số hữu hạn bước lặp I Giới thiệu Bài toán tìm cực đại cực tiểu thương hai hàm thực tập D không gian Rn gọi toán tối ưu phân tuyến Bài toán tối ưu phân tuyến tìm nhiều ứng dụng thực tế, chẳng hạn để đo hiệu số hệ thống thể tỷ số lợi nhuận /thời gian, phí tổn /thời gian, Một lớp toán tối ưu phân tuyến thường gặp thực tế 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 phát biÓu nh­ sau: (F): max{ f(x)/g(x) : xX } (1) ®ã g(x) >0 xX, f(x) >0 víi mét sè x X, Các phần tử tập rời rạc X gọi cấu trúc, f(x) thường gọi hàm chi phí ( cost), g(x) thường gọi hàm trọng lượng (weight) Một ví dụ toán qui hoạch rời rạc phân tuyến tìm : Max { f(x)/g(x), xX} ®ã X {0,1}p Cïng víi toán F ta xét toán sau: (G): Min R víi f(x)-g(x) 0 x X CỈp (*, x*)R  X nghiệm tối ưu toán G nếu: f(x)-*g(x) 0= f(x*)-*g(x*) với xX Điều tương đương với : f(x)/g(x) *= f(x*)/g(x*) với xX, có nghĩa * giá trị mục tiêu tối ưu x* nghiệm tối ưu toán F Vì toán F G tương đương Gọi P() toán bổ trợ tham số tương ứng 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 nghiệm tối ưu toán P() Ta có h() =0 chØ nÕu (, x* ) lµ nghiƯm tèi ­u cđa G, tøc lµ, nÕu vµ chØ nÕu  vµ x* giá trị mục tiêu tối ưu nghiệm tối ưu toán F Vì ta có dạng tương đương khác toán F: ( Z) : Tìm R thoả mÃn h() =0 h() =max { f(x) - g(x) x X } (2) ChÝnh dạng gợi cách thiết kế thuật toán cho toán F cách áp dụng phương pháp cổ điển tìm nghiệm hàm Các tính chất sau hàm h suy với h maximum số hữu hạn hàm tuyến tính giảm (i) Hàm h liên tục (-, +) giảm ngặt từ + tới - (ii) h(0) >0 (Được suy tõ gi¶ sư f(x) > víi mét số x X đó) (iii) Hàm h có xác nghiệm * * > (iv) NÕu 1< 2 < < q lµ ký hiƯu tÊt giá trị mà hai đường {f(x)- g(x) xX} giao hàm h tuyến tính đ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 = { f(x,)/g(x,)-f(x,,)/g(x,,) : x,, x,, X, f(x,)/g(x,) f(x,,)/g(x,,)} Các giả thiết hàm f(x) g(x) toán F giá trị mục tiêu tối ưu toán F n»m kho¶ng (0, MAXf / MINg ) Tham sè GAP khác biệt nhỏ hai tỷ số chi phí-trọng lượng khác Trong phần tiếp theo, ta xét số toán tối ưu rời rạc phân thức tuyến tính dạng : FL : II max a1 x1  a x   a p x p víi b1 x1  b2 x   b p x p (x1,x2, ,xp ) X Bài toán tìm đường có tỷ số lớn đồ thị chu trình Một ví dụ cho toán qui hoạch rời rạc phân tuyến toán đường có tỷ số lớn (MaxRatioPath) sau: Cho đồ thị có hướng n đỉnh với tập cạnh E Các hàm chi phí cạnh: c : ER hàm trọng lượng cạnh w: ER Giả sử với (v,u) E v < u đỉnh đến từ ®Ønh Cho ®­êng ®i P vµ gäi f(P)= c(v, u) , g(P)=  w(v, u ) (v,u)P , f(P)/g(P) chi phí, trọng (v,u )P lượng chi phí-trọng lượng trung bình Yều cầu toán tìm đường từ đỉnh tới đỉnh n để chi phí-trọng lượng trung bình lớn nhất: MaxRatioPath: Max f ( P) g ( P) tất đường ®i P E tõ ®Ønh tíi ®Ønh n VÐc tơ xX có dạng x{0,1}E tương ứng với đường từ đỉnh tới đỉnh n Bài toán tham số tương ứng MaxRatioPath là: Max f(P)-g(P) với tất PE từ đỉnh tới đỉnh n MaxPath() : Với R đường P cố định, f(P)-g(P)= eP (c(e) w(e)) , giá trị tối ưu MaxPath() giá trị lớn nhÊt cđa mét ®­êng ®i tõ ®Ønh tíi ®Ønh n theo hàm chi phí cạnh c -w Ví dụ : Xét đồ thị có hướng minh hoạ hình vẽ Các đường thẳng 9-6, 8-4, 6-2, 4- tương ứng với đường từ đỉnh tới đỉnh Đường tối ưu 1-3-4 h 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)   ThuËt to¸n MaxCost tính toán giá trị lớn mét ®­êng ®i tõ ®Ønh tíi ®Ønh n cđa tập cạnh E hàm chi phí cạnh a cách xét đỉnh tõ tíi n-1 Trong xÐt ®Ønh v, tht toán kiểm tra tất cạnh từ v.Trong trình tính toán, biến boolean seen[u] đỉnh u đà thăm hay chưa Các phần tử mảng d[v] với v=1,2, ,n giá trị lín nhÊt cđa ®­êng ®i tõ ®Ønh tíi ®Ønh v sau lần tính Biến predecessor trỏ tới dạng chứa "đường dài nhất" có gốc đỉnh Các thuật toán trình bày 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 seen[v]=false 3) for v=1 to n-1 4) for each u such that (v, u )E 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 8) return d[n] and path P Nh­ vËy nÕu * giá trị tối ưu MaxPath() ta chạy thuật toán với đầu vào (n,E,c-*w) trả lại giá trị đường P tối ưu cho toán MaxRatioPath Bây giờ, ta thử chạy MaxCost với đầu vào (n,E, c-*w) giá trị * Đây cách tìm kiếm tham số theo phương pháp Megiddo[2] Từ dòng 5) thuật toán MaxCost ta có: d[v] + (c(v,u)-*w(v,u))-d[u] > tức có dạng : s-*t >0 có ba khả : s/t < *, s/t > * s/t= * Vì ta có thuật toán cho toán MaxRatioPath nh­ sau: WeightedMaxCost(n,E,c,w) 1) d[1]:=0 ; seen[1]:=true 2) for v=2 to n seen[v]:=false 3) for v=1 to n-1 4) for each u such that (v, u )E 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 # 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) xử lý bước lặp (Hình minh hoạ phương pháp Newton giải h()=0 ) f(xi)-g(xi) f(xi+1)-g(xi+1) hi hi+1 i i+1 Quá trình tính toán bắt đầu với 1=0 Gọi t số bước lặp cuối t=+ trình tính toán không dừng Đặt fi=f(xi) gi= g(xi), với i < t+1 Từ trình mô tả ta có : hi= fi- igi với i < t+1, i+1 =fi / gi, với i h2 > >ht-1 > ht =0, (B) = 1 < 2 < < t-1 g2 > >gt-1 >gt KÕt qu¶ Với i=1,2, , t-1, hi gi hi gi Kết Phương pháp Newton giải toán F với nhiều log(MAXf )+log(MAXg)-log(MINg)-log(GAP) +2 bước lặp Kết 4.Với toán tối ưu rời rạc phân tuyến tính FL thoả mÃn tất ai, bi, i p, nguyên không lớn U phương pháp Newton chạy O(log(pU)) bước lặp Kết 5.Gọi c=(c1,c2, ,cp) véc tơ p-chiều với thành phần thực không âm,và gọi y1, y2, ,yp véc tơ thuộc {-1,0,1}p Nếu víi tÊt c¶ i=1,2, ,q-1

Ngày đăng: 21/11/2022, 15:03

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

Tài liệu liên quan