1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Linear programming models for a stochastic dynamic capacitated lot sizing problem

13 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Linear Programming Models for a Stochastic Dynamic Capacitated Lot Sizing Problem
Tác giả Le Dinh Khanh, Vu Truong Giang, Ngo Van Hieu, Le Thanh Mai
Người hướng dẫn Dr. Nguyen Van Hop, Nguyen Tuan Anh
Trường học Vietnam National University HCMC International University
Chuyên ngành Inventory Management
Thể loại Semester project
Năm xuất bản 2020-2021
Thành phố Ho Chi Minh City
Định dạng
Số trang 13
Dung lượng 325,46 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

SEMESTER PROJECT Linear programming models for a stochastic dynamic capacitated lot sizing problem TEMPELMEIER 2015 Members of Group 10: 1 Le Dinh Khanh IELSIU18053 2 Vu Truong Giang

Trang 1

SEMESTER PROJECT Linear programming models for a stochastic dynamic capacitated lot sizing problem

(TEMPELMEIER 2015)

Members of Group 10:

1 Le Dinh Khanh IELSIU18053

2 Vu Truong Giang IELSIU18028

4 Le Thanh Mai IELSIU18077

Lecturer: Dr Nguyen Van Hop Course: Inventory Management

Semester 1, year 2020- 202 1

VIETNAM NATIONAL UNIVERSITY HCMC

INTERNATIONAL UNIVERSITY

School of Industrial Engineering and Management

Trang 2

TABLE 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

Trang 3

ACKNOWLEDGEMENT

Firstly, 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 e project th

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

Trang 4

GROUP EVALUATION FORM

1 Timeline:

1 Group forming register group members, group name, &

Choosing a system to study via the link Week 1

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:

Trang 5

CASE 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

- Objective Functions: such as minimizing the final total cost and lot size, are a linear

function of an optimization's variables

- Constraints: are also linear functions of an optimization's variables and are used to

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, 2, … , 𝐾) items with dynamic random period demands 𝐷𝑘𝑡 over a planning horizon of

𝑇 (𝑡 = 1, 2, … , 𝑇) periods; For product 𝑘 , the demands 𝐷𝑘𝑡 are random variables with forecasted period-specific expectation 𝐸{𝐷𝑘𝑡} and variance 𝑉{𝐷𝑘𝑡} The period capacities of the resource are 𝑏𝑡 (𝑡 = 1, 2, … , 𝑇) These data, which may vary over time, are the outcome

of a forecasting 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

Trang 6

2 Objective:

The main objectives of this project are solve Lot-sizing Problem occurring in stochastic to 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

Trang 7

MODEL FORMULATION AND DESCRIPTION

1 Mathematical model:

Objective function:

𝑴𝒊𝒏𝒊𝒎𝒊𝒛𝒆 𝐸{𝐶} = ∑ ∑ (𝑠𝑘× 𝛾𝑘𝑡 + ℎ𝑘 × [∆𝐼0𝑘𝑡𝑃 + ∑ ∆𝐿 𝑙=1𝑙 × 𝑤𝑘𝑡𝑙 ])

𝑙=1

𝑇 𝑡=1

𝐾

Constraints (Subject to):

∑(𝑡𝑘 𝑏× 𝑞𝑘𝑡 + 𝑡𝑘𝑟 × 𝛾𝑘𝑡) ≤ 𝑏𝑡 𝐾

𝑘=1

𝑡 = 1,2, … , 𝑇 (15) (15) Total setup time and processing time to produce a product must be smaller than the capacity

∑ 𝑤𝑘,𝑡−1𝑙 𝐿

𝑙=1

≤ ∑ 𝑤𝑘𝑡𝑙 𝑡 = 2,3, , 𝑇; 𝑘 = 1,2, , 𝐾 𝐿

𝑙=1

(16)

(16) Total production quantity of product 𝑘 from 𝑙 = 1 𝐿 in period to 𝑡 − 1 must be smaller than or equal to total production quantity of product 𝑘 from 𝑙 = 1 𝐿 in period to 𝑡

𝑤𝑘𝑡𝑙 ≤ 𝑢𝑘𝑡𝑙 − 𝑢𝑘𝑡𝑙−1 𝑡 = 1,2, , 𝑇; 𝑙 = 1,2, , 𝐿; 𝑘 = 1,2, , 𝐾 (17)

(17) Total production quantity of product associate with line segment must fit in to the 𝑘 𝑙 range of production inside each line segment

∑ 𝑤𝑘,𝑡𝑙 𝐿 𝑙=1

− ∑ 𝑤𝑘,𝑡−1𝑙 𝐿 𝑙=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

𝑞𝑘𝑡 ≤ 𝑀 × 𝛾𝑘𝑡 𝑡 = 1,2, … , 𝑇; 𝑘 = 1,2, … , 𝐾 (19) (19) If there is no setup in period t of product k, then 𝑞𝑘𝑡 must be 0

∑ 𝑤𝑘,𝑡𝑙

𝐿

𝑙=1

− ∑ 𝑤𝑘,𝑡−1𝑙 𝐿 𝑙=1

