Description
The current optimization model is single-period and operates on aggregated (average) demand.
While useful as a first approximation, this approach ignores temporal dynamics and does not capture how demand evolves over time.
The goal of this issue is to extend the model to a multi-period optimization framework that explicitly incorporates time and inventory carry-over.
Goals
- Introduce a time dimension into the optimization model
- Track inventory across periods
- Capture demand variability over time
- Move from steady-state optimization to dynamic decision-making
Proposed Model Extension
Decision variables
flow[o, d, t]: flow from origin o to destination d at time t
inventory[d, t]: inventory at destination d at time t
Constraints
-
Inventory balance: inventory[d, t] = inventory[d, t-1] + inflow[d, t] - demand[d, t]
-
Capacity constraints per origin and time period:
-
Flows from each origin cannot exceed its capacity at each time step
-
Non-negativity constraints:
-
All flows and inventory levels must be ≥ 0
Objective
- Minimize total transportation cost across all periods
- (Optional) Include inventory holding costs
Acceptance Criteria
- Multi-period optimization model implemented (OR-Tools or equivalent)
- Supports time-indexed demand as input
- Inventory carry-over correctly modeled across periods
- Clean interface between forecasting output (time series) and optimization input
- Optional: fallback to single-period model remains available
Description
The current optimization model is single-period and operates on aggregated (average) demand.
While useful as a first approximation, this approach ignores temporal dynamics and does not capture how demand evolves over time.
The goal of this issue is to extend the model to a multi-period optimization framework that explicitly incorporates time and inventory carry-over.
Goals
Proposed Model Extension
Decision variables
flow[o, d, t]: flow from origin o to destination d at time tinventory[d, t]: inventory at destination d at time tConstraints
Inventory balance:
inventory[d, t] = inventory[d, t-1] + inflow[d, t] - demand[d, t]Capacity constraints per origin and time period:
Flows from each origin cannot exceed its capacity at each time step
Non-negativity constraints:
All flows and inventory levels must be ≥ 0
Objective
Acceptance Criteria