0% found this document useful (0 votes)
12 views

A Dijkstra Inspired Graph Algorithm For

The article presents a novel graph-based algorithm called 'Dijkstra Optimal Tasking' (DOT) for optimal task scheduling in industrial applications, focusing on autonomous agents and efficient resource allocation. The algorithm is designed to minimize energy consumption while maximizing task completion speed, and is applicable across various sectors including smart factories and transportation. The paper includes a detailed mathematical formulation, benchmarking analysis, and a case study demonstrating the algorithm's effectiveness in a real-world scenario.

Uploaded by

sepultra33
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

A Dijkstra Inspired Graph Algorithm For

The article presents a novel graph-based algorithm called 'Dijkstra Optimal Tasking' (DOT) for optimal task scheduling in industrial applications, focusing on autonomous agents and efficient resource allocation. The algorithm is designed to minimize energy consumption while maximizing task completion speed, and is applicable across various sectors including smart factories and transportation. The paper includes a detailed mathematical formulation, benchmarking analysis, and a case study demonstrating the algorithm's effectiveness in a real-world scenario.

Uploaded by

sepultra33
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

This article has been accepted for publication in a future issue of this journal, but has not been

fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
1

A Dijkstra-Inspired Graph Algorithm for Fully


Autonomous Tasking in Industrial Applications
Mohamed Lotfi, Member, IEEE, Gerardo J. Osório, Mohammad S. Javadi, Senior Member, IEEE, Abdelrahman
Ashraf, Mustafa Zahran, Georges Samih, and João P. S. Catalão, Senior Member, IEEE

Abstract—An original graph-based model and algorithm for Despite the advancement of technologies leading to overall
optimal industrial task scheduling is proposed in this paper. The abundance or resources, increased socio-technical complexities
innovative algorithm designed, dubbed “Dijkstra Optimal associated with the availability of resources make the optimal
Tasking” (DOT), is suitable for fully distributed task scheduling management thereof of paramount importance [3].
of autonomous industrial agents for optimal resource allocation,
including energy use. The algorithm was designed starting from In addition to the added complexity of the energy supply
graph theory fundamentals, from the ground up, to guarantee a infrastructure, process automation levels are at an all-time high,
generic nature, making it applicable on a plethora of tasking making it necessary to develop and deploy new algorithms for
problems and not case-specific. For any industrial setting in which optimized task management in order to guarantee cost-
mobile agents are responsible for accomplishing tasks across a site, efficiency and reliability of these automated processes [4], [5].
the objective is to determine the optimal task schedule for each
agent, which maximizes the speed of task achievement while A. Literature Review
minimizing the movement, thereby minimizing energy
A rundown of recent scientific studies is performed and
consumption cost. The DOT algorithm is presented in detail in this
manuscript, starting from the conceptualization to the subsequently presented to establish the state-of-the-art of
mathematical formulation based on graph theory, having a scientific literature addressing optimal task scheduling and
thorough computational implementation and a detailed algorithm management in modern automated systems. As previously
benchmarking analysis. The choice of Dijkstra as opposed to other mentioned, two of the most affected sectors are the industrial
shortest path methods (namely, A* Search and Bellman-Ford) in and transport sectors [2], with maximizing cost-efficiency
the proposed graph-based model and algorithm was investigated already of pivotal importance for the two.
and justified. An example of a real-world application based on a
refinery site is modeled and simulated and the proposed For the transport sector, there has been a lot of recent focus on
algorithm’s effectiveness and computational efficiency is duly developing optimal management algorithms for consumer-
evaluated. A dynamic obstacle course was incorporated to owned electric vehicle (EV) fleets [6], with an emphasis on
effectively demonstrate the proposed algorithm’s applicability to cost-optimal energy management in the presence of hybrid
real-world applications. technologies [7] and considering smart homes [8] and other
modern solutions for optimal utilization of distributed energy
Index Terms—Graph theory, algorithms, task scheduling,
energy management, Dijkstra, industrial applications.
resources (DERs) [9].
This is especially important with dynamic electricity pricing
I. INTRODUCTION schemes adopted through demand response (DR)
implementation [1], [2]. Recent research on this matter was not
I n an exceedingly dynamic and digital world, the old saying
of “time is money” presents itself in all modern problems.
Energy systems witnessed momentous change during the past
only confined to consumer-owned EVs, with a lot of research
also investigating smart public transport systems with increased
proliferation of electric buses (EBs) and smart charging
few decades [1], which in turn affected all sectors that are
infrastructures [10]. The priority is ensuring cost-efficiency of
heavily energy-dependent, including industrial and transport
the systems [11] through optimal scheduling [12].
sectors [2].
In industrial applications, optimal management of time and
The work of Mohamed Lotfi was supported by the MIT Portugal resources is even more critical due to the profit-centered
Program (in Sustainable Energy Systems) by Portuguese and EU funds character of industry, throughout the wide-ranging spectrum of
through FCT, under Grant PD/BD/142810/2018. The work of J.P.S.
Catalão was supported in part by FEDER funds through COMPETE 2020 industrial specializations. In the context of smart factories,
and in part by the Portuguese funds through FCT under POCI-010145- multi-agents systems are proposed as a model for coordination
FEDER029803 (02/SAICT/2017). between autonomous systems working on performing preset
M. Lotfi and J.P.S. Catalão are with the Faculty of Engineering of the tasks in factories with high levels of automation and a smart
University of Porto (FEUP) and the Institute for Systems and Computer
Engineering, Technology and Science INESC TEC, 4200-465 Porto, communication infrastructure [13].
Portugal (e-mails: [email protected], [email protected]).
G.J. Osório is with Portucalense University Infante D. Henrique (UPT),
The adoption of intelligent algorithms for optimal task
4200-072 Porto, Portugal. (e-mail: [email protected]). scheduling in industry has been shown to result in significant
M. Javadi is with the Institute for Systems and Computer Engineering, cost savings, whether performed by automated mobile agents or
Technology and Science INESC TEC, 4200-465 Porto, Portugal. (e-mail: human labor. Such saving are crucial for industries and
[email protected]).
A. Ashraf, M. Zahran, and G. Samih are with the German University in economic growth [14].
Cairo (GUC), New Cairo, Egypt. (emails: [email protected],
[email protected], [email protected]).

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
2

B. Novel Contributions II. ALGORITHM DESIGN


