Multi period
- Last UpdatedAug 11, 2025
- 8 minute read
When solving plant optimization problems, it is common to look at an extended period of operations. For example, a plant may perform its planning on a monthly cycle, but consider that single month to be part of a larger 3-month period. Material from each month is passed to the following month, and the optimisation problem is to maximise profitability over the whole 3-month period.
Example: In a refinery it may be planned to shut the catalytic reformer down for a short time in order to replace the catalyst. Multi-period planning could be used to build up an excess inventory of reformate, which could then be used for gasoline blending while the process unit was off-line. In this way the refinery could keep producing gasoline even when the reformer was not producing any output.
In legacy supply chain management tools, multi-period optimisation is used to find the greatest value of the objective function over the whole multi-period timeframe. Periods are defined separately and then linked together to create a single optimization problem. The optimizer then attempts to return a single solution which maximizes the objective function over the whole period.
One problem with this approach is that there may be no economic difference between running the plant in different ways at different times. For example, the maximum objective function may still be obtained by running a process unit at maximum capacity in month 1, then as normal in month 2, before shutdown in month 3. In situations such as this, the optimizer has difficulty converging on the maximum objective function, because the function is essentially flat in this area. Another problem is that the solution time can become significant, as the size of the problem grows quadratically with the number of periods.
Another problem is that the single-point answer to the problem makes it difficult to understand the effect of operational decisions in different months. The optimizer may decide that running a process unit at maximum capacity in month 2 is the most profitable, but it is difficult to understand the penalty for running it at maximum in month 1 instead. To understand these risks, it would be necessary to introduce extra constraints into the problem and use case stacking, which can be slow and is affected by the difficulties in convergence.
Two complementary approaches to multi-period optimisation are available in AVEVA Unified Supply Chain, and are described in the following sections.
Sequential roll-forward

Sequential multi-period optimization (also known as roll forward multi-period optimization) allows manual control of final inventories and rolling forward of this final material to the subsequent period. Each period case is optimized independently and consecutively, with the final amount and properties of the inventory determined by constraints applied in that case only. That is, the final inventory of each case cannot see the subsequent period and so be adjusted by the optimizer based on future requirements. As such, it is necessary to manually define the inventory limits in each period, and possibly to define the constraints on the inventory qualities. Profit in each period is maximised independently, and incorrect inventory limits in preceding cases may lead to infeasibility in future scenarios. For example, not enough reformate may be stockpiled in early periods to offset later reformer shutdown.
The following are important points to remember when working with sequential multi-period optimization:
-
Inventory tends to be driven toward zero in each period. Consider setting minimum inventory levels where you require inventory in later periods, otherwise the inventory will always be sold as valuable product leaving no material for later usage.
-
Consider defining inventory grades to ensure that inventory material has suitable properties for later usage. Otherwise there may be a tendency to fill the inventory with cheap low-grade material.
As each case in a multi-period model is optimized independently, you must ensure that each separate case is feasible, and also that the overall set of periods is feasible. This may require a number of different runs with different case settings in order to find individual period solutions which allow the aggregate period to also optimize correctly.
Example: In a three-month period model it is planned to shut the reformer down in month 3. Therefore in month 1 and month 2 it is necessary to build an excess inventory of material to act as a source of reformate for gasoline blending in month 3. When setting up this chain of cases, it may be necessary to experiment with the amount of reformate it is possible to build up in month 1 and month 2 while ensuring enough material is available to meet the projected demand at this time. For example, if the final inventory of month 2 is set too high, there may not be enough reformate to satisfy month 2's gasoline demand. If the final inventory of month 2 is set too low, there may not be enough inventory available for the period when the reformer is not active. Finding a feasible solution for all three periods may require a number of manual iterations.
See Sequential Multi-Period Models for how to implement sequential roll-forward optimization in your model.
Dynamic classical multi-period

Dynamic multi-period optimization, also known as classical multi-period optimization, creates a single optimization problem where the inventory amounts and qualities in each period are linked and visible within the optimization problem. The optimizer can adjust levels and qualities of the final inventory of each period to respond to future requirements. Profit is maximised across the set of periods in a single optimization, and inventory levels and qualities are adjusted to ensure feasibility in future scenarios. For example, reformate inventory would be adjusted to stockpile enough in preceding cases to satisfy expected future requirements during reformer shutdown.
The following are important points to remember when working with classical multi-period optimization:
-
Inventory tends to be driven toward zero in the final period. Consider setting a final inventory level where you require inventory for later use. This is more relevant when multi-period is being used for production management rather than long-term planning.
-
The objective function surface may be quite flat (building inventory in period 1 or in period 2 may have very little difference on the overall profitability). Ensure that adequate tests of solution robustness are performed by varying inventory limits.
-
Take care with per-period pricing. Ensure that later periods have sensible prices, sensible inventories and sensible constraints. Otherwise the optimizer may choose to unrealistically stockpile material, for example in early periods where it is lower priced, or it may choose to hold back product in each period for later expected increases in price.
See Creating Classical Multi-Period Models for how to implement dynamic classical optimization in your model.
Profit calculations
The equation used by the optimizer to calculate profit, minus fixed costs, is as follows (see also Optimization in AVEVA Unified Supply Chain):

For a multi-period model this translates to the following:

with Single Period Profit being the daily profit for a period.
AVEVA Unified Supply Chain uses a unique way to optimize profit for multi-period models in a single equation. Single-period equations are scaled down and merged into a single optimization equation. Once the optimization problem is solved, the solution is scaled back up, resulting in the multi-period profit.
The profit equation reads as follows:

where

Note that only the first period opening inventory cost and the last period final inventory cost are considered during optimization. Inventory costs for intermediate periods do not play a role in this calculation. The optimizer always tries to maximize the profit made by sales while tending to zero Inventory at the last period.
We can demonstrate that the optimization result by AVEVA Unified Supply Chain matches the traditional result. For simplicity this demonstration includes only feedstock purchases and product sales, without considering other revenues and costs or inventory effect.
Let us adopt the following notation:
-
Number of periods: n.
-
Number of days in each period: P1, P2... Pn.
-
Product price in each period: $1, $2... $n.
-
Daily sales quantity in each period: Q1, Q2... Qn.
-
Feedstock price in each period: