0% found this document useful (0 votes)
27 views

Quezada2020 Report - Group 1

This document summarizes a semester project report on an inventory management system for a remanufacturing process with three stages: disassembly, refurbishing, and reassembly. The project uses a mathematical model and CPLEX software to determine an optimal production plan that minimizes costs while satisfying constraints. The model considers stochastic parameters like returns, demand, and yields over multiple time periods. The objective is to find a cost-optimal plan for inventory levels, production quantities, and setups across the three-stage process under uncertainty.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
0% found this document useful (0 votes)
27 views

Quezada2020 Report - Group 1

This document summarizes a semester project report on an inventory management system for a remanufacturing process with three stages: disassembly, refurbishing, and reassembly. The project uses a mathematical model and CPLEX software to determine an optimal production plan that minimizes costs while satisfying constraints. The model considers stochastic parameters like returns, demand, and yields over multiple time periods. The objective is to find a cost-optimal plan for inventory levels, production quantities, and setups across the three-stage process under uncertainty.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
You are on page 1/ 19

School of Industrial Engineering Management

International University -VNU HCM

SEMESTER PROJECT REPORT – GROUP 1


Project Paper: Quezada2020

Course: Inventory Management

Lecturer: Nguyen Van Hop

MEMBERS:

1. Bui Tuan Kiet IELSIU18059


2. Nguyen Tran Khanh Linh IELSIU18067
3. Le Huu Hoang Long IEIEIU18071
4. Le Hoang Thao Linh IEIEIU18066

0
TABLE OF CONTENT
1. Introduction ............................................................................................................................. 2
1.1. Background of study .............................................................................................................. 2
1.2. System description ................................................................................................................. 2
1.3. Problem statement .................................................................................................................. 3
1.4. Scope and limitation ............................................................................................................... 3
2. Mathematical model/Algorithms............................................................................................ 3
2.1. Description ............................................................................................................................. 3
2.2. MILP formulation: ................................................................................................................. 4
3. Model implementation in CPLEX.......................................................................................... 5
3.1. CPLEX model code:............................................................................................................... 5
3.2. Data generation ...................................................................................................................... 7
3.3. Results .................................................................................................................................... 8
4. Conclusions............................................................................................................................. 17
5. Acknowledgements ................................................................................................................ 17
6. References............................................................................................................................... 17
7. Contribution ........................................................................................................................... 18

