Next Article in Journal
Probabilistic Interpretations of Fractional Operators and Fractional Behaviours: Extensions, Applications and Tribute to Prof. José Tenreiro Machado’s Ideas
Previous Article in Journal
ERDERP: Entity and Relation Double Embedding on Relation Hyperplanes and Relation Projection Hyperplanes
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Discrete-Event Mathematical Model for Resource Allocation Optimization: A Case Study of Vehicle Scheduling in a Signal-Free Intersection

1
Institute of Machine Intelligence, University of Shanghai for Science and Technology, Shanghai 200093, China
2
School of Health Science and Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
3
Department of International Trade, College of Commerce, Jeonbuk National University, Jeonju 54896, Korea
4
Postdoctoral Station of Applied Economics, Fudan University, Shanghai 200433, China
5
School of Finance, Shanghai Lixin University of Accounting and Finance, Shanghai 201209, China
*
Author to whom correspondence should be addressed.
Submission received: 2 October 2022 / Revised: 31 October 2022 / Accepted: 3 November 2022 / Published: 9 November 2022

Abstract

:
In industrial applications, many systems present serious productivity problems due to limited resources. Generally, the dynamics of resource allocation are inherently discrete-event driven, such as the buffer allocation in production line systems. In this paper, we develop a discrete-event mathematical model for resource allocation optimization. In this work, we consider two crucial optimization objectives, e.g., deadlock-free and efficiency, that originate from the customer’s actual requirements. The main aim is to develop a resource allocation scheme for fulfilling the production process (without deadlock) while ensuring that the cost of the process is minimized. As a case study, we consider the vehicle scheduling problem in a signal-free intersection. The intersection is divided into several disjoint spatial traffic resources, and vehicles need to occupy different traffic resources for passing through the intersection. Thus, the traffic control problem at the signal-free intersection is transformed into a scheduling problem with limited resource constraints. An online control approach is developed to schedule vehicles to go through the intersection safely and efficiently by optimizing the resource allocation order. Simulation results demonstrate the efficiency and robustness of the proposed model and optimization approach.

1. Introduction

A resource allocation system (RAS) consists of a set of concurrently executing processes that use a group of resources to accomplish a given task [1]. A system resource can be reused, but it is in limited supply in the sense that it can be occupied by up to n processes at the same time, where n is its maximum capacity. RASs manifest in many technological systems that involve resource sharing, such as facility planning [2], job scheduling [3], traffic management [4,5], computer system [6], and buffer allocation [7]. For instance, in a typical computer system, jobs, tasks, or transactions are the customers competing for the attention of servers such as various processors, such as the CPU, or peripheral devices (e.g., printers, disks). It is often convenient to represent such a system through an RAS.
The study of RASs can date back to [8,9,10,11], where an efficient operating system was developed. For the RASs, liveness or deadlock-freeness is an essential control requirement for their automatic operation [12,13,14]. There exists a deadlock in an RAS if there exists a group of concurrently executing processes that block each other such that each of them requires, for its further continuation, some resource(s) currently occupied by another process in this group. Thus, to ensure deadlock-free operation, the underlying resource allocation must be carefully considered. Furthermore, for operational flexibility of the RASs, one would like to avoid deadlocks in the least restrictive manner. Recently, refs. [12,13,14,15] developed a deadlock avoidance policy (DAP) that is least restrictive in the sense that no other optimal DAP can generate a larger deadlock-free system behavior. Nevertheless, a DAP only guarantees a task can be finished without any deadlock, but it does not guarantee the task can be finished in a specific route. However, in many practical RASs, such as traffic systems, it is required to “drive” the system to the goal state in a trajectory with a minimum time cost. In addition, the computation of the optimal DAP is proven to be an NP-hard problem [16]. Recently, a sequential RAS structure that admits polynomial-time optimal DAP has been widely investigated [12,14,15,17,18]. In a sequential RAS, every process, during its execution, need to occupy and release in a predefined order of resources. We consider the sequential RAS in this paper.
In contrast to [12,13,14,15,17,18], we develop a control mechanism to drive the system to the goal state (marked state) in a specific trajectory. Specifically, we develop an optimal control mechanism to actively achieve a given task in a deadlock-free manner while minimizing the cost of the resource allocation process. The sequential RAS is modeled as an automaton, which has been proven to be a powerful tool for the design, analysis, and control of discrete-event systems [17,19,20,21,22]. In the automaton, the occupation and release of a resource are both viewed as an “event”. To accomplish a given task, the resource allocation controller not only disables events but also enforces events. To determine which event should be disabled or enforced, an online resource allocation strategy, whose objective is to minimize the cost of the event sequence to be executed (the process of resource allocation and release), is developed. The objective is accomplished by model predictive control. More accurately, by looking l steps forward from the current state, we select a deadlock-free event sequence with the minimum cost, where l is the prediction depth. After each new state updating, we calculate such an optimal event sequence and execute the first event of it. The above process is repeatedly performed until the given task is achieved.
Note that in traditional supervisory control of discrete-event systems [23,24,25,26,27,28,29,30,31,32], a supervisory controller, which is referred to as a supervisor, is desired to enable a maximum allowable set of controllable events at any instant to ensure the controlled system is within the desired specification language. However, an RAS requires us to drive the system to the goal state at a minimum cost. It is about how to implement the system. However, a supervisor fails to drive a system from one state to another state following a specific trajectory (with the minimum cost). Thus, in contrast to traditional supervisory control, we consider a “positive” controller that selects at most one controllable event to be enforced and disables all the remaining controllable events at each instant, as described in the last paragraph.
As an application, we apply the proposed modeling and optimizing method to solve the vehicle scheduling problem in a signal-free traffic intersection [33,34,35,36,37,38]. It is worth noting that approaches for the intersection management problem can be classified into two categories: the signal-based approach [4,39,40,41] and the signal-free approach [5,33,34,35,36,37,38,42,43,44,45,46,47,48,49,50,51,52]. The signal-based approach aims at minimizing queue lengths by optimizing the duration of each signal phase, and the signal-free approach aims at minimizing the intersection travel time by optimizing the passing order of vehicles. The signal-based approach has better adaptiveness and reliability, whereas the signal-free approach is more efficient and economical, especially when the infrastructure cost is a concern. In this paper, we focus on the signal-free approach. Given the source road and the destination road, the trajectory of a vehicle is fixed. We define a resource as the crossing location of two trajectories of vehicles. The intersection should be divided into several resources in terms of granularity. For safety, each resource can be occupied by one vehicle at a time. A process is defined as the process of a vehicle passing through an intersection. Then, the intersection management system is “abstracted” as an RAS modeled as an automaton. In the automaton, vehicle’s movement between adjacent resources is viewed as an “event”, without considering the vehicle’s kinematics. Using the proposed optimization techniques, we present an online vehicular (high-level) control strategy that minimizes the travel time of vehicles in the intersection. The strategy can be actively achieved by disabling and enforcing events. The control decisions are made on-the-fly, and a vehicle can be immediately considered by the controller when it arrives at the intersection. Simulation results demonstrate the expressiveness of the proposed model and the effectiveness of the proposed algorithm.
The contributions of this paper are twofold. First, in this paper, we introduce a novel control mechanism for the RAS. A controller is used to enforce at most one controllable event and disable all the remaining controllable events at any instant. An optimization-based approach is developed to design a controller: starting from a given state, it drives the system to the goal state over a trajectory with the minimum time cost. This is in contrast to the DAP developed for the RAS in [12,13,14,15], where the controller only enables a maximum allowable set of events at any instant, and no specific selection for executing an event is made. Second, we show how a signal-free intersection can be modeled as an RAS and demonstrate how the proposed approach can be applied to schedule vehicles to go through the intersection. The proposed method for intersection management differs from the existing works in the following sense.
  • In this paper, we assume that different vehicles can travel in the intersection at the same time as long as they do not conflict with each other, whereas in [42,43,44,45], only one vehicle is allowed to go through the intersection at a time. Thus, the spatial spacing of the intersection is well utilized in this paper;
  • Different from [46,47,48], our control scheme does not involve a complex nonlinear programming (NLP) problem with high-dimensional collision avoidance constraints, as vehicle travel safety has been guaranteed by the principle that a spatial resource can be occupied by one vehicle at a time;
  • The passing order calculated in this paper is optimal with respect to all the vehicles approaching and traveling in the intersection. This is in contrast to [5,33,34,35,37,38,51,52], where the passing order of vehicles is calculated for only a batch of vehicles at a time. Before the first batch of vehicles finish their journey in the intersection, the second batch of vehicles must wait at the intersection. This may damage traffic efficiency due to the lack of a global view.
The rest of this paper is organized as follows. In Section 2, some preliminary concepts and the mathematical model are introduced. In Section 3, we formally formulate the problem, and a resource allocation optimization algorithm is provided. In Section 4, we discuss how the proposed model and optimization algorithm can be applied to schedule vehicles in a signal-free intersection. In Section 5, the simulation results are obtained. In Section 6, we further discuss how the proposed approach can be applied to schedule robot in a warehouse. Finally, in Section 7, this paper is concluded.

