You are on page 1of 22

Inventory Management Group 2

VIETNAM NATIONAL UNIVERSITY HCMC


INTERNATIONAL UNIVERSITY
SCHOOL OF INDUSTRIAL AND ENGINEERING MANAGEMENT

GROUP REPORT

NEW MIXED INTEGER APPROACH TO SOLVE


A MULTI-LEVEL CAPACITATED
DISASSEMBLY LOT-SIZING PROBLEM
WITH DEFECTIVE ITEMS AND BACKLOGGING

LECTURER: Dr. Nguyen Van Hop


GROUP 2:

STUDENT ID NAME

IELSIU18075 Phạm Ngọc Xuân Mai

IELSIU18086 Hồ Yến Na

IELSIU18096 Lương Thanh Bảo Ngọc

IELSIU18191 Trần Như Bình

COURSE NAME: INVENTORY MANAGEMENT

Ho Chi Minh City, December 26th, 2020


Inventory Management Group 2

TABLE OF CONTENT

INTRODUCTION TO INVENTORY MANAGEMENT 2

I. INTRODUCTION 3

1. PURPOSE OF THE PROJECT 3


2. PROBLEM DESCRIPTION 3
3. OBJECTIVES 4
4. SCOPE 4
5. LIMITATION 4
6. ASSUMPTIONS 4

II. METHODOLOGY 5

1. MATHEMATICAL MODEL 5
1.1. BASIC PROBLEM 5
1.2. PROBLEM FORMULATION 6
2. MODEL IMPLEMENTTATION BY CPLEX 9
3. DATA ANALYSIS: 11
3.1 DISASSEMBLY PRODUCT STRUCTURE 11
3.2 DATA OF PARAMETERS 12

III. RESULT 14

IV. CONCLUSION 19

V. REFERENCES 20

CONTRIBUTION FORM 21

Page 1
Inventory Management Group 2

INTRODUCTION TO INVENTORY MANAGEMENT

Inventory management is a collection of work related to the organization, management,


arrangement, preservation of merchandise in the store . Inventory management is an
important job to be done continuously and throughout the process of storing goods in the
warehouse.

With the complexity and specialization in an organization increase, it becomes more and
more difficult to allocate the available expenditure to the various activities, especially
keeping stock in a way that is most economical for the organization as a whole.

As its name implies, inventory management involves “manage the inventory”. Every
organization holds stocks of materials to allow for variations and uncertainty in supply
and demand. Stocks are replenished by deliveries from suppliers and reduced to meet
demands from customers. Inventory management is responsible for all aspects of stock
control. High stock buffer comes at a high price and organizations are continually
looking for ways of reducing their inventory costs without affecting service. In the
process, inventory management has made a significant contribution to minimize the
expenditure consumed.

The steps of Inventory management process are:

1. Defining the problem of interest and gather relevant data.

2. Formulating a mathematical model to represent the problem.

3. Developing a computer-based procedure for deriving solutions to the problem


from the model.

4. Testing the model and refine it as needed.

In this project, our group will strictly follow this process.

Page 2
Inventory Management Group 2

I. INTRODUCTION

1. PURPOSE OF THE PROJECT


The purpose of this project is to illustrate the application of Inventory management in
practical problems of operational activities. The project also sought solution from Cplex
software. The study case will be generally defined as a Mixed Integer problem.

2. PROBLEM DESCRIPTION
Customers have a reliable demand for disassembled items for all time periods of the
planning horizon. This demand is both external for non-root items (subassemblies and
leaf items) and internal for non-leaf items stemming from the demand for end-of-life
products and subassemblies. It is satisfied either by disassembling the end-of-life
products or via procurements of new non-root items in the marketplace.

Inventory holding costs arise when the non-root items are held in inventory to meet the
future demand.

A non-root item is considered to be backlogged or backordered if the demand cannot be


met on the desired day. When an item is backordered, it definitely incurs a cost, which
means that the objective function can be penalized for any solution where these orders are
late. The end-of-life products are always available in the required quantity.

The goal of the model is to optimize the disassembly plans for each parent item while
fulfilling the external demand for non-root items. The two primary objectives are to (i)
maximize the profit obtained by the resale of recovered non-root items and (ii) minimize
the total cost tied to the disassembly process over the planning horizon.

Figure 1. The conceptual model for the studied problem

Page 3
Inventory Management Group 2

3. OBJECTIVES
This project addresses the capacitated dynamic lot-sizing problem with external
procurement, defective and backordered items, set-up times, and extra capacity. Firstly,
group 2 builds a mathematical model for the problem such that the objective function
represents the economic goal of maximizes the total profit while minimizing the sum of a
combination of costs: inventory holding, backlogging, external procurement, setup, and
overload costs over the planning horizon. Then, group 2 will compute CPLEX software
to generate optimal solution.

4. SCOPE
Our group solves case Slama 2020, starting from mathematical model. This project
facilitates the solving process via CPLEX software. The solving process is conducted
over 14 weeks.

5. LIMITATION
The project is restricted on the information source. All data was drawn from the study
case assessment subjectively. The solving process is influenced by methodologies
extracted from two textbooks: Inventory Management and Production Planning
Scheduling (Third Edition) By Edward A.Silver David F.Pyke Rein Peterson.

6. ASSUMPTIONS
To simplify the problem, the following assumptions have been made:

• Dynamic demands for the non-root items are known.


• Demand can be satisfied by the disassembly system and/or by external
procurement.
• All demands must be satisfied at the end of the planning horizon.
• Backlogging is allowed.
• Disassembled items may be defective.
• Disassembly operation time and setup time for all parent items are deterministic.
• Capacity and extra capacity are limited.
• Cost parameters are assumed to be constant.

Page 4
Inventory Management Group 2

II. METHODOLOGY

1. MATHEMATICAL MODEL
1.1. Basic problem

The problem with the disassembly system is shown in figure 1 with only one type of End-of-Life
(EoL) product, part commonalities and a multi-level Bill Of Material (BOM). The item to
disassemble is represented by the parent item. It has more than one child and a child element.

1 DLT = 1

(1) (2)

DLT = 0 2 3 DLT = 1

(2) (1)
(1)

DLT = 1 4 5 DLT = 0

(1) (3) (3) (1)

6 7 8

Figure 2. Disassembly structure: illustrative example

As illustrated in figure 1, the table below shows the relationship between items:

Element Name
1 the root item
2-5 the subassembly items
6-8 the components/ leaf items
7 a common component (can be obtained from parent 4 or parent 5)

Because of quantity discounts, the commonality of items leads to lower disassembly and
inventory costs in disassembly process, which can also reduce the use of materials across several
End-of-Life (EoL) products. Similarly, the number in brackets represents the number of units of
the item obtained when one unit of its parent is disassembled. To be specific, item 5 is
disassembled into 3 units of item 7 and 1 units of item 8. In addition, the disassembly lead time
(DLT) includes the time elapsed between releasing the disassembly order and receiving the
disassembled items. All parent items are disassembled when disassembly process is complete.

Page 5
Inventory Management Group 2

Due to limited disassembly capabilities, the term “overtime” is used in cases where a
disassembly plan so required by adding extra capacity. Moreover, it encompasses all capacity
additions and extra capacity on overtime is also limited.

1.2. Problem formulation

The model, which is focused on the multi-period capacitated (Disassembly lot-sizing) DLS for
the case of one product type and parts commonalities. Also, it is designed for purpose of
satisfying customer demands by finding the best disassembly timing and quantities. The model is
formulated based on material requirements planning (MRP) model mentioned in “Introduction
to computational optimization models for production planning in a supply chain” and develop it
to a R-MRP version. Therefore, in this case the problem is a reverse of the classical MRP.

The mathematic model is formed as follow:


Denote: 𝑖 = 1 is the index of the end-of-life product
𝑃 is the index of the last item obtained by disassembling

Three sets are established as follow:

(1) ℰ, the set of items 𝑖 with 𝑖 = 1, 2, … , 𝑖𝑙−1 , 𝑖𝑙 , … 𝑃, where 𝑖𝑙 denote the index for the first
leaf item
(2) 𝒜, the set of leaf items 𝑖 of the last level of product structure that can no longer be
disassembled with 𝑖 = 𝑖𝑙 , … , 𝑃 ∀ 𝑖 ∈ 𝒜, ∀ 𝑗 ∈ ℰ|𝑅𝑖,𝑗 = 0
(3) 𝒜𝐶 , the set of remaining items 𝑖 such that 𝒜 ∪ 𝒜𝐶 = ℰ

To make the model easy to understand, a marco, denoted ≡, is indicated the inventory level for
each non-root item 𝑖 in each time period 𝑡. The table below shows list of notations that is used
throughout this report.

Index
𝑡 Index of period 𝑡, 𝑡 ∈ 𝒯
𝑖 Index of item 𝑖, 𝑖 ∈ ℰ
Parameters
𝒯 Set of time period of the planning horizon
ℰ Set of items
𝒜 Set of leaf items 𝑖
𝒜𝐶 Set of sub-assemblies items 𝑖
Number of units of item 𝑗 obtained from disassembling one unit of item
𝑅𝑖,𝑗
𝑖
𝐷𝑖,𝑡 External demand for item 𝑖 in time-period 𝑡
𝐼𝑖,0 Starting inventory of item 𝑖

Page 6
Inventory Management Group 2

𝐿𝑖 Disassembly lead time of parent item 𝑖


ℎ𝑖 Per-period inventory holding cost of one unit of item 𝑖
𝑆𝑖 Per-period setup cost of parent item 𝑖
𝜙𝑖 Set of parents of item 𝑖
𝑏𝑖 Per-period backlogging cost of one unit of item 𝑖
𝐶𝑖 Per-period purchasing cost of one unit of item 𝑖
𝛼𝑖 Defective rate of item 𝑖
𝐺𝑖 Disassembly operation time for parent item 𝑖
𝑈𝑡 Available capacity in time-period 𝑡
𝑂𝑡 Cost of adding a unit of extra capacity in time-period 𝑡
𝐹𝑡 Disassembly capacity on overtime in time-period 𝑡
𝑆𝐶𝑖 Per-period sale price of item 𝑖
𝑆𝑇𝑖 Setup time of parent item 𝑖
𝑀 A large number
Decision variables
𝑋𝑖,𝑡 Quantity of parent item i to disassemble in time-period 𝑡, ∀ 𝑖 ∈ 𝒜𝐶
𝑍𝑖,𝑡 Quantity of item i to procure in time-period 𝑡, ∀ 𝑖 ∈ ℰ∖{1}
Variables
𝛿𝑖,𝑡 Binary indicator of disassembly for item i in time-period 𝑡, ∀ 𝑖 ∈ 𝒜𝐶
+
𝐼𝑖,𝑡 Inventory level of item i at the end of time-period 𝑡, ∀ 𝑖 ∈ ℰ∖{1}

𝐼𝑖,𝑡 Backordered quantity of item i in time-period 𝑡, ∀ 𝑖 ∈ ℰ∖{1}
The inventory level for each non-root item 𝑖 in each time-period 𝑡
𝐼𝑖,𝑡
𝑡, ∀ 𝑖 ∈ ℰ∖{1}
𝑊𝑖,𝑡 Defective quantity of item i in time-period 𝑡, ∀ 𝑖 ∈ ℰ∖{1}
𝑂𝑡 Disassembly ‘Overtime’ in time-period 𝑡, ∀ 𝑡 ∈ 𝒯
𝑄𝑖,𝑡 Sale quantity of item i in time-period 𝑡, ∀ 𝑖 ∈ ℰ∖{1}
Table 2. Notation

Eq. (1) represents the objective function that maximizes the total profit while minimizing the
sum of a combination of costs: inventory holding, backlogging, external procurement, setup, and
overload costs over the planning horizon:

+ −
𝑀𝑎𝑥 ∑ ( ∑ (𝑆𝐶𝑖 . 𝑄𝑖,𝑡 − ℎ𝑖 . 𝐼𝑖,𝑡 − 𝑏𝑖 . 𝐼𝑖,𝑡 − 𝐶𝑖 𝑍𝑖,𝑡 ) − 𝑂𝑡 . 𝑌𝑡 − ∑ 𝑆𝑖 . 𝛿𝑖,𝑡 )
𝑡∈𝒯 𝑖∈ℰ∖{1} 𝑖∈𝒜𝐶
+ −
= 𝑀𝑎𝑥 ∑ ∑ (𝑆𝐶𝑖 . 𝑄𝑖,𝑡 − ℎ𝑖 . 𝐼𝑖,𝑡 − 𝑏𝑖 . 𝐼𝑖,𝑡 − 𝐶𝑖 𝑍𝑖,𝑡 ) − ∑ 𝑂𝑡 . 𝑌𝑡 − ∑ ∑ 𝑆𝑖 . 𝛿𝑖,𝑡 (1)
𝑡∈𝒯 𝑖∈ℰ∖{1} 𝑡∈𝒯 𝑡∈𝒯 𝑖∈𝒜𝐶

Eq. (2) represents the inventory balance for each non-root item i at the end in each time-period t:

