Solving the pooling problem at scale with extensible solver GALINI
Francesco Ceccon, Ruth Misener

TL;DR
This paper introduces a Python library for modeling pooling problems and demonstrates how it integrates with the GALINI solver to efficiently solve large-scale instances, achieving competitive results with Gurobi.
Contribution
The paper presents an extensible Python library for pooling problems and integrates it with GALINI, enabling scalable, high-quality solutions through novel plug-ins and relaxations.
Findings
GALINI achieves competitive optimality gaps on large pooling problems.
The library enables automatic problem formulation and relaxations.
Plug-ins improve solver performance and solution quality.
Abstract
This paper presents a Python library to model pooling problems, a class of network flow problems with many engineering applications. The library automatically generates a mixed-integer quadratically-constrained quadratic optimization problem from a given network structure. The library additionally uses the network structure to build 1) a convex linear relaxation of the non-convex quadratic program and 2) a mixed-integer linear restriction of the problem. We integrate the pooling network library with galini, an open-source extensible global solver for quadratic optimization. We demonstrate galini's extensible characteristics by using the pooling library to develop two galini plug-ins: 1) a cut generator plug-in that adds valid inequalities in the galini cut loop and 2) a primal heuristic plug-in that uses the mixed-integer linear restriction. We test galini on large scale pooling…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComplexity and Algorithms in Graphs · Optimization and Search Problems · Vehicle Routing Optimization Methods
