A Mixed‐Integer Linear Programming Framework for Optimization of Water Network Operations Problems - Thomas, Meghna; Sela, Lina (Water resources research, 2024)
Water distribution systems (WDSs) are critical infrastructure used to convey water from sources to consumers. The mathematical framework governing the distribution of flows and heads in extended period simulations of WDSs lends itself to application in a wide range of optimization problems. Applying the classical mixed integer linear programming (MILP) approach to model WDSs hydraulics within an optimization framework can contribute to higher solution accuracy with lower computational effort. However, adapting WDSs models to conform to a MILP formulation has proven challenging because of the intrinsic non‐linearity of system hydraulics and the complexity associated with modeling hydraulic devices that influence the state of the WDS. This paper introduces MILPNet, an adjustable framework for WDSs that can be used to build and solve an extensive array of MILP optimization problems. MILPNet includes constraints that represent the mass balance and energy conservation equations, hydraulic devices, control rules, and status checks. To conform to MILP structure, MILPNet employs piece‐wise linear approximation and integer programming. MILPNet was implemented and tested using Gurobi Python API. Modeling accuracy was shown to be comparable to EPANET, a public domain software for hydraulic modeling, and sensitivity analyses were conducted to examine the impacts of the modeling assumptions on the performance of MILPNet. Additionally, application of the framework was demonstrated using pump scheduling optimization examples in single and rolling horizon scenarios. Our results show that MILPNet can facilitate the construction and solution of optimization problems for a range of applications in WDSs operations. Key Points A mixed‐integer linear programming framework (MILPNet) for formulating and solving water distribution system optimization problems is presented MILPNet models system dynamics, hydraulic devices, control rules, and status checks and is flexible to adding more devices and conditions The optimization model can be generated from a .INP file and case‐specific objectives and constraints can be specified via Python interface