Linear programming for refinery flow allocation is used to determine how incoming feedstock should be distributed between process units and production lines in an
oil refinery simulation. This refinery optimization approach helps model feedstock allocation, production capacity,
material balances, and operating constraints in petroleum refining. Even in an oil refinery simulation, many
operating decisions still require analytical refinery optimization. One of the most common problems is refinery flow allocation — determining how incoming feedstock should be distributed between process units, production lines, and downstream processing units.
This refinery flow allocation problem exists at virtually every oil refinery. Large feedstock streams enter the plant and must be routed through upstream process units that may process different feedstocks, operate in different operating modes, and have different capacity constraints. These units are also connected to downstream processing units, each with its own throughput limits, capacity constraints, and requirements for intermediate products and downstream production. As a result, changing the flow to one unit can affect the loading and feasibility of many others.
An oil refinery simulation model must therefore consider material balances, process unit and production line capacities, operating modes, equipment availability, downstream requirements, blending constraints, and refinery operating priorities simultaneously.In complex refinery models, the logic responsible for flow allocation can represent a substantial part of the overall model.
Linear programming (LP) and mixed-integer linear programming (MILP) provide an effective way to formulate refinery flow allocation and refinery optimization problems as mathematical equations and constraints and determine the best feasible feedstock allocation according to the objective function and refinery operating constraints. The relationship between refinery simulation, optimization, operational data, and decision-making is described in more detail in our article on
digital twin architecture for refinery operations.
This article presents practical techniques for using LP/MILP to distribute refinery flows between process units and production lines, including
material balances, prioritized allocation, overload and underload penalties, binary operating modes, equipment availability, and mode-dependent blending constraints. PRL supports both linear programming (LP) and mixed-integer linear programming (MILP) through its Java-based optimization layer. The
ojAlgo solver integration in PRL provides the underlying optimization engine for these models.