Previous Article in Journal
Transforming Energy Management with IoT: The Norwegian Smart Metering Experience
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Comparison of Optimisation Techniques for the Electric Vehicle Scheduling Problem

by
Jacques Wüst
1,†,
Marthinus Johannes Booysen
1,2,*,† and
James Bekker
2,*,†
1
Department of Electrical and Electronic Engineering, Faculty of Engineering, Stellenbosch University, Stellenbosch 7600, South Africa
2
Department of Industrial Engineering, Faculty of Engineering, Stellenbosch University, Stellenbosch 7600, South Africa
*
Authors to whom correspondence should be addressed.
Current address: Private Bag X1, Matieland, Stellenbosch 7602, South Africa.
Smart Cities 2025, 8(3), 85; https://doi.org/10.3390/smartcities8030085
Submission received: 9 April 2025 / Revised: 14 May 2025 / Accepted: 15 May 2025 / Published: 21 May 2025

Abstract

:

Highlights

What are the main findings?
  • Heuristic dominance in large-scale E-VSP instances: The newly developed heuristic consistently outperformed metaheuristics and the exact MILP approach in scalability and computation time, successfully solving large-scale instances (up to 420 trips) in seconds while maintaining feasible, operationally relevant solutions.
  • Limited practicality of exact and metaheuristic methods: Although exact MILP methods guarantee optimality and metaheuristics (e.g., genetic algorithms, simulated annealing) achieve better distance optimisation on small problems, both approaches struggle with scalability, rendering them impractical for typical urban transit schedules.
What is the implication of the main finding?
  • Scalable heuristics are essential for real-world transport scheduling: Given the computational limitations of exact and metaheuristic methods on large instances, transport agencies should prioritise heuristic-based solutions for operational deployment, especially when managing fleets with hundreds of daily trips.
  • Algorithm selection should align with operational priorities: The choice of optimisation technique should depend on the specific context—metaheuristics may be suitable for small fleets prioritising distance savings, while heuristics are better suited for large-scale systems where speed, feasibility, and adaptability to real-world constraints are paramount.

Abstract

The Electric Vehicle Scheduling Problem (E-VSP) addresses the challenge of efficiently assigning predetermined trips to an electric vehicle fleet while accounting for charging infrastructure and battery range constraints. Despite numerous optimisation approaches proposed in the literature, comparative analyses of these methods remain scarce, with researchers typically focusing on developing novel algorithms rather than evaluating existing algorithms. Moreover, studies often employ convenient assumptions tailored to improve the performance of their optimisation technique. This study presents a comprehensive comparison of several optimisation techniques (mixed integer linear programming (MILP) using the branch-and-cut algorithm, metaheuristics, and heuristics) applied to the E-VSP under identical assumptions and constraints. The techniques are evaluated across multiple metrics, including solution quality, computational efficiency, and implementation complexity. Findings reveal that the branch-and-cut algorithm cannot solve instances with more than 10 trips in a reasonable time. Among metaheuristics, only genetic algorithms and simulated annealing demonstrate competitive performance, but both struggle with instances exceeding 100 trips. Our recently developed heuristic algorithm consistently found better solutions in significantly shorter computation times than the metaheuristics due to its ability to efficiently navigate the solution space while respecting the unique constraints of the E-VSP.

1. Introduction

The imperative to reduce greenhouse gas emissions and combat climate change has intensified the search for sustainable transportation solutions in urban environments. Among alternatives, electric public transport has emerged as a promising option for reducing greenhouse gas emissions and urban pollution. Electric buses and other electric transit vehicles offer reduced emissions, lower long-term operating costs, and decreased dependency on fossil fuels, making them increasingly attractive for cities worldwide [1,2]. However, transitioning from conventional to electric vehicles introduces unique operational challenges, particularly in fleet scheduling and management.
Unlike internal combustion engine (ICE) vehicles that can be quickly refuelled, electric buses require more sophisticated scheduling to balance operational efficiency with charging needs. This operational challenge is known as the E-VSP, which extends the classical Vehicle Scheduling Problem (VSP) by incorporating critical constraints related to battery capacity, charging infrastructure availability, and charging time requirements [3]. Insufficient attention to these constraints may result in service disruptions, suboptimal fleet utilisation, or excessive operational costs [4].
The literature offers various optimisation approaches to address the E-VSP, broadly categorised into exact methods, metaheuristic algorithms, and heuristic techniques. Exact methods such as MILP guarantee mathematically optimal solutions but often become computationally prohibitive for large-scale combinatorial instances, as is typical with real-life E-VSP instances [5]. Conversely, metaheuristic and heuristic techniques sacrifice guaranteed optimality for near-optimal solutions and scalability [6]. Metaheuristics such as genetic algorithms and simulated annealing employ general-purpose, problem-independent search strategies to escape local optima and explore the promising regions of the solution space. In contrast, heuristics employ problem-specific rules and logical shortcuts to navigate the solution space efficiently [7].
Despite the growing body of research on optimisation techniques for the E-VSP, a critical gap exists in the current literature: most studies develop and validate specific algorithms without thorough comparisons against alternative approaches. Even comprehensive review studies, such as in [8], often lack critical comparative elements such as processing time, solution quality, and scalability—largely because the original studies rarely include these metrics and it would therefore require reimplementation of all methods for proper comparison. Additionally, many researchers introduce simplifying assumptions that favour their particular optimisation technique [9], potentially obscuring its true comparative performance. This, along with the lack of standardised testing datasets, creates a significant disconnect between academic research and practical implementation needs.
This study addresses these gaps by conducting a comprehensive, systematic comparison of an exact method (MILP formulation solved with the branch-and-cut algorithm (BCA)), metaheuristic, and our heuristic optimisation techniques applied to the E-VSP. We evaluate these methods across the following metrics: processing speed, solution quality, feature set, and implementation complexity. We maintain consistent problem formulations and testing environments to ensure valid cross-method comparisons. Consequently, we provide actionable insights into each optimisation strategy’s strengths, limitations, and trade-offs.
Our research contributes to the literature in several important ways. First, we establish a standardised framework for evaluating E-VSP optimisation techniques that can inform both researchers and practitioners. Second, we provide a novel MILP formulation for the E-VSP. Third, we compare metaheuristic algorithms to determine which demonstrate superior convergence properties for E-VSP instances. Fourth, we provide a comparison of algorithm speed between the BCA, metaheuristic, and heuristic approaches across different problem sizes, highlighting the practical limitations of each method. Fifth, we evaluate solution quality across all approaches, demonstrating that heuristic algorithms often yield superior solutions due to their ability to handle larger problem instances efficiently. Finally, we provide guidelines for selecting appropriate optimisation techniques based on specific operational priorities and constraints in real-world transit operations.
The remainder of this paper is structured as follows: Section 2 reviews the literature on optimisation techniques and related work on the E-VSP. In Section 3, we define the specific E-VSP problem formulation used as the basis for our comparative analysis. Section 4 details the implementation methodology for each optimisation technique we consider. Section 5 outlines the experimental framework, including dataset specifications and testing procedures. Section 6 provides our results and an in-depth discussion. Finally, Section 7 concludes with key findings and future research directions.

2. Literature

Optimisation is finding the best or close-to-best solution to a problem within given constraints, according to some objective function [10]. Efficiently scheduling EVs to meet transportation demand requires optimising vehicle routes and charging schedules while considering factors like charging costs, vehicle availability, and customer service quality. Such optimisation problems have attracted significant research attention, and various solution techniques have been proposed.
When choosing an optimisation algorithm, some are better suited to some types of problems, and the choice of the appropriate method depends on the problem structure and the desired solution properties [11]. The same problem can be formulated in multiple ways, each resulting in distinct characteristics and solution techniques.