Page 7
Inventory Management Group 2

+ −
𝐼𝑖,𝑡 − 𝐼𝑖,𝑡 = 𝐼𝑖,𝑡 ∀ 𝑖 ∈ ℰ∖{1} , ∀𝑡 ∈ 𝒯 (2)
Where 𝐼𝑖,𝑡 is the marco defined as follows:
𝐼𝑖,𝑡 ≡ 𝐼𝑖,𝑡−1 + ∑ 𝑅𝑘,𝑖 . 𝑋𝑘,𝑡−𝐿𝑘 − 𝐷𝑖,𝑡 − 𝑋𝑖,𝑡 − 𝑊𝑖,𝑡 + 𝑍𝑖,𝑡
𝑘∈𝜙𝑖

Eq. (3) defines the demand and materials requirement for all non-root items and periods. In other
words, all demands must be satisfied at the end of the planning horizon:
𝑡

𝐼𝑖,𝑡 + ∑(𝐷𝑖,𝜏 ) ≥ 0 ∀ 𝑖 ∈ ℰ∖{1} , ∀𝑡 ∈ 𝒯 (3)


𝜏=1

Eq (4) guarantees that a setup cost is generated in a period if any disassembly operation needs to
be performed in that period:
𝑋𝑖,𝑡
𝛿𝑖,𝑡 − ≥0 ∀ 𝑖 ∈ 𝒜𝐶 , ∀𝑡 ∈ 𝒯 (4)
𝑀

Eq. (5) defines the defective quantity for each non-root item i in each time-period t:
𝑊𝑖,𝑡 = 𝛼𝑖 × ∑ 𝑅𝑘,𝑖 . 𝑋𝑘,𝑡−𝐿𝑘 ∀ 𝑖 ∈ ℰ∖{1} , ∀𝑡 ∈ 𝒯 (5)
𝑘∈𝜙𝑖

Eq. (6) represents the disassembling capacity constraint in each time-period t:


∑ (𝑆𝑇𝑖 . 𝛿𝑖,𝑡 + 𝐺𝑖 . 𝑋𝑖,𝑡 ) ≤ 𝑈𝑡 + 𝑌𝑡 ∀𝑡 ∈ 𝒯 (6)
𝑖∈𝒜𝐶

Eq. (7) represents the lower and upper bounds available for extra capacity on overtime in each
time-period t:
0 ≤ 𝑌𝑡 ≤ 𝐹𝑡 ∀𝑡 ∈ 𝒯 (7)

Eq. (8) defined the sale quantity for each non-root item i and time-period t:
𝑄𝑖,𝑡 = (𝐷𝑖,𝑡 − 𝑍𝑖,𝑡 − 𝐼𝑖,𝑡 ) ∀ 𝑖 ∈ ℰ∖{1} , ∀𝑡 ∈ 𝒯 (8)

Eq. (9) – (17) offer the conditions framing the decision variables:
𝑊𝑖,𝑡 ≥ 0 ∀ 𝑖 ∈ ℰ∖{1} , ∀𝑡 ∈ 𝒯 (9)
𝑌𝑡 ≥ 0 ∀𝑡 ∈ 𝒯 (10)

𝐼𝑖,𝑡 ≥ 0 ∀ 𝑖 ∈ ℰ∖{1} , ∀𝑡 ∈ 𝒯 (11)
+
𝐼𝑖,𝑡 ≥ 0 ∀ 𝑖 ∈ ℰ∖{1} , ∀𝑡 ∈ 𝒯 (12)
𝑍𝑖,𝑡 ≥ 0 ∀ 𝑖 ∈ ℰ∖{1} , ∀𝑡 ∈ 𝒯 (13)
𝑄𝑖,𝑡 ≥ 0 ∀ 𝑖 ∈ ℰ∖{1} , ∀𝑡 ∈ 𝒯 (14)
𝑋𝑖,𝑡 ≥ 0 ∀ 𝑖 ∈ 𝒜 𝐶 , ∀𝑡 ∈ 𝒯 (15)

Page 8
Inventory Management Group 2

𝑋𝑖,𝑡 ≤ 0 ∀ 𝑖 ∈ 𝒜𝐶 , ∀𝑡 ∈ 𝒯 (16)
𝛿𝑖,𝑡 ∈ {0, 1} ∀ 𝑖 ∈ 𝒜𝐶 , ∀𝑡 ∈ 𝒯 (17)

