Skip to main content
QUICK REVIEW

[Paper Review] Mixed-Integer Optimization for Loopless Flux Distributions in Metabolic Networks

Troppens, Hannah, Mathieu Besançon|arXiv (Cornell University)|Jan 1, 2024
Constraint Satisfaction and Optimization90 citations
TL;DR

This paper presents SCIP Optimization Suite 9.0, a major update to a leading open-source framework for mathematical optimization. It introduces enhanced symmetry handling, new nonlinear handlers, improved primal heuristics, advanced cut generation, and new interfaces in Rust, C++, and Python. The suite achieves a 6% speedup on hard MILP instances and up to 46% reduction in nodes for hard MINLPs, significantly improving solver performance and reliability over SCIP 8.0.

ABSTRACT

Constraint-based metabolic models can be used to investigate the intracellular physiology of microorganisms. These models couple genes to reactions, and typically seek to predict metabolite fluxes that optimize some biologically important metric. Classical techniques, like Flux Balance Analysis (FBA), formulate the metabolism of a microbe as an optimization problem where growth rate is maximized. While FBA has found widespread use, it often leads to thermodynamically infeasible solutions that contain internal cycles (loops). To address this shortcoming, Loopless-Flux Balance Analysis (ll-FBA) seeks to predict flux distributions that do not contain these loops. ll-FBA is a disjunctive program, usually reformulated as a mixed-integer program, and is challenging to solve for biological models that often contain thousands of reactions and metabolites. In this paper, we compare various reformulations of ll-FBA and different solution approaches. Overall, the combinatorial Benders' decomposition is the most promising of the tested approaches with which we could solve most instances. However, the model size and numerical instability pose a challenge to the combinatorial Benders' method.

Motivation & Objective

  • To improve the performance and robustness of the SCIP Optimization Suite for mixed-integer and nonlinear programming problems.
  • To extend SCIP's capabilities through new interfaces (Rust, C++, Python) and enhanced support for external solvers.
  • To introduce advanced algorithmic improvements in symmetry handling, cut generation, and primal heuristics for better solution efficiency.
  • To ensure correctness and verifiability through features like proof logging in PaPILO and machine-verifiable certificates.
  • To support high-performance computing via UG and decomposition via GCG, enabling scalable solution of large-scale optimization problems.

Proposed method

  • Enhanced symmetry handling for non-binary and custom constraints using interfaces to nauty and sassy, with symmetry detection via constraint handler callbacks.
  • Introduction of a new nonlinear handler for signomial functions and monoidal strengthening for quadratic constraints to tighten relaxations.
  • Development of a new indicator diving heuristic, extended dynamic partition search, and online scheduling for primal heuristics to accelerate feasible solution discovery.
  • Implementation of a new Lagromory separator and improved cut selection schemes, including ensemble and dynamic cut selection.
  • Integration of a new GMI branching rule as a tie-breaker in the scoring function, improving branching decisions.
  • Introduction of new interfaces: rustscip (Rust), SCIP++ (C++), PySoPlex (Python), and enhanced AMPL and Julia support for broader accessibility and extensibility.

Experimental results

Research questions

  • RQ1How can symmetry handling be generalized beyond binary variables and extended to custom constraints in mixed-integer programs?
  • RQ2What impact do new nonlinear handlers and strengthening techniques have on relaxation quality and solution speed for MINLPs?
  • RQ3To what extent do new primal heuristics and online scheduling improve the discovery of feasible solutions in mixed-integer programs?
  • RQ4How do new cut generators and selection strategies affect the size of the branch-and-bound tree and overall solution time?
  • RQ5What performance gains are achievable in practice through new interfaces and integration with external solvers like HiGHS and SoPlex?

Key findings

  • SCIP 9.0 solves 19 more MILP instances than SCIP 8.0, with a 2% speedup on affected instances and a 17% reduction in nodes for solved problems.
  • On hard MILP instances requiring ≥1000 seconds, SCIP 9.0 achieves a 6% speedup and a 46% reduction in nodes, indicating significant gains for challenging problems.
  • For MINLPs, SCIP 9.0 solves 5 additional instances, with a 4% time improvement overall and a 13% reduction in nodes for shared-solved instances.
  • Hard nonconvex MINLPs see an 8% speedup in SCIP 9.0, demonstrating improved handling of difficult, nonconvex structures.
  • The new proof-logging feature in PaPILO enables machine-verifiable certificates for presolving, enhancing correctness and trustworthiness.
  • New interfaces (rustscip, SCIP++, PySoPlex) and enhanced PyPI support for PySCIPOpt improve accessibility and integration across programming ecosystems.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.