2.1. Optimisation Problem Types

Optimisation problems can be classified based on various characteristics. Generally, optimisation problems can be categorised as being continuous or discrete, and non-linear or linear (see Figure 1). Each category has solution algorithms applicable to the specific type of optimisation problem (shown as grey circles; not exhaustive) [10].
Besides linear problems, other limitations on the objective function and constraints exist, forming additional optimisation branches such as quadratic programming, convex programming, and more.
Furthermore, optimisation problems are usually formulated with a single objective function, but multi-objective optimisation problems are also common. These are dealt with using the weighted sum approach or through analysis of the Pareto set, among others [12].

2.2. Optimisation Method Types

Nearly all optimisation methods can be categorised into exact and approximate methods. Exact methods aim to find provably optimal solutions (it is guaranteed that no other feasible solution exists that performs better according to the objective function value), while approximate methods sacrifice the guarantee of optimality for improved computation times [13]. Exact methods model the problem using precise mathematical formulations, but often become computationally intractable for large, realistic scenarios [14]. In contrast, approximate methods such as heuristics and metaheuristics use simplifications and intelligent search strategies to find high-quality solutions efficiently.
Next, we discuss the three optimisation methods used in this work.

2.2.1. Mixed Integer Linear Program

The formulation of a MILP is an exact optimisation method that guarantees optimal solutions (if feasible) through mathematical formulations with linear objective functions and constraints, where some variables must take integer values. The computational complexity of algorithms solving a MILP stems primarily from integer and binary decision variables, for which the solution algorithms require exploration through branch-and-bound search trees, leading to exponential growth in solution time as the problem size increases [15].
In the E-VSP, MILP solution algorithms face particular challenges when implementing non-linear elements such as min/max functions for battery constraints. These require additional binary variables and constraints, further increasing model complexity [5].

2.2.2. Heuristics

Heuristics are problem-specific techniques that provide good, but not necessarily optimal, solutions in a reasonable amount of time [16]. They are frequently employed when exact methods, such as linear programming, are computationally expensive, infeasible, or too time-consuming, or when near-optimal solutions are adequate for the application.
Heuristic optimisation refers to techniques that follow practical rules or guidelines to find good approximate solutions to complex optimisation problems, rather than pursuing the guaranteed optimal solution. It uses a heuristic or “rule of thumb” to guide the search towards promising areas of the solution space [17].
Heuristics can be classified into several categories. Constructive heuristics generate a complete solution from scratch by iteratively making decisions based on problem-specific criteria. Improvement heuristics start with an initial solution and try to enhance it through local modifications. Matheuristics combine mathematical programming techniques with heuristics to solve optimisation problems [18].

2.2.3. Metaheuristics

While heuristics are tailored to specific problems, metaheuristics are more generalised. In short, a metaheuristic is a higher-level procedure or framework that can be applied to various optimisation problems to guide and control an underlying heuristic or search process, aiming to find good solutions in a reasonable time. Metaheuristics often combine different heuristics and incorporate mechanisms to balance the exploration of new regions and the exploitation of promising areas [19].
Examples include genetic algorithms (GAs), which are evolutionary metaheuristics based on natural selection and genetics, maintaining a population of candidate solutions that evolve through selection, crossover, and mutation operations [20]. Simulated annealing (SA) is a probabilistic technique inspired by the annealing process in metallurgy, which employs controlled cooling to find global optima by accepting worse solutions with decreasing probability as the search progresses [21]. Ant colony optimisation (ACO) is a swarm intelligence metaheuristic inspired by the foraging behaviour of ants that uses artificial ants to construct solutions based on pheromone trails and heuristic information [22].
In contrast to heuristics, which leverage domain-specific knowledge and intuition about the problem structure, metaheuristics, being general-purpose algorithms, do not always take advantage of such problem-specific information. Consequently, metaheuristics may lead to less efficient and effective solutions than well-designed heuristics for a particular problem [17].

2.3. Related Work

Early works, such as Haghani and Banihashemi [23], addressed multiple depot vehicle scheduling problems with route time constraints, introducing heuristics that improved real-world operations by nearly 8% in vehicle numbers and 6% in costs. Reuer et al. [24] later extended traditional scheduling approaches for electric fleets by developing algorithms that intelligently add charging stops through network flow decomposition.
Mixed Integer Programming formulations have been employed to model the E-VSP with precision. Li et al. [9] developed a time–space–energy network that addresses range and refuelling constraints. Meanwhile, Janovec and Kohani [25] presented a linear model accounting for charging infrastructure limitations in urban settings.
As E-VSP instances grow in complexity, particularly with the introduction of partial charging with limited chargers and multiple vehicle types, computational challenges have led researchers toward more flexible solution approaches. Column generation techniques have emerged as a middle ground, with Tang et al. [26] extending branch-and-price frameworks to handle stochastic travel times, and van Kooten Niekerk et al. [27] developing methods that incorporate complex charging models with battery degradation considerations.
Given the NP-hard nature of the problem, heuristic approaches offer practical solutions for realistic instances. Liu et al. [28] developed an effective lexicographic method that minimised vehicle and charger requirements for battery-electric transit scheduling. Olsen et al. [29] introduced a three-phase approach using an aggregated time–space network that handled real-world timetables while optimising charging infrastructure placement. Rinaldi et al. [30] proposed a decomposition scheme that enhanced scalability for mixed fleet management, revealing that careful modelling of mixed-fleet conditions substantially improves operational savings. Wüst et al. [31] developed a fast-executing heuristic that addresses unique challenges, including temporal flexibility, multiple vehicle types, multiple depots, partial charging, and intermittent electricity supply, while achieving multi-objective optimisation of vehicles, charging stations, and trip delays.
Metaheuristic approaches have demonstrated remarkable effectiveness for larger instances. Wang and Shen [32] developed a multiple ant colony algorithm that effectively minimised both vehicle requirements and deadhead times. Genetic algorithms have shown particular promise, with Chao and Xiaohong [33] employing a modified Non-dominated Sorting Genetic Algorithm that successfully balanced capital investment and charging demand for Shanghai’s electric bus project. Liu et al. [34] demonstrated that GA-based solutions could reduce total costs by 19.6% compared with greedy algorithms when applied to Beijing’s bus systems.
Other successful metaheuristics include Wen et al.’s [35] Adaptive Large Neighbourhood Search, which provided quality solutions across instance sizes, and Teng et al.’s [36] particle swarm optimisation algorithm that effectively balanced fleet size, charging costs, and service quality. Zhou et al. [37] developed a simulated annealing approach for collaborative optimisation of vehicle scheduling and charging in mixed bus fleets.
The diverse approaches to solving the E-VSP reflect the complex trade-offs transit operators face when transitioning to electric fleets, balancing operational constraints, infrastructure requirements, and economic considerations.

3. Problem Definition

Several variations of the E-VSP exist. For this study, we investigate a simple form that is still applicable to real-life problems.
Suppose one has a set of trips that need to be completed by a specified set of electric vehicles over a certain time horizon (typically a day). Each trip needs to be completed by exactly one electric vehicle. For every trip, its departure time, departing location, and destination are fixed. In addition, a distance and time matrix must be provided. These matrices should be used to ensure that vehicle time and battery capacity constraints are not violated. In between trips, a vehicle can either travel directly to its next assigned trip or return to the depot to charge.
The optimal solution uses the minimum number of vehicles and travels the minimum total distance, without violating any constraints.
However, the best algorithm also needs to produce the optimal solution in a reasonable time.

