Article Contents
Article Contents

An integrated approach based on Fuzzy Inference System for scheduling and process planning through multiple objectives

• * Corresponding author: Dariush Mohamadi Zanjirani
• Integrated process planning and scheduling (IPPS) problems are one of the most important flexible planning functions for a job shop manufacturing. In a manufacturing order to produce n jobs (parts) on m machines in a flexible manufacturing environment, an IPPS system intends to generate the process plans for all n parts and the overall job-shop schedule concurrently, with the objective of optimizing a manufacturing objective such as make-span. The optimization of the process planning and scheduling will be applied through an integrated approach based on Fuzzy Inference System (FIS), to provide for flexibilities of the given components and consider the qualitative parameters. The FIS, Constraint Programming (CP) and Simulated Annealing (SA) algorithms are applied in this design. The objectives of the proposed model consist of maximization of processes utility, minimization of make-span and total production costs including costs of flexible tools, machines, process and TADs. The proposed approach indicates that The CP and SA algorithms are able to resolve the IPPS problem with multiple objective functions. The experiments and related results indicate that the CP method outperforms the SA algorithm.

Mathematics Subject Classification: Primary: 97R40, 90Bxx.

 Citation:

• Figure 1.  The flowchart of the proposed process planningscheduling techniques

Figure 2.  Structure of the Material Flow FIS

Figure 3.  Structure of the Production Ease FIS

Figure 4.  The Flowchart of SA Algorithm

Figure 5.  Pseudo-Code of SA Algorithm

Figure 6.  Parts Operations Sequence in SA solution

Figure 7.  Machines Operations Sequence in SA solution

Figure 9.  Machines operations sequence in CP

Figure 8.  Parts Operations Sequence in CP

Table 1.  Inputs of fuzzy inference systems

Table 2.  Output of fuzzy inference systems

