Quezada2020 Report - Group 1
Quezada2020 Report - Group 1
MEMBERS:
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.
2
Figure 1. Illustration of studied remanufacturing system
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 − 𝜋𝑖𝑛 ) 𝛼𝑖
Constraints
• Link the production quantity variables to the setup variables
4
𝑛
𝑆𝑖𝑛 = 𝑆𝑖𝑎 + 𝜋𝑖𝑛 𝛼𝑖 𝑋0𝑛 − 𝑋𝑖𝑛 − 𝑄𝑖𝑛 ∀i ∈Ir, ∀𝑛 ∈ 𝒱 (4)
𝑛
𝑆𝑖𝑛 = 𝑆𝑖𝑎 + 𝑋𝑖−𝐼
𝑛 𝑛
− 𝛼𝑖−𝐼 𝑋𝐼+1 ∀i ∈Is, ∀𝑛 ∈ 𝒱 (5)
𝑛 𝑎 𝑛 𝑛
𝑆2𝐼+1 = 𝑆2𝐼+1 + 𝑋𝐼+𝐼 − 𝑑 𝑛 + 𝐿𝑛 ∀𝑛 ∈ 𝒱 (6)
𝐿𝑛 ≥ 0 ∀𝑛 ∈ 𝒱 (12)
𝑋𝑝𝑛 ≥ 0, 𝑌𝑝𝑛 ∈ {0, 1} ∀p ∈ 𝒥, ∀𝑛 ∈ 𝒱 (13)
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 − 𝜋𝑖𝑛 ) 𝛼𝑖 .
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