VIETNAM NATIONAL UNIVERSITYHCMC INTERNATIONAL UNIVERSITY School of Industrial Engineering and Management SEMESTER PROJECT Linear programming models for a stochastic dynamic capacitated l
Trang 1VIETNAM NATIONAL UNIVERSITY
HCMC INTERNATIONAL
UNIVERSITY School of Industrial
Engineering and Management
SEMESTER PROJECT
Linear programming models
for a stochastic dynamic
capacitated lot sizing
problem
(TEMPELMEIER 2015)
Members of Group 10:
Lecturer: Dr Nguyen Van Hop Course: Inventory Management
Semester 1, year 2020-2021
Trang 2TIEU LUAN MOI download : skknchat@gmail.com
Trang 3TABLE OF CONTENTS
TABLE OF CONTENTS 1
ACKNOWLEDGEMENT 2
GROUP EVALUATION FORM 3
1 Timeline: 3
2 Policies: 3
3 Group individual assessment: 3
CASE SUMMARIZATION 4
1 Description: 4
2 Objective: 5
3 Scope: 5
4 Limitations: 5
MODEL FORMULATION AND DESCRIPTION 6
1 Mathematical model: 6
2 Model implementation: 8
3 Result analysis: 10
4 Sensitivity analysis: 10
LIMITATIONS 10
CONCLUSION 11
REFERENCES 12
P a g e | 1
TIEU LUAN MOI download : skknchat@gmail.com
Trang 4Firstly, our group would like to give the deepest thanks and appreciation to our dedicated
Dr Nguyen Van Hop and teaching assistant Nguyen Tuan Anh helping us to build the code and encouraging us throughout the project
Secondly, we also appreciate our dear teacher Dr Nguyen Van Hop for giving us the Linear Programing models for a stochastic dynamic capacitated lot sizing problem to be our project This offers us the opportunity to fully understand the fundamental and practice of the subject Inventory Management
Lastly, we would like to save our thanks for our beloved teammates with their great
supports for better or worse, through thick and thin
P a g e | 2
Trang 5GROUP EVALUATION FORM
1 Timeline:
1 Group forming & register group members, group name, Week 1
Choosing a system to study via the link
be announced)
be announced)
2 Policies:
- Report: 40%
- Presentations: 30%
- Q&A: 15%
- Contribution to the group: 15%
- Penalty:
1 Late submission 1 day: - 10%
2 Late submission 2 days: - 20%
3 Late submission 3 days: - 30%
4 Late submission > 3 days or no submission: - 100%
5 Absent from presentation: - 60%
3 Group individual assessment:
P a g e | 3
Trang 6TIEU LUAN MOI download : skknchat@gmail.com
Trang 7CASE SUMMARIZATION
The mathematical model for integer programming is the linear programming model with one additional restriction that the variables must have integer values If only some of the variables are required to have integer values (so the divisibility assumption holds for the
rest), this model is referred to as Mixed Integer Programming (MIP).
In short, MIP is often used for system analysis and optimization as it presents a flexible method for solving large and complex problems Several limitations have also lead researchers toward bi-level optimization, non-linear deterministic optimization, or stochastic methods to address certain aspects of processing Such extensions often require other simplifications and the development of heuristic methods for limiting the solution space and determining solution globality
Components of MIP problem:
- Variables: These parameters may be numerical (real numbers) as in the number of
products K or target fill rate or binary for a Yes/No decision on whether a product has setup cost or not Integer programming determines the optimal value for such variables
function of an optimization's variables
restrict the values an optimization can return for a variable For example, constraint 15 is the total sum of set up time and processing time to produce a product must be smaller than the capacity
1 Description:
Lot-sizing Problems occur in industrial practice, when a production process can only start after a setup of the required resources with associated setup time and/or setup costs has been completed In this project, we concentrate on the stochastic dynamic multi-item capacitated lot sizing problem (SCLSP), which is the stochastic counterpart of the well-known deterministic dynamic multi-item capacitated lot sizing problem (CLSP) The
problem can be determined to consider a single resource, which is used to produce ( = 1,
period-specific expectation { } and variance { } The period capacities of the resource are
procedure It is assumed that the demands of the products are mutually independent and autocorrelated Unfilled demands are backordered and the amount of backorders is controlled by imposing a fill rate constraint, namely the service level
At the beginning of the planning horizon, the initial inventory 0 ( = 1, 2, … , ) can be determined and may be zero Moreover, the complete production plan is fixed, including the timing and the size of the cumulated production quantities There is also a charge of the inventory holding costs at the end of each period
P a g e | 4
TIEU LUAN MOI download : skknchat@gmail.com
Trang 82 Objective:
The main objectives of this project are to solve Lot-sizing Problem occurring in stochastic dynamic by optimizing the final total cost and the lot size based on a given data:
- First, to understand the concept and the mathematical model given by Horst
Tempelmeier and Timo Hilger throughout the paper
- Second, to translate the objective function (14) and the constraints from (15) to (33) into LINGO programming to observe the result
- Third, to apply Sensitivity Analysis to propose a conclusion including the result or any limitations from the solution for the stochastic dynamic capacitated lot-sizing problem
3 Scope:
This problem can apply to a large model However, in our project, we limit all important parameters (production number, planning horizon, lines segment) to 10 (In reality we should extend the line segment because this model approach non – linear problem by linear method, so the greater number of line segment, the more accurate the solution is.)
In addition, it only focuses on the optimization for the problem with assumed data Therefore, it is hardly applied the result in practice as we cannot identify a specific practical situation or background
4 Limitations:
From the given basic model, it is believed that this model cannot be brought into practice due to the time-consumption in instancing the exact solution We need to give a specific background with a certain condition in production so that the binary setup variables will
be prevented from being decomposed into smaller and smaller subproblems which will generates more issues for the model As the result, Fix & Optimize heuristic is carried out
as a background for the model in this lot-sizing problem Thanks to Fix & Optimize heuristic, the solution can deliver high-quality results, easier to implement and can be adjusted to fit with different kinds of mixed-integer lot-sizing problems
P a g e | 5
Trang 9MODEL FORMULATION AND DESCRIPTION
1 Mathematical model:
Objective function:
Constraints (Subject to):
=1
(15) Total setup time and processing time to produce a product must be smaller than the capacity
= 2,3, , ; = 1,2, , (16)
∑ , −1 ≤ ∑
(16) Total production quantity of product from = 1 to in period − 1 must be smaller than
or equal to total production quantity of product from = 1 to in period
(17) Total production quantity of product associate with line segment must fit in to the range of production inside each line segment
∑ , − ∑ , −1 == 1,2, … , = 1,2, … , (18)
(18) Production quantity for product k in period t is equal to the sum of production
quantities for product from = 1 to in period less the sum of production quantities product from = 1 to in period − 1.
(19) If there is no setup in period t of product k, then must be 0
= 1,2, , ; = 1,2, , ; = 1,2, , (18)
∑ , − ∑ , −1 =
(21) The constraint that clarify setup indicator in period t for product k is a binary
variable
, ≥ 0= 1,2, , ; = 1,2, , ; = 1,2, , (22)
P a g e | 6
TIEU LUAN MOI download : skknchat@gmail.com
Trang 10(22) Production quantity of product k in period t associated with interval l must be a non-negative number
Service Level: If the finite horizon criterion is used, than constraint (20) is specified as
= 1,2, … , (23)
∑ =1 { } (23) ∑ =1 (∆ 0 + ∑ =1 ∆ × ) is the total backorder quantities, ∑ =1 { } is the total demand Therefore, this constraint means the model must satisfy at least ∗ service level
The above basic model formulation can easily be extended to incorporate setup carryovers
We extend the above model by the following constraints:
=1
(27) Each product can only in the setup state one time
≤ , −1 + , −1 = 1,2, … , ; = 2,3,… , (28)
(28) This constraint ensures the logical of the variable: the setup state cannot carry over from period t-1 to period t if it did not start in period t-1
+ , +1 ≤ 1 + = 1,2,…, ; = 2,3,…., − 1 (29)
(29) Consequence of constraint 30 , +1 = 0 if = 0
(30) Force to 0 if there is a setup in period t
(31) No setup in the starting point for each product
(32) Clearer definition for binary variable which indicates that the resource is in the setup state for product k at the beginning of period t
(33) Indicator variable is a non-negative variable
Additional constraints:
(34-35) The slope of backorder must be a percentage-type variable
P a g e | 7
Trang 112 Model implementation:
We input the algorithm into LINGO applications and obtain the following codes:
MODEL : !FIX AND OPTIMIZE HEURISTIC FOR LOT SIZING PROBLEM;
!SC = SETUP COST; !HC = HOLDING COST;
!EB = EXPECTED BACKORDERS; !EI = EXPECTED INVENTORIES; !ED = EXPECTED DEMAND;
!SB = BACKORDERS SLOPE; !SI = INVENTORIES SLOPE; !TBO = 1;
!BSI = BINARY SETUP INDICATOR;!CP = CUMULATED PRODUCTION;
!PT = PROCESSING TIME; !ST = SETUP TIME;
!IV = INDICATOR VARIABLE;
!PQ, PQ1 = PRODUCTION QUANTITY;
!TFR = TARGET FILL RATE = 0.80;
!PCR = PERIOD CAPACITIES OF THE RESOURCE;
!BPQ = BINARY INDICATE THE RESOURCE IS IN THE SETUP STATE;
SETS :
PRONUMB /1 10/: SC, HC, PT, ST; !PARAMETERS AND VARIABLES RELATE TO PRODUCT NUMBER;
PLANHOR /1 11/: PCR, VI; !PARAMETERS AND VARIABLES RELATE TO PLANNING HORIZON;
LINESEG /1 11/: ; !PARAMETERS AND VARIABLES RELATE TO LINE SEGMENT;
LOTCALC1 (PRONUMB, PLANHOR): BSI, PQ1, ED, BPQ; !2-DIMENSION VAR;
LOTCALC2 (PRONUMB, PLANHOR, LINESEG): SB, SI, CP, PQ; !3-DIMENSION VAR;
ENDSETS
! THE OBJECTIVE FUNCTION;
[OBJ] MIN = @SUM (LOTCALC2(x,y,z)|y #GE# 2 #AND# z #GE# 2: SC(x)*BSI(x,y) + HC(x)*(100
+ (SI(x,y,z)*PQ(x,y,z))));
!100 IS THE BEGINNING EXPECTED INVENTORIES;
! THE CONSTRAINTS;
@FOR (PLANHOR(y)|y #GE# 2:
@SUM (PRONUMB(x):(PT(x)*PQ1(x,y) )+(ST(x)*BSI(x,y) ) ) <=
PCR(y)); !CONSTRAINT 15;
@FOR (PRONUMB(x):
@FOR (PLANHOR(y)|y #GE# 3:
@SUM (LINESEG(z)|z #GE# 2: PQ(x, y-1, z)) <= @SUM (LINESEG(z)|z #GE# 2: PQ(x, y, z)))); !CONSTRAINT 16;
@FOR (PLANHOR(y)|y #GE# 2:
@FOR (PRONUMB(x):
@FOR (LINESEG(z)|z #GE# 2: PQ(x, y, z) <= (CP(x, y, z) - CP(x, y, z-1))))); !CONSTRAINT 17;
@FOR (PLANHOR(y)|y #GE# 2:
@FOR (PRONUMB(x):
( @SUM (LINESEG(z)|z #GE# 2: PQ(x, y, z)) - @SUM (LINESEG(z): PQ(x, y-1, z))) = PQ1(x, y))); !CONSTRAINT 18;
@FOR (PLANHOR(y)|y #GE# 2:
@FOR (PRONUMB(x): PQ1(x, y) <= (1000000000*BSI(x, y))));
!CONSTRAINT 19;
@FOR (PRONUMB(x):
(1 - @SUM (LOTCALC2(x,y,z)|y #GE# 2 #AND# z #GE# 2: 0 + SB(x, y , z)*PQ(x, y, z))/ @SUM (PLANHOR(y)|y
#GE# 2: ED(x, y)) ) >= 0.8);
!CONSTRAINT 20-(23): ASSUME THAT EXPECTED BACKORDER AT = 0 IS 0;
@FOR (PRONUMB(x):
@FOR (PLANHOR(y)|y #GE# 2:
@FOR (LINESEG(z)|z #GE# 2: PQ(x, y, z) >= 0)));
!CONSTRAINT 22;
P a g e | 8
TIEU LUAN MOI download : skknchat@gmail.com
Trang 12@FOR (PLANHOR(y)|y #GE# 2:
@SUM (PRONUMB(x): BPQ(x, y)) <= 1);
!CONSTRAINT 27;
@FOR (PRONUMB(x):
@FOR (PLANHOR(y)|y #GE# 3: BPQ(x, y) <= (BSI(x,1) + BPQ(x, y-1)))); !CONSTRAINT 28;
@FOR (PRONUMB(x):
@FOR (PLANHOR(y)|3 #LE# y #AND# y #LE# 10: (BPQ(x, y)+BPQ(x, y+1)) <= (1 + VI(y)))); !CONSTRAINT 29;
@FOR (PRONUMB(x):
@FOR (PLANHOR(y)|y #GE# 2: (VI(y) + BSI(x, y)) <= 1));
!CONSTRAINT 30;
@FOR (PRONUMB(x): BSI(x,1) = 0);
!CONSTRAINT 31-1;
@FOR (PRONUMB(x): BPQ(x,2) = 0);
!CONSTRAINT 31-2;
@FOR (PLANHOR(y)|y #GE# 2: VI(y) >= 0);
!CONSTRAINT 33;
@FOR (LOTCALC2(x,y,z)|y #GE# 2 #AND# z #GE# 2: SB(x,y,z) >=
0); !CONSTRAINT 34;
@FOR (LOTCALC2(x,y,z)|y #GE# 2 #AND# z #GE# 2: SB(x,y,z) <=
1); !CONSTRAINT 35;
!CONSTRAINT 34 AND 35 ENSURE THAT THE SLOPE OF BACKORDER IS A PERCENTAGE INDEX;
! BINARY CONDITION;
@FOR (LOTCALC1(x,y)|y #GE# 2: @BIN (BSI(x,y)));
!CONSTRAINT 21;
@FOR (LOTCALC1(x,y)|y #GE# 2: @BIN (BPQ(x,y)));
!CONSTRAINT 32;
SC = 500, 500, 500, 500, 500, 500, 500, 500, 500, 500;
HC = 20, 20, 20, 20, 20, 20, 20, 20, 20, 20;
ST=0,0,0,0,0,0,0,0,0,0;
ED =
0 ,0 ,0,0 ,0,0 ,0 ,0,0 ,0,
80 ,89 , 4 ,18 ,65, 27 ,48 ,53, 82 ,33,
64 ,39 ,63 ,11 ,42, 57 ,38 ,12, 6 ,29,
44 ,95 ,93 ,94 ,30, 21 ,88 ,37, 23 ,51,
15 ,59 ,16 ,17 ,50, 90 ,26 ,25, 74 ,36,
14 ,24 ,10 ,32 ,76, 69 ,79 ,55, 41 ,98,
97 ,66 ,40 ,46 ,22, 5 ,47 ,49, 70 ,83,
60 ,92 ,54 ,43 ,84, 7 ,72 ,75, 1 ,86,
81 , 9 ,68 ,58 ,45, 96 ,31 , 2, 13 ,28,
95 , 8 ,85 ,61 ,99, 35 ,71 ,19, 77 ,91,
11 ,56 ,80 ,64 ,44, 15 ,14 ,97, 60 ,81;
PCR = 1000 , 1000 , 1000 , 1000 , 1000 , 1000 , 1000 , 1000 , 1000 , 1000 , 1000;
ENDDATA
END
P a g e | 9
Trang 133 Result analysis:
After finishing our code, we then proceed to solve the case by LINGO with the codes given
Global optimal solution found
Further results are embedded inside of the txt file (we will include on Google Drive later
under the name GROUP 10 - LINGO SOLUTION)
4 Sensitivity analysis:
Realizing that the sensitivity analysis requires to find changes in the data for 5,171
variables available in our project, we decide to skip this part and move on to state our
problems while proceeding with our project
LIMITATIONS
Some problems related to model constraints and data base that led to an illogical optimal
solution:
• This paper cannot provide the production quantity function which led to
unidentifiability of the upper and lower limits of each line segment → all variables that
related to production are equal to 0
• The numerical results cannot provide specific constants which is necessary to solve
a completed model → assuming data may lead to error in solution (we cannot know
whether these parameters are logical or not)
• On the other hand, there is a lack of flexibility of the mathematical model in practice
In addition, the service level constraints do not allow occasional over-achievement of the
target service level, which occurs particularly in a situation with high-capacity utilization
when the period capacity is not sufficient to fill the actual demand and it, therefore, is
required to shift production into an earlier production cycle This limitation has already
been resolved and published by the same authors in 2017
P a g e | 10
TIEU LUAN MOI download : skknchat@gmail.com
Trang 14From LINGO, we temporarily conclude: the minimum objective function value with our
given data is $2,000,000 with all setup binary indicators and production quantity
variables equal to 0
Conclusion:
In conclusion, the minimum cost in this stochastic dynamic capacitated lot-sizing problem for the production number, planning horizon, and lines segment (which are assumed to 10 from the Scope section) is $2,000,000 with only backlogging and neither setup nor
production occurs ( = 0; = 0; = 0).
P a g e | 11