Next Article in Journal
Circular Strategic Options for Ethanol Supply Chain Resilience Under Uncertainties Using a Composition of Probabilities Group Decision Model
Previous Article in Journal
Empowering Startup Supply Chain: Exploring the Integration of SCF, AI, Blockchain, and Trust
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Modular Coordination of Vehicle Routing and Bin Packing Problems in Last Mile Logistics

Laboratory for Renewable Energy Systems, Faculty of Electrical Engineering and Computing, University of Zagreb, 10000 Zagreb, Croatia
*
Author to whom correspondence should be addressed.
Logistics 2025, 9(2), 70; https://doi.org/10.3390/logistics9020070
Submission received: 8 April 2025 / Revised: 25 May 2025 / Accepted: 26 May 2025 / Published: 28 May 2025
(This article belongs to the Section Last Mile, E-Commerce and Sales Logistics)

Abstract

Background: Logistics and transport, core of many business processes, are continuously optimized to improve efficiency and market competitiveness. The paper describes a modular coordination of vehicle routing and bin packing problems that enables independent instances of the problems to be joined together, with the aim that the vehicle routing solution satisfies all the constraints from real-world applications. Methods: The vehicle routing algorithm is based on an adaptive memory procedure that also incorporates a simple, one-dimensional bin packing problem. This preliminary packing solution is refined by a complex, three dimensional bin packing for each vehicle to identify the infeasible packages. The method iteratively adjusts virtual volumes until reaching near-optimal routes that respect bin-packing constraints. Results: The coordination enables independent applications of an adaptive memory procedure to vehicle routing and a genetic algorithm approach to bin packing while joining them in a computationally tractable way. Such a coordinated approach is applied to a frequently used public benchmark and proven to provide commensurate costs while significantly lowering algorithm complexity. Conclusions: The proposed method is further validated on a real industrial case study and provided additional savings of 14.48% in average daily distance traveled compared to the current industrial standard.

1. Introduction

Transport and logistics play an important role in many industrial activities. At, e.g., the European level, the transport industry employs 10 million people and accounts for 5% of the gross domestic product [1]. The quality of the service ensures a sufficient quantity of products at the desired location and determines their price. There are two fundamental problems in the transport optimization process: the Vehicle Routing Problem (VRP) and the Bin Packing Problem (BPP). Both directly affect the overall transport costs. The goal of a Capacitated VRP (CVRP) is to minimize the total distance that all delivery vehicles need to traverse to deliver given products to desired locations. The CVRP treats capacity as one-dimensional, i.e., incorporates a one-dimensional Bin Packing Problem (1D-BPP). The goal of a three-dimensional BPP (3D-BPP) is to distribute the packages in as few vehicles as possible while meeting the physical and legislative constraints related to packages and vehicles. These constraints address product stability, product fragility, vehicle weight limit, balance, and more. The integrated solving of these two problems as one common problem achieves higher savings in transport but also makes the solving algorithm significantly more computationally complex.
To support a clearer understanding of the proposed approach, the following subsections outline the CVRP and 3D-BPP, followed by their integration and the key contributions of this work. While the algorithms for CVRP and 3D-BPP are not the main contributions of this paper, they are briefly presented for readers’ convenience to clearly articulate how their iterative coordination contributes to the overall approach.

1.1. The Vehicle Routing Problem

The VRP is an NP-hard combinatorial problem of finding an optimal combination of vehicle routes that minimizes the total distance traveled to deliver the goods to a given set of customers. Other optimization criteria are also applicable, such as delivery time [2], fuel consumption [3], or a combination of several factors [4]. Among different variants of VRP, two have been identified as the most related to this paper. The first is the already mentioned CVRP, which considers one dimension of the package (e.g., weight or volume) but not the height, width, length, and other characteristics of the package. The second is Heterogeneous fleet VRP (HVRP), which adds multiple different vehicles to the problem.
Methods for solving the VRP can be divided into four categories: exact methods, heuristics, meta-heuristics, and reinforcement learning. Exact methods [5] find optimal solutions but are computationally feasible only for small instances. Heuristics have lower complexity but are less accurate, while meta-heuristics such as Tabu Search [6,7], variable neighborhood search [8], adaptive large neighborhood search [9], genetic algorithms [10], and ant colony optimization [11] offer better-quality solutions at the cost of longer execution time. Reinforcement learning has recently gained attention [12,13], but its practical use remains limited due to a series of assumptions that are rarely satisfied in real-world problems due to limited datasets, different constraints, and others as reported in [14].
The adaptive memory concept was introduced and combined with Tabu Search in [6]. Adaptive memory is a pool of good solutions dynamically updated during the search process. The Adaptive Memory Procedure (AMP) from this paper still holds 12/14 best-known solutions on the benchmark from [15]. The authors of [16] proposed the Elite Parts Search Method of Solutions, which generates initial solutions through a non-stochastic population-based diversification technique. The authors report reduced suboptimality from 0.23% to 0.18% on the [15] benchmark. The authors of [17] combine the AMP and Tabu Search to solve the Fixed Fleet Open Vehicle Problem. Authors receive 1.00% lower cost in 14.2% less time than for pure Tabu Search. In [18], the authors combine AMP and Variable Neighborhood Search to solve a real practical VRP for the gas delivery industry. Adaptive memory is also implemented in [19] to find the new best solutions on all benchmark instances from [20].

1.2. The 3D Bin Packing Problem

The 3D-BPP is a combinatorial problem that aims to distribute L cuboid packages, given their length, width, height, and weight into a minimum number of cuboid bins (vehicles). Packages are not allowed to overlap, and their edges are required to be parallel to the vehicle edges. There are four approaches for solving 3D-BPP: exact algorithms, constructive heuristics, meta-heuristics, and reinforcement learning. Among them, meta-heuristics achieve the most efficient results in an acceptable time. A recent example of an exact algorithm is presented in [21]. The authors propose a linear mathematical formulation of 3D-BPP while respecting physical constraints encountered in the industry: fragility, stability, orientation, and weight distribution. Constructive heuristics [22,23] are the fastest methods to solve 3D-BPP, but the disadvantage of these methods is higher suboptimality. Therefore, they are used for large problems and as subcomponents in extended variants of VRP. Given the greatest efficiency of the results, most of the scientific papers in the field are focused on meta-heuristics. The best-known meta-heuristics include Tabu Search [24] and genetic algorithm [25,26,27,28]. Other examples are gray wolf optimization [29], hierarchical search [30], and ant colony optimization [31], or hyper-heuristics like [32]. Recently, methods based on reinforcement learning have also been developed [33,34,35]. These packing methods find their application in problems where not all packages are known in advance but appear one after the other.

1.3. Integration of CVRP and 3D-BPP

The VRP is used to optimize the order of transferring items from departure points to delivery points under different conditions. Therefore, VRP determines which items will be loaded into which vehicle and in which order they will be delivered. The BPP optimizes vehicle loading with the goal of fitting as many items as possible into the vehicle. However, most VRP variants take only one dimension to check whether all packages physically fit in the vehicle, which can lead to infeasible results in real-world scenarios. It is therefore beneficial to validate such solutions with bin packing to address physical and legal constraints often ignored in routing-only approaches. This paper addresses that limitation by proposing a method that coordinates routing and packing algorithms while maintaining their independence.
In existing scientific approaches, the integration of VRP and BPP is generally achieved through an extended variant of VRP called the three-dimensional loading capacitated vehicle routing problem (3L-CVRP). The goal of this variant is to minimize the distances that delivery vehicles need to traverse while meeting the constraints of 3D packing. A precise mathematical definition of the 3L-CVRP is given in [36], which is frequently used as a benchmark in other studies for comparison purposes. There are also variants of this problem that include different industrial constraints. These include pick-up delivery, time windows, split delivery, fuel consumption, and more.
Some of the established algorithms for solving the 3L-CVRP are presented in [3,36,37,38,39,40,41]. Authors in [37] combined Greedy Randomized Adaptive Search Procedure and Evolutionary Local Search (GRASPxELS) to achieve 3.91% lower cost than the algorithm from [36]. This approach solves only basic 3D constraints, while fragility, support, and LIFO are not solved. Also, although the algorithm had a lower cost, high computational complexity makes this approach more difficult to apply to real-world examples. In [3], authors presented an Evolutionary Local Search (ELS) for 3L-CVRP that minimizes fuel consumption. The algorithm includes common industry constraints: fragility, support, LIFO (“Last In First Out”—unloading schedule), and weight limit. This algorithm achieved 4.40–9.18% lower cost than the algorithm from [36]. Although this algorithm has improved the best-known solution in many instances and executes faster than previous approaches, the algorithm still has a very high complexity. In [38], authors developed an Adaptive Large Neighborhood Search (ALNS) for 3L-CVRP with pick-up delivery and time windows. The algorithm also includes stability, support, LIFO, and maximum weight constraints. Instead of solving the original benchmark instances from [36], the authors modified the set suitable to their use case. They introduced changes to make this set suitable for weakly heterogeneous problems. These problems have less different package sizes, which makes them easier to solve for the bin packing part. The same variant combined with split delivery is tackled in [39], which proposes a local search for routing and different heuristics for packing. The authors applied the “Packing first, routing second” principle. Common industry constraints are included in the cohesive algorithm. The algorithm has low computational complexity and achieved a 0.5% savings in travel distance when applying split delivery to the weekly heterogeneous dataset. However, the authors state that their algorithm had a 55.9% higher cost compared to [36] on the strongly heterogeneous dataset. Authors in [40] achieved 8% lower cost than [36] using a hybrid meta-heuristic approach but state that there is an overflow of time and distance on large-scale instances, even with some requiring 2 h on a 2.8 GHz CPU and in C++. The authors in [41] implemented a Column Generation (CG) approach, which, unlike the other methods mentioned, belongs to exact methods instead of meta-heuristics. Although CG theoretically provides more accurate solutions, it often comes with a significantly higher computational cost, particularly when dealing with large-scale problems. The authors reported a 1.79% higher average cost than [36] and state that the solution improvement is not impressive for more iterations of CG. Some recent papers that address 3L-CVRP on different test sets are [42,43,44,45].
The mentioned algorithms that usually solve 3L-CVRP combine CVRP and 3D-BPP into a single algorithm, which leads to the extremely high computational complexity of the problem. The result is a higher running time for such algorithms. In [36], a 4% improvement in traversed delivery path was achieved using a Tabu Search after 24 h of CPU running, compared to 10 h for relatively small instances (44–64 vehicles, 141–181 packages). The GRASPxELS hybrid algorithm from [37] solves 4/9 small instances (under 25 delivery points) in less than 0.1 s, while for bigger instances (50–100 delivery points), computation time was 2851.6 s on average. Authors in [38] report that their algorithm based on ALNS requires executing the bin packing component tens of thousands of times to find a viable solution. This number grows rapidly when the problem size increases.

