Next Article in Journal
Feudalistic Platooning: Subdivide Platoons, Unite Networks, and Conquer Efficiency and Reliability
Next Article in Special Issue
Toward Collaborative Intelligence in IoV Systems: Recent Advances and Open Issues
Previous Article in Journal
Road Traffic Forecast Based on Meteorological Information through Deep Learning Methods
Previous Article in Special Issue
Domain Knowledge-Based Evolutionary Reinforcement Learning for Sensor Placement
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Dynamic Task Scheduling Method for Multiple UAVs Based on Contract Net Protocol

1
Undergraduate School, National University of Defense Technology, Changsha 410073, China
2
School of Traffic and Transportation Engineering, Central South University, Changsha 410075, China
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(12), 4486; https://doi.org/10.3390/s22124486
Submission received: 4 May 2022 / Revised: 29 May 2022 / Accepted: 3 June 2022 / Published: 14 June 2022
(This article belongs to the Special Issue Parallel and Distributed Computing in Wireless Sensor Networks)

Abstract

:
Unmanned aerial vehicles are becoming promising platforms for disaster relief, such as providing emergency communication services in wireless sensor networks, delivering some living supplies, and mapping for disaster recovery. Dynamic task scheduling plays a very critical role in coping with emergent tasks. To solve the multi-UAV dynamic task scheduling, this paper constructs a multi-constraint mathematical model for multi-UAV dynamic task scheduling, involving task demands and platform capabilities. Three objectives are considered, which are to maximize the total profit of scheduled tasks, to minimize the time consumption, and to balance the number of scheduled tasks for multiple UAVs. The multi-objective problem is converted into single-objective optimization via the weighted sum method. Then, a novel dynamic task scheduling method based on a hybrid contract net protocol is proposed, including a buy-sell contract, swap contract, and replacement contract. Finally, extensive simulations are conducted under three scenarios with emergency tasks, pop-up obstacles, and platform failure to verify the superiority of the proposed method.

1. Introduction

Sudden catastrophic events, such as earthquakes, floods, terrorist attacks, etc., are always random, dynamic, destructive, and emergent. Unmanned aerial vehicles (UAVs) are flexible, low-cost, and high-efficient and can be applicable to emergency disaster relief [1,2,3,4,5,6]. In the pre-disaster stage, sensors installed on UAVs can predict the disaster’s time, geographical location, and magnitude by cooperating with current wireless sensor networks [7]. This will efficiently contribute to decreasing injury and death, material and property loss. During disasters, the base stations are usually seriously destroyed, which makes it difficult for rescuers to assist survivors efficiently. Equipped with many advanced sensors, UAVs become promising data mules for sensor network data collection, which can efficiently fly to disaster areas, hover overhand, and collect and transmit real-time information without the influence of road obstacles [8,9]. Besides, in search and rescue scenarios, intelligent sensors installed on UAVs, such as Infra-red cameras and synthetic patrol radar, can quickly discover the survivors and give the accurate positions for safer and quicker rescue. UAVs are also used to draw a detailed map of the post-disaster environment [10] in cooperation with ground devices, which facilitates disaster recovery. As shown in Figure 1, DJI drones were applied to draw a three-dimensional map of a destroyed village for disaster recovery in the 2015 Nepal earthquake.
However, there are still many challenges for multi-UAV emergency scheduling, which are as follows: (1) heterogeneous UAVs are required to complete multiple tasks, such as communication, supply delivery, mapping, and monitoring, because emergencies are often diverse and unpredicted; (2) Multiple UAVs should cooperate with each other to complete the complicated tasks; (3) Dynamic scheduling should be real-time to guarantee the successful accomplishment of tasks; (4) Energy efficiency should be taken into consideration, such as energy consumption of sensors in UAV-enabled wireless sensor networks [11,12] or fuel consumption of UAVs during the flight. Note that in this paper, we generate the short paths in two-dimensional scenarios by the APPATT [13] to reduce fuel consumption. Thus, we focus on how to reallocate tasks to multiple UAVs in real-time when confronting some emergencies.
Multi-UAV dynamic scheduling problem has been proven to be NP-hard and thus obtaining a globally optimal solution is computationally expensive [14]. Until now, many researchers around the world have put efforts into multi-UAV dynamic scheduling. Early research employed centralized methods to generate a scheme by a central server capable of gathering and spreading the whole information [15]. Nevertheless, centralized methods may place a heavy communication burden on the central server which is vulnerable to a single point of failure [16,17].
Therefore, distributed methods are often used to solve multi-UAV dynamic scheduling [18] and show excellent performance in computation and communication. Generally, among distributed algorithms, market-mechanism-based algorithms are prevailing involving auction-based algorithms and contract net protocol. Auction-based algorithms [19] are applied to generate near-optimal solutions for the task scheduling problem where one task just can be completed by one platform. However, the information of each UAV must be transmitted to the auctioneer in some way, which is time-consuming and leads to the limited network topology [20]. To cope with the issue, Choi et al. [21] proposed consensus-based decentralized auctions (CBBA) which delete the auctioneer and are distributed in each UAV, which has attracted a lot of research interest. The method includes two phases: one is the bundle-construction phase where each agent creates just a single bundle and updates it as the assignment process progresses; the other is the conflict resolution phase where agents bid on a single task and release it upon receiving a higher value in the winning bids list [22,23,24]. The two phases are in an iterative manner until the defined stopping criteria are satisfied.
Another successful market-based distributed algorithm is contract net protocol (CNP) which was proposed by Smith [25] in 1980. Agents can allocate tasks based on the market bidding mechanism (inviting tendering—bidding—winning), so that the whole multi-agent system can complete tasks with low cost and high quality [26]. Contract net protocol was employed in manufacturing systems. Sousa and Ramos [27] proposed a negotiation protocol based on CNP for job scheduling in a manufacturing system. Owliya et al. [28] presented a CNP with specific rules for job scheduling and task allocation in manufacturing applications. Vancza et al. [29] and Baker [30] applied CNP for job-shop scheduling and demonstrated its effectiveness in a natural job-shop environment.
In addition, the CNP also has been adopted in dynamic task scheduling due to its simplicity and intuitiveness. Liang et al. [31] developed an improved contract net protocol (ICNP) that incorporated multi-agent systems, which can realize dynamic task scheduling when the environment is changeable. Hong et al. [32] designed the extended contract net protocol to enhance the time efficiency and solution quality. To solve the coordinated task scheduling between manned aircrafts and UAVs, Liu et al. [33] proposed a modified contract net protocol, which can realize real-time scheduling and satisfy the requirements. In contrast, Fan et al. [34] addressed multi-UAV heterogeneous task scheduling by ICNP incorporated multi-agent systems which verified its effectiveness by extensive experiments.
Currently, many achievements have been gained in dynamic task scheduling for UAVs, which can provide theoretical and technical support for military and civil usages [35,36,37]. Nevertheless, little existing research has focused on large-scale dynamic scheduling for multiple UAVs. Hence, to solve the issue, the paper constructs a multi-constraint mathematical model for multi-UAV dynamic task scheduling, whose objectives are to maximize the total profit of scheduled tasks, to minimize the consuming time and to balance the number of scheduled tasks for multiple UAVs. A hybrid contract net protocol for dynamic task scheduling is proposed, including a buy-sell contract, swap contract, and replacement contract.
The significant contributions of this work are summarized as follows.
(1)
We construct a multi-objective optimization model for multi-UAV dynamic scheduling. Three objectives are to maximize the total profit of scheduled tasks, to minimize the time consumption and to balance the number of scheduled tasks for multiple UAVs.
(2)
We propose a hybrid contract net protocol involving a buy-sell contract, swap contract, and replacement contract to solve dynamic scheduling when encountering various emergencies.
(3)
We conduct numerous simulations under three typical scenarios with emergency tasks, pop-up obstacles, and platform failure, to verify the effectiveness of the proposed algorithm. The simulation results demonstrate that the proposed algorithm can respond to dynamic elements and generate feasible re-scheduling schemes within milliseconds for all designed instances.
This paper is organized as follows. Section 2 constructs the mathematical formulation for multi-UAV dynamic scheduling. Section 3 proposes the hybrid contract net protocol method for multi-UAV dynamic scheduling. The effectiveness of the proposed method is then demonstrated through several simulated scenarios in Section 4. Finally, Section 5 concludes this paper.

