최소비용 흐름 문제

Minimum-cost flow problem

최소비용 흐름 문제(MCFP)는 흐름 네트워크를 통해 일정량의 흐름을 보내는 가장 저렴한 방법을 찾기 위한 최적화의사결정 문제다.이 문제의 일반적인 적용은 공장에서 도로망이 어느 정도 용량과 비용을 수반하는 창고로 가는 최적의 배송 경로를 찾는 것을 포함한다.최소비용 흐름 문제는 모든 흐름과 순환 문제 중에서 가장 근본적인 문제 중 하나인데, 그 밖의 대부분의 문제들은 최소비용 흐름 문제로 주조될 수 있고 또한 네트워크 심플렉스 알고리즘을 사용하여 효율적으로 해결할 수 있기 때문이다.

정의

GA흐름 네트워크는 통제된 그래프){G=(V,E)\displaystyle}V{\displaystylet\in V}∈ 각 가장자리(u, v)원천 꼭지점 s∈ V{\displaystyles\in V}, 싱크대 등 꼭지점 t, c(u, v)을 ∈ E{\displaystyle(u,v)\in E}용량을 가지고 있;0{\displaystyle c(u,v)>0}, 흐름 f(u, v)과(V, E). ≥ 0대부분의 최소 비용 흐름 알고리즘이 마이너스 비용으로 가장자리를 지원하는 및 비용 에지, v) 을(를) 따라 이 흐름을 보내는 비용은 ( , ) a ( , 이다 문제는 s 에서 전송되는 양의 을 필요로 한다

문제의 정의는 모든 가장자리에 걸쳐 흐름의 총 비용을 최소화하는 것이다.

제약을 받고

용량 제약 조건:
스큐 대칭:
흐름 보존:
필요한 흐름:

기타 문제와의 관계

이 문제의 변동은 최대 유량이지만 최대 유량 솔루션 중 비용이 가장 낮은 유량을 찾는 것이다.이것은 최소 비용 최대 흐름 문제라고 불릴 수 있으며 최소 비용 최대 일치 항목을 찾는 데 유용하다.

일부 솔루션에서는 대신 최소 비용 최대 흐름을 찾는 것이 간단하다.그렇지 않으면 d에서 바이너리 검색을 수행하여 최대 흐름을 찾을 수 있다

관련 문제는 최소 비용 흐름 해결에 활용할 수 있는 최소 비용 순환 문제다.이는 모든 가장자리의 하한을 0으로 설정한 다음 용량 , )= t에서소스 {\까지 여분의 에지를 만들고, c( = d , s = d ls) d에서 총 흐름을 적용함으로써 달성된다 ~ 가) 되도록 .

다음 문제는 최소 비용 흐름 문제의 특별한 경우(각 적용 가능한 절감액에 대한 간략한 스케치를 제공한다.[1]

  • 최단 경로 문제(단일 소스)최소 비용 흐름 문제에 대한 실현 가능한 솔루션이 지정된 소스 s에서 지정된 싱크 으)로 흐름의 한 단위를 전송하도록 요구 모든 에지에는 무한 용량을 부여한다.
  • 최대 흐름 문제.모든 노드는 제로 디맨드를 가지며, 에지 통과와 관련된 비용은 0이 되도록 한다.자, 현재 t{\}에서 현재 t{\까지 새 에지 , 를 도입하십시오 에지 s) 를 통한 흐름 전송에 대한 단위 비용이- 1 및 허용 ) 과 동일하도록 규정개의 무한 확장 용량.(이 감소는 Circulation 문제에서도 언급된다.)
  • 과제 문제.Suppose that each partite set in the bipartition has vertices, and denote the bipartition by . Give each supply and give each demand . Each edge는 단위 용량을 가져야 한다.

해결 방법

최소 비용 흐름 문제는 선형 함수를 최적화하고 모든 제약조건은 선형이기 때문에 선형 프로그래밍으로 해결할 수 있다.

그것과는 별도로, 많은 조합 알고리즘이 존재하며, 포괄적인 조사를 위해 참조한다. 그 중 일부는 최대 흐름 알고리즘의 일반화, 다른 일부는 완전히 다른 접근법을 사용한다.

잘 알려진 기본 알고리즘(이 알고리즘에는 다양한 변형이 있음):

적용

최소 중량 양당 일치

최소 비용 최대 흐름 문제에 대한 최소 초당적 가중치 일치 감소

초당적 그래프 G = (AB, E)의 경우, 최소 비용이 드는 G에서 최대 카디널리티 일치를 찾는 것이 목표다.Let w: ER은 E의 가장자리의 중량 함수가 된다.최소 중량 초당적 일치 문제 또는 할당 문제는 총 중량이 최소화된 M ⊆ E완벽하게 일치하는 것을 찾는 것이다.이 문제를 네트워크 흐름 문제로 축소하자는 취지다.

G′ = (V′ = AB, E′ = E)로 한다.E′에 있는 모든 가장자리의 용량을 1로 할당한다.소스 정점을 추가하여 A′의 모든 정점에 연결하고 싱크 정점 t를 추가하고 그룹 B′ 내부의 모든 정점을 이 정점에 연결한다.모든 새로운 가장자리의 용량은 1이고 그 비용은 0이다.G에 최소 비용 흐름이 있는 경우에만 G에 최소 중량 완벽한 초당적 매칭이 있음을 증명한다.[9][dead link]

참고 항목

참조

  1. ^ Ahuja, Ravindra K.; Magnanti, Thomas L.; Orlin, James B. (1993). Network Flows. Theory, Algorithms, and Applications. Prentice Hall.
  1. ^ Ravindra K. Ahuja; Thomas L. Magnanti & James B. Orlin (1993). Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Inc. ISBN 978-0-13-617549-0.
  2. ^ Morton Klein (1967). "A primal method for minimal cost flows with applications to the assignment and transportation problems". Management Science. 14 (3): 205–220. CiteSeerX 10.1.1.228.7696. doi:10.1287/mnsc.14.3.205.
  3. ^ Refael Hassin (1983). "The minimum cost flow problem: A unifying approach to existing algorithms and a new tree search algorithm". Mathematical Programming. 25: 228–239. doi:10.1007/bf02591772.
  4. ^ Thomas R. Ervolina & S. Thomas McCormick (1993). "Two strongly polynomial cut cancelling algorithms for minimum cost network flow". Discrete Applied Mathematics. 4: 133–165. doi:10.1016/0166-218x(93)90025-j.
  5. ^ Andrew V. Goldberg & Robert E. Tarjan (1989). "Finding minimum-cost circulations by canceling negative cycles". Journal of the ACM. 36 (4): 873–886. doi:10.1145/76359.76368.
  6. ^ Jack Edmonds & Richard M. Karp (1972). "Theoretical improvements in algorithmic efficiency for network flow problems". Journal of the ACM. 19 (2): 248–264. doi:10.1145/321694.321699.
  7. ^ Andrew V. Goldberg & Robert E. Tarjan (1990). "Finding minimum-cost circulations by successive approximation". Math. Oper. Res. 15 (3): 430–466. doi:10.1287/moor.15.3.430.
  8. ^ James B. Orlin (1997). "A polynomial time primal network simplex algorithm for minimum cost flows". Mathematical Programming. 78 (2): 109–129. doi:10.1007/bf02614365. hdl:1721.1/2584.

외부 링크