1.4. Paper Contributions

The hard computational complexity of integrated problems, together with the scarcity of the literature on joining the problems, prove that these are among the most challenging problems today. On the other hand, joining the problems evidently offers additional opportunities for cost-efficiency and there is a clear motivation for further research. In addition, by solving VRP or BPP individually and ignoring the counterpart, the resulting solutions are often infeasible in the real world. To cope with this, motivated by industrial needs, we approach the problems modularly, treating each problem individually and then iteratively coordinating them towards the global optimum. For this, in this paper, we propose a Modular Iterative Algorithm for Routing and Packing (MIA-RP). With this approach, the number of algorithm runs for 3D-BPP can be significantly reduced.
The proposed algorithm is based on the virtual capacities of the packages, where a CVRP with simple 1D-BPP is executed and further verified by the complex 3D-BPP that respects all the practical constraints. If the latter is unfeasible, the virtual capacity of the packages is modified and a new iteration of problems is executed. This process is repeated until both problems provide feasible solutions.
The MIA-RP is computationally simpler than other meta-heuristic approaches because it decomposes the problem into two subproblems, VRP and BPP, instead of solving two NP-hard problems at once. By separating the problems, it theoretically lowers the complexity and then coordinates the two components using an additional algorithm with relatively lower complexity, significantly improving computational efficiency. Unlike column generation approaches, the proposed algorithm does not rely on Linear Program (LP) relaxation or complex pricing subproblems, which reduces both computational and implementation complexity. This modular and heuristic coordination of VRP and BPP components enables faster execution and easier adaptation to real-world constraints without the need for specialized optimization solvers.
From a commercial perspective, MIA-RP additionally enables the coordination of independent algorithms for VRP and BPP. It even allows independent companies to manage each part of delivery logistics, enabling any combination of different VRP and BPP variants for greater economic flexibility and easier system modernization.
We identify the following scientific contribution of this paper:
(1)
Modular iterative algorithm for integrated VRP and BPP optimization of commensurate suboptimality but of significant improvement in execution speed when validated and compared to state-of-art approaches and ideal benchmark from [36],
(2)
Real case study benchmark and validation of the proposed algorithm, proving significant route savings of 14.48% on average.
The algorithm is developed considering the complex, real-world problem and as such aims at the reduction of computational complexity of delivery logistics optimization. This paper is organized as follows. Section 2 elaborates on a CVRP variant formulation and the corresponding optimization solver. A genetic algorithm for 3D bin packing with industrial constraints is described in Section 3. Section 4 presents the MIA-RP algorithm for routing (CVRP) and packing (3D-BPP) coordination followed by computational experiments in Section 5. Conclusions are presented in Section 6.

2. Capacitated Vehicle Routing Problem Formulation

The CVRP can be presented as follows. Let G = ( V G , A G ) be a directed complete graph, where V G = { 0 , , N } denotes the vertex set and A G = { ( i , j ) : i , j V G , i j } is the arc set. Vertex i = 0 corresponds to the depot (starting point), and others ( i V G \ { 0 } ) are related to one of the N customers (delivery points). The depot, indexed by i = 0 , is a special case, and every route starts and ends with it. Every arc { i , j } A G has a corresponding non-negative travel cost c i j from vertex i to j. Since HVRP introduces different vehicles into the problem, the vehicle fleet contains K different vehicles with volume capacities V k , k { 1 , , K } and weight capacities M k , k { 1 , , K } . Every delivery point ( i V G \ { 0 } ) has volume demand q i and weight demand w i . Parameters and variables for CVRP formulation are shown in Table 1.
Let binary decision variable b k i j { 0 , 1 } be defined as 1 if vehicle k travels directly from node i to node j, and 0 otherwise, for all i , j V G , i j , k { 1 , , K } . The following applies:
k = 1 K j = 0 j i N b k i j = 1 , i > 0 ,
k = 1 K j = 0 j i N b k j i = 1 , i > 0 ,
where (1) and (2) ensure that every delivery point is visited exactly once by exactly one vehicle (one outgoing and one incoming arc).
The goal of the VRP algorithm is to find the minimum delivery cost C * :
C * = min k = 1 K i = 0 N j = 0 j i N c i j b k i j .
In addition, the CVRP variant requires:
i = 1 N q i j = 0 N b k i j V k , k ,
i = 1 N w i j = 0 N b k i j M k , k ,
to ensure that each vehicle respects its volume and weight capacity constraints.
To avoid disconnected subtours (cycles that exclude the depot), auxiliary variables r i [ 1 , N ] are introduced for each customer i { 1 , , N } . The following constraints are used:
r i r j + ( N 1 ) b k i j N 2 , i j , i , j { 1 , , N } , k ,
1 r i N , i { 1 , , N } .
They ensure consistent customer ordering and prevent infeasible cycles.
The algorithm that solves this problem is inspired by the algorithm from [6] and is independently proposed in [46] to solve the combination of VRP variants that do not include bin packing. In this paper, it is combined with an additional bin packing algorithm. For convenience, this algorithm is briefly presented in the sequel. It consists of three parts: initial solution generating, local search, and Adaptive Memory Procedure (AMP). The AMP includes one entire CVRP step, while initial solution generating and local search are run multiple times within one step. This is described in more detail in the subsection with the description of AMP.

2.1. Initial Solution

In this step, a solution is generated using constructive heuristics, and it is called the Randomized Constrained Clarke–Wright (RCCW) algorithm. The original Clarke–Wright algorithm [47] is a deterministic method where each delivery point is first assigned to one vehicle in a route, and then they are sequentially merged into common routes. The order of merging is determined according to the sorted sequence of savings values:
s i j = c i 0 + c 0 j a c i j ,
where delivery points i and j with the highest savings are connected first, etc.
The original algorithm is modified here using two hyperparameters to introduce the stochasticity needed for integration with the population-based Adaptive Memory Procedure. The first modification is obtained by changing the coefficient a, which is equal to 1 in the original algorithm. This is first introduced in [48] along with skipping randomly selected values s i j . Although the a parameter introduces stochasticity, it often leads to repeated solution patterns. To improve diversity and avoid convergence to the same local optima, dropout parameter p d is used, which determines a percentage of the savings matrix ignored when generating the initial solution. The impact of these two hyperparameters on suboptimality and solution diversity is analyzed in detail in [46]. The RCCW is shown in Algorithm 1.
Algorithm 1: Randomized Constrained Clarke–Wright
  •     load inputs: vehicles, locations
  •     select route shape a
  •     select dropout percentage p d
  •     generate solution of I vehicle routes (0, i, 0)
  •     calculate savings matrix S of items s i j using (8)
  •     sort values in savings matrix S in decreasing order into a new list, S s o r t e d
  •     drop p d items from S s o r t e d and all items where s i j < 0
  •     for  s i j in S s o r t e d  do
  •         if routes (0, …, i, 0) and (0, j, …, 0) can be merged then
  •            merge (0, …, i, 0) and (0, j, …, 0) to (0, …, i, j, …, 0)
  •         end if
  •     end for
  •     compress solution to N vehicles:
  •          sort routes by ascending number of allowed vehicles (1D volume and weight constraints)
  •          assign each route to the allowed vehicle containing the least routes return generated initial solution

2.2. Local Search

Local search improves the initial solution as long as there is a better solution in the local neighborhood of the current one. Local neighborhood search strategies implemented here are swap nodes, move nodes, swap drives, and move drives. An example of swap nodes can be seen in Figure 1. This procedure swaps the places of two nodes in the existing solution for a full neighborhood and accepts the best swap for further optimization in terms of cost. The best solution in the neighborhood can be found with O ( n 2 ) complexity. Multiple groups containing multiple nodes can also be modified. An example of move nodes is shown in Figure 2 and can also be applied to larger groups of nodes. These strategies are executed in alternation using a greedy approach until a local minimum is reached.

2.3. Adaptive Memory Procedure

By running the initial solution and local search algorithms multiple times, different solutions are obtained. Most often, none of them are optimal, but they all contain fragments of the optimal routes. Adaptive memory procedure recognizes common parts of different solutions and fixes such parts. These parts become a new vertex in the graph, which reduces the total number of vertices and edges and finally the search space. New solutions are found in this reduced search space, and the initial solution and local search focus more on the remaining parts of it. The pseudo-code for the adaptive memory procedure is shown in Algorithm 2.
Algorithm 2: Adaptive Memory Procedure
  •     data = vehicles, locations, items
  •     for i_1 = 1 : iteration_limit_1 do
  •        select new iteration_limit_2
  •        select good solutions p e r c e n t a g e
  •        initialize solutions_list
  •        for i_2 = 1 : iteration_limit_2 do
  •           initial_solution = run_initial_solution(data)
  •           solution = run_local_search(data, initial_solution)
  •           append solution to solutions_list
  •        end for
  •        if i_1 < iteration_limit_1 then
  •           keep best p e r c e n t a g e of solutions_list
  •           vertices = select_vertices_to_connect(solutions_list)
  •           data = reduce_data(data, vertices)
  •        else
  •           best_solution = select_best_solutions(solution_list, 1)
  •        end if
  •     end for