Algorithms for optimal task-handling are being investigated for A. Conceptual Model
a wide array of applications, ranging from coordinating
autonomous self-driving EVs [15], to cooperative robotics [16], A generic task scheduling problem in a modern industrial
setting is illustrated in Fig. 1. The main elements thereof can be
industrial site inspection [17], and the management of modern
warehouses [18]. As such, the development of these algorithms defined and listed as follows:
for optimal cost-efficiency of task handling, regardless of the Map: is a confined space where all the tasks and mobile agents
type of task, becomes imperative for modern industries. are located. All events and scheduling are performed within this
With increased intertwining of modern systems and cross- local environment.
industry designs it becomes even more important to design Mobile Agent: is an agent which can move around the map and
algorithms for generic systems [19], which are not application- perform tasks. The agent is electric, meaning it consumes
specific, and could be employed regardless of the target sector, electric energy on a local battery as a cost of movement. This
be it smart factories, modern warehouses, EV fleet agent could be autonomous or human-operated (e.g. Segway,
management, etc. electric pallet jack, or golf cart).
In this study, a novel algorithm for optimal task scheduling, Charging Station: is where the mobile agent is stationed to
dubbed “Dijkstra Optimal Tasking” (DOT), is proposed, recharge onboard batteries. Although commonly found on the
implemented and validated. This algorithm was initially edges of most maps, they can be located anywhere across the
conceptualized by the authors of this work in a preliminary traversable map.
phase in [20]. The proposed algorithm is generic in nature, Tasks: must be reached by a mobile agent in order to be
meaning that it can be adapted to different problems in which a accomplished. This is generic, i.e., in inspection problems the
limited number of mobile agents are required to perform several task is merely for the agent to be there every period of time. In
tasks, with minimal energy. The novel contributions of this handling problems, the agent must stay until task completion.
work can thus be summarized as:
Obstacles: are non-traversable areas. The mobile agent must
• Model a generic tasking problem using graph theory to plan a path around them to reach tasks or charging stations.
guarantee applicability to a wide range of modern problems
(particularly in the industrial and transportation sectors). B. Mathematical Formulation: Graph Theory Model
• Design and implement an original graph-based model and These are the defining elements of any generic industrial task
algorithm for task scheduling by a limited number of scheduling problem, and an algorithm aiming to provide a
autonomous mobile agents. non-case-specific solution must be capable of incorporating
• Perform several benchmarking analyses to determine the them in a versatile and flexible manner.
computational complexity of the proposed algorithm, optimal
setting of tunable parameters, and assessing the performance
of the proposed algorithm incorporating different shortest path
methods (Dijkstra, A* Search and Bellman-Ford).
• Ensure the computational efficiency of the algorithm to
enable application in real-time.
• Demonstrate the proposed algorithm considering a case
study based on a real-world industrial site, including the effect
of dynamic (moving) obstacles.
C. Paper Organization
This paper is organized as follows: In Section I, the motivation
behind this work, literature review, and novel contributions are
presented. In Section II, the proposed algorithm is documented
in detail, including: the conceptual model, mathematical
formulation, algorithm design, and computational
implementation.
In Section III, a thorough benchmarking analysis is performed
to determine optimal settings of tunable parameters and
determine the time complexity. A case study is used to
demonstrate a real-world application in Section IV. Finally, in
Section V, conclusions of this paper are summarized and a
discussion of anticipated applications of the proposed algorithm Fig. 1. An illustration of a generic tasking problem: A mobile agent needs to
in different sectors is examined, deriving recommendations for perform specified tasks located at different locations in a confined map, in the
future work. presence of non-traversable obstacles. The movement is associated with energy
consumption and recharging is performed at set locations.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
3

Graph theory provides the tools to mathematically model such 1 ↔ +,- .0 (10)
a problem and is therefore chosen to construct the basis of the
proposed algorithm. The first step is to divide the map into a 1/ 1 ↔ .0 (11)
↔ .0
mesh of equidistant and isomorphic “cells”. The size of each
(12)
cell should be based on the smallest element in the map. By
doing so, the problem can be defined as a graph G whose 1/ ↔ .0 (13)
elements are mathematically defined subsequently.
Finally, vertices are identified as boundary vertices (set B) or
, (1) interior domain (set D) nodes according to (14) and (15).
1) Graph Vertices ∈0↔ ∈ ∧1 ⋅ 0
∨ /1
The graph defined in (1) consists of a set of vertices V (which
(14)
correspond to the “cells”), and a set of edges E.
⋅ /1 0 3
∈ ∀ ∈ ℤ ∩ 0, | | 1 (2)
As defined in (2), V is a set of vertices i: {0, 1, … , |V|-1}. At ∈4↔ ∈ ∧ ∉0 ⇒4 0 (15)
this stage it is established that a zero-based numbering
2) Graph Edges
convention (initial element assigned index 0) is used throughout
this paper, due to its compatibility with graph theory modeling The other main element of the graph is the set of edges, E. An
and algorithm design. The vertices are numbered sequentially, edge is a set of two vertices {i,j} that are connected in the graph.
row-by-row, as shown in Fig. 2. The set of all possible edges E can be defined using the
condition in (16).
The equidistant and isomorphic division of the map results in a
“lattice graph” (illustrated in Fig. 2), a unique type of graph While loops (an edge connecting a node to itself, or
whose properties can be exploited. First, the size of the graph is subsequently a path which starts and ends at the same node) are
decided by the number of rows m and number of columns n. mathematically possible in a generic graph, they do not exist in
this mode, as it would correspond to indefinite circling in a
closed “loop” within the map. Thus, the condition 7 is
The total number of vertices is easily expressed as in (3).
| | ⋅ (3) imposed in (16). Moreover, the modeled graph is an undirected
Afterwards, each vertex in the lattice graph can be uniquely one, hence the condition in (17).
mapped to a row and column value R(i) and C(i) in a set of rows ⊆ 99 , :| , ∈ ∧ 7 : (16)
R and columns C, respectively. Being a single-values unique
mapping between the sets, no two different vertices (i,j) can 9, : 9 , :∀ , ∈ (17)
have both the same row and column values as shown in (4), and
Based on this property, all edges of the lattice graph can be
the sets have the same size as shown in (5). constructed by defining an edge between all interior domain
The mapping functions of the row and column values for each vertices and their adjacent neighbors. This is mathematically
vertex i is done using (6) and (7), respectively. In (6) the row expressed using the interjection in (18).
∃ 9i, j: ∈ ↔ ∈4
number of node i is obtained by applying the modulo operator
∧ | | 1
of i to n (remainder of division), while the column is calculated
using integer (truncated) division in (7). This is a simple (18)
demonstration of the advantage of using zero-based numbering ∨ | |
to obtain simple and computationally efficient operations The total number of edges in the graph can be obtained using
within the graph. the expression in (19).
∧ ↔ (4) | | 1 ⋅ / 1 ⋅
| | | | | | 2⋅ ⋅
(19)
(5)
mod (6)
⋅ /| | (7)
The x and y coordinates of each vertex on the original (physical)
map can be retrieved using (8) and (9), where $% and $&
correspond to the horizontal and vertical spacing between cells,
respectively.
' ⋅ $% (8)
( ⋅ $& (9)
For equidistant and isomorphic spacing, this is simplified by
setting $% $& Δ*. Furthermore, the relationship between
Fig. 2. An illustration of five-by-five map modeled as a lattice graph. Cells are
row and column values of adjacent vertices the graph is defined assigned as vertices in the graph, and connections between adjacent vertices
using (10)-(13). correspond to edges of the graph.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
4

3) Shortest Paths ALGORITHM I. PSEUDOCODE OF THE DESIGNED DOT ALGORITHM.