3.1. Constraints

The following constraints must be satisfied:
  • A vehicle cannot be at more than one location simultaneously.
  • The battery state of charge may not be below 0% or higher than 100% at any time.
  • One charger can only charge one vehicle at a time.

3.2. Assumptions

In order to simplify the problem to facilitate comparison of the various optimisation techniques, numerous assumptions are made; these are:
  • There is no temporal flexibility (some E-VSP solutions provide some time variations to allow for more optimal solutions).
  • The number of EVs is provided as an input parameter.
  • Vehicles have a fixed efficiency in terms of distance. We choose a conservative consumption figure of 0.5 kWh/km.
  • All vehicles have an identical range. For this study, we set the range to 120 km, corresponding to a battery size of 60 kWh. In reality, the battery will have a larger capacity, but by using this number, we can avoid reaching low battery states-of-charge.
  • Vehicles start with a full state-of-charge.
  • All vehicles’ initial location is the depot (to be provided in the input data).
  • All vehicles return to the depot after their last trip.
  • There are as many chargers as EVs, always to ensure charger availability.
  • Chargers are located at the depot location only.
  • The charge rate is fixed at 20 kW; or 0.33 kWh/min; or 0.67 km/min. Since AC chargers are rated for 22 kW, this allows for approximately ten per cent of losses.
A hypothetical scenario with the problem and a partial solution is given as two maps in Figure 2a,b. Several collection/drop-off locations on these maps are shown as grey circles. Location E is a depot where three chargers are situated. Several demand service trips are departing from some locations throughout the day. At the start of the day, three electric vehicles are situated at location E—the depot. The problem is then, if some set of trips is demanded between the various locations, when should which vehicle travel from some location to another in order to satisfy all the demanded service trips while minimising the total number of vehicles required within the fleet and/or the total distance driven by all vehicles (Figure 2a)? The solution shown in Figure 2b provides the mobility of the three vehicles during the morning period. Although this is not the only solution, it is an optimal solution with minimum distance. In this example, range constraints did not come into play. However, in reality, vehicles often need to return to the depot for charging even if they are ideally located for the next trip because their battery is empty. A proper optimisation algorithm has to account for this.

3.3. Mathematical Notation

Here we present the general mathematical formulation of the problem inputs. With each optimisation technique, these will be used in addition to the technique-specific processing required to model the problem entirely as given in Section 4.

3.3.1. Sets

We define the following sets:
(1) T = { 1 , 2 , , n T }       Set   of   trips (2) V = { 1 , 2 , , n V }       Set   of   electric   vehicles (3) L = { 1 , 2 , , n L }       Set   of   locations

3.3.2. Parameters

The following parameters are required:
  • D i j : Distance from location i L to location j L ;
  • T i j : Traveling time from location i L to location j L ;
  • s i : Starting time of trip i T ;
  • o i : Starting location (origin) of trip i T , where o i L ;
  • f i : End location of trip i T , where d i L ;
  • p: Depot location, where p L ;
  • β = 60 k W h : Battery capacity of each vehicle;
  • η = 0.5 k W h / k m : vehicle energy consumption rate;
  • r = 0.33 k W h / min : charging rate.

4. Optimisation Technique Implementation

We apply several optimisation techniques to the problem explained in Section 3. We use the sets and parameters defined in Section 3.3.1 and Section 3.3.2, respectively, unless noted otherwise.

4.1. Mixed Integer Linear Programming Technique

Formulating the E-VSP linearly presents several challenges. One complicating factor lies in allowing vehicles to return to the depot to charge between two assigned trips. The alternative would be assuming vehicles only visit the depot before their first and after their last trip, with no charging in between any trips. However, this is not a fair assumption, and we therefore allow for intermediate charging. Furthermore, if there are fewer chargers than EVs, chargers must be assigned to vehicles, complicating the problem. This is not always the case, and we therefore assume sufficient chargers to simplify the problem.
This section presents our novel formulation of an E-VSP MILP model. First, we reduce the problem size by performing preprocessing steps. Instead of using a decision variable that assigns trips to vehicles, node arcs to and from trips and the depot will be assigned to vehicles, as seen in the example in Figure 3. We use the term ‘node’ for a trip or a depot visit. A crucial step is inserting depot nodes between each trip. Then we calculate the feasibility of all node arcs and remove infeasible arcs. Finally, we use an MILP model with a decision variable that describes which vehicles perform which node arcs to solve the problem. An additional decision variable tracks the battery state-of-charge of each vehicle through its respective node arcs. The appropriate constraints will be added to ensure logical flow, that each trip is performed only once, and that the battery limits are adhered to.
To better illustrate how the graph in Figure 3 relates to time events, we provide an example schedule in Figure 4 with representative times using the same colour scheme. For clarity, we removed node arcs that become infeasible based on the representative deadhead and trip times. This preprocessing step will be crucial to reduce the problem size.

4.1.1. Preprocessing

During the preprocessing of this formulation, several steps are taken:
  • Each trip is a node. Between each node, a depot node is inserted.
  • Node arcs are created. Charging node arcs are created between depot nodes. Direct deadhead node arcs are created between trip nodes. Normal deadhead node arcs are created between sequential depot-trip nodes and trip-depot nodes.
  • Each node arc is processed with a brute-force approach, and if the first node finishes after the second one starts, the node arc is removed.
  • If the node arc has not been removed, its energy consumption or absorption (in the case of charging) is calculated. More details regarding this step are given below.
  • Optionally, depending on the objective function, the feasible node arcs’ distances are also calculated.
  • Then, the decision variables and constraints are set up to allow vehicles to be assigned to the remaining node arcs.
An example of an infeasible node arc being removed (Step 3) is given in Figure 4. Direct deadhead 1 (Figure 3) is not possible since trip 2 starts before trip 1 ends and is therefore excluded in Figure 4.
Step 4 requires calculating each node arc’s energy consumption or absorption. However, this step is non-trivial. A trip consumes energy, but, unlike deadheads, it is not a node arc. To account for this, we include the trip consumption in all node arcs going to the trip. In the example in Figure 3, trip consumption of trip 3 is included in yellow node arcs 2 and 3 and green node arc 3. We later include constraints that ensure that only one of these arcs is assigned to a vehicle to ensure trip 3 is covered only once. The same counts for calculating the distances associated with each node arc.

4.1.2. Sets

In addition to the sets defined in Section 3.3.1, we define the following sets:
Set of nodes:
N = { 1 , 2 , , n N } , where n N = 2 · n T + 1
Set of depot nodes:
H = { i N i is odd }
Set of trip nodes:
Z = { i N i is even }
Set of feasible node arcs:
A = { ( i , j ) i , j N , i j , and ( i , j ) is feasible }
Energy consumption associated with each feasible node arc:
E = { e a a A , e a R }
Travel distance associated with each feasible node arc:
D = { d a a A , d a R }
The set of nodes (Equation (4)) is the set of trips, with depot nodes inserted between each trip and before and after the first and last trip. Accordingly, there are 2 · n T + 1 nodes. A node arc is a connection between any two nodes. The set of feasible node arcs (Equation ()) is the set of all node arcs (the set of 2-combinations of the set of nodes) with the infeasible node arcs removed. Because there are 2 · n T + 1 nodes, the number of possible node arcs can be expressed as 2 · n T + 1 2 , representing the binomial coefficient 2 · n T + 1 choose 2. Node arcs are infeasible if the first node finishes after the second one starts.

4.1.3. Decision Variables

