「研究ノート」線形計画

デュアル問題

\ [\最大\ {C ^ \ INTERCAL X \中間A X \当量B \} = \分\ {B ^ \ INTERCAL Y \中間A ^ \ INTERCAL Y \ GEQ C \} \]

サンプルの項目に:

羅区P3337 [ZJOI2013]防御フロント

リスト式:
\ [\ {始める整列}&\ mathrm} {最小化\ \ \\&sum_i C_I Y_I ST \ \ FORALL I \ [1、N - ]、\ \ sum_ {L_iを\のLeq J \のLeq R_iを。 } y_j \ GEQ D_I \\&\
FORALL I \ [1、N]で、\ Y_I \ GEQ 0 \端{整列} \] 順\(A ^ \ intercal_ {I 、[L_iを内J} = [J \ 、R_iを] \)、\ (B = \ {bmatrix開始} C_1とC_2 \\ \\ \ \\ vdots C_N \ bmatrix終了{} \)、\ (C = \ {bmatrix開始D_2 \\ \\} D_1 \ \\ vdots D_n \ bmatrix終了{} \) これも後のとおり
。\ [\ {始める整列}&\ mathrm最大化{} \ \ \\&sum_i D_I X_I ST \ \ FORALL I \ [1、N- ]、\ \ sum_ {J}
A_ {I、J} X - jが\ GEQ C_I \\&\ FORALL I \ [1、n]は、\ X_I \ GEQ 0 \端{整列} \] 一方\(A \)連続の列\(1 \)が表示されます。

:私は、スラック変数を追加して、非常に良い感じ
\ [\ A_ sum_ {J} {I、J} = Y_I + X - jが\ C_I]を
差分した後:
\ [\ sum_ l_j = {I} X - jが- \ + 1 sum_ {r_j。 = I} X - jが+ Y_I - Y_
{I - 1} = C_I - C_ {I - 1} \] 転置得る:
\ [\ sum_ {l_j = I} X - jが+ C_ {I - 1} + Y_I = \ sum_。 {r_j + 1 = I} X - jが
+ C_I + Y_ {I - 1} \] バランスの点として流れ方程式は、そうであってもこのような方式の側があります。

  • セットポイント\(V = {S、T 、1、2、\ cdots、N + 1} \)

  • \(\ FORALL I \で[1、N-+ 1] \) 偶数側\((S、I、C_ {I - 1}、0)\) 即ち、から\(S \)\(I \ )、流速\) - \(C_ {1} I、コスト\(0 \) および\((I、T、C_I、0)\)
  • \(\ FORALL I \で[1、N-] \) 偶数側\((I + 1、I 、\ inftyの、0)\) スラック変数を表します。
  • 任意間隔の\([L_iを、R_iを] \) 偶数側\((+ R_iを1、L_iを、\ inftyの、D_I)\)

具体的な実装の詳細に最大コストの最大流量はで見つけることができるので、コード


継続するには。

おすすめ

転載: www.cnblogs.com/cj-xxz/p/12210557.html