2. Mathematical Model

2.1. Preliminaries

In this section, the resource allocation process is “abstracted” as a discrete-event system modeled as an automaton. In the discrete-event systems, the occupation or release of a resource is viewed as an “event”.
Formally, the automaton is denoted by a six-tuple G = ( Q , Σ , f , Γ , q 0 , Q m ) , where Q is the finite set of states, Σ is the finite set of events, f : Q × Σ Q is the transition function, Γ : Q 2 Σ is the active function, q 0 is the initial state, and Q m Q is the set of marked states (highlighted by double circles). For any q Q , Γ ( q ) = { σ Σ : f ( q , σ ) ! } , where “!” means “is defined”. Σ * is the set of strings composed by events in Σ (including the empty string ε ). Then, f can be iteratively extended to Q × Σ * in the way as, f ( q 0 , ε ) = q 0 , and for any s Σ * and any σ Σ , f ( q 0 , s σ ) = f ( f ( q 0 , s ) , σ ) . The language generated by G is denoted by L ( G ) = { s Σ * : f ( q 0 , s ) ! } . The marked language generated by G is denoted by L m ( G ) = { s L ( G ) : f ( q 0 , s ) Q m } . An automaton G is said to be accessible if any states in Q can be reached from the initial state q 0 via a string s L ( G ) , i.e., [ ( q Q ) s L ( G ) ] f ( q 0 , s ) = q . The accessible part of G is denoted by A c ( G ) .
In this paper, the given control objective is achieved using a controller or supervisor, which dynamically disables or enforces event occurrences of the system based on previous events that have occurred or been observed. Specifically, the event set Σ is partitioned into the set of uncontrollable events Σ u c and the set of controllable events Σ c , i.e., Σ = Σ u c Σ c . For all uncontrollable events (the elapsing of a unit of time, for example), the controller can never disable its occurrence. We also assume that some events in Σ are enforceable in the sense that it can be enforced by preempting an uncontrollable event. We denote by Σ f Σ the set of all the enforceable events. Overall, a controller can adopt the following two different control behaviors to achieve the control objective.
  • Disablement: During the resource allocation process, some controllable events may be disabled by the controller and cannot occur;
  • Enforcement: At the same time, some enforceable events can be enforced to execute by the controller.

2.2. Discrete-Event Model

Next, we model the resource allocation process. Suppose that there are h resources, denoted by Resources 1 , , h . We also suppose that there are d processes, denoted by Processes 1 , , d . We denote R = { 1 , , h } by the set of resources, where i means Resource i, and P = { 1 , , d } by the set of processes, where i means Process i. Note that both h and d can be determined by the physical system, and they have nothing to do with each other. Each process needs to use resources in a predetermined order to complete a specific task. Meanwhile, Resource i can be held by at most m i processes simultaneously for all i R . The resource allocation process can be briefly formulated as follows. When a process wants to use a resource, it first sends a request to the centralized resource manager (CRM). The CRM receives requests from agents, decides whether the resource is available, and sends instructions back to it.
To model the resource allocation process, we must first model the resources and the processes. Specifically, given a process i P , we assume that it needs to use resources in the order of x 1 x 2 x n 1 x n to complete a given task. As shown in Figure 1a, we build an automaton P i to model the dynamics of the working status of Process i P . For clarity, we interpret the events appeared in P i as follows. For any i P and any j R , e j i means that Process i sends a request to the CRM for using Resource j; σ j i means that Process i receives an acknowledgement of the usage of Resource j, and then occupies Resource j; e j k i means that Process i finishes the usage of Resource j and sends a request to the CRM for further using Resource k; σ j k i means that Process i has occupied Resource k after the usage of Resource j. π j i means that Process i releases Resource j. Since the CRM cannot prevent a process from sending a request, e j i and e j k i are all uncontrollable for i P and j , k R . All the remaining events are controllable.
In State 0 of P i , Process i is placed in standby. To complete a given task, Process i should first apply for the usage of Resource x 1 . Thus, when Process i starts to work, it sends a Resource x 1 occupation request to the CRM. Upon the event occurrence of e x 1 i , P i moves from State 0 to State 1. If Process i receives an acknowledgement message from the CRM ( σ x 1 i occurs), it immediately occupies Resource x 1 , and P i moves from State 1 to State 2. After that, when Process i finishes using Resource x 1 , it needs to further apply for the use of Resource x 2 . Upon the occurrence of e x 1 x 2 i , P i moves from State 2 to State 3. The above process is repeated until π x n i occurs in State 2 n (Process i finishes the usage of Resource x n ).
Next, as shown in Figure 1b, we build an automaton R j to model the dynamics of the working status of Resource j R . In State 0 of R j , Resource j is idle. By definition, when σ j i and σ k j i for i P and k R \ { j } occur in State 0, Resource j is occupied and is busy. Correspondingly, Automaton R j moves from State 0 to State 1 upon the occurrences of σ j i and σ k j i for i P and k R \ { j } . When Process i finishes the usage of Resource j, and no other processes need to use Resource j, Resource j returns to idle. As we can see, Automaton R j returns to State 0 from State 1 upon the occurrences of π j i and σ j k i for i P and k R \ { j } . On the other hand, if Resource j is further occupied by another process, R j moves from State 1 to State 2 upon the occurrences of σ j i and σ k j i for i P and k R \ { j } . In this way, we can construct R j .
To combine the resource automata and the process automata, we next introduce the definition of parallel composition of two different automata [53]. Formally, given G 1 = ( Q 1 , Σ 1 , f 1 , Γ 1 , q 01 , Q m 1 ) and G 2 = ( Q 2 , Σ 2 , f 2 , Γ 2 , q 02 , Q m 2 ) , the parallel composition of G 1 and G 2 is denoted by
G 1 | | G 2 : = A c ( Q 1 × Q 2 , Σ 1 Σ 2 , f , ( q 01 , q 02 ) , Q m 1 × Q m 2 ) .
The transition function δ is defined as: for any ( q 1 , q 2 ) Q 1 × Q 2 and any σ Σ ,
f ( ( q 1 , q 2 ) , σ ) : = ( q 1 , q 2 ) σ Γ 1 ( q 1 ) Γ 2 ( q 2 ) ; ( q 1 , q 2 ) σ Γ 1 ( q 1 ) \ Σ 2 ; ( q 1 , q 2 ) σ Γ 2 ( q 2 ) \ Σ 1 ; undefined otherwise ,
where q 1 = f 1 ( q 1 , σ ) and q 2 = f 2 ( q 2 , σ ) .
The overall resource allocation mathematical model G can be obtained by parallelizing all the agents and resources automata. Formally, we have
G = P 1 | | | | P d | | R 1 | | | | R h .
Example 1. 
Let us consider a simple example. As shown in Figure 2, suppose that there are two robots, denoted by Robots 1 and 2, respectively. Both of them need to occupy Resource 1 to fulfill their tasks. Resource 1 can accommodate one robot at a time. We model Robots 1 and 2 in Figure 3a,b, respectively. Meanwhile, we model Resource 1 in Figure 3c. The resource allocation mathematical model G = P 1 | | P 2 | | R 1 is obtained in Figure 3d.

3. Optimization Algorithm

3.1. Problem Formulation

In this section, we calculate an optimal controller for G to achieve a given task. Particularly, the following two optimization objectives should be satisfied.
  • Deadlock-Free: We say a state is a deadlock state if we cannot arrive at a marked state from it. In other words, once we arrive at a deadlock state, we can never reach a marked state;
  • Efficiency: Among all the strings of G in the solution domain, efficiency requires us to execute a string with a minimal cost.