The predominant decision variable x v a indicates which vehicles are assigned to which node arcs, as follows:
x v a = 1 , if   vehicle   v   is   assigned   to   node   arc   a 0 , otherwise                                                                                                     v V , a A .
w v n indicates the remaining battery energy of vehicle v at node n:
1 1 w v n [ 0 , β ]                                                                                                                                       v V , n N .
K represents the number of vehicles used in the solution:
K Z                                                                                                                                       1 K n V .

4.1.4. Objective Function

If the objective is to minimise the number of vehicles required, we begin by specifying the maximum number; for example, it is equal to the number of trips to ensure feasibility. Then the MILP model will minimise the vehicles used with the objective function
min K .
Alternatively, if the objective is to minimise the total distance travelled, the objective function becomes
min a A d a · x v a .

4.1.5. Constraints

w keeps track of a vehicle’s state-of-charge. We use less than or equal, rather than equal, to ensure that vehicles are not charged beyond their capacity. The term for node arcs to itself accounts for charging between two consecutive trips at the depot and is only subtracted when the self-arc is feasible.
w v j w v i x v ( i , j ) · e ( i , j ) x v ( j , j ) · e ( j , j ) , if ( j , j ) A w v i x v ( i , j ) · e ( i , j ) , if ( j , j ) A                                   v V , ( i , j ) A
Each vehicle may travel to any node at most once, except if it is from itself.
i N { j } : ( i , j ) A x v ( i , j ) 1                                                                                                                                       v V , j N
Each vehicle may travel from any node at most once, except when it is to itself.
j N { i } : ( i , j ) A x v ( i , j ) 1                                                                                                                                       v V , i N
We use the following constraint to ensure proper vehicle flow. It guarantees that if any vehicle v travels to a specific node, it travels from the same node as well, and vice versa.
i N : ( i , j ) A x v ( i , j ) = k N : ( j , k ) A x v ( j , k )                                                                                                                                       v V , j N { 1 , n N }
We need an additional constraint to ensure no vehicle arrives and leaves a depot node with a charging arc. Note that i , j , k are now elements of Q.
i Q : ( i , j ) A x v ( i , j ) + k Q : ( j , k ) A x v ( j , k ) 1                                                                                                         v V , j Q
We employ two constraints to ensure Trip nodes are visited exactly once (depot nodes may be visited any number of times). The first constraint ensures that exactly one vehicle arrives at each trip node j.
i N : ( i , j ) A x v ( i , j ) = 1                                                                                                                                                                 v V , j H
The following constraint ensures that exactly one vehicle departs from trip node j.
i N : ( j , i ) A x v ( j , i ) = 1                                                                                                                                                                 v V , j H
We need an auxiliary variable, K, to represent the number of vehicles this solution uses. This variable is minimised as shown in Equation (12).
K x v a · v                                                                                                                                                                 v V , a A
This concludes the presentation of the MILP formulation. As shown later, it was implemented in the PuLP Python library [38] that calls the Coin-or branch-and-cut (CBC) open-source mixed integer linear programming solver [39].
Next, we discuss the second technique.

4.2. Metaheuristics Technique

We implemented a metaheuristic model of the E-VSP as described next.

4.2.1. Decision Variables

We specify the following decision variables:
x t = v ,                                                                                                                                                                 v V ,       t T
b t = 1 ,       if   the   assigned   vehicle   returns   to   the   depot             after   trip   t   or   directly   continues   to   its   next   trip 0 ,     otherwise                                                                           t T

4.2.2. Objective Function

We do not need to formulate the objective function as a linear function for the metaheuristic model. Instead, we can write any programmatic (Python in our case) function as long as it determines the objective value in a short time. The pseudocode in Algorithm 1 shows our implementation.
Algorithm 1 Multi-modal collaborative fusion
                     // Using parameters and decision variables declared in Section 3.3.2 and Section 4.2.1, respectively.
1:
function ObjectiveFunction(x, b)
2:
     v e h i c l e s unique values in x
3:
     p e n a l t y 0
4:
     d i s t a n c e 0
5:
    for  v e h i c l e v e h i c l e s do                                                                              // Analyse feasibility of each vehicle
6:
         t r i p s { i x [ i ] = v e h i c l e }                                                                // Determine trips assigned to this vehicle
7:
         e n e r g y β
8:
         l o c a t i o n p
9:
         t i m e 9999
10:
        for  t t r i p s do                                                     // Analyse feasibility of each trip assigned to this vehicle
11:
            d e s i r e d S t a r t T i m e s t T l o c a t i o n , o t                                                         // Start time of deadhead to this trip
12:
            p e n a l t y p e n a l t y + max ( 0 , t i m e d e s i r e d S t a r t T i m e )                                               // Add overlap penalty
13:
           if  l o c a t i o n = = p then                                                                // If at depot, add possible charge energy
14:
                p o s s i b l e C h a r g e ( d e s i r e d S t a r t T i m e t i m e ) · r
15:
                e n e r g y min ( 60 , e n e r g y + p o s s i b l e C h a r g e )
16:
           end if
17:
            d i s t a n c e d i s t a n c e + D l o c a t i o n , o t + D o t , f t                                                 // Add distance of deadhead and trip
18:
            e n e r g y e n e r g y D l o c a t i o n , o t · η D o t , f t · η                                     // Subtract energy of deadhead and trip
19:
           if  t = t r i p s [ l a s t ] or not  b [ t ] then                                                                             // If returning to depot
20:
                d i s t a n c e d i s t a n c e + D f t , p                                                        // Add distance of deadhead back to depot
21:
                e n e r g y e n e r g y D f t , p · η                                                   // Subtract energy of deadhead back to depot
22:
                l o c a t i o n p
23:
                t i m e s t + T o t , f t + T f t , p
24:
           else                                                                                          // If vehicle continues directly to next trip
25:
                l o c a t i o n f t
26:
                t i m e s t + T o t , f t
27:
           end if
28:
            p e n a l t y p e n a l t y + max ( 0 , e n e r g y )                                                // Penalty added if energy is negative
29:
        end for
30:
    end for
31:
    if objective is distance then
32:
        return  d i s t a n c e + p e n a l t y · 10 , 000        // Function returns total distance, plus penalty multiplied by a large
number to ensure a feasible result
33:
    else
34:
        return  | v e h i c l e s | + p e n a l t y · m a x V e h i c l e s                 // Function returns number of used vehicles, plus penalty
multiplied by maximum number of vehicles to ensure additional vehicles are used to obtain a feasible result
35:
    end if
36:
end function

4.3. Heuristics Technique

We implement the heuristic algorithm we developed in [31]. The trips demanded are assigned chronologically to the vehicles according to the starting times of the trips. The predominant heuristic specifies choosing the feasible vehicle that is closest to the starting point of the next trip. If two or more vehicles are equally close, the one with the highest state of charge is chosen. Furthermore, the algorithm utilises a backtracking algorithm paradigm that resets the solution to an earlier time whenever a vehicle sits idle at a non-depot location for longer than 30 min. This ensures vehicles are used efficiently in cases where another trip starts close to where another recently ended.
A novel time–edges algorithm is employed to schedule charging. Before each trip is assigned in the main while loop of the algorithm, unoccupied chargers are assigned for the period between the previous trip’s starting time and the current trip’s starting time. If a vehicle is scheduled for charging, it occupies the charger until it is full, but its charging state can be interrupted if the vehicle is needed for a trip. In either case, the charger is immediately assigned to another vehicle (should the demand exist) after a vehicle stops charging.
Algorithm 2 contains the simplified pseudocode from [31], used for the heuristic algorithm.
Algorithm 2 Heuristic algorithm from [31].
1:
Initialise variables from input (demand data, time and distance matrices etc.)
2:
Sort demand data chronologically according to trip starting times
3:
c u r r e n t T r i p 0
4:
t r i p s N u m get number of trips in input demand data
5:
while currentTrip < tripsNum do
6:
    Schedule all charging up to this trip’s starting time and store in e v e n t s dictionary