The constructed lattice graph is a connected graph, meaning 1 Input Map, TaskList, MobileAgents
that any two set of vertices {i,j} can connected using a number 2 while isRunning do
of edges. The simplest connection is a walk, in which a 3 tau += 1
sequence of edges joins two vertices. A walk can either be finite 4 for each A in MobileAgents
or infinite, in which the edges contained in the sequence need 5 if A.isCharging then
not to be unique. 6 A.chargeStep()
7 if A.fullyCharged then
A path is defined as a walk in which all the elements are unique,
8 A.isCharging := false
i.e., every vertex in the path is only visited once. Some path
9 tau += 1
P(i,j) connecting i and j is therefore defined in (20), with K
10 end if
being the number of elements in the path.
11 else if A.atStation then
P i, j @A , @B , … @DEB | 9@A , @B , … @DEB : 12 A.path ← DijkstraSPF(A.orSta,A.deSta)
∈ ∧ @A , @DEB ,
(20) 13 A.atStation := false
14 else
For every set of vertices i and j, there exists a finite number of
paths between them, where FG,H is a set containing all possible
15 A.loc[t] ← A.move(path,loc[t-1])
16 if map[A.loc[t]].isStation then
paths P(i,j). In a weighted graph every edge E is associated with
a weight value I(E) such that ↦ K, with the latter being the
17 A.atStation := true
18 tau += tau
set of edge weights. Accordingly, the weighted length l(P) of a
19 else
path can be calculated as shown in (21).
20 Map.vertexHeat[loc[t]] += inc
DEB 21 end if
L @ M I 9@N , @NOB : (21) 22 for each N in Map.vertexHeats
NPA 23 N-=Map.CDF()

