The following predicates allow you to solve specific kinds of LPs
more efficiently:
- transportation(+Supplies,
+Demands, +Costs, -Transport)
- Solves a transportation problem. Supplies and Demands
must be lists of non-negative integers. Their respective sums must be
equal. Costs is a list of lists representing the cost matrix,
where an entry (i,j) denotes the integer cost of
transporting one unit from i to j. A transportation plan
having minimum cost is computed and unified with Transport in
the form of a list of lists that represents the transportation matrix,
where element (i,j) denotes how many units to ship from i
to j.
- assignment(+Cost,
-Assignment)
- Solves a linear assignment problem. Cost is a list of lists
representing the quadratic cost matrix, where element (i,j) denotes the
integer cost of assigning entity $i$ to entity $j$. An assignment with
minimal cost is computed and unified with
Assignment as a list of lists, representing an adjacency
matrix.