Let us first introduce the definition of a deadlock state.
Definition 1. 
Given a state q Q , q is a deadlock state if there does not exist a string s Σ * such that f ( q , s ) Q m .
From a deadlock state, we can never reach a marked state. In this paper, we denote Q d e a d = { q Q : ( s Σ * ) f ( q , s ) Q m } by the set of all the deadlock states of G [53]. We also denote Q i l l e g = { q Q : ( s Σ u c * ) f ( q , s ) Q d e a d } by the set of illegal states from which we can reach a deadlock state via an uncontrollable event sequence. If we are in an illegal state, we may reach a deadlock state even if we disable all the controllable events in the future. Thus, to ensure the system is deadlock-free, all the illegal states are prohibited from reaching.
We define a cost function C : Q × Σ * R , where R is the set of real numbers. Formally, for any q Q and any s Σ * , C ( q , s ) is the cost resulting from executing event s when the system is in state q.
Given a state q Q and the search depth l N , we let Ξ ( q , l ) = { s Σ * : | s | = l f ( q , s ) ! } be the set of strings s Σ * that are defined at z and are of the length l. To save the computational resource, we require that the solution calculated at the current state is optimal for the next l N steps. We assume that for each state of the automaton, there is at least one event defined at this state. This is not a restriction since for any state whose active event set is empty, we can always add a dumb self-loop with a cost of 0 at it. Thus, given the current state q Q , an optimal solution is always included in Ξ ( q , l ) . Now, the objective function for resource allocation can be expressed as follows.
Problem 1. 
Given the system automaton G, the optimization for resource allocation in the current state q Q is
[ t Ξ ( q , l ) ] = arg min s Ξ ( q , l ) C ( q , s )
where l 1 is the fixed number of prediction steps, and the model constraints are given as follows:
(3) s 1 Σ f ; (4) f ( q , s i ) Q \ Q i l l e g , f o r a l l i = 0 , 1 , , l .
Condition (3) states the first event of the solution is enforceable so that it can be enforced by the controller. Condition (4) states that all the illegal states are prevented from being reached. By definition, the solution t Σ * of (2) is an event sequence of length l defined at the current state q and has the minimal cost. Note that there may be several minimal solutions of (2), i.e., the solutions of (2) need not to be unique. We can select any one of them and then execute the first event of t, i.e., t 1 . After execution, the state of the system is updated, and a new optimal solution of (2) should be calculated. Since the first event of t is enforceable, it can always be enforced. Meanwhile, when we enforce an event occurrence, we must disable all the remaining controllable events. Given the current state q Q , we next show how to compute the optimal solution t Ξ ( q , l ) .

3.2. Solution

In this section, a set of algorithms are developed to solve Problem 1. Given a state q Q , we define the set of predecessor states of q, denoted by Pre ( q ) , as:
Pre ( q ) = { q Q : ( σ Σ ) f ( q , σ ) = q } .
Algorithm 1 calculates all the nondeadlock states Q \ Q d e a d of G.
Algorithm 1: Nondeadlock States
Mathematics 10 04183 i001
To search for all the nondeadlock states, Algorithm 1 considers all the marked states first, then all the nondeadlock states that can reach Q m within 1 step, then all the nondeadlock states that can reach Q m within 2 steps, and so on. Algorithm 1 does not terminate until all the nondeadlock states are considered at least once. Since Q is finite, Algorithm 1 will terminate in finite steps.
Proposition 1. 
The returned T * of Algorithm 1 collects all the nondeadlock states of G, i.e., T * = Q \ Q d e a d .
Proof. 
We denote by T 0 the set of states returned by Line 1 and T i the set of states returned at the end of the ith iteration of the while-loop in Line 2.
We first prove that T * Q \ Q d e a d . The proof is by induction. Since T 0 = Q m Q \ Q d e a d , the base case is trivially true.
The induction hypothesis is that T k Q \ Q d e a d . In the k + 1 st iteration of the while-loop, all the predecessor states of T k (if they are not included in T k ) are added into T . Hence, for all q T k + 1 \ T k , there exist a q T k and a σ Σ such that f ( q , σ ) = q . By the induction hypothesis, q Q \ Q d e a d . By Definition 1, there exists a sequence s Σ * such that f ( q , s ) Q m . Moreover, since f ( q , σ ) = q , we have f ( q , σ s ) Q m . Therefore, T k + 1 Q \ Q d e a d . By Line 9, T * Q \ Q d e a d .
We next prove T * Q \ Q d e a d . For an arbitrary q Q \ Q d e a d , by Definition 1, there exists a sequence s = σ 1 σ n Σ * such that f ( q , s ) Q m . Without loss of generality, we write f ( q , s i ) = q i for i = 0 , 1 , , n . By the while-loop on Line 2, q i T n i for i = 0 , 1 , , n . Therefore, q Q \ Q d e a d .    □
Given the set of nondeadlock states, Algorithm 2 returns the set of all the legal states.
Algorithm 2: Legal States
Mathematics 10 04183 i002
Algorithm 2 computes all the legal states by iteratively removing the states q from the set of nondeadlock states T * if we can arrive at a deadlock state from q via an uncontrollable event sequence. Since Q is finite, the algorithm will terminate in finite steps. The following proposition states that Algorithm 2 indeed returns all the legal states.
Proposition 2. 
The returned L * of Algorithm 2 collects all the legal states of G, i.e., L * = Q \ Q i l l e g .
Proof. 
We first prove that L * Q \ Q i l l e g . The proof is by induction. Initially, we have L 0 = T * = Q \ Q d e a d . By the definitions of Q i l l e g and Q d e a d , we have Q d e a d Q i l l e g , which implies Q \ Q d e a d Q \ Q i l l e g . Thus, L 0 Q \ Q i l l e g is true.
The induction hypothesis is that L k Q \ Q i l l e g . In the k + 1 st iteration of the repeat-until loop, Line 5 of Algorithm 2 removes all the q L k such that σ Σ u c with f ( q , σ ) L k . Since f ( q , σ ) L k and L k Q \ Q i l l e g , f ( q , σ ) Q i l l e g . Then, by the definition of Q i l l e g , there exists a sequence s Σ u c * such that f ( q , σ s ) Q d e a d . Since σ s Σ u c * , all the q L k that are removed from L k are illegal states, i.e., q Q i l l e g . Therefore, L k + 1 Q \ Q i l l e g .
We next prove that L * Q \ Q i l l e g . Given any q L * , by the repeat-until loop, if there exists s Σ u c * such that f ( q , s ) ! , then f ( q , s ) L * . Otherwise, it contradicts the assumption that the repeat-until loop does not terminate until L i = L i 1 . Moreover, since L * L 0 = Q \ Q d e a d , for any q L * and any s Σ u c * , we have f ( q , s ) Q \ Q d e a d . By the definition of Q i l l e g , q Q i l l e g or equivalently q Q \ Q i l l e g . Since q is arbitrarily given, L * Q \ Q i l l e g .    □
We let q Q be the current state of the system G and l N be the prediction depth. Algorithm 3 is used to calculate Ξ ( q , l ) .
Algorithm 3 involves a breadth-first search of a tree with a depth of h. Each node of the tree is a pair ( q , s ) Q × Σ l , where q is a state of G and s is a sequence with the length no larger than l (its length is the search depth). We say a node ( q , s ) is promising if q is legal, i.e., q Q \ Q i l l e g . Algorithm 3 visits the root node ( q , ε ) first, followed by all promising nodes at level 1, all promising nodes at level 2, and so on. The following theorem states that Algorithm 3 returns all possible promising nodes that can be reached from the initial node ( q , ε ) over a sequence in Ξ ( q , l ) .
Algorithm 3: Computation of Feasible Sequences
Mathematics 10 04183 i003
Theorem 1. 
We let Ξ * be the set of pairs returned by Algorithm 3. Then, s Ξ ( q , l ) such that f ( q , s i ) Q \ Q i l l e g for i = 0 , 1 , , l if and only if ( f ( q , s ) , s ) Ξ * .
Proof. 
We denote by Ξ i the set of nodes obtained at the end of the ith iteration of the repeat-until loop.
(⇒) Since f ( q , s i ) ! and f ( q , s i ) Q \ Q i l l e g , by recursively applying the while-loop on Line 3 of Algorithm 3, we have ( f ( q , s i ) , s i ) Ξ i . Therefore, we have ( f ( q , s ) , s ) Ξ l = Ξ * .
(⇐) For any ( q , s ) Ξ i , we prove that q = f ( q , s ) , q Q \ Q i l l e g , and | s | = i . The proof is by induction on i = 0 , 1 , , l . The base case is trivially true since Ξ 0 = { ( q , ε ) } , q = f ( q , ε ) , q Q \ Q i l l e g , and | s | = 0 . The induction hypothesis is that for all ( q , s ) Ξ i with i < l , we have q = f ( q , s ) , q Q \ Q i l l e g , and | s | = i . We now prove that the same is also true for all ( q , s ) Ξ i + 1 . By the while-loop on Line 3 of Algorithm 3, there exist ( q , s ) Ξ i and σ Σ such that q = f ( q , σ ) Q \ Q i l l e g and s = s σ . Since q = f ( q , s ) and | s | = i , we have q = f ( q , s σ ) = f ( q , s ) and | q | = i + 1 . Thus, for all ( q , s ) Ξ i + 1 , we have q = f ( q , s ) , q Q \ Q i l l e g , and | s | = i + 1 . Therefore, for all ( q , s ) Ξ l = Ξ , we have q = f ( q , s ) , q Q \ Q i l l e g , and | s | = l . By definition, s Ξ ( q , l ) . □
Corollary 1. 
For any s Ξ ( q , l ) , it is a solution of Problem 1 if ( f ( q , s ) , s ) Ξ * such that s 1 Σ f and there does not exist another ( f ( q , t ) , t ) Ξ * with t 1 Σ f and C ( q , t ) < C ( q , s ) .
Proof. 
For any q Q , Problem 1 intends to find a s Ξ ( q , l ) having the minimum cost such that (i) s 1 Σ f and (ii) f ( q , s i ) Q \ Q i l l e g for i = 0 , 1 , , | s | . By Theorem 1, Ξ * collects all the ( f ( q , s ) , s ) such that s Ξ ( q , l ) and f ( q , s i ) Q \ Q i l l e g for i = 0 , 1 , , | s | . Thus, s is a solution of Problem 1 if and only if s 1 Σ f and there does not exsit another ( f ( q , t ) , t ) Ξ * such that t 1 Σ f and C ( q , t ) < C ( q , s ) . That completes the proof. □
By Corollary 1, we can always obtain a solution of Problem 1 (if it exists) by selecting one ( q , s ) Ξ * with s 1 Σ f that has a minimum cost C ( q , s ) .
Flow diagrams of the algorithm for optimal resource allocation are given in Figure 4. Specifically, we first model the resource automata and process automata as described in Section 2.2. The overall system model G can be obtained by paralleling all these automata as in (1). When the state of the system is updated, we apply Algorithms 1–3 to calculate all the feasible event sequences that start from the current state. By Corollary 1, by calculating the time cost of all the feasible event sequences, we can always select one having the minimum time cost. Then, we enforce the first event of this sequence at the right time. After the execution of this event, the state of the system is updated again, and we repeat the above process.

