## 2 Materials and Methods
### Design Phase
#### 2.2.2 Problem Definition  
The AGV scheduling problem studied in this article focuses on the transportation of n jobs, where each job has a source or a pickup node as well as a destination or delivery node. A set of AGVs provides the transportation of jobs. For the model, the fixed parameters of this optimization problem, the decision variables to be determined, the constraints to be satisfied, and the objectives to be optimized are described. The mathematical model is based on previous works [17; 18; 42; 43]. For the JSSP, the following parameters and decision variables are set:  
* Set J = {J1,..., Jn} of _jobs_, whereas n = {J1} is the number of jobs;
* Each job ji \(\in\) J consists of a set of qi _operations_\(\mathrm{O_{i}}\) = {i1,..., iqi};
* They have to be transported on a set A = {A1,..., Ak} of k _AGVs_, and a = {A1} is the number of AGVs;
* The transportation order of each job (j) is given by a permutation (fj,1,..., fj,a) of A;
* Each job (j) and each AGV (k) is associated with a transport time (tj,k). The schedule is created by assigning each operation a start time (sj,k) for all j \(\in\) J, k \(\in\) A. In order to be feasible, the schedule has to satisfy the following conditions:  
**Constraints**  
The constraints ensure the correctness of the model with regard to certain specifications of the problem domain. First, it needs to be ensured that all start times are positive. \[\mathrm{s_{j,k}}\geq 0\text{ for all j j}\in\mathrm{J},\,\mathrm{k}\in\mathrm{A} \tag{1}\]  
Furthermore, the tasks within one job must be processed sequentially. That means that the transportation orders must align with the sequenced order of tasks. \[\mathrm{s_{j,j_{i}}}+\,\mathrm{t_{j,j_{i}}}\;\leq\;\mathrm{s_{j,j_{i+1}}}\text { for all j }\in\mathrm{J},\,\mathrm{1}\;\leq\;\mathrm{i}\;\leq\;|\mathrm{A}| \tag{2}\]  
Additionally, there should be no overlap between transport requests processed on the same AGV. \[\mathrm{s_{j,k}}\geq\mathrm{s_{i,k}}+\mathrm{t_{j,k}}\vee\mathrm{s_{i,k}} \geq\mathrm{s_{j,k}}+\mathrm{t_{j,k}}\text{ for all i,j}\in\mathrm{J},\,\mathrm{k}\in \mathrm{A},\,\mathrm{i}\
eq\mathrm{j} \tag{3}\]  
**Objective**  
For the decision variables, the makespan represents the time needed to complete all tasks. Furthermore, for each transportation task its start time (s(t) \(\in\) {0,..., T}) must be determined, where T is the scheduling horizon. The scheduling horizon for this scenario is the sum of all transportation durations. The makespan (Cmax) is the time of completion of the last job, and the goal is to find a scheduling order that minimizes the overall makespan of the scheduling. \[\mathrm{C_{max}}=\max(\mathrm{\{s_{j,k}}+\mathrm{t_{j,k}}\;\mid j\in\mathrm{J},\,k\in\mathrm{A})}) \tag{4}\]  
For the FJSSP, the following parameters and decision variables are set:* Set J = {J\({}_{1}\),..., J\({}_{n}\)} of n _jobs_;
* Each job J\({}_{i}\in\)J consists of a set of q\({}_{i}\)_operations_\(\mathrm{O_{i}}\) = {i\({}_{1}\),..., i\({}_{qi}\) };
* They have to be transported on a set A = {A\({}_{1}\),..., A\({}_{k}\)} of k _AGVs_. **Prerequisite Assumptions:**  
* The sets \(\mathrm{O_{i}}\) are assumed to be linearly ordered for all i \(\in\) {1,..., n};
* All AGVs and jobs are available at the beginning of the scheduling horizon.