1
1. Introduction
1.1. Background of study
Recently, the environment saving is a popular issue of society. Industrial companies face
an increasing pressure from customers and governments to become more environmentally
responsible and mitigate the environmental impact of their products. One way of achieving this
objective is to remanufacture the products once they have reached their end-of-life into like-new
finished products, once again usable by customers. By reusing the materials and components
embedded in used products, it both contributes in reducing pollution emissions and natural resource
consumption.
In this work, we study an uncapacitated multi-item multi-echelon lot-sizing problem within
a remanufacturing system involving three production echelons: disassembly, refurbishing and
reassembly. With the help of CPLEX Optimizer, the report is able to reach CPLEX Optimization
Studio tool which is a comprehensive toolset for modeling and solving optimization problems. It
consists of an integrated development environment (IDE), a mathematical optimization engine
(CPLEX) for planning problems, a constraint programming engine (CP) for scheduling problems,
and a set of APIs (Python, Java, C#, etc.) for modeling, solving and embedding optimization
solutions.

1.2. System description


We consider a remanufacturing system comprising three main production echelons:
disassembly, refurbishing and reassembly, and seek to plan the production activities in this system
over a multi-period horizon. We assume that there is a single type of used product which, in each
period, is returned in limited quantity by customers. These used products are first disassembled into
parts. Some of these parts are not recoverable and have to be discarded during disassembly. In order
to reflect the variations in the quality of the used products, the yield of the disassembly process, i.e.
the proportion of parts which will be recoverable, is assumed to be part-dependent and time-
dependent. The remaining recoverable parts are then refurbished on dedicated refurbishing
processes. The serviceable parts obtained after refurbishing are reassembled into remanufactured
products which have the same bill-of-material as the used products. These remanufactured products
are used to satisfy the dynamic demand of customers.

2
Figure 1. Illustration of studied remanufacturing system

1.3. Problem statement


We aim at finding an optimal production plan, i.e. a production plan complying with all the
practical limitations of the system while minimizing the total production cost. This cost comprises
the production fixed setup costs to be incurred each time a production takes place on a process, the
inventory holding costs for all the items involved in the system, the lost-sales costs penalizing the
unsatisfied demand and the disposal costs for the discarded used products and parts.

1.4. Scope and limitation


All the production processes are assumed to be uncapacitated. However, the system might
not be able to satisfy the customer demand on time due to part shortages if there are not enough
used products returned by customers or if their quality is low. In this situation, the corresponding
demand is lost incurring a high penalty cost to account for the loss of customer goodwill. Moreover,
note that some used products are allowed to be discarded before being disassembled: this option
might be useful in case more used products are returned that what is needed to satisfy the demand
for remanufactured products. Similarly, some of the recoverable parts obtained from the
disassembly process may be discarded. In case there is a strong unbalance between the part-
dependent disassembly yields, this option might be used in a production plan to avoid an
unnecessary accumulation in inventory of the easy-to-recover parts.

2. Mathematical model/Algorithms
2.1. Description
The model considers a multi-stage decision process corresponding to the case where the
value of the uncertain parameters unfolds little by little following a discrete-time stochastic process
and the production decisions are adapted progressively as more and more information is collected.
Notations:
• 𝒯 = (𝒱, ℰ): scenario tree,
• n ∈ 𝒱: node corresponds to a single planning period t belonging to a single decision
stage s ∈ S, indexed from 0 to |𝒱 − 1|,
• an: predecessor node corresponding to time period t of node n belongs to a time
period t+1,
• 𝜌𝑛 : the probability associated with the state represented by the node n, sum of 𝜌𝑛
over all nodes n corresponding to a given time period t is equal to 1,
• 𝒯(n): subtree of non-terminal node n,
• ℒ(n): set of leaf-nodes belonging to 𝒯(n),
• 𝒫(n,𝜇): set of nodes on the path from a node n to a node μ.
• I: number of part types involved in one product,
• I: set of all products involved in the system, I = {0, ..., 2I + 1}, where i = 0
corresponds to returned product and i = 2I + 1 corresponds to remanufactured
product,
• Ir: set of recoverable parts provided by the disassembly process, Ir = {1, ..., I},
• Is: set of serviceable parts provided by the refurbishing processes, Is = {I + 1, ..., 2I},
3
• 𝒥: set of production processes, 𝒥: = {0, ..., I + 1}, where p = 0 corresponds to the
disassembly process, p = 1, ..., I correspond to the refurbishing processes and p = I
+ 1 corresponds to the reassembly process.

Deterministic parameter:
• αi: number of parts i embedded in a returned/remanufactured product.

Stochastic parameters:
• 𝑟 𝑛 : quantity of used products (returns) collected at node n ∈ 𝒱,
• 𝑑𝑛 : customers’ demand at node n ∈ 𝒱,
• 𝜋𝑖𝑛 : proportion of recoverable parts i ∈Ir obtained by disassembling one unit of
returned product at node n ∈ 𝒱,
• ln: unit lost-sales penalty cost at node n ∈ 𝒱,
• 𝑓𝑝𝑛 : setup cost for process p ∈ 𝒥 at node n ∈ 𝒱,
• ℎ𝑖𝑛 : unit inventory cost for part i ∈I at node n ∈ 𝒱,
• 𝑞𝑖𝑛 : unit cost for discarding a recoverable part or a returned product i ∈Ir ∪ {0} at
node n ∈ 𝒱,
• 𝑔𝑛 : unit cost for discarding the unrecoverable parts obtained while disassembling
one unit of returned product at node n ∈ 𝒱, 𝑔𝑛 = ∑𝐼𝑖=1 𝑞𝑖𝑛 (1 − 𝜋𝑖𝑛 ) 𝛼𝑖

2.2. MILP formulation:


Decision variables:
• 𝑋𝑝𝑛 : quantity of parts processed on process p ∈ 𝒥 at node n ∈ 𝒱,
• 𝑌𝑝𝑛 ∈ {0, 1}: setup variable for the process p ∈ 𝒥 at node n ∈ 𝒱,
• 𝑆𝑖𝑛 : inventory level of part i ∈I at node n ∈ 𝒱,
• 𝑄𝑖𝑛 : quantity of part i ∈Ir ∪ {0} discarded at node n ∈ 𝒱,
• Ln: lost sales of remanufactured products at node n ∈ 𝒱.

Mixed interger linear programming model:

𝑍 ∗ = 𝑚𝑖𝑛 ∑ 𝜌𝑛 ( ∑ 𝑓𝑝𝑛 𝑌𝑝𝑛 + ∑ ℎ𝑖𝑛 𝑆𝑖𝑛 + 𝑙 𝑛 𝐿𝑛 + ∑ 𝑞𝑖𝑛 𝑄𝑖𝑛 + 𝑔𝑛 𝑋0𝑛 ) (1)


𝑛∈𝒱 𝑝∈𝒥 𝑖 ∈𝐼 𝑖 ∈𝐼𝑟 ∪ {0}

Constraints
• Link the production quantity variables to the setup variables

𝑋𝑝𝑛 ≤ 𝑀𝑝𝑛 𝑌𝑝𝑛 ∀p ∈ 𝒥, ∀𝑛 ∈ 𝒱 (2)

• Inventory balance constraints


𝑛
𝑆0𝑛 = 𝑆0𝑎 + 𝑟 𝑛 − 𝑋0𝑛 − 𝑄0𝑛 ∀𝑛 ∈ 𝒱 (3)

4
𝑛
𝑆𝑖𝑛 = 𝑆𝑖𝑎 + 𝜋𝑖𝑛 𝛼𝑖 𝑋0𝑛 − 𝑋𝑖𝑛 − 𝑄𝑖𝑛 ∀i ∈Ir, ∀𝑛 ∈ 𝒱 (4)
𝑛
𝑆𝑖𝑛 = 𝑆𝑖𝑎 + 𝑋𝑖−𝐼
𝑛 𝑛
− 𝛼𝑖−𝐼 𝑋𝐼+1 ∀i ∈Is, ∀𝑛 ∈ 𝒱 (5)
𝑛 𝑎 𝑛 𝑛
𝑆2𝐼+1 = 𝑆2𝐼+1 + 𝑋𝐼+𝐼 − 𝑑 𝑛 + 𝐿𝑛 ∀𝑛 ∈ 𝒱 (6)

𝑆00 = 𝑟 0 − 𝑋00 − 𝑄00 (7)

𝑆𝑖0 = 𝜋𝑖0 𝛼𝑖 𝑋00 − 𝑄00 ∀i ∈Ir (8)


𝑆𝑖0 = 𝑋𝑖−𝐼
0 0
− 𝛼𝑖−𝐼 𝑋𝐼+1 ∀i ∈Is (9)
0 0
𝑆2𝐼+1 = 𝑋𝐼+𝐼 − 𝑑 0 + 𝐿0 (10)

• The domain of the decision variables


𝑆𝑖𝑛 ≥ 0 ∀i ∈I, ∀𝑛 ∈ 𝒱 (11)

𝐿𝑛 ≥ 0 ∀𝑛 ∈ 𝒱 (12)
𝑋𝑝𝑛 ≥ 0, 𝑌𝑝𝑛 ∈ {0, 1} ∀p ∈ 𝒥, ∀𝑛 ∈ 𝒱 (13)

3. Model implementation in CPLEX


3.1. CPLEX model code:
The model is developed as the CPLEX code below:

5
6
3.2. Data generation
The following test data were randomly generated based on the instances generation scheme
provided in [21].
• The demands for finished products 𝑑 𝑛 at each node n were generated from the
discrete uniform distribution DU(100, 1000).
• The bill of material was generated such that 𝛼0 = 𝛼1 + 1 = 1, and for each p = 1,
..., I, that 𝛼𝑝 was generated from DU(1, 6).
• The set-up costs for the disassembly process 𝑓0𝑛 were generated from DU(50000,
70000), the set-up costs 𝑓𝑝𝑛 for each refurbishing process p = 1, ..., I from DU(4000,
𝑛
8000), and the set-up cost for the reassembly process 𝑓𝑖+1 from DU(50000, 70000).
• 𝑛
The unit inventory holding costs for used products ℎ0 were fixed and set to 1. The
unit inventory holding costs ℎ𝑖𝑛 for each recoverable parts i ∈ Ir were generated from
DU(2, 7). The unit inventory holding costs ℎ𝑖𝑛 for each serviceable part i ∈ Is were
7
generated from DU(7, 12). To ensure non-negative echelon costs, we generated the
𝑛
unit inventory holding costs for the remanufactured products, ℎ2𝐼+1 , from
1 𝑛
∑𝑖=1 𝛼𝑖 ℎ𝐼+𝑖 + 𝜀 where we generated 𝜖 from DU(80, 100).
For the proportion of recoverable parts 𝜋𝑖𝑛 , i ∈Ir, obtained by disassembling one unit of used
product at node 𝑛 ∈ 𝒱, we defined three intervals for the uniform probability distribution
corresponding to three quality levels. These intervals are based on the values presented in the case
study reported by Jayaraman [23].
- Low nominal quality level (Q1): 𝜋𝑖𝑛 ~ 𝑈[0.08, 0.25].
- Medium nominal quality level (Q2): 𝜋𝑖𝑛 ~ 𝑈[0.11, 0.58].
- High nominal quality level (Q3): 𝜋𝑖𝑛 ~ 𝑈[0.21, 0.79].
Similarly, we defined three intervals for the discrete uniform distribution corresponding to
three levels of returned product volumes.
- Low nominal level of returns (R1): 𝑟 𝑛 ~𝐷𝑈(335, 2150).
- Medium nominal level of returns (R2): 𝑟 𝑛 ~𝐷𝑈(1738, 3454).
- High nominal level of returns (R3): 𝑟 𝑛 ~𝐷𝑈(704, 7942).
Finally, we define the following probability distribution for the input parameters specific
to the problem studied in this paper.
• The lost-sales unit penalty costs 𝑙 𝑛 were set to 10000, at each node 𝑛 ∈ 𝒱.
• The cost for discarding one unit of recoverable part, i ∈Ir U {0}, is defined at each
𝑇
node 𝑛 ∈ 𝒱 as follows, 𝑞𝑖𝑛 = ℎ𝑖𝑛 ∗ 𝛽, where 𝛽~𝑈[2, 𝑇].
• The cost for discarding the unrecoverable parts generated during the disassembly
process is computed as 𝑔𝑛 = ∑𝐼𝑖=1 𝑞𝑖𝑛 (1 − 𝜋𝑖𝑛 ) 𝛼𝑖 .

The excel file of the data:

3.3. Results
After implementing the model in the CPLEX, we reach the optimal result as below:
8
// solution (integer optimal, tolerance) with objective 23269957.2282384
*Node 0 of Period 1
Open Dissemble
Quantity of Disasemble: 500
Quantity of Return product discard: 0
Inventory Level of Return product: 0
Open Process Part I
Quantity of Processing Part I: 825
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 60
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 1375
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 275
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 25
//------------------------//
*Node 1 of Period 2
No Opening Disasemble
Quantity of Disasemble: 0
Quantity of Return product discard: 0
Inventory Level of Return product: 350
No Opening Process Part I
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 60
Inventory Level of Serviceable Part I: 0
No Opening Process Part II
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
No Opening Reassemble
Quantity of Reassemble: 0
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 550
//------------------------//
*Node 2 of Period 3
No Opening Disasemble
Quantity of Disasemble: 0
Quantity of Return product discard: 0
Inventory Level of Return product: 1150
No Opening Process Part I
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 60
Inventory Level of Serviceable Part I: 0
No Opening Process Part II
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
9
Inventory Level of Serviceable Part II: 0
No Opening Reassemble
Quantity of Reassemble: 0
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 400
//------------------------//
*Node 3 of Period 4
No Opening Disasemble
Quantity of Disasemble: 0
Quantity of Return product discard: 0
Inventory Level of Return product: 2050
No Opening Process Part I
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 60
Inventory Level of Serviceable Part I: 0
No Opening Process Part II
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
No Opening Reassemble
Quantity of Reassemble: 0
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 200
//------------------------//
*Node 4 of Period 5
Open Dissemble
Quantity of Disasemble: 1693.47826087
Quantity of Return product discard: 0
Inventory Level of Return product: 656.52173913
Open Process Part I
Quantity of Processing Part I: 1879.760869565
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 974.47826087
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 3132.934782609
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 626.586956522
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 73.413043478
//------------------------//
*Node 5 of Period 6
No Opening Disasemble
Quantity of Disasemble: 0
Quantity of Return product discard: 0
Inventory Level of Return product: 1056.52173913
No Opening Process Part I
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
10
Inventory Level of Recoverable Part I: 974.47826087
Inventory Level of Serviceable Part I: 0
No Opening Process Part II
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
No Opening Reassemble
Quantity of Reassemble: 0
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 550
//------------------------//
*Node 6 of Period 4
No Opening Disasemble
Quantity of Disasemble: 0
Quantity of Return product discard: 0
Inventory Level of Return product: 2050
No Opening Process Part I
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 60
Inventory Level of Serviceable Part I: 0
No Opening Process Part II
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
No Opening Reassemble
Quantity of Reassemble: 0
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 350
//------------------------//
*Node 7 of Period 5
No Opening Disasemble
Quantity of Disasemble: 0
Quantity of Return product discard: 0
Inventory Level of Return product: 2750
No Opening Process Part I
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 60
Inventory Level of Serviceable Part I: 0
No Opening Process Part II
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
No Opening Reassemble
Quantity of Reassemble: 0
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 750
//------------------------//
*Node 8 of Period 6
Open Dissemble
Quantity of Disasemble: 3350
Quantity of Return product discard: 0
11
Inventory Level of Return product: 0
Open Process Part I
Quantity of Processing Part I: 3512.136363636
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 266.363636364
Inventory Level of Serviceable Part I: 962.136363636
Open Process Part II
Quantity of Processing Part I: 5853.560606061
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 1851.439393939
Inventory Level of Serviceable Part II: 1603.560606061
Open Reassemble
Quantity of Reassemble: 850
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 0
//------------------------//
*Node 9 of Period 7
Open Dissemble
Quantity of Disasemble: 1856.52173913
Quantity of Return product discard: 0
Inventory Level of Return product: 0
Open Process Part I
Quantity of Processing Part I: 2645.347826087
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 0
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 4408.913043478
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 975
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 881.782608696
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 118.217391304
//------------------------//
*Node 10 of Period 8
Open Dissemble
Quantity of Disasemble: 650
Quantity of Return product discard: 0
Inventory Level of Return product: 0
Open Process Part I
Quantity of Processing Part I: 858
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 0
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 1430
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
12
Open Reassemble
Quantity of Reassemble: 286
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 214
//------------------------//
*Node 11 of Period 9
Open Dissemble
Quantity of Disasemble: 697.674418605
Quantity of Return product discard: 0
Inventory Level of Return product: 52.325581395
Open Process Part I
Quantity of Processing Part I: 900
Quantity of Recoverable Part I discard: 669.76744186
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 0
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 1500
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 300
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 0
//------------------------//
*Node 12 of Period 7
Open Dissemble
Quantity of Disasemble: 1694.276841171
Quantity of Return product discard: 0
Inventory Level of Return product: 162.244897959
Open Process Part I
Quantity of Processing Part I: 2499.327417924
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 9.094947018e-13
Inventory Level of Serviceable Part I: 1149.327417924
Open Process Part II
Quantity of Processing Part I: 2250
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 2663.402839397
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 450
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 0
//------------------------//
*Node 13 of Period 8
No Opening Disasemble
Quantity of Disasemble: 0
Quantity of Return product discard: 0
Inventory Level of Return product: 362.244897959
No Opening Process Part I
Quantity of Recoverable Part I discard: 0
13
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 0
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 1915.545696539
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 747.857142857
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 383.109139308
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 366.890860692
//------------------------//
*Node 14 of Period 9
Open Dissemble
Quantity of Disasemble: 712.244897959
Quantity of Return product discard: 0
Inventory Level of Return product: 0
Open Process Part I
Quantity of Processing Part I: 1239.306122449
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 0
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 2065.510204082
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 413.102040816
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 286.897959184
//------------------------//
*Node 15 of Period 7
Open Dissemble
Quantity of Disasemble: 475.581395349
Quantity of Return product discard: 0
Inventory Level of Return product: 324.418604651
Open Process Part I
Quantity of Processing Part I: 694.386892178
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 0
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 1157.311486963
Quantity of Recoverable Part II discard: 2073.313953488
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 552.174418605
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
14
Lost sales: 347.825581395
//------------------------//
*Node 16 of Period 8
Open Dissemble
Quantity of Disasemble: 674.418604651
Quantity of Return product discard: 0
Inventory Level of Return product: 0
Open Process Part I
Quantity of Processing Part I: 450
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 420
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 1750
Quantity of Recoverable Part II discard: 104.651162791
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 1000
Open Reassemble
Quantity of Reassemble: 150
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 0
//------------------------//
*Node 17 of Period 9
Open Dissemble
Quantity of Disasemble: 500
Quantity of Return product discard: 0
Inventory Level of Return product: 0
Open Process Part I
Quantity of Processing Part I: 600
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 0
Inventory Level of Serviceable Part I: 0
No Opening Process Part II
Quantity of Recoverable Part II discard: 1250
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 200
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 0
//------------------------//
*Node 18 of Period 7
Open Dissemble
Quantity of Disasemble: 318.939393939
Quantity of Return product discard: 0
Inventory Level of Return product: 481.060606061
No Opening Process Part I
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 553.409090909
Inventory Level of Serviceable Part I: 0
No Opening Process Part II
Quantity of Recoverable Part II discard: 0
15
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 2776.363636364
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 320.712121212
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 29.287878788
//------------------------//
*Node 19 of Period 8
Open Dissemble
Quantity of Disasemble: 831.060606061
Quantity of Return product discard: 0
Inventory Level of Return product: 100
Open Process Part I
Quantity of Processing Part I: 1800
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 0
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 3000
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 275
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 600
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 0
//------------------------//
*Node 20 of Period 9
Open Dissemble
Quantity of Disasemble: 500
Quantity of Return product discard: 0
Inventory Level of Return product: 0
Open Process Part I
Quantity of Processing Part I: 1050
Quantity of Recoverable Part I discard: 0
Quantity of Serviceable Part I discard: 0
Inventory Level of Recoverable Part I: 0
Inventory Level of Serviceable Part I: 0
Open Process Part II
Quantity of Processing Part I: 1750
Quantity of Recoverable Part II discard: 0
Quantity of Serviceable Part II discard: 0
Inventory Level of Recoverable Part II: 0
Inventory Level of Serviceable Part II: 0
Open Reassemble
Quantity of Reassemble: 350
Quantity of Reassemble product discard: 0
Inventory Level of Reassemble product: 0
Lost sales: 0
//------------------------/

16
4. Conclusions
We considered an uncapacitated multi-item multi-echelon lot-sizing problem within a
remanufacturing system involving three production echelons: disassembly, refurbishing and
reassembly. We considered a stochastic environment in which the input data of the optimization
problem are subject to uncertainty and proposed a multi-stage stochastic integer programming
approach relying on scenario trees to represent the uncertain information structure. This resulted in
the formulation of a large-size mixed-integer linear program involving a series of big-M type
constraints. We developed a branch-and-cut algorithm in order to solve the obtained MILP to
optimality. This algorithm relies on a new set of tree inequalities obtained by combining valid
inequalities previously known for each individual scenario of the scenario tree. Computational
experiments carried out on randomly generated instances show that the proposed branch-and-cut
algorithm performs well as compared to the use of a standalone mathematical solver. Moreover, we
assumed in our problem modeling uncapacitated production processes. Extending the present work
in order to account for production resources with limited capacity could also be worth investigating.

5. Acknowledgements
This report was partially supported by the supercomputing infrastructure of the NLHPC
(ECM-02) in which preliminary computational tests were conducted. Authors are grateful for partial
support from Gaspard Monge Program for Optimization, operational research and their interactions
with data science (PGMO) and the Fondation Mathmatique Jacques Hadamard (FMJH). The
authors would also like to thank three anonymous referees for their detailed reviews that helped to
improve an initial version of this paper.

6. References
[1] R. T. Lund, B. Mundial, Remanufacturing: the experience of the United States and implications for developing
countries, Vol. 31, World Bank, 1984.
[2] V. D. R. Guide, V. Jayaraman, R. Srivastava, Production planning and control for remanufacturing: a state-of-
the-art survey, Robotics and Computer-Integrated Manufacturing 15 (3) (1999) 221–230.
[3] V. D. R. Guide, Production planning and control for remanufacturing: industry practice and research needs,
Journal of operations Management 18 (4) (2000) 467–483.
[4] M. L. Lage Junior, M. G. Filho, Production planning and control for remanufacturing: literature review and
analysis, Production Planning & Control 23 (6) (2012) 419–435.
[5] M. A. Ilgin, S. M. Gupta, Environmentally conscious manufacturing and product recovery (ecmpro): a review
of the state of the art, Journal of environmental management 91 (3) (2010) 563–591.
[6] M. Denizel, M. Ferguson, et al., Multiperiod remanufacturing planning with uncertain quality of inputs, IEEE
Transactions on Engineering Management 57 (3) (2010) 394–404.
[7] M. Kazemi Zanjani, M. Nourelfath, D. Ait-Kadi, A multi-stage stochastic programming approach for production
planning with uncertainty in the quality of raw materials and demand, International Journal of Production Research
48 (16) (2010) 4701–4723.
[8] C. Li, F. Liu, H. Cao, Q. Wang, A stochastic dynamic programming based model for uncertain production
planning of re-manufacturing system, International Journal of Production Research 47 (13) (2009) 3657–3668.
[9] O. A. Kilic, A mip-based heuristic for the stochastic economic lot sizing problem with remanufacturing, IFAC
Proceedings Volumes 46 (9) (2013) 742–747.
[10] O. A. Kilic, H. Tunc, S. A. Tarim, Heuristic policies for the stochastic economic lot sizing problem with
remanufacturing under service level constraints, European Journal of Operational Research 267 (3) (2018) 1102–
1109.

17
[11] M. A. Naeem, D. J. Dias, R. Tibrewal, P.-C. Chang, M. K. Tiwari, Production planning optimization for
manufacturing and remanufacturing system in stochastic environment, Journal of Intelligent Manufacturing (2013)
1–12.
[12] P. B. Macedo, D. Alem, M. Santos, M. L. Junior, A. Moreno, Hybrid manufacturing and remanufacturing lot-
sizing problem with stochastic demand, return, and setup costs, The International Journal of Advanced
Manufacturing Technology 82 (5-8) (2016) 1241–1257.
[13] T. Hilger, F. Sahling, H. Tempelmeier, Capacitated dynamic production and remanufacturing planning under
demand and return uncertainty, OR spectrum 38 (4) (2016) 849–876.
[14] H.-F. Wang, Y.-S. Huang, A two-stage robust programming approach to demand-driven disassembly planning
for a closed-loop supply chain system, International Journal of Production Research 51 (8) (2013) 2414–2432.
[15] C. Fang, X. Liu, P. M. Pardalos, J. Long, J. Pei, C. Zuo, A stochastic production planning problem in hybrid
manufacturing and remanufacturing systems with resource capacity planning, Journal of Global Optimization 68
(4) (2017) 851–878.
[16] Y. Guan, S. Ahmed, G. L. Nemhauser, A. J. Miller, A branch-and-cut algorithm for the stochastic uncapacitated
lot-sizing problem, Mathematical Programming 105 (1) (2006) 55–84.
[17] Y. Guan, S. Ahmed, G. L. Nemhauser, Cutting planes for multistage stochastic integer programs, Operations
research 57 (2) (2009) 287–298.
[18] M. Di Summa, L. A. Wolsey, Lot-sizing on a tree, Operations Research Letters 36 (1) (2008) 7–13.
[19] M. Zhang, S. K¨uc¸ ¨ukyavuz, S. Goel, A branch-and-cut method for dynamic decision making under joint
chance constraints, Management Science 60 (5) (2014) 1317–1333.
[20] M. Loparic, Y. Pochet, L. A. Wolsey, The uncapacitated lot-sizing problem with sales and safety stocks,
Mathematical Programming 89 (3) (2001) 487–504.
[21] H.-D. Ahn, D.-H. Lee, H.-J. Kim, Solution algorithms for dynamic lot-sizing in remanufacturing systems,
International Journal of Production Research 49 (22) (2011) 6729–6748.
[22] Y. Pochet, L. A. Wolsey, Production planning by mixed integer programming, Springer Science & Business
Media, 2006.
[23] V. Jayaraman, Production planning for closed-loop supply chains with product recovery and reuse: an analytical
approach, International Journal of Production Research 44 (5) (2006) 981–998.
[24] P. Brandimarte, Multi-item capacitated lot-sizing with demand uncertainty, International Journal of Production
Research 44 (15) (2006) 2997–3022.

7. Contribution
1. Bui Tuan Kiet 100/100
2. Nguyen Tran Khanh Linh 100/100
3. Le Huu Hoang Long 100/100
4. Le Hoang Thao Linh 100/100

18

You might also like