7:
    Assign current trip to most appropriate vehicle (feasible and the closest)
8:
    If no feasible vehicle could be found for c u r r e n t T r i p , increase its delay
9:
    Backtrack to previous trip’s state if any vehicle has an idle time above certain threshold at a non-depot location
                                                                                                                                                 // Prepare for next trip
10:
    Store current state of e v e n t s dictionary for c u r r e n t T r i p .
11:
     c u r r e n t T r i p c u r r e n t T r i p + 1
12:
end while

5. Experimental Setup

First, we run each metaheuristic optimisation technique on three datasets. From that, we select the best metaheuristic algorithm and compare it to the heuristic and exact techniques.

5.1. Datasets

We used three datasets, shown in Table 1, to evaluate the three optimisation techniques. We use randomly generated data for the first and smallest dataset. The second and third datasets originate from passenger demand datasets from Marabastad (Pretoria) and Dobsonville (Johannesburg), respectively, in South Africa’s Gauteng province. These datasets emerged from a World Bank paratransit scheduling project where transportation specialists developed optimised diesel vehicle schedules based on demand studies and operational observations [40]. For our analysis, we excluded the deadheads. We only extracted the service trips from these schedules as the deadheads must be recalculated with every new fleet setup as part of the E-VSP.

5.2. Metaheuristics

We chose the algorithms shown in Table 2. Many algorithms are available, but we chose these specific algorithms for their popularity and relative ease of implementation. We focused on evolutionary algorithms after observing experimentally that they tend to perform better. Furthermore, a review by Rajwar et al. [41] of 540 metaheuristics concluded that most new generation algorithms have little originality and resemble existing algorithms, mainly particle swarm optimisation and genetic algorithms. We also included a trajectory-based metaheuristic to avoid limiting the study to population-based algorithms. We selected simulated annealing due to its wide historical use and simplicity of implementation [42]. We test the metaheuristic algorithms implemented with two popular Python (version 3.10) libraries (Mealpy 3.0.1 [43] and PyGMO 2.18.0 [44]). We include the most important control parameters of each algorithm in a separate column as reference. In most cases, however, we use the library’s defaults as we have experimentally found them to produce the best results, or make little difference. The library and original work’s citation are provided in the Reference column. For generation-based metaheuristics, we use 500 iterations and a population size of 100 for the Random and Marabastad datasets, and 2000 iterations and population size of 200 for the Dobsonville dataset.

5.3. Comparison of Optimisation Techniques

The processing time of the optimisation techniques is compared by running each technique on increasing problem sizes and plotting the results in Section 6.2.1. Reduced problem sizes are constructed using a random, but constant subset of trips from the original dataset. To compare minimisation of vehicle usage (Section 6.2.2) and total schedule distance (Section 6.2.3), we use each optimisation technique on each dataset and tabulate the results.

6. Results

Before we compare the three optimisation techniques, we first find an appropriate metaheuristic algorithm.

6.1. Metaheuristic Algorithms

The results of comparing the various metaheuristic algorithms are shown in Figure 5. It contains six graphs presenting the fitness (objective) value as a function of the iteration number. The graphs on the left show the results of optimising to minimise the number of vehicles, while those on the right show the results of optimising to minimise the total schedule distance. The three rows correspond to the three datasets, as explained in Section 5.1.
First, we analyse the results in the left part of Figure 5, where the objective is to minimise the number of vehicles. The plots show the progress of the objective function value (fitness) against the number of iterations. For the Random and Marabastad datasets, we set n V , the number of available vehicles, to 30, while Dobsonville had 100. This means any candidate solution with a fitness value above these values incurred penalties. Therefore, the candidate solution is infeasible. For the Random and Marabastad datasets, the only algorithms that found feasible solutions were genetic algorithms and PyGMO’s implementation of simulated annealing.
The results on the right demonstrate similar convergence properties, even with a different objective: minimising the total distance driven. Once again, only the genetic algorithms and simulated annealing showed promise.
Since Mealpy’s genetic algorithm (GA_M) performed more consistently and found feasible solutions quickest, we chose it for further comparison with other optimisation techniques.

6.2. Comparison of Optimisation Methods

Next, we compare the results of the different optimisation techniques in terms of several metrics.

6.2.1. Processing Time

After running the various algorithms on different problem sizes, the difference in computational efficiency becomes clear, as indicated in Figure 6.
The worst performer is the exact model, which shows exponential growth in processing time, compared with the problem size. It cannot calculate an optimal solution for 10 trips in under 1000 s.
Although the metaheuristic and heuristic algorithms seem to have the same rate of time increase as the problem size increases, it is not the case. The processing time of the metaheuristic algorithm grows at a steady rate and seems to reach a ceiling where it stops finding feasible solutions when the problem size becomes large. However, the heuristic algorithm usually finishes processing a solution in under one second, so its recorded times are less representative. This is illustrated in Figure 6b with the right-most datapoint, where the heuristic algorithm finds its solution for the 420-trip Dobsonville problem in 28 s. The heuristic algorithm’s speed depends on the problem characteristics. For instance, if the trip start times are close to each other, it will take considerably longer, due to the backtracking paradigm of the heuristic algorithm. This allows it to solve exceptionally large instances (over 1000 trips), as long as they are sufficiently spaced out.

6.2.2. Minimisation of Vehicle Usage

In Table 3, we compare the best solutions with minimised vehicle usage between the remaining optimisation techniques on different datasets. The entries labelled ‘no solution’ indicate that the algorithm could not find a solution for the given cases.
The heuristic algorithm consistently finds solutions using fewer electric vehicles to cover the same demand. Since the capital investment costs of even one EV are rather sizeable, it is critical to find the solution with minimum vehicle usage. The exact algorithm found no feasible solutions in a reasonable time (less than an hour) for any of the datasets, and the metaheuristic algorithm found no solution for the Dobsonville dataset.

6.2.3. Minimisation of Total Distance

When optimising for the minimum distance schedule, we find the results tabulated in Table 4.
When optimising the total distance, the metaheuristic algorithm performs between 38% and 50% better than the heuristic algorithm and between 8% and 11% better than the alternative heuristic algorithm. However, this should be put in context. A key point for the heuristic is that vehicles may not stay at non-depot locations for longer than 30 min. This is why the distances (especially when the threshold is not relaxed) are worse. The vehicles return to the depot between the morning and afternoon peaks, accumulating more distance. However, it would be highly unusual to leave fleet vehicles at non-depot locations for such a long time, and therefore, the solutions by the heuristic (although longer) account for real-life factors better. Additionally, the heuristic optimises simultaneously to minimise the number of vehicles and the total schedule distance. In this case, then, the solution provided by the heuristic algorithm in Table 3 and Table 4 is the same underlying solution, unlike the distinct solutions of the metaheuristic algorithm, which are only optimised for one objective function. This can be overcome by performing multi-objective optimisation as explained at the end of Section 2.1. Once again, the metaheuristic finds no feasible solution for the large Dobsonville dataset, and the exact algorithm found no feasible solutions for any of the datasets.

6.2.4. Additional Features