4. Case Study

In this section, we consider an application of the proposed resource allocation optimization algorithm.

Intersection

Intersection management is essential for safety and traffic efficiency. As shown in Figure 5, the research object of this section is a signal-free intersection connected by eight two-lane roads, which are denoted, respectively, by Roads 1 , 2 , , 8 . The intersection is divided into five mutually disjoint Resources a, b, c, d, and e. A vehicle coming from Road 3 and going to Road 7 needs to occupy in the order of Resource b and Resource a to complete the straight movement. A vehicle coming from Road 1 and going to Road 8 needs to occupy in the order of Resource a, Resource e, and Resource c to complete a left turn. A vehicle coming from Road 4 and going to Road 5 needs to occupy Resource d to complete a right turn, and so on in a similar fashion.
Within the intersection, the trajectory of a vehicle is determined by its source road (before the intersection) and its destination road (after the intersection). For example, a vehicle coming from Road 1 (source road) and going to Road 5 (destination road) must occupy in the order of Resources a and d to pass through the intersection. As shown in Table 1, the vehicles arriving at the intersection are classed into 12 different types according to their source roads (SRs) and their destination roads (DRs). Figure 6 visually shows all the vehicle types. For example, as shown in Figure 6a, the 1st type of vehicle is a going-straight vehicle that is coming from Road 1 and going to Road 5, the 3rd type of vehicle is a going-straight vehicle that is coming from Road 3 and going to Road 7, the 6th type of vehicle is a right-turn vehicle that is coming from Road 2 and going to Road 8, and the 12th type of vehicle is a left-turn vehicle that is coming from Road 4 and going to Road 6.
We next discuss how to model processes and resources in the traffic systems. We refer to the process of a vehicle of type i passing through the intersection as Process i. As shown in Figure 7a, Automaton P 1 is used to model the working status of Process 1. The 1st type of vehicle needs to occupy Resources a and d successively to pass through the intersection. Thus, in State 0, the vehicle should first apply for the usage of Resource a. Upon the occurrence of e a 1 , A 1 moves from State 0 to State 1. In State 1, if the vehicle receives an acknowledgement from the CRM, it drives into Resources a, and A 1 moves from State 1 to State 2. After that, the vehicle further sends the usage of Resource d to the CRM ( e a d 1 occurs in State 2). After receiving an acknowledgment, the vehicle drives into Resource d ( σ a d 1 occurs in State 3). When the vehicle leaves Resource d ( π d 1 occurs in State 4), it passes through the intersection. Similarly, we can construct P 2 , , P 12 .
Next, we show how to model Resources a. By Figure 6, Resource a can be occupied by the 1st type of vehicle (a vehicle coming from Road 1 and going to Road 5), the 3rd type of vehicle (a vehicle coming from Road 3 and going to Road 7), a 5th type of vehicle (a vehicle coming from Road 1 and going to Road 7), or the 10th type of vehicle (a vehicle coming from Road 2 and going to Road 7). Thus, in Figure 7b, σ a 1 , σ b a 3 , σ a 5 , and σ e a 10 are defined in State 0 of R a . When σ a 1 , σ b a 3 , σ a 5 , and σ e a 10 occurs in State 0, Resource 1 is occupied by a 1st, 3rd, 5th, and 10th type of vehicles, respectively, and Automaton R a moves from State 0 to State 1. When the 1st, 3rd, 5th, 9th, and 10th type of vehicles leave Resource a, upon the occurrences of σ a d 1 , π a 3 , π a 5 , σ a e 9 , and π a 10 , automaton R a returns to State 0 from States 1. Similarly, we can construct R 2 , , R 5 .
Suppose that there are n vehicles arriving at the intersection. Without loss of generality, let vehicle i be a vehicle of type m i , i = 1 , , n . Then, the dynamics of resource occupation of the traffic system can be obtained by G = ( Q , Σ , f , Γ , q 0 , Q m ) = P m 1 | | | | P m n | | R a | | | | R e . Note that the traffic system should be safe, i.e., all the vehicles in an intersection cannot collide. Since a resource can be occupied by one vehicle at a time, the safety of the system has been guaranteed by the system model G. To guide vehicles to leave the intersection efficiently, we define deadlock-free and the efficiency of the traffic system as follows.
  • Deadlock-Free: All the vehicles must not block each other so that each of them cannot accomplish the movement. Deadlock-freeness requires that vehicles in an intersection should not block other vehicles. There exists a deadlock in the traffic system if there exists a group of vehicles that block each other and cannot move in the intersection. For each deadlock, there exists a group of vehicles that want to drive into a resource already occupied by another vehicle in this group. For example, it is supposed that Resources a and e are occupied by left-turn vehicles v 1 (coming from Road 1) and v 2 (coming from Road 2), respectively. The intersection system is blocked since Vehicle v 1 is waiting for Vehicle v 2 to leave Resource e, and Vehicle v 2 is waiting for Vehicle v 1 to leave Resource a. When there exists a deadlock, there does not exist an event sequence from the current state to the marked state of G since some vehicles can never leave the intersection.
  • Efficiency: the total time for all the vehicles to accomplish their movements is minimal. That is, among all the sequences that start from the current state and end up at the marked state, efficiency requires us to select one with a minimal time cost. In other words, the more efficient the proposed approch is, the less time a vehicle should take for passing through the intersection. Correspondingly, the intersection can enjoy a larger throughout capacity, and the queue length of vehicles delayed at the intersection is smaller.
For a state q Q and an event sequence s Σ * , the required time for the execution of s from q, denoted by C ( q , s ) , needs to be calculated. For example, we consider a sequence s = σ 3 b 3 e a e 9 σ a e 9 e b a 3 e e c 9 σ b a 3 σ e c 9 that is defined at the current state q. By s, it is not hard to find that two vehicles are traveling in the intersection (a Type 3 vehicle from Road 3 to Road 7 and a Type 9 vehicle from Road 1 to Road 8). To calculate C ( q , s ) , as shown in Figure 8, we need to first translate s into a “calendar” according to the execution order of events in s. The calendar for the sequence s explicitly describes when each event in s should be executed, and how long the execution lasts. In Figure 8, each line exhibits the movement of a vehicle. The solid vertical bars and hollow rectangles represent uncontrollable events and controllable events, respectively. The continuous parts of each line indicate that the corresponding vehicle is traveling in the intersection. The broken parts of each line indicate that the vehicle has stopped and is waiting at the intersection. The dashed arrows indicate the execution order of the events, i.e., σ b a 3 is executed after e e c 9 . By Figure 8, the time cost for executing s is about 5 s.
The structure of the traffic management system is depicted in Figure 9. It is worth noting that in the traffic management system, we have Σ c = Σ f = { σ j i , σ k j i , π j i : i P , j , k R } , i.e., all the controllable events are enforceable, and vice versa. For each q Q and the prediction depth l N , the blue parts of Figure 9 compute all the feasible sequences in Ξ ( q , l ) . By definition, the state of G can be updated following the execution of an enforceable event or an uncontrollable event occurrence. When the state of G is updated, the red parts of Figure 9 return the solution of Problem 1 and execute its first event σ Σ f . The yellow parts of Figure 9 translate σ into appropriate input time-driven signals to the actuators of the vehicles. After the execution of σ , the state of the system is updated again, and we repeat the above process.
In this section, we adopt an Instant Services Measure (ISM) to implement the proposed approach. Specifically, the ISM immediately considers a vehicle once it arrives at the intersection. In other words, the calculated solution is optimal for all the vehicles arriving at the intersection.
Remark 1. 
Note that the system model must be refined upon each new vehicle arrival. Specifically, suppose that system G now is in state q Q , if a new vehicle of type i approaches the intersection, the system should first be updated to G ( q ) | | P i , where G ( q ) G (“⊑” denotes subgraph) is the accessible part of G from q. Then, an optimal control strategy is calculated using the proposed approach and the system model G ( q ) | | P i .