This function can be used to map FG,H ↦ QG,H (set of


24 end for
25 end if
corresponding path weighted lengths). The graph distance
26 end for
between two vertices is defined in (22) as the weighted length
27 Map.refresh()
of the shortest path between them:
$ , minSQG,H T
28 TaskList.refresh()
(22) 29 MobileAgents.refresh()
30 end while
Finding the shortest path between any two vertices is a
fundamental problem in graph theory for which solution
algorithms have been well established. Shortest path first (SPF) 2) Agent (Class): Each agent is modeled as a class. The class
algorithms are vital algorithms for graph analysis. contains information about the agent, e.g. its current location,
battery state-of-charge (SoC), current path and the class
Dijkstra’s algorithm is [21] one of the most popular and well- methods to update all the aforementioned values.
established fundamental SPF algorithms in graph theory. The
algorithm is a highly computationally efficient algorithm 3) Checkpoints (Class Property of Map, Agent): Checkpoints
finding the shortest path between two nodes in a graph as are locations in the map where the agents stop between map
expressed in (23). traversals. Checkpoints don’t necessarily have to also contain a
U@V ∶ , →@ , ∋L @ , $ , (23)
charging stations, whilst all charging stations are checkpoints,
since the agent can stop at a station and not charge depending
It is duly noted that the proposed model accommodates the use on its current path or schedule.
of any shortest path method, and not necessarily Dijkstra’s SPF.
The choice of Dijkstra as opposed to other alternatives is 4) Timer (Global Variable): The time t is constantly
discussed and analyzed in detail in Section III.C. incremented as a global counter in the implemented program
with any update in the map. Given a lattice graph, the
With the mathematical formulation being specified, the
movement time from one node to the other can be used as the
designed algorithm can now be expressed in terms of the graph
unit of time if all agents are the same model (i.e., same speed),
elements and defined relations.
which is common in most industrial facilities. MAXTIME can
C. Designed Algorithm and Computational Implementation be used as a termination criterion for the program.
Recalling the original motive, the objective of the proposed Z∈[ 0,1, … \]^_`\ (24)
algorithm is to be generic in nature, easily adaptable to different
problems with elements defined in II.A. To do this, the designed 5) Traversal Timer (Class Property of Map, Agent): A second
algorithm was implemented in an object-oriented programming time variable is incorporated to increase the versatility of the
environment. The pseudocode is shown in Algorithm I, algorithm. Since the algorithm relies on the agents traversing
followed by a detailed description of the implementation. between checkpoints, the flow of time can be alternatively
tracked as a counter of the number of traversals the agent
1) Map (Class): The industrial site map model is implemented makes. This traversal time a is the one used to keep track of the
as a class. A map object contains all information about the graph vertex properties and update the heat values in the map.
(edges and vertices) and the class methods to update them.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
5

A good feature of this implementation, which provides the III. PARAMETER TUNING AND BENCHMARK TESTING
versatility, is that a can always be set simply as a Z in the In this section, tuning parameters of the algorithm are
code, switching back to real time in the dependent functions identified, and a benchmark analysis is performed to test the
according to the type of tasking problem at hand. Like
proposed algorithm on a benchmark case, assess the appropriate
MAXTIME, TMAX can also be used as a termination criterion.
values for the parameters, and analyze the computational
a∈b 0,1, … , c\]^ (25) performance and time complexity of the algorithm.
A mapping τ Z can give the current increment time at any t. Finally, the choice of the most adequate shortest path method
6) Heat Values (Class Property of Map): Each vertex has a (Dijkstra is justified by discussing other commonly employed
time-varying “heat” value H(i,t) assigned to it in the Map class. shortest path methods is graph theory (A* Search and Bellman-
The movement cost through an edge is defined as the mean of Ford) and performing a comparative analysis between feasible
the heat values of the two connected vertices as in (26). candidates.
1
I 9 , :, Z e ,Z / e ,Z ∀ 9 , : ∈ ,Z ∈ [
A. Identifying Tunable Parameters
2
(26)
From the algorithm description it can be seen that there are two
This heat property is the main premise of the designed main parameters which can be used to tune the algorithm:
algorithm and is used to establish all other relations to model a
given problem and calculate the task scheduling. Heat values of 1) Increment Value: The first tuning parameter is the
the vertices are continuously updated to “guide” each agent incremental heat value of a vertex once an agent completes a
through the shortest path in the graph such that all tasks are task there. This is defined as INC in (27). Note that this function
achieved while traversing between its checkpoints (Fig. 3). is only invoked once an agent reaches a vertex marked with a
task.
7) Obstacles are directly incorporated by setting a very large
number as heat value in that vertex. In this manner, obstacles e ,Z e , Z / INC, if task completed (27)
can be modeled in a very computationally efficient way (as
opposed to the use of exceptions or conditional statements), 2) Cooldown Function: This second tuning parameter is how
since the movement to/from that vertex is never chosen over the vertex heat values of the whole graph are updated every time
any other alternative. This number is imposed as the largest increment t. This is defined as a function CDF in (28).
float value of the machine where the algorithm is running, e ,Z rV , e , Z , Z (28)
which for most modern processors is 1.7976308.
In this study, four different types of functions are considered. A
8) Tasks, on the contrary, are by setting a low value, depending Fixed Cooldown (FCD) decrements the H(i,t) by a constant
on the type and/or urgency of each task. This acts as an value CD every time increment, while a Zero Cooldown sets
“attractor” for the mobile agent since the Dijkstra SPF r 0 as in (29) and (30).
algorithm will be attracted to pass through that vertex when In (31) and (32), exponential functions are used instead for a
constructing the path instead of other alternatives. scaled cooldown (SCD), making the cooldown value increase
Once an agent has reached a vertex with a task, the heat value exponentially with every traversal time. In SCD1 and SCD2,
of this vertex is incremented. In this way, the movement cost the initial decrement values are 1 and 0, respectively.
to/from this location is increased, removing the “attractor” as stuH scales the function, increasing the exponential growth as
the task is accomplished. A “cooldown” effect is applied by stuH → 0, as shown in (33).
decrementing heat values of all vertices with each increment of
t, such that for an idle map with no activity, heats are eventually rVvwx , e , Z , Z e ,Z CD (29)
rVzwx , e , Z , Z e ,Z CD, CD 0
reset to their initial values.
(30)
To sum up the flow of the algorithm:
rV{|}B , e , Z , Z e ,a Z 1 ~ •€•⋅‚ ƒ
/1 (31)
rV{|}„ , e , Z , Z e ,a Z 1 ~
• The industrial site or facility is modeled as a lattice graph. •€•⋅‚ ƒ (32)
• Each vertex has a heat property that is updated with every ΤtuH
SCD |†| ⋅ log ˆ Ž
TMAX
increment of time t based on the mobile agents’ movement (33)
through the map, the flow of time, and nature of the tasks to
be performed (as visualized in Fig. 3). The heat value update
is done by incrementation and cooldown.
• Tasks and obstacles are modeled by setting the heat value
accordingly to guide the agents.
• The heat values set the edge weights for the graph.
• The pathing of each mobile agent between its checkpoints
is determined using Dijkstra’s SPF (or an alternative shortest
path method) every increment of traversal time a.
The algorithm was implemented using Python 3.6.7. All
subsequent tests were run on a standard laptop computer with
an Intel Core i7-8550U CPU @ 1.80 GHz, 16.0 GB RAM, and Fig. 3. Vertex properties being updated as the mobile agent moves and follows
Windows 10 64-bit operating system. a path through the map.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
6

B. Benchmark Analysis and Limit Testing


The objective of benchmark analysis is limit-testing the
proposed algorithm by conducting a parametric study to assess
the performance and stability of the solution A generic case
study is used based on the facility inspection problem [17].
In this problem, a mobile agent travels between the charging
stations, at the top-left and bottom-right corners of the map. The
mobile agent must inspect the site, making sure all areas are
frequently visited and no areas are ignored. The inspection
problem makes is an ideal benchmark case study for limit
testing, since it is an extreme case of the task scheduling
problem: every vertex of the map is itself a task since the goal
is to patrol the full map continuously.
The ideal solution in this case is for the agent to be pathed
across the map to avoid any areas of the map being neglected
on the long term (i.e., avoid some areas being visiting more than
others as much as possible). Three benchmark studies and limit
tests were performed. Fig. 4. Results for the first benchmark test: time complexity analysis showing
the recorded run time vs. other time complexities in big-Θ notation. The
1. Benchmark Test 1: Time Complexity Analysis designed algorithm is confirmed to be Θ(|V|·(log|V|)3)

When proposing a new computational algorithm, one of the In Fig. 5, the number of uninspected nodes at the end of each
most important features to establish is its time complexity. The run (at a ••‘’ 100) is plotted for all cases. Another
time complexity of the Dijkstra SPF (computing only one performance metric is associated with the frequencies of vertex
traversal of the map) is Θ(|V|·log|V|). Using analytical analysis inspections. The ideal solution is for the number of visits for the
of the implemented code, the time complexity of the proposed maps vertices to be as close to the median value as possible (i.e.,
algorithm was determined to be Θ(|V|·(log|V|)3). no parts are neglected compared to others).
The benchmark problem is run for a grid size of 10x10, 25x25, To analyze this, a box plot with summary statistics for each run
50x50, 75x75, and 100x100. The ZCD function was used of the medium map is shown in Fig. 6. In this sense what is
(chosen for simplicity, since the choice is irrelevant and doesn’t desired is to have: 1) no zero values; and 2) minimum inter-
affect the time complexity results since all the CDF functions quartile range. From the results in Fig.5 and Fig. 6, the
are Θ(1)). The termination criterion was set as TMAX=100 following points can be made by observing both performance
(100 traversals). For each map size the code is run 10 times, and metrics:
the average run time is recorded. • ZCD is the only CDF that provides a stable operation,
The results are plotted in Fig. 4 in comparison to other common being independent of the grid size.
time complexities of graph algorithms, expressed in big-Θ • If a FCD is to be chosen, its value should be set as a
notation. From the results, it is indeed confirmed to be function of INC to guarantee improved performance.
Θ(|V|·(log|V|)3).
• In comparison, SCD1 and SCD2 do not perform as well
The small offset for larger values is attributed to approaching and are less stable. SCD1 shows more stability than SCD2, but
physical limits of memory allocation on a laptop PC. Thus, the better tuning of the function is necessary.
proposed algorithm is deemed computationally efficient, being
The results of this third benchmark test strengthen the points
marginally slower than Dijkstra’s SPF for a single shortest path
made previously. ZCD and FCD both provide stable
solution, yet faster than any Θ(N2) algorithm, i.e.,
performance, with the number of traversals required converging
Θ(|V|·log|V|) < Θ(|V|·(log|V|)3) < Θ(N2).
to a finite value as the grid size is increased. However, FCD is
2. Benchmark Test 2: INC and CDF Selection dependent on the INC value, thus being proportional to the grid
The second benchmark test aims to test the effect of varying the size for a stable operation. SCD1 and SCD2 are shown to have
value of INC and the choice of the CDF. To perform a full stability problems in their current form for large maps.
parametric analysis which considers the grid size as well, the It can be argued that the SCD function may provide better
testing is performed and comparatively evaluated on small performance depending on the type of tasking problem
(10x10), medium (25x25), and large (50x50) maps. involved. While this may be true, the objective of this test is to
Four each map size, ten different INC values are tested, varying determine the choice of parameters that guarantee a reliable and
from 0.5·|V| to 5·|V| with increments of 0.5·|V|. For each value stable operation for any type of tasking problem, thus
of INC, the problem is run using each of the four proposed CDF establishing a “benchmark” for the designed algorithm.
functions (i.e., a total of 3 maps x 10 INC values x 4 CDF runs). Nevertheless, the implementation makes it flexible for users to
For each run, the termination criterion was set as TMAX=100 freely tune these parameters to best fit the specific problem.
(100 traversals). As a performance metric the number of times Therefore, from the benchmark analysis it is possible to show
each vertex was visited/inspected by the agent is counted, that: 1) the proposed algorithm is Θ(|V|·(log|V|)3) and 2) ZCD
recalling that the anticipated solution is to have no uninspected is recommended as the “default” option for the CDF, being the
parts of the grid. most reliable and least dependent on other parameters.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
7

Fig. 5. Results for the second benchmark test: number of uninspected vertices at τ=TMAX=100. Results are shown for the total of number of runs corresponding
to: 3 maps x 10 INC values x 4 CDF choices.

Fig. 6. Results for the second benchmark test: box plot to show summary statistics of the number of vertex inspections at τ=TMAX=100. A box plot for each of
the 10 INC values x 4 CDF choices is plotted for the medium 25x25 map. The blue boxes correspond to the 25th to 75th percentile range. The red line is the median
value, and the whiskers show the maximum and minimum values. Outliers (>1.5 times inter-quartile range) are shows as red crosses.

3. Benchmark Test 3: Stability and Termination Criteria


By using TMAX as the termination criterion in the previous
study, it was observed that the number of required traversals to
fully span the map is dependent both on the tunable parameters
and the grid size. It is very critical to verify that the number of
traversals required to fully span the map does not diverge with
the grid size, i.e., it is critical to establish the stability of the
algorithm and the CDF functions and INC values.
Therefore, another limit test is performed by letting the
simulation run for a very large number of traversals
(TMAX = 500) and recording the number of traversals required
to inspect the full grid once all nodes have been inspected at Fig. 7. Results for the third benchmark test: number of traversals required to
least once. The results are listed in Table I and plotted in Fig. 7. inspect the full map relative to the map size, for each CDF selection. Dotted,
dashed, and solid lines correspond to INC=1|V|, 3|V|, and 5|V|, respectively.
C. Choice of the Shortest Path Method
TABLE I RESULTS FOR THE THIRD BENCHMARK TEST: NUMBER OF
In the designed and implemented algorithm, for each traversal TRAVERSALS REQUIRED TO INSPECT THE FULL MAP.
of a mobile agent through the modeled map, Dijkstra’s SPF Map Size INC
CDF
method is used to determine the path taken of the mobile agent. (|V|) 1|V| 3|V| 5|V|
Since the shortest path is guided by the node values set 100 36 16 14
FCD

iteratively according to the designed algorithm (as the map 625 >500 96 74
dynamically changes), the obtained path would maximize the 2500 >500 289 113
100 14 14 14
tasks being achieved while minimizing the movement cost (and
ZCD

625 58 58 58
hence, electricity consumption). 2500 108 108 108
Indeed, numerous other shortest path methods exist in graph 100 170 16 15
SCD1

theory applications, with common well-known alternatives to 625 381 393 438
2500 >500 >500 >500
Dijkstra’s SPF being A* Search and Bellman-Ford [22].
100 14 14 14
SCD2

All the aforementioned methods achieve the same objective: 625 349 426 422
find the shortest path between two nodes in a weighted graph. 2500 >500 >500 >500

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
8

The designed graph-based model and algorithm are versatile IV. REAL-WORLD APPLICATION
such that any shortest path method can be used, and the same In this section, a real-world case study is used to demonstrate
results would be achieved, since the shortest path for a given the applicability of the proposed algorithm to real-life
state of the map (node values and corresponding edge weights) problems. An oil refinery located at coordinates (53.090,
would be the same regardless of the method used to find it. 14.254) is considered. Due to their nature, oil refineries require
In this case, the choice of the most suitable shortest path method constant safety inspection, particularly with the hazardous
to incorporate in the proposed algorithm depends on the nature involving the oil tanks and pipelines on the site. These
computational burden. To justify the choice of Dijkstra as refineries span very large areas, and so automating the safety
opposed to other alternatives, a discussion thereof and a inspection process is highly desired.
comparative analysis is performed in this section.
A. Validation Case Study with Stationary Obstacles
By reperforming the benchmark analysis considering all three
candidates (Dijkstra, A* Search, and Bellman-Ford), Dijkstra In this case study, one autonomous mobile agent is allocated to
was shown to guarantee the best performance in terms of perform the security inspection and patrolling the refinery, as
computational complexity (and thereby scalability) for the shown in Fig. 9 (left). The SMP S5.2 series security robot 2020
proposed algorithm. In Fig. 8, A* Search and Bellman-Ford are model [22] is considered as a commercially available option for
seen to have a similar performance, being significantly slower an autonomous mobile agent, with its specifications listed in
than Dijkstra, especially for larger maps. Table II. Thus, the objective is to test the performance of the
proposed DOT algorithm in effectively scheduling its fully
Another critical point to note is that with the proposed model
autonomous operation in the sites’ safety inspection. In this first
and algorithm, Bellman-Ford is unable to converge to a solution
case study, only stationary obstacles are considered.
when all the edge weights are equal (e.g., in the first iteration),
and an alternative method must be employed whenever this The physical limitations of the agent’s motion must be
occurs. considered to determine the correct discretization of the lattice
graph. The dimension of each grid element Δ* must be larger
This issue does not occur neither with Dijkstra nor with A*
than both the minimum width of the patrol path (S3) and the
Search, which both robustly find the shortest path in all
minimum turning radius (S4). Meanwhile, the grid elements
iterations for all map conditions. Therefore, the use of Bellman-
must also be smaller than the minimum object recognition range
Ford is not recommended, and the two feasible candidates are
of the onboard cameras and detection systems (S5). This is
Dijkstra and A* Search.
expressed in (34).
max U3, U4 – Δ* – U5
Both methods provide the same results for the designed model
and algorithm, with Dijkstra being superior in terms of (34)
computational time, especially for larger maps (i.e., better With the real site area being 350x350 (m ), a spacing ˜* 7m 2
scalability). Therefore, Dijkstra’s method is shown to guarantee would satisfy (38), thus resulting in a 50x50 grid as shown in
a reliable performance while providing the fastest Fig. 8 (right). The graph can then be constructed as formulated
computational time (which is critical as the proposed algorithm in Section II. As mentioned, obstacles (in this case being the
is intended for real-time application). tanks) are modeled by setting the vertex heat values to
Nevertheless, the implementation of the proposed model and 1.7976308. Each time step would correspond to the average
algorithm makes it flexible for users to use any shortest path traveling time between two vertices at the agent’s average
method at their convenience. A comparison between the choice autonomous traveling speed (S2), as shown in (35).
ΔZ Δ* ⋅ U2 0.035 ℎ
of Dijkstra and A* Search in the proposed model and algorithm
is revisited in the next section considering a real-world (35)
application. The agent’s onboard battery SoC is updated according with
each timestep to (36). The charging and discharging values (per
timestep) are calculated according to (37) and (38). The
minimum allowed SoC is 0.1. Accordingly, the maximum range
of a fully charged agent is be obtained in (40).
U, Z
U, Z 1 U, }G{•žŸ ¡ ,¢ ,* £
œ
(36)
U, Z 1 / U, |•žŸ ¡ , ¢ ¤ℎ¥+£ £
Δ*
U, }G{|•žŸ ¡ 100 ⋅ % 0.029% (37)
U1
ΔZ ⋅ U9
U, |•žŸ ¡ 100 ⋅ % 0.7% (38)
U8
¥' +¥ £~ 1 U, ©Gª ⋅ U1 19.2 « (39)
The algorithm is run for this problem with ZCD and ¬- 1.
In order to simulate the real-life case, the termination criteria is
set according to the maximum range at full charge, by setting
•‘’•¬•® 3085. In this sense, the case study aims to assess
the effectiveness of the algorithm in scheduling the agent’s
Fig. 8. Comparing the performance of the proposed algorithm while using inspection paths through the map, making the best use of one
Dijkstra, A* Search, and Bellman-Ford for different map sizes. full battery charge.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
9

TABLE II SPECIFICATIONS OF THE MOBILE AGENT USED FOR THE CASE STUDY Snapshots of the resulting paths through the site by the DOT
(SMP S5.2 SERIES 2020 MODEL) [22]. algorithm are visualized in Fig. 10, and the performance metrics
S1 - Cruising Range 24 km are compared with those of DRW1 and DRW2 in Fig. 11. The
S2 - Autonomous Traveling Speed (average) 5 km/h latter are also listed in Table III. The proposed algorithm
S3 - Width of patrol route path (minimum) 0.9 m outperforms the others in all performance metrics.
S4 - Turning radius (minimum) 5m It is noted that the algorithm run time is calculated per map
S5 - Object Recognition Range (minimum) 50 m traversal as a normalized figure. As anticipated, the choice of
S6 - Operating Time (average) 12 h Dijkstra or A* has no effect on the performance metrics except
S7 - Charging Time (average) 5h the computational time, where the choice of Dijkstra
S8 - On-Board Battery Capacity 3 kWh outperforms A* Search (by 12.5%).
S9 - Charger Power 600 W
Note that the DRW algorithms have a random element and the
results shown are for optimized runs (best cases). Therefore, the
It has been mentioned that the proposed algorithm is the first of actual real-life performance of DRW is worse than shown here,
its kind in generically model the industrial task scheduling as opposed to the deterministic solution of the proposed DOT.
problem for autonomous agents. While this is a novel
contribution, it does add a difficulty since there were no similar The results shown are for an operation limited to one full battery
existing algorithms to use for comparison at the time of this charge to simulate a real-life restriction. Removing this
work, especially in terms of the problem modeling. constraint (with recharging or a substitute agent) results in even
better performance by DOT compared to DRW. Finally, it is
Obtaining a deterministic solution is not possible, as it would worth noting that the ratio of scheduled real time to the
require a full graph search to be performed being Θ(|V|!), algorithm running time is ~1000, confirming that DOT is
corresponding to more than 1.67411·path determinations, which deployable for real time scheduling of autonomous agents.
is infeasible even on high-performance computers.
It can be seen in Fig. 10 how the obstacles were provided
However, there are multiple graph theory algorithms for path directly in the map data input file without the need for any
spanning and sampling that can be modified for this purpose. conditional statement modifications to the code. Applying a
Accordingly, the directed random walk (DRW) algorithm [23], heat value of 1.7976308 guaranteed that the obstacle vertices are
[24] was used with two variations: normal (DRW1), and brute- never selected in computed paths. This provides great
force (DRW2). Those algorithms are detailed in Appendix 1. versatility, since new obstacles can be introduced or moved in
In addition, the case study is used to reaffirm the choice of real-time, a feature which is not possible by other graph
Dijkstra’s SPF as opposed to the other feasible alternative methods that construct random paths such as DRW. To
(A* Search) in the proposed model and algorithm. While it is demonstrate this, a second case study with dynamic (mobile)
anticipated that both Dijkstra and A* Search would yield the obstacles is performed.
same results and the main advantage of choosing Dijkstra B. Case Study with Stationary and Mobile Obstacles
would be in the computational efficiency, this is revalidated by
comparing the results of the proposed algorithms using both In this case study, two dynamic (mobile) obstacles are
shortest path methods. introduced into the map. In the real-world setting, this would
The objective now is to evaluate a) how effectively is the site correspond to construction work along the pipelines in the oil
being inspected by the assigned agent and b) how efficiently is refinery, which would in untraversable by the mobile agent
this being done by limiting the operation to one full battery during its inspection patrols. This is illustrated in Fig. 12, with
charge. Four evaluation criteria are used: dynamic obstacles 1 and 2 set on a path that is eastbound and
westbound, respectively. The speed of the obstacles is set to
• Percentage of Site Area Inspected [%]. 3m/h, corresponding to a realistic relocation of maintenance
• Mean number of vertex visits. workers along the pipelines.
• Mean Area per Charge Consumed [m2/kWh] Snapshots of the resulting paths through the site by the DOT
algorithm is visualized in Fig. 13, and the performance metrics
• Ratio of Algorithm Running Time to Real Operating Time. are shown in Table IV.

Fig. 9. Satellite image of the oil refinery located at coordinates (53.090, 14.254) used as for the case study (left), and modeling as a lattice graph (right) with the
obstacles/non-traversable vertices highlighted in yellow. The real-life area of the site is 350x350m2.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
10

Fig. 10. Snapshots visualizing the resulting paths through the site by the DOT algorithm at a 0,3,6,9,12,18,21,24,27,28 on a single onboard battery charge.
Dark and light colored nodes correspond to inspected vs. uninspected vertices, respectively.

Fig. 11. Comparison between the proposed DOT algorithm vs. DRW1 and DRW2 in terms of the performance metrics: a) Percentage of Site Area Inspected [%],
b) Mean number of vertex visits, c) Mean Area per Charge Consumed [m2/kWh], and d) Ratio of Algorithm Running Time to Real Operating Time.

TABLE III PERFORMANCE METRICS FOR DOT WITH STATIONARY OBSTACLES ONLY.
Method Used for Task Scheduling
Performance Metric Proposed Graph Model and Algorithm
DRW1 DRW2
With Dijkstra SPF With A* Search
Algorithm Running Time (s) 3.99 4.5 36.6 17.2
Mean number of vertex visits 1.20 1.20 0.43 0.83
Total area inspected (m2) 57526 57526 13083 26313
Percentage site area inspected (%) 60% 60% 14% 27%
Area per Charge Consumed (m2/kWh) 22103 22103 13874 14569

Fig. 12. Satellite image of the oil refinery located at coordinates (53.090, 14.254), including mobile obstacles used as for the second case study (left), and modeling
as a lattice graph (right) with the obstacles/non-traversable vertices highlighted in yellow (stationary and mobile). The real-life area of the site is 350x350m2.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
11

Fig. 13. Snapshots visualizing the resulting paths through the site by the DOT algorithm at a 0,3,6,9,12,18,21,24,27,28 on a single onboard battery charge.
Dark- and light-colored nodes correspond to inspected vs. uninspected vertices, respectively. Blue and red squares correspond to stationary and mobile obstacles,
respectively. The dotted path corresponds to the agent’s current path at the given time.

The presence of dynamic obstacles slightly increases the In this way, the designed algorithm is versatile and can be easily
computational burden (due to the necessity of updating the node adapted or modified by users for different industrial tasking
heat values every time the obstacle moves). Moreover, the problems cases while guaranteeing a reliable and robust
presence of the moving obstacles seems to (very slightly) performance for real world applications.
facilitate the inspection problem, since it forces the mobile
agent to cover a wider area to avoid the additional obstacles TABLE IV PERFORMANCE METRICS FOR DOT (PROPOSED ALGORITHM WITH
present. DIJKSTRA) VS. PROPOSED ALGORITHM CONSIDERING DYNAMIC OBSTACLES.
Proposed Graph Model and
It is verified that the resulting paths for the agent never intersect
Algorithm
with neither the stationary nor the dynamic (moving) obstacles, Performance Metric
With Dijkstra With
while successfully maximizing the inspected area for an (DOT) A*Search
operation limited to one full battery charge to simulate a real- Algorithm Running Time (s) 4.25 4.85
life restriction. Mean number of vertex visits 1.21 1.21
To reaffirm the statements made in Section III.C regarding the Percentage site area inspected (%) 61% 61%
choice of Dijkstra as opposed to other shortest path, the case Area per Charge Consumed (m2/kWh) 22235 22235
study with dynamic obstacles is re-simulated using the
proposed method, incorporating A* Search instead of Dijkstra.
As anticipated and previously stated (also as the results of the
first case study showed), the choice of the shortest path method
does not affect the results. Dijkstra is demonstrated again to
guarantee the best computational efficiency and algorithm
stability.
The objective of this paper was to clearly describe the proposed
model and algorithm present the mathematical formulation. A
thorough limit testing was performed to recommend the set of
parameter settings (i.e., INC and CDF) and the choice of the
shortest path method (i.e., Dijkstra), that guarantees reliable and
stable execution of the algorithm, in addition to minimal
computational burden.
However, the algorithm was designed such that the building
blocks can be easily changed by the users (e.g., choice of the
shortest path method), without influencing the results). This is
in fact a compelling advantage of the proposed graph model and
algorithm, being that the obtained solution is independent on Fig. 14. Comparing the computational performance of the proposed algorithm
while using Dijkstra vs. A* Search in the presence of stationary obstacles only
the choice of the shortest path function. (left) and stationary and dynamic obstacles (rights).

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
12

V. CONCLUSIONS
An innovative graph-based model and algorithm for optimal
task scheduling was proposed, implemented and tested. The
designed DOT algorithm was designed based on graph theory
to guarantee a generic nature, making it applicable on a plethora
of tasking problems and not being case-specific. For any
industrial setting where mobile agents are responsible for
accomplishing tasks across a site, an optimal task schedule for
each agent is obtained to maximize the speed of the task
achievement with high energy consumption efficiency. The
algorithm’s versatility in modeling different problems and high
computational efficiency make it perfectly suitable for a fully Fig. A1 Illustration of current node i , neighboring nodes, and their Cartesian
distributed task scheduling of autonomous agents. A real-world distance to the destination.
case study has demonstrated the effectiveness of the proposed
algorithm for an industrial site inspection problem, including
the presence of dynamic (moving obstacles). In future work, the
algorithm can be applied to other problems in smart industries
with dynamic environments where energy consumption
efficiency is required.

ACKNOWLEDGEMENTS
The Authors sincerely thank the Editor and Reviewers from the
IEEE-IAS Industrial Automation and Control Committee for Fig. A2 Constructing the roulette wheel selection.
their detailed revision and comments which have greatly helped
VI. REFERENCES
improve the quality of the manuscript.
[1] M. Lotfi, C. Monteiro, M. Shafie-Khah, and J. P. S. Catalao, “Evolution
of Demand Response: A Historical Analysis of Legislation and Research
APPENDIX 1: DIRECTED RANDOM WALK ALGORITHM Trends,” in 2018 20th International Middle East Power Systems
Conference, MEPCON 2018 - Proceedings, 2018, pp. 968–973.
In a random walk, the next vertex j in a path is chosen at random [2] J. A. P. Lopes et al., “The future of power systems: Challenges, trends,
from the neighbors of a vertex i. In this study a variation of this and upcoming paradigms,” WIREs Energy Environ., Dec. 2019.
is used for comparison with DOT, a directed random walk [3] R. K. Jain, J. Qin, and R. Rajagopal, “Data-driven planning of distributed
(DRW) [24], [25]. In a DRW the next vertex is chosen energy resources amidst socio-technical complexities,” Nat. Energy, vol.
2, no. 8, pp. 1–11, Aug. 2017.
randomly, but the probability of a vertex being chosen is [4] M. Chowdhury and M. Maier, “Local and nonlocal human-to-robot task
inversely proportional to its distance from the destination. This allocation in fiber-wireless multi-robot networks,” IEEE Syst. J., vol. 12,
is illustrated in Fig. A1, where the current vertex i has four no. 3, pp. 2250–2260, Sep. 2018.
neighbors 1, 2, 3, and 4, with the distances (Cartesian) to the [5] V. Ortenzi et al., “Robotic manipulation and the role of the task in the
destination being d1, d2, d3, and d4, respectively. The next metric of success,” Nat. Mach. Intell., vol. 1, no. 8, pp. 340–346, Aug.
2019.
vertex in the path is selected using a roulette wheel approach. [6] A. Ovalle, A. Hably, S. Bacha, G. Ramos, and J. M. Hossain, “Escort
The aim is to have a random selection while assigning a higher Evolutionary Game Dynamics Approach for Integral Load Management
priority to vertices closer to the destination. Therefore, the of Electric Vehicle Fleets,” IEEE Trans. Ind. Electron., vol. 64, no. 2, pp.
selection probability is proportional to d’, which is the inverse 1358–1369, Feb. 2017.
[7] X. Hu, C. Zou, X. Tang, T. Liu, and L. Hu, “Cost-optimal energy
(1/d) of the Cartesian distance. A random variable X is management of hybrid electric vehicles using fuel cell/battery health-
generated such that X=U(0,sum(d1’,d2’d3’,d4’), based on an aware predictive control,” IEEE Trans. Power Electron., vol. 35, no. 1,
uniform distribution. As illustrated in Fig A2, the probability of pp. 1–1, 2019.
each of the neighbors being selected is proportional to its [8] X. Hou, J. Wang, T. Huang, T. Wang, and P. Wang, “Smart Home Energy
inverse distance from the destination. With the random element Management Optimization Method Considering Energy Storage and
Electric Vehicle,” IEEE Access, vol. 7, pp. 144010–144020, 2019.
performed, the results reported in this study are based on the [9] H. M. D. Espassandim, M. Lotfi, G. J. Osorio, M. Shafie-Khah, O. M.
25th percentile (best case) of 1000 runs. Shehata, and J. P. S. Catalao, “Optimal operation of electric vehicle
parking lots with rooftop photovoltaics,” in 2019 IEEE International
The DRW guarantees to provide a finite path; however, the Conference on Vehicular Electronics and Safety, ICVES 2019, 2019.
random element can result in excessively long ones. Therefore, [10] M. Bhaskar Naik, P. Kumar, and S. Majhi, “Smart public transportation
two variations of the DRW were used in this work: normal network expansion and its interaction with the grid,” Int. J. Electr. Power
(DRW1) and an improved brute force one (DRW2). At the Energy Syst., vol. 105, no. December 2017, pp. 365–380, 2019.
beginning of every traversal while stationed at a checkpoint, a [11] M. Rogge, E. Van Der Hurk, A. Larsen, and D. U. Sauer, “Electric bus
fleet size and mix problem with optimization of charging infrastructure,”
path is calculated. Once a path requires the agent to drop below Appl. Energy, vol. 211, pp. 282–295, 2018.
SoC minimum, the pathing is halted. With DRW2, ten trials are [12] E. Yao, T. Liu, T. Lu, and Y. Yang, “Optimization of electric vehicle
attempted at finding a shorter path until the solution is halted, scheduling with multiple vehicle types in public transport,” Sustain. Cities
in which case the agent must recharge before proceeding, since Soc., vol. 52, no. August 2019, p. 101862, 2020.
[13] S. Wang, J. Wan, D. Zhang, D. Li, and C. Zhang, “Towards smart factory
no shorter path can be found that can be traversed with the for industry 4.0: A self-organized multi-agent system with big data based
remaining SoC. feedback and coordination,” Comput. Networks, vol. 101, pp. 158–168,
Jun. 2016.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIA.2021.3091418, IEEE
Transactions on Industry Applications
13

[14] X. Gong, Y. Liu, N. Lohse, T. De Pessemier, L. Martens, and W. Joseph, [20] M. Lotfi, A. Ashraf, M. Zahran, G. Samih, M. Javadi, G.J. Osório, J.P.S.
“Energy- and Labor-Aware Production Scheduling for Industrial Demand Catalão, “A Dijkstra-Inspired Algorithm for Optimized Real-Time
Response Using Adaptive Multiobjective Memetic Algorithm,” IEEE Tasking with Minimal Energy Consumption,” in Proceedings - 2020
Trans. Ind. Informatics, vol. 15, no. 2, pp. 942–953, Feb. 2019. IEEE International Conference on Environment and Electrical
[15] B. Beirigo, F. Schulte, and R. Negenborn, “Dual-Mode Vehicle Routing Engineering and 2020 IEEE Industrial and Commercial Power Systems
in Mixed Autonomous and Non-Autonomous Zone Networks,” in IEEE Europe, EEEIC / I and CPS Europe 2020, 2020.
Conference on Intelligent Transportation Systems, Proceedings, ITSC, [21] E. W. Dijkstra, “A note on two problems in connexion with graphs,”
2018, vol. 2018-November, pp. 1325–1330. Numer. Math., vol. 1, no. 1, pp. 269–271, Dec. 1959.
[16] A. Khamis, A. Hussein, and A. Elmogy, “Multi-robot task allocation: A [22] D.K. Smith, “Shortest Paths,” Networks and Graphs, pp. 27–45, 2003.
review of the state-of-the-art,” Stud. Comput. Intell., vol. 604, pp. 31–51, [23] SMP Robotics, “S5.2 series 2020 models datasheet,” 2020. [Online].
2015. Available: https://smprobotics.com/wp-
[17] C. Liu, Multi-Robot Task Allocation for Inspection Problems with content/uploads/2019/09/security_robot_s5.2_is_prompt_2020.pdf.
Cooperative Tasks Using Hybrid Genetic Algorithms. . [24] S. Y. Huang, X. W. Zou, and Z. Z. Jin, “Directed random walks in
[18] C. Sarkar, H. S. Paul, and A. Pal, “A Scalable Multi-Robot Task continuous space,” Phys. Rev. E - Stat. Physics, Plasmas, Fluids, Relat.
Allocation Algorithm,” in Proceedings - IEEE International Conference Interdiscip. Top., vol. 65, no. 5, p. 4, May 2002.
on Robotics and Automation, 2018, pp. 5022–5027. [25] B. Ribeiro, P. Wang, F. Murai, and D. Towsley, “Sampling directed
[19] M. Hermann, T. Pentek, and B. Otto, “Design principles for industrie 4.0 graphs with random walks,” in Proceedings - IEEE INFOCOM, 2012, pp.
scenarios,” Proc. Annu. Hawaii Int. Conf. Syst. Sci., vol. 2016-March, pp. 1692–1700.
3928–3937, 2016.

0093-9994 (c) 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: b-on: UNIVERSIDADE DO PORTO. Downloaded on June 23,2021 at 14:57:28 UTC from IEEE Xplore. Restrictions apply.

You might also like