Mở đầu Chương 2: Cơ sở lý thuyết mặt cắt tối thiểu Chương 3: Áp dụng trên ví dụ mẫu và sơ đồ thực tế Chương 4: Kết luận và hướng phát triển 1 Chương 2 CƠ SỞ LÝ THUYẾT MẶT CẮT TỐI THIỂU 2. Giới thiệu chung Mạng là đồ thị có hướng G = (V, E), trong đó có duy nhất một đỉnh A không có cung đi vào gọi là điểm phát, duy nhất một đỉnh B không có cung đi ra gọi là đỉnh thu và giá trị của một luồng là: Tổng luồng trên các cung đi ra khỏi đỉnh phát bằng tổng luồng trên các cung đi vào đỉnh thu. Ta gọi lát cắt (X, Y) là một cách phân hoạch tập đỉnh V của mạng thành hai tập rời nhau X và Y, trong đó X chứa đỉnh phát A và Y chứa đỉnh thu B. Khả năng thông qua của lát cắt (X, Y) là tổng tất cả các khả năng thông qua của các cung (u, v) có u ∈X và v ∈Y.
Lát cắt với khả năng thông qua nhỏ nhất gọi là lát cắt hẹp nhất "Min cut". Định lý Ford-Fulkerson phát biểu: "Giá trị luồng cực đại trên mạng đúng bằng khả năng thông qua của lát cắt hẹp nhất/cực tiểu". Vậy bài toán mặt cắt tối thiểu là bài toán đi tìm lát cắt có luồng nhỏ nhất. Thuật toán "min cut" của Mechtild Stoer và Frank Wagner Mechtild Stoer và Frank Wagner [17] dựa trên định lý Ford-Fulkerson thiết lập thuật toán xác định mặt cắt tối thiểu "min cut" để xác định lát cắt nhỏ nhất của mạng bằng cách chia tập hợp các đỉnh của mạng thành hai phần riêng biệt, với trọng số của lát cắt là tổng trọng số của các cạnh mà lát cắt đi qua.
Thuật toán Cho đồ thị vô hướng G = (V, E), với V là tập đỉnh, E tập cạnh và mỗi cạnh e có trọng số dương w(e). 𝑀𝑖𝑛𝑖𝑚𝑢𝑚𝐶𝑢𝑡𝑃ℎ𝑎𝑠𝑒 (𝐺, 𝑤, 𝑎) 𝐴 ← {𝑎 } Với 𝐴 ≠ 𝑉 2 Thêm vào A đỉnh kết nối mạnh nhất (trọng số lớn nhất), ghi bước cắt và rút lại G bằng cách cộng hai đỉnh được thêm vào cuối cùng. Một tập A các đỉnh đồ thị sẽ phát triển bắt đầu với một đỉnh đơn tùy ý cho đến khi A = V. Tại mỗi bước, đỉnh bên ngoài A kết nối mạnh nhất với A (có trọng số lớn nhất) được thêm vào, vậy một đỉnh thêm vào: z ∉ A sao cho w(A,z) = max{w(A,y) \ y ∉ A} , với w(A,y) là tổng trọng số tất cả các cạnh giữa A và y.
Vào cuối mỗi bước cắt, hai đỉnh thêm vào cuối cùng được cộng lại. Hai đỉnh được thay thế bởi một đỉnh mới và bất cứ cạnh nào từ hai đỉnh đến một đỉnh còn lại được gán trọng số mới bằng tổng trọng số của hai cạnh trước đó. Thuật toán kết thúc khi chia tập hợp các đỉnh của đồ thị thành hai phần riêng biệt và lát cắt tối thiểu 𝑀𝑖𝑛𝑖𝑚𝑢𝑚𝐶𝑢𝑡 là lát cắt có trọng số nhỏ nhất trong toàn bộ các bước cắt. Nếu bước cắt có trọng số nhỏ hơn lát cắt cực tiểu hiện tại thì đây là lát cắt cực tiểu hiện tại.
Ví dụ Cho đồ thị vô hướng như hình 2. Đồ thị vô hướng 8 nút Chọn đỉnh t, s tùy ý; sau lát cắt đầu tiên (G, w, a), a = 2 chia hai phần gồm các đỉnh {1}, {2, 3, 4, 5, 6, 7, 8} với trọng số là w = 5 như Hình 2. Đỉnh t(1) và s(5) và lát cắt đầu tiên đi qua t(1)-a(2), t(1)-s(5) Lát cắt thứ hai chia các đỉnh thành hai phần bao gồm {8}, {1, 2, 3, 4, 5, 6, 7} với trọng số là w = 5 như hình 2. Lát cắt thứ 2 đi qua t(8)-e(4), t(8)-s(7) Lát cắt thứ ba chia các đỉnh thành hai phần gồm {7,8}, {1, 2, 3, 4, 5, 6} với trọng số là w = 7 như hình 2.
Lát cắt thứ 3 đi qua t(7,8)-d(3), t(8)-s(4) 4 Lát cắt thứ 4 chia các đỉnh thành hai phần bao gồm {4, 7, 8}, {1, 2, 3, 5, 6} với trọng số là w = 7 và lát cắt thứ 5 chia các đỉnh thành hai phần bao gồm {3, 4, 7, 8} và {1, 2, 5, 6} với trọng số là w = 4 như hình 2. Lát cắt thứ 4 đi qua t(4,7,8)-c(6), t(4,7,8)-s(3); lát cắt thứ 5 đi qua t(3,4,7,8)- s(6), t(3,4,7,8)-a(2) Lát cắt thứ 6 chia các đỉnh thành hai phần bao gồm {1, 5}, {2, 3, 4, 6, 7, 8} với trọng số là w = 7 và lát cắt thứ 7 chia đồ thị thành hai phần {2}, V\{2} với trọng số là w = 9 như hình 2.6 Lát cắt thứ 6 đi qua t(1,5)-a(2), t(1,5)-s(3,4,6,7,8); lát cắt thứ 7 đi qua t(V\2)-s(2) Như vậy qua 7 lát cắt, trọng số tại lát cắt thứ 5 w = 4 là nhỏ nhất. Và đây chính là lát cắt tối thiểu. Nhận xét Thuật toán áp dụng cho đồ thị vô hướng và việc chọn đỉnh phát s và đỉnh thu t là tuỳ ý cho đến khi A = V, do đó phạm vi tìm kiếm sẽ tăng lên do phải tìm kiếm tất cả các khả năng có thể có của lát cắt.
Với mạng có n nút thì có thể xảy ra 𝐴2𝑛 = 𝑛(𝑛 − 1) khả năng chọn lựa hai đỉnh bất kỳ đặt làm s và t, như vậy không gian và thời gian tìm kiếm gia tăng đáng kể. Do việc chọn đỉnh s, t là bất kỳ, vì vậy thuật toán có hai lát cắt cực tiểu s-t (lát cắt giữa hai đỉnh phát, thu bất kỳ) hoặc G/{s,t} (lát cắt của đồ thị với tổ hợp các đỉnh phát, thu trước đó). Thuật toán sẽ so sánh trọng số của hai lát cắt trên và chọn lát cắt có trọng số nhỏ nhất là lát cắt cực tiểu. Như vậy, lát cắt cực tiểu của thuật toán có thể là s-t hoặc G/{s,t} nên có khả năng lát cắt cực tiểu không đảm bảo phân chia nguồn s và tải t ở hai nửa của mặt phẳng cắt.
Do đó không thể đảm bảo việc xác định chính xác lát cắt cực tiểu trong sơ đồ (luồng công suất có thể đi từ đỉnh phát s tới đỉnh nguồn t qua những đường khác, không qua lát cắt cực tiểu). Để áp dụng vào hệ thống điện, thuật toán phải đảm bảo: Xác định được điểm yếu nhất của sơ đồ (khả năng truyền tải từ nguồn s tới tải t yếu nhất), như vậy lát cắt phải đảm bảo chia đôi nguồn s và tải t nằm ở hai nửa của mặt phẳng cắt. Khi đó khả năng truyền tải từ nguồn s tới tải t thông qua lát cắt bằng tổng khả năng truyền của các cung mà lát cắt đi qua. Trong trường hợp khả năng truyền từ nguồn s tới tải t lớn hơn giá trị cực tiểu tại những lát cắt khác, nhưng tại vị trí có lát cắt tối thiểu, khả năng truyền chỉ bằng đúng luồng (trọng số) thông qua mặt phẳng cắt; và đây được hiểu như là nút thắt cổ chai “bottle-neck”.
Như vậy, lượng cực đại của một luồng từ nguồn s tới tải t bằng khả năng thông qua của một lát cắt tối thiểu. Giải thuật "min-cut max-flow" áp dụng cho hệ thống điện 2. Giải thuật "min-cut max-flow" Phát triển từ nguyên lý cơ bản về thuật toán min cut giới thiệu trong 3.2, thuật toán xác định mặt cắt tối thiểu và luồng công suất cực đại trong hệ thống điện được hình thành theo những bước sau (lưu đồ thuật toán như Hình 2.7) Bước 1: Thành lập ma trận A=Anxn Là ma trận tổng trọng số (thông lượng) có thể truyền giữa các nút đối với hệ thống n nút. Trong đó thành phần đường chéo chính aii=0; các thành phần còn lại aij là thông lượng liên kết giữa hai nút i-j có giá trị đối xứng nhau qua đường chéo chính (aij= aji).
Những nút không nối với nhau có giá trị aij=0. 𝑠 1 2 𝑡 𝑠 𝑎𝑠𝑠 𝑎𝑠1 𝑎𝑠2 𝑎𝑠𝑡 1 𝑎1𝑠 𝑎11 𝑎21 𝑎1𝑡 [ 𝑎2𝑡 ] 2 𝑎2𝑠 𝑎21 𝑎22 𝑡 𝑎𝑡𝑠 𝑎𝑡1 𝑎𝑡2 𝑎𝑡𝑡 7 Start A = [A]nxn S={s}, T={t} Di chuyển nút i vào Σsi=Σasi Σit=Σait Di chuyển nút i vào tổ hợp S={s,i} tổ hợp T={t,i} Thêm tổ hợp Csi,Cit, Σsi, Σit vào listcut Y Max=max[asi] Σsi > Σit N Y Σsi < Σit Max=max[ait] N In ra danh Y A = [A]2x2 sách listcut End Max=max[asi,ait] Y max = ait N Hình 2. Lưu đồ giải thuật xác định luồng công suất cực đại Bước 2: Chọn hướng cắt Tổ hợp đỉnh nguồn S={s}. Tổ hợp đỉnh nguồn T={t}.
Tính tổng giá trị hàng thứ nhất - tương đương với tổng trọng số của các nút được nối với tổ hợp đỉnh nguồn S. 8 ∑ 𝑠𝑖 = 𝑎𝑠𝑠 + 𝑎𝑠1 + 𝑎𝑠2 + 𝑎𝑠𝑡 = ∑ 𝑎𝑠𝑖 Tính tổng giá trị hàng cuối cùng - tương đương với tổng trọng số của các nút được nối với tổ hợp đỉnh nguồn T. ∑ 𝑖𝑡 = 𝑎𝑡𝑠 + 𝑎𝑡1 + 𝑎𝑡2 + 𝑎𝑡𝑡 = ∑ 𝑎𝑖𝑡 Thêm tổ hợp các nhánh Csi và tổng trọng số ∑ 𝑠𝑖 vào danh sách listcut. Thêm tổ hợp các nhánh Cit và tổng trọng số ∑ 𝑎𝑖𝑡 vào danh sách listcut.
Csi là trọng số của các cung từ tổ hợp đỉnh nguồn S đến nút i. Cit là trọng số của các cung từ nút thứ i tới tổ hợp đỉnh nguồn T. Bước 3: Chọn nút giảm trong sơ đồ (1) Nếu ∑ 𝑠𝑖 > ∑ 𝑎𝑖𝑡, Cmax = max[ 𝑎𝑠𝑖 ] = max[ 𝑎𝑠𝑠 , 𝑎𝑠1 , 𝑎𝑠2 , 𝑎𝑠𝑡 ] Di chuyển nút i vào tổ hợp đỉnh nguồn S={s,i} bằng cách: - Bỏ và cộng giá trị hàng i vào hàng s, - Bỏ và cộng giá trị cột i vào cột s. - Quay lại bước 2.
(2) Nếu ∑ 𝑠𝑖 < ∑ 𝑎𝑖𝑡, Cmax = max[ 𝑎𝑖𝑡 ] = max[ 𝑎𝑡𝑠 , 𝑎𝑡1 , 𝑎𝑡2 , 𝑎𝑡𝑡 ] Di chuyển nút i vào tổ hợp đỉnh nguồn T={t,i} bằng cách: - Bỏ và cộng giá trị hàng i vào hàng t, - Bỏ và cộng giá trị cột i vào cột t. - Nếu n ≠ 2 thì Cmax= max[ 𝑎𝑠𝑖 , 𝑎𝑖𝑡 ] 9 - Nếu max = 𝑎𝑖𝑡 thì di chuyển nút i vào tổ hợp đỉnh nguồn T, ngược lại nếu max = 𝑎𝑠𝑖 thì di chuyển nút i vào tổ hợp nguồn phát S và quay lại bước 2. - Nếu n=2 thì xuất kết quả ra listcut và dừng lặp. Mô hình hóa hệ thống điện Hệ thống điện được mô hình như một đồ thị có hướng G(N,A), luồng công suất được biểu diễn như luồng trong đồ thị.
Một tập các nút N, ứng với các thanh cái của hệ thống điện, các đường dây truyền tải nối giữa các thanh cái ni, nj ∈ N biểu diễn cung aij ∈ A. Mỗi cung được gán uij biểu thị khả năng truyền tải công suất tối đa trên đường dây. Đỉnh s là nguồn, đại diện cho các tổ máy phát và đỉnh t đại diện cho các phụ tải.