5. Simulation Results

Simulations are provided in this section to demonstrate the effectiveness of the proposed mathematical model and optimization algorithm. The simulations were run on a Windows 10.0 PC with a 3.8 GHz AMD CPU and 16 GB memory. All of the algorithms were implemented in the Python programming language. In this paper, the arrival of vehicles from each source road satisfies the Poisson distribution, where the parameter of the Poisson distribution λ is 0.1, 0.13, 0.17, and 0.2. Note that λ is also called the vehicle arrival rate (VAR). For example, when the VAR λ = 0.1 , the average time interval between two incoming vehicles is 10 s. On the other hand, it is 5 s when λ = 0.2 . The probability of going straight, turning left, or turning right for each vehicle arriving at the intersection is specified as a uniform distribution.

5.1. Queue Length under Different VARs

First, we test the effectiveness and efficiency of the proposed algorithm by changing the VARs. Figure 10 visualizes the volume of traffic density in terms of the quantity of vehicles arriving at the intersection every 50 seconds. It is observed that a higher λ leads to a higher traffic density. For example, in the second 50 s, there are 11, 12, 18, and 19 vehicles entering the intersection when the arrival rates λ are set as 0.1, 0.13, 0.17, and 0.2, respectively. In Figure 11, the x-axis, y-axis, and z-axis denote, respectively, the simulation time, vehicle queue length, and VAR. As we can see from Figure 11, when λ = 0.1 and λ = 0.13 , all the vehicles can pass through the intersection freely, and the vehicle queue length is small. As λ increases to 0.17, a minor traffic jam occurs. However, the queue length will not diverge to an infinitely large number, and the intersection still works. When λ = 0.2 , a traffic jam occurs at the intersection due to the limitation of the spatial space.

5.2. Comparisons of Different Approaches under Different VARs

In the second simulation, we consider another two implementation measures of the proposed approach, which are denoted by the First-Come-First-Serve Measure (FCFSM) and the Period-Based Measure (PBM). In contrast to ISM, the FCFSM iteratively decides the passing order of vehicles by their earliest arrival times at an intersection. In other words, the earlier a vehicle arrives at the intersection, the higher priority it has going through the intersection. This principle is adopted in [42,43,44,45] for scheduling vehicles in an intersection. Different from the FIFOM and the ISM, the PBM first calculates an optimal passing order of a batch of vehicles coming in the current period, then followed by the next period, and so on. Before the first batch of vehicles leaves the intersection, the second batch of vehicles must wait at the intersection. We found that [33,34,35,37,38,51,52,53] optimize vehicle scheduling in a period-based principle.
All the measures are evaluated by two criteria: (i) traffic throughput (TT), i.e., the number of vehicles leaving the intersection per unit time, and (ii) traffic smoothness (TS), i.e., the average waiting time when vehicles arrive at and pass through the intersection. Table 2 illustrates the performance of the above two measures under different VARs λ . Particularly, in Table 2, “Mea” stands for “Measure”.
As we can see from Table 2, compared with the FCFSM, the ISM increases the TT by 47.45%, 40.85%, 36.50%, and 26.01%, and it decreases the TS by 35.37%, 24.13%, 20.34%, and 23.12%, when the VARs are taken as 0.10, 0.13, 0.17, and 0.20, respectively. The ISM outperforms the FCFSM because the ISM allows more than one vehicle to drive in the intersection as long as they do not collide with each other. However, FCFSM allows only one vehicle to pass through the intersection simultaneously, which leads to extra delay. Next, we compare the ISM with the PBM. As shown in Table 2, the ISM increases the TT by 13.48%, 6.95%, 18.35%, and 4.81%, and it decreases the TS by 16.03%, 6.23%, 13.04%, and 14.56% when the VARs are taken as 0.10, 0.13, 0.17, and 0.20, respectively. The ISM is more efficient than the PBM since the ISM considers all the vehicles approaching the intersection, whereas the PBM considers only vehicles approaching the intersection in one period. PBM leads to extra delay in the sense that all the vehicles approaching the intersection have to wait at the intersection until the current batch of vehicles finish their journey in the intersection.

5.3. Performance of Different Approaches under Changing VARs

In the above simulations, the performance of the proposed approach is tested under four constant VARs λ . In practice, however, λ cannot be a constant. In other words, the value of λ can change during the simulation. In the third simulation, we use a Markov model to describe the changing conditions of the VAR λ . As depicted in Figure 12, there are two states in the Markov model M. When M is in State 0, the VAR is λ 1 ; and when M is in State 1, the VAR is λ 2 . The state of the Markov model can be updated in each step of the simulation. More specifically, in each step of the simulation, if M is in State 0, then the system may make a state transition to State 1 with a probability of p 2 and make no state transition (still in State 0) with a probability of p 1 . If M is in State 1, the system may make a state transition to State 0 with a probability of p 4 and make no state transition (still in State 1) with a probability of p 3 . Considering that the VAR cannot be changed in a short space of time, we set p 1 = 0.9 , p 2 = 0.1 , p 3 = 0.9 , and p 4 = 0.1 . We consider four different combinations of λ 1 and λ 2 in this experiment, as shown in Table 3.
Figure 13 shows the changing VARs when we take different combinations of λ 1 and λ 2 . We take Case 4 ( λ 1 = 0.17 and λ 2 = 0.2 ) as an example. In the first 15 s, it has a VAR of 0.2, and M is in State 0. Then, the Markov model M moves to State 1, and the VAR is changed to 0.17. Next, after approximately 8 s, M returns to State 0, and the VAR is again set to 0.2. Figure 14 shows the queue length of vehicles under different cases. Similar to the first simulation, if Case 1 occurs, i.e., λ 1 = 0.1 λ 2 = 0.13 , or Case 2 occurs, i.e., λ 1 = 0.13 λ 2 = 0.15 , all the vehicles can pass through the intersection freely. If Case 3 occurs, i.e., λ 1 = 0.15 λ 2 = 0.17 , a small traffic jam occurs at the intersection. If Case 4 occurs, i.e., λ 1 = 0.17 λ 2 = 0.2 , a traffic jam occurs. The result reveals that our proposed algorithm is robust to the changing VARs. In Table 4, we compare the ISM with the FCFSM and the PBM under Cases 1, 2, 3, and 4. As shown in Table 4, compared with the FCFSM, the ISM increases the TT by 34.78%, 46.09%, 30.41%, and 39.26%, and it decreases the TS by 55.13%, 53.55%, 33.50%, and 29.05%, when we take cases 1, 2, 3, and 4, respectively. Furthermore, compared with the PBM, the ISM increases the TT by 13.14%, 14.72%, 15.57%, and 19.75%, and it decreases the TS by 43.25%, 37.39%, 23.66%, and 19.72% when we take Cases 1, 2, 3, and 4, respectively. The proposed ISM still outperforms the FCFSM and the PBM under changing VARs.

5.4. Performance of the ISM under Different Prediction Depths