2. Multi-UAV Dynamic Scheduling Model

To clearly state the multi-UAV task scheduling problem, several assumptions are made as follows.
(1)
Tasks with high rewards will be scheduled firstly when the number of UAVs is limited.
(2)
Bidders can evaluate their capabilities to complete tasks.
(3)
Tenderees and bidders are all honest and can transmit accurate information to each other.
(4)
The bid cannot be changed and canceled during the negotiation process.
(5)
The communication is reliable and cannot fail, such as information loss during the negotiation process.
(6)
We do not consider path re-planning when pop-up obstacles exist and the speed of UAVs is constant during the flight.
The notations used in the description of the multi-UAV task scheduling problem are summarized in Table 1. Denote V, Task and Barrier as the set of UAVs, tasks, and obstacles, respectively. rewardi is the predefined reward of task i. Then, E r s t T i m e i and L a s t T i m e i are the allowable earliest start time and latest end time of task i, respectively. t i j is the travel time from the task i to the task j and s i is the service time of the task i. The platform constraints involved in the model are flying range, energy capacity and memory capacity, which are denoted as M a x L h , M a x E h and M a x N h (h: UAV index), respectively.
One decision variable denotes whether the UAV h flies from the task i to the task j, which is defined by a binary variable x i , j h . If the UAV h flies from the task i to the task j, we have x i , j h = 1 ; otherwise, x i , j h = 0 . The multi-UAV task scheduling model can be formulated as follows.

2.1. Constraints

(1)
Constraint 1: each task can only be completed at most one time.
i = 1 N M + 1 h = 1 N V x i , j h 1 ( j [ 1 , N M ]   and   j Z , i j ) .
(2)
Constraint 2: each UAV must fly to the next task after completing the current task, except for the final task.
j = 1 N M h = 1 N V x i , j h 1 ( i [ 1 , N M ]   and   j Z , i j ) .
(3)
Constraint 3: the order of two tasks is unique.
h = 1 N V ( x i , j h + x j , i h ) 1 , i , j [ 1 , N M ]   and   i j .
(4)
Constraint 4: t s t a r t j is the start time of task j. t l e a v e j is the departure time of task j. t w a i t j is the waiting time of task j. If the former task of task j is task i, time window constraint of task j is as follows.
t s t a r t j = t l e a v e i + t i j + t w a i t j t l e a v e j = t s t a r t j + s j t s t a r t j E r s t T i m e j t l e a v e j L a s t T i m e j
(5)
Constraint 5: L ( p r o j e c t h ) is the flight distance of UAV Vh to accomplish tasks.
L ( p r o j e c t h ) M a x L h ( h = 1 , 2 , , N V ) .
(6)
Constraint 6: N u m _ T a s k s ( p r o j e c t h ) is the number of scheduled tasks for UAV Vh.
N u m _ T a s k s ( p r o j e c t h ) M a x N h ( h = 1 , 2 , , N V ) .
(7)
Constraint 7: D u r a t i o n ( p r o j e c t h ) is the duration time of scheduled tasks for UAV Vh.
D u r a t i o n ( p r o j e c t h ) M a x E h ( h = 1 , 2 , , N V ) .

2.2. Objectives