Table 3.  The Goal Programming Formulation of the IPPS Problem

 Parameters $p$: Part indicator, $p=1, \ldots, PNo$ $O^p$: The set indicating operations of $p^{th}$ part $i$: Operation indicator, $i\in O^p$, $p=1, \ldots, PNo$ d: TAD indicator t: Tool indicator m: machine indicator $Machine_i$ : The set indicating machine candidates of the $i^{th}$ operation $TAD_i$: The set indicating TAD candidates of the $i^{th}$ operation $Tool_i$: The set indicating tool candidates of the $i^{th}$ operation $MC_m$: The cost of using $m^{th}$ machine per operation $TC_t$: The cost of using $i^{th}$ tool per operation $MFE_{m_k m_l}$: The rate of Material Flow Ease between machines $m_k$ and $m_l$ $PE_{m_k m_l}$: The rate of Production Ease between machines $m_k$ and $m_l$ Decision Variables $operation_{imtd}^p = \left\{ \begin{array}{l} 1\;\;{\rm{If the}}\;{i^{th}}\;{\rm{operation}}\;{\rm{of}}\;{\rm{part}}\;p\;{\rm{is}}\;{\rm{done}}\;{\rm{in}}\;{m^{th}}\;{\rm{machine}}\\ \;\;\;{\rm{with}}\;{t^{th}}\;{\rm{tool}}\;{\rm{and}}\;{d^{th}}\;{\rm{TAD}}\\ {\rm{0}}\;\;{\rm{Otherwise}} \end{array} \right.$ $part_{ij}^p = \left\{ \begin{array}{l} 1\;\;{\rm{If}}\;{\rm{the}}\;{j^{th}}\;{\rm{operation}}\;{\rm{of}}\;{\rm{part}}\;p\;{\rm{is}}\;{\rm{done}}\;{\rm{immediately}}\;{\rm{after}}\\ \;\;\;\;{\rm{the}}\;{i^{th}}\;{\rm{operation}}\;{\rm{of}}\;{\rm{part}}\;p\\ 0\;\;{\rm{Otherwise}} \end{array} \right.$ $\begin{array}{l} time_i^p{\rm{ = Cumulative}}\;{\rm{time}}\;{\rm{of}}\;{\rm{operations}}\;{\rm{of}}\;{\rm{part}}\;p\;{\rm{completed}}\;{\rm{until}}\;{\rm{the}}\\ \;\;\;\;\;\;\;\;\;\;{\rm{completion}}\;{\rm{of}}\;{\rm{the}}\;{i^{th}}\;{\rm{operation}} \end{array}$ $O{M_i}{\rm{ = The}}\;{i^{th}}\;{\rm{operation}}\;{\rm{machine, }}\;O{M_i} \in Machin{e_i}$ $O{T_i}{\rm{ = The}}\;{i^{th}}\;{\rm{operation}}\;TAD{\rm{, }}\;O{T_i} \in TA{D_i}$ Proposed Goal Programming Model: $Min\ D =\displaystyle \left( {{w_1} \times {\rm{ }}\frac{{{d_1}^ - }}{{{G_{TWC}}}}} \right) + \left( {{w_2} \times {\rm{ }}\frac{{{d_2}^ - }}{{{G_{MakeSpan}}}}} \right) + \left( {{w_3} \times {\rm{ }}\frac{{{d_3}^ + }}{{{G_U}}}} \right)~~~~~~~~~~~(1)$ $Subject$ $to:$ $TWC = \sum\limits_{i \in {O^p}}^{} {\sum\limits_{m \in Machin{e_i}} {\sum\limits_{t \in Too{l_i}} {\sum\limits_{d \in TA{D_i}} {operation_{_{imtd}}^p.(M{C_{O{M_i}}} + T{C_{O{T_i}}}} } )} } ~~~~(2)$ $MakeSpan = \mathop {\max }\limits_{\scriptstyle\, \, \, \, \, \, \, i \in {O^p}\atop \scriptstyle p = 1, ..., PNo} (time_{_i}^p)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(3)$ $U = \sum\limits_{p = 1}^{PNo} {\sum\limits_{i, j \in {O^p}/part_{_{ij}}^p = 1}^{} {(ME{F_{O{M_i}, O{M_j}}} + P{E_{O{M_i}, O{M_j}}})} }~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(4)$ $TWC - d_1^ - \le {G_{TWC}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(5)$ $MakeSpan - d_2^ - \le {G_{MakeSpan}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(6)$ $U + d_3^ + \ge {G_U}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(7)$ $d_1^ -, d_2^ -, d_3^ + \ge 0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(8)$

Table 4.  Sources Specifications

 The cost peroperation(MC) Symbol Source 50 M1 CNC milling machine 1 60 M2 CNC milling machine 2 30 M3 Grinding CNC machine 35 M4 Column drilling equipment 20 M5 Hand drilling equipment 20 M6 Grinding machine The cost per operation(TC) Symbol Resource 6 T1 Drill 1 5 T2 Drill 2 10 T3 Drill 3 15 T4 Drill 4 13 T5 Drill 5 14 T6 Drill 6 8 T7 Drill 7 10 T8 Drill 8 5 T9 Drill 9 10 T10 Polishers 15 T11 Reamer 1 20 T12 Reamer 2 18 T13 Reamer 3 15 T14 Diamond blades 18 T15 Milling plate 13 T16 Spark 24 T17 Magnetic stone

Table 5.  Technical Specifications of Part 1

 Features Index Operation TAD candidate Machine candidate Tool candidate Machining time for each candidate machine (s) F1 Oper1 Milling -Z M1, M2 T14, T15, T16, T17 40, 38 F2 Oper2 Milling +Z M1, M2 T14, T15, T16, T17 37, 38 F3 Oper3 Milling -Z, -Y M1, M2 T14, T15, T16, T17 41, 43 F4 Oper4 Milling +Y, -Z M1, M2 T14, T15, T16, T17 31, 30 F5 Oper5 Boring +Y, -Y M6 T10 40 F6 Oper6 Drilling -Z M3, M4, M5 T1 40, 50, 30 Oper7 Reaming -Z M3, M4, M5 T11 40, 50, 30 F7 Oper8 Ribbing -Z, -Y M1, M2 T14, T15, T16, T17 54, 52 F8 Oper9 Drilling +X, -X M3, M4, M5 t2 20, 30, 21 F9 Oper10 Drilling +X, -X M3, M4, M5 t3 50, 60, 40 F10 Oper11 Drilling +Y M3, M4, M5 t4 60, 50, 30 Oper12 reaming +Y M3, M4, M5 T12 60, 50, 30 F11 Oper13 Boring A M6 T10 50

Table 6.  Technical Specifications of Part 2

 Features Index operation TAD candidate Machine candidate Tool candidate Machining time for each candidate machine (s) F1 oper1 Milling -Y M1, M2 T14, T15, T16, T17 30, 20 F2 oper2 milling +Z M1, M2 T14, T15, T16, T17 35, 29 F3 oper3 milling -Y, -Y M1, M2 T14, T15, T16, T17 29, 24 F4 oper4 drilling +Z, -Z M3, M4, M5 T4 57, 66, 51 F5 oper5 reaming +X M3, M4, M5 T5 41, 59, 38 oper6 drilling +X M3, M4, M5 T13 52, 71, 41 F6 oper7 reaming -Y, +Y M3, M4, M5 t6 30, 41, 28 F7 oper8 ribbing -Z, +Z, -X M1, M2 T14, T15, T16, T17 47, 49 F8 oper9 milling A M1, M2 T14, T15, T16, T17 40, 41 F9 oper10 boring +X, -X, +Y, -Y m6 T10 40

Table 7.  Technical Specifications of Part 3

 Features Index operation TAD candidate Machine candidate Tool candidate Machining time for each candidate machine (s) F1 oper1 Milling -Y, -X M1, M2 T14, T15, T16, T17 30, 35 F2 oper2 Milling +Z, +Z M1, M2 T14, T15, T16, T17 28, 30 F3 oper3 Milling +Z, +Y M1, M2 T14, T15, T16, T17 33, 30 F4 oper4 Milling +X, -X M1, M2 T14, T15, T16, T17 29, 25 F5 oper5 Milling +X, -X M1, M2 T14, T15, T16, T17 37, 31 F6 oper6 Drilling -Z, +Z M3, M4, M5 T9 50, 60, 40 F7 oper7 Milling -Z M1, M2 T14, T15, T16, T17 40, 39 F8 ooper8 Drilling -Z M3, M4, M5 T8 39, 50, 38

Table 8.  Precedence Relations of Part 1

 Precedence relations Oper1 is first operation. Oper2 is prior to Oper4, Oper5, Oper11 and Oper12. Oper3 is prior to Oper4, Oper5 and Oper10. Oper6 is prior to Oper7, Oper11 and Oper12. Oper8 is prior to Oper13. Oper9 is prior to Oper13. Oper11 is prior to Oper12.

Table 9.  Precedence Relations of Part 2

 Precedence relations Oper1 is first operation Oper2 is prior to Oper7, Oper9. Oper3 is prior to Oper5, Oper9. Oper4 is prior to Oper5, Oper6. Oper5 is prior to Oper6. Oper7 is prior to Oper8, Oper10.Oper8 is prior to Oper10.

Table 10.  Precedence Relations of Part 3

 Precedence relations Oper1 is first operation. Oper2 is prior to Oper4, Oper5. Oper3 is prior to Oper4, Oper5.Oper4 is prior to Oper5, Oper6.Oper5 is prior to Oper6. Oper7 is prior to Oper8.

Table 11.  Rules of Material Flow FIS on Distance and Trans-portation Ease Parameters

 Ease in material displacement in different machines VL L M H VH Distance between installed machines VH X X X U U H X U U O O M U U O I I L U O I E A VL U O I A A

Table 12.  Score of Pair Machines Based on Material Flow FIS

 Ease in material flow M1 M2 M3 M4 M5 M6 M1 5.69 2.74 5.69 2.00 1.50 1.50 M2 3.74 5.69 2.56 3.00 4.37 1.50 M3 4.50 4.37 5.69 1.20 0.37 1.50 M4 1.50 1.50 1.20 5.69 2.50 1.20 M5 1.20 2.56 1.50 1.50 5.69 2.56 M6 1.50 2.00 1.50 1.20 3.56 5.69

Table 13.  Rules of Production Ease FIS on Setup Ease and Compatibility Parameters

 Compatibility VL L M/ H VH Setup Ease VL X X X U U L X U U O O M U U O I I H U O I E A VH U O I A A

Table 14.  Score of Each Pair Machines Based on ease in production FIS

 Ease in production M1 M2 M3 M4 M5 M6 M1 5.69 1.50 2.50 4.00 3.00 1.50 M2 4.23 5.69 3.00 5.69 3.00 1.50 M3 3.00 3.00 5.69 3.00 5.63 2.50 M4 2.50 2.50 1.50 5.69 2.50 1.50 M5 2.50 4.00 1.50 1.50 5.69 3.00 M6 3.00 3.00 3.50 3.50 3.00 5.69

Table 15.  Goals and Weights of Objectives

 Objective Function Goal Weight TWC $1484$ 1 Make Span $468$ 2 Utility $288.24$ 3

Table 16.  The Parameters of SA Algorithm

 Parameters The number of initial population $= 20$ The iterations time $= 300 s$ The number of neighborhood $= 10$ Alpha $= 0.99$

Table 17.  The optional list of Positions of Operations of Parts

 Position Parts Operations Position Parts Operations 1 1 1 17 2 4 2 1 2 18 2 5 3 1 3 19 2 6 4 1 4 20 2 7 5 1 5 21 2 8 6 1 6 22 2 9 7 1 7 23 2 10 8 1 8 24 3 1 9 1 9 25 3 2 10 1 10 26 3 3 11 1 11 27 3 4 12 1 12 28 3 5 13 1 13 29 3 6 14 2 1 30 3 7 15 2 2 31 3 8 16 2 3

Table 18.  Solution of SA algorithm

 Random Position Considering the Precedence relations Feasible Position Parts Operations Machines Tools TAD 17 14 2 1 2 14 -Z 5 17 2 4 1 15 Z 3 16 2 3 2 16 -Y 10 18 2 5 1 16 -Z 2 19 2 6 6 10 Y 31 15 2 2 4 1 -Z 12 20 2 7 4 11 -Z 19 21 2 8 2 16 -Z 9 23 2 10 4 2 X 27 24 3 1 5 3 -X 21 26 3 3 3 4 Y 18 30 3 7 5 12 Y 14 31 3 8 6 10 A 6 25 3 2 2 15 -Y 13 27 3 4 1 17 Z 4 28 3 5 2 15 -Y 26 29 3 6 3 4 Z 30 22 2 9 4 5 X 7 1 1 1 5 13 X 20 3 1 3 4 6 -Y 16 10 1 10 2 17 -Z 28 2 1 2 1 16 A 8 5 1 5 6 10 -X 25 9 1 9 2 15 -Y 23 6 1 6 2 14 X 29 4 1 4 2 17 z 15 7 1 7 2 17 X 24 8 1 8 2 16 X 22 13 1 13 3 9 z 1 11 1 11 2 14 -Z 11 12 1 12 5 8 -Z

Table 19.  Description of the $Tasks$

 $ID$ Exclusive number of each member of the tuples $PartNo$ The number of the parts $OperationNo$ The number of operations necessary for part processing $\{TADNo\}$ The set of TAD candidates $\{ToolNo\}$ The set of tool candidates $\{MachineNo\}$ The set of machine candidates $\{pTime\}$ The set of Machining time for each candidate machine (s) $\{Succs\}$ The set of successor operations

Table 20.  Description of the $Modes$

 $task$ A tuple type data represent the Task which the Mode is derived from $PartNo$ Indicates the number of the parts which equal to $task.Part.No$ $OperationNo$ Indicates the number of the operations in one part which equals to $task.Operation.No$ $TADNo$ Indicates the number of TADs which is a member of $task.\{TAD.No\}$ $ToolNo$ Indicates the number of tools which are the members of $task.\{Tool.No\}$ $MachineNo$ Indicates the number of machines which are a member of $task.\{Machine.No\}$ $pTime$ Indicates the machining time for $Machine_{Machine.No}$

Table 21.  he Best Solutions of SA algorithm

 Part Operation Machine TAD Tool Start Time Machining Time Finish Time 1 1 2 -3 16 0 38 38 1 2 1 3 14 100 37 137 1 3 1 -3 14 59 41 100 1 4 1 2 16 323 31 354 1 5 6 -2 10 394 40 434 1 6 5 -3 1 139 30 169 1 7 3 -3 11 169 40 209 1 8 1 -3 16 269 54 323 1 9 5 1 2 38 21 59 1 10 5 1 3 354 40 394 1 11 5 2 4 209 30 239 1 12 5 2 12 239 30 269 1 13 6 4 10 434 50 484 2 1 2 -2 16 38 20 58 2 2 2 3 15 82 29 111 2 3 2 -3 16 58 24 82 2 4 4 -1 4 269 66 335 2 5 4 1 5 335 59 394 2 6 5 1 13 394 41 435 2 7 5 -2 6 111 28 139 2 8 2 3 14 180 49 229 2 9 2 4 16 139 41 180 2 10 6 1 10 229 40 269 3 1 1 -2 14 0 30 30 3 2 2 3 14 298 30 328 3 3 2 3 14 229 30 259 3 4 1 -1 17 354 29 383 3 5 2 1 14 383 31 414 3 6 5 -3 9 453 40 493 3 7 2 -3 15 259 39 298 3 8 3 -3 8 414 39 453

Table 22.  The Best Solution obtained through CP

 Part Operation Machine TAD Tool Start Time Machining Time Finish Time 1 1 2 -3 16 0 38 38 1 2 2 3 16 38 37 75 1 3 1 -3 16 75 41 116 1 8 1 -3 16 116 52 168 1 10 3 1 3 168 40 208 1 6 5 -3 1 208 30 238 1 9 5 -1 2 238 20 258 1 11 5 2 4 258 30 288 1 7 5 -3 11 288 30 318 1 13 6 4 10 318 50 368 1 5 6 2 10 368 40 408 1 12 5 2 12 408 30 438 1 4 1 -3 16 438 30 468 2 1 1 -2 16 0 20 20 2 3 1 -3 16 20 24 44 2 2 1 3 16 44 29 73 2 4 5 3 4 73 51 124 2 5 5 1 5 124 38 162 2 6 5 1 13 162 41 203 2 7 5 2 6 318 28 346 2 8 1 -3 16 351 47 398 2 9 1 4 16 398 40 438 2 10 6 1 10 438 40 478 3 1 1 -2 16 168 30 198 3 7 1 -3 16 198 39 237 3 2 1 1 16 237 28 265 3 3 1 3 16 265 30 295 3 4 1 1 16 295 25 320 3 5 1 -1 16 320 31 351 3 6 5 -3 9 351 40 391 3 8 5 -3 8 438 38 476

Table 23.  Results of SA and CP Algorithm

 Objective TWC Make Span Utility Time (Sec) Max(Min) Function Min Min Max Goal 1484 468 288 CP 1514 478 258.3761 300 SA 1669 493 87.30202 300
•  [1] A. Akgun, E. A. Sezer, H. A. Nefeslioglu, C. Gokceoglu and B. Pradhan, An easy-to-use MATLAB program (MamLand) for the assessment of landslide susceptibility using a Mamdani fuzzy algorithm, Computers & Geosciences, 38 (2012), 23-34.  doi: 10.1016/j.cageo.2011.04.012. [2] IBM, IBM ILOG CPLEX Optimization Studio 12.5 User's Manual, 2012. [3] S. Kirkpatrick, C. Gelatt and M. Vecchi, Optimization by simulated annealing, Science, New Series, 220 (1983), 671-680.  doi: 10.1126/science.220.4598.671. [4] X. Li, L. Gao, X Shao and C. Wang, Mathematical modeling and evolutionary algorithm-based approach for integrated process planning and scheduling, Computers & Operations Research, 37 (2010), 656-667.  doi: 10.1016/j.cor.2009.06.008. [5] W. Li and C. A. McMahon, A simulated annealing-based optimization approach for integrated process planning and scheduling, International Journal of Computer Integrated Manufacturing, 20 (2007), 80-95.  doi: 10.1080/09511920600667366. [6] K. Lian, et al., Optimization of process planning with various flexibilities using an imperialist competitive algorithm, The International Journal of Advanced Manufacturing Technology, 59 (2012), 815-828.  doi: 10.1007/s00170-011-3527-8. [7] J. Lin, M. Liu, J. Hao and S. Jiang, A multi-objective optimization approach for integrated production planning under interval uncertainties in the steel industry, Computers & Operations Research, 72 (2016), 189-203.  doi: 10.1016/j.cor.2016.03.002. [8] T. Majozi and X. Zhu, A combined fuzzy set theory and MILP approach in integration of planning and scheduling of batch plants-Personnel evaluation and allocation, Computers & Chemical Engineering, 29 (2005), 2029-2047.  doi: 10.1016/j.compchemeng.2004.07.038. [9] X. N. Shen and X. Yao, Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems, Information Science, 298 (2015), 198-224.  doi: 10.1016/j.ins.2014.11.036. [10] J. M. Usher and K. J. Fernandes, Dynamic process planning-The staticphase, Journal of Materials Processing Technology, 61 (1996), 53-58. [11] S.-y. Wan, Integrated Process Planning and Scheduling with Setup Time Consideration by Ant Colony Optimization, HKU Theses Online (HKUTO), 2012. doi: 10.5353/th_b4961807. [12] Y. Wang, A PSO-based multi-objective optimization approach to the integration of process planning and scheduling, in Control and Automation (ICCA), 8th IEEE International Conference on IEEE, eds. Y. Zhang and J. Y. H. Fuh, 2010. doi: 10.1109/ICCA.2010.5524365. [13] L. A. Zadeh, Fuzzy sets, Information and Control, 8 (1965), 338-353.  doi: 10.1016/S0019-9958(65)90241-X. [14] L. Zhang and T. Wong, Solving integrated process planning and scheduling problem with constructive meta-heuristics, Information Sciences, 340/341 (2016), 1-16.  doi: 10.1016/j.ins.2016.01.001. [15] L. Zhang and T. Wong, An object-coding genetic algorithm for integrated process planning and scheduling, European Journal of Operational Research, 244 (2015), 434-444.  doi: 10.1016/j.ejor.2015.01.032. [16] W. Zhanjie, The research about integration of process planning and production scheduling based on genetic algorithm, in Computer Science and Software Engineering, International Conference on IEEE, eds.T. Ju, 2008. doi: 10.1109/CSSE.2008.845.

Figures(9)

Tables(23)