As shown in Problem 1, an optimal control action can be calculated by looking ahead l steps from the current state and then finding a sequence having the minimun cost and executing the first component of this sequence. Intuitively, the deeper we search from the current state (taking a larger l), the better a solution returns. If we set l to be infinitely large, the returned solution would be the global optimum value. However, to save computing resources, we would like to take a small l. To balance the computing resources and computing results, we next test the performance of the proposed approach under different l. The performances are measured by the average queue length (AQL) and the number of leaving vehicles (NLV), i.e., the number of vehicles passing through the intersection. The results are shown in Table 5.
By Table 5, when the VAR is 0.10 , both the AQL and the NLV have no dramatic changes when l is taken as 1, 2, 3, and 4. That is because when the traffic flow is light, the “greedily optimal” solution approximates the “global optimal” solution. We can look one step from the current state to find an optimal control action to execute. However, when the VAR increases to 0.2, the AQL is 33.46 and the NLV is 104 if l = 1 , whereas for l = 4 , the AQL is 30.65 and the NLV is 112. Clearly, if the traffic flow is heavy, a larger l will return a better solution. In addition, the improvement of the performance is insignificant when we take l = 3 and l = 4 even if the VAR is 0.2. This implies that we can find a near-global-optimal control action by looking ahead only three steps at any instant, which can significantly reduce computing resource consumption.
A video containing the simulation results that can be accessed at all time has been shared on Onedrive (https://1drv.ms/v/s!Av-fOZK0QsIHhTlWwB4HjDlSk2Qd?e=pFw6Ko, accessed on 1 October 2022). In this video, a PID controller is used for longitudinal tracking, and a pure pursuit controller is used for lateral tracking. The execution frequency of the low-level vehicle control module is 40.0 Hz.

6. Discussion

The proposed mathematical model can be applied to other physical systems that involve resource sharing, such as robot scheduling in a warehouse [54,55].
To illustrate this, let us consider a simple warehouse environment depicted in Figure 15a, where two mobile robots named R1 and R2 are serving in the planner environment. The warehouse environment is portioned into eight disjoint cells, and each position is assigned a natural number of 1 , , 8 . We call such a cell as a position. We denote by P = { 1 , , 8 } the set of all the positions. For a given Position i P , we say Position j P is a successor of Position i, denoted by i j , if there is a route from Position i to Position j. Similarly, we say Position j P is a predecessor of Position i, denoted by j i , if there is a route from Position j to Position i. Let S u c ( i ) = { j P : i j } be the set of all the successors of Position i, and P r e ( i ) = { j P : j i } be the set of all the predecessors of Position i. For example, let us consider Position 2 in Figure 15a. Its predecessors are P r e ( 2 ) = { 1 , 3 } , and its successors are S u c ( 2 ) = { 1 , 3 } .
Each robot is associated with a task, which is characterized as a target position in the warehouse. A robot should move to the target position over a specific trace for completing the task. The “dynamics” of the robot are modeled as a process automaton. In the automaton, the system behaviors are abstracted to kinds of suitable-defined events, such as “a robot moves from Position i to Position j”. For example, we assume that Robot R1 needs to move to Position 5 via the position sequence of 1 2 3 5 to fulfill its task. The process automaton for Robot R1 is modeled as P 1 in Figure 15b, where e i j 1 means that Robot R1 sends a request to the CRM for moving from Position i to Position j, and σ i j 1 means that Robot R1 receives an acknowledgement and starts to move from Position i to Position j. Similarly, we can model Robot R2 that moves from Position 7 to Position 2 via a position sequence of 7 6 4 1 2 .
At the same time, the resource automaton R 2 for Position 2 is given in Figure 15c. By Figure 15a, Position 2 can be occupied by robots coming from Position i P r e ( 2 ) , and a robot that is in Position 2 can move to Position i S u c ( 2 ) . Thus, upon the occurrence of σ j 2 i , j P r e ( 2 ) , Position 2 is occupied by Robot i, and R 2 moves to State 1. When R 2 is in State 1, upon the occurrence of σ 2 j i , j S u c ( 2 ) , Position 2 becomes idle again, and R 2 returns to State 0. Similarly, we can model Positions 1 and 3 8 .
The overall system can be obtained by G = P 1 | | P 2 | | R 1 | | | | R 8 . By applying the proposed algorithm, we can always find an optimal sequence to guide Robots 1 and 2 to finish their tasks safely (without collision and deadlock) and efficiently (with the minimum time cost).

7. Conclusions

In this paper, we have proposed an automaton model for resource allocation optimization. This model is general in the sense that it can be applied to different types of resource allocation problems. With the proposed model, we have developed an optimal control mechanism that positively drives the system to a marked state in the most efficient way. That is, among all the deadlock-free sequences, we develop algorithms to select one having the minimum cost and then execute it by disabling and enforcing events. This is accomplished in two steps, the first of which computes all the legal states from which we can always arrive at a marked state, and the second step repeatedly enforces controllable events by looking ahead so that only legal states can be reached and the cumulative cost for executing these control decisions is minimized. As a case study, we have considered the vehicle scheduling problem in a signal-free intersection. The intersection is divided into several resources according to the crossing location of two different vehicles’ trajectories. The algorithm is sufficiently efficient to consider each arrived vehicle in real time. The simulation results demonstrated the effectiveness of the proposed model and algorithm.
One direction for future research is currently underway to validate the proposed approach through physical experiments. Another direction in which one can enhance the application scope of the proposed approach by accommodating partially observable events in the system model, as some events are often unobservable by nature. Furthermore, according to the practical applications, other notions of optimality could also be specified, and new algorithms for obtaining new type of the optimal controller may be developed.

Author Contributions

Conceptualization, Y.H. and W.L.; methodology, Y.H. and W.L.; software, Y.M.; validation, Y.Z., Y.J. and Q.L.; formal analysis, Y.H. and Y.M.; investigation, W.L.; resources, Y.J. and W.L.; data curation, Y.Z.; writing—original draft preparation, Y.H. and Y.M.; writing—review and editing, Y.H., Y.M. and W.L.; visualization, Y.Z. and Y.J.; supervision, Q.L. and W.L.; project administration, Q.L. and W.L.; funding acquisition, Q.L. and W.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by National Natural Science Foundation of China under Grant 92048205 and the Pujiang Talents Plan of Shanghai under Grant 2019PJD035.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Simatic, M. Operating System Concepts; Addison-Wesley Pub. Co.: Boston, MA, USA, 2005. [Google Scholar]
  2. Wang, N.; Wang, C.; Niu, Y.; Yang, M.; Yu, Y. A Two-Stage Charging Facilities Planning Method for Electric Vehicle Sharing Systems. IEEE Trans. Ind. Appl. 2021, 57, 149–157. [Google Scholar] [CrossRef]
  3. Nguyen, S.; Thiruvady, D.; Zhang, M.; Alahakoon, D. Automated Design of Multipass Heuristics for Resource-Constrained Job Scheduling With Self-Competitive Genetic Programming. IEEE Trans. Cybern. 2022, 52, 8603–8616. [Google Scholar] [CrossRef]
  4. Di Febbraro, A.; Giglio, D.; Sacco, N. A deterministic and stochastic Petri net model for traffic-responsive signaling control in urban areas. IEEE Trans. Intell. Transp. Syst. 2016, 17, 510–524. [Google Scholar] [CrossRef]
  5. Lin, Y.; Hsu, H.; Lin, S.; Lin, C.; Jiang, I.H.; Liu, C. Graph-based modeling, scheduling, and verification for intersection management of intelligent vehicles. ACM Trans. Embed. Comput. Syst. (TECS) 2019, 18, 1–21. [Google Scholar] [CrossRef]
  6. Steere, D.; Shor, M.; Goel, A.; Walpole, J.; Pu, C. Control and modeling issues in computer operating systems: Resource management for real-rate computer applications. In Proceedings of the 39th IEEE Conference on Decision and Control (CDC), Sydney, Australia, 12–15 December 2000; Volume 3, pp. 2212–2221. [Google Scholar]
  7. Huang, G.; Gong, W.; Zhang, B.; Li, C.; Li, C. An Online Buffer-Aware Resource Allocation Algorithm for Multiuser Mobile Video Streaming. IEEE Trans. Veh. Technol. 2020, 69, 3357–3369. [Google Scholar] [CrossRef]
  8. Dijkstra, E.W. Cooperating Sequential Processes; Springer: New York, NY, USA, 1968. [Google Scholar]
  9. Habermann, A. Prevention of system deadlocks. Comm. ACM 1969, 12, 373–377. [Google Scholar] [CrossRef]
  10. Havender, J.W. Avoiding deadlock in multitasking systems. IBM Syst. J. 1968, 7, 74–84. [Google Scholar] [CrossRef]
  11. Holt, R.C. Some Deadlock Properties of Computer Systems. ACM Comput. Surv. 1972, 4, 179–196. [Google Scholar] [CrossRef]
  12. Ibrahim, M.; Reveliotis, S.; Nazeem, A. Maximal Linear Deadlock Avoidance Policies for Sequential Resource Allocation Systems: Characterization, Computation, and Approximation. IEEE Trans. Autom. Control 2021, 66, 3906–3921. [Google Scholar] [CrossRef]
  13. Park, J.; Reveliotis, S. Algebraic synthesis of efficient deadlock avoidance policies for sequential resource allocation systems. IEEE Trans. Robot. Autom. 2000, 16, 190–195. [Google Scholar] [CrossRef]
  14. Reveliotis, S.; Fei, Z. Robust Deadlock Avoidance for Sequential Resource Allocation Systems With Resource Outages. IEEE Trans. Autom. Sci. Eng. 2017, 14, 1695–1711. [Google Scholar] [CrossRef]
  15. Tajer, A.; Zohdy, M.; Alnajjar, K. Resource Allocation Under Sequential Resource Access. IEEE Trans. Commun. 2018, 66, 5608–5620. [Google Scholar] [CrossRef]
  16. Reveliotis, S.; Ferreira, P. Deadlock avoidance policies for automated manufacturing cells. IEEE Trans. Robot. Autom. 1996, 12, 845–857. [Google Scholar] [CrossRef] [Green Version]
  17. Li, N.; Wang, Z.; Pei, Z. Sequential Resource Planning Decisions in an Epidemic Based on an Innovative Spread Model. IEEE Trans. Autom. Sci. Eng. 2022, 19, 677–691. [Google Scholar] [CrossRef]
  18. Qi, N.; Huang, Z.; Zhou, F.; Shi, Q.; Wu, Q.; Xiao, M. A Task-driven Sequential Overlapping Coalition Formation Game for Resource Allocation in Heterogeneous UAV Networks. IEEE Trans. Mob. Comput. 2022. [Google Scholar] [CrossRef]
  19. Theunissen, R.; Petreczky, M.; Schiffelers, R.; Beek, D.V. Application of Supervisory Control Synthesis to a Patient Support Table of a Magnetic Resonance Imaging Scanner. IEEE Trans. Autom. Sci. Eng. 2014, 11, 20–32. [Google Scholar] [CrossRef]
  20. Zhao, B.; Lin, F.; Wang, C.; Zhang, X.; Polis, M.P.; Wang, L.Y. Supervisory Control of Networked Timed Discrete Event Systems and Its Applications to Power Distribution Networks. IEEE Trans. Control Netw. Syst. 2017, 4, 146–158. [Google Scholar] [CrossRef]
  21. Grichi, H.; Mosbahi, O.; Khalgui, M.; Li, Z. An Extended Object Constraint Language for Adaptive Discrete Event Systems With Application to Reconfigurable Wireless Sensor Networks. IEEE Trans. Syst. Man Cybern. Syst. 2020, 50, 3562–3576. [Google Scholar] [CrossRef]
  22. Vieira, A.D.; Santos, E.A.P.; de Queiroz, M.H.; Leal, A.B.; de Paula Neto, A.D.; Cury, J.E.R. A Method for PLC Implementation of Supervisory Control of Discrete Event Systems. IEEE Trans. Control Syst. Technol. 2017, 25, 175–191. [Google Scholar] [CrossRef]
  23. Ramadge, P.J.; Wonham, W.M. Supervisory Control of a Class of Discrete Event Processes. SIAM J. Control Optim. 1987, 25, 206–230. [Google Scholar] [CrossRef]
  24. Lin, F.; Wonham, W.M. On observability of discrete-event systems. Inf. Sci. 1988, 44, 173–198. [Google Scholar] [CrossRef]
  25. Heymann, M.; Lin, F. On-line control of partially observed discrete event systems. Discret. Event Dyn. Syst. Theory Appl. 1994, 4, 221–236. [Google Scholar] [CrossRef]
  26. Hadjalouane, N.B.; Lafortune, S.; Lin, F. Centralized and distributed algorithms for on-line synthesis of maximal control policies under partial observation. Discret. Event Dyn. Syst. Theory Appl. 1996, 6, 379–427. [Google Scholar] [CrossRef] [Green Version]
  27. Takai, S.; Ushio, T. Effective computation of an Lm(G)-closed, controllable, and observable sublanguage arising in supervisory control. Syst. Control Lett. 2002, 49, 191–200. [Google Scholar] [CrossRef]
  28. Cai, K.; Zhang, R.; Wonham, W.M. Relative Observability of Discrete-Event Systems and Its Supremal Sublanguages. IEEE Trans. Autom. Control 2015, 60, 659–670. [Google Scholar] [CrossRef] [Green Version]
  29. Yin, X.; Lafortune, S. Synthesis of Maximally Permissive Supervisors for Partially-Observed Discrete-Event Systems. IEEE Trans. Autom. Control 2016, 61, 1239–1254. [Google Scholar] [CrossRef]
  30. Alves, M.V.S.; Carvalho, L.K.; Basilio, J.C. New Algorithms for Verification of Relative Observability and Computation of Supremal Relatively Observable Sublanguage. IEEE Trans. Autom. Control 2017, 62, 5902–5908. [Google Scholar] [CrossRef]
  31. Hou, Y.; Wang, W.; Zang, Y.; Lin, F.; Yu, M.; Gong, C. Relative Network Observability and Its Relation With Network Observability. IEEE Trans. Autom. Control 2020, 65, 3584–3591. [Google Scholar] [CrossRef]
  32. Ji, Y.; Yin, X.; Lafortune, S. Local Mean Payoff Supervisory Control for Discrete Event Systems. IEEE Trans. Autom. Control 2021. [Google Scholar] [CrossRef]
  33. Zhao, X.; Wang, J.; Chen, Y.; Yin, G. Multi-objective Cooperative Scheduling of CAVs at Non-Signalized Intersection. In Proceedings of the 2018 21st International Conference on Intelligent Transportation Systems (ITSC), Maui, HI, USA, 4–7 November 2018; pp. 3314–3319. [Google Scholar]
  34. Levin, M.W.; Rey, D. Conflict-point formulation of intersection control for autonomous vehicles. Transp. Res. Part Emerg. Technol. 2017, 85, 528–547. [Google Scholar] [CrossRef]
  35. Mirheli, A.; Hajibabai, L.; Hajbabaie, A. Development of a signal-head-free intersection control logic in a fully connected and autonomous vehicle environment. Transp. Res. Part Emerg. Technol. 2018, 92, 412–425. [Google Scholar] [CrossRef]
  36. Bichiou, Y.; Rakha, H.A. Developing an Optimal Intersection Control System for Automated Connected Vehicles. IEEE Trans. Intell. Transp. Syst. 2019, 20, 1908–1916. [Google Scholar] [CrossRef]
  37. Kamal, M.A.S.; Imura, J.i.; Hayakawa, T.; Ohata, A.; Aihara, K. A Vehicle-Intersection Coordination Scheme for Smooth Flows of Traffic Without Using Traffic Lights. IEEE Trans. Intell. Transp. Syst. 2015, 16, 1136–1147. [Google Scholar] [CrossRef]
  38. Liu, C.; Lin, C.W.; Shiraishi, S.; Tomizuka, M. Distributed Conflict Resolution for Connected Autonomous Vehicles. IEEE Trans. Intell. Veh. 2018, 3, 18–29. [Google Scholar] [CrossRef]
  39. Pandit, K.; Ghosal, D.; Zhang, H.M.; Chuah, C.N. Adaptive traffic signal control with vehicular ad hoc networks. IEEE Trans. Veh. Technol. 2013, 62, 1459–1471. [Google Scholar] [CrossRef] [Green Version]
  40. Huang, Y.; Weng, Y.; Zhou, M. Modular design of urban traffic-light control systems based on synchronized timed Petri nets. IEEE Trans. Intell. Transp. Syst. 2013, 15, 530–539. [Google Scholar] [CrossRef]
  41. Wang, J.; Yan, J.; Li, L. Microscopic Modeling of a Signalized Traffic Intersection Using Timed Petri Nets. IEEE Trans. Intell. Transp. Syst. 2016, 17, 305–312. [Google Scholar] [CrossRef]
  42. Carlino, D.; Boyles, S.D.; Stone, P. Auction-based autonomous intersection management. In Proceedings of the 16th International IEEE Conference on Intelligent Transportation Systems (ITSC 2013), Hague, The Netherlands, 6–9 October 2013; pp. 529–534. [Google Scholar]
  43. Bashiri, M.; Fleming, C.H. A platoon-based intersection management system for autonomous vehicles. In Proceedings of the 2017 IEEE Intelligent Vehicles Symposium (IV), Los Angeles, CA, USA, 11–14 June 2017; pp. 667–672. [Google Scholar]
  44. Du, Z.; Homchaudhuri, B.; Pisu, P. Hierarchical distributed coordination strategy of connected and automated vehicles at multiple intersections. J. Intell. Transp. Syst. 2018, 22, 144–158. [Google Scholar] [CrossRef]
  45. Ahmane, M.; Abbas-Turki, A.; Perronnef, F.; Jia, W.; Moudni, A.E.; Buisson, J.; Zeo, R. Modeling and controlling an isolated urban intersection based on cooperative vehicles. Transp. Res. Part Emerg. Technol. 2013, 28, 44–62. [Google Scholar] [CrossRef] [Green Version]
  46. Li, B.; Zhang, Y.; Zhang, Y.; Jia, N.; Ge, Y. Near-Optimal Online Motion Planning of Connected and Automated Vehicles at a Signal-Free and Lane-Free Intersection. In Proceedings of the 2018 IEEE Intelligent Vehicles Symposium (IV), Suzhou, China, 26–30 June 2018; pp. 1432–1437. [Google Scholar]
  47. Li, B.; Zhang, Y. Fault-Tolerant Cooperative Motion Planning of Connected and Automated Vehicles at a Signal-Free and Lane-Free Intersection. IFAC PapersOnLine 2018, 51, 60–67. [Google Scholar] [CrossRef]
  48. Li, B.; Zhang, Y.; Acarman, T.; Ouyang, Y.; Yaman, C.; Wang, Y. Lane-free Autonomous Intersection Management: A Batch-processing Framework Integrating Reservation-based and Planning-based Methods. In Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA), Philadelphia, PA, USA, 23–27 May 2021; pp. 7915–7921. [Google Scholar]
  49. Zohdy, I.H.; Rakha, H.A. Game theory algorithm for intersection-based cooperative adaptive cruise control (CACC) systems. In Proceedings of the 2012 15th International IEEE Conference on Intelligent Transportation Systems, Anchorage, AK, USA, 16–19 September 2012; pp. 1097–1102. [Google Scholar]
  50. Wuthishuwong, C.; Traechtler, A.; Bruns, T. Safe trajectory planning for autonomous intersection management by using vehicle to infrastructure communication. EURASIP J. Wirel. Commun. Netw. 2015, 2015, 33. [Google Scholar] [CrossRef] [Green Version]
  51. Zohdy, I.H.; Rakha, H.A. Intersection management via vehicle connectivity: The intersection cooperative adaptive cruise control system concept. J. Intell. Transp. Syst. 2016, 20, 17–32. [Google Scholar] [CrossRef]
  52. Fayazi, S.A.; Vahidi, A.; Luckow, A. Optimal scheduling of autonomous vehicle arrivals at intelligent intersections via MILP. In Proceedings of the American Control Conference, Seattle, WA, USA, 24–26 May 2017; pp. 4920–4925. [Google Scholar]
  53. Cassandras, C.G.; Lafortune, S. Introduction to Discrete Event Systems, 2nd ed.; Springer: New York, NY, USA, 2007. [Google Scholar]
  54. Tatsumoto, Y.; Shiraishi, M.; Cai, K.; Lin, Z. Application of online supervisory control of discrete-event systems to multi-robot warehouse automation. Control Eng. Pract. 2018, 81, 97–104. [Google Scholar] [CrossRef]
  55. Deplano, D.; Franceschelli, M.; Ware, S.; Su, R.; Giua, A. A discrete event formulation for multi-robot collision avoidance on pre-planned trajectories. IEEE Access 2020, 8, 92637–92646. [Google Scholar] [CrossRef]
Figure 1. Automata P i and R j ; (a) Automaton P i for Process i; (b) Automaton R j for Resource j.
Figure 1. Automata P i and R j ; (a) Automaton P i for Process i; (b) Automaton R j for Resource j.
Mathematics 10 04183 g001
Figure 2. Two robots sharing one resource.
Figure 2. Two robots sharing one resource.
Mathematics 10 04183 g002
Figure 3. Automata P 1 , P 2 , R 1 , and G; (a) Automaton P 1 for Robot 1; (b) Automaton P 2 for Robot 2; (c) Automaton R 1 for Resource 1; (d) System model G.
Figure 3. Automata P 1 , P 2 , R 1 , and G; (a) Automaton P 1 for Robot 1; (b) Automaton P 2 for Robot 2; (c) Automaton R 1 for Resource 1; (d) System model G.
Mathematics 10 04183 g003
Figure 4. The implementation process of the proposed algorithm.
Figure 4. The implementation process of the proposed algorithm.
Mathematics 10 04183 g004
Figure 5. An unsignalized intersection.
Figure 5. An unsignalized intersection.
Mathematics 10 04183 g005
Figure 6. Different vehicle types; (a) Vehicle types of 1, 3, 6, and 12; (b) Vehicle types of 2, 4, 5, and 11; (c) Vehicle types of 7, 8, 9, and 10.
Figure 6. Different vehicle types; (a) Vehicle types of 1, 3, 6, and 12; (b) Vehicle types of 2, 4, 5, and 11; (c) Vehicle types of 7, 8, 9, and 10.
Mathematics 10 04183 g006
Figure 7. Automata P 1 and R a ; (a) Automaton P 1 for Process 1; (b) Automaton R a for Resource a.
Figure 7. Automata P 1 and R a ; (a) Automaton P 1 for Process 1; (b) Automaton R a for Resource a.
Mathematics 10 04183 g007
Figure 8. Calendar: the process of two vehicles passing through an intersection.
Figure 8. Calendar: the process of two vehicles passing through an intersection.
Mathematics 10 04183 g008
Figure 9. The structure of the traffic management system.
Figure 9. The structure of the traffic management system.
Mathematics 10 04183 g009
Figure 10. Number of vehicles arriving at the intersection every 50 s when the VARs are 0.1, 0.13, 0.17, and 0.2.
Figure 10. Number of vehicles arriving at the intersection every 50 s when the VARs are 0.1, 0.13, 0.17, and 0.2.
Mathematics 10 04183 g010
Figure 11. Numbers of vehicles queued at the intersection (queue lengths) when the VARs are 0.1, 0.13, 0.17, and 0.2.
Figure 11. Numbers of vehicles queued at the intersection (queue lengths) when the VARs are 0.1, 0.13, 0.17, and 0.2.
Mathematics 10 04183 g011
Figure 12. The Markov structure M for modeling the changing VARs.
Figure 12. The Markov structure M for modeling the changing VARs.
Mathematics 10 04183 g012
Figure 13. The changing arrival rates for different combinations of λ 1 and λ 2 .
Figure 13. The changing arrival rates for different combinations of λ 1 and λ 2 .
Mathematics 10 04183 g013
Figure 14. Number of vehicles queued at the intersection (queue lengths) with different combinations of λ 1 and λ 2 .
Figure 14. Number of vehicles queued at the intersection (queue lengths) with different combinations of λ 1 and λ 2 .
Mathematics 10 04183 g014
Figure 15. Modeling for warehouse; (a) A warehouse; (b) Process P 1 for Robot 1; (c) Resource R 2 for Position 2.
Figure 15. Modeling for warehouse; (a) A warehouse; (b) Process P 1 for Robot 1; (c) Resource R 2 for Position 2.
Mathematics 10 04183 g015
Table 1. Types of vehicles.
Table 1. Types of vehicles.
TypeSRDRTypeSRDRTypeSRDRTypeSRDR
1R1R54R4R87R3R610R2R7
2R2R65R1R78R4R511R3R5
3R3R76R2R89R1R812R4R6
Table 2. Comparision of FCFSM, PBM, and ISM under different VARs.
Table 2. Comparision of FCFSM, PBM, and ISM under different VARs.
MeaVARTT (unit/s)TS (s)MeaVARTT (unit/s)TS (s)MeaVARTT (unit/s)TS (s)
FCFSM0.101.3742.29PBM0.101.7832.25ISM0.102.0227.33
0.131.4240.860.131.8733.060.132.0031.00
0.171.3741.940.171.5838.420.171.8733.41
0.201.7345.190.202.0840.660.202.1834.74
Table 3. Combinations of the VARs λ 1 and λ 2 .
Table 3. Combinations of the VARs λ 1 and λ 2 .
Case λ 1 λ 2 Case λ 1 λ 2 Case λ 1 λ 2 Case λ 1 λ 2
10.100.1320.130.1530.150.1740.170.20
Table 4. Comparision of FCFSM, PBM, and ISM under different cases.
Table 4. Comparision of FCFSM, PBM, and ISM under different cases.
MeaCaseTT (unit/s)TS (s)MeaCaseTT (unit/s)TS (s)MeaCaseTT (unit/s)TS (s)
FCFSM11.1538.24PBM11.3730.24ISM11.5517.16
21.2841.0321.6330.4421.8719.06
31.4837.5531.6732.7131.9324.97
41.3541.1441.5736.3641.8829.19
Table 5. Performance of ISM under different search depths.
Table 5. Performance of ISM under different search depths.
DepthVARAQL (unit)NLV (unit)DepthVARAQL (unit)NLV (unit)
10.103.4596.0030.103.4296.00
0.1311.1897.000.138.78104.00
0.1719.38106.000.1714.99117.00
0.2033.46104.000.2030.65112.00
20.103.4296.0040.103.4296.00
0.139.05104.000.138.72106.00
0.1717.25113.000.1714.93118.00
0.2031.92111.000.2030.65112.00
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Hou, Y.; Mao, Y.; Zhang, Y.; Li, Q.; Ji, Y.; Li, W. A Discrete-Event Mathematical Model for Resource Allocation Optimization: A Case Study of Vehicle Scheduling in a Signal-Free Intersection. Mathematics 2022, 10, 4183. https://0-doi-org.brum.beds.ac.uk/10.3390/math10224183

AMA Style

Hou Y, Mao Y, Zhang Y, Li Q, Ji Y, Li W. A Discrete-Event Mathematical Model for Resource Allocation Optimization: A Case Study of Vehicle Scheduling in a Signal-Free Intersection. Mathematics. 2022; 10(22):4183. https://0-doi-org.brum.beds.ac.uk/10.3390/math10224183

Chicago/Turabian Style

Hou, Yunfeng, Yue Mao, Yanmei Zhang, Qingdu Li, Yunfeng Ji, and Wei Li. 2022. "A Discrete-Event Mathematical Model for Resource Allocation Optimization: A Case Study of Vehicle Scheduling in a Signal-Free Intersection" Mathematics 10, no. 22: 4183. https://0-doi-org.brum.beds.ac.uk/10.3390/math10224183

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop