bai toan luong

  • Upload
    ha-kim

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

  • 8/19/2019 bai toan luong

    1/16

    Bài toán luồng vớ i chi phí nhỏ nhất

    A L G O R I T H M S A N D N E T W O R K S

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh

  • 8/19/2019 bai toan luong

    2/16

    Nội dung bài học

    Bài toán luồng vớ i chi phí nhỏ nhất: phát biểu và ứng

    dụng. Thuật toán “cycle cancelling”

    Một vài biến thể thờ i gian đa thức của “cycle cancelling”

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh2

    Thuật toán áp dụng liên tiếp bài toán đườ ng đi ngắn nhất(the successive shortest paths algorithm)

  • 8/19/2019 bai toan luong

    3/16

    Bài toán luồng chi phí nhỏ nhất

    Trên một cạnh của đồ thị ta có

    Khả năng thông qua (Capacity) c(u,v): giớ i hạn về đại lượ ng có thểthông qua cạnh đó

    Giá (Cost) cost(u,v): giá phải trả tính trên đơ n vị của luộng thông quacạnh.

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh3

    Giá của luồng (Cost of flow) f : Tổng trên tất cả các cạnh (u,v) của f (u,v).cost(u,v)

  • 8/19/2019 bai toan luong

    4/16

  • 8/19/2019 bai toan luong

    5/16

    Khả năng thông qua vô hạn Có thể xẩy ra trườ ng hợ p c ó một số cạnh của đồ thị có khả năng

    thông qua vô hạn

    Nếu c ó một chu trình vớ i giá âm tạo thành chỉ bở i các cạnh có khảnăng thông qua vô hạn thì chúng ta có thể tạo r a một luồng vớ i giánhỏ tùy ý=> đây là trườ ng hợ p suy biến

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh5

    Trong các trườ ng hợ p khác:Ta có th chuy n v trườ ng hợ p vớ i giáhữu hạn bằng cách đặt khả năng của cạnh vô hạn bằng tổng khả năngcủa tất cả các cạnh hữu hạn

  • 8/19/2019 bai toan luong

    6/16

    Trườ ng hợ p có nhiều nút đích

    Tươ ng tự nhưbài toán max-flow vớ i nhiều

    s1 t1

    6

    G

    sk  tr

    ts

  • 8/19/2019 bai toan luong

    7/16

    Giá trên các cung là không âm

    Có thể coi tất cả các cost là không âm.

    Nếu có giá âm:giả sử khả năng hữu hạn. Biến đổi mạng vềmạng tươ ng đươ ng vớ i giá không âm:

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh7

    b a

    s b a t

    Cost -r

    Cost r

    Capacity c

    Capacity cCapacity c Capacity c

    Cost 0 Cost 0

  • 8/19/2019 bai toan luong

    8/16

    Ứ ng dụng

    Bài toán vận tải

    Ghép cặp Matching vớ i giá nhỏ nhất Reconstruction of Left Ventricle from X-ray projections

    Ima e: Mản hai chiều các bit; biết tổn hàn , tổn cột và xác

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh8

     

    xuất cho từng bit Tìm ảnh vớ i giá trị đúng các cột và các dòng vớ i xác xuất là

    lớ n nhất

    Bài toán này có thể mô tả như bài toán minimum cost flow

  • 8/19/2019 bai toan luong

    9/16

    Mạng thặng dư Khả năng thông qua như trong bài toán luồng cực đại.

    Nếu f (u,v)>0 thì cost f (u,v) = cost(u,v), and cost f (v,u) = –cost(u,v).

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh9

  • 8/19/2019 bai toan luong

    10/16

    Ví dụ

    a b

    Capacity 5, cost 3

    Giả sử chúng ta gửi luồng 1từ a tớ i b

     

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh10

    Capacity 2, cost 6

    a

    apac y , cos

    Capacity 2, cost 6

    Capacity 1, cost -3

    b

    In Gf :

  • 8/19/2019 bai toan luong

    11/16

    Thuật toán cycle cancelling Tạo r a một luồng khả thi f trên mạng

    while G f có một chu trình âm do Tìm một chu trình âm C in G f  Gọi D là khả năng thặng dư nhỏ nhất c f của một cạnh trên C Cho thêm D đơ n v vào mỗi c nh trên C:Đâ là m t luồn khả thi

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh11

     

    mớ i vớ i chi phí nhỏ hơ n Output f .

  • 8/19/2019 bai toan luong

    12/16

    Thuật toán Cycle cancelling là đúng đắn

     Định lí :  f  có giá nhỏ nhất nếu và chỉ nếu G f  không có

    chu trình âm Nếu G có chu trình âm thì ta có thể cải thiện G để thu đượ c một

    luộng có giá nhỏ hơ n.

     

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh12

    s m u ng, v   m u ng   ưu.  –  m“circulation” trên G f  , t ừ đ ây là t  ổ hợ  p tuyế n tính của các chutrình,và nếu f không phải l à t  ố i ư u thì t  ổ ng giả của chu trìnhnày là âm do đó tồn tại một chu trình âm trong tập hợ p này đó

    là một chu trình âm trong G f .

  • 8/19/2019 bai toan luong

    13/16

    Thuật toán cycle cancelling

    Thuật toán cycle cancelling không đảm bảo là có thờ i

    gian đa tức. Hệ quả:Nếu mọi giá, capacities,và luồng muốn thông

    qua là số nguyên thì tồn tại một luồng tối ưu vớ i các giá

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh13

    trị nguyên. Thuật toán cycle cancelling tìm đượ c một luồng nguyên

    Biến thể: sử dụng chu trình giá trung bình nhỏ nhất (the

    minimum mean cost cycle) cho thuật toán thờ i gian đathức

  • 8/19/2019 bai toan luong

    14/16

    Minimum mean-cost circulation

    algorithm

    Trong thuật toán cycle cancelling ta tìm minimum mean

    cost cycle và sử dụng chúng O(nm) time to find the cycle.

    Có một định lí chỉ ra rằng số bướ c lặp là O(nm2 log2 n).

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh14

    .

  • 8/19/2019 bai toan luong

    15/16

    Successive shortest paths

     Bắ t  đầu vớ i luồng f vớ i f (u,v)=0 cho mọi (u,v).

    repeat until value( f ) = r  Tìm shortest path P trong G f  từ s tớ i t 

     Đặt q là minimum residual capacity của các cạnh trên P.

     

    Hanoi University of Agriculture Operation Research PhD. Trần Đức Quỳnh15

    Gửi min(q,r – value( f )) giá trị cho lu ng dọc theo P.

  • 8/19/2019 bai toan luong

    16/16

    16

    On the successive shortest paths algorithm

    Có thể sử dụng thờ i giantính toán là số mũ

    Giả sử G không có cạnhnáo có cost âm.

    Cho lờ i iải tối ưu.

    Giả sử thu đượ c f’ từ f bybằng cách gửi theo P.

     Đặt f ’’ là luồng vớ i giá nhỏnhất vớ i cùng giá trị vớ i f’. Viết f ’’ – f như tổng trọng số

    Đại học nông nghiệp Hà nội Bài giảng Vận Trù Học Phd. Trần Đức Quỳnh

    Bất biến: f  có giá nhỏ nhấttrong tất cả các luồn có giátrị value( f ).

    G f và circuits trong G f .Chứng tỏ cost( f’ – f ) ≤cost( f’’– f ), suy ra:

    P is shortest path

    Circuits have non-negativecosts, by optimality of f .