During the auction progress, both the tenderee UAVs and the bidder UAVs need to calculate the performance of completing a task. Contrary to offline task scheduling, time consumption should be considered except for the total reward of scheduled tasks and the number of scheduled tasks for each UAV. Specifically, time consumption is the required time for task scheduling. Highly urgent tasks should be assigned to the appropriate UAVs in a short time. Once highly urgent tasks cannot be allocated in a reasonable time, the entire task scheduling would be affected. High profit means that when meeting the task demand, each UAV can complete many tasks with high rewards at a small cost. The number of scheduled tasks for each UAV should be balanced which can effectively avoid the rapid increase in time consumption for all UAVs. Hence, the performance of completing a task can be calculated as follows.
U i ( T j ) = α F i ( T j ) + β D i ( T j ) + γ M i ( T j ) ,
where U i ( T j ) is the total performance of the task T j for UAV V i ; F i ( T j ) is the profit of the task T j ; D i ( T j ) is the real-time performance when UAV V i completes the task T j ; M i ( T j ) is load balancing performance when UAV V i completes the task T j . α , β   and   γ are the weight coefficients of indicators and meet the following formula, α + β + γ = 1 .
(1)
The first objective is to maximize the net profit. The net profit can be obtained by the reward of task i minus the cost. The cost includes path cost (the flight distance) and risk cost (including the probability of colliding with obstacles and being discovered by hostile weapon threats). The path cost and risk cost from the task T j 1 to task T j can be represented by P a t h C o s t ( V i , T j 1 , T j ) and R i s k C o s t ( V i , T j 1 , T j ) , respectively. Note that r e w a r d ( T j ) , P a t h C o s t ( V i , T j 1 , T j ) and R i s k C o s t ( V i , T j 1 , T j ) can be generated after normalization. The net profit of task T j completed by UVA V i can be calculated as follows.
F i ( T j ) = r e w a r d ( T j ) P a t h C o s t ( V i , T j 1 , T j ) R i s k C o s t ( V i , T j 1 , T j ) .
(2)
The second objective is to improve the real-time performance which is given below.
D i ( T j ) = 1 e T i m e i ( T j ) ,
where T i m e i ( T j ) is the required time for allocating the task T j to the UAV V i .
(3)
During the task scheduling, it is also necessary to balance the number of scheduled tasks between UAVs. The third objective is to enhance the load balancing performance which is given below.
M i ( T j ) = M a x N i N S i ,
where N S i is the number of scheduled tasks for the task scheduling scheme S i , and M a x N i is the maximum number of scheduled tasks for the UAV V i .

2.3. Dynamic Elements

Three dynamic elements are considered, which are emergency tasks, pop-up obstacles, and platform failure.
(1)
Emergency tasks
Suppose that the set S i = { T a s k i 1 , T a s k i 2 , , T a s k i n i } is the offline task scheduling scheme of UAV V i . There are N t emergency tasks, which can be denoted as E t a s k = { e t a s k 1 , e t a s k 2 , , e t a s k N t } . Then, the multi-UAV dynamic task scheduling can be described as: when confronting emergency tasks, task re-scheduling will be invoked requiring short time to maximize the performance of the overall system as much as possible.
(2)
Pop-up obstacles
Suppose that the set S i = { T a s k i 1 , T a s k i 2 , , T a s k i n i } is the offline task scheduling scheme of UAV V i . There are N e pop-up obstacles, which can be denoted as E b a r r i e r = { e b a r r i e r 1 , e b a r r i e r 2 , , b a r r i e r N e } . Then, the multi-UAV dynamic task scheduling can be described as: when confronting pop-up obstacles, only tasks which collide with pop-up obstacles will be re-scheduled to maximize the performance of the overall system as much as possible.
(3)
Platform failure
Suppose that the set S i = { T a s k i 1 , T a s k i 2 , , T a s k i n i } is the offline task scheduling scheme of UAV V i . N u UAVs cannot work well during the implementation ( N u < N V ). The tasks allocated to these faulty UAVs will return to the planning center. The multi-UAV dynamic task scheduling can be described as: when some UAVs cannot work well, task re-scheduling will be invoked requiring short time to maximize the performance of the overall system as much as possible.

3. Hybrid Contract Net Protocol

3.1. Contract Net Protocol

Contract net protocol (CNP) is a management framework based on a market mechanism commonly used in the distributed control system, which was introduced into the multi-agent control field by Davis and Smith in the 1980s [25]. As a dynamic task scheduling method, CNP can find near-optimal solutions by simulating the four processes of tendering, bidding, winning the b,id and signing the contract in market economic activities [38]. When the UAV is not capable of performing some tasks, these assigned tasks are up for auction by the tenderee UAV. Then, other UAVs will bid for the tasks to be allocated. Finally, the tenderee UAV will allocate the tasks to the most suitable bidder UAVs. As a nearly global optimal scheduling method, CNP is the critical technology for UAV dynamic scheduling.
CNP is divided into tendering phase, bidding phase, winning phase and signing phase [39]. To be specific, tendering phase is that when the tenderee UAV encounters some unexpected situations during the task execution, such as pop-up obstacles, emergency tasks or platform failure, it cannot cope with the issues alone and needs assistance [40]. It will release bidding information to find suitable UAVs. The bidding phase is when other UAVs will analyze their capabilities and judge whether they can perform the tasks after receiving the bidding information. If they can deal with the dynamic issues, they will propose a reasonable bidding price based on their own performance and send it to the tenderee for bidding. The winning phase is when the tenderee will select the suitable bidder based on designed heuristics [41]. The signing phase is when the tenderee and the successful bidder reach an agreement and sign a contract to complete a task scheduling. The detailed process is described in Figure 2 and Figure 3.

3.2. Hybrid Contract Net Protocol

Currently, the classic buy-sell contract is generally used for multi UAV cooperative task scheduling. However, it cannot address the problem in a complex environment. To effectively solve multi-UAV coordinated task scheduling in a complex environment, this paper proposes a hybrid contract net protocol, which includes a buy-sell contract, swap contract and replacement contract.

3.2.1. Buy-Sell Contract