Eq. (1) determine objective function and Eq. (2) – (17) determine all the constraints of the
model.

2. MODEL IMPLEMENTTATION BY CPLEX


//Parameter

int numPeriod = ...; //Number of periods


int numItem = ...; //Number of items
int StartLeaf = ...; // The first leaf item

range Period = 1..numPeriod; // Set of time period of the planning horizon


range Item = 1..numItem; // Set of items
range LeafItem = StartLeaf .. numItem; // Set of leaf items i
range SubAssembly = 1 .. StartLeaf - 1; // Set of sub-assemblies items i

int R[Item][Item] = ...;//Number of units of j from disassembling 1 unit of i


int D[Item][Period] = ...; // External demand for item i in time-period t
int I0[Item] = ...; // Starting inventory of item i
int L[Item] = ...; //Disassembly lead time of parent item i
int h[Item] = ...; // Inventory holding cost of one unit of item i
int S[Item] = ...; // Setup cost of parent item i
int phi[Item][Item] = ...; //Matrix to determine set of parents of item i
int b[Item] = ...; // Backlogging cost of one unit of item i
float C[Item] = ...; // Purchasing cost of one unit of item i
float alpha[Item] = ...; // Defective rate of item i
int G[Item] = ...; // Disassembly operation time for parent item i
int U[Period] = ...; // Available capacity in time-period t
int Extra[Period] = ...; //Cost of adding a unit of extra capacity in time-period t
int F[Period] = ...; // Disassembly capacity on overtime in time-period t
float SC[Item] = ...; // Sale price of item i
int ST[Item] = ...; // Setup time of parent item i
int BigM = 1000;

//Variables
dvar int+ X[Item][Period];
dvar int+ Z[Item][Period];
dvar int+ Y[Period];
dvar boolean sigma[Item][Period];
dvar int+ I_p[Item][Period];
dvar int+ I_m[Item][Period];
dvar int+ I[Item][Period];
dvar int+ W[Item][Period];
dvar int+ Q[Item][Period];

Page 9
Inventory Management Group 2

//Objective Function: Maximize total profit


maximize sum(t in Period, i in Item: i != 1)(SC[i]*Q[i][t] - h[i]*I_p[i][t] -
b[i]*I_m[i][t] - C[i]*Z[i][t])- sum(t in Period)(Extra[t]*Y[t])- sum(t in Period, i
in SubAssembly)(S[i]*sigma[i][t]);

