I have implemented a Pyomo model for solving maximum flow problem as a subroutine of an algorithm. However, the approach does not scale very well because Pyomo does not provide a very good way to re-optimize the computation based on previous computations. (It provides a warm start but It does not seem to allow one to obtain the solution from the results and feed it in a following computation, therefore it is rather limited in this sense)

Google-OR tools provides an surprisingly easy way to solve maximum flow problems and claim it is also very performant https://developers.google.com/optimization/flow/maxflow

How well does this solver perform compared to other tools such as CPLEX and Gurobi and will it be a better option to consider than Pyomo?

  • 1
    $\begingroup$ I would suggest trying it out on your specific problem. Your problem may have different characteristics than some benchmark problem. $\endgroup$ Dec 11, 2022 at 10:39
  • $\begingroup$ @SolverMax The specialized Max-FLow solver in ORTools that is being referred to, finds proven optimal solutions. The statement "It might not find an optimal solution" makes no sense to me. I also very much doubt your claim about it being so slow. $\endgroup$ Dec 11, 2022 at 22:29
  • 1
    $\begingroup$ Pyomo does provide a number of tools for re-optimizing a model based on previous computations. The best tool will depend on the change you're making to the model in between solves. Search for "Persistent Solvers" and "Auto-Persistent Pyomo Solver Interfaces" in the Pyomo read-the-docs pages. $\endgroup$ Dec 12, 2022 at 15:58


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.