The buy-sell contract is the primary contract type in the contract net protocol [42]. During the auction process, each UAV realizes task scheduling through the “buy-sell” way. As shown in Figure 4, the task scheduling schemes of UAV V 1 and V 2 are { T 1 , T 3 , T 4 } and { T 2 , T 5 } , respectively. The UAV V 1 finds that the path from the task T 3 to the task T 4 collides with the pop-up obstacle on the way to the task T 3 . The path cannot be re-planned. Thus, the UAV V 1 will release bidding information about the task T 4 . We make the assumption that the UAV V 2 around the UAV V 1 is capable of performing the task T 4 based on its offline task scheduling scheme.
The buy-sell contract can be described by a quadri-tuple, < V i , V j , T i , j , U i , j s a l e > . V i and V j are a tenderee and a bidder, respectively. T i , j is the task that is transferred from the UAV V i to the UAV V j . U i , j s a l e is the performance of the whole UAV system after one auction. The procedures of the buy-sell contract are as follows.
Step 1: Initialize the performance of all UAVs (specifically, calculate the remaining capabilities and update their task scheduling schemes), and determine the only tenderee according to the maximum remaining capability.
Step 2: The tenderee V i will release the information about the task T k i . The low bid price of the task T k i can be determined by the cost which the tenderee V i should pay for the task T k i in the scheme S i .
U i ( T k i ) = U i ( S i ) U i ( S i \ T k i )
Step 3: After receiving the bidding information, the bidder V j will judge whether it can purchase the task T k i according to its remaining capability. If true, the bidding price will be evaluated as follows.
U j + ( T k i ) = U j ( S j { T k i } ) U j ( S j )
U i , j s a l e ( T k i ) = U j + ( T k i ) + U i ( T k i )
Step 4: The tenderee V i will evaluate the bids about the task T k i in finite time. It will select the winner who is the highest bidder and send the information to all bidders.
U i , j s a l e ( T k i ) = max q [ 1 , N V ] U i , q s a l e ( T k i )
Step 5: The winner and tenderee will sign the contract and update their task scheduling schemes.

3.2.2. Swap Contract

The buy-sell contract can be useful only when the buyers can afford the task. However, in some special cases, it is difficult to realize the task re-scheduling only by buy-sell contract. Therefore, it is necessary to adopt a swap contract to improve the efficiency of task re-scheduling [43]. As shown in Figure 5, the task scheduling schemes of UAV V 1 and V 2 are { T 1 , T 3 } and { T 2 } , respectively. The maximum number of tasks which can be completed by the UAV V 1 or V 2 is 2. The emergency task T 4 is found by the UAV V 2 . If the UAV V 2 performs the emergency task T 4 , it will consume more fuel and can be easily detected by the enemy. At the same time, the UAV V 1 is not capable of performing the emergency task due to its limited tasks’ number. Thus, the swap contract will be applied to task re-scheduling. The task re-scheduling schemes of the UAV V 1 and V 2 are { T 1 , T 4 } and { T 2 , T 3 } , respectively.
The swap contract can be described by a five-tuple, < V i , V j , T i , j , T j , i , U i , j s w a p > . V i and V j are a tenderee and a bidder, respectively. T i , j is the task which is transferred from the UAV V i to the UAV V j . T j , i is the task which is transferred from the UAV V j to the UAV V i . U i , j s w a p is the performance of the whole UAV system after one auction. The procedures of the swap contract are as follows.
Step 1: Initialize the performance of all UAVs (specifically, calculate the remaining capabilities and update their task scheduling schemes), and determine the only tenderee according to the maximum remaining capability.
Step 2: The tenderee V i will release the information about the task T k i . The UAV V j will firstly use the buy-sell contract after receiving the information. If it cannot deal with the task, it will use the swap contract to swap its task T l j with the task T k i . The performance of the UAV V j can be calculated by the following formula.
U j s w a p ( T l j , T k i ) = U j ( ( S j { T k i } ) \ { T l j } ) U j ( S j )
Step 3: The tenderee V i will evaluate its performance if it agrees to swap their tasks as follows.
U i s w a p ( T k i , T l j ) = U i ( ( S i { T l j } ) \ { T k i } ) U i ( S i )
and it will also evaluate the performance of all UAVs as follows.
U i , j s w a p ( T k i , T l j ) = U i s w a p ( T k i , T l j ) + U j s w a p ( T l j , T k i )
Step 4: The tenderee V i will evaluate the bids about the task T k i in finite time. It will select the winner who is the highest bidder and send the information to all bidders.
U i , j s w a p ( T k i , T l j ) = max q [ 1 , N V ] , k [ 1 , N P ] { U i , q s w a p ( T l j , T k i ) }
Step 5: The winner and tenderee will sign the contract and update their task scheduling schemes.

3.2.3. Replacement Contract

If the UAV can gain a high profit after performing a new emergency task, the UAV should abandon some current tasks with low profit to bid for new tasks instead of a buy-sell contract [44]. As shown in Figure 6, the task scheduling schemes of UAV V 1 are { T 1 , T 3 , T 4 , T 2 } . An emergency task with a high reward appears during the implementation. The replacement contract will be employed to help the UAV V 1 perform the emergency task at the cost of one task in the scheme.
The replacement contract can be described by a five-tuple, < V i , V j , T i , j , T j , n u l l , U i , j r e p l a c e > . V i and V j are a tenderee and a bidder, respectively. T i , j is the task which is transferred from the UAV V i to the UAV V j . T j , n u l l is the abandoned task from the UAV V j . U i , j r e p l a c e is the performance of the whole UAV system after one auction. The procedures of the replacement contract are as follows.
Step 1: Initialize the performance of all UAVs (specifically, calculate the remaining capabilities and update their task scheduling schemes), and determine the only tenderee according to the maximum remaining capability.
Step 2: The tenderee V i will release the information about the task T k i .The UAV V j will use the replacement contract that it will abandon its task T l j and perform the task T k i . The performance of the UAV V j can be calculated by the following formula.
U j r e p l a c e ( T k i , T l j ) = U j ( ( S j { T k i } ) \ { T l j } ) U j ( S j )
Step 3: The tenderee V i will evaluate its performance if it agrees to the replacement contract as follows.
U i , j r e p l a c e ( T k i , T l j ) = U i ( T k i ) + U j r e p l a c e ( T k i , T l j )
Step 4: The tenderee V i will evaluate the bids about the task T k i in finite time. It will select the winner who is the highest bidder and send the information to all bidders.
U i , j r e p l a c e ( T k i , T l j ) = max q [ 1 , N V ] , k [ 1 , N P ] { U i , q r e p l a c e ( T k i , T l j ) }
Step 5: The winner and tenderee will sign the contract and update their task scheduling schemes.

4. Simulation Experiments and Results

4.1. Emergency Tasks