//Constraints
subject to
{
Constraint2: //Inventory balance for non-root item i at t
forall (i in Item, t in Period: i != 1)
I_p[i][t] - I_m[i][t] == I[i][t];
Constraint2Add: //Inventory level for non-root item i at t
forall (i in Item, t in Period: i != 1){
if (t > 1)
I[i][t] == I[i][t-1] + sum(k in Item: phi[i][k] == 1 && t - L[k] >= 1)
(R[k][i]*X[k][t - L[k]]) - D[i][t] - X[i][t] - W[i][t] + Z[i][t];
if (t == 1) //When t = 1, I[i][0]=I0[i]
I[i][t] == I0[i] + sum(k in Item: phi[i][k] == 1 && t - L[k] >= 1)
(R[k][i]*X[k][t - L[k]]) - D[i][t] - X[i][t] - W[i][t] + Z[i][t];
}

Constraint3: //All demands are satisfied at the end of t


forall (i in Item, t in Period: i != 1)
I[i][t] + sum(tx in Period: tx <= t)D[i][tx] >= 0;

Constraint4: //Setup cost occur when disassembly operation is performed


forall (i in SubAssembly, t in Period)
sigma[i][t]*BigM >= X[i][t];

Constraint5: //Defective quantity for each non-root item i


forall (i in Item, t in Period: i != 1)
W[i][t] == alpha[i]*sum(k in Item: phi[i][k] == 1 && t - L[k] >= 1)
(R[i][k]*X[k][t - L[k]]);

Constraint6: //Disassembling capacity constraint


forall (t in Period)
sum(i in SubAssembly)(ST[i]*sigma[i][t] + G[i]*X[i][t]) <= U[t] + Y[t];

Constraint7: //The range available for extra capacity on overtime in t


forall (t in Period)
Y[t] <= F[t];

Constraint8: //The sale quantity for each non-root item i at t


forall (i in Item, t in Period: i != 1)
Q[i][t] == D[i][t] - Z[i][t] - I[i][t];

Page 10
Inventory Management Group 2

Constraint15:
forall (i in SubAssembly, t in Period)
X[i][t] >= 0;

Constraint16: //Make sure that the only the parent items are disassembled
forall (i in LeafItem, t in Period)
X[i][t] <= 0;

3. DATA ANALYSIS:
3.1 Disassembly product structure

According to the research paper, there are 3 levels of the number of items (10, 20 and 30) that
combined with 3 levels of the number of periods (10,20 and 30). Therefore, our team choose a
combination of 10 items and 10 periods. For each level of the number of items, 5 disassembly
product structures were randomly generated, the figure below showed the structure that our team
used to calculate in our project.

2 3

4 5

6 7 8

9
10

Figure 3. Disassembly structure: illustrative example

From this structure:


• The set of items is (1,2,3,4,5,6,7,8,9,10)
• The set of leaf items is (9,10)
• The set of parent items is (1,2,3,4,5,6,7,8)

Page 11
Inventory Management Group 2

3.2 Data of parameters


𝑹𝒊,𝒋
Items 1 2 3 4 5 6 7 8 9 10
1 0 2 3 0 0 0 0 0 0 0
2 0 0 0 3 4 0 0 0 0 0
3 0 0 0 0 1 0 0 0 0 0
4 0 0 0 0 0 1 3 0 0 0
5 0 0 0 0 0 0 2 4 0 0
6 0 0 0 0 0 0 0 0 2 0
7 0 0 0 0 0 0 0 0 3 1
8 0 0 0 0 0 0 0 0 0 4
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0
Table 3. Number of units of item 𝑗 obtained from disassembling one unit of item 𝑖

The number of items obtained from its parent is generated from D ∼ U(1, 4). Those number of
units are selected randomly based on this information. Following the given structure, the item 1
is disassembled into 2 units of item 2 and 3 units of item 3 and so on.
𝑫𝒊,𝒕
Items/
1 2 3 4 5 6 7 8 9 10
Periods
1 0 0 0 0 0 0 0 0 0 0
2 6 35 53 93 28 48 83 18 47 87
3 0 5 51 64 44 48 93 95 52 89
4 27 94 10 12 43 90 54 92 98 76
5 16 28 83 57 16 72 49 33 18 68
6 12 33 5 22 46 83 59 47 40 79
7 64 89 51 69 60 60 9 24 89 25
8 100 16 41 26 97 36 95 93 91 30
9 72 78 2 87 96 24 21 14 23 23
10 76 60 99 58 11 41 66 51 5 42
Table 4. External demand for item 𝑖 in time-period 𝑡

The demand for non-root is the discrete uniform distribution D ∼ U(0, 100). Demand of item 1 is
zero because it is the root item. The demand for item 3 at period 4 is 64 or the demand for item 9
at period 2 is 78 and so on.

Page 12
Inventory Management Group 2

𝜶𝒊 , 𝑮𝒊 , 𝑺𝑻𝒊 , 𝒉𝒊 , 𝒃𝒊 , 𝑺𝒊 , 𝑺𝑪𝒊 , 𝑪𝒊 , 𝑳𝒊 , 𝑰𝒊,𝟎


Items alpha(i) G(i) ST(i) h(i) S(i) b(i) SC(i) C(i) L(k) I(i,0)
1 0 6 22 18 268 36 429 772.2 1 20
2 0 1 23 15 204 30 328.5 591.3 1 20
3 0 3 23 14 983 28 1495.5 2691.9 1 20
4 0 2 29 16 752 32 1152 2073.6 1 20
5 0 2 31 16 912 32 1392 2505.6 1 20
6 0 4 22 17 43 34 90 162 1 20
7 0 1 10 12 978 24 1485 2673 1 20
8 0 3 20 12 69 24 121.5 218.7 1 20
9 0 0 0 17 0 34 25.5 45.9 0 20
10 0 0 0 12 0 24 18 32.4 0 20
Table 5. Data of parameters that are corresponding to items

With the disassembly operation time 𝐺𝑖 , setup time 𝑆𝑇𝑖 , setup cost 𝑆𝑖 are generated from D ∼
U(1, 4), D ∼ U(10, 50), D ∼ U(0, 1000), respectively, for parent items i. To be specified, the
disassembly operation time, setup time, setup cost of item 6 is 4, 22, 43 respectively. The item 9,
10 are not generated since they are leaf items

𝒉𝒊 D ∼ U(12, 20)
𝒃𝒊 2 × ℎ𝑖
𝑺𝑪𝒊 γ × (ℎ𝑖 + 𝑆𝑖 )
𝑪𝒊 β × 𝑆𝐶𝑖
γ 1.5
β 1.8
Table 6. Generation of data of ℎ𝑖 , 𝑏𝑖 , 𝑆𝑖 , 𝑆𝐶𝑖 , 𝐶𝑖

With starting inventory of each item, our team assumed that all of them are 20 units.

With disassembly lead time is set to 0, 1 and 2 with probabilities of 0.3, 0.4 and 0.3, respectively.
The expected value of disassembly lead time is 0 × 0.3 + 1 × 0.4 + 2 × 0.3 = 1. Thus, we set
the disassembly lead time for all is 1.

With the defective rate αi for each items is D ∼ U(0, 10), however, with this data, the defective
quantity will be higher than the quantity from disassembly. It is not correct with this situation.
Therefore, our team decided that set the value of alpha is 0.

𝝓𝒊

Page 13
Inventory Management Group 2

phi(i,k) 1 2 3 4 5 6 7 8 9 10
1 0 0 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0 0 0
3 1 0 0 0 0 0 0 0 0 0
4 0 1 0 0 0 0 0 0 0 0
5 0 1 1 0 0 0 0 0 0 0
6 0 0 0 1 0 0 0 0 0 0
7 0 0 0 1 1 0 0 0 0 0
8 0 0 0 0 1 0 0 0 0 0
9 0 0 0 0 0 1 1 0 0 0
10 0 0 0 0 0 0 1 1 0 0
Table 7. Matrix to determine set of parent of item i

With the set of parent of each item, our team use the matrix and boolean variable phi(i, k) to
determine. For instance, with the item 5, phi(5,1) = 0, that means item 1 is not the parent item of
item 5, however, phi(5,2) = 1, then the item 2 is the parent item of item 5 and so on. Finally, the
set of parent item of item 5 is (2,3).

𝑼𝒕 , 𝑭𝒕 , 𝑶𝒕

Periods U(t) F(t) O(t)


1 379 110 20
2 381 100 22
3 466 111 24
4 428 91 23
5 308 65 25
6 400 86 21
7 250 110 20
8 346 105 20
9 407 109 21
10 383 94 20
Table 8. Data of parameters that are corresponding to periods.

𝑼𝒕 D ∼ U(240, 480)
𝑭𝒕 D ∼ U(60, 120)
𝑶𝒕 D ∼ U(20, 25)
Table 9. Generation of data of 𝑈𝑡 , 𝐹𝑡 , 𝑂𝑡

III. RESULTS

Page 14
Inventory Management Group 2

𝜹𝒊,𝒕
Periods
Items
1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1 0
2 1 1 1 1 1 1 1 1 1 0
3 1 1 1 0 0 0 0 0 1 0
4 1 0 1 1 1 0 0 0 0 0
5 1 1 0 1 1 1 1 1 1 1
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 1 0 1 1 0 1
8 0 1 1 1 1 1 0 0 1 1
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0
Table 10. Binary indicator of disassembly for item i in time-period 𝑡

QUANTITY TO DISASSEMBLE
Periods
Items
1 2 3 4 5 6 7 8 9 10
1 6 30 22 14 16 37 26 24 30 0
2 15 11 10 10 21 18 17 16 25 0
3 20 13 39 0 0 0 0 0 21 0
4 20 0 23 6 4 0 0 0 0 0
5 10 25 0 23 24 12 23 35 28 71
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 4 0 9 9 0 31
8 0 24 18 2 8 24 0 0 20 81
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0
Table 11. Quantity of parent item i to disassemble in time-period 𝑡

Form the result of Cplex, table 8 shows the schedule to disassemble parent items over 10 periods
and table 9 shows the quantity of each parent item should be disassembled in each period. With
the root item, item 1, the quantity that are disassemble from periods 1 to 10 is 6, 30, 22, 14, 16,
37, 26, 24, 30, 0 respectively.

Page 15
Inventory Management Group 2

BACKORDERED QUANTITY
Periods
Items
1 2 3 4 5 6 7 8 9 10
1 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0
Table 12. Backordered quantity of item i in time-period 𝑡

INVENTORY LEVEL AT THE END OF TIME-PERIOD


Periods
Items
1 2 3 4 5 6 7 8 9 10
1 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 18 0 0
3 0 0 0 2 0 0 18 1 0 1
4 0 0 0 12 0 0 0 0 0 0
5 0 27 1 0 0 0 0 0 18 0
6 8 0 0 1 0 0 0 0 0 0
7 0 0 0 0 0 0 6 19 0 0
8 0 0 41 13 0 36 0 0 29 30
9 0 0 0 0 0 0 0 13 17 0
10 0 0 0 14 11 6 36 0 4 42
Table 13. Inventory level of item i at the end of time-period 𝑡

The backordered quantity of this solution is zero, so the inventory level of each non-root item in
each time is equal to the inventory level of each item at the end of each time-periods. Having no
backordered quantity, so service level of this solution is quite good. The manager can guarantee
that all demands are able to meet on the desired day.

Page 16
Inventory Management Group 2

PURCHASING QUANTITY
Periods
Items
1 2 3 4 5 6 7 8 9 10
1 0 0 0 0 0 0 0 0 0 0
2 1 34 3 59 21 34 26 0 6 27
3 0 0 0 0 0 0 0 0 0 0
4 27 49 0 0 5 27 0 41 50 1
5 6 0 0 0 0 0 0 0 0 0
6 0 5 5 0 39 79 59 47 40 79
7 44 9 1 0 0 0 0 0 0 0
8 80 0 0 0 0 0 11 1 0 0
9 52 78 2 87 96 12 21 0 0 6
10 56 60 3 0 0 0 0 6 0 0
Table 14. Quantity of item i to procure in time-period 𝑡

According to the model, they can purchase external items for each period this is given in the
table 14.

OVERTIME
Periods Value
1 0
2 90
3 10
4 0
5 28
6 32
7 64
8 0
9 96
10 94
Table 15. Disassembly ‘Overtime’ in time-period 𝑡

Table 15 shows the extra capacity can be added for each period over a planning horizon.

Page 17
Inventory Management Group 2

DEFECTIVE QUANTITY
Periods
Items
1 2 3 4 5 6 7 8 9 10
1 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0
Table 16. Defective quantity of item i in time-period 𝑡

SALE QUANTITY
Periods
Items
1 2 3 4 5 6 7 8 9 10
1 0 0 0 0 0 0 0 0 0 0
2 5 1 50 34 7 14 57 0 41 60
3 0 5 51 62 44 48 75 94 52 88
4 0 45 10 0 38 63 54 51 48 75
5 10 1 82 57 16 72 49 33 0 68
6 4 28 0 21 7 4 0 0 0 0
7 20 80 50 69 60 60 3 5 89 25
8 20 16 0 13 97 0 84 92 62 0
9 20 0 0 0 0 12 0 1 6 17
10 20 0 96 44 0 35 30 45 1 0
Table 17. Sale quantity of item i in time-period 𝑡

Finally, table 17 illustrates the optimal sale quantity for this project.

Figure 4. The optimal solution

 The optimal total profit is 1,755,665.1

Page 18
Inventory Management Group 2

IV. CONCLUSION

Our group has built a mathematical model for case Slama 2020 and derived solution from CPLEX
based on the model. The core purpose of the model is to consider the trade-off between external
purchases and sale costs of non-root items. Our objective is to maximize profit while minimizing the
sum of cost functions typically encountered in practice over the planning horizon. The results on a
randomly generated problems indicated that the new MIP model can give the optimal disassembly
schedule for most test problems within reasonable computation times. It this becomes feasible to find
the optimum solution using mathematical programming software CPLEX with a disassembly system
having 10 items and 10 periods. Our result is that the optimal total profit is 1,755,665.1 with no
defective and backorder items.

Page 19
Inventory Management Group 2

V. REFERENCES

[1] Edward A.Silver David F.Pyke Rein Peterson. Inventory Management and Production
Planning Scheduling (3rd Edition)

[2] Ilhem Slama, Oussama Ben-Ammarb, Alexandre Dolgui, Faouzi Masmoudi. New mixed
integer approach to solve a multi-level capacitated disassembly lot-sizing problem with defective
items and backlogging. Jounal of manufaturing system 56 (2020) 50-57

Page 20
Inventory Management Group 2

CONTRIBUTION FORM

Name and ID Evaluation

Phạm Ngọc Xuân Mai


100%
IELSIU18075

Hồ Yến Na
100%
IELSIU18086

Lương Thanh Bảo Ngọc


100%
IELSIU18096
Trần Như Bình
100%
IELSIU18191

Page 21

You might also like