BÀI TOÁN LUỒNG BÉ NHẤT

Chia sẻ bởi Nguyễn Việt Vương | Ngày 02/05/2019 | 109

Chia sẻ tài liệu: BÀI TOÁN LUỒNG BÉ NHẤT thuộc Bài giảng khác

Nội dung tài liệu:

9.3. BÀI TOÁN LUỒNG BÉ NHẤT
Bài toán:
Cho mạng (G, c). Tìm luồng t qua mạng có giá trị tz bé nhất và thoả mãn điều kiện a’) thay cho điều kiện a) như sau:
a’)  e  E , t(e)  c(e).
THUẬT TOÁN TÌM LUỒNG BÉ NHẤT
Thuật toán 9.2.
Ta cải tiến thuật toán Ford – Fulkerson như sau:
Xuất phát từ một luồng t nào đó thoả mãn điều kiện b), ta tiến hành hai bước sau đây để giảm giá trị của luồng t.
- Bước 1: Đánh dấu các đỉnh
- Bước 2: Giảm luồng
BƯỚC ĐÁNH DẤU
Đầu tiên đánh dấu cho đỉnh thu z số 0.
Nếu đỉnh y đã được đánh dấu, có cạnh (x, y) với đỉnh đầu x chưa được đánh dấu và t((x,y)) > c((x,y)) thì đánh dấu cho đỉnh x là +y.
BƯỚC ĐÁNH DẤU (tiếp)
Nếu đỉnh x đã được đánh dấu, có cạnh (x, y) thì đánh dấu cho đỉnh y là -x.
Với cách đánh dấu này mà đi ngược tới được đỉnh phát x0 thì ta đã tìm được một đường đi vô hướng
từ z tới x0.

BƯỚC GIẢM LUỒNG
Chọn luồng mới t’ như sau:
- Nếu cạnh e không thuộc đường đi trên thì giữ nguyên luồng.
- Nếu cạnh e thuộc đường đi này và cùng chiều từ x0 tới z thì đặt t’(e) := t(e) -1 còn nếu ngược chiều thì đặt t’(e) := t(e) + 1 .

Lặp lại quá trình giảm luồng trên cho đến khi không đánh dấu được tới đỉnh phát x0.
Khi đó luồng nhận được có giá trị nhỏ nhất.
VÍ DỤ 9.2
Xét mạng vận tải sau đây:




Hình 9.7. Mạng vận tải và luồng đã giảm

Luồng cũ có giá trị là tz = 19. Luồng mới sau khi cải
tiến có giá trị là tz’ = 18 và là luồng nhỏ nhất.

9.4. LUỒNG TRÊN MẠNG CÓ NHIỀU
ĐỈNH PHÁT VÀ ĐỈNH THU
Giả sử (G, c) là một mạng vận tải với n đỉnh phát: p1, p2, … , pn và m đỉnh thu: t1, t2, … , tm.

Bài toán tìm luồng lớn nhất từ nhiều đỉnh phát tới nhiều
đỉnh thu có thể đưa về bài toán luồng lớn nhất bằng cách
thêm vào một đỉnh phát giả X0, một đỉnh thu giả Z, các
cạnh nối X0 với tất cả các đỉnh phát và các cạnh nối tất cả
các đỉnh thu với Z.


9.4. LUỒNG TRÊN MẠNG CÓ NHIỀU
ĐỈNH PHÁT VÀ ĐỈNH THU (tiếp)







Hình 9.8. Mạng vận tải có nhiều đỉnh phát và nhiều đỉnh thu
9.4. LUỒNG TRÊN MẠNG CÓ NHIỀU
ĐỈNH PHÁT VÀ ĐỈNH THU (tiếp)
Khả năng thông qua của các cạnh mới như sau:
- Nếu lượng phát của đỉnh pi bị hạn chế bởi li thì đặt c(X0, pi) = li còn nếu không bị hạn chế thì đặt bằng .
- Tương tự, giới hạn của lượng thu của đỉnh tj sẽ là khả năng thông qua của cạnh (tj, Z).

9.5. BÀI TOÁN TÌM CẶP GHÉP LỚN NHẤT
Giả sử G = (V1,V2, F) là đồ thị hai phần. Hãy tìm cặp ghép lớn nhất trên đồ thị này.

Bài toán này là một dạng đặc biệt của bài toán mạng với nhiều đỉnh phát và nhiều đỉnh thu.
Ta đưa bài toán này về bài toán luồng lớn nhất.
9.5. BÀI TOÁN TÌM CẶP GHÉP
LỚN NHẤT (tiếp)
Xây dựng mạng vận tải như sau:
- Các đỉnh của mạng là các đỉnh của đồ thị G và thêm vào đỉnh phát x0 và đỉnh thu z.
- Mạng sẽ gồm tất cả các cạnh của G có hướng từ V1 sang V2.
- Ngoài ra, nối x0 với tất cả các đỉnh trong V1 và nối tất cả các đỉnh trong V2 với z.
- Trên mỗi cạnh e của mạng đều đặt c(e) = 1.


9.5. BÀI TOÁN TÌM CẶP GHÉP
LỚN NHẤT (tiếp)
Khi đó, mỗi luồng t qua mạng sẽ ứng với một cặp ghép W của G mà: e  W  t(e) = 1.
Ngược lại, mỗi cặp ghép W sẽ ứng với một luồng t qua mạng của G cũng theo quy tắc trên.
Vậy tz đạt lớn mhất khi W có nhiều cạnh nhất.
VÍ DỤ 9.3
Từ một đồ thị hai phần ta xây dựng mạng vận tải như
sau:












Hình 9.9. Mạng vận tải trên đồ thị hai phần
9.6. MẠNG VẬN TẢI VỚI KHẢ NĂNG
THÔNG QUA CỦA CẠNH VÀ ĐỈNH
Giả sử trong mạng (G, c) ngoài khả năng thông qua của các cạnh thì với mỗi đỉnh x  V còn có khả năng thông qua của đỉnh là d(x) và đòi hỏi tổng luồng đi vào đỉnh x không được vượt quá d(x), nghĩa là:
t(W-(x))  d(x).
Hãy tìm luồng lớn nhất giữa x0 và z trên mạng này.
9.6. MẠNG VẬN TẢI VỚI KHẢ NĂNG
THÔNG QUA CỦA CẠNH VÀ ĐỈNH (tiếp)
Đưa bài toán này về bài toán luồng lớn nhất:
Xây dựng mạng G’:
- Mỗi đỉnh x trong G thay bằng hai đỉnh x- và x+,
- Cạnh (x- , x+) thuộc G’ và c((x-,x+)) = d(x),
- Mỗi cạnh (x, y) trong G tương ứng với cạnh (x+, y- ) trong G’.

VÍ DỤ 9.4
Xét mạng vận tải sau đây:













Hình 9.10. Mạng vận tải với khả năng thông qua cạnh và đỉnh
VÍ DỤ 9.4 (tiếp)
Xây dựng mạng (G’, c) như sau:

Hình 9.11. Mạng vận tải tương ứng
Do luồng đi vào đỉnh x- phải đi qua cạnh (x-, x+) với khả năng thông qua d(x) nên luồng lớn nhất trong G’ sẽ bằng luồng lớn nhất trong G và thoả mãn các điều kiện về khả năng thông qua của các cạnh và các đỉnh.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Việt Vương
Dung lượng: | Lượt tài: 4
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)