Aggregate Planning Problem

The Aggregate Planning Problem minimizes the production and holding costs while satisfying the demand of units for each period. The decisions to be made in this problem are how many units to produce in each period. Units that aren’t sold (aka are over the demand) in one period can be held into the next, but with some holding cost per unit. While the holding cost is a single parameter, production costs per unit can vary from period to period.

This main constraints are the conservation of flow constraints, or that the leftover inventory plus the production minus the extra inventory equals the demand for every period. This type of problem can arise in manufacturing or in sales industries.

Definitions

Sets

  • Periods - An ordered set of periods when the units are needed

    • p in Periods or \(p \in P\)

Parameters

  • Demand - measure of number of units needed for Period p

    • Demand[p] for p in Periods or \(D_p \enspace \forall p \in P\)

  • Cost - measure of cost of producing one unit within Period p

    • Cost[p] for p in Periods or \(C_p \enspace \forall p \in P\)

  • HoldingCost - measure of the cost of holding one extra unit from one period to the next

    • HoldingCost or \(h\)

  • MaxStorage - maximum number of units that can be held over from one period to the next

    • MaxStorage or \(m\)

  • InitialInv - initial number of units in inventory, before the first period begins

    • InitialInv or \(I_I\)

  • FinalInv - desired number of units in inventory to end up with, after the last period ends

    • FinalInv or \(I_F\)

Decision Variables

  • Produce - number of units to produce in Period p

    • Produce[p] for p in Periods or \(X_{p} \enspace \forall p \in P\)

  • InvLevel - number of units left in inventory at the end of Period p

    • InvLevel[p] for p in Periods or \(Y_{p} \enspace \forall p \in P\)

Objective

Minimize production cost and holding costs.

\[\text{Min} \sum_{p \in P} C_pX_p + hY_p\]

Constraints

  • The conservation of flow constraints enforce the relationships between the production, inventory levels, and the demand for each period. In mathematical terms, these constraints can be represented by

\[Y_{p-1} + X_p - Y_{p} = D_p \quad \forall p \in P\]

where \(Y_{p-1}\) is defined to be \(I_I\) when \(p\) is the first period.

  • The amount stored at the end of each period cannot be more than the maximum amount allowed, \(m\).

\[Y_p \leq m \quad \forall p \in P\]
  • We define constraints to enforce the definition of \(Y_{p-1}\) when \(p\) is the first period, as well as the last period’s inventory level to be \(I_F\).

\[ \begin{align}\begin{aligned}Y_{\min(P)-1} &= I_I\\Y_{\max(P)} &= I_F\end{aligned}\end{align} \]
  • The decision variables must be greater than or equal to zero and integer.

\[X_p, \, Y_p \geq 0\text{, int} \enspace \forall p \in P\]

API Reference

See the corresponding section in the API Library Reference to learn more about how to use the API for this problem class.