3. 3D Bin Packing Problem Formulation

This paper complements the common linear mathematical formulations of the BPP described as follows. A set of L rectangular packages of dimensions l l × w l × h l is given. The package l is preassigned to a specific vehicle k. A set of K available vehicles of dimensions L k × W k × H k is given. In the observed problem, each vehicle is associated with a predefined subset of packages, and the objective is to arrange the assigned packages into their respective vehicles while satisfying all physical and legislative constraints. All used indices, parameters, and variables are listed in Table 2. The conventional bin packing formulation from [21] is given in the sequel:
Find the minimum cost:
F * = min u k k = 1 K V k u k ,
s.t.
k = 1 K p l k = 1 , l ,
l = 1 L m l p l k M k u k , k ,
l = 1 L v l p l k V k u k , k ,
x l k = 1 K L k P l k , l ,
y l k = 1 m W k P l k , l ,
z l k = 1 K H k P l k , l ,
x l x l = σ l 11 l l + σ l 12 w l + σ l 13 h l , l ,
y l y l = σ l 21 l l + σ l 22 w l + σ l 23 h l , l ,
z l z l = σ l 31 l l + σ l 32 w l + σ l 33 h l , l ,
a σ l a b = 1 , l , b ,
b σ l a b = 1 , l , a ,
x o x l + ( 1 x l o ) L k , l , o ,
x l + 1 x o + x l o L k , l , o ,
y o y l + ( 1 y l o ) W k , l , o ,
y l + 1 y o + y l o W k , l , o ,
z o z l + ( 1 z l o ) H k , l , o ,
z l + 1 z o + z l o H k , l , o ,
x l o + x o l + y l o + y o l + z l o + z o l ( p l k + p o k ) 1 , l , o , k ,
where l , o = 1 L , k = 1 K .
Table 3 describes all elements of this mathematical formulation for BPP.
For industrial applications, different constraints are also included in the problem, such as package stability, fragility, and unloading schedule. The stability constraint requires that each package lie on a sufficiently large and flat surface. Part of its bottom area (typically 75%) must be supported either by the vehicle floor or by the top surfaces of other packages. An attribute of fragility f l is assigned to each package. If the package is fragile ( f l = 1 ), only other fragile packages can be placed on its top surface, where both fragile and non-fragile packages can be stacked on a non-fragile package ( f l = 0 ). To support efficient delivery at multiple stops, the unloading schedule constraint ensures that packages can be removed in order without needing to rearrange others. This is known as last-in-first-out (LIFO) in the literature. This is allowed by stacking packages in the reverse order of the planned deliveries, and with the property of the deepest bottom left with fill heuristic for stacking packages, the last stacked package can always be retrieved from the top side. Let i and j be two delivery points and i is visited before j on the route of the vehicle k. Let l and o be two packages that belong to i and j, respectively. Then, o cannot be placed between l and the rear of the vehicle or above b.
In the state of the art, genetic algorithms stand out as the most successful algorithms in solving 3D-BPP. Representative examples can be found in [25,26,27,28]. Inspired by these algorithms, we implement the genetic algorithm for 3D-BPP that incorporates the industry constraints described in the previous paragraph. The algorithm is denoted as GA-IC.

3.1. Genetic Algorithm

The solution of 3D-BPP is often represented as the sequence in which the packages will be packed, together with the corresponding positions in the vehicles. A genetic algorithm consists of two fundamental components. The first is a meta-heuristic that searches for the best packing sequence, and the second is a constructive heuristic that determines the coordinates of the packages in a vehicle based on a given sequence. The genetic algorithm is often identified with the former component. It is practical to note that constructive heuristic is important as a solution generator but also as an implicitly defined fitness function in the space of all packing sequences. In GA-IC, we apply a constructive heuristic similar to the improved deepest bottom left with fill (DBLF) presented in [26] with two differences. We refer to this modified heuristic as the Priority-Constrained DBLF. The DLBF always places the package so that the deep, bottom, and left sides are bordered by the edge of the vehicle or already stacked packages. The first difference from DBLF is that the Priority-Constrained DBLF forbids the placing of new packages behind existing packages. This modification is needed to preserve the unloading priorities given by the packing sequence. Another difference is that the location where the new package is placed depends on the shape of the package. Namely, packages in many companies are designed so that it is profitable to stack similar packages next to each other in order to leave less empty space. This algorithm therefore gives priority to stacking along the z-axis and x-axis if there is a package of the same dimensions below or next to it, and along the y-axis if it is not. This makes the algorithm more suitable for weakly heterogeneous problems. Decoding of chromosomes into 3D layouts is performed by the Priority-Constrained DBLF, which assigns feasible positions to packages based on sequence order, spatial constraints, unloading priorities, and similarity-based alignment. The resulting layout defines the fitness of the sequence. More information on the utilization of packing priorities can be found in the LIFO-correction section.
The genetic algorithm is performed iteratively until some of the stopping criteria are met. In each iteration, the whole family of packing sequences is observed. A packing sequence for one vehicle in the genetic algorithm is called an individual, and the whole family of the sequences is called a population. The term gene is reserved for the position of a given package in a sequence. Considering the population changes in an iterative process, its realization within a particular iteration is called a generation. There are four fundamental phases of the genetic algorithm: initialization, selection, crossover, and mutation. Initialization is performed only once at the beginning of the algorithm, while the remaining phases occur in each iteration.

3.1.1. Initialization

In the initialization phase, a population with a predetermined number of individuals is created. The goal of initialization is efficiency and diversity among individuals, and therefore, individuals are generated in different ways. A certain number of individuals is defined as a sequence of packages with descending volumes. The length, width, and height of the package and the property of non-fragility are also taken as the relevant values in the descending sequence of packages. Other individuals are defined as random packing sequences. In addition to the packing sequences, the corresponding package rotations are randomly selected. An example of an initialized population is shown in Figure 3. This phase ensures that the population contains both heuristic-based and random diversity to avoid premature convergence.

3.1.2. Selection

In each iteration of the genetic algorithm, the highest-quality individuals in the population are selected to create a new generation. The quality of an individual is realized as the fitness value obtained with the constructive heuristic applied to the mentioned individual. The set of selected individuals is called the inter-population, and its size corresponds to the size of the original population. In GA-IC, individuals are selected by the roulette wheel selection method, where higher-quality individuals have a higher probability of creating a new generation. The population is first sorted based on fitness, and the selection process ensures diversity while prioritizing higher-quality individuals.

3.1.3. Crossover

In this phase of the genetic algorithm, a new generation of individuals is constructed. The process of crossover is carried out on the individuals from the inter-population in pairs. Individuals from the inter-population are called parents, while constructed individuals are called children. In this process, it is important to ensure that the created individuals contain all the initially set packages. In [49,50,51,52], various crossover operators have been devised. The crossover operator used in GA-IC is inspired by order-based encoding from [49]. It is shown in Figure 4 and described in the sequel.
In the first step, a common place in the packing sequence for both parents is randomly selected. This place is called the crossover point and separates genetic material for each parent. Genetic materials up to the crossover point are carried from the first and second parent to the first and second child, respectively. The rest of the genetic material for the first child is taken from the second parent, starting from the crossover point. Packages are copied consecutively, except for already contained packages; those are omitted. Once the procedure reaches the end of the parent’s genetic material, it will continue from the beginning of the parent’s genetic material all the way to the point of intersection. By the described procedure, the first child will inherit from the second parent all packages that are not received from the first parent. For the second child, the procedure is performed analogously.

3.1.4. Mutation

Upon completion of the crossover, a random change is made to a certain percentage of individuals. This process is called mutation. In GA-IC, the mutation is realized as a position replacement of two random packages. It is performed on 5 % of individuals in the population.

3.1.5. Lifo-Correction

The GA-IC contains an additional phase in each iteration to address the unloading schedule. We denote it as LIFO-correction. At this phase, each packing sequence in the population is corrected in such a way that packages with a lower unloading priority take an earlier position in the sequence. Such sequences, decoded by the constructive heuristic, will generate packings that are consistent with the unloading schedule. The correction process is illustrated in Figure 5.

3.1.6. Stopping Criteria

In GA-IC, the iterative process stops when all packages are deployed or when the maximum number of iterations is reached.
To select parameters for the genetic algorithm, a grid search is implemented, and the results are available in the Supplementary Materials. In the implementation of GA-IC, the following parameters are used:
population size: 500 individuals,
elite members preserved between generations: 40,
mutants introduced per generation: 25,
crossover rate: 87% (applied to 435 individuals after elitism and mutation),
maximum number of iterations: 20.

4. Coordination of Routing and Packing

This section presents a coordination algorithm that iteratively runs algorithms for CVRP and 3D-BPP described in Section 2 and Section 3 and thus commonly optimizes these two problems. The algorithm can be applied independently of the algorithms presented in Section 2 and Section 3, serving as their wrapper. It applies to a wide range of VRP and BPP algorithms, with the option to add additional variants to each.
The MIA-RP algorithm itself does not require specific assumptions, but certain assumptions are necessary for the CVRP and 3D-BPP components:
  • each customer is visited exactly once,
  • each vehicle route starts and ends at the depot,
  • distances between locations are known,
  • all vehicles are available at the beginning with weight and volume constraints,
  • the cargo consists of cuboid 3D packages with defined characteristics (shape, volume, weight, fragility, support, rotation, and rotation permissibility)
  • unloading follows the LIFO principle where necessary.
