An Agent-based System for Truck Dispatching in Open-pit Mines
Gabriel Icarte Ahumada
1,2 a
, Eduardo Riveros
2
and Otthein Herzog
3,4,5 b
1
International Graduate School for Dynamics in Logistics (IGS), University of Bremen, Bremen, Germany
2
Faculty of Engineering and Architecture, University Arturo Prat – UNAP, Iquique, Chile
3
Center for Computing and Communication Technologies - TZI, University of Bremen, Germany
4
Jacobs University Bremen, Germany
5
Tongji University Shangai, P.R. China
Keywords:
Truck Dispatching, Open-pit Mine, Multiagent Systems, Scheduling.
Abstract:
An important logistic process in open-pit mines is material handling due to its high operational costs. In this
process shovels extract and load materials that must be transported by trucks to different destinations at the
mine. Several centralized systems have been developed to support this process. The methods applied for these
systems are based on mathematical programming, heuristic processes or simulation modelling. The main
disadvantages in these systems are performing calculations in a timely manner, addressing the dynamics of
a mine, and not being able to provide a precise dispatching solution. In this paper, we describe a distributed
approach based on Multiagent Systems (MAS). In this approach, the real-world equipment items such as
shovels and trucks are represented by intelligent agents. To meet the target in the production plan at minimal
cost, the agents must interact with each other. For this interaction, a Contract Net Protocol with a confirmation
stage was implemented. To evaluate the MAS, an agent-based simulation with data from a Chilean open-pit
mine was used. The results show that the MAS provide more precise solutions than the current centralized
systems in a practical calculation timeframe. In addition, the MAS decreases the truck costs by 20% on
average.
1 INTRODUCTION
An important logistic process in open-pit mines is ma-
terial handling, since it can account for up to 50% of
the operational cost (Alarie and Gamache, 2002). In
this process, the most important equipment items are
shovels and trucks. These equipment items must work
together to extract and to transport all the material re-
quired in the operational plan at minimum cost. If the
extracted material is waste, it must be transported to a
waste dump, and if it is ore, it must be transported to
a crusher or a stockpile. Figure 1 shows all the activ-
ities that a truck must perform to transport materials
from a loading point to an unloading point. This is
called the truck cycle. This cycle is performed and
repeated by each truck until the shift ends.
To achieve efficient material handling, an impor-
tant decision must be made each time that a truck fi-
nalizes an unloading activity: Where does this truck
a
https://orcid.org/0000-0002-1997-0053
b
https://orcid.org/0000-0003-4781-2551
have to go now? The answer to this question is not
easy due to the number of the involved variables in the
process and the dynamics of the environment where
the equipment items operate.
In the last decades, different centralized systems
have been implemented to support truck dispatching
in open-pit mines based on mathematical program-
ming, heuristic processes or simulation. The strengths
of these methods are their maturity and their well-
known implementation. However, the weaknesses
can be observed in addressing the dynamics of a mine
(Bastos et al., 2011), not being able to provide a
precise solution (Patterson et al., 2017), using esti-
mated information (Chang et al., 2015; Costa et al.,
2005; Krzyzanowska, 2007; Newman et al., 2010),
and obtaining a dispatching solution in a timely man-
ner when the model is too complex.
One common strategy applied in some centralized
systems is based on the multistage approach (Alarie
and Gamache, 2002). This approach uses a guide-
line that is computed in the upper stage. Afterwards,
this guideline is used by the lower stage as a refer-
Icarte Ahumada, G., Riveros, E. and Herzog, O.
An Agent-based System for Truck Dispatching in Open-pit Mines.
DOI: 10.5220/0008961800730081
In Proceedings of the 12th International Conference on Agents and Artificial Intelligence (ICAART 2020) - Volume 1, pages 73-81
ISBN: 978-989-758-395-7; ISSN: 2184-433X
Copyright
c
2022 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
73
ence to make real-time dispatching decisions. For in-
stance, most centralized systems determine the num-
ber of trips to transport the required material in the
production plan from a loading point to an unloading
point. They do this before the machines work. Then,
when the trucks are working, and when one of them
finalize an unloading activity, the centralized system
selects and provides a new destination. To do this,
the centralized system considers some criteria, such
as the number of trips done between a loading and un-
loading point, the distance to a loading point or to the
loading point with the least production, among others.
This is also called an allocation model.
Figure 1: The truck cycle.
Despite the use of these systems, the trucks and
shovels do not operate efficiently, since queues of
trucks form in front of shovels and crushers, and there
are also shovel idle times. Therefore, the question re-
mains as how to improve the efficiency in the material
handling process.
Alternatively, a better solution that would allow
the equipment items to operate more efficiently would
be to set up schedules for each equipment item. The
schedules would contain all the activities that the
equipment items must perform, pointing out the start
times, end times, etc.
In this paper, we present a distributed solution
based on Multiagent Systems (MAS) that provide
more precise solutions than current systems. In or-
der to demonstrate the validity of the proposed MAS,
a comparison against a centralized dispatching algo-
rithm and actual data from a Chilean open-pit mine
was performed.
The remainder of this paper is structured as fol-
lows: Section 2 presents related work. Section 3
presents the distributed solution based on MAS. The
dispatching algorithm used for the evaluation of the
MAS is described in section 4. Section 5 presents the
evaluation and discussion of the proposed MAS in a
case study. Finally, the conclusions and outlook are
presented in section 6.
2 RELATED WORK
There are several articles that deal with truck dis-
patching in open-pit mines. These articles show dif-
ferent approaches that try to achieve two goals: im-
prove productivity and reduce operating costs (Alarie
and Gamache, 2002). These approaches use a cen-
tralized strategy based on methods from operations
research, simulation modelling or heuristic proce-
dures. Operations research methods are most com-
monly used. For instance, (Ahangaran et al., 2012)
proposed a real-time dispatching model considering
trucks with different capacities. The model uses two
methods: flow networks and integer programming.
(Ercelebi and Bascetin, 2009) employed a closed
queuing network theory for the allocation of trucks
and linear programming for the purpose of truck dis-
patching to shovels.
Simulation modelling is also a method often em-
ployed. For instance, (Hashemi and Sattarvand, 2015)
used simulation modelling in their work taking into
account the match factor indicator, which reflects the
relationship between shovel and truck productivity.
(Jaoua et al., 2012) presented a simulation framework
incorporating a traffic simulator with a classic discrete
event simulation model of internal transport systems.
Another method used in recent years is related
to heuristic procedures. These methods have been
quite popular in the literature because they are easy
to implement and do not require much computation
when making dispatching decisions, which is impor-
tant when decisions must be taken in real-time. For
example, (Alexandre et al., 2015) presented a com-
parison of results obtained by different evolving algo-
rithms for the Multi-objective Open-Pit Mining Oper-
ational Planning Problem. (Mendes et al., 2016) used
a multi-objective genetic algorithm.
Most of these works provide a method that deter-
mines the next destination of the truck when the latter
ends an unloading activity. To do this, they take into
account a previously calculated guideline and the cur-
rent status of the mine. These methods are not able
to provide a precise description of the activities of
shovels and trucks. Therefore, they cannot guaran-
tee a good synchronization between the activities of
the equipment items (Patterson et al., 2017).
In order to address the problem mentioned, two
previous papers proposed using schedules for all the
activities that the shovels and trucks must perform
(Chang et al., 2015; Patterson et al., 2017). To do this,
they used a dispatching algorithm and a metaheuris-
tic method to generate the schedules. Their results
showed that these algorithms generated schedules for
different size instances with good results and perfor-
mance in practical frametimes.
ICAART 2020 - 12th International Conference on Agents and Artificial Intelligence
74
3 MULTIAGENT SYSTEM FOR
TRUCK DISPATCHING IN
OPEN-PIT MINES
To the best of our knowledge, there is no evidence
that a multiagent system has been applied to truck dis-
patching in open-pit mines. However several articles
show the use and applicability of MAS in the trans-
port domain. (Chen and Cheng, 2010) performed a
literature survey on MAS applied for the transport do-
main. The research results clearly demonstrate the po-
tential of using agent technology to improve the per-
formance of traffic and transportation systems.
As was mention before, an aspect that is not ad-
dressed very well for the centralized approaches is the
dynamics of a mine. Equally significant, the dynamic
of the environment plays an important role in MAS,
since changes in the environment affect the agents.
Several studies have considered this issue. For ex-
ample, (Fischer et al., 1996) considered traffic con-
gestion and its effect on the delivery process. (Gath,
2015; Mes et al., 2007) considered the dynamic en-
vironment by the arrival of orders for delivery / col-
lection of products at any time. (Chen and Cheng,
2010) pointed out that the purpose of introducing mo-
bile agents into traffic and transportation systems is to
increase the flexibility and the ability of the system to
deal with uncertainty in a dynamic environment.
Despite the fact that MAS has not been applied to
truck dispatching in open-pit mines, we believe that
MAS is a suitable alternative to be applied in the con-
text of an open-pit mine. This is because of the evi-
dence of the application of MAS in the transport do-
main and the addressing of the dynamics of the envi-
ronment.
The objective of the developed MAS is to accom-
plish the targets of the production plan at the min-
imum cost. To do this, the agents interact with each
other to create schedules for each equipment item that
they represent. Here, an agent represents only one
equipment item from the real-world. Table 1 shows
the implemented agents, their objectives and proper-
ties.
Our multiagent system for truck dispatching in
open-pit mines offers several advantages over current
centralized systems:
Efficient dispatching solution. Using schedules
organizes the machine activities more efficiently
than an allocation model. In addition, the use of
specific data from equipment items generates the
schedules more precisely.
Robustness. Due to the fact that there is not a cen-
tral node, if any node faults, the system continues
working.
Flexibility. An agent can change its behaviour
to adapt to the new conditions in its environment
and, in this way, to achieve its own objectives or
the objectives of the entire system.
3.1 Interaction in the Scheduling MAS
In order to create the schedules, the agents must inter-
act with each other. To do this, a Contract Net Pro-
tocol (CNP) (Smith, 1980) is implemented. In the
context of the MAS for truck dispatching, the CNP
works as follows: a shovelAgent initiates a negotia-
tion with the truckAgents sending them a call for pro-
posals (CFP). The CFP points out the time when the
shovel is available to load a truck and the idle time
from the last loading. When a truckAgent receives
a CFP, it must decide whether or not to send a pro-
posal. To do this, it asks the unloadingAgent about
the prospective waiting time and, with the informa-
tion of the CFP, it determines whether the offer fits in
its schedule. If yes, it prepares a proposal, sends it
to the shovelAgent and waits for the answer. If not, it
sends a rejection to the shovelAgent.
When the shovelAgent receives all the proposals,
or when the deadline is expired, it looks for the best
proposal. Then, the shovelAgent sends an acceptance
message to the truckAgent that proposed the best pro-
posal and sends a rejection message to the other truck-
Agents that sent a proposal. After this, the truckAgent
that receives the acceptance message and the shovelA-
gent that initiated the negotiation add to their sched-
ules all the activities that must be performed and the
negotiation is then finished. The shovelAgent repeats
this protocol until the target of the production plan is
met or until it reaches the end of the shift. In the case
that a shovelAgent ends a negotiation without a win-
ner, it starts a new negotiation adding one minute to
the loading time offered in the last negotiation.
Given that the agents work in parallel, several
CNP negotiations are performed concurrently. There-
fore, a truckAgent may receive several CFPs. If the
truckAgent is taking part in a previous negotiation and
it is still waiting for the answer from a shovelAgent,
the other received CFPs will be rejected. In this con-
text, it could happened that the truckAgent rejects a
CFP that is a better option than the CFP answered pre-
viously. This problem is also called ”the eager bidder
problem” (Schillo et al., 2002). To tackle this prob-
lem, a confirmation stage was included in the original
CNP: when the shovelAgent finalizes the evaluation
of the proposals, it sends a confirmation message to
the truckAgent with the best proposal. The truckA-
gent that receives the confirmation message accepts
An Agent-based System for Truck Dispatching in Open-pit Mines
75
Table 1: Agent description.
Agent Real-world
representation
Objective Properties
truckAgent Trucks To create a schedule of the
activities of the truck at minimum
cost
Capacity, loaded velocity, empty
velocity, spotting time and
unloading time, layout of the mine.
shovelAgent Shovels Front
loader
To create a schedule of the
activities of the equipment that it
represents considering its target in
the production plan
Capacity, dig velocity, load
velocity and the destination of
extracted material
unloadingPointAgent Crushers
Stockpiles
Waste dumps
Its objective is to create a schedule
of the activities of the equipment
that it represents
Number of trucks unloading
simultaneously
the confirmation if it has not received a better CFP
from another shovelAgent. Otherwise, it rejects the
confirmation message. If the shovelAgent receives a
rejection of the confirmation message, it sends a new
confirmation message to the truckAgent that sent the
second-best proposal. The shovelAgent will continue
sending confirmation messages until it receives an ac-
ceptance of the confirmation or until there are no more
proposals. In this way, the truckAgent might decom-
mit a previous proposal sent. Figure 2 depicts the in-
teraction between the agents using the CNP with a
confirmation stage. Table 2 shows a schedule exam-
ple for a truck created by the MAS using this protocol.
Figure 2: The interaction between the agents using the CNP
with the confirmation stage.
3.2 Decision Making
The decision-making process of an agent is an im-
portant characteristic. A bad design could cause the
agent to make a wrong decision or take too much time
to make it. This could also affect the performance of
the whole system. In the MAS for truck dispatching
in open-pit mines, the shovelAgents and truckAgents
make the main decisions in the system.
A shovelAgent, after receiving all the proposals
(or when the deadline is expired), must evaluate all
the proposals using a utility function. This function
promotes the proposals that propose to start the
loading on time and with the least time to perform all
the activities.More formally:
O f f er = number {0} N. It represents the time
offered by a shovel to start a loading
P = set of received proposals p
1
. . . .p
n
p
i
= (arrivalTime, cost)|arrivalTime
{0} N, cost {0} N
The decision is a multicriteria problem as
Decision = arg
min
(p
i
P){U(p
1
), ..,U(p
n
)}
U = U(arrivalTime)
0
+U (cost)
0
U(cost) = cost
δ = (arrivalTimeo f f er) Z
U(arrivalTime) =
δ, if δ < 0 (The truck arrives earlier)
0, if δ = 0 (The truck arrives just on time)
2 δ, if δ > 0 (The truck arrives later)
Where U(arrivalTime)
0
is the normalized value of
U(arrivalTime) and U(cost)
0
is the normalized value
of U(cost). The normalization formula applied is
x
0
=
x min(x)
max(x) min(x)
A truckAgent must decide whether the offer re-
ceived can be performed by the truck. To do this, the
truckAgent looks for a free time slot considering the
loading time offered by the shovelAgent. If it finds
one, the truckAgent estimates the total time that the
ICAART 2020 - 12th International Conference on Agents and Artificial Intelligence
76
Table 2: Example of schedule created for a truck.
Assignment Destination Start
Time of
the Trip
Arrival
Time
Start
Time of
the
Spotting
Start Time
of the
Loading or
Unloading
End Time of
the
Assignment
0 Shovel.01 00:47:01 01:20:23 01:20:23 01:21:36 01:23:12
1 WasteDump.02 01:23:12 01:32:33 01:32:33 01:32:33 01:33:23
2 Shovel.04 02:10:39 02:18:47 02:18:47 02:20:00 02:21:12
3 WasteDump.03 02:21:12 02:26:38 02:26:38 02:26:38 02:27:28
4 Shovel.04 02:27:28 02:31:37 02:31:37 02:32:50 02:34:02
5 WasteDump.03 02:34:02 02:39:28 02:39:55 02:39:55 02:40:45
truck spends to perform all the activities. Then, it de-
termines whether the offer is suitable for the free time
slot. If there is not a free time slot, the truckAgent
sends a rejection message to the shovelAgent.
Another decision by a truckAgent is made during
the confirmation stage. Here, the truckAgent must de-
cide whether it accepts the confirmation message or
rejects it. In the original CNP, we mentioned that a
shovelAgent would add one minute if the negotiation
ends without a winner. In the confirmation stage, it
was mention that a truckAgent would reject a con-
firmation message if it has received a better CFP (a
better CFP is that one that the truck can perform at
a lower cost). If this situation is repeated continu-
ally (negotiation of a shovelAgent without a winner),
it will generate idle time in the schedule of the shovel.
To tackle this situation, the truckAgents consider
the shovel idle time since the last loading. If this
time is less than one minute, the truckAgent can reject
the confirmation message. Nevertheless, if the shovel
idle time is higher or equal to one minute, the truck-
Agent must accept it. Thus, the truckAgent chooses
to achieve the target of the production plan instead of
decreasing its own cost.
4 A DISPATCHING ALGORITHM
In order to evaluate the schedules generated by the
MAS, we developed a dispatching algorithm called
Disp-ALG. Our algorithm uses the following inputs:
Travel Times Matrix. These are the travel times
that the trucks need to travel from one point to
another point at the mine.
Production plan. This points out the amount of
material that must be extracted by the shovels and
transported to a destination.
Equipment data. This is information about avail-
able shovels and trucks, such as capacity and ve-
locity.
Table 3: Dispatching algorithm.
Name Description
S Set of shovels (index s)
T Set of trucks (index t)
J Set of destination of the material extracted by
shovel s (index j)
C
s
Loading time of the shovel s
C
j
Unloading time at the destination j
C
s
j
Travel time from destination j to shovel s
C
j
s
Travel time from shovel s to destination j
The algorithm output is a schedule of the activ-
ities that the equipment items must perform. The
notation of sets, indices, parameters and variables
used throughout the algorithm is shown in Table 3.
More formally:
truckActivity = {emptyTrip loading
loadedTrip unloading}
plan = {(s, j, x)|s S, j J, x N
shovelSchs = {(s, startTime, endTime)|s
S, startTime N, endTime N,t T }
truckSchs = {(t, truckActivity, startTime, endTime,
f rom,to)|t T, activity truckActivity, startTime
N, endTime N, f rom (S J), to (S J)}
The Main algorithm (algorithm 1) consists of 3
steps: the first one looks for a shovel task that is de-
fined as (s, j, tll). The second step looks for the best
truck t to perform the shovel task. If the second step is
successful, the algorithm proceeds with the third step,
which consists of adding the activities and times to
the schedules of the truck t and shovel s; otherwise
the shovel task is discarded. These steps are repeated
while the operational targets of each shovel have not
been met or until the last activity of the shovels ex-
ceeds the end of the shift. To determine whether these
conditions are met, the algorithm invokes the boolean
function ISCONDITIONSMEET.
The function FINDJOB (algorithm 2) is a function
that returns a shovel task. To do this, the algorithm
selects a shovel s (SELECTSHOVEL) in the production
An Agent-based System for Truck Dispatching in Open-pit Mines
77
Algorithm 1: Main.
Input: S, T, Plan, H
Output: shovelSchds, truckSchds
1: shovelSchds
/
0;truckSchds
/
0;
2: while not ISCONDITIONSMEET do
3: s, j, tll FINDJOB(S, shovelSchds, H)
4: if s not null then
5: T, act, act
0
FINDTRUCK(T, s, j,tll, truckSchds)
6: if t not null then
7: SCHEDULE(t,s,j,tll,shovelSchds,
truckSchds, act, act’)
8: end if
9: end if
10: end while
plan whose target has not been met. Then, it gets
the destination j of the material extracted by shovel
s (GETDESTINATION), its schedule (GETSCHEDULE)
and the end time of the last loading activity tll
(GETENDTIMELASTLOADING) of the shovel s. Fi-
nally, it returns s, j, and tll. The next time that
the function is invoked, the function selects another
shovel following a round-robin method.
Algorithm 2: FindJob.
Input: S, shovelSchds, H
Output: s, j, tll
1: tll
/
0
2: s SELECTSHOVEL(S, H)
3: if s not null then
4: return null
5: else
6: j GETDESTINATION(s)
7: tempShovelSchd GETSCHEDULE(s)
8: if tempShovelSchd is null then
9: return s, j, 0
10: else
11: tll GETENDTIMELASTLOAD-
ING(tempShovelSchd)
12: if tll > H then
13: return null
14: else
15: return s, j, tll
16: end if
17: end if
18: end if
After finding a shovel task, the function FIND-
TRUCK (algorithm 3) is invoked with the parameters
s, j, tll. The function returns the best truck t to per-
form the shovel task and its previous and next activi-
ties to tll (act and act
0
). In order to do this, the func-
tion gets the schedules of the trucks (GETSCHEDULE)
and looks for all the trucks that have a free time slot
to perform the shovel task. Then, for each of these
trucks, the algorithm calculates the time to perform
all the activities necessary to perform the shovel task.
The truck that performs all the activities in the least
amount of time is returned by the function. The pro-
cedure SCHEDULE (algorithm 4) updates the shovel
and truck schedules adding all the activities with their
start and end times.
Algorithm 3: FindTruck.
Input: T, s, j, tll,truckSchds
Output: t, act, act
0
1: t
/
0
2: for each t T do
3: tempTruckSchd GETSCHEDULE(t)
4: if tempTruckSchdisnull then
5: return t, null, null
6: else
7: for each act tempTruckSchd do
8: if act
activity
=
0
unload
0
act
endtime
<
tll act
0
startTime
> tll then
9: totalTime c
j
s
+ c
s
+ c
j
s
+ c
j
10: if totalTime < (act
0
starTime
act
endtime
) then
11: if (tll +c
s
+c
0
s
) < act
0
start
then
12: return t, act, act
0
13: end if
14: end if
15: end if
16: end for
17: end if
18: end for
19: return null
Algorithm 4: Schedule.
Input: t, s, j,tll, shovelSchds, truckSchds, act, act
0
Output:
1: empTrip t, emptyTrip,tll c
s
act
to
,tll, act
to
, s
2: loadAtShovel t, load,tll, c
s
, s, s
3: tripToUnload t, loadedTrip, tll + C
s
,tll +
c
s
+C
j
s
, s, j
4: Unload t, unload, tll + c
s
+ C
j
s
,tll + c
s
+
C
j
s
+ c
j
, j, j
5: truckSchds truckSchds empTrip
loadAtShovel tripToUnload Unload
6: shovelLoad s, tll, tll + c
s
,t
7: shovelSchds shovelSchds shovelLoad
ICAART 2020 - 12th International Conference on Agents and Artificial Intelligence
78
5 EVALUATION AND
DISCUSSION
In order to validate the MAS, two experiments were
performed. In the first one the aim was to make a
comparison between the MAS and the dispatching al-
gorithm presented in section 3 in terms of time cal-
culation to generate the schedules. The aim of the
second experiment was to compare the truck costs
obtained by the MAS and the dispatching algorithm
against the actual data. The experiments include sev-
eral simulations run in PlaSMA, which is described in
the next subsection.
5.1 Agent-based Simulation
Trialling a new method in real-world scenarios is the
perfect way to determine whether the method works
well or not. However, this is very hard to perform
because it implies risks to the involved entities. In
our case, to trialling the MAS in a real open-pit mine
would affect the performance of the entire activity of
the mine. In order to trial and assess the MAS, we
applied a multiagent-based simulation.
PlaSMA (Warden et al., 2007) is an agent-based
event-driven simulation platform created for simula-
tion and evaluation multiagent systems. It has a spe-
cial focus on simulating logistics processes. It is
based on the FIPA-compliant Java Agent DEvelop-
ment Framework (JADE) (Bellifemine et al., 2007).
The transport infrastructure within the simulator is
represented as a directed graph where nodes represent
crossroads or logistic points such as warehouses and
destinations. Edges represent different types of roads.
The platform supports graphs with up 300.000 edges
and 150.000 nodes, as well as the import of real-world
infrastructure from OpenStreetMap.
5.2 Experimental Setup
In our experiments we use actual data from a copper
open-pit mine in Chile. The modelled transport in-
frastructure contains 608 nodes and 1,272 edges. A
heterogeneous fleet of trucks and shovels operate in
shifts of 12 hours. The agent properties such as ve-
locities and capacities are set based on the actual data.
Figure 3 shows a simulation deployed in PlaSMA.
All simulations have been run on a laptop com-
puter with an Intel Xeon 3 gigahertz CPU, 32 giga-
bytes of RAM and Windows 10.
Figure 3: Open-pit mine simulated in PlaSMA.
5.3 MAS vs Disp-ALG
Several scenarios of different sizes were used in our
first experiment. The scenarios had the same charac-
teristics, i.e. the same layout of the mine and equip-
ment items with the same properties (velocity, capac-
ity, etc). The differences between the scenarios were
the size of the fleet and the length of the shift (H).
Table 4 shows the scenarios and the times it took the
MAS and the Disp-ALG to generate the schedules.
Table 4: Comparison of the required time to generate the
schedules between MAS and Disp-ALG.
Scenario
H Shovels Trucks
MAS
(min)
Disp-
ALG
(min)
1
1 1 10 0.04 0.0025
2
3 3 25 0.43 0.0028
3
6 5 40 2.45 0.0075
4
9 7 60 4.52 0.0091
It observes that the MAS takes much more time
to generate the schedules in comparison to the Disp-
ALG. This is due to the overload generated by the
simulation platform where the MAS is deployed and
the communication effort among agents - aspects that
are not present in the Disp-ALG. Notwithstanding the
above, the time that the MAS takes to generate the
schedules is a practical timeframe for the mining in-
dustry.
5.4 MAS vs Actual Data
In the second experiment, we simulated five shifts.
These simulations were set using the actual data. The
MAS and the Disp-ALG generated schedules for the
equipment items to transport the same amount of
transported material as displayed in the actual data.
Table 5 shows the amount of transported material and
the truck costs to transport those materials through
An Agent-based System for Truck Dispatching in Open-pit Mines
79
Table 5: Comparison of transported material and truck costs between Disp-ALG, MAS and actual data.
Disp-ALG MAS Actual Data
Scenario
Shovels
Trucks
Material
Transported
(tons)
Travel
Times
(hours)
Material
Transported
(tons)
Travel
Times
(hours)
Material
Transported
(tons)
Travel
Times
(hours)
Delta
Material
Transported
(%)
Delta
Travel
Time
(%)
1 11 99 218,891 357.39 351,659 597.44 350,117 821.89 +0.44% -27.31%
2 11 98 203,570 414.81 405,903 713.34 404,921 849.96 +0.24% -16.08%
3 12 93 285,677 446.94 389,404 656.58 386,973 783.49 +0.62% -16.19%
4 12 97 284,732 439.53 384,158 698.355 381,785 831.34 +0.62% -16.01%
5 10 102 259,492 408.85 363,531 587,07 362,020 820.66 +0.42% -28.46%
the three alternatives: actual data, MAS and the Disp-
ALG.
It observes that the MAS generates schedules in
which the trucks transport more material than the
Disp-ALG. This is because the matching between a
shovel task and a truck is more precise in the MAS.
The Disp-ALG follows a sequential creation of the
schedule: it looks for the best truck for a shovel task
and then continues with the following shovel task.
However, it can happen that this truck is more appro-
priate for another shovel task. The MAS avoids this
situation thanks to the concurrent negotiation mech-
anism in which the truck can decide between several
shovel tasks and select the most appropriate. For in-
stance, it selects the shovel task with the least cost for
the truck or it selects the shovel task of the shovel with
higher idle time.
Regarding truck costs, we focused on the truck
costs in the schedules generated by the MAS, since
the schedules generated by the Disp-ALG do not
manage to transport the amount of material trans-
ported in the actual data. The schedules generated
by the MAS allow the trucks to transport the same
amount of material as the actual data (even a little
bit more), decreasing the truck costs by 20% on av-
erage in comparison with the actual data. The main
reason for these savings is that the MAS travel times
of a truck are less than the travel times from the ac-
tual data, since the agents in the MAS use the shortest
path for their travel, whereas the truck operators in the
real world decide by themselves which path to follow.
Another reason is the use of specific data to allow for
more adapted calculations of the activity times of each
equipment item, and in this way, the agents can create
more appropriate and efficient schedules.
6 CONCLUSIONS
Truck dispatching in an open-pit mine is an impor-
tant and complex process. Several centralized sys-
tems support this process. However, most of them
follow an allocation model to dispatch the trucks that
does not guarantee a correct synchronization between
the operations of the equipment items. In order to ad-
dress this situation, we developed a multiagent system
(MAS) with agents that represent equipment items
from the real world. The agents interact with each
other using a contract net protocol with a confirma-
tion stage to generate schedules for their represented
equipment item. Schedules are a more precise way to
organize and synchronize the equipment item activi-
ties than those proposed by the allocation models.
In order to evaluate the MAS, we implemented
several scenarios in PlaSMA, which is a simulation
platform for multiagent systems. We compared the
MAS performance against a dispatching algorithm
(Disp-ALG) developed by us and against actual data
from an open-pit mine in Chile. The results show
that the MAS achieves more efficient schedules than
a centralized approach such as the Disp-ALG due to
its concurrent negotiation model. The MAS schedules
achieve the production levels of the actual data, while
the Disp-ALG does not. However, the MAS takes
much more time to generate the schedules in compar-
ison with the Disp-ALG, although the time that the
MAS takes to generate the schedules is still within a
practical timeframe. Regarding the truck costs, the
MAS schedules achieve the same production levels
(even a little bit higher), decreasing the truck costs by
20% on average.
Our work demonstrates that an agent-based sys-
tem for truck dispatching in open-pit mines is a suit-
able alternative. Several characteristics of the agent
technology such as flexibility, robustness, and auton-
omy allow the agents to generate a dispatch solution
ICAART 2020 - 12th International Conference on Agents and Artificial Intelligence
80
that is more precise than the current approaches.
In our further research, we will develop a sim-
ulated open-pit mine. In the simulation, the simu-
lated trucks will perform the operations pointed out
in their schedules. In addition, the dynamic aspects
of the material handling process will be considered,
e.g., dealing with a major change in the mine such as
equipment failures or changes in the mine layout. In
these cases, the affected agents will have to react ap-
propriately, interacting with each other to update their
schedules.
REFERENCES
Ahangaran, D. K., Yasrebi, A. B., Wetherelt, A., and Foster,
P. (2012). Real –time dispatching modelling for trucks
with different capacities in open pit mines. Archives
of Mining Sciences, 57(1):39–52.
Alarie, S. and Gamache, M. (2002). Overview of Solu-
tion Strategies Used in Truck Dispatching Systems
for Open Pit Mines. International Journal of Surface
Mining, Reclamation and Environment, 16(1):59–76.
Alexandre, R. F., Campelo, F., Fonseca, C. M., and de Vas-
concelos, J. A. (2015). A Comparative Study of
Algorithms for Solving the Multiobjective Open-Pit
Mining Operational Planning Problems. In Inter-
national Conference on Evolutionary Multi-Criterion
Optimization, volume 9019, pages 433–447.
Bastos, G. S., Souza, L. E., Ramos, F. T., and Ribeiro, C.
H. C. (2011). A single-dependent agent approach for
stochastic time-dependent truck dispatching in open-
pit mining. In 14th International IEEE Conference
on Intelligent Transportation Systems (ITSC), pages
1057–1062.
Bellifemine, F., Caire, G., and Greenwood, D. (2007). De-
veloping Multi-Agent Systems with JADE.
Chang, Y., Ren, H., and Wang, S. (2015). Modelling and
optimizing an open-pit truck scheduling problem. Dis-
crete Dynamics in Nature and Society, 2015.
Chen, B. and Cheng, H. H. (2010). A review of the applica-
tions of agent technology in traffic and transportation
systems.
Costa, F. P. D., Souza, M. J. F., and Pinto, L. R. (2005). Um
modelo de programac¸
˜
ao matem
´
atica para alocac¸
˜
ao
est
´
atica de caminh
˜
oes visando ao atendimento de
metas de produc¸
˜
ao e qualidade. Rem: Revista Escola
de Minas, 58(1):77–81.
Ercelebi, S. G. and Bascetin, A. (2009). Optimization of
shovel-truck system for surface mining. Journal of the
Southern African Institute of Mining and Metallurgy,
109(7):433–439.
Fischer, K., M
¨
uller, J. P., and Pischel, M. (1996). Coopera-
tive transportation scheduling: an application domain
for dai. Applied Artificial Intelligence, 10(1):1–34.
Gath, M. (2015). Optimizing Transport Logistics Processes
with Multiagent-based Planning and Control. PhD
thesis.
Hashemi, A. S. and Sattarvand, J. (2015). Proceedings
of the 12th International Symposium Continuous Sur-
face Mining - Aachen 2014. pages 213–214.
Jaoua, A., Riopel, D., and Gamache, M. (2012). A simula-
tion framework for real-time fleet management in in-
ternal transport systems. Simulation Modelling Prac-
tice and Theory, 21(1):78–90.
Krzyzanowska, J. (2007). The impact of mixed fleet hauling
on mining operations at Venetia mine. Journal of the
Southern African Institute of Mining and Metallurgy,
107(4):215–224.
Mendes, J. B., D’Angelo, M. F. S. V., Maia, N. A.,
and Veloso, R. R. (2016). A Hybrid Multiobjec-
tive Evolutionary Algorithm for Truck Dispatching in
Open-Pit-Mining. IEEE Latin America Transactions,
14(3):1329–1334.
Mes, M., van der Heijden, M., and van Harten, A. (2007).
Comparison of agent-based scheduling to look-ahead
heuristics for real-time transportation problems. Euro-
pean Journal of Operational Research, 181(1):59–75.
Newman, A. M., Rubio, E., Caro, R., Weintraub, A., and
Eurek, K. (2010). A review of operations research in
mine planning. Interfaces, 40(3):222–245.
Patterson, S. R., Kozan, E., and Hyland, P. (2017). Energy
efficient scheduling of open-pit coal mine trucks. Eu-
ropean Journal of Operational Research, 262(2):759–
770.
Schillo, M., Kray, C., and Fischer, K. (2002). The eager bid-
der problem: a fundamental problem of DAI and se-
lected solutions. Proceedings of the 1st international
Joint Conference on Autonomous Agents and Multia-
gent Systems (AAMAS’02), (January):599–606.
Smith, R. G. (1980). The Contract Net Protocol:High-
level communication and control in a distributed prob-
lem solver. IEEE Tranactions on Computers, C-
29(12):1104–1113.
Warden, T., Porzel, R., Gehrke, J. D., Herzog, O., Langer,
H., and Malaka, R. (2007). Towards Ontology-Based
Multiagent Simulations : Plasma Approach.
An Agent-based System for Truck Dispatching in Open-pit Mines
81