= 𝑞𝑘𝑡 𝑡 = 1,2, , 𝑇; 𝑙 = 1,2, , 𝐿; 𝑘 = 1,2, , 𝐾 (18) 𝑞𝑘𝑡 ≤ 𝑀 × 𝛾𝑘𝑡 𝑡 = 1,2, , 𝑇; 𝑘 = 1,2, , 𝐾 (19)

(𝑆𝑒𝑟𝑣𝑖𝑐𝑒 𝑙𝑒𝑣𝑒𝑙 𝑐𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡𝑠,𝑡𝑜 𝑏𝑒 𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑒𝑑) (20) 𝛾𝑘𝑡 ∈ { }0,1 𝑡 = 1,2, … , 𝑇; 𝑘 = 1,2, … , 𝐾 (21 ) (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)

Trang 8

(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 −∑ (∆𝐵0 𝑘𝑡 + ∑ ∆𝐵𝐿 𝑙 𝑘𝑡 × 𝑤𝑘𝑡𝑙 )

𝑙=1

𝑇 𝑖=1

∑ 𝐸{𝐷𝑇 𝑘𝑖} 𝑖=1 ≥ 𝛽𝑇∗ 𝑘 = 1,2, … , 𝐾 (23) (23) ∑ (∆0𝐵𝑘𝑡 + ∑ ∆𝐵𝐿 𝑙𝑘𝑡 × 𝑤𝑘𝑡𝑙 )

𝑙=1

𝑇

𝑖=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 constrain : ts

∑ 𝑤𝑘𝑡 𝐾 𝑘=1

≤ 1 𝑡 = 1,2, … , 𝑇 (27) (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

𝑣 + 𝛾𝑡 𝑘𝑡 ≤ 1 𝑘 = 1,2, , 𝐾; 𝑡 = 1,2, , 𝑇 (30) (30) Force to 0 if there is a setup in period t 𝑣𝑡

𝛾𝑘0 = 0, 𝑤𝑘1 = 0 𝑘 = 1,2, , 𝐾 (31) (31) No setup in the starting point for each product

𝑤𝑘𝑡 ∈ {0,1} 𝑘 = 1,2, , 𝐾; 𝑡 = 1,2, , 𝑇 (32) (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

𝑣𝑡 ≥ 0 𝑡 = 1,2, , 𝑇 (33) (33) Indicator variable is a non-negative variable 𝑣𝑡

Additional constraints:

∆𝑙𝐵𝑘𝑡∈ [0; 1] 𝑘 = 1,2, , 𝐾; 𝑡 = 1,2, , 𝑇; 𝑙 = 1,2, , 𝐿; (34 35− )

(34-35) The slope of backorder must be a percentage-type variable

Trang 9

2 Model implementation:

We input the algorithm into LINGO applications and obtain the following codes:

MODEL : !FIX AND OPTIMIZE HEURISTIC FOR LOT SIZING PROBLEM;

!BSI = BINARY SETUP INDICATOR;!CP = CUMULATED PRODUCTION;

!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;

@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);

@FOR (PRONUMB(x):

@FOR (PLANHOR(y)|y #GE# 2:

@FOR (LINESEG(z)|z #GE# 2: PQ(x, y, z) >= 0)));

!CONSTRAINT 22;

Trang 10

@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,y-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;

! PARAMETERS;

DATA :

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;

Trang 11

3 Result analysis:

After finishing our code, we then proceed to solve the case by LINGO with the codes given

Global optimal solution found

Objective value: 2,000,000 Objective bound: 2,000,000 Infeasibilities: 0.000000

Extended solver steps: 1

Total solver iterations: 221

Elapsed runtime seconds: 55.48 Model Class: MIQP Total variables: 5171

Nonlinear variables: 3110

Integer variables: 190

Total constraints: 4601

Nonlinear constraints: 21

Total nonzeros: 15300

Nonlinear nonzeros: 2100 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

Ngày đăng: 07/06/2022, 19:50

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Frederick S. Hillier, Gerald J. Lieberman; Introductions to Operations Research 9 th Edition; Extracted from: PDF file of this book Khác
[2] Horst Tempelmeier, Timo Hilger; Linear programming models for a stochastic dynamic capacitated lot sizing problem; Computers &amp; Operations Research, Volume 59, 2015, Pages 119-125, ISSN 0305-0548 Extracted from: PDF file of this article Khác
[3] Horst Tempelmeier, Michael Kirste, Timo Hilger, Linear programming models for a stochastic dynamic capacitated lot sizing problem, Computers &amp; Operations Research, Volume 91, 2018, Pages 258-259, ISSN 0305-0548; Extracted from: PDF file of this article Khác
[4] Kantor Ivan, Robineau Jean-Loup, Bỹtỹn Hỹr, Marộchal Franỗois A Mixed-Integer ; Linear Programming Formulation for Optimizing Multi-Scale Material and Energy Integration; Frontiers in Energy Research, Volume 8, 2020, Pages 1- 20 , ISSN 2296-598X . Extracted from: PDF file of this article Khác
[5] Tempelmeier H. (2013) Stochastic Lot Sizing Problems. In: Smith J., Tan B. (eds) Handbook of Stochastic Models and Analysis of Manufacturing System Operations.International Series in Operations Research &amp; Management Science, vol 192. Extracted from: PDF file of this article Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w