(1)
Task re-scheduling based on buy-sell contract
The proposed algorithm is coded in MATLAB and run on a PC computer with Core i5-8400 2.80 GHz CPU, 8 G memory, and Windows 10 operating system. Three UAVs are employed to perform 10 tasks. Their information is shown in Table 2 and Table 3. The offline task scheduling scheme is reported in Table 4 and Figure 7. As shown in Figure 7, the simulation scenario is applied in a 100 km × 100 km area. The yellow circles and the red star represent obstacles and a UAV base station, respectively. The purple dots represent ten tasks, and the red lines denote flight paths of each UAV. The high-quality and collision-free paths between any pair of locations can be generated by the APPATT [13].
During the implementation, the emergency task 11 (as shown in Table 5) is found and the UAV UAV-01 with the largest remaining capacity becomes the tenderee. The UAV-01 will release the information about the task 11 among the UAVs. It is found that only UAV-01 can obtain the most significant profit after it performs the emergency task. Therefore, emergency task 11 is allocated to the UAV-01. The running time of task re-scheduling is 0.003 s. The task re-scheduling schemes are as shown in Table 6 and Figure 8.
(2)
Task re-scheduling based on replacement contract
Three UAVs are employed to perform 10 tasks. Their information is shown in Table 2 and Table 7. The offline task scheduling scheme is reported in Table 8 and Figure 9.
During the implementation, the emergency task 11 (as shown in Table 9) is found and the UAV UAV-01 with the largest remaining capacity becomes the tenderee. The UAV-01 will release the information about the task 11 among the UAVs. It is found that no UAVs can perform the task 11 based on the buy-sell contract. Thus, the replacement contract will be employed. The task which is close to the emergency task in terms of distance and time window and whose reward is lower than the emergency task may be replaced. Through this way, the allocated task 1 is the replaced task. The running time of task re-scheduling is 0.0005 s. The task re-scheduling schemes are as shown in Table 10 and Figure 10.

4.2. Pop-Up Obstacles

In this section, the information about three UAVs and ten tasks are shown in Table 2 and Table 3. The initial task scheduling scheme of UAV-01 is 10 6 9 11 . The initial task scheduling scheme of UAV-02 is 2 8 7 . The initial task scheduling scheme of UAV-03 is 5 3 1 4 . Task re-scheduling will be performed by buy-sell contract to deal with pop-up obstacles, whose result is reported as shown in Figure 11. During the implementation, the pop-up obstacle (the gray circle as shown in Figure 11) is found. The pop-up obstacle prohibits the UAV UAV-02 from flying from the task 8 to the task 7. Thus, the UAV UAV-02 will release the information about the task 7 and the UAV UAV-03 will win the bidding. The task re-scheduling scheme is reported as shown in Table 11.

4.3. Platform Failure

In this section, the initial task scheduling scheme is shown in Table 4. To be specific, the initial task scheduling scheme of UAV-01 is 10 6 9 11 . The initial task scheduling scheme of UAV-02 is 2 8 7 . The initial task scheduling scheme of UAV-03 is 5 3 1 4 . Suppose that the UAV UAV-02 breaks down and cannot complete its assigned tasks. Its tasks 2, 8, and 7 will be sold sequentially at auction. The buy-sell contract is firstly performed. The location of task 2 is close to task 9, which means that lower travel distance will be generated if the UAV-01 accomplishes task 2 after the task 9. Besides, the time window constraint of the task 2 also can be met. Thus, the UAV UAV-01 wins the bidding and performs the task 2 after the task 9. Similarly, the tasks 7 and 8 will be allocated to the UAV UAV-03 via the buy-sell contract. The running time of task re-scheduling is 0.005 s. The final task re-scheduling scheme is shown in Table 12 and Figure 12.
As shown in Figure 12, the yellow circles and the red star represent obstacles and a UAV base, respectively. The purple dots represent ten tasks, and the red lines denote flight paths of each UAV. All the UAVs originate from one base. The UAV UAV-02 cannot depart from the base successfully and fail to complete its offline allocated tasks suddenly due to faults. Its allocated tasks will be re-allocated to the UAV-01 and UAV-03 via hybrid CNP. Figure 12a,b shows the final flight paths of each UAV which are related to their task re-scheduling schemes. Note that the flight paths may be crossed due to time windows as shown in Figure 12a.

5. Conclusions

To cope with the failure of the offline task scheduling scheme due to uncertain elements, a hybrid CNP is proposed to realize dynamic task scheduling. Extensive simulations are conducted under three scenarios with emergency tasks, pop-up obstacles and platform failure to verify the superiority of the proposed method. The following conclusions can be drawn from the results: (1) the hybrid CNP can respond to the dynamic elements (emergency tasks, pop-up obstacles, and platform failure) and is also capable of generating a new task scheduling scheme based on the offline scheme with about milliseconds delays for all designed cases. (2) Compared with a single contract, the hybrid CNP is more flexible and suitable for various dynamic environments, such as emergency tasks, pop-up obstacles, platform failure, and so on. In the future, more dynamic conditions should be considered, such as extreme weather, multiple platform failures, aircraft kinematics, and so on. Moreover, to get close to reality, dynamic scheduling for heterogeneous UAVs equipped with various sensors should be further discussed.

Author Contributions