Delivery vehicles, locations, and delivery cargo are taken as inputs into the algorithm. For each package, the variables actual volume v l and virtual volume v l t are introduced. The actual volume is defined according to the package dimensions and does not change. The virtual volume is initially set to the value of the actual volume using (28) and is changed as needed through iterations of the algorithm.
Each iteration of the MIA-RP coordination algorithm consists of three phases:
  • Optimization of delivery routes by resolving the associated CVRP from (3) s.t. (1) and (2) and (4)–(7).
  • Validation of CVRP results by solving 3D-BPP for each individual vehicle from (9) s.t. (10)–(27), also considering shape, weight, fragility, support, rotation, and permissibility of rotation from [22].
  • Increasing the virtual volumes of all packages associated with vehicles that provide infeasible solutions.
The phases are described below.

4.1. Optimization of Delivery Routes

Algorithms for optimization of delivery routes consider the capacities of delivery vehicles, but due to the complexity of execution, only as one-dimensional problems. Because of this characteristic, the results of delivery routes sometimes suggest that packaging for a particular vehicle is possible, but in reality, it is not feasible due to different physical and legislative constraints on three-dimensional cargo and delivery vehicles. The algorithm for optimizing delivery routes is called at the beginning of each iteration of MIA-RP, and in the next phase, the feasibility of the obtained solutions is validated. The described procedure is denoted in Algorithm 3 as s o l v e _ V R P ( i n p u t ) .
Algorithm 3: MIA-RP
  •     input = vehicles, locations, items
  •     Set initial virtual volumes with                                                                   (28)
  •     for iteration = 1 : iteration_limit do
  •         routes = solve_VRP (input), with                                                        (1)–(7)
  •         stopping_ flag = True
  •         for route in routes do
  •             validation = solve_BPP (route), with                                             (9)–(27)
  •             if validation = = False then
  •                 increase_virtual_volumes (route), with                            (29) and (30)
  •                 stopping_flag = False
  •             end if
  •         end for
  •         if stopping_flag = = True then
  •             break
  •         end if
  •      end for

4.2. Validation of VRP Results by Solving Packing Problems

After optimizing the delivery routes at the beginning of each MIA-RP iteration, the bin packing algorithm validates the feasibility of packing for each delivery vehicle. The algorithm seeks packing that will contain as many packages as possible. If not all packages are included in the best-found solution, the complete packing is considered infeasible. In this case, all packages for a given vehicle are added to the set of unallocated packages. To minimize the number of such situations, the algorithm is run an additional two times for vehicles that did not fit only one package. The described procedure is denoted in Algorithm 3 as s o l v e _ B P P ( r o u t e ) .

4.3. Increasing the Virtual Volumes of All Packages Associated with Vehicles with Unfeasible Packing

If the packings for all delivery routes have not been successfully validated, a set of unallocated packages is defined as previously described. In case a package l belongs to the set of unallocated packages in the current iteration, its virtual volume is increased by a certain percentage amount denoted by λ l and passed for the next iteration of t + 1 . The percentage amount is chosen arbitrarily and usually brings the most benefit if it is in a 5–20% interval. During delivery route optimization, virtual volumes and weights are used as one-dimensional package sizes in (4) and (5). In the scenario, in which a virtual volume v l t is increased for a given package l, the delivery route optimization algorithm will interpret the package as larger and will reserve more space for it in the next iteration as shown:
v l 0 : = v l ,
v l t + 1 : = ( 1 + λ l ) · v l t , l .
As a result of increases in all values of v l t , new virtual volume demands for (4) become:
q i t + 1 : = l = 1 L v l t + 1 · d i l , i .
For the next iteration of VRP, q i : = q i t + 1 in (4) is therefore used. When validating the results in phase 2, the bin packing algorithm uses the actual volumes and weights. This gives a real confirmation of the feasibility of the packing. By performing this procedure through a series of iterations, the possibility of delivery route results for which packing is not feasible is continuously decreasing. The procedure is denoted in Algorithm 3 as i n c r e a s e _ v i r t u a l _ v o l u m e s ( r o u t e ) .

4.4. Stopping Criteria

The coordination algorithm stops when all delivery routes from phase 1 are successfully validated or when the maximum number of iterations is reached. In the latter case, the validated routes are taken directly as part of the final solution, while the unallocated packages are sequentially packed into available vehicles until all are deployed. When packing unallocated packages, the delivery route optimization is not conducted. In practice, a sufficiently large maximum number of iterations is taken so that this criterion is very rarely met. Stopping criteria are verified through binary variable stopping_flag.
The output of the algorithm consists of selected routes, package locations in vehicles, and delivery costs. The delivery cost is expressed in the desired currency, and the components that determine the cost are recorded separately: the total distance traveled, the total delivery time, and the total cost of using all vehicles. The pseudo-code for the coordination algorithm is shown in Algorithm 3 and presented in Figure 6 as a flow chart. An example of a problem solved with the algorithm is shown in Figure 7. In the figure, coordination is performed in three iterations. At first, CVRP arranged all the packages for the red and blue store in one vehicle, but 3D-BPP reports that there are unplaced packages. The virtual volume increases, but a similar problem appears in the second iteration. Finally, in the third iteration, the packages are distributed in such a way that they all fit in the two given vehicles.

5. Computational Experiments

The complete MIA-RP algorithm, which encompasses both the CVRP and 3D-BPP components, was implemented in Python 3.9.13 without relying on any external solver. The algorithm was tested on two datasets. The first is a publicly available benchmark with strongly heterogeneous packages, which introduces higher computational complexity due to significant size variations and is used to demonstrate comparability with state-of-the-art methods. The second dataset, provided by our industrial partner, is more relevant to our target application and contains weakly heterogeneous packages. The algorithm is better suited for the latter, as it focuses on optimizing VRP constraints while BPP only checks constraints. However, it is also tested on publicly available strongly heterogeneous benchmark instances to highlight its versatility and efficiency across different dataset types.

5.1. Experiments on Instances from the Literature

The MIA-RP algorithm was tested on the benchmark from [36] as the most common benchmark to test the combination of CVRP and 3D-BPP. The benchmark contains 27 instances with strongly heterogeneous packages, each with 5 combinations of constraints consisting of 3D-loading, support, last in first out (LIFO), and fragility.
As part of our evaluation, we tested hyperparameters on nine representative benchmark instances with the fragility constraint to determine values for the parameter λ l , which is used to increase virtual package volumes based on size and fragility. Figure 8 compares solutions when varying the base λ l and the adjustments for small and non-stackable packages. Results showed that increasing λ l for small and non-stackable packages improves solution quality. Based on these findings, we selected λ l = 10 % for regular packages, λ l = 15 % for small packages, λ l = 14 % for non-stackable packages, and λ l = 19 % for small non-stackable packages. A package is considered small if its volume is below the median volume in the instance. Testing additional variations for large packages and those with one dominant dimension (one side exceeding one-half of vehicle length) did not yield improvements and were not included in the final configuration.
The test results for all 27 benchmark instances using selected λ l values are presented in Table 4. The best of ten runs is taken for each instance, and the lowest cost is selected, where priority is given to the minimum number of vehicles.
The MIA-RP works better in simple cases with less complex constraints than in cases with more constraints. This is due to the nature of the algorithm. The algorithm primarily solves the VRP with all its constraints, while the BPP and its constraints are checked after the optimization process. Therefore, the algorithm primarily optimizes the main cost (distance) for constraints related to VRP, while with constraints related to BPP, the focus is on keeping the complexity of the algorithm. When adding more BPP constraints, especially when both support and LIFO must be satisfied, the sum of package volumes for the optimal solution is considerably lower than the volume capacity of the vehicle. Therefore, increasing the virtual capacity has a lower impact. This situation is more common in larger problems because only one vehicle without a solution is enough for MIA-RP to run a new iteration with larger virtual volumes. Therefore, for a more complex set of BPP constraints, larger problems may require more delivery vehicles, while in a simpler set of constraints, all solutions were found within the given set.
When considering only 3D loading, all instances are solved with a minimum number of vehicles, which enables comparison of the average cost. Table 5 shows this comparison with papers from the literature: the original paper [36] that published the benchmark (TS), papers [37] (GRASPxELS) and [3] (ELS), which, according to our research, have the best results on the same benchmark, an approach related to ours from [41] (CH), and with recent work using Constraint Programming (CP) with some new best solutions [42]. The MIA-RP achieved a 0.50% lower cost than the algorithm from [36], 2.30% than [41], and 0.66% compared to [42]. Algorithms from [3,37] achieved 3.44% and 3.93% lower cost than MIA-RP, respectively. These results show that MIA-RP is comparable to state-of-the-art algorithms in cost.
The main advantage of MIA-RP is lower complexity, which is reflected in the results for execution speed and shown in Table 5. The MIA-RP-generated results are on average 18.0–254.0% faster than for other algorithms, but considering that the algorithms were run on different processors (CPUs) in different programming languages, a more detailed analysis of the execution speed is needed. While Python is expected to be generally much slower than C or C++, some parts of the code are executed in a commensurate time. The algorithm from [36] is implemented in C and [3,37] are implemented in C++. To make the results of different approaches comparable, we analyze how fast each of the algorithms solves the problems for small ( K < 25 ), medium ( 25 K < 50 ), and large ( K 50 ) instances. This is motivated by [3,36], where the authors generate instance categories in the same way. We excluded the results from [41] because computing time is missing on the same instances and [42] because the lower limit of time is 300 s and is therefore unsuitable for this complexity analysis. Other state-of-the-art algorithms from Table 5 have extremely variable execution times for problems of the same size. In each one, there are some examples where a smaller problem is solved over 100 times slower than a larger problem. The MIA-RP has a much more stable runtime, and examples like this cannot be found in this table. To avoid excessive variability in execution time, for each of the three groups of problem sizes, we took the median execution time. In Figure 9, the increase in execution time in medium and large instances compared to small ones for each of the algorithms on a logarithmic scale is shown. The MIA-RP is a clear winner here, with 38 times slower execution for large than for small problems, while other approaches achieved 285–30,666 times slower execution. Following the analysis of the proposed algorithm implementation to ideal established benchmarks, it can be concluded that we sacrifice up to 3.93% suboptimality to obtain up to 807 times faster execution speed in these particular cases. This indicates a significant reduction in computational complexity compared to other approaches. This simplification is necessary and motivated by the goal of real-world implementation, which considers many additional constraints and significantly increased problem dimensions.
Despite being particularly adapted for weakly heterogeneous packages common to real-world problems, MIA-RP achieved excellent results on this benchmark, being the fastest among the tested approaches and ranking third in solution quality. Stable runtime and the potential for significant acceleration through implementation in a faster programming language confirm that the algorithm outperforms other approaches in execution time. The behavior of MIA-RP is consistent with established insights. In smaller instances, solution costs are similar to those of other methods.
With more BPP constraints, the solution cost grows faster than in approaches with a similar average cost. This is standard for constraint-rich problems. Although additional VRP constraints were not tested, the design of the algorithm suggests that MIA-RP would likely handle them better. As the instance size increases, MIA-RP consistently outperforms methods with comparable average costs, showing better scalability. Finally, the variability of the results remains within the expected range for heuristic methods at this level of suboptimality. In 26/27 instances, the standard deviation is lower than 2% of the average cost, with an overall average of 0.88%, which supports the stability and reliability of the proposed approach.