Generally, a real-life E-VSP is more complex than the simplified version we defined in Section 3. There exist cases where most of our assumptions are debatable. For example, vehicles often operate from multiple depots, vehicles may have varying specifications or even consist of ICE vehicles and EVs, and different chargers usually have different charging rates.
The heuristic algorithm used in this article already provides for many of these variations, with virtually no impact on the processing time. Although it remains to be proven how good the solutions are using these additional features. Adding these features to the metaheuristic algorithm will be possible, but will impact the already relatively long processing time, especially if additional decision variables need to be added. As for the MILP model, it would be difficult to formulate the problem linearly with additional complexities such as those discussed, and this would worsen the computational efficiency further.

6.2.5. Formulation and Implementation Complexity

Since we have worked on each optimisation technique, we can provide a subjective overview of the complexity involved with their formulation and implementation. This is given in the summary of results in Table 5.

6.2.6. Summary

The summary in Table 5 presents a condensed version of all the results presented so far.

7. Conclusions

This study compared exact, metaheuristic, and heuristic optimisation techniques for the E-VSP. Our analysis reveals trade-offs between solution quality, computational efficiency, and practical applicability across these approaches.
The exact MILP approach, while theoretically capable of providing optimal solutions, demonstrated computational limitations. For small problem instances of 10 trips, processing times of the CBC solver exceeded 1000 s, making this approach impractical for real-world transit operations where schedules typically contain hundreds of trips. This confirms the NP-hard nature of the VSP and illustrates why exact methods, despite their mathematical guarantees, have limited practical utility in operational settings.
Among metaheuristic approaches, genetic algorithms and simulated annealing outperformed other techniques. While metaheuristics achieved better distance minimisation than heuristics on smaller datasets, they struggled with feasibility on larger problem instances exceeding 100 trips. This scalability limitation represents a barrier to their adoption in transit systems.
The heuristic approach emerged as a viable solution method, processing the 420-trip Dobsonville dataset in 37 s. It found solutions requiring fewer vehicles than metaheuristic approaches across all datasets and demonstrated good scalability. While its distance minimisation performance appeared inferior, this reflected realistic operational constraints regarding vehicle positioning.
Our findings suggest that the choice of optimisation technique for the E-VSP should be guided by problem size and specific operational priorities. For small fleets, metaheuristic approaches may offer distance savings worth their computational cost. However, for typical urban transit operations, the heuristic approach offers a suitable combination of solution quality, computational efficiency, and adaptability to real-world constraints.
Future research should focus on improving metaheuristic scalability through problem decomposition and developing hybrid approaches that combine the strengths of multiple optimisation paradigms. The heuristic algorithm, while currently fast, performs a highly focused, narrow search and could be enhanced to explore a larger portion of the solution space. Machine learning represents a promising middle ground between heuristic and metaheuristic optimisation techniques and warrants further investigation.

Author Contributions

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

Funding

This study was partially funded by the South African Transport Conference and the Wilhelm Frank Trust.

Data Availability Statement

