n개의 정점과 m개의 간선을 가진 유향 그래프, 각 정점에 대응하는 공급량/수요량, 그리고 각 간선에 대응하는 유량 하한/상한이 주어진다.
bv가 양수이면 v번째 정점의 공급량은 bv이고, 그렇지 않으면 수요량은 −bv이다.
e번째 간선은 정점 se에서 te로 향하며, 유량 하한은 le, 유량 상한은 ue, 단위 유량당 비용은 ce이다.
해야 할 일은 최소 비용 b-유량 값 z와 그 최솟값을 달성하는 유량 f 및 그 쌍대해 p을 찾아 출력하는 것이다. 즉, 다음 제약 조건을 만족하는 z, f={fe}e=0…m−1, p={pv}v=0…n−1을 찾아 출력한다.
- z=∑ecefe
- le≤fe≤ue (용량 제약 조건)
- ∑e∈δ+(v)fe−∑e∈δ−(v)fe=bv (유량 보존 제약 조건)
- fe>le⇒ce+pse−pte≤0 (상보적 느슨성 조건)
- fe<ue⇒ce+pse−pte≥0 (상보적 느슨성 조건)
- ∣pv∣≤1000000000000000
여기서 δ+(v)은 정점 v에서 나가는 간선의 집합이고, δ−(v)은 정점 v으로 들어오는 간선의 집합이다. 즉, δ+(v)={e\relmiddle∣se=v} 및 δ−(v)={e\relmiddle∣te=v}이다.
그러한 값들이 존재하지 않으면 대신 "infeasible"을 출력한다.
제약 조건
- 0≤n≤100
- 0≤m≤1000
- 0≤se<n
- 0≤te<n
- ∣bv∣≤1000000000
- ∣le∣≤1000000000
- ∣ue∣≤1000000000
- ∣ce∣≤1000000000
- le≤ue
- 모든 값은 정수이다
다음에 유의한다.
- 입력 그래프에는 자기 루프가 포함될 수 있다.
- 또한 결과 값은 264을 초과할 수 있다.