How can I order the basic solutions of a min cost flow problem according to their cost?

71 Views Asked by At

I was wondering if, given a min cost flow problem and an integer n, there is an efficient algorithm/package or mathematical method, to obtain the set of the n-best basic solutions of the min cost flow problem (instead of just the best).

1

There are 1 best solutions below

0
Erwin Kalvelagen On

Not so easy. There were some special LP solvers that could do that (see: Ralph E. Steuer, Multiple Criteria Optimization: Theory, Computation, and Application, Wiley, 1986), but currently available LP solvers can't.

There is a way to encode a basis using binary variables:

 b[i] = 1 if variable x[i] = basic
        0                    nonbasic

Using this, we can use "no good cuts" or "solution pool" technology to get the k best bases. See: https://yetanothermathprogrammingconsultant.blogspot.com/2016/01/finding-all-optimal-lp-solutions.html. Note that not all solution-pools can do the k-best. (Cplex can't, Gurobi can.) The "no-good" cuts work with any mip solver.


Update: a more recent reference is Craig A. Piercy, Ralph E. Steuer, Reducing wall-clock time for the computation of all efficient extreme points in multiple objective linear programming, European Journal of Operational Research, 2019, https://doi.org/10.1016/j.ejor.2019.02.042