# Multi-Criteria Optimization in Operations Scheduling Applying Selected Priority Rules
## 4 Experimental Study
### Optimization Model
#### 4.3.3. The Formation of Scalar Multi-Criteria Objective Functions and Conditions of Optimization  
After the determination of all reference ideal and worst points necessary for the transformation of production goals, further experiments based on respecting all five production goals simultaneously are carried out under the same conditions. The scalar multi-criteria objective functions for each of the three priority rules were built on WSM and WPM methods. Multi-objective \(U_{WSM}\) function (6) was formed on the base of the Weighted Sum Method (defined by Equation (3)) as the linear combination of the normalized individual objectives \(F_{i}^{transform}\) expressed by (5) using the weight vector \(\mathbf{w}\). \[U_{WSM}=\sum_{i=1}^{k}w_{i}F_{i}^{transform},w_{i}>0\ \forall i,\ \sum_{i=1}^{k}w_{i}=1 \tag{6}\]  
All components \(w_{i}\) were equal to the value 0.2 to not give priority to any of five production goals. Due to the normalization of objectives given by (5), the structure of the proposed scalar objective function \(U_{WSM}\) demands the maximization of (6) to lead to the single preferred Pareto optimal solution finding. When adopting the Weighted Product Method (defined by Equation (4)) with the same settings of weights, \(U_{WPM}\) function is defined by Equation (7), and, on the contrary, the minimization of (7) yields the Pareto optimal solution. \[U_{WPM}=\prod_{i=1}^{k}\Bigl{(}F_{i}^{transform}\Bigr{)}^{w_{i}},w_{i}>0\ \forall i,\ \sum_{i=1}^{k}w_{i}=1 \tag{7}\]  
The objectives that need to be maximized were transformed using a reciprocal of (5). Box 1 and 2 contain an example of code which shows the transformation in WSM and WPM-based multi-criteria objective functions for EDD priority rule, written in the versatile WITNESS Action Language. (WITNESS also supports external code libraries written in common languages such as C++, C#, and VB.net). \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Priority Rule** & **Single-Objective Function** & \
\begin{tabular}{c} **Coordinates of the Ideal Point** \\ **in the Objective Space** \\ \end{tabular} &
\begin{tabular}{c} **Coordinates of the Worst Point** \\ **in the Objective Space** \\ \end{tabular} \\ \hline \multirow{4}{*}{FIFO} & Flow time & 47.534 & 179.884 \\  & Costs per part unit & 31.645 & 37.507 \\  & Work in progress & 3.189 & 21.229 \\  & Machine utilization & 87.245 & 84.902 \\  & Number of products & 467 & 421 \\ \hline \multirow{4}{*}{EDD} & Flow time & 45.128 & 179.527 \\  & Costs per part unit & 31.410 & 37.297 \\  & Work in progress & 2.637 & 22.109 \\  & Machine utilization & 89.283 & 82.096 \\  & Number of products & 482 & 429 \\ \hline \multirow{4}{*}{STR} & Flow time & 44.892 & 179.934 \\  & Costs per part unit & 31.250 & 37.455 \\ \cline{1-1}  & Work in progress & 2.747 & 22.034 \\ \cline{1-1}  & Machine utilization & 89.449 & 83.508 \\ \cline{1-1}  & Number of products & 479 & 433 \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Results of single-objective optimization of production objectives. FIFO: First In First Out; EDD: Earliest Due Date; STR: Slack Time Remaining. **Box 1. ** A code in a body of Weighted Sum Method (WSM)-based objective function using EDD priority rule in simulator. IF Number_of_products >= 400 AND Flow_Time <= 180 AND Machine_utilization >= 80  
RETURN 0.2 * ((Number_of_products \(-\) 429))/(482 \(-\) 429)) + 0.2 * ((Work_in_progress \(-\) 22.109)/(2.637 \(-\) 22.109)) + 0.2 * ((Flow_Time \(-\) 179.527)/(45.128 \(-\) 179.527)) + 0.2 * ((Machine_utilization \(-\) 82.096)/(89.283 \(-\) 82.096)) + 0.2 * ((Costs_per_part_unit \(-\) 37.297)/(31.410 \(-\) 37.297))  
ELSE  
RETURN 0.2 * ((Number_of_products \(-\) 429)/(482 \(-\) 429)) + 0.2 * ((Work_in_progress \(-\) 22.109)/(2.637 \(-\) 22.109)) + 0.2 * ((Flow_Time \(-\) 179.527)/(45.128 \(-\) 179.527)) + 0.2 * ((Machine_utilization \(-\) 82.096)/(89.283 \(-\) 82.096)) + 0.2 * ((Costs_per_part_unit \(-\) 37.297)/(31.410 \(-\) 37.297)) - 10  
ENDIF  
**Box 2.