# Reconfiguration Decision-Making of IoT based Reconfigurable Manufacturing Systems
## 5 Decision-Making System
### Definition of Reconfiguration Problem  
The problem of reconfiguration was modeled with integer programming. For the modeling, the parameters and decision variables were defined as shown in Table 3.  
The objective function in Equation (1) considers four elements: the minimum number of the demands unfulfilled within due date, the minimum completion time of the whole production, the replacement cost for reconfiguration, and the minimum penalty of the demands unfulfilled within the due date. \(\alpha\), \(\beta\), \(\gamma\), or \(\delta\) is the weight value of each factor, respectively. \[min\left\{\alpha\sum_{t}^{T}\sum_{d_{t}}^{|D_{t}|}s_{d_{t}}^{t}C_{d_{t}}^{t}+ \beta max_{t,d_{t},t}\left(x_{d_{t},r}^{t,L}+p_{m_{t}^{l}}^{t,L}\right)+\gamma \sum_{l}^{L}\sum_{r}^{R}m_{r}^{t}c_{r}^{t}+\delta\sum_{t}^{T}\sum_{d_{t}}^{|D_{ t}|}C_{d_{t}}^{t}\left(1-s_{d_{t}}^{t}\right)c_{penalty}\right\} \tag{1}\]  
The constraints are presented as follows:  
\[x_{dt,r}^{t,l}\leq M\left(y_{dt,r}^{t,l}+y_{dt,r}^{t,l}\right)\left(\forall t,\ d_{t},l,r\right). \tag{2}\]  
\[x_{dt,r}^{t,l}\succ_{r}^{R}x_{dt,r}^{t,l-1}+\sum_{i}^{l}p_{dt,\ l-1,\ i}^{t} \left(\forall t,\ d_{t},l,\ r\right) \tag{3}\] \begin{table}
\begin{tabular}{c c c} \hline \hline \multicolumn{1}{c}{**Category**} & \multicolumn{1}{c}{**Detail**} \\ \hline \multirow{4}{*}{**Machine**} & \(l\) & Index of line (1–\(l\)) \\ \cline{2-3}  & \(r\) & Index of room for machines in each line (1–\(R\)) \\ \cline{2-3}  & \(i\) & Index of machine type (1–\(l\)) \\ \cline{2-3}  & \(m_{t}^{t}\) & Initial type of \(r^{th}\) machine in \(l^{th}\) line \\ \hline \multirow{4}{*}{Cost} & \(c_{i}^{l}\) & Installation cost of machine with machine type \(i\) in \(l^{th}\) line (without IoT) \\ \cline{2-3}  & \(c_{penalty}\) & Penalty of an unfulfilled demand \\ \cline{2-3}  & \(ii_{t}^{l}\) & Installation time of machine with machine type \(i\) in \(l^{th}\) line \\ \hline \multirow{4}{*}{Demands} & \(t\) & Index of demand type (1–\(l\)) \\ \cline{2-3}  & \(d_{t}\) & Index of demand with type \(t\) before change (1–\(D_{t}\)) \\ \cline{2-3}  & \(dux_{d_{t}}^{t}\) & Due of demand \(d_{t}\) with type \(t\) \\ \cline{2-3}  & \(p_{t}^{t,l}\) & Whether demand type \(t\) is available in machine type \(i\) in \(l^{th}\) line (0 or 1) \\ \cline{2-3}  & \(p_{t}^{t,l}\) & Process time of demand type \(t\) in machine type \(i\) in \(l^{th}\) line. \\ \cline{2-3}  & \(C_{d_{t}}^{t}\) & Whether demand \(d_{t}\) with demand type \(t\) is canceled (0-cancelled or 1-not cancelled) \\ \cline{2-3}  & \(R_{d_{t}}^{t}\) & Whether change of demand \(d_{t}\) with demand type \(t\) is recognized in planning type (0-not recognized or 1-recognized) \\ \cline{2-3}  & \(DC\) & Time when the demand change is recognized \\ \hline \multirow{4}{*}{Decision variables} & \(m_{t}^{t,l}\) & Changed type of \(r^{th}\) machine in \(l^{th}\) line (Integer) \\ \cline{2-3}  & \(m_{t}^{t,l}\) & Whether machine type of \(r^{th}\) machine in \(l^{th}\) line is changed (0-not changed or 1-changed) \\ \cline{2-3}  & \(n_{r}^{t,l}\) & Reconfiguration time of \(r^{th}\) machine in \(l^{th}\) line (Integer) \\ \cline{2-3}  & \(x_{d_{r},r}^{t,l}\) & Starting time of demand \(d_{t}\) with type \(t\) in \(r^{th}\) machine in \(l^{th}\) line (Integer) \\ \cline{2-3}  & \(y_{d_{r},r}^{t,l}\) & Whether demand \(d_{t}\) with type \(t\) is processed by \(r^{th}\) machine \(l^{th}\) line before reconfiguration \\ \cline{2-3}  & (0-not processed or 1-processed) \\ \cline{2-3}  & \(y_{d_{r},r}^{t,l}\) & Whether demand \(d_{t}\) with type \(t\) is processed by \(r^{th}\) machine \(l^{th}\) line after reconfiguration \\ \cline{2-3}  & (0-not processed or 1-processed) \\ \cline{2-3}  & \(s_{d_{t}}^{t}\) & Whether due of demand \(d_{t}\) with type \(t\) is satisfied (0-not satisfied or 1-satisfied) \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Parameters and decision variables of integer programming. (8) and (9) represent the constraints of demand allocation to the original and reconfigured machines.