5.2. Experiments on Real-World Instances

The algorithm described was tested on the example of an industry partner. The partner is a logistic company that delivers products to a large number of locations, of which 118 are located in the analyzed region. Testing was performed on a five-day dataset with a number of packages between 335 and 704 delivered to 61–106 locations. In Table 6, the CVRP cost through iterations of MIA-RP and the number of unplaced packets obtained by solving 3D-BPP are monitored. Three different values of λ l are tested on the first of five days from the dataset. Those values are 5%, 10%, and 20% and are the same for all packages l and are referred to as λ in further analysis. For each λ , it was tested how three values change through iterations. The first is the CVRP cost while ignoring the 3D-BPP. The second value is the number of unplaced packets in such a solution. Unplaced packets are all packets that have not been packed after 3D-BPP has attempted to place all packets into vehicles as specified by CVRP. The MIA-RP algorithm ends when this number reaches zero. The number of drives is the third tracked value. The higher the virtual package volumes, the more required drives are expected.
The lower the λ , the higher the expected number of required MIA-RP iterations. A combination of higher λ and more iterations generally leads to a higher final CVRP cost. This is shown in the table where the CVRP cost has a growing trend through the iterations. This growth is faster with higher λ . It is expected that with twice the parameter λ , almost twice as many iterations are needed to find a valid solution. Therefore, with a high λ , which leads to a small number of iterations, it often happens that the CVRP cost in the last iteration is significantly higher than in the previous iteration. This leads to a higher average solution cost. On the other hand, low values of λ give an average lower cost of CVRP, but the duration of the algorithm execution increases.
Distances (costs) obtained in the last CVRP iteration of MIA-RP were compared with three other scenarios in Table 7. The first is the distance obtained in the first iteration of MIA-RP, i.e., the distance obtained by CVRP without using 3D-BPP. The results obtained here are infeasible in practice, as CVRP considers only 1D bin packing and therefore regularly provides a solution where packages associated with certain vehicles are not all possible to fit.
The leftover, unplaced packages are then added to the additional one or more vehicles and delivered to the remaining destination after recalculating the CVRP for them. This (second) scenario is denoted as CVRP+3D-BPP in Table 7.
The third distance for comparison is the distance traveled by the industrial partner’s vehicles. The results of the industrial partner do not follow the original distance traveled by the vehicles, which is higher than the value in the table. Instead, the assumption was made that vehicles took the same (shortest) routes used for the CVRP. In this way, the influence of bad route selection between two delivery points was ignored, and only the order of visiting the points performed by the industrial partner was taken into account.
The results for the first scenario showed an average of 12.92% lower traveled distance than for MIA-RP (with λ = 5 ), but this solution is not valid because the constraints from 3D-BPP are not taken into account. In the second scenario, which is feasible, unlike the first, the total distance traveled is much higher. With MIA-RP, the delivery was made with 15.97% lower distance traveled in the average case, 21.35% in the best, and 10.55% in the worst case. Compared to the results of the industrial partner, MIA-RP brought an average saving of 14.48%, 26.76% lower cost for the best case, and 0.35% higher cost for the worst case. Comparing our average savings with 10%, 10.74%, 8%, and 0.5% from [3,38,39,40], a significant difference can be seen in favor of our algorithm. Still, for a deeper and fairer comparison, it is necessary to put the listed approaches in the same context. Here, we provide a tentative analysis as a basis for future observations.
It should be noted that there is a difference between the nominal and real capacity of the vehicle. Our algorithm considers the nominal (lower) capacity, while the industrial partner used the real (higher) capacity of the vehicle. Also, it is possible that the partner increased the nominal volume of packages. The differences between these volumes are especially visible on days 4 and 5, where our algorithm uses more vehicles, even though the cost of MIA-RP compared to the industrial partner is equal or lower. On the other hand, on day 1, the algorithm managed to arrange all packages into fewer vehicles despite this aggravating circumstance.
Table 7 also analyzes how the value of λ affects the final CVRP cost and the total number of iterations, similar to the analysis from Table 6. For λ = 5 % , the average CVRP cost after MIA-RP is 446.62 km; for λ = 10 % , the average cost is 453.83 km; and for λ = 20 % , the average cost is 459.80 km. The average number of iterations for these three cases is 13.6, 7.6, and 4.4, respectively. The code was written in the Python programming language, and the average execution time on a single Intel i5-10210U CPU (1.6GHz) with 16 GB RAM was 91 min, 50 min, and 29 min, respectively. The average iteration duration is 6.62 min.

5.3. Practical Implications, Limitations, and Future Work

The MIA-RP provides a computationally efficient and modular framework for solving complex logistics problems. By coordinating individual VRP and BPP components, the approach allows effortless integration of additional constraints or, if needed, the substitution of the VRP or BPP solvers with alternative algorithms. This modularity enables organizations to adapt the system to their specific operational needs without being bound to a particular solution design. However, as with any modular approach, its effectiveness can be limited if one of the components consistently produces suboptimal solutions. Different algorithmic choices for VRP and BPP modules can be explored in future work to further enhance performance.
The MIA-RP demonstrates significant improvements in execution speed while maintaining solution quality comparable to existing state-of-the-art algorithms for 3L-CVRP, making it applicable to dynamic and operationally complex settings. Implementing the VRP and BPP algorithms in more efficient programming languages could additionally reduce computational effort. Furthermore, execution speed could be improved by reducing the number of iterations, which can be achieved by dynamically adjusting the parameter λ based on the proportion of unsuccessfully assembled load in a given iteration.

6. Conclusions

In this paper, the modular iterative algorithm for routing and packing is proposed to coordinate vehicle routing problem (VRP) and bin packing problem (BPP) algorithms in a modular manner. This paper also describes algorithms for CVRP and 3D-BPP. The goal of this set of algorithms is to enable solving real problems in the field of logistics in a way that covers a large number of constraints. The MIA-RP was tested using the example of a partner company where all described constraints were considered. On the five-day dataset, the MIA-RP algorithm achieved a 15.97% lower cost than a simple algorithm that fills a new vehicle with excess packages and a 14.48% lower cost than the industrial partner. This shows that the analyzed algorithm achieves significant savings compared to the current state of the industry.
The MIA-RP algorithm was also tested on a widely used benchmark from the literature, where 0.66% lower to 3.93% higher costs and 7.5–807 times lower execution times are obtained compared to state-of-the-art algorithms of higher complexity. The best-known solutions were found in 6/27 instances.

Supplementary Materials

The following supporting information can be downloaded at: https://www.mdpi.com/article/10.3390/logistics9020070/s1. Table S1: The results of the hyperparameter grid search used for genetic algorithm.

Author Contributions

Conceptualization, N.P., A.K., and V.L.; methodology, N.P., A.K., and V.L.; software, N.P. and A.K.; validation, N.P. and A.K.; formal analysis, N.P., A.K., and V.L.; investigation, N.P. and A.K.; resources, V.L.; data curation, N.P.; writing—original draft preparation, N.P. and A.K.; writing—review and editing, N.P. and V.L.; visualization, N.P. and A.K.; supervision, V.L.; project administration, V.L.; funding acquisition, V.L. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been supported by the Croatian Science Foundation under the project No. UIP-2020-02-9636 (project DECIDE—Distributed Control for Dynamic Energy Management of Complex Systems in Smart Cities) and by the European Union from the European Regional Development Fund via Operational Programme Competitiveness and Cohesion 2014–2020 for Croatia through the project Research and development of a unified system for logistic and transport optimisation—Collaborative Elastic and Green Logistics—CEGLog (grant KK.01.2.1.02.0081).

Data Availability Statement

Data is unavailable due to privacy.

Acknowledgments