The datasets presented in this article are not readily available. Requests to access the datasets should be directed to the authors.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Pietrzak, K.; Pietrzak, O. Environmental Effects of Electromobility in a Sustainable Urban Public Transport. Sustainability 2020, 3, 1052. [Google Scholar] [CrossRef]
  2. Fernández, R.A. A more realistic approach to electric vehicle contribution to greenhouse gas emissions in the city. J. Clean. Prod. 2018, 172, 949–959. [Google Scholar] [CrossRef]
  3. Pasha, J.; Li, B.; Elmi, Z.; Fathollahi-Fard, A.M.; yip Lau, Y.; Roshani, A.; Kawasaki, T.; Dulebenets, M.A. Electric vehicle scheduling: State of the art, critical challenges, and future research opportunities. J. Ind. Inf. Integr. 2024, 38, 100561. [Google Scholar] [CrossRef]
  4. Olsen, N. A Literature Overview on Scheduling Electric Vehicles in Public Transport and Location Planning of the Charging Infrastructure; Discussion Paper 2020/16; Freie Universität Berlin, School of Business & Economics: Berlin, Germany, 2020. [Google Scholar] [CrossRef]
  5. Sassi, O.; Oulamara, A. Electric vehicle scheduling and optimal charging problem: Complexity, exact and heuristic approaches. Int. J. Prod. Res. 2017, 55, 519–535. [Google Scholar] [CrossRef]
  6. García-Álvarez, J.; González, M.A.; Vela, C.R. Metaheuristics for solving a real-world electric vehicle charging scheduling problem. Appl. Soft Comput. 2018, 65, 292–306. [Google Scholar] [CrossRef]
  7. Wang, C.; Guo, C.; Zuo, X. Solving multi-depot electric vehicle scheduling problem by column generation and genetic algorithm. Appl. Soft Comput. 2021, 112, 107774. [Google Scholar] [CrossRef]
  8. Perumal, S.S.; Lusby, R.M.; Larsen, J. Electric bus planning & scheduling: A review of related problems and methodologies. Eur. J. Oper. Res. 2022, 301, 395–413. [Google Scholar] [CrossRef]
  9. Li, L.; Lo, H.K.; Xiao, F. Mixed bus fleet scheduling under range and refueling constraints. Transp. Res. Part C Emerg. Technol. 2019, 104, 443–462. [Google Scholar] [CrossRef]
  10. Hillier, F.S.; Lieberman, G.J. Introduction to Operations Research, 11th ed.; McGraw-Hill Education: Columbus, OH, USA, 2021. [Google Scholar]
  11. Nocedal, J.; Wright, S.J. Numerical Optimization, 2nd ed.; Springer Series in Operations Research and Financial Engineering; Springer: Berlin/Heidelberg, Germany, 2006. [Google Scholar]
  12. Saini, N.; Saha, S. Multi-objective optimization techniques: A survey of the state-of-the-art and applications: Multi-objective optimization techniques. Eur. Phys. J. Spec. Top. 2021, 230, 2319–2335. [Google Scholar] [CrossRef]
  13. Korani, W.; Mouhoub, M. Review on Nature-Inspired Algorithms. Oper. Res. Forum 2021, 2, 36. [Google Scholar] [CrossRef]
  14. Garey, M.R.; Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness; W. H. Freeman and Company: New York, NY, USA, 1979. [Google Scholar]
  15. Michele Conforti, G.C.; Zambelli, G. Integer Programming; Graduate Texts in Mathematics; Springer International Publishing: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
  16. Lorenzo, M. The Development, Implementation, and Evaluation of a Problem Solving Heuristic. Int. J. Sci. Math. Educ. 2005, 3, 33–58. [Google Scholar] [CrossRef]
  17. Valle, C.A.; Martinez, L.C.; da Cunha, A.S.; Mateus, G.R. Heuristic and exact algorithms for a min–max selective vehicle routing problem. Comput. Oper. Res. 2011, 38, 1054–1065. [Google Scholar] [CrossRef]
  18. Boschetti, M.A.; Letchford, A.N.; Maniezzo, V. Matheuristics: Survey and synthesis. Int. Trans. Oper. Res. 2023, 30, 2840–2866. [Google Scholar] [CrossRef]
  19. Morales-Castañeda, B.; Zaldívar, D.; Cuevas, E.; Fausto, F.; Rodríguez, A. A better balance in metaheuristic algorithms: Does it exist? Swarm Evol. Comput. 2020, 54, 100671. [Google Scholar] [CrossRef]
  20. Tang, K.; Man, K.; Kwong, S.; He, Q. Genetic algorithms and their applications. IEEE Signal Process. Mag. 1996, 13, 22–37. [Google Scholar] [CrossRef]
  21. Ingber, L. Simulated annealing: Practice versus theory. Math. Comput. Model. 1993, 18, 29–57. [Google Scholar] [CrossRef]
  22. Charles, D.; Fyfe, C.; Livingstone, D.; McGlinchey, S. Ant Colony Optimisation. Stud. Comput. Intell. 2018, 180–201. [Google Scholar] [CrossRef]
  23. Haghani, A.; Banihashemi, M. Heuristic approaches for solving large-scale bus transit vehicle scheduling problem with route time constraints. Transp. Res. Part A Policy Pract. 2002, 36, 309–333. [Google Scholar] [CrossRef]
  24. Reuer, J.; Kliewer, N.; Wolbeck, L. The Electric Vehicle Scheduling Problem—A study on time-space network based and heuristic solution approaches. In Proceedings of the Conference on Advanced Systems in Public Transport and Transit Data (CASPT), Rotterdam, The Netherlands, 19–23 July 2015. [Google Scholar]
  25. Janovec, M.; Kohani, M. Exact approach to the electric bus fleet scheduling. Transp. Res. Procedia 2019, 40, 1380–1387. [Google Scholar] [CrossRef]
  26. Tang, X.; Lin, X.; He, F. Robust scheduling strategies of electric buses under stochastic traffic conditions. Transp. Res. Part C Emerg. Technol. 2019, 105, 163–182. [Google Scholar] [CrossRef]
  27. van Kooten Niekerk, M.E.; van den Akker, J.M.; Hoogeveen, J.A. Scheduling electric vehicles. Public Transp. 2017, 9, 155–176. [Google Scholar] [CrossRef]
  28. Liu, T.; (Avi) Ceder, A. Battery-electric transit vehicle scheduling with optimal number of stationary chargers. Transp. Res. Part C Emerg. Technol. 2020, 114, 118–139. [Google Scholar] [CrossRef]
  29. Olsen, N.; Kliewer, N.; Wolbeck, L. A study on flow decomposition methods for scheduling of electric buses in public transport based on aggregated time–space network models. Cent. Eur. J. Oper. Res. 2020, 30, 883–919. [Google Scholar] [CrossRef]
  30. Rinaldi, M.; Picarelli, E.; D’Ariano, A.; Viti, F. Mixed-fleet single-terminal bus scheduling problem: Modelling, solution scheme and potential applications. Omega 2020, 96, 102070. [Google Scholar] [CrossRef]
  31. Wust, J.; Bekker, J.; Booysen, M. Investigating scheduling of minibus taxis in South Africa’s eventual electric paratransit. J. Transp. Geogr. 2025, 123, 104093. [Google Scholar] [CrossRef]
  32. Wang, H.; Shen, J. Heuristic approaches for solving transit vehicle scheduling problem with route and fueling time constraints. Appl. Math. Comput. 2007, 190, 1237–1249. [Google Scholar] [CrossRef]
  33. Chao, Z.; Xiaohong, C. Optimizing Battery Electric Bus Transit Vehicle Scheduling with Battery Exchanging: Model and Case Study. Procedia Soc. Behav. Sci. 2013, 96, 2725–2736. [Google Scholar] [CrossRef]
  34. Liu, Y.; Yao, E.; Lu, M.; Yuan, L. Regional Electric Bus Driving Plan Optimization Algorithm considering Charging Time Window. Math. Probl. Eng. 2019, 2019, 7863290. [Google Scholar] [CrossRef]
  35. Wen, M.; Linde, E.; Ropke, S.; Mirchandani, P.; Larsen, A. An adaptive large neighborhood search heuristic for the Electric Vehicle Scheduling Problem. Comput. Oper. Res. 2016, 76, 73–83. [Google Scholar] [CrossRef]
  36. Teng, J.; Chen, T.; Fan, W.D. Integrated Approach to Vehicle Scheduling and Bus Timetabling for an Electric Bus Line. J. Transp. Eng. Part A Syst. 2020, 146, 04019073. [Google Scholar] [CrossRef]
  37. Zhou, G.J.; Xie, D.F.; Zhao, X.M.; Lu, C. Collaborative Optimization of Vehicle and Charging Scheduling for a Bus Fleet Mixed With Electric and Traditional Buses. IEEE Access 2020, 8, 8056–8072. [Google Scholar] [CrossRef]
  38. Python. PuLP Python Library. 2025. Available online: https://github.com/coin-or/pulp (accessed on 14 May 2025).
  39. COIN-OR CBC Development Team. CBC Solver. 2025. Available online: https://zenodo.org/records/13347261 (accessed on 14 May 2025).
  40. Giliomee, J.H.; Booysen, M.J. Grid-Sim: Simulating Electric Fleet Charging with Renewable Generation and Battery Storage. World Electr. Veh. J. 2023, 14, 274. [Google Scholar] [CrossRef]
  41. Rajwar, K.; Deep, K.; Das, S. An exhaustive review of the metaheuristic algorithms for search and optimization: Taxonomy, applications, and open challenges. Artif. Intell. Rev. 2023, 56, 13187–13257. [Google Scholar] [CrossRef]
  42. Guilmeau, T.; Chouzenoux, E.; Elvira, V. Simulated Annealing: A Review and a New Scheme. In Proceedings of the 2021 IEEE Statistical Signal Processing Workshop (SSP), Rio de Janeiro, Brazil, 11–14 July 2021; pp. 101–105. [Google Scholar] [CrossRef]
  43. Van Thieu, N.; Mirjalili, S. MEALPY: An open-source library for latest meta-heuristic algorithms in Python. J. Syst. Archit. 2023, 139, 102871. [Google Scholar] [CrossRef]
  44. Biscani, F.; Izzo, D. A parallel global multiobjective framework for optimization: Pagmo. J. Open Source Softw. 2020, 5, 2338. [Google Scholar] [CrossRef]
  45. Kirkpatrick, S.; Gelatt, C.D.; Vecchi, M.P. Optimization by Simulated Annealing. Science 1983, 220, 671–680. [Google Scholar] [CrossRef]
  46. Corana, A.; Marchesi, M.; Martini, C.; Ridella, S. Minimizing Multimodal Functions Of Continuous-Variables with Simulated Annealing Algorithm. ACM Trans. Math. Softw. 1987, 13, 262–280. [Google Scholar] [CrossRef]
  47. Kennedy, J.; Eberhart, R. Particle swarm optimization. In Proceedings of the ICNN’95—International Conference on Neural Networks, Perth, WA, Australia, 27 November–1 December 1995; Volume 4, pp. 1942–1948. [Google Scholar] [CrossRef]
  48. Whitley, D. A genetic algorithm tutorial. Stat. Comput. 1994, 4, 65–85. [Google Scholar] [CrossRef]
  49. Goldberg, D.E. Genetic Algorithms in Search, Optimization, and Machine Learning; Addison Wesley: Boston, MA, USA, 1989. [Google Scholar]
  50. Mohamed, A.W.; Hadi, A.A.; Jambi, K.M. Novel mutation strategy for enhancing SHADE and LSHADE algorithms for global numerical optimization. Swarm Evol. Comput. 2019, 50, 100455. [Google Scholar] [CrossRef]
  51. Salcedo-Sanz, S.; Del Ser, J.; Landa-Torres, I.; Gil-López, S.; Portilla-Figueras, J.A. The Coral Reefs Optimization Algorithm: A Novel Metaheuristic for Efficiently Solving Optimization Problems. Sci. World J. 2014, 2014, 739768. [Google Scholar] [CrossRef]
  52. Socha, K.; Dorigo, M. Ant colony optimization for continuous domains. Eur. J. Oper. Res. 2008, 185, 1155–1173. [Google Scholar] [CrossRef]
