1 Introduction

The application of cyber-physical systems (CPS) generate new possibilities and challenges for the production planning and scheduling. Thoben et al. [25] state, that establishing a cyber physical logistics system (CPLS) can increase efficiency and flexibility in the production environment. The combination of smart manufacturing and logistics will generate the optimal value stream to fulfill real-time demands. Supporting that statement Auffermann et al. [3] state, the transportation systems will play an important role in the integration of cyber physical systems. Every production systems needs a flexible and dynamic material handling component. By now forklift trucks are able to identify the transported good and establish a communication to exchange information on the destination where the product wants to go [1]. Due to this fact, new decentral approaches and innovative services need to be established for a one piece flow in a manufacturing environment, especially in small and medium sized businesses considering cellular logistics systems.

These businesses usually use a job shop layout with a number of jobs, each combining a set of operations. These are processed by assigned machines in a job specific sequence. In nearly all instances, material handling systems are used to move, buffer and store raw material as well as work-in-progress. Those are called Job Shop Scheduling with Material Handling (JSSMH) or Job Shop Scheduling Problem with Transportation (JSPT). Taking into account the type and number of AGVs, picking up materials after an operation is completed and providing it to the next machine, the problem is called Job Shop Scheduling with Autonomous Guided Vehicles (JSP-AGV).

2 Problem Description

A job shop is given, if a set of \( n \) independent jobs \( J = \left\{ {J_{1} , J_{2} , \ldots ,J_{n} } \right\} \) has to be processed on a set of \( m \) machines with \( M = \left\{ {M_{1} , M_{2} , \ldots ,M_{m} } \right\} \). Each job \( J_{i} \in J \), with index \( i \) for the job and j for the operation, can be described as a sequence of operations \( o_{ij} \) on machine \( \mu_{ij} \,\epsilon\, M \) with the processing time \( p_{ij} \). For every operation, a set of machines \( A\left( j \right) \) is assigned, which can possibly process it, representing optional parallel machines. The processing order will be called precedence constraint. Once an operation is started, it cannot be interrupted (called preemption) and only one operation can be processed on a machine at a time. Reentrant processes are also considered. They are typical for semiconductor manufacturers or similar production processes with extremely expensive machines. Operations are processed on the same machine twice, with at least one intermediate step in between. This situation occurs, if a product is tested after assembly, repaired and tested again or more than one layer of coating is applied to the product. Exemplarily, Fig. 1 shows the correct sequence of operations with \( O_{i, j + 2} \) on machine \( M_{k} \) after \( O_{i j + 1} \) on Machine \( M_{k + 1} \) and \( O_{ij} \) being processed on \( M_{k} \) earlier.

Fig. 1.
figure 1

Empty travel times and blocking are considered in the new linear model. (color figure online)

Regular job shops consider infinite buffer space between two intermediate operations, one on each side of the machine. In case of absence of the intermediate storage place, the problem can be considered as blocking environment. In the blocking scenario, machines cannot process any other operation until the last processed object has been cleared/unloaded from the machine. The operation of a processed job has to remain on the machine until the next machine is available. This situation is presented in Fig. 1, with \( B_{i,j + 1} \) (dashed red box) being the blocking time added to the process duration of \( O_{i,j + 1} \). These circumstances will delay the start of the next operation of the upcoming jobs. This situation is well known in industrial environments and commonly found in scheduling train-yards or surgeries in a hospital.

Different optimal solutions to the problem have been presented, for example graph based solutions improved by Branch & Bound (B&B) by Mascis et al. [21] solving a job shop environment with blocking. New approaches to solve the problem with B&B-Algorithms, considering setup times [14] are known from literature and have been calculated without setup times on a CPU-GPU combination [8]. A heuristic solution generating a schedule by particle swarm optimization is provided by Zhao et al. [29]. Using a single criteria tabu-search [6] or multi criteria tabu-search [20] seems to be promising as well.

Adding transport operations to the job shop problem, the formulation to classify the environment used by Graham [13] must be enhanced by material transport operations \( T_{ij} \), representing the transportation when \( o_{ij} \) is processed on machine \( \mu_{ij} \) and \( o_{ij + 1} \) is processed on machine \( \mu_{ij + 1} \). Also empty travel operations \( T_{ij}^{{\prime }} \) (green dotted box) have to be considered, subject to the same rules as \( T_{ij} \), seen in Fig. 1. Taking into account the transport operation of an AGV and the absence of a buffer at the machine, there is a crucial dependency between the schedule of the machine and the AGV. These can be solved by a nonlinear model provided by Zeng et al. [27], a linear problem considering assembly and batches [2] and a linear model with handover times reviewed by Poppenborg et al. [23]. Other mathematical formulations are provided by Caumond et al. [7] considering a single AGV with limited buffer and Fazlollahtabar considering multiple AGVs and turning points for deadlock resolution [11]. Given that scheduling AGVs in a job shop is considered NP-hard due to the simultaneous scheduling problems (i) of the machines and (ii) the AGVs in the job shop [22] typical approaches are heuristic algorithms. Scholz-Reiter et al. [24] presented a solution for general dual resource constrained problems dynamically adjusting scheduling rules based on the environment, which can be adopted to AGVs. Another solution was presented by Ulusoy using a Genetic Algorithms (GA) for the simultaneous scheduling of AGVs and a Flexible Manufacturing System (FMS) with 4 workstations [26]. Different hybrid approaches combining GA with other methods have been tested as well. Another approach presented by Baruwa is based on colored petri-nets which is providing a fast heuristic solution [4]. Graphical solutions are provided by Lacomme using a memetic algorithm on a non-oriented disjunctive graph and Zhang using a shifting bottleneck procedure based on a disjunctive graph [19, 28].

