网络优化课件.pptVIP

  • 4
  • 0
  • 约 333页
  • 2024-03-24 发布于山东
  • 举报
哪里有这么多真的假的,眼前能看得见的都是真的,走掉的都是假的

*布置作業(第1講)目的掌握流網絡的基本概念和基本性質;掌握幾種典型的增廣路演算法及複雜性分析內容《網路優化》第184-189頁3;4;5;(第1講)思考1(1)-(7);20(不交)*第6章最大流問題(MaximumFlowProblem)第2講網絡優化NetworkOptimization/netopt清華大學數學科學系謝金星辦公室:理科樓1308#(電話Email:jxie@/faculty/~jxie清華大學課號本)研)*6.3最短增廣路演算法-概論Ford-Fulkerson標號演算法每次只是在所有增廣路中隨便地找一條進行增廣最大容量增廣路演算法每次都找一條增廣容量最大的增廣路進行增廣與最大容量增廣路演算法對稱,一個自然的想法是:如果每次都找一條包含弧數最少的增廣路(稱為最短增廣路),則演算法效果如何?這樣的演算法稱為最短增廣路演算法本節主要結果之一:最短增廣路演算法最多經過O(mn)次增廣後終止.對於這時特殊的最短路問題,我們可以很容易構造最短路演算法在O(m)的時間內找到一條最短增廣路(例如可以採用從節點s或t開始的廣度優先搜索方法),因此這種實現方法的複雜度為O(m2n).本節主要結果之二:在O(n)的時間內找到一條最短增廣路,即演算法複雜度為O(mn2)從目前已有的理論分析和計算經驗來看,最短增廣路演算法是所有增廣路演算法中效果最好的演算法,可以設計出在O(logn)的平均時間內找到一條最短增廣路,即演算法複雜度為O(mnlogn)*6.3.1距離標號定義6.8對於一個殘量網路N(x),如果一個函數d將節點集合V映射到非負整數集合,則稱d是關於殘量網路N(x)的距離函數(distancefunction),d(i)稱為節點i的距離標號(distancelabel).如果距離函數d滿足:(1)d(t)=0,(2)對N(x)中的任意一條弧(i,j)有d(i)?d(j)+1,則稱距離函數d關於流x是有效的(valid),或稱距離標號(函數)d是有效的.如果任意一個節點的距離標號正好等於殘量網路中從該節點到匯點(節點t)的所有有向路中弧數最少的有向路所包含的弧數(當令所有弧的長度為1時,這就是從該節點到匯點的最短路路長,因此我們後面直接稱為最短路路長),則稱距離函數d關於流x是精確的(exact),或稱距離標號是精確的.如果對N(x)中的某一條弧(i,j)有d(i)=d(j)+1,則稱弧(i,j)為允許弧(AdmissibleArc).一條s-t有向路如果完全由允許弧組成,則該有向路稱為允許路(AdmissiblePath).精確的距離標號一定是有效的.*有效的距離標號00111st10122st精確的對於一個殘量網路N(x),如何確定其精確的距離標號呢?從匯點(節點t)開始,對N(x)沿反向弧進行廣度優先搜索這一過程的複雜度為O(m).可以看出,一個節點的精確的距離標號實際上表示的是從該節點到匯點(節點t)的最短路路長,也就是說對所有節點按照最短路路長進行了層次劃分.*距離標號–性質引理6.3若距離函數d是有效的,則:(1)d(i)是殘量網路N(x)中從節點i到節點t的最短有向路路長的下界.(2)如果d(s)?n,則殘量網路N(x)中從節點s到節點t沒有有向路(增廣路).(3)允許路是殘量網路N(x)中的最短增廣路. 1214s10122t3*6.3.2最短增廣路演算法STEP0.(預處理) 置初始可行流x為零流;計算精確的距離函數d;令當前節點i=s. STEP1.若d(s)n,繼續下一步;否則結束,得到最優解x.STEP2.如果存在節點i的某條出弧(i,j)為允許弧,則轉STEP3;否則轉STEP4.STEP3.令pred(j)=i,再令i=j;若i=t,則找到了一條增廣路,增廣並修改殘量網路,再令i=s.轉STEP1.STEP4.修改標號(重新標號):當{(i,j)?A(x)|uij(x)0}??時令d(i)=min{d(j)+1|(i,j)?A(x)且uij(x)0},否則令d(i)=n;且當i?s時再令i=pred(i).轉STEP1.“前進步”

文档评论(0)

1亿VIP精品文档

相关文档