Methodology, Z.Z.; Writing–original draft & review & editing, H.L.; Supervision and Funding Acquisition, G.W. 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 62073341.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Liu, X.; Li, Z.; Zhao, N.; Meng, W.; Gui, G.; Chen, Y.; Adachi, F. Transceiver design and multihop D2D for UAV IoT coverage in disasters. IEEE Internet Things J. 2018, 6, 1803–1815. [Google Scholar] [CrossRef] [Green Version]
  2. Oh, D.; Han, J. Smart Search System of Autonomous Flight UAVs for Disaster Rescue. Sensors 2021, 21, 6810. [Google Scholar] [CrossRef] [PubMed]
  3. Yuan, S.; Ota, K.; Dong, M.; Zhao, J. A path planning method with perception optimization based on sky scanning for UAVs. Sensors 2022, 22, 891. [Google Scholar] [CrossRef] [PubMed]
  4. Amrallah, A.; Mohamed, E.M.; Tran, G.K.; Sakaguchi, K. Enhanced dynamic spectrum access in UAV wireless networks for post-disaster area surveillance system: A multi-player multi-armed bandit approach. Sensors 2021, 21, 7855. [Google Scholar] [CrossRef] [PubMed]
  5. Wu, G.; Pedrycz, W.; Li, H.; Ma, M.; Liu, J. Coordinated planning of heterogeneous earth observation resources. IEEE Trans. Syst. Man Cybern. Syst. 2015, 46, 109–125. [Google Scholar] [CrossRef]
  6. Zhang, S.; Liu, J. Analysis and optimization of multiple unmanned aerial vehicle-assisted communications in post-disaster areas. IEEE Trans. Veh. Technol. 2018, 67, 12049–12060. [Google Scholar] [CrossRef]
  7. Baek, J.; Han, S.I.; Han, Y. Energy-efficient UAV routing for wireless sensor networks. IEEE Trans. Veh. Technol. 2019, 69, 1741–1750. [Google Scholar] [CrossRef]
  8. Wang, Y.; Chen, M.; Pan, C.; Wang, K.; Pan, Y. Joint Optimization of UAV Trajectory and Sensor Uploading Powers for UAV-assisted Data Collection in Wireless Sensor Networks. IEEE Internet Things J. 2021. [Google Scholar] [CrossRef]
  9. Yang, H.; Ruby, R.; Pham, Q.-V.; Wu, K. Aiding a disaster spot via multi-UAV-based IoT networks: Energy and mission completion time-aware trajectory optimization. IEEE Internet Things J. 2022, 9, 5853–5867. [Google Scholar] [CrossRef]
  10. Zhao, W.; Meng, Q.; Chung, P.W. A heuristic distributed task allocation method for multivehicle multitask problems and its application to search and rescue scenario. IEEE Trans. Cybern. 2015, 46, 902–915. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  11. Sawalmeh, A.; Othman, N.S.; Liu, G.; Khreishah, A.; Alenezi, A.; Alanazi, A. Power-Efficient Wireless Coverage Using Minimum Number of UAVs. Sensors 2021, 22, 223. [Google Scholar] [CrossRef]
  12. Ebrahimi, D.; Sharafeddine, S.; Ho, P.-H.; Assi, C. UAV-aided projection-based compressive data gathering in wireless sensor networks. IEEE Internet Things J. 2018, 6, 1893–1905. [Google Scholar] [CrossRef]
  13. Liu, H.; Li, X.; Fan, M.; Wu, G.; Pedrycz, W.; Suganthan, P.N. An Autonomous Path Planning Method for Unmanned Aerial Vehicle Based on a Tangent Intersection and Target Guidance Strategy. IEEE Trans. Intell. Transp. Syst. 2022, 23, 3061–3073. [Google Scholar] [CrossRef]
  14. Dias, M.B.; Zlot, R.; Kalra, N.; Stentz, A. Market-based multirobot coordination: A survey and analysis. Proc. IEEE 2006, 94, 1257–1270. [Google Scholar] [CrossRef] [Green Version]
  15. Chen, J.; Sun, D. Coalition-based approach to task allocation of multiple robots with resource constraints. IEEE Trans. Autom. Sci. Eng. 2012, 9, 516–528. [Google Scholar] [CrossRef]
  16. Vovos, P.N.; Kiprakis, A.E.; Wallace, A.R.; Harrison, G.P. Centralized and distributed voltage control: Impact on distributed generation penetration. IEEE Trans. Power Syst. 2007, 22, 476–483. [Google Scholar] [CrossRef] [Green Version]
  17. Yuan, W.; Wu, N.; Etzlinger, B.; Li, Y.; Yan, C.; Hanzo, L. Expectation–maximization-based passive localization relying on asynchronous receivers: Centralized versus distributed implementations. IEEE Trans. Commun. 2018, 67, 668–681. [Google Scholar] [CrossRef] [Green Version]
  18. Han, X.; Mandal, S.; Pattipati, K.R.; Kleinman, D.L.; Mishra, M. An optimization-based distributed planning algorithm: A blackboard-based collaborative framework. IEEE Trans. Syst. Man Cybern. Syst. 2013, 44, 673–686. [Google Scholar] [CrossRef]
  19. Zaman, S.; Grosu, D. Combinatorial auction-based allocation of virtual machine instances in clouds. J. Parallel Distrib. Comput. 2013, 73, 495–508. [Google Scholar] [CrossRef]
  20. Lee, D.-H.; Zaheer, S.A.; Kim, J.-H. A resource-oriented, decentralized auction algorithm for multirobot task allocation. IEEE Trans. Autom. Sci. Eng. 2014, 12, 1469–1481. [Google Scholar] [CrossRef]
  21. Choi, H.-L.; Brunet, L.; How, J.P. Consensus-based decentralized auctions for robust task allocation. IEEE Trans. Robot. 2009, 25, 912–926. [Google Scholar] [CrossRef] [Green Version]
  22. Zhang, J.; Wang, G.; Song, Y. Task assignment of the improved contract net protocol under a multi-agent system. Algorithms 2019, 12, 70. [Google Scholar] [CrossRef] [Green Version]
  23. Qin, B.; Zhang, D.; Tang, S.; Wang, M. Distributed Grouping Cooperative Dynamic Task Assignment Method of UAV Swarm. Appl. Sci. 2022, 12, 2865. [Google Scholar] [CrossRef]
  24. Zhen, Z.; Wen, L.; Wang, B.; Hu, Z.; Zhang, D. Improved contract network protocol algorithm based cooperative target allocation of heterogeneous UAV swarm. Aerosp. Sci. Technol. 2021, 119, 107054. [Google Scholar] [CrossRef]
  25. Smith, R.G. The contract net protocol: High-level communication and control in a distributed problem solver. IEEE Trans. Comput. 1980, 29, 1104–1113. [Google Scholar] [CrossRef]
  26. Lee, J.; Lee, S.-J.; Chen, H.-M.; Wu, C.-L. Composing web services enacted by autonomous agents through agent-centric contract net protocol. Inf. Softw. Technol. 2012, 54, 951–967. [Google Scholar] [CrossRef]
  27. Sousa, P.; Ramos, C. A distributed architecture and negotiation protocol for scheduling in manufacturing systems. Comput. Ind. 1999, 38, 103–113. [Google Scholar] [CrossRef]
  28. Owliya, M.; Saadat, M.; Jules, G.G.; Goharian, M.; Anane, R. Agent-based interaction protocols and topologies for manufacturing task allocation. IEEE Trans. Syst. Man Cybern. Syst. 2012, 43, 38–52. [Google Scholar] [CrossRef]
  29. Váncza, J.; Márkus, A. An agent model for incentive-based production scheduling. Comput. Ind. 2000, 43, 173–187. [Google Scholar] [CrossRef]
  30. Baker, A.D. Metaphor or reality: A case study where agents bid with actual costs to schedule a factory. In Market-Based Control: A Paradigm for Distributed Resource Allocation; World Scientific: Singapore, 1996; pp. 184–223. [Google Scholar]
  31. Liang, H.-T.; Kang, F.-J. A novel task optimal allocation approach based on Contract Net Protocol for Agent-oriented UUV swarm system modeling. Optik 2016, 127, 3928–3933. [Google Scholar] [CrossRef]
  32. Liang, H.-T.; Kang, F.-J. Distributed task allocation modeling based on agent topology and protocol for collaborative system. Optik 2016, 127, 7776–7781. [Google Scholar] [CrossRef]
  33. Liu, Y.; Zhang, A. Cooperative task assignment method of manned/unmanned aerial vehicle formation. Syst. Eng. Electron. 2010, 32, 584–588. [Google Scholar]
  34. Fan, Z. A research of Multi-UAV Real-Time Task Allocation. Master’s Thesis, University of Electronic Science and Technology of China, Chengdu, China, 2017. [Google Scholar]
  35. Kumar, P.; Garg, S.; Singh, A.; Batra, S.; Kumar, N.; You, I. MVO-based 2-D path planning scheme for providing quality of service in UAV environment. IEEE Internet Things J. 2018, 5, 1698–1707. [Google Scholar] [CrossRef]
  36. Wu, Y.; Low, K.H.; Lv, C. Cooperative path planning for heterogeneous unmanned vehicles in a search-and-track mission aiming at an underwater target. IEEE Trans. Veh. Technol. 2020, 69, 6782–6787. [Google Scholar] [CrossRef]
  37. Duan, T.; Wang, W.; Wang, T.; Chen, X.; Li, X. Dynamic tasks scheduling model of UAV cluster based on flexible network architecture. IEEE Access 2020, 8, 115448–115460. [Google Scholar] [CrossRef]
  38. Liu, B.; Deng, M.; Wu, G.; Pei, X.; Li, H.; Pedrycz, W. Bottom-up mechanism and improved contract net protocol for dynamic task planning of heterogeneous earth observation resources. IEEE Trans. Syst. Man Cybern. Syst. 2022, 1–14. [Google Scholar] [CrossRef]
  39. Heredia, G.; Caballero, F.; Maza, I.; Merino, L.; Viguria, A.; Ollero, A. Multi-unmanned aerial vehicle (UAV) cooperative fault detection employing differential global positioning (DGPS), inertial and vision sensors. Sensors 2009, 9, 7566–7579. [Google Scholar] [CrossRef]
  40. Lacroix, S.; Alami, R.; Lemaire, T.; Hattenberger, G.; Gancet, J. Decision making in multi-UAVs systems: Architecture and Algorithms. In Multiple Heterogeneous Unmanned Aerial Vehicles; Springer: Berlin/Heidelberg, Germany, 2007; pp. 15–48. [Google Scholar]
  41. de Moraes, R.S.; de Freitas, E.P. Distributed control for groups of unmanned aerial vehicles performing surveillance missions and providing relay communication network services. J. Intell. Robot. Syst. 2018, 92, 645–656. [Google Scholar] [CrossRef]
  42. Kensler, J.A.; Agah, A. Neural networks-based adaptive bidding with the contract net protocol in multi-robot systems. Appl. Intell. 2009, 31, 347–362. [Google Scholar] [CrossRef]
  43. Akbarimajd, A.; Barghi Jond, H. Multi-Robot foraging based on contract net protocol. J. Adv. Comput. Res. 2014, 5, 61–67. [Google Scholar]
  44. Ouelhadj, D.; Hanachi, C.; Bouzouia, B.; Moualek, A.; Farhi, A. A multi-contract net protocol for dynamic scheduling in flexible manufacturing systems (FMS). In Proceedings of the 1999 IEEE International Conference on Robotics and Automation (Cat. No. 99CH36288C), Detroit, MI, USA, 10–15 May 1999; IEEE: Piscataway, NJ, USA, 1999; pp. 1114–1119. [Google Scholar]