Subject matter disclosed herein forms an essential part of the patent application no. P20221281A. The authors would like to thank GDi LLC for their collaboration.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Transport in the European Union—Current Trends and Issues. 2024. Available online: https://transport.ec.europa.eu/news-events/news/new-eu-transport-report-current-trends-and-issues-2024-06-27_en (accessed on 25 May 2025).
  2. Seyyedhasani, H.; Dvorak, J.S. Using the Vehicle Routing Problem to reduce field completion times with multiple machines. Comput. Electron. Agric. 2017, 134, 142–150. [Google Scholar] [CrossRef]
  3. Zhang, Z.; Wei, L.; Lim, A. An evolutionary local search for the capacitated vehicle routing problem minimizing fuel consumption under three-dimensional loading constraints. Transp. Res. Part B Methodol. 2015, 82, 20–35. [Google Scholar] [CrossRef]
  4. Nolz, P.C.; Absi, N.; Feillet, D.; Seragiotto, C. The consistent electric-Vehicle routing problem with backhauls and charging management. Eur. J. Oper. Res. 2022, 302, 700–716. [Google Scholar] [CrossRef]
  5. Laporte, H.; Mercure, G.L.; Nobert, Y. An exact algorithm for the asymmetrical capacitated vehicle routing problem. Networks 1986, 16, 33–46. [Google Scholar] [CrossRef]
  6. Rochat, Y.; Taillard, E. Probabilistic diversification and intensification in local search for vehicle routing. J. Heuristics 1995, 1, 147–167. [Google Scholar] [CrossRef]
  7. Gmira, M.; Gendreau, M.; Lodi, A.; Potvin, J.Y. Tabu search for the time-dependent vehicle routing problem with time windows on a road network. Eur. J. Oper. Res. 2021, 288, 129–140. [Google Scholar] [CrossRef]
  8. Sze, J.F.; Salhi, S.; Wassan, N. An adaptive variable neighbourhood search approach for the dynamic vehicle routing problem. Comput. Oper. Res. 2024, 164, 106531. [Google Scholar] [CrossRef]
  9. Saker, A.; Eltawil, A.; Ali, I. Adaptive Large Neighborhood Search Metaheuristic for the Capacitated Vehicle Routing Problem with Parcel Lockers. Logistics 2023, 7, 72. [Google Scholar] [CrossRef]
  10. Chen, C.M.; Lv, S.; Ning, J.; Wu, J.M.T. A Genetic Algorithm for the Waitable Time-Varying Multi-Depot Green Vehicle Routing Problem. Symmetry 2023, 15, 124. [Google Scholar] [CrossRef]
  11. Teng, Y.; Chen, J.; Zhang, S.; Wang, J.; Zhang, Z. Solving dynamic vehicle routing problem with time windows by ant colony system with bipartite graph matching. Egypt. Inform. J. 2024, 25, 100421. [Google Scholar] [CrossRef]
  12. Vinyals, O.; Fortunato, M.; Jaitly, N. Pointer networks. Adv. Neural Inf. Process. Syst. 2015, 28, 2692–2700. [Google Scholar]
  13. Pan, W.; Liu, S.Q. Deep reinforcement learning for the dynamic and uncertain vehicle routing problem. Appl. Intell. 2023, 53, 405–422. [Google Scholar] [CrossRef]
  14. Dulac-Arnold, G.; Levine, N.; Mankowitz, D.J.; Li, J.; Paduraru, C.; Gowal, S.; Hester, T. Challenges of real-world reinforcement learning: Defnitions, benchmarks and analysis. Mach. Learn. 2021, 110, 2419–2468. [Google Scholar] [CrossRef]
  15. Christofides, N. The vehicle routing problem. In Combinatorial Optimization; Christofides, N., Mingozzi, A., Toth, P., Sandi, C., Eds.; Wiley: Chichester, UK, 1979; pp. 315–338. [Google Scholar]
  16. Tarantilis, C.D. Solving the vehicle routing problem with adaptive memory programming methodology. Comput. Oper. Res. 2005, 32, 2309–2327. [Google Scholar] [CrossRef]
  17. Li, X.; Leung, S.C.H.; Tian, P. A multistart adaptive memory-based tabu search algorithm for the heterogeneous fixed fleet open vehicle routing problem. Expert Syst. Appl. 2012, 39, 365–374. [Google Scholar] [CrossRef]
  18. Simeonova, L.; Wassan, N.; Salhi, S.; Nagy, G. The heterogeneous fleet vehicle routing problem with light loads and overtime: Formulation and population variable neighbourhood search with adaptive memory. Expert Syst. Appl. 2018, 114, 183–195. [Google Scholar] [CrossRef]
  19. Nikolopoulou, A.I.; Repoussis, P.P.; Tarantilis, C.D.; Zachariadis, E.E. Adaptive memory programming for the many-to-many vehicle routing problem with cross-docking. Oper. Res. 2019, 19, 1–38. [Google Scholar] [CrossRef]
  20. Morais, V.W.; Mateus, G.R.; Noronha, T.F. Iterated local search heuristics for the Vehicle Routing Problem with Cross-Docking. Expert Syst. Appl. 2014, 41, 7495–7506. [Google Scholar] [CrossRef]
  21. Paquay, C.; Schyns, M.; Limbourg, S. A mixed integer programming formulation for the three-dimensional bin packing problem deriving from an air cargo application. Int. Trans. Oper. Res. 2016, 23, 187–213. [Google Scholar] [CrossRef]
  22. Paquay, C.; Schyns, M.; Limbourg, S. A tailored two-phase constructive heuristic for the three-dimensional Multiple Bin Size Bin Packing Problem with transportation constraints. Eur. J. Oper. Res. 2018, 267, 52–64. [Google Scholar] [CrossRef]
  23. Lodi, A.; Martello, S.; Vigo, D. Heuristic algorithms for the three-dimensional bin packing problem. Eur. J. Oper. Res. 2002, 141, 410–420. [Google Scholar] [CrossRef]
  24. Crainic, T.G.; Perbolib, G.; Tadei, R. TS2 PACK: A two-level tabu search for the three-dimensional bin packing problem. Eur. J. Oper. Res. 2009, 195, 744–760. [Google Scholar] [CrossRef]
  25. Gonçalves, J.F.; Resende, M.G.C. A biased random key genetic algorithm for 2D and 3D bin packing problems. Int. J. Prod. Econ. 2013, 145, 500–510. [Google Scholar] [CrossRef]
  26. Kang, K.; Moon, I.; Wang, H. A hybrid genetic algorithm with a new packing strategy for the three-dimensional bin packing problem. Appl. Math. Comput. 2012, 219, 1287–1299. [Google Scholar] [CrossRef]
  27. Su, B.; Xie, N.; Yang, Y. Hybrid genetic algorithm based on bin packing strategy for the unrelated parallel workgroup scheduling problem. J. Intell. Manuf. 2021, 32, 957–969. [Google Scholar] [CrossRef]
  28. Luo, Q.; Rao, Y.; Peng, D. GA and GWO algorithm for the special bin packing problem encountered in field of aircraft arrangement. Appl. Soft Comput. 2022, 114, 108060. [Google Scholar] [CrossRef]
  29. Wang, P.; Rao, Y.; Luo, Q. An Effective Discrete Grey Wolf Optimization Algorithm for Solving the Packing Problem. IEEE Access 2020, 8, 115559–115571. [Google Scholar] [CrossRef]
  30. Chen, M.; Li, K.; Zhang, D.; Zheng, L.; Fu, X. Hierarchical Search-Embedded Hybrid Heuristic Algorithm for Two-Dimensional Strip Packing Problem. IEEE Access 2019, 7, 179086–179103. [Google Scholar] [CrossRef]
  31. Levine, J.; Ducatelle, F. Ant Colony Optimisation and Local Search for Bin Packing and Cutting Stock Problems. J. Oper. Res. Soc. 2004, 55, 705–716. [Google Scholar] [CrossRef]
  32. Guerriero, F.; Saccomanno, F.P. A hierarchical hyper-heuristic for the bin packing problem. Soft Comput. 2023, 27, 12997–13010. [Google Scholar] [CrossRef]
  33. Verma, R.; Singhal, A.; Khadilkar, H.; Basumatary, A.; Nayak, S.; Singh, H.V.; Kumar, S.; Sinha, R. A Generalized Reinforcement Learning Algorithm for Online 3D Bin-Packing. arXiv 2020, arXiv:2007.00463. [Google Scholar]
  34. Zhang, J.; Zi, B.; Ge, X. Attend2Pack: Bin Packing through Deep Reinforcement Learning with Attention. arXiv 2021, arXiv:2107.04333. [Google Scholar]
  35. Tian, R.; Kang, C.; Bi, J.; Ma, Z.; Liu, Y.; Yang, S.; Li, F. Learning to multi-vehicle cooperative bin packing problem via sequence-to-sequence policy network with deep reinforcement learning model. Comput. Ind. Eng. 2023, 177, 108998. [Google Scholar] [CrossRef]
  36. Gendreau, M.; Iori, M.; Laporte, G.; Martello, S. A tabu search algorithm for a routing and container loading problem. Transp. Sci. 2006, 40, 342–350. [Google Scholar] [CrossRef]
  37. Lacomme, P.; Toussaint, H.; Duhamel, C. A GRASP × ELS for the vehicle routing problem with basic three-dimensional loading constraints. Eng. Appl. Artif. Intell. 2013, 26, 1795–1810. [Google Scholar] [CrossRef]
  38. Koch, H.; Bortfeldt, A.; Wäscher, G. A hybrid algorithm for the vehicle routing problem with backhauls, time windows and three-dimensional loading constraints. Spectr. 2018, 40, 1029–1075. [Google Scholar] [CrossRef]
  39. Bortfeldt, A.; Yi, J. The Split Delivery Vehicle Routing Problem with three-dimensional loading constraints. Eur. J. Oper. Res. 2020, 282, 545–558. [Google Scholar] [CrossRef]
  40. Rodríguez, D.A.A.; Martínez, D.A.; Escobar, J.W. A hybrid matheuristic approach for the vehicle routing problem with three-dimensional loading constraints. Int. J. Ind. Eng. Comput. 2022, 13, 421–434. [Google Scholar] [CrossRef]
  41. Mahvash, B.; Awasthi, A.; Chauhan, S. A column generation based heuristic for the capacitated vehicle routing problem with threedimensional loading constraints. Int. J. Prod. Res. 2017, 55, 1730–1747. [Google Scholar] [CrossRef]
  42. Küçük, M.; Yildiz, S.T. Constraint programming-based solution approaches for three-dimensional loading capacitated vehicle routing problems. Comput. Ind. Eng. 2022, 171, 108505. [Google Scholar] [CrossRef]
  43. Sitompul, C.; Horas, O.M. A Vehicle Routing Problem with Time Windows Subject to the Constraint of Vehicles and Good’s Dimensions. Int. J. Technol. 2021, 12, 865–875. [Google Scholar] [CrossRef]
  44. Chi, J.; He, S. Pickup capacitated vehicle routing problem with three-dimensional loading constraints: Model and algorithms. Transp. Res. Part E Logist. Transp. Rev. 2023, 176, 103208. [Google Scholar] [CrossRef]
  45. Moura, A.; Pinto, T.; Alves, C.; de Carvalho, J.V. A Matheuristic Approach to the Integration of Three-Dimensional Bin Packing Problem and Vehicle Routing Problem with Simultaneous Delivery and Pickup. Mathematics 2023, 11, 713. [Google Scholar] [CrossRef]
  46. Perić, N.; Begović, S.; Lešić, V. Optimization of Heterogeneous Last-Mile Delivery of Fresh Products Considering Traffic Congestions and Other Real-World Parameters. IEEE Access 2025, 13, 87193–87207. [Google Scholar] [CrossRef]
  47. Clarke, G.; Wright, J.W. Scheduling of Vehicles from a Central Depot to a Number of Delivery Points. Oper. Res. 1964, 12, 519–643. [Google Scholar] [CrossRef]
  48. Gaskell, T.J. Bases for vehicle fleet scheduling. Oper. Res. Q. 1967, 18, 281–295. [Google Scholar] [CrossRef]
  49. Raidl, G.R.; Kodydek, G. Genetic Algorithms for the Multiple Container Packing Problem. In Proceedings of the International Conference on Parallel Problem Solving from Nature, Amsterdam, The Netherlands, 27–30 September 1998; Volume 1498, pp. 875–884. [Google Scholar]
  50. Chu, P.C.; Beasley, J.E. A Genetic Algorithm for the Multidimensional Knapsack Problem. J. Heuristics 1998, 4, 63–86. [Google Scholar] [CrossRef]
  51. Hinterding, R. Mapping, Order-Independent Genes and the Knapsack Problem. In Proceedings of the 1st IEEE Conference on Evolutionary Computation, Orlando, FL, USA, 27–29 June 1994; pp. 13–17. [Google Scholar]
  52. Bean, J.C. Genetic Algorithms and Random Keys for Sequencing and Optimization. ORSA J. Comput. 1994, 6, 154–160. [Google Scholar] [CrossRef]
