# Scheduling Algorithms for a Hybrid Flow Shop under Uncertainty
## 4 Computation of Schedules
* Shift times: One of the two machines at the second stage does not produce at night and both machines at stage two do not produce on weekends. * There are four quality checking stations, where scrap parts are identified. All stations are modeled in the simulation model with separate job-related distributions for scrap parts. Figure 6: Scrap rate histogram for an exemplary product. Figure 7: Structure of simulation model for the application case of the paper in AnyLogic 8.5. Since the machine qualifications are already considered in the algorithms of Section 4, an additional validation in the simulation model is not needed. For an almost realistic analysis of a schedule, simulation has to be used. However, a simulation run under realistic conditions is costly and should not be applied to evaluate clearly sub-optimal schedules that appear during optimization. Thus, schedules are first generated by the algorithms of Section 4 from the deterministic model and the best solutions from the deterministic model are subsequently analyzed with simulation. In a simulative analysis, several replications are performed to achieve confidence intervals of a predefined width for \(C_{max}\). The variance of the estimator for \(C_{max}\) is also an indicator of the robustness of the schedule; a small variance indicates a predictable behavior, which is important in an industrial environment. Uncertainties resulting from scrap (see Section 5) are analyzed by counting the number of runs where the required demand is produced and the runs that fail to produce enough. The latter situation has to be avoided whenever possible in the given case study. ## 8 Results

To select one of the schedules created by the seven algorithms, described in Section 4, that should be applied in the application case and to select the most preferable algorithm for the application case over a defined time horizon, we derive all the algorithms with the historical demands and process data of the production. On the one hand, we evaluate the \(C_{max}\) values for the algorithms. On the other hand, we test different values for the quantile to reduce and evaluate the risk of producing less demands than the customer order (Sections 5 and 6) and simulate the calculated schedules with our simulation model, described in Section 7. For the evaluation of different security factor levels, e.g., for \(SF_{ij}\), we refer to [PERSON] et al. (2018). The specific characteristics of the evaluation data for the application case are as follows:

1. Every week, around 60 jobs are processed in the two-stage system. 2. In the first stage, there are 11 unrelated parallel machines. In the second stage, there are two identical parallel machines. 3. In both stages, stochastic distributions for \(p_{ilj}\) are available. The median at stage 1 is about 80 s per job and at stage 2 it is 4 s per job. 4. In stage 1, for setup times \(s_{i}\), the stochastic distribution is available for all machines and products. The median at stage 1 is about 100 min. The median at stage 2 is about 4 min and the given data are deterministic because the second stage is a conveyor belt production stage with a constant flow rate. 5. For the scrap rate \(r_{ij}\), job-related stochastic distributions are available for both stages. We have applied the optimization algorithms on a computer with an Intel(r) CoreTM i7-6920 2.9 GHz and 32 GB RAM and we have run the simulation on a Intel(r) XeonTM E5-2699 v4 2.2 GHz and 64 GB RAM and an Intel(r) CoreTM i5-4670 3.4 GHz and 16 GB RAM. The first step for scheduling is to run the seven optimization algorithms that include deterministic processing times and setup times. Therefore, we compare the makespan resulting from the algorithms for six selected calendar weeks in the past. We run the six metaheuristics with the parameter value \(iterations=1000\) and their initial solution is given by SPT. After running the optimizations, for each week and each quantile value, each algorithm provides an objective value so that, for each algorithm, we get six data points per quantile.