Considering the possible optimization criteria in general, the minimization of the make span is sufficient [22]. Fazlollahtabar et al. [10] presented the minimization of the make span (Cmax) as a goal criterion, but considered (weighted) tardiness or the mean flowtime as minimization criteria as well.

3 Scenario

The considered environment in this paper is a \( J6,R2 \) | \( prec \), \( t_{jk} = t_{kj} ,t_{kl}^{{\prime }} \) | \( C_{Max} \) using Graham’s notation enhanced by Knust [18]. The scenario and slight variations are commonly used for benchmarking [9] as well as the RoboCup Logistics League (reference http://www.robocup-logistics.org/ for more information). Four machine groups (MG 1–4) with 2 parallel identical machines in MG 1 and MG 3 as well as 2 single machines in MG 2 and MG4 are feed by two AGVs (R1-R2), used for material movements. Each order consists of 5 transport operations, executed by the 2 AGVs, and 4 machine operations (one on each group). The considered scenario is depict in Fig. 2. Scenarios closely related to this one have been proposed for AGV schedule comparison by [5] and used by [4, 27]. Instead of combining the load and unload station in one location, different locations, similar to [23], have been considered for this contribution.

Fig. 2.
figure 2

In this example the 2 jobs take simple routes through the system, including 5 transport operations.

The products take a certain route (grey and black lines represent different orders), defined by the product type given at the first entrance into the shop. Due to the operation sequence of the given orders, proceeding constrains are assumed. If a machine has processed an operation, it is blocked until the next transport operation unloads the machine. No operation can be substituted by another machine and no operation can be skipped. Machine breakdown and maintenance are not considered. The first operation of each robot is the pickup of a product from a transfer station and making it available to the first machine. As mentioned before, the transport time depends on the layout of the machines. In Fig. 2, transport operations with solid lines are processed by Robot M2 and dashed lines are taken care of by Robot M1. The optimal assignment has to be calculated, see Sect. 4. The last operation is delivering the final product to the sink (transfer station M9), disposing the product from the shop floor. The movement of the AGV is not bound by any loop or network. The AGV takes the shortest path, calculated on a given map. A transport operation contains the pickup, the transport and the drop off of a product. The loading capacity of the AGV is one object per transport operation. In this paper, the transportation time is considered to be a given amount of time, depending on the position of the machines. Once an AGV has completed the operation and is idle, it stays where it finished the task. Dwell and idle points are not considered in this study. Enhancing the notation of Gröflin [15] with the ideas of Poppenborg [23], leads to a model with reentrant processes, blocking and transfer times as well as the possibility to consider set-up times for each order. The model divides every operation into multiple steps and synchronizes the start of a step with its predecessor’s steps. This mixed integer linear model has been used for all following calculations.

4 Experimental Results

All calculations are done for a static scenario, where all jobs are known prior to the start. For both models, the same set of jobs was considered. Calculation in this case were done on Intel® Core i7-2600 and solved with Gurobi 7.0.2 [16] modelled with AMPL [12]. In Fig. 3 the CPU Calculation times are presented for instances with increasing number of jobs. It can be seen, that with an increasing number of jobs the calculation time increases drastically, as expected.

Fig. 3.
figure 3

The calculation time increases drastically with the addition of jobs, especially from 5 to 6 orders, resulting in more than 48 h calculations without an optimal solution.

Taking into account the fact that the solver did not find an optimal solution for 6 and more orders after 48 h, the solver time limit for all further calculations was set to 120 min. During that time, the solver should be able to find a feasible solution but not the optimal answer. This holds up to 10 jobs of the new model, but not for the reference model. After 120 min the solver was not able to calculate a feasible solution for 8 and more orders in the reference model. In Fig. 4 the best solution for Cmax is presented. For all instances with more than 5 orders the feasible solution after 120 min (7200 s) calculation time and its gap are displayed. The gap is the difference from the last feasible solution to the lower bound, being zero proving an optimal solution. Still these results proof optimal solutions for small instances up to 5 orders.

Fig. 4.
figure 4

Calculations for more than 5 orders are aborted after 120 min, resulting in a gap.

The development of the gap over time can be seen in Fig. 5. In the figure it can be seen that the time to calculate the first feasible solutions seems to depend on the size of the problem. Increasing the number of AGVs, machines or operations will lead to rising calculation times as well, but the impact has not been tested so far. The detailed convergence behavior will be looked at in the future. The effect of applying dynamical influences to process- and transport times has not been evaluated so far. The different feasible solutions and gaps due to the different notation of the models, which can be seen in Fig. 4, have to be analyzed as well.

Fig. 5.
figure 5

The larger the instance the longer the first feasible solution takes to calculate.

5 Outlook and Conclusion

Considering a small process like a flexible manufacturing system with no more than 4 machine groups and 2 AGVs, the developed MILP provides an optimal near real time solution for online applications, up to 4 orders in the system. Considering 5 to 10 orders, feasible but not optimal solutions can be presented within reasonable time frames. This shows the amount of orders as a crucial variable to the problem. The usage of powerful solvers and the use of cloud infrastructure can improve the results to a certain extent. It has to be take into account, that real complex production systems can contain multiple FMS being supplied by more than two AGVs. This leads to the fact, that this approach can no longer be used for the efficient scheduling of large systems. Concluding, the small amount of orders which can be calculated motivates the search for faster algorithms which can cope with larger amounts of orders.

In further research, it has to be evaluated how the program behaves on a rolling time horizon base, to be able to represent the dynamic behavior of a plant, for example, machine failure or priority order. Moreover, in further research other approaches to the larger instances of BJS-AGV problem, such as dynamic rule-based dispatching of AGV’s, have to be considered, developed and evaluated. These new approaches, e.g. Heger et al. [17], can be assessed in comparison to the optimal solution provided by this model.