File Exchange

image thumbnail

dvtsp_ga_basic :Truck, Multi-drone Evolutionary Routing Prob

version 2.1.3 (4.11 KB) by Robert Rich
Evolutionary Genetic Algorithm to ~optimally route the Truck-Multiple Drone Configuration


Updated 07 Jan 2020

View License

FUNCTION: dvtsp_ga_basic calculates the minimum delivery time for a truck and
% multiple (nu) drones to deliver n parcels where each drone is capable of
% working in tandem with the truck to deliver only one parcel.
% System parameters for the drones are:
% kappa = drone range,
% alpha = drone speed as a factor of truck speed (1)
% nu = number of drones assigned to assist the truck.
% Given a graph G(V,E) with vertices V and edges E, the algorithm routes
% the truck ~optimally by assigning drones while routing the truck.
% For any operation (launch, delivery, rendezvous), one or up to nu drones
% may be assigned deliveries within range such that they can rendezvous
% back with the truck at the truck's next delivery location.

% Inputs:
% population size
% number of iterations
% xy coordinates
% alpha: max speed of drone as a factor of truck speed
% kappa: max range of drone (i.e. km)
% nu: max number of drones assigned to a truck
% Outputs:
% minimum ~optimal time based on distance with speed=1
% truck route
% drone route
% Evolutionary Algorithm (EA) uses uses a tournament mutation approach.

% Example of inputs:
% nStops = 20; % Number of delivery stops for truck-and-drones
% popSize = 500; % Size of the population of trials for mutation.
% numIter = 3500; % Number of iterations of GA; iteration budget.
% alpha = 2; % Speed of drone as a factor of truck
% kappa = 10; % Range of drone (i.e. 10 km)
% nu = 4; % Max number of drones assigned to truck
% xy = 50*rand([nStops,2]); % coordinates of stops

Cite As

Robert Rich (2020). dvtsp_ga_basic :Truck, Multi-drone Evolutionary Routing Prob (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (0)



Updated default values


Updated the cost function for wrap to depot and zero out graph each iteration


graph change to end of node


Allows for last node in sequence to be assigned to drone.


fixed over counting truck time at end of sequence


Cleared random number generator


Updated cost function


Comments on the cost function


Minor change in input


Minor change in cost function


Changed cost function to fix 'end-of-tour' issue

MATLAB Release Compatibility
Created with R2019b
Compatible with any release
Platform Compatibility
Windows macOS Linux