Lecture V - Production Planning in Breweries
Applied Optimization with Julia
Introduction
Case Study
Challenges
Different costs
Problem Structure
Objective
Question: What could be the objective?
Minimize the combined setup and inventory holding cost while satisfying the demand and adhering to the production capacity.
Trade-Off
Question: What is the trade-off?
Larger batches require less setup cost per bottle, but increase the storage cost.
Available Sets
Question: What are sets again?
. . .
Sets are collections of objects.
. . .
Question: What could be the sets here?
. . .
- Set of beer types indexed by - Set of time periods indexed by
Available Parameters
Question: What are possible parameters?
. . .
- Available time on the bottling plant in period - Time used for bottling one unit of beer type - Setup time for beer type - Setup cost of beer type - Inventory holding cost for one unit of beer type - Demand of beer type in period
Decision Variables?
- Beer types indexed by
- Time periods of the planning horizon indexed by
. . .
Minimize the combined setup and inventory holding cost while satisfying the demand and adhering to the production capacity.
. . .
Question: What could be our decision variable/s?
Decision Variables
- Inventory of type at the end of - 1, if type is bottled in , 0 otherwise - Batch size of type in
Model Formulation
Objective Function?
Minimize the combined setup and inventory holding cost while satisfying the demand and adhering to the production capacity.
. . .
Question: What could be our objective function?
. . .
- Inventory of type at the end of - 1, if type is bottled in , 0 otherwise
Objective Function
- Setup cost of beer type - Inventory holding cost for one unit of beer type
. . .
Constraints
Question: What constraints?
- Transfer unused inventory
- Fulfill the customer demand
- Set up beer types
- Calculate the batch size per set-up
- Compute remaining inventory
- Limit the bottling plant
Demand/Inventory Constraints?
Consider the current inventory and batch sizes and compute the remaining inventory.
. . .
- Inventory of beer type at the end of period - Batch size of beer type in - Demand of beer type in period
. . .
Question: What could the constraint look like?
Demand/Inventory Constraints
. . .
- Inventory of beer type at the end of period - Batch size of beer type in - Demand of beer type in period
. . .
Question: What does
Setup Constraints?
Set up beer types where the batch size is
. . .
- 1, if beer type is bottled in period , 0 otherwise - Batch size of beer type in - Demand of beer type in period
. . .
Question: What could the second constraint be?
Setup Constraints
. . .
Question: Do you know this type of constraint?
. . .
This type of constraint is called a “Big-M” constraint!
. . .
- M (here
) is a large number - It is coupled with a binary variable (here
) - Like an if-then constraint
Capacity Constraints?
Limit the capacity of the bottling plant per period.
. . .
- 1, if beer type is bottled in period , 0 otherwise - Batch size of beer type in - Available time on the bottling plant in period - Time used for bottling one unit of beer type - Setup time for beer type
Capacity Constraints
Question: What could the third constraint be?
It has more variables and parameters when compared to the other constraints but it is easier to understand.
. . .
. . .
And that’s basically it!
CLSP: Objective Function
Minimize the combined setup and inventory holding cost while satisfying the demand and adhering to the production capacity.
CLSP: Constraints
Demand is met, inventory transferred, setup taken care of, and capacity respected.
CLSP: Variable Domains
The binary setup variable is either 0 or 1 and that the inventory and batch size are non-negative.
Model Characteristics
Recap on some Basics
There exist several types of optimization problems:
- Linear (LP): Linear constraints and objective function
- Mixed-integer (MIP): Linear constraints and objective function, but discrete variable domains
- Quadratic (QP): Quadratic constraints and/or objective
- Non-linear (NLP): Non-linear constraints and/or objective
- And more!
Recap on Solution Algorithms
- Simplex algorithm to solve LPs
- Branch & Bound to solve MIPs
- Outer-Approximation for mixed-integer NLPs
- Math-Heuristics (e.g., Fix-and-Optimize, Tabu-Search, …)
- Decomposition methods (Lagrange, Benders, …)
- Heuristics (greedy, construction method, n-opt, …)
- Graph theoretical methods (network flow, shortest path)
Model Characteristics
Questions: On model characteristics
- Is the model formulation linear/ non-linear?
- What kind of variable domains do we have?
- What kind of solver could we use?
- Can the Big-M constraint be tightened?
Model Assumptions
Questions: On model assumptions
- What assumptions have we made?
- What is the problem with the planning horizon?
- Any idea how to solve it?
Impact
Scale as a Problem
Solving the problem with commercial solvers is not feasible.
Scale of the Case Study
- 220 finished products
- 100 semi-finished products
- 13 production resources
- 8 storage resources
- 3 main production levels
- 52 weeks planning horizon
Heuristics and Optimization
- Multi-level Capacitated Lot-Sizing Problem
- Heuristic fix and optimize approach 1
- Operating cost reduction by 5% and planning effort by 40%
. . .
We now have covered the basics of the CLSP and are ready to start solving some tasks in the upcoming tutorial.
Literature
Literature I
For more interesting literature to learn more about Julia, take a look at the literature list of this course.