Figure 1. Broad categorisation of optimisation problem types and their applicable solution algorithms (grey circles; not exhaustive).
Figure 1. Broad categorisation of optimisation problem types and their applicable solution algorithms (grey circles; not exhaustive).
Smartcities 08 00085 g001
Figure 2. Spatial visualisation of a representative E-VSP instance and its resolved vehicle paths: (a) Problem instance featuring nine demanded trips, five locations (A–E), three vehicles, and three chargers. (b) A solution indicating all vehicle movements, with charging events omitted for clarity. Black: trips; green: deadhead from depot to trip; yellow: deadhead between two trips; blue: deadhead from trip to depot.
Figure 2. Spatial visualisation of a representative E-VSP instance and its resolved vehicle paths: (a) Problem instance featuring nine demanded trips, five locations (A–E), three vehicles, and three chargers. (b) A solution indicating all vehicle movements, with charging events omitted for clarity. Black: trips; green: deadhead from depot to trip; yellow: deadhead between two trips; blue: deadhead from trip to depot.
Smartcities 08 00085 g002
Figure 3. Example of nodes and possible node arcs for three trips for a single vehicle in this MILP formulation. Purple: depot nodes; white: trip nodes; green: deadhead from depot to trip starting point; red: deadhead from trip end point to depot; yellow: direct deadhead between two trips; blue: charging.
Figure 3. Example of nodes and possible node arcs for three trips for a single vehicle in this MILP formulation. Purple: depot nodes; white: trip nodes; green: deadhead from depot to trip starting point; red: deadhead from trip end point to depot; yellow: direct deadhead between two trips; blue: charging.
Smartcities 08 00085 g003
Figure 4. Example schedule of three trips with representative times and only the possible node arcs shown. Colour scheme and numbering identical to Figure 3.
Figure 4. Example schedule of three trips with representative times and only the possible node arcs shown. Colour scheme and numbering identical to Figure 3.
Smartcities 08 00085 g004
Figure 5. Comparison of various metaheuristic algorithms for the E-VSP, tested on three datasets and with two different objective functions. Convergence graphs illustrate fitness function progression for all algorithms using the colour scheme displayed at the top of the page. (a,c,e) Objective function is minimising the vehicles. (b,d,f) Objective function is minimising total distance. (a,b) Randomised dataset. (c,d) Marabastad dataset. (e,f) Dobsonville dataset. Algorithm specifications are detailed in Table 2.
Figure 5. Comparison of various metaheuristic algorithms for the E-VSP, tested on three datasets and with two different objective functions. Convergence graphs illustrate fitness function progression for all algorithms using the colour scheme displayed at the top of the page. (a,c,e) Objective function is minimising the vehicles. (b,d,f) Objective function is minimising total distance. (a,b) Randomised dataset. (c,d) Marabastad dataset. (e,f) Dobsonville dataset. Algorithm specifications are detailed in Table 2.
Smartcities 08 00085 g005
Figure 6. Processing time of different problem sizes: (a) Subsets of the Marabastad dataset. (b) Subsets of the Dobsonville dataset.
Figure 6. Processing time of different problem sizes: (a) Subsets of the Marabastad dataset. (b) Subsets of the Dobsonville dataset.
Smartcities 08 00085 g006
Table 1. Dataset characteristics.
Table 1. Dataset characteristics.
ReferenceNumber of TripsAverage Trip Distance (km)Stop Locations
Random3020.815
Marabastad6554.14
Dobsonville42012.921
Table 2. Candidate metaheuristic algorithms.
Table 2. Candidate metaheuristic algorithms.
LabelNameControl ParametersReference
SA_M  Simulated Annealing  
  • Initial temperature: 100
  • Step size: 0.1
Mealpy [45]  
SA_G  Simulated Annealing  
  • Initial temperature: 10
  • Final temperature: 0.1
PyGMO [46]  
PSO_M  Particle Swarm Optimisation 
  • Local coefficient: 2.05
  • Global coefficient: 2.05
  • Inertia weight = 0.4
Mealpy [47
PSO_G  Particle Swarm Optimisation  
  • Social component: 2.05
  • Cognitive component: 2.05
  • Inertia weight: 0.7298
PyGMO  
GA_M  Genetic Algorithm  
  • Mutation probability: 0.025
  • Crossover probability: 0.95
Mealpy [48]  
GA_G  Genetic Algorithm  
  • Crossover probability: 0.02
  • Mutation probability: 0.90
PyGMO [49
DE_M  Differential Evolution  
  • Weighting factor: 0.1
  • Crossover probability: 0.9
Mealpy [50
DE_G  Differential Evolution  
  • Weighting factor: 0.80
  • Crossover probability: 0.90
PyGMO 
EGA_M  Elite Multi-points Mutation Genetic Algorithm  
  • Mutation probability: 0.025
  • Crossover probability: 0.95
Mealpy [48
SEA_G  Simple Evolutionary Algorithm  
  • Approach: (N+1)-ES
PyGMO  
CRO_M  Coral Reefs Optimisation  
  • Genetic change rate: 0.1
  • Initial occupation rate: 0.4
Mealpy [51]  
ACOR_M  Ant Colony Optimisation  
  • Sample count: 25
  • Intent factor: 0.5
  • Deviation-distance ratio: 1.0
Mealpy [52]  
Table 3. Number of vehicles of optimised solutions.
Table 3. Number of vehicles of optimised solutions.
DatasetRandomisedMarabastadDobsonville
Algorithm
MILP with CBCno solutionno solutionno solution
Metaheuristic725no solution
Heuristic52345
Alt. Heuristic 162349
1 Alternative setting for heuristic algorithm, allowing vehicles to stay at non-depot locations for longer.
Table 4. Total distances (km) of optimised solutions.
Table 4. Total distances (km) of optimised solutions.
DatasetRandomisedMarabastadDobsonville
Algorithm
MILP with CBCno solutionno solutionno solution
Metaheuristic10454022no solution
Heuristic144360347345
Alt. Heuristic 1113244706846
1 Alternative setting for heuristic algorithm, allowing vehicles to stay at non-depot locations for longer.
Table 5. Summary of results.
Table 5. Summary of results.
MILP with CBCMetaheuristicHeuristic
Maximum problem size (trips)<10<100>1000
Minimising vehiclesIdealGoodBest
Minimising total distanceIdealBestGood
Feature setBadModerateRich
Formulation complexityComplexEasyModerate
Implementation complexityModerateEasyComplex
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Wüst, J.; Booysen, M.J.; Bekker, J. Comparison of Optimisation Techniques for the Electric Vehicle Scheduling Problem. Smart Cities 2025, 8, 85. https://doi.org/10.3390/smartcities8030085

AMA Style

Wüst J, Booysen MJ, Bekker J. Comparison of Optimisation Techniques for the Electric Vehicle Scheduling Problem. Smart Cities. 2025; 8(3):85. https://doi.org/10.3390/smartcities8030085

Chicago/Turabian Style

Wüst, Jacques, Marthinus Johannes Booysen, and James Bekker. 2025. "Comparison of Optimisation Techniques for the Electric Vehicle Scheduling Problem" Smart Cities 8, no. 3: 85. https://doi.org/10.3390/smartcities8030085

APA Style

Wüst, J., Booysen, M. J., & Bekker, J. (2025). Comparison of Optimisation Techniques for the Electric Vehicle Scheduling Problem. Smart Cities, 8(3), 85. https://doi.org/10.3390/smartcities8030085

Article Metrics

Back to TopTop