## 2 The SOCP Control Policy
An image of such sequences is presented in Figure 2. Deadlock-free segments are highlighted in green and deadlock-risk segments in yellow. Note that the division of the path into logical segments does not eliminate the multiple existence of the same physical segments. Figure 1: Deadlock-free zones: (**a**) A standard type. (**b**) A new type. The deadlock-free segment capacity is defined as the number of zones that make up the segment. In the proposed method, an action called process reservation is defined: \(PR:V\times\{1,2,..\}\rightarrow\{0,1\}\). A unit of capacity of a logical deadlock-free segment can be reserved for a single AGV moving on that segment. Thus, the process reservation can only be made by a number of different AGVs whose number does not exceed the capacity of the logical segment. This condition is expressed by the following formula \(\forall(SS_{l}\subseteq GP\wedge SS_{l}\subseteq ZU):\sum_{v_{e}=1}^{N}PR(v_{e },l)\leq|SS_{l}|\). The structural online control policy guarantees that the execution of an elementary transport operation (moving the AGV from the current zone to the next) does not lead to a deadlock. This policy implements two rules [2]:  
The first one demands a process reservation of one unit of capacity of the deadlock-free logical segment inside all such segments accessed by an AGV moving along the guide path. This action is denoted as \(\forall(SS_{l}\subseteq GP\wedge SS_{l}\subseteq ZU):PR(v_{e},l)\gets 1\) and must be done before the AGV performs its first elementary transport operation. This means that if it is not possible to perform all process reservations, the execution of the elementary transport operation may lead to a deadlock. Performing a transport operation \(z_{i}\to z_{i+1}\) into a deadlock-free segment requires an empty zone \(z_{i+1}\) represented by the condition \(OC(z_{k+1})=0\), which is always possible due to the process reservation described above. That reservation in the logical segment \(SS_{l}\) is canceled \(PR(v_{e},l)\gets 0\) when the AGV \(v_{e}\) leaves this guide path segment. The second rule guarantees that if an AGV performing an elementary transport operation \(z_{i}\to z_{i+1}\) enters a deadlock--risk segment (into the first zone of a segment) or into a zone inside such a segment, the capacity of all remaining zones in that segment is available (not occupied by another AGV) until \(OC(z_{i})=0\). This condition can be denoted as \(\forall(k>i\wedge z_{k}\in SS_{l}\wedge SS_{l}\subseteq ZB):OC(z_{k})=0\). It should be noted that the decision to check the availability of the required capacities cannot be performed in parallel for more than one AGV. Considering the standard division into deadlock-free and deadlock-risk zones presented above, it is important to note that classifying unidirectional zones as deadlock-free is not mandatory. These zones may also be deadlock-risk zones. On the other hand, it is not possible to classify an originally designated deadlock-risk zone as a deadlock-free zone. Depending on the system structure and the processes performed, it is thus possible to qualify individual unidirectional zones as deadlock-free or deadlock-risk zones to ensure the most efficient operation of the system and thus reduce the restrictiveness of the control policy. The application of this online structural control policy also solves the problem of collision avoidance in an automated transportation system due to the assumptions made, as well as the demands on the availability of an empty next zone on the route before the elementary action is performed. Figure 2: An example of a transportation system.