Figure 1. Swap nodes (2 groups of 1 node).
Figure 1. Swap nodes (2 groups of 1 node).
Logistics 09 00070 g001
Figure 2. Move one node.
Figure 2. Move one node.
Logistics 09 00070 g002
Figure 3. An example of an initialized population P 0 of 100 individuals. Each individual consists of a sequence of packages generated by a certain rule, with randomly selected rotations.
Figure 3. An example of an initialized population P 0 of 100 individuals. Each individual consists of a sequence of packages generated by a certain rule, with randomly selected rotations.
Logistics 09 00070 g003
Figure 4. Order-based crossover, with one crossover point. The permutations in the figure represent packing sequences, i.e., individuals.
Figure 4. Order-based crossover, with one crossover point. The permutations in the figure represent packing sequences, i.e., individuals.
Logistics 09 00070 g004
Figure 5. LIFO-correction. According to the corrected sequence, the packages with the highest priority (1) will be loaded last and unloaded first.
Figure 5. LIFO-correction. According to the corrected sequence, the packages with the highest priority (1) will be loaded last and unloaded first.
Logistics 09 00070 g005
Figure 6. MIA-RP flow chart.
Figure 6. MIA-RP flow chart.
Logistics 09 00070 g006
Figure 7. An example of MIA-RP. The figures show routing and packaging solutions through three iterations of the algorithm.
Figure 7. An example of MIA-RP. The figures show routing and packaging solutions through three iterations of the algorithm.
Logistics 09 00070 g007
Figure 8. Analysis of different hyperparameter combinations. Each label shows base λ l , λ l increment for small packages and λ l increment for non-stackable packages in percentages.
Figure 8. Analysis of different hyperparameter combinations. Each label shows base λ l , λ l increment for small packages and λ l increment for non-stackable packages in percentages.
Logistics 09 00070 g008
Figure 9. Comparison of execution time increase over problem size for MIA-RP with different state-of-the-art methods [3,34,35].
Figure 9. Comparison of execution time increase over problem size for MIA-RP with different state-of-the-art methods [3,34,35].
Logistics 09 00070 g009
Table 1. Definitions of parameters and variables used in the CVRP formulation.
Table 1. Definitions of parameters and variables used in the CVRP formulation.
Parameters:
c i j Cost of traveling from node i to node j,
q i Volume demand of customer i,
w i Weight demand of customer i,
V k Volume capacity of vehicle k,
M k Weight capacity of vehicle k,
KNumber of available vehicles,
NNumber of customers,
Variables:
b k i j = 1 0 if vehicle k travels directly from node i to j,
otherwise,
r i Subtour elimination variable for customer i,
k = 1 K , i , j = 0 N , i j .
Table 2. Extended definitions of parameters and variables in [21].
Table 2. Extended definitions of parameters and variables in [21].
Parameters:
Ltotal number of packages,
m l weight of package l,
l l × w l × h l length × width × height of package l,
v l volume of package l,
V k volume capacity of vehicle k,
L k × W k × H k length × width × height of vehicle k,
M k weight capacity of vehicle k,
Variables:
u k = 1 0 if vehicle k is used,
otherwise,
p l k = 1 0 if package l is in vehicle k,
otherwise,
x l , y l , z l location of the front/left/bottom corner of package l,
x l , y l , z l rear/right/top corner of package l,
σ i a b = 1 0 if the side b of package l is along the a-axis,
otherwise,
x l o = 1 0 if package l is on the right of package o ( x o x l ),
otherwise,
y l o = 1 0 if package l is behind package o ( y o y l ),
otherwise,
z l o = 1 0 if package l is above package o ( z o z l ),
otherwise,
d i l = 1 0 if package l is part of demand i,
otherwise,
f l = 1 0 if package l is fragile (non-stackable),
otherwise,
l , o = 1 L , k = 1 K , i = 0 N .
Table 3. Description of objective and constraints.
Table 3. Description of objective and constraints.
ElementDescription
Objective function (9)Minimizes the total volume of used bins.
Constraint (10)Ensures each package is assigned to exactly one bin.
Constraint (11)Ensures the weight capacity of each bin is not exceeded, similarly to constraint (5).
Constraint (12)Extends constraint (4) to account for the three-dimensional, real volume of packages. Unlike the VRP, the BPP considers actual 3D dimensions rather than scalar (1D representation) volumes. This necessitates additional spatial constraints.
Constraints (13)–(15)Ensure that each package is placed within the physical borders
of its vehicle.
Constraints (16)–(20)Enable orthogonal rotation of packages.
Variables x i k , y i k , z i k Binary variables indicating the relative position of package i with respect to package j along each spatial axis.
Constraints (21)–(26)Define the semantics of the relative position variables.
Constraint (27)Ensures that packages from the same vehicle do not overlap.
Table 4. The MIA-RP results on the ideal benchmark dataset from [36]. The numbers represent delivery costs and execution time.
Table 4. The MIA-RP results on the ideal benchmark dataset from [36]. The numbers represent delivery costs and execution time.
InstanceAll ConstraintsNo FragilityNo LIFONo Support3D Loading Only
CostTime [s]CostTime [s]CostTime [s]CostTime [s]CostTime [s]
E016-03 m287.7577.0287.7598.4287.7566.4287.4096.4287.4075.4
E016-05 m334.962.7334.962.6334.963.1334.962.8334.962.8
E021-04 m380.4693.5380.46104.8364.2814.4362.2815.7362.2716.8
E021-06 m430.8911.5430.895.6430.895.7430.894.5430.895.2
E022-04 g465.0157.2457.5056.5424.3580.7418.9578.3395.6447.0
E022-06 m496.2827.2496.2829.9495.855.7495.8510.1495.855.6
E023-03 g789.7772.2747.3039.3742.2439.4732.2461.2732.5227.9
E023-05 s856.40128.1827.3963.3775.6950.2785.9350.1730.6640.5
E026-08 m635.93 *86.2643.61106.7630.1367.9630.1386.7630.1373.4
E030-03 g940.87185.8864.80123.4785.73132.9741.0258.8711.5745.7
E030-04 s890.27281.5819.37121.6761.54101.2751.8796.3695.7138.2
E031-09 h616.9514.1610.0016.9616.9214.9616.1620.3610.0017.2
E033-03 n2788.68186.22687.2487.62571.62104.02606.60142.12426.16107.3
E033-04 g1632.60346.31613.02159.41417.40138.51453.64208.01282.99127.9
E033-05 s1687.18318.61601.61159.11333.50158.31339.93156.51201.2399.8
E036-11 h708.87223.6698.6131.8702.7017.8705.5552.1698.6114.7
E041-14 h875.1231.5872.5679.1877.3932.2884.7245.6871.6421.7
E045-04 f1348.33418.51284.82421.21187.04274.11166.33272.61115.97210.5
E051-05 e851.13390.6808.89341.8727.90221.1743.80255.0692.00220.4
E072-04 f783.621683.6717.681367.3605.95589.7627.52865.9532.16576.4
E076-07 s1311.321404.01215.661006.21088.16858.21070.981012.8980.85469.4
E076-08 s1388.621786.31304.021442.21186.85899.31189.18963.11091.33802.3
E076-10 e1397.002363.71274.881577.81074.29635.31135.57872.71019.87852.2
E076-14 s1369.941883.41244.121295.51078.49932.91129.941161.41054.40968.6
E101-08 e1755.022980.51746.314476.51412.893287.21415.822928.91278.251635.8
E101-10 c2013.263713.81979.834120.51564.281912.71656.863265.91483.922807.1
E101-14 s1797.933902.11734.984412.31529.474653.71535.232579.01396.572646.1
Average1067.93839.61025.4805.46926.23566.6935.16569.0871.98442.8
* A solution for instance was found with a higher number of vehicles than suggested by [36].
Table 5. Comparison of delivery costs between MIA-RP and existing approaches in 3L-CVRP on the ideal benchmark dataset from [36].
Table 5. Comparison of delivery costs between MIA-RP and existing approaches in 3L-CVRP on the ideal benchmark dataset from [36].
TS Gendreau et al. (2006) [36]GRASPxELS Lacomme et al. (2013) [37]ELS Zhang et al. (2015) [3]CG Mahvash et al. (2017) [41]CP Kucuk et al. (2022) [42]MIA-RP Out of 10 Runs
InstanceBest CostTime [s]Best CostTime [s]Best CostTime [s]Best CostTime [s] *Best CostTime [s]Avg. Cost **std.Best CostTime
E016-03 m297.653.4297.650.0297.650.3290.9219.7282.95379287.470.14287.4075.4
E016-05 m334.960.6334.960.0334.960.1334.895.7334.96308334.960.00334.962.8
E021-04 m362.27448.1362.270.2362.271.5362.1836.5362.27376364.772.58362.2716.8
E021-06 m430.8911.1430.890.0430.890.1430.7812.44430.88311435.703.87430.895.2
E022-04 g395.640.5379.430.1395.642.7396.0838.17389.87427396.833.56395.6447.0
E022-06 m495.8514.7495.850.0495.850.2495.7118.65495.85311501.254.47495.855.6
E023-03 g742.241.8725.434.9725.441.7739.8347.50738.45405732.520.00732.5227.9
E023-05 s735.14104.9735.141.1730.6610.1735.0342.79708.32437734.494.74730.6640.5
E026-08 m630.13977.8630.130.1630.131.6628.0835.24625.10402630.130.00630.1373.4
E030-03 g717.90410.7687.5732.1706.30218.3756.02128.18689.97433731.7813.26711.5745.7
E030-04 s718.25208.1718.241.8718.253.3760.07156.18695.71423695.710.00695.7138.2
E031-09 h614.601302.7610.002.0610.004.2610.0670.07610.23334610.921.84610.0017.2
E033-03 n2316.562317.32306.0486.92306.04121.92378.53185.792433.454362439.8013.522426.16107.3
E033-04 g1276.602121.31184.443600.21184.27427.51318.86295.601231.324121295.4715.761282.99127.9
E033-05 s1196.552916.41161.11689.31149.92656.91361.15330.061177.544251242.3338.081201.2399.8
E036-11 h698.61863.0698.610.0698.613.8698.4298.12698.61312705.195.56698.6114.7
E041-14 h906.42753.2861.791.2861.7911.2861.5784.05861.79312875.873.43871.6421.7
E045-04 f1124.332198.91078.412030.81092.011180.91149.08606.641093.214341125.166.821115.97210.5
E051-05 e680.291390.3658.343429.6656.961216.0694.381280.08700.21447696.847.72692.00220.4
E072-04 f529.007007.5503.301469.7503.902574.5544.311464.27566.70580534.243.81532.16576.4
E076-07 s1004.406262.5921.254697.4923.742402.91033.311700.461040.67698989.758.17980.85469.4
E076-08 s1068.962078.71009.453348.31001.632184.51108.331180.411090.967211101.569.261091.33802.3
E076-10 e1012.514314.1976.461889.1959.491353.71034.401353.241035.707581024.186.541019.87852.2
E076-14 s1063.611052.51047.75682.81035.801228.91109.591090.01083.377811069.2111.581054.40968.6
E101-08 e1371.32500.91219.774658.41166.993256.11337.552435.51404.609081289.4616.411278.251635.8
E101-10 c1557.121075.01393.763066.61353.482573.51496.752815.441430.1812471500.1112.531483.922807.1
E101-14 s1378.523983.21304.822422.31285.702610.11418.533553.391484.8810851413.7014.281396.572646.1
Average876.311567.4841.961522.6837.72816.5892.01706.82877.69522.3879.987.70871.98442.8
* CG execution times are based on an extended set of constraints, which may affect direct comparability. ** for all instances indicative purpose only.
Table 6. CVRP cost in each of the MIA-RP iterations for day 1 with different virtual volume increase per items values.
Table 6. CVRP cost in each of the MIA-RP iterations for day 1 with different virtual volume increase per items values.
Iteration Number012345678
Virtual volume increase per items ( λ ) of 5%:
CVRP cost (km)281.66282.03280.65282.45285.29282.33283.65286.08286.88
Number of unplaced packets35727291291850
Number of drives333333333
Virtual volume increase per items ( λ ) of 10%:
CVRP cost (km)281.64280.37282.74283.41-----
Number of unplaced packets352560-----
Number of drives3333-----
Virtual volume increase per items ( λ ) of 20%:
CVRP cost (km)281.64281.84283.80311.72-----
Number of unplaced packets352050-----
Number of drives3334-----
Table 7. Comparison of different optimization procedures on the real-world case study of 5 days.
Table 7. Comparison of different optimization procedures on the real-world case study of 5 days.
Day No.Num. of PackagesNum. of Delivery PointsNum. of VehiclesVirtual Vol. Increase per Items ( λ )First Iteration CVRP Solution CostNum. of Unplaced PacketsCVRP+3D-BPP CostNum. of MIA-RP IterationsCVRP Cost After MIA-RPIndustry Partner Cost
13356145%281.64 km
3 drives
35331.38 km
4 drives
8286.88 km
3 drives
391.69 km
4 drives
133561410%281.64 km
3 drives
35331.38 km
4 drives
3283.41 km
3 drives
391.69 km
4 drives
133561420%281.64 km
3 drives
35331,38 km
4 drives
3311.72 km
4 drives
391.69 km
4 drives
24458655%509.29 km
3 drives
96628.37 km
4 drives
14562.08 km
5 drives
681.00 km
5 drives
244586510%509.29 km
3 drives
96628.37 km
4 drives
8557.64 km
5 drives
681.00 km
5 drives
244586520%509.29 km
3 drives
96628.37 km
4 drives
6579.37 km
6 drives
681.00 km
5 drives
34378255%360.44 km
4 drives
113523.32 km
5 drives
15411.60 km
5 drives
509.26 km
5 drives
343782510%360.44 km
4 drives
113523.32 km
5 drives
8425.31 km
5 drives
509.26 km
5 drives
343782520%360.44 km
4 drives
113523.32 km
5 drives
4416.82 km
5 drives
509.26 km
5 drives
44548345%393.27 km
4 drives
110586.09 km
5 drives
18480.00 km
6 drives
478.30 km
4 drives
445483410%393.27 km
4 drives
110586.09 km
5 drives
11481.09 km
5 drives
478.30 km
4 drives
445483420%393.27 km
4 drives
110586.09 km
5 drives
4478.51 km
5 drives
478.30 km
4 drives
570410655%399.90 km
4 drives
161589.42 km
6 drives
13492.56 km
6 drives
543.33 km
5 drives
5704106510%399.90 km
4 drives
161589.42 km
6 drives
8521.70 km
7 drives
543.33 km
5 drives
5704106520%399.90 km
4 drives
161589.42 km
6 drives
5512.59 km
7 drives
543.33 km
5 drives
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

Perić, N.; Kolak, A.; Lešić, V. Modular Coordination of Vehicle Routing and Bin Packing Problems in Last Mile Logistics. Logistics 2025, 9, 70. https://doi.org/10.3390/logistics9020070

AMA Style

Perić N, Kolak A, Lešić V. Modular Coordination of Vehicle Routing and Bin Packing Problems in Last Mile Logistics. Logistics. 2025; 9(2):70. https://doi.org/10.3390/logistics9020070

Chicago/Turabian Style

Perić, Nikica, Anđelko Kolak, and Vinko Lešić. 2025. "Modular Coordination of Vehicle Routing and Bin Packing Problems in Last Mile Logistics" Logistics 9, no. 2: 70. https://doi.org/10.3390/logistics9020070

APA Style

Perić, N., Kolak, A., & Lešić, V. (2025). Modular Coordination of Vehicle Routing and Bin Packing Problems in Last Mile Logistics. Logistics, 9(2), 70. https://doi.org/10.3390/logistics9020070

Article Metrics

Back to TopTop