Knowledge

Minimum-cost flow problem

Source 📝

1493: 938:, which can be used for solving minimum cost flow. The minimum cost circulation problem has no source and sink; instead it has costs and lower and upper bounds on each edge, and seeks flow amounts within the given bounds that balance the flow at each vertex and minimize the sum over edges of cost times flow. Any minimum-cost flow instance can be converted into a minimum cost circulation instance by setting the lower bound on all edges to zero, and then making an extra edge from the sink 50:. A typical application of this problem involves finding the best delivery route from a factory to a warehouse where the road network has some capacity and cost associated. The minimum cost flow problem is one of the most fundamental among all flow and circulation problems because most other such problems can be cast as a minimum cost flow problem and also that it can be solved efficiently using the 1196:(large enough to exceed the maximum flow; for instance, the sum of capacities out of the source vertex) Set the costs of all edges in the maximum flow instance to zero, and introduce a new edge from source to sink with unit cost and capacity 899:
A variation of this problem is to find a flow which is maximum, but has the lowest cost among the maximum flow solutions. This could be called a minimum-cost maximum-flow problem and is useful for finding minimum cost maximum
885: 773: 544: 617: 390: 686: 232: 191: 1058: 1017: 101: 1352: 1298: 302: 267: 153: 127: 1272: 334: 1380: 1326: 1240: 1214: 1194: 1168: 1148: 1118: 1098: 1078: 976: 956: 929: 450: 430: 410: 1602:
to this vertex. The capacity of all the new edges is 1 and their costs is 0. It is proved that there is minimum weight perfect bipartite matching in
787: 1674: 1123:
The following problems are special cases of the minimum cost flow problem (we provide brief sketches of each applicable reduction, in turn):
907:
With some solutions, finding the minimum cost maximum flow instead is straightforward. If not, one can find the maximum flow by performing a
700: 1870: 1727:
Refael Hassin (1983). "The minimum cost flow problem: A unifying approach to existing algorithms and a new tree search algorithm".
1130:(single-source). Require that a feasible solution to the minimum cost flow problem sends one unit of flow from a designated source 935: 1690:
Morton Klein (1967). "A primal method for minimal cost flows with applications to the assignment and transportation problems".
1965: 304:, with most minimum-cost flow algorithms supporting edges with negative costs. The cost of sending this flow along an edge 1960: 465: 1439: 1624: 1456: 51: 1471: 901: 1699: 1449: 565: 1619: 1127: 339: 1492: 631: 1629: 1542:. The minimum weight bipartite matching problem or assignment problem is to find a perfect matching 1173: 1704: 1425: 1861: 1787: 1658: 1461: 1392: 1219: 196: 158: 1552:
whose total weight is minimized. The idea is to reduce this problem to a network flow problem.
1670: 1654: 1022: 981: 68: 1917: 1909: 1879: 1841: 1803: 1791: 1767: 1736: 1709: 1331: 1277: 272: 237: 132: 106: 43: 1245: 307: 1825: 1501: 1476: 1398:
Apart from that, many combinatorial algorithms exist. Some of them are generalizations of
1946:
The MCFClass C++ project library with some minimum cost flow and shortest path algorithms
1357: 1303: 1897: 1662: 1464: 1225: 1199: 1179: 1153: 1133: 1103: 1083: 1063: 961: 941: 914: 435: 415: 395: 63: 1954: 1900:(1997). "A polynomial time primal network simplex algorithm for minimum cost flows". 1865: 1772: 1755: 908: 1945: 1941:
LEMON C++ library with several maximum flow and minimum cost circulation algorithms
1821: 1399: 47: 39: 1756:"Two strongly polynomial cut cancelling algorithms for minimum cost network flow" 17: 46:
to find the cheapest possible way of sending a certain amount of flow through a
1830:"Theoretical improvements in algorithmic efficiency for network flow problems" 880:{\displaystyle \,\sum _{w\in V}f(s,w)=d{\text{ and }}\sum _{w\in V}f(w,t)=d} 1496:
Reducing Minimum weight bipartite matching to minimum cost max flow problem
1448:: a primal-dual approach, which can be viewed as the generalization of the 1883: 1846: 1829: 1794:(1989). "Finding minimum-cost circulations by canceling negative cycles". 1713: 1868:(1990). "Finding minimum-cost circulations by successive approximation". 1807: 1922: 1913: 1740: 1395:, since we optimize a linear function, and all constraints are linear. 768:{\displaystyle \,\sum _{w\in V}f(u,w)=0{\text{ for all }}u\neq s,t} 1491: 1438:: dual methods, which can be viewed as the generalization of the 1405:
Well-known fundamental algorithms (they have many variations):
1940: 1522:, the goal is to find the maximum cardinality matching in 1222:. Suppose that each partite set in the bipartition has 1754:
Thomas R. Ervolina & S. Thomas McCormick (1993).
1360: 1334: 1306: 1280: 1248: 1228: 1202: 1182: 1156: 1136: 1106: 1086: 1066: 1025: 984: 964: 944: 917: 790: 703: 634: 568: 468: 438: 418: 398: 342: 310: 275: 240: 199: 161: 135: 109: 71: 539:{\displaystyle \sum _{(u,v)\in E}a(u,v)\cdot f(u,v)} 1667:
Network Flows: Theory, Algorithms, and Applications
1374: 1346: 1320: 1292: 1266: 1234: 1208: 1188: 1162: 1142: 1112: 1092: 1072: 1052: 1011: 970: 950: 923: 879: 767: 680: 611: 538: 444: 424: 404: 384: 328: 296: 261: 226: 185: 147: 121: 95: 455:The definition of the problem is to minimize the 1391:The minimum cost flow problem can be solved by 8: 1606:if and only if there a minimum cost flow in 1402:, others use entirely different approaches. 1582:. Assign the capacity of all the edges in 1921: 1845: 1771: 1703: 1364: 1359: 1333: 1310: 1305: 1279: 1247: 1227: 1201: 1181: 1155: 1135: 1105: 1085: 1065: 1024: 983: 963: 943: 916: 841: 832: 796: 791: 789: 745: 709: 704: 702: 635: 633: 569: 567: 473: 467: 437: 417: 397: 392:. The problem requires an amount of flow 341: 309: 274: 239: 198: 160: 134: 108: 70: 1242:vertices, and denote the bipartition by 1649: 1647: 1645: 1641: 1598:and connect all vertices inside group 1590:and connect it to all the vertices in 1538:be a weight function on the edges of 1382:. Each edge is to have unit capacity. 7: 1170:. Give all edges infinite capacity. 612:{\displaystyle \,f(u,v)\leq c(u,v)} 1871:Mathematics of Operations Research 385:{\displaystyle f(u,v)\cdot a(u,v)} 25: 1488:Minimum weight bipartite matching 27:Mathematical optimization problem 936:minimum cost circulation problem 681:{\displaystyle \,f(u,v)=-f(v,u)} 1460:: a specialized version of the 1261: 1249: 1060:, forcing the total flow from 1041: 1029: 1000: 988: 868: 856: 823: 811: 736: 724: 675: 663: 651: 639: 606: 594: 585: 573: 533: 521: 512: 500: 486: 474: 379: 367: 358: 346: 323: 311: 291: 279: 256: 244: 215: 203: 174: 162: 90: 78: 1: 1773:10.1016/0166-218x(93)90025-j 1760:Discrete Applied Mathematics 1422:Minimum mean cycle canceling 459:of the flow over all edges: 1526:that has minimum cost. Let 227:{\displaystyle c(u,v)>0} 1982: 1625:GNU Linear Programming Kit 1586:to 1. Add a source vertex 1412:: a general primal method. 895:Relation to other problems 186:{\displaystyle (u,v)\in E} 1457:Network simplex algorithm 934:A related problem is the 52:network simplex algorithm 32:minimum-cost flow problem 1902:Mathematical Programming 1729:Mathematical Programming 1440:Ford–Fulkerson algorithm 1432:Successive shortest path 1418:: a general dual method. 1176:. Choose a large demand 1053:{\displaystyle l(t,s)=d} 1012:{\displaystyle c(t,s)=d} 1594:and add a sink vertex 1472:Out-of-kilter algorithm 1400:maximum flow algorithms 412:to be sent from source 96:{\displaystyle G=(V,E)} 1669:. Prentice-Hall, Inc. 1497: 1450:push-relabel algorithm 1376: 1348: 1347:{\displaystyle y\in Y} 1322: 1294: 1293:{\displaystyle x\in X} 1268: 1236: 1210: 1190: 1164: 1144: 1114: 1094: 1074: 1054: 1013: 972: 952: 925: 881: 769: 682: 613: 540: 446: 426: 406: 386: 330: 298: 297:{\displaystyle a(u,v)} 263: 262:{\displaystyle f(u,v)} 228: 187: 149: 148:{\displaystyle t\in V} 123: 122:{\displaystyle s\in V} 97: 1966:Mathematical problems 1884:10.1287/moor.15.3.430 1847:10.1145/321694.321699 1714:10.1287/mnsc.14.3.205 1495: 1377: 1349: 1323: 1295: 1269: 1267:{\displaystyle (X,Y)} 1237: 1211: 1191: 1165: 1150:to a designated sink 1145: 1128:Shortest path problem 1115: 1095: 1075: 1055: 1014: 973: 953: 926: 882: 770: 683: 614: 549:with the constraints 541: 447: 427: 407: 387: 331: 329:{\displaystyle (u,v)} 299: 264: 229: 188: 150: 124: 103:with a source vertex 98: 1961:Network flow problem 1630:Network flow problem 1358: 1332: 1304: 1278: 1246: 1226: 1200: 1180: 1174:Maximum flow problem 1154: 1134: 1104: 1084: 1064: 1023: 982: 962: 942: 915: 788: 701: 632: 566: 558:Capacity constraints 466: 436: 416: 396: 340: 308: 273: 238: 197: 159: 133: 107: 69: 62:A flow network is a 1862:Goldberg, Andrew V. 1808:10.1145/76359.76368 1620:LEMON (C++ library) 1426:strongly polynomial 1375:{\displaystyle 1/n} 1321:{\displaystyle 1/n} 747: for all  1914:10.1007/bf02614365 1834:Journal of the ACM 1796:Journal of the ACM 1788:Andrew V. Goldberg 1741:10.1007/bf02591772 1692:Management Science 1659:Thomas L. Magnanti 1498: 1462:linear programming 1393:linear programming 1372: 1344: 1318: 1290: 1264: 1232: 1220:Assignment problem 1206: 1186: 1160: 1140: 1110: 1090: 1070: 1050: 1009: 968: 948: 921: 877: 852: 807: 765: 720: 678: 609: 536: 496: 442: 422: 402: 382: 326: 294: 259: 224: 183: 155:, where each edge 145: 129:and a sink vertex 119: 93: 1866:Tarjan, Robert E. 1676:978-0-13-617549-0 1655:Ravindra K. Ahuja 1235:{\displaystyle n} 1209:{\displaystyle d} 1189:{\displaystyle d} 1163:{\displaystyle t} 1143:{\displaystyle s} 1113:{\displaystyle d} 1093:{\displaystyle t} 1073:{\displaystyle s} 971:{\displaystyle s} 951:{\displaystyle t} 924:{\displaystyle d} 890: 889: 837: 835: 792: 748: 705: 693:Flow conservation 469: 445:{\displaystyle t} 425:{\displaystyle s} 405:{\displaystyle d} 18:Minimum cost flow 16:(Redirected from 1973: 1928: 1927: 1925: 1894: 1888: 1887: 1858: 1852: 1851: 1849: 1818: 1812: 1811: 1792:Robert E. Tarjan 1784: 1778: 1777: 1775: 1751: 1745: 1744: 1724: 1718: 1717: 1707: 1687: 1681: 1680: 1651: 1581: 1551: 1521: 1436:capacity scaling 1381: 1379: 1378: 1373: 1368: 1353: 1351: 1350: 1345: 1327: 1325: 1324: 1319: 1314: 1299: 1297: 1296: 1291: 1273: 1271: 1270: 1265: 1241: 1239: 1238: 1233: 1215: 1213: 1212: 1207: 1195: 1193: 1192: 1187: 1169: 1167: 1166: 1161: 1149: 1147: 1146: 1141: 1119: 1117: 1116: 1111: 1099: 1097: 1096: 1091: 1079: 1077: 1076: 1071: 1059: 1057: 1056: 1051: 1019:and lower bound 1018: 1016: 1015: 1010: 978:, with capacity 977: 975: 974: 969: 957: 955: 954: 949: 930: 928: 927: 922: 886: 884: 883: 878: 851: 836: 833: 806: 774: 772: 771: 766: 749: 746: 719: 687: 685: 684: 679: 618: 616: 615: 610: 554: 553: 545: 543: 542: 537: 495: 451: 449: 448: 443: 431: 429: 428: 423: 411: 409: 408: 403: 391: 389: 388: 383: 335: 333: 332: 327: 303: 301: 300: 295: 268: 266: 265: 260: 233: 231: 230: 225: 192: 190: 189: 184: 154: 152: 151: 146: 128: 126: 125: 120: 102: 100: 99: 94: 44:decision problem 21: 1981: 1980: 1976: 1975: 1974: 1972: 1971: 1970: 1951: 1950: 1937: 1932: 1931: 1896: 1895: 1891: 1860: 1859: 1855: 1826:Richard M. Karp 1820: 1819: 1815: 1786: 1785: 1781: 1753: 1752: 1748: 1726: 1725: 1721: 1705:10.1.1.228.7696 1689: 1688: 1684: 1677: 1653: 1652: 1643: 1638: 1616: 1556: 1543: 1504: 1502:bipartite graph 1490: 1485: 1477:D. R. Fulkerson 1410:Cycle canceling 1389: 1356: 1355: 1330: 1329: 1302: 1301: 1276: 1275: 1244: 1243: 1224: 1223: 1198: 1197: 1178: 1177: 1152: 1151: 1132: 1131: 1102: 1101: 1082: 1081: 1062: 1061: 1021: 1020: 980: 979: 960: 959: 940: 939: 913: 912: 897: 834: and  786: 785: 699: 698: 630: 629: 564: 563: 464: 463: 434: 433: 414: 413: 394: 393: 338: 337: 306: 305: 271: 270: 236: 235: 195: 194: 157: 156: 131: 130: 105: 104: 67: 66: 60: 28: 23: 22: 15: 12: 11: 5: 1979: 1977: 1969: 1968: 1963: 1953: 1952: 1949: 1948: 1943: 1936: 1935:External links 1933: 1930: 1929: 1908:(2): 109–129. 1898:James B. Orlin 1889: 1878:(3): 430–466. 1853: 1840:(2): 248–264. 1813: 1802:(4): 873–886. 1779: 1766:(2): 133–165. 1746: 1719: 1698:(3): 205–220. 1682: 1675: 1663:James B. Orlin 1640: 1639: 1637: 1634: 1633: 1632: 1627: 1622: 1615: 1612: 1489: 1486: 1484: 1481: 1480: 1479: 1468: 1465:simplex method 1453: 1443: 1429: 1419: 1413: 1388: 1385: 1384: 1383: 1371: 1367: 1363: 1343: 1340: 1337: 1328:and give each 1317: 1313: 1309: 1289: 1286: 1283: 1263: 1260: 1257: 1254: 1251: 1231: 1217: 1205: 1185: 1171: 1159: 1139: 1109: 1089: 1069: 1049: 1046: 1043: 1040: 1037: 1034: 1031: 1028: 1008: 1005: 1002: 999: 996: 993: 990: 987: 967: 958:to the source 947: 920: 896: 893: 892: 891: 888: 887: 876: 873: 870: 867: 864: 861: 858: 855: 850: 847: 844: 840: 831: 828: 825: 822: 819: 816: 813: 810: 805: 802: 799: 795: 783: 776: 775: 764: 761: 758: 755: 752: 744: 741: 738: 735: 732: 729: 726: 723: 718: 715: 712: 708: 696: 689: 688: 677: 674: 671: 668: 665: 662: 659: 656: 653: 650: 647: 644: 641: 638: 627: 620: 619: 608: 605: 602: 599: 596: 593: 590: 587: 584: 581: 578: 575: 572: 561: 547: 546: 535: 532: 529: 526: 523: 520: 517: 514: 511: 508: 505: 502: 499: 494: 491: 488: 485: 482: 479: 476: 472: 441: 421: 401: 381: 378: 375: 372: 369: 366: 363: 360: 357: 354: 351: 348: 345: 325: 322: 319: 316: 313: 293: 290: 287: 284: 281: 278: 258: 255: 252: 249: 246: 243: 223: 220: 217: 214: 211: 208: 205: 202: 182: 179: 176: 173: 170: 167: 164: 144: 141: 138: 118: 115: 112: 92: 89: 86: 83: 80: 77: 74: 64:directed graph 59: 56: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1978: 1967: 1964: 1962: 1959: 1958: 1956: 1947: 1944: 1942: 1939: 1938: 1934: 1924: 1919: 1915: 1911: 1907: 1903: 1899: 1893: 1890: 1885: 1881: 1877: 1873: 1872: 1867: 1863: 1857: 1854: 1848: 1843: 1839: 1835: 1831: 1827: 1823: 1817: 1814: 1809: 1805: 1801: 1797: 1793: 1789: 1783: 1780: 1774: 1769: 1765: 1761: 1757: 1750: 1747: 1742: 1738: 1734: 1730: 1723: 1720: 1715: 1711: 1706: 1701: 1697: 1693: 1686: 1683: 1678: 1672: 1668: 1664: 1660: 1656: 1650: 1648: 1646: 1642: 1635: 1631: 1628: 1626: 1623: 1621: 1618: 1617: 1613: 1611: 1609: 1605: 1601: 1597: 1593: 1589: 1585: 1579: 1575: 1571: 1567: 1563: 1559: 1553: 1550: 1546: 1541: 1537: 1533: 1529: 1525: 1519: 1515: 1511: 1507: 1503: 1494: 1487: 1482: 1478: 1474: 1473: 1469: 1466: 1463: 1459: 1458: 1454: 1451: 1447: 1444: 1441: 1437: 1433: 1430: 1427: 1423: 1420: 1417: 1416:Cut canceling 1414: 1411: 1408: 1407: 1406: 1403: 1401: 1396: 1394: 1386: 1369: 1365: 1361: 1341: 1338: 1335: 1315: 1311: 1307: 1287: 1284: 1281: 1258: 1255: 1252: 1229: 1221: 1218: 1203: 1183: 1175: 1172: 1157: 1137: 1129: 1126: 1125: 1124: 1121: 1107: 1087: 1067: 1047: 1044: 1038: 1035: 1032: 1026: 1006: 1003: 997: 994: 991: 985: 965: 945: 937: 932: 918: 910: 909:binary search 905: 903: 894: 874: 871: 865: 862: 859: 853: 848: 845: 842: 838: 829: 826: 820: 817: 814: 808: 803: 800: 797: 793: 784: 781: 780:Required flow 778: 777: 762: 759: 756: 753: 750: 742: 739: 733: 730: 727: 721: 716: 713: 710: 706: 697: 694: 691: 690: 672: 669: 666: 660: 657: 654: 648: 645: 642: 636: 628: 625: 624:Skew symmetry 622: 621: 603: 600: 597: 591: 588: 582: 579: 576: 570: 562: 559: 556: 555: 552: 551: 550: 530: 527: 524: 518: 515: 509: 506: 503: 497: 492: 489: 483: 480: 477: 470: 462: 461: 460: 458: 453: 439: 419: 399: 376: 373: 370: 364: 361: 355: 352: 349: 343: 320: 317: 314: 288: 285: 282: 276: 253: 250: 247: 241: 221: 218: 212: 209: 206: 200: 193:has capacity 180: 177: 171: 168: 165: 142: 139: 136: 116: 113: 110: 87: 84: 81: 75: 72: 65: 57: 55: 53: 49: 45: 41: 37: 33: 19: 1905: 1901: 1892: 1875: 1869: 1856: 1837: 1833: 1822:Jack Edmonds 1816: 1799: 1795: 1782: 1763: 1759: 1749: 1732: 1728: 1722: 1695: 1691: 1685: 1666: 1607: 1603: 1599: 1595: 1591: 1587: 1583: 1577: 1573: 1569: 1565: 1561: 1557: 1554: 1548: 1544: 1539: 1535: 1531: 1527: 1523: 1517: 1513: 1509: 1505: 1499: 1470: 1455: 1446:Cost scaling 1445: 1435: 1431: 1421: 1415: 1409: 1404: 1397: 1390: 1274:. Give each 1122: 933: 906: 898: 779: 692: 623: 557: 548: 456: 454: 61: 48:flow network 40:optimization 35: 31: 29: 1923:1721.1/2584 1735:: 228–239. 1483:Application 1424:: a simple 1100:to also be 1955:Categories 1636:References 1428:algorithm. 457:total cost 58:Definition 1700:CiteSeerX 1387:Solutions 1339:∈ 1285:∈ 902:matchings 846:∈ 839:∑ 801:∈ 794:∑ 754:≠ 714:∈ 707:∑ 658:− 589:≤ 516:⋅ 490:∈ 471:∑ 362:⋅ 269:and cost 178:∈ 140:∈ 114:∈ 1828:(1972). 1665:(1993). 1614:See also 1608:G′ 1600:B′ 1592:A′ 1584:E′ 1574:E′ 1562:V′ 1558:G′ 1500:Given a 432:to sink 38:) is an 1354:demand 1300:supply 234:, flow 1864:& 1824:& 1790:& 1702:  1673:  1661:& 1671:ISBN 1555:Let 1434:and 219:> 42:and 36:MCFP 30:The 1918:hdl 1910:doi 1880:doi 1842:doi 1804:doi 1768:doi 1737:doi 1710:doi 1610:. 1560:= ( 1508:= ( 1475:by 1080:to 911:on 336:is 1957:: 1916:. 1906:78 1904:. 1876:15 1874:. 1838:19 1836:. 1832:. 1800:36 1798:. 1762:. 1758:. 1733:25 1731:. 1708:. 1696:14 1694:. 1657:; 1644:^ 1576:= 1572:, 1568:∪ 1564:= 1547:⊆ 1534:→ 1530:: 1516:, 1512:∪ 1120:. 931:. 904:. 452:. 54:. 1926:. 1920:: 1912:: 1886:. 1882:: 1850:. 1844:: 1810:. 1806:: 1776:. 1770:: 1764:4 1743:. 1739:: 1716:. 1712:: 1679:. 1604:G 1596:t 1588:s 1580:) 1578:E 1570:B 1566:A 1549:E 1545:M 1540:E 1536:R 1532:E 1528:w 1524:G 1520:) 1518:E 1514:B 1510:A 1506:G 1467:. 1452:. 1442:. 1370:n 1366:/ 1362:1 1342:Y 1336:y 1316:n 1312:/ 1308:1 1288:X 1282:x 1262:) 1259:Y 1256:, 1253:X 1250:( 1230:n 1216:. 1204:d 1184:d 1158:t 1138:s 1108:d 1088:t 1068:s 1048:d 1045:= 1042:) 1039:s 1036:, 1033:t 1030:( 1027:l 1007:d 1004:= 1001:) 998:s 995:, 992:t 989:( 986:c 966:s 946:t 919:d 875:d 872:= 869:) 866:t 863:, 860:w 857:( 854:f 849:V 843:w 830:d 827:= 824:) 821:w 818:, 815:s 812:( 809:f 804:V 798:w 782:: 763:t 760:, 757:s 751:u 743:0 740:= 737:) 734:w 731:, 728:u 725:( 722:f 717:V 711:w 695:: 676:) 673:u 670:, 667:v 664:( 661:f 655:= 652:) 649:v 646:, 643:u 640:( 637:f 626:: 607:) 604:v 601:, 598:u 595:( 592:c 586:) 583:v 580:, 577:u 574:( 571:f 560:: 534:) 531:v 528:, 525:u 522:( 519:f 513:) 510:v 507:, 504:u 501:( 498:a 493:E 487:) 484:v 481:, 478:u 475:( 440:t 420:s 400:d 380:) 377:v 374:, 371:u 368:( 365:a 359:) 356:v 353:, 350:u 347:( 344:f 324:) 321:v 318:, 315:u 312:( 292:) 289:v 286:, 283:u 280:( 277:a 257:) 254:v 251:, 248:u 245:( 242:f 222:0 216:) 213:v 210:, 207:u 204:( 201:c 181:E 175:) 172:v 169:, 166:u 163:( 143:V 137:t 117:V 111:s 91:) 88:E 85:, 82:V 79:( 76:= 73:G 34:( 20:)

Index

Minimum cost flow
optimization
decision problem
flow network
network simplex algorithm
directed graph
matchings
binary search
minimum cost circulation problem
Shortest path problem
Maximum flow problem
Assignment problem
linear programming
maximum flow algorithms
strongly polynomial
Ford–Fulkerson algorithm
push-relabel algorithm
Network simplex algorithm
linear programming
simplex method
Out-of-kilter algorithm
D. R. Fulkerson

bipartite graph
LEMON (C++ library)
GNU Linear Programming Kit
Network flow problem


Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.