Figure 1. The 3D map of a destroyed village with the help of DJI drones in the 2015 Nepal earthquake.
Figure 1. The 3D map of a destroyed village with the help of DJI drones in the 2015 Nepal earthquake.
Sensors 22 04486 g001
Figure 2. The main idea of CNP.
Figure 2. The main idea of CNP.
Sensors 22 04486 g002
Figure 3. The negotiation process of CNP.
Figure 3. The negotiation process of CNP.
Sensors 22 04486 g003
Figure 4. Sketch map for buy-sell contract. (a) Initial task scheduling scheme; (b) Task re-scheduling scheme.
Figure 4. Sketch map for buy-sell contract. (a) Initial task scheduling scheme; (b) Task re-scheduling scheme.
Sensors 22 04486 g004
Figure 5. Sketch map for swap contract. (a) Initial task scheduling scheme; (b) Task re-scheduling scheme.
Figure 5. Sketch map for swap contract. (a) Initial task scheduling scheme; (b) Task re-scheduling scheme.
Sensors 22 04486 g005
Figure 6. Sketch map for replacement contract. (a) Initial task scheduling scheme; (b) Task re-scheduling scheme.
Figure 6. Sketch map for replacement contract. (a) Initial task scheduling scheme; (b) Task re-scheduling scheme.
Sensors 22 04486 g006
Figure 7. Offline task scheduling schemes. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Figure 7. Offline task scheduling schemes. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Sensors 22 04486 g007
Figure 8. Task re-scheduling schemes with the emergency task based on buy-sell contract. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Figure 8. Task re-scheduling schemes with the emergency task based on buy-sell contract. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Sensors 22 04486 g008
Figure 9. Offline task scheduling schemes. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Figure 9. Offline task scheduling schemes. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Sensors 22 04486 g009
Figure 10. Task re-scheduling schemes with the emergency task based on replacement contract. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Figure 10. Task re-scheduling schemes with the emergency task based on replacement contract. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Sensors 22 04486 g010
Figure 11. Task re-scheduling schemes with the pop-up obstacle based on replacement contract. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Figure 11. Task re-scheduling schemes with the pop-up obstacle based on replacement contract. (a) UAV-01; (b) UAV-02; (c) UAV-03.
Sensors 22 04486 g011
Figure 12. Task re-scheduling schemes with the platform failure based on hybrid contracts. (a) UAV-01; (b) UAV-03.
Figure 12. Task re-scheduling schemes with the platform failure based on hybrid contracts. (a) UAV-01; (b) UAV-03.
Sensors 22 04486 g012
Table 1. Notations.
Table 1. Notations.
NotationsDescription
V a   set   of   UAVs ,   V = { V 1 , V 2 , , V N V }
hUAV index
Task a   set   of   tasks ,   T a s k = { T 1 , T 2 , , T N M }
i, jtask index
rewardithe reward of task i
[ E r s t T i m e i , L a s t T i m e i ] the allowable earliest start time and latest end time of task i
s i the service time of task i
t i j the travel time from task i to task j
M a x L h , M a x E h , M a x N h flying range, energy capacity and memory capacity of UAV h
Table 2. Parameter of UAVs.
Table 2. Parameter of UAVs.
UAVBaseFlying Range (km)Speed (km/m)Memory
Capacity (Unit)
Energy
Capacity (s)
UAV-01(10,10)20055100
UAV-0220055100
UAV-0320055100
Table 3. Parameter of Initial Tasks.
Table 3. Parameter of Initial Tasks.
No.CoordinateService Time (s)Time WindowReward
Erst TimeLast Time
1(18,92)3.848:39:009:11:00105
2(36,11)1.988:55:009:01:00114
3(6,75)1.368:23:008:48:0065
4(53,74)0.199:04:009:11:0099
5(34,57)3.378:12:008:55:0017
6(18,19)2.158:15:009:03:00141
7(70,90)2.269:18:009:36:0029
8(91,30)3.058:50:009:47:0040
9(68,14)0.308:29:009:27:00120
10(47,22)1.588:24:008:50:0074
Table 4. Offline Task Scheduling Schemes.
Table 4. Offline Task Scheduling Schemes.
UAVFlying Range (km)Scheduling SchemeReward
UAV-01118 10 6 9 335
UAV-02147 2 8 7 183
UAV-03149 5 3 1 4 283
Table 5. Parameter of the Emergency Tasks.
Table 5. Parameter of the Emergency Tasks.
No.CoordinateService Time (s)Time WindowReward
Erst TimeLast Time
11(75,60)0.568:53:009:20:0088
Table 6. Task Re-scheduling Schemes based on Buy-sell Contract to Deal with Emergency Tasks.
Table 6. Task Re-scheduling Schemes based on Buy-sell Contract to Deal with Emergency Tasks.
UAVFlying Range (km)Scheduling SchemeReward
UAV-01165 10 6 9 11423
UAV-02147 2 8 7183
UAV-03149 5 3 1 4283
Table 7. Parameter of Tasks.
Table 7. Parameter of Tasks.
No.CoordinateService Time (s)Time WindowReward
Erst TimeLast Time
1(90,10)4.658:23:008:35:0018
2(93,15)0.479:19:009:54:0081
3(6,59)4.848:22:009:10:0089
4(31,25)0.178:19:008:40:00148
5(50,40)4.428:35:008:55:0057
6(96,3)1.368:30:009:06:00127
7(35,42)0.879:22:009:14:0098
8(97,80)2.739:26:009:48:0096
9(30,86)4.719:27:009:59:0017
10(72,47)2.808:01:009:00:00148
Table 8. Offline Task Scheduling Schemes.
Table 8. Offline Task Scheduling Schemes.
UAVFlying Range (km)Scheduling SchemeReward
UAV-01148 1 6 5202
UAV-02167 4 3 7 2 416
UAV-03183 10 8 9 261
Table 9. Parameter of the Emergency Tasks.
Table 9. Parameter of the Emergency Tasks.
No.CoordinateService Time (s)Time WindowReward
Erst TimeLast Time
11(75,10)0.568:22:008:38:0088
Table 10. Task Re-scheduling Schemes based on Replacement Contract to Deal with Emergency Tasks.
Table 10. Task Re-scheduling Schemes based on Replacement Contract to Deal with Emergency Tasks.
UAVFlying Range (km)Scheduling SchemeReward
UAV-0112611→6→5272
UAV-021674→3→7→2416
UAV-0318310→8→9 261
Table 11. Task Rescheduling Schemes based on Buy-sell Contract to Deal with Pop-up Obstacles.
Table 11. Task Rescheduling Schemes based on Buy-sell Contract to Deal with Pop-up Obstacles.
UAVFlying Range (km)Scheduling SchemeReward
UAV-0116510→6→9→11423
UAV-02842→8154
UAV-031835→3→1→4→7206
Table 12. Task Re-scheduling Schemes based on Hybrid Contracts to Deal with Platform Failure.
Table 12. Task Re-scheduling Schemes based on Hybrid Contracts to Deal with Platform Failure.
UAVFlying Range (km)Scheduling SchemeReward
UAV-0115010→6→9→2449
UAV-032355→3→1→4→7→8352
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhang, Z.; Liu, H.; Wu, G. A Dynamic Task Scheduling Method for Multiple UAVs Based on Contract Net Protocol. Sensors 2022, 22, 4486. https://doi.org/10.3390/s22124486

AMA Style

Zhang Z, Liu H, Wu G. A Dynamic Task Scheduling Method for Multiple UAVs Based on Contract Net Protocol. Sensors. 2022; 22(12):4486. https://doi.org/10.3390/s22124486

Chicago/Turabian Style

Zhang, Zhenshi, Huan Liu, and Guohua Wu. 2022. "A Dynamic Task Scheduling Method for Multiple UAVs Based on Contract Net Protocol" Sensors 22, no. 12: 4486. https://doi.org/10.3390/s22124486

APA Style

Zhang, Z., Liu, H., & Wu, G. (2022). A Dynamic Task Scheduling Method for Multiple UAVs Based on Contract Net Protocol. Sensors, 22(12), 4486. https://doi.org/10.3390/s22124486

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