Next Article in Journal
Nonlinear Dynamical Analysis of a Diffusion-Driven Bacterial Density Model: Integrability and Bifurcation Analysis
Previous Article in Journal
Prospective Inference of Central Tendency Through Data-Adaptive Mechanisms
Previous Article in Special Issue
A Binary Chaotic White Shark Optimizer
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Biased Random-Key Genetic Algorithm for Maximum Flow with Minimum Labels

by
Donatella Granata
1,2,† and
Andrea Raiconi
3,*,†
1
Istituto per le Applicazioni del Calcolo “Mauro Picone”, National Research Council, Via dei Taurini 19, 00155 Rome, Italy
2
Dipartimento di Scienze Matematiche, Fisiche e Informatiche, Plesso di Matematica, Università Degli Studi di Parma, Parco Area delle Scienze 53/A, 43124 Parma, Italy
3
Istituto per le Applicazioni del Calcolo “Mauro Picone” (Naples Unit), National Research Council, Via Pietro Castellino 111, 80131 Naples, Italy
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Mathematics 2025, 13(22), 3621; https://doi.org/10.3390/math13223621
Submission received: 21 October 2025 / Revised: 7 November 2025 / Accepted: 9 November 2025 / Published: 12 November 2025

Abstract

In this work, we propose a novel Biased Random-Key Genetic Algorithm (BRKGA) to solve the Maximum Flow with Minimum Number of Labels (MF-ML) problem, a challenging NP-Complete variant of the classical Maximum Flow problem defined on graphs in which arcs have both capacities and labels assigned. Labels give a qualitative characterization of each connection, in contexts where a solution that is as homogeneous as possible is sought. The MF-ML problem aims to maximize the flow from a source to a sink on a capacitated network while minimizing the number of distinct arc labels used, a modeling framework with applications such as water purification in distribution systems. Our proposed algorithm encodes solutions as random-key vectors, which are decoded into feasible solutions. The BRKGA demonstrates superior performance when compared to a Skewed Variable Neighborhood Search (VNS) approach previously proposed to solve MF-ML. In particular, on the largest considered graphs, BRKGA-MFML outperformed VNS in 55 out of 81 scenarios, with an average improvement per scenario that reaches 7.18%.

1. Introduction

Edge or arc-labeled graphs provide a robust framework for designing and evaluating networks that capture the complex and varied nature of many physical infrastructures in the real world. While weights provide a quantitative characterization of each connection, labels (sometimes also called colors) give a qualitative one, proving useful when there is a need to discriminate among different types of connections.
A significant class of problems aims to find a solution (such as a path, a spanning tree, or a network flow) that is as homogeneous as possible in terms of its labels. Two primary paradigms exist for pursuing this objective: one focuses on minimizing the total number of labels used, while the other focuses on the costs or rules associated with transitioning between different labels [1]. Here, we focus on the former paradigm, which is critical when the presence of each additional label incurs a fixed cost or adds complexity to the overall system. Problem examples from the literature include the following:
  • Minimum Label Spanning Tree finds a spanning tree that uses the minimum number of distinct labels [2,3,4,5,6]. Variants where a label set is associated to each edge have also been proposed [7,8].
  • Label s-t Cut finds a subset of labels such that the removal of all edges with these labels from the graph disconnects a source from a sink node. The objective can be finding a minimum [9] or maximum [10] number of labels. In the colorful [10] variant, all labels need to be used.
  • Maximum Flow with Minimum Number of Labels finds a flow of the maximum value using the minimum number of labels [11].
  • Labeled Shortest Path identifies a path between two nodes that has the fewest labels. This is a variation of the shortest path problem where the length of a path is given by the number of distinct labels on its edges [12,13,14].
  • Labeled Traveling Salesman Problem looks for a Hamiltonian cycle with the minimum number of different labels [15,16,17].
  • Labeled disjoint s-t Paths: finds link-disjoint paths that use the minimum number of total labels. The two-disjoint-path problem is faced in [14], while the maximum number of disjoint uni-color (that is, single-label) paths is studied in [18].
In this paper, we present a Biased Random-Key Genetic Algorithm (BRKGA) metaheuristic algorithm to solve the Maximum Flow with Minimum Number of Labels (MF-ML) problem. We call the proposed adaptation of the BRKGA to this problem the Biased Random-Key Genetic Algorithm for the Maximum Flow with Minimum Labels (BRKGA-MFML). The problem was first introduced by [11], who showed it was NP-Complete, and a Skewed VNS metaheuristic was proposed for its resolution. A practical application of the problem concerning the purification of water in distribution systems is also discussed.
BRKGAs [19] are a class of genetic algorithms applied successfully to several optimization problems, such as routing problems [20,21], scheduling problems [22,23], and the Knapsack Problem with Forfeit Sets [24]. While the No Free Lunch theorem [25] states that no algorithm can be universally superior for all problem classes, the strong performance of BRKGA for combinatorial optimization makes it a suitable candidate to solve MF-ML. Indeed, in this work, we demonstrate that it can outperform the VNS algorithm proposed in [11].
The work is organized as follows. The problem is formally defined in Section 2. Two mathematical formulations are presented in Section 3. The proposed BRKGA-MFML algorithm is presented in detail in Section 4, and its performance tests are analyzed in Section 5.
Final discussions are contained in Section 6.

2. Basic Notations and Definitions

Let G = ( N , A , L ) be a directed arc-labeled graph, defined on a set of nodes N, a set of arcs A, and a set of labels L. We distinguish two special nodes: a source s N and a destination t N . Each arc ( i , j ) A is associated with a capacity u i j 0 and a label l i j L .
A feasible flow x is defined as a function x : A R + that assigns a flow value x i j to each arc, satisfying the classic capacity and conservation constraints. The total value of the flow, denoted by f 0 , is the net flow coming out of the source (or, equivalently, coming into the sink). We define G x = ( N , A x , L x , f ) as the subgraph induced by a flow x and its value f, where A x A contains only the set of arcs with a positive flow A x = { ( i , j ) A | x i j > 0 } , and L x is the set of labels corresponding to the arcs in A x , that is, L x = { l i j | ( i , j ) A x } . We note that a feasible flow can exist for any value f in the range [ 0 , f m a x ] , where f m a x is the maximum possible flow from s to t.
Among all possible flow configurations, the Maximum Flow with Minimum Number of Labels (MF-ML) problem introduced by [11] looks for a feasible flow x that not only achieves the maximum flow value f = f m a x but also minimizes z = | L x | . Let z * denote the optimal objective function value.
With these notations in place, we are now ready to formalize two important concepts introduced in [11]: the “necessary label (NL)” and the “necessary node (NN)”. A label k L is defined as a necessary label (NL) if its removal from the network decreases the maximum achievable flow from f m a x to f k with f k < f m a x . This concept is formalized as follows:
Definition 1
(Necessary label (NL) [11]). Given a network G = ( N , A , L ) allowing a maximum flow f m a x , with source s N , sink t N , and label set L, a label k L is a necessary label if and only if the induced subgraph obtained by removing label k from set L (that is, G L { k } = { N , A k , L { k } } , with A k = { ( i , j ) A : l i j L { k } } ) does not allow a maximum flow of value f m a x , but rather a strictly lower maximum flow f k ( f k < f m a x ).
Let S N L denote the set of all necessary labels. This set contains all labels k L that satisfy the conditions of Definition 1.
Analogously, a node i N { s , t } is defined as a necessary node (NN) if its removal from the network decreases the maximum achievable flow from f m a x to f i , with f i < f m a x . Formally, a necessary node is defined as follows.
Definition 2
(Necessary Node (NN) [11]). Given a network G = ( N , A , L ) allowing a maximum flow f m a x , with source s N , sink t N , and label set L, a node i N { s , t } is a necessary node if and only if the induced subgraph obtained by removing node i from N (that is, G N { i } = { N { i } , A i , L } , where A i = { ( u , v ) A : u , v N { i } } ) does not allow a maximum flow of value f m a x , but rather a strictly lower maximum flow f i ( f i < f m a x ). The underflow associated with node i is defined as f i = f m a x f i .
Similarly, we denote the set of necessary nodes by S N N . This set contains all nodes i N { s , t } that satisfy the conditions of Definition 2. Note that, by definition, f i > 0 i S N N .

3. Mathematical Formulations

In this section, we present Mixed-Integer Linear Programming (MILP) models, ILP1 and ILP2, which were originally introduced in [11] and are further refined here. These formulations aim to address the Maximum Flow with Minimum Number of Labels (MF-ML) problem.
Let us consider a flow x of maximum value, and its induced subgraph and flow value G x = ( N , A x , L x , f m a x ) . We introduce a binary variable y k for each label k L , equal to 1 if the label belongs to the label subset L x induced by flow x (i.e., k L x ), and 0 otherwise.
ILP 1 : z * : = min k L y k
j : ( s , j ) A x s j = f m a x
h : ( h , t ) A x h t = f m a x
j : ( i , j ) A x i j h : ( h , i ) A x h i = 0 i N { s , t }
M · y k ( i , j ) A : l ( i , j ) = k x i j k L
0 x i j u i j ( i , j ) A
y k { 0 , 1 } k L
The objective function aims to minimize the number of labels | L x | used for sending the flow x of value f m a x from the source s to the sink t. Constraints (1)–(3) are the standard flow conservation equations that must hold for a feasible flow.
They ensure that for the source node, the outgoing flow is equal to the ingoing flow at the sink node, which is of value f m a x , and that for all intermediate nodes ( i N { s , t } ), to ensure balance, the total ingoing flow equals the total outgoing flow. Constraints (4) force y k to 1 whenever there is any positive flow in subgraph G x with label k L x . M represents a sufficiently large constant, which ensures that if any flow is sent on an arc with label k, y k is activated. Since M must be an upper bound on the cumulative flow traversing the edges of a given color, a valid value for M is | A | · f m a x , which was used in our tests. The capacity constraints (5) ensure that flow x i j on arc ( i , j ) does not exceed its capacity and remains non-negative. Lastly, constraints (6) define y k as binary decision variables for labels k L .
Formulation ILP2 is a modification of ILP1 designed to incorporate insights derived from the problem structure, specifically through the concepts of necessary labels and necessary nodes, as defined in Section 2.
ILP 2 : z * : = | S N L | + min k L S N L y k ( 1 ) , ( 2 ) , ( 3 ) , ( 5 )
M · y k ( i , j ) A : l ( i , j ) = k x i j k L S N L
j : ( i , j ) A x i j f i i S N N
j : ( j , i ) A x j i f i i S N N
y k { 0 , 1 } k L S N L .
The objective function explicitly accounts for the number of necessary labels | S N L | , which are known to be part of any maximum flow solution. Therefore, the minimization focuses on the labels that are not necessary, that is, labels in L S N L . Constraints (1), (2), (3) are the same as ILP1, ensuring that the maximum flow f m a x is achieved. Logical constraints (7) are also equivalent to (4); however, they are specifically applied only on labels in L S N L . The value of M in (7) is the same as that discussed for ILP1. Constraints (5) as in ILP1 are capacity constraints for the arcs.
Constraints (8) and (9) represent flow requirements for necessary nodes. By definition, we know that the removal of a node i S N N would reduce the maximum flow f m a x of a quantity f i ; it follows that a flow equal to at least f i must pass through i in any feasible solution. Therefore, for each necessary node, we impose both the outgoing and ingoing flow to be greater than or equal to the corresponding underflow value. Finally, binary decision variables (10) indicate which non-necessary labels are chosen.
An improved formulation can be derived by relaxing the standard flow-balance constraints for nodes in N { s , t } (3):
This relaxation replaces the strict equality constraint with deviation of up to Δ .
j : ( i , j ) A x i j h : ( h , i ) A x h i Δ i N { s , t }
j : ( i , j ) A x i j h : ( h , i ) A x h i Δ i N { s , t }

4. Biased Random-Key Genetic Algorithm

In this section, we present the Biased Random-Key Genetic Algorithm (BRKGA) that we developed to solve the BRKGA-MFML problem. Like other genetic algorithms, BRKGAs are inspired by the evolutionary process of a population of individuals through several generations, and contain mechanisms mimicking the occurrence of mutations, crossover (generation of offspring from parent individuals), and natural selection. Each individual (also called a chromosome) represents an encoding of the considered optimization problem, and its fitness to the environment is evaluated through an appropriate fitness function, usually corresponding (as in our case) to the objective function of the problem.
In BRKGAs, chromosomes consist of fixed-size vectors of real numbers in the interval [ 0 , 1 ] (random keys); their elements are individually called genes, and the specific random key assigned to each gene within a chromosome is also called an allele.
To design a BRKGA, it is essential to define an appropriate decoder operator, that is, a deterministic function that assigns a feasible solution to each possible chromosome. Once the chromosomes are decoded, it is possible to compute their fitness and therefore to rank them from least fit to most fit.
In the following, we describe our algorithm in detail. In particular, Section 4.1 presents the scheme of the algorithm, while the chromosome structure and the decoder function are described in detail in Section 4.2 and Section 4.3, respectively.

4.1. Algorithm Overview

As mentioned, BRKGAs evolve a population (set of chromosomes) over multiple generations, where each generation corresponds to an iteration of the algorithm, until some stopping condition is met. The population size p o p s i z e 2 remains constant throughout the generations, and the starting population is composed of randomly generated chromosomes.
Given the g-th population ( g 1 ) , the g + 1 -th population is constructed as follows, where 0 < p e < 1 , 0 < p m < 1 (with p e + p m < 1 ), and 0.5 < ρ e < 1 are three typical parameters of BRKGAs:
  • The best p e · p o p s i z e individuals (according to the fitness function) of the g-th generation, called the elite, are carried over to the g + 1 -th population.
  • p m · p o p s i z e new random chromosomes (called mutants) are included in the g + 1 -th population to add diversification.
  • Finally, the remaining ( 1 p e p m ) · p o p s i z e chromosomes are generated through a crossover operator. The generation of each child chromosome through crossover works as follows: a random elite chromosome and a random non-elite one from population g are first chosen as parents. The allele assigned to each gene of the child will be equal to the corresponding allele in the elite parent with probability ρ e , and to the corresponding allele of the other parent otherwise.
The introduction of mutants in each generation favors the exploration of diverse regions of the search space, while the randomized crossover (biased towards elite individuals) allows us to explore solutions close to the most promising ones.
We adopted two different stopping conditions. The algorithm ends as soon as one of the two is reached. The first condition is a maximum number of iterations max _ g e n e r a t i o n s 1 . The second condition is related to a maximum number of consecutive iterations without improving the best overall solution (incumbent solution) and is controlled by two integer parameters, m a x _ n o _ i m p 1 and t o t a l _ n o _ i m p 1 .
Pseudocode of BRKGA-MFML is given in Algorithm 1. The procedure initializes population P O P with random chromosomes, decodes them building the corresponding set of solutions S , and saves incumbent solution S * , that is, the best solution in S (lines 4–6). Note that with D e c o d e C h r o m o s o m e s , we represent the execution of the decoder operator on each element of P O P . The decoder makes use of two parameters α and β , as well as a hash table. They are used in the completion (see Section 4.3.2) and cleaning (see Section 4.3.4) steps of the decoder and to avoid unnecessary computations (see Section 4.3.5).
Lines 7–29 represent the main loop of the algorithm, executed at most m a x _ g e n e r a t i o n s times. The population is updated with new individuals as previously described, and the decoder is used to find the corresponding new solutions (lines 8–12). If the current best solution is improved, S * is updated, and the counter of iterations since the last improvement g _ n o _ i m p is reset to 0; otherwise, its value is increased by 1 (lines 13–18). The current iteration ends, unless g _ n o _ i m p reached m a x _ n o _ i m p . In this case, if we did not already encounter m a x _ n o _ i m p iterations without improvements t o t a l _ n o _ i m p times, we reset g _ n o _ i m p to 0. Otherwise, the algorithm terminates, returning the best solution found S * (line 24). The incumbent solution is also returned if we end the main loop, having executed it m a x _ g e n e r a t i o n s times (line 28).
Algorithm 1 BRKGA-MFML algorithm
Input: 
Graph G, integer parameters α 1 , p o p s i z e 2 , m a x _ g e n e r a t i o n s 1 m a x _ n o _ i m p 1 , t o t a l _ n o _ i m p 1 , continuous parameters 0 < β 1 , 0 < p e < 1 , 0 < p m < 1 , 0.5 < ρ e < 1
Output: 
Best found solution S *
  1:
g _ n o _ i m p 0
  2:
n _ m a x _ n o _ i m p 0
  3:
H a s h T a b l e
  4:
P O P R a n d o m P o p u l a t i o n ( p o p s i z e )
  5:
S D e c o d e C h r o m o s o m e s ( G , P O P , α , β , H a s h T a b l e )
  6:
S * B e s t S o l ( S )
  7:
for  g = 1 m a x _ g e n e r a t i o n s  do
  8:
    P O P E l i t e ( P O P , p o p s i z e , p e )
  9:
    P O P M u t a n t s ( p o p s i z e , p m )
10:
    P O P C r o s s o v e r ( P O P , 1 p e p m , ρ e )
11:
    P O P P O P
12:
    S D e c o d e C h r o m o s o m e s ( G , P O P , α , β , H a s h T a b l e )
13:
   if  F i t ( B e s t S o l ( S ) ) < F i t ( S * )  then
14:
        g _ n o _ i m p 0
15:
        S * B e s t S o l ( S )
16:
   else
17:
        g _ n o _ i m p g _ n o _ i m p + 1
18:
   end if
19:
   if  g _ n o _ i m p = = m a x _ n o _ i m p  then
20:
       if  n _ m a x _ n o _ i m p < t o t a l _ n o _ i m p  then
21:
            g _ n o _ i m p 0
22:
            n _ m a x _ n o _ i m p n _ m a x _ n o _ i m p + 1
23:
       else
24:
           return  S *
25:
       end if
26:
   end if
27:
end for
28:
return  S *

4.2. Chromosome Structure

As mentioned, in BRKGAs, each chromosome is a vector of real numbers in the interval [ 0 , 1 ] , and it encodes a feasible solution for the studied problem. In the case of MFML, a feasible solution corresponds to a subset of labels S L such that their arcs allow a flow of value f m a x in G. Therefore, each gene within a chromosome is associated with a label.
As discussed, no decision can be made for necessary labels, since they are included in each feasible solution by definition. BRKGA-MFML focuses, therefore, on the optimal identification of labels in L = L S N L , and each chromosome will be composed of | L | genes. Therefore, when discussing a BRKGA-MFML solution, we will focus on the identification of a label subset S L , such that the labels in S S N L allow a flow f m a x in G.

4.3. Decoder Operator

Let Γ P O P be a chromosome of the current population, and let Γ [ k ] be the allele (chromosome value) associated with the non-necessary label k L . The decoder function associates a feasible MFML solution S S to Γ by executing several steps in sequence:
1.
Solution initialization. Solution S is initialized using the alleles of Γ .
2.
Solution completion. As solution S may not be feasible through the initialization step, the completion step adds new labels to ensure that feasibility is reached.
3.
Solution cleaning. The initialization and completion step may introduce some labels that are not strictly needed. For this reason, the cleaning step looks for labels that can be removed without compromising feasibility.
4.
Chromosome adjustment. Given that steps 2–3 may have modified S, the adjustment step modifies Γ so that it represents a faithful encoding of S, as if it was directly obtained from the initialization step.
Additionally, since the decoder must be invoked for each chromosome, to ease the computational burden, we used a hash table to quickly retrieve information about chromosomes that have been encountered previously, and avoid most of the decoder computation.
An overview of the sequence in which the different decoder components are executed is given in Algorithm 2.
Given a solution S associated with a chromosome Γ through the decoder, we observe that the related fitness function can be computed directly as | S | + | S N L | .
The decoder steps and the hash table used are described in greater detail in Section 4.3.1Section 4.3.5.
Algorithm 2 BRKGA-MFML decoder operator
Input: 
Graph G, Chromosome Γ , integer parameter α 1 , continuous parameter 0 < β 1 , hash table H a s h T a b l e
Output: 
decoded solution S, adjusted chromosome Γ , updated H a s h T a b l e
  1:
S I n i t i a l i z a t i o n S t e p ( G , Γ )
  2:
if  S H a s h T a b l e  then
  3:
    return S, Γ , H a s h T a b l e
  4:
end if
  5:
S C o m p l e t i o n S t e p ( G , Γ , S , α )
  6:
S C l e a n i n g S t e p ( G , Γ , S , β )
  7:
Γ A d j u s t m e n t S t e p ( Γ , S )
  8:
H a s h T a b l e a d d ( S )
  9:
return S, Γ , H a s h T a b l e

4.3.1. Solution Initialization

As already stated, solution S is initialized using Γ . In particular, starting from S = , each label k is added to S if and only if Γ [ k ] < 0.5 , for each k L . The computational complexity of the initialization step is linear in | L | , and is therefore O ( | L | ) .

4.3.2. Solution Completion

Given the set S resulting from the initialization phase, we check the maximum flow f that can be obtained using only arcs with labels belonging to S S N L using the Push Relabel algorithm. If f = f m a x , S is feasible. Otherwise, the solution completion operator iteratively adds new labels belonging to L = L S and recomputes f, until f = f m a x .
To make the procedure deterministic and increase the likelihood of reaching f m a x with fewer labels, labels in L are sorted in non-increasing order of their total arc capacity in G and added to S in this order. Furthermore, to speed up the procedure, up to α 1 new labels are added to S per iteration before recomputing f, where α is a parameter of the algorithm. A pseudocode of the solution completion iterator is given in Algorithm 3, where M a x F l o w ( G , S ) refers to the solution of the Push Relabel algorithm on the subgraph of G induced by S S N L .
With respect to the computational complexity, the preliminary ordering of the labels takes time O ( | L | l o g | L | ) , while each execution of the Push Relabel algorithm takes time O ( | N | 2 | A | ) . Since it is executed O ( | L | ) times, the overall complexity of the solution completion step is O ( | L | | N | 2 | A | ) .
Algorithm 3 BRKGA-MFML decoder: solution completion step
Input: 
Graph G, Chromosome Γ , Solution S, integer parameter α 1
Output: 
updated solution S
  1:
L L S
  2:
f M a x F l o w ( G , S )
  3:
while  f < f m a x do
  4:
     α min { α , | L | }
  5:
    remove next α labels by arc capacity from L and add them to S
  6:
     f M a x F l o w ( G , S )
  7:
end while
  8:
return S

4.3.3. Solution Cleaning

The solution S resulting from the initialization and completion operators is feasible, since it guarantees a flow f m a x (note that in the worst case, all labels in L are added to S). The cleaning operator aims to identify labels that can be removed from S without compromising feasibility.
Solution cleaning works in two phases. In the first phase, given the execution of the Push Relabel algorithm in the solution completion step on the subgraph induced by S S N L , which led to the identification of a flow f m a x , the solution cleaning operator removes from S all labels such that none of their arcs carried positive flow. This may allow the removal of multiple labels in a single step, with limited computational effort. Therefore, we update S to S S , where S is composed of such labels. In the second phase, the operator looks for alternative solutions with fewer labels, attempting to remove labels from a subset S of S, one at a time. For each label k S , we check the maximum flow f k in the graph induced by S { k } S N L . If f k = f m a x , k is actually removed from S.
The cardinality of S is β | S | , where 0 < β 1 is a parameter of the algorithm. To identify the labels to be included in this set, we first rank them according to the amount of positive flow passing on their arcs in the Push Relabel solution mentioned before. Labels with less flow are ranked first, as we consider alternative solutions without them more likely to exist. Therefore, we include in S the top β | S | labels according to this ranking.
A pseudocode of the operator is given in Algorithm 4. Lines 1–2 contain the first phase, while lines 3–9 refer to the second phase.
Regarding the computational complexity, checking arcs to identify unused labels requires O ( | A | ) . The ordering of labels to identify the less used ones runs in O ( | L | l o g | L | ) . As for the solution completion step, the complexity of the solution cleaning is dominated by the repeated executions of the Push Relabel algorithm, which is executed O ( | L | ) times. Therefore, also in this case, the overall complexity is O ( | L | | N | 2 | A | ) .
Algorithm 4 BRKGA-MFML decoder: solution cleaning step
Input: 
Graph G, Chromosome Γ , Solution S, continuous parameter 0 < β 1
Output: 
updated solution S
  1:
S U n u s e d L a b e l s ( G , S )
  2:
S S S
  3:
S L e s s U s e d L a b e l s ( G , S , β )
  4:
for  k S do
  5:
    f k M a x F l o w ( G , S { k } )
  6:
   if  f k = = f m a x  then
  7:
      S S { k }
  8:
   end if
  9:
end for
10:
return S

4.3.4. Chromosome Adjustment

The aim of chromosome adjustment is to modify Γ so that it reflects the changes introduced in S by the solution completion and cleaning steps. The modified chromosome should be such that, once decoded, S is obtained directly from the initialization step. In this way, chromosomes are closer representations of their corresponding solutions and are more likely to transmit their good features (favorable labels) through crossover. Chromosome adjustments are commonly applied to BRKGAs that refine solutions after the first initialization (see [26]).
To perform the chromosome adjustment, for each k L , we set Γ [ k ] to 1 Γ [ k ] if k S and Γ [ k ] > 0.5 , or if k S and Γ [ k ] < 0.5 . The computational complexity is ( O ( | L | ) .

4.3.5. Hash Table

As mentioned, we make use of a hash table to recognize previously encountered solutions and avoid unnecessary computations. A hash key is generated for each decoded solution and stored in the hash table (Algorithm 2, line 8). Every time we need to decode a new chromosome Γ , we first execute the initialization step, obtaining label set S. We then check if S is in the hash table; if this is the case, the decoder is interrupted and S is returned, as we know that it is a feasible solution and the cleaning step would not remove any label (Algorithm 2, steps 2–3).

5. Results

To validate the performances of BRKGA-MFML, we tested it on a wide set of instances and compared its performances with the Skewed VNS metaheuristic (simply VNS from now on) presented in [11], as well as solutions obtained by solving the formulations presented in Section 3.

5.1. Test Instances, Parameters, and Testing Environment

We tested the approaches on randomly generated graphs. Instances were generated according to three parameters: | V | , d, and l. For the number of nodes | V | , the values considered were { 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 } . The continuous parameter 0 < d 1 represents the graph density; that is, for a given value of d, the resulting graph has | A | = d · | V | · ( | V | 1 ) arcs. For d = 1 , we would obtain a complete graph. Finally, the continuous parameter 0 < l 1 is a label density parameter, controlling the number of labels | L | . In particular, for any choice of l, we obtain a graph with l · | A | different labels. Clearly, for l = 1 , each arc would have a different label, while fewer labels will be present in the graph for l < 1 . The assignment of labels to arcs is random.
The values considered for both d and l were { 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 } . Ten different instances were generated for each combination of parameters, resulting in 810 instances for each value of | V | , and 7290 instances in total. For each instance, nodes s and t were selected randomly.
The tests were executed on a Windows 10 PC with an Intel i7-11700 processor running at 2.5 GHz, with 32 GB of RAM. Both VNS and BRKGA-MFML were coded in the C++ language. A library for BRKGAs [27] was used in the implementation of BRKGA-MFML. Based on some preliminary tests, the following parameter values were chosen for BRKGA-MFML: p o p s i z e = 100 , p e = p m = 0.15 , ρ e = 0.75 , t o t a l _ n o _ i m p = 5 , m a x _ n o _ i m p = 10 , m a x _ g e n e r a t i o n s = 100 , α = max { r o u n d ( | L | 100 ) , 1 } , β = 0.5 . The values chosen for p e , p m , and ρ e are consistent with the recommendations given in [19] for BRKGAs. The other parameter choices provided a favorable trade-off between solution quality and computational times. Indeed, p o p s i z e controls how many chromosomes belong to each population, while t o t a l _ n o _ i m p , m a x _ n o _ i m p , and m a x _ g e n e r a t i o n s regulate how many iterations the method performs. Finally, parameters α and β affect the performances of the decoder operator, since lower α and higher β values would lead to additional executions of the Push Relabel algorithm in the solution completion and solution cleaning step, respectively.
VNS, as described in [11], used a maximum number of iterations as a termination criterion. However, to obtain a fair comparison, we modified this criterion so that it iterates until a time limit is reached. In particular, for each of its 7290 tests, as a time limit for VNS, we used the computational time required by BRKGA-MFML on the same instance.
Formulations ILP1 and ILP2 were also coded in C++, embedding the solver IBM ILOG CPLEX 22.1.1 through its native library. A time limit of 3600 s was considered for each formulation and each of the 7290 instances. To compare with the results of the two heuristics, we use either the optimal solution or the best upper bound from either formulation for instances unsolved with respect to proven optimality.

5.2. Results and Discussion

Before focusing on the comparison between the two heuristics, we briefly discuss the performance of the ILP1 and ILP2 formulations. ILP1 solved all instances with | V | 40 , with times increasing up to about 600 s for instances with | V | = 40 and d = l = 0.9 , with a peak of 669.85 s. On larger instances, an increasing number of instances were not solved with regard to proven optimality, particularly for d 0.5 . Indeed, for these values of density, ILP1 did not solve 5, 24, 45, 67, 96, or 103 instances with 50, 60, 70, 80, 90, or 100 nodes, respectively. Due to its additional complexity, ILP2 had overall larger computational times and more unsolved instances. One instance was already not solved for | V | = 40 , with the other computational times increasing up to 956.40 s. For d 0.5 , ILP2 did not solve optimality for 11, 34, 55, 86, 109, or 129 instances with 50, 60, 70, 80, 90, or 100 nodes, respectively. Overall, ILP1 found better solutions than ILP2 139 times, while the opposite happened 37 times. As mentioned, we compare our heuristics with either optimal solutions or the best upper bounds found.
We report average results in Table 1, Table 2 and Table 3. We divided instances into three groups, based on the value of | V | : small instances (20 to 40 nodes), medium instances (50 to 70 nodes), and large instances (80 to 100 nodes). For each value of d and l, in Table 1, Table 2 and Table 3, we report average values computed for the corresponding 30 instances. In particular, under heuristic time (s), we report the average computational time required by BRKGA-MFML, which, as discussed, corresponds to the average computational time given as a time limit for VNS. The two columns under the BRKGA-MFML %gaps heading contain the average gaps between BRKGA-MFML and either VNS or the best upper bound returned by any of the two models. In particular, for VNS and a given instance x, each gap is computed as 100 · B R K G A ( x ) V N S ( x ) V N S ( x ) , where A l g ( x ) refers to the objective function value of method A l g on instance x. Gaps computed with respect to solutions obtained by CPLEX are computed analogously.
On small instances (Table 1), the two heuristics perform very similarly. Indeed, they return the same solutions (VNS gap = 0) in 26 cases out of 81, BRKGA-MFML finds better solutions on average in 28 cases (negative value in the VNS gap column), and VNS finds better solutions in the remaining 27. Gaps are very small, varying between −1.19% and 1.08%. Average computational times remain within about 1 s for all instances with a density up to d = 0.5 , reaching 4.46 s on average for the instances with more edges and labels ( d = l = 0.9 ). The comparison between BRKGA-MFML and VNS on small graphs is illustrated visually in Figure 1, where it can be seen that for most graph and label densities, gaps are close to 0, with peaks around 1% and −1%.
In accordance with the computational times, the number of generations needed to reach the best solution by BRKGA-MFML increases with d and l. In particular, it was always found in the initial population for d = 0.1 and l = 0.1 . The average number of generations to reach this solution remains always below 2 for d = 0.1 and up to 1.20 for l = 0.5 , and for l = 0.1 , up to 1.87 for d = 0.9 . The best solution is found after more than 10 generations on average only for d = 0.9 , l 0.7 , up to 11.90 generations.
Comparing with the CPLEX solutions, we can see that their values are very close. The CPLEX gap is 0 in 37 out of 81 cases and below 1% in 70 cases, increasing only twice over 2%, up to 2.63% ( d = l = 0.8 ).
To conclude, both heuristics prove to be very suitable for solving small instances, providing accurate solutions within fast computational times.
Let us now consider medium-sized instances (Table 2). Compared to the small ones, there is a more pronounced difference in performance between BRKGA-MFML and VNS. Indeed, BRKGA-MFML finds better solutions in 46 out of 81 cases, with a maximum negative gap of −4.08% ( d = 0.2 , l = 0.9 ). VNS finds better solutions in 34 cases, with a maximum gap equal to 1.91%. The 46 negative gaps average −1%, while the positive gaps average 0.52%. We can see that BRKGA-MFML is particularly effective on the less dense scenarios, finding better solutions in 23 out of 27 scenarios for d 0.3 , and in 36 out of 54 scenarios for d 0.6 . While the performances of the two methods appeared comparable on small graphs, on the medium ones, we can see that the diverse solutions across the search space maintained in the population by BRKGA-MFML is often beneficial for escaping from local minima. These results are illustrated in Figure 2, which shows that most gaps are negative, particularly for low graph densities and high graph densities. Similar trends will be observed for large graphs.
In terms of computational times, the heuristics run within 2 s on average for d 0.3 , within 10 s for d 0.6 , and within 30 s for d 0.8 . On the denser instances with more labels ( d = l = 0.9 ), the average computational time reaches 40.70 s.
The average number of generations needed by BRKGA-MFML to find the best solution is below 2 in all cases except one for d = 0.1 , where it grows to 2.63 ( d = 0.1 , l = 0.8 ). It remains within 5 generations for d 0.3 , and within 15 generations for d 0.7 , increasing to over 20 generations only for d = 0.9 , l 0.6 (with a maximum of 25.47 for d = 0.9 , l = 0.9 ).
Comparing with CPLEX solutions, we observe that the gap is 0 in 8 cases, within 1% in 43 cases, and within 2% in 61 out of 81 cases, exceeding 4% only in 3 cases (up to 4.51% for d = 0.8 , l = 0.9 ).
Finally, we consider the large instances. The results are reported in Table 3. For these instances, BRKGA-MFML performs better on average in 55 out of 81 cases, while VNS performs better in 26 cases. Negative gaps reach −7.18% ( d = 0.1 , l = 0.9 ). Positive gaps reach 2.15% ( d = 0.6 , l = 0.1 ); however, they are higher than 2% only once. Again, we observe that BRKGA-MFML performs particularly well for low densities, finding better solutions in 24 out of 27 cases for d 0.3 and 41 out of 54 cases for d 0.7 . These trends, similar to those noted for medium graphs, are shown in Figure 3.
While higher than those observed for the other instances, computational times remain reasonable. The heuristics run within about 6 s for d 0.3 , and within 60 s for d 0.7 . For d = 0.7 , 0.8 , and 0.9 , average computational times reach around 100 s, 170 s, and 250 s, respectively. As observed for the previous cases, computational times increase according to both the d and l parameters.
The best solution is found by BRKGA-MFML on average within 4.77 generations for d = 0.1 , 5.20 generations for d = 0.2 , and 8.40 generations for d = 0.3 . The average number of generations needed exceeds 10 for d 0.5 and l 0.5 , 20 for d 0.6 and l 0.7 , and 30 for d = 0.9 and l 0.7 , reaching 38.57 for d = 0.9 and l = 0.9 .
Finally, looking at CPLEX gaps, we can see that they reach 4.81% in the worst case. However, they remain below 3% in 64 out of 81 cases.

6. Conclusions

In this work, we adapted the Biased Random-Key Genetic Algorithm paradigm to solve the Maximum Flow with Minimum Number of Labels problem (MF-ML), a challenging variant of the classical Maximum Flow problem. A key component is the definition of an appropriate decoder function that assigns a feasible solution of the problem to each chromosome in the population. The computational results, determined for a wide range of instances, show that the proposed approach outperformed a previously proposed Skewed Variable Neighborhood Search metaheuristic (VNS). In particular, when considering the largest tested graphs, with a size between 80 and 100 nodes, BRKGA-MFML outperformed VNS in 55 out of 81 scenarios, with an average improvement per scenario reaching 7.18%.
In the future, we intend to develop effective exact approaches for MF-ML and derive new theoretical insights to further improve the proposed heuristic method.

Author Contributions

Conceptualization, D.G. and A.R.; Methodology, D.G. and A.R.; Software, D.G. and A.R.; Validation, D.G. and A.R.; Writing—original draft, D.G. and A.R. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The data presented in this study are openly available from https://drive.google.com/file/d/1bfVPB9AfOOdHJoFVoSy3N0epQSK-Rswk/view?usp=sharing, accessed on 11 November 2025.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Granata, D. On penalized reload cost path, walk, tour and maximum flow: Hardness and approximation. Optim. Lett. 2025, 19, 123–138. [Google Scholar] [CrossRef]
  2. Cerrone, C.; Cerulli, R.; Golden, B. Carousel greedy: A generalized greedy algorithm with applications in optimization. Comput. Oper. Res. 2017, 85, 97–112. [Google Scholar] [CrossRef]
  3. Chang, R.-S.; Leu, S.-J. The minimum labeling spanning trees. Inf. Process. Lett. 1997, 63, 277–282. [Google Scholar] [CrossRef]
  4. Brüggemann, T.; Monnot, J.; Woeginger, G.J. Local search for the minimum label spanning tree problem with bounded color classes. Oper. Res. Lett. 2003, 31, 195–201. [Google Scholar] [CrossRef]
  5. Lai, X.; Cen, Y. Performance of a simple ACO on the minimum label spanning tree problem. Discov. Appl. Sci. 2025, 7, 367. [Google Scholar] [CrossRef]
  6. Xiong, Y.; Golden, B.; Wasil, E. A one-parameter genetic algorithm for the minimum labeling spanning tree problem. IEEE Trans. Evol. Comput. 2005, 9, 55–60. [Google Scholar] [CrossRef]
  7. da Silva, T.G.; Gueye, S.; Michelon, P.; Ochi, L.S.; Cabral, L.D.A.F. A polyhedral approach to the generalized minimum labeling spanning tree problem. EURO J. Comput. Optim. 2019, 7, 47–77. [Google Scholar] [CrossRef]
  8. Cerrone, C.; D’Ambrosio, C.; Raiconi, A. Heuristics for the strong generalized minimum label spanning tree problem. Networks 2019, 74, 148–160. [Google Scholar] [CrossRef]
  9. Zhang, P.; Fu, B. The label cut problem with respect to path length and label frequency. Theor. Comput. Sci. 2016, 648, 72–83. [Google Scholar] [CrossRef]
  10. Faria, L.; Klein, S.; Sau, I.; Souza, U.S.; Sucupira, R. Maximum cuts in edge-colored graphs. Discret. Appl. Math. 2020, 281, 229–234. [Google Scholar] [CrossRef]
  11. Granata, D.; Cerulli, R.; Scutellà, M.G.; Raiconi, A. Maximum Flow Problems and an NP-Complete Variant on Edge-Labeled Graphs. In Handbook of Combinatorial Optimization; Pardalos, P.M., Du, D.-Z., Graham, R.L., Eds.; Springer: New York, NY, USA, 2013; pp. 1913–1948. [Google Scholar] [CrossRef]
  12. Coudert, D.; Pérennes, S.; Rivano, H.; Voge, M.-E. Combinatorial optimization in networks with Shared Risk Link Groups. Discret. Math. Theor. Comput. Sci. 2014, 18. [Google Scholar] [CrossRef]
  13. Hassin, R.; Monnot, J.; Segev, D. Approximation algorithms and hardness results for labeled connectivity problems. J. Comb. Optim. 2007, 14, 437–453. [Google Scholar] [CrossRef]
  14. Yuan, S.; Varma, S.; Jue, J.P. Minimum-color path problems for reliability in mesh networks. In Proceedings of the IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies, Miami, FL, USA, 13–17 March 2005; Volume 4, pp. 2658–2669. [Google Scholar] [CrossRef]
  15. Silberholz, J.; Raiconi, A.; Cerulli, R.; Gentili, M.; Golden, B.; Chen, S. Comparison of heuristics for the colourful travelling salesman problem. Int. J. Metaheuristics 2013, 2, 141–173. [Google Scholar] [CrossRef]
  16. Cerulli, R.; Dell’Olmo, P.; Gentili, M.; Raiconi, A. Heuristic approaches for the Minimum Labelling Hamiltonian Cycle Problem. Electron. Notes Discret. Math. 2006, 25, 131–138. [Google Scholar] [CrossRef]
  17. Couëtoux, B.; Gourvès, L.; Monnot, J.; Telelis, O.A. Labeled Traveling Salesman Problems: Complexity and approximation. Discret. Optim. 2010, 7, 74–85. [Google Scholar] [CrossRef]
  18. Wu, B.Y. On the maximum disjoint paths problem on edge-colored graphs. Discret. Optim. 2012, 9, 50–57. [Google Scholar] [CrossRef]
  19. Gonçalves, J.F.; Resende, M.G.C. Biased random-key genetic algorithms for combinatorial optimization. J. Heuristics 2011, 17, 487–525. [Google Scholar] [CrossRef]
  20. De Freitas, C.C.; Aloise, D.J.; Da Costa Fontes, F.F.; Santos, A.C.; Da Silva Menezes, M. A biased random-key genetic algorithm for the two-level hub location routing problem with directed tours. OR Spectr. 2023, 45, 903–924. [Google Scholar] [CrossRef]
  21. Carrabs, F. A biased random-key genetic algorithm for the set orienteering problem. Eur. J. Oper. Res. 2021, 292, 830–854. [Google Scholar] [CrossRef]
  22. Homayouni, S.M.; Fontes, D.B.M.M.; Gonçalves, J.F. A multistart biased random key genetic algorithm for the flexible job shop scheduling problem with transportation. Int. Trans. Oper. Res. 2023, 30, 688–716. [Google Scholar] [CrossRef]
  23. Gonçalves, J.F.; Resende, M.G.C.; Toso, R.F. An experimental comparison of biased and unbiased random-key genetic algorithms. Pesqui. Oper. 2014, 34, 143–164. [Google Scholar] [CrossRef]
  24. Cerulli, R.; D’Ambrosio, C.; Raiconi, A. A biased random-key genetic algorithm for the knapsack problem with forfeit sets. Soft Comput. 2024, 28, 12021–12041. [Google Scholar] [CrossRef]
  25. Wolpert, D.H.; Macready, W.G. No free lunch theorems for optimization. IEEE Trans. Evol. Comput. 1997, 1, 67–82. [Google Scholar] [CrossRef]
  26. Gonçalves, J.F.; Resende, M.G.C.; Mendes, J.J. A biased random-key genetic algorithm with forward-backward improvement for the resource constrained project scheduling problem. J. Heuristics 2011, 17, 467–486. [Google Scholar] [CrossRef]
  27. Toso, R.F.; Resende, M.G.C. A C++ application programming interface for biased random-key genetic algorithms. Optim. Methods Softw. 2015, 30, 81–93. [Google Scholar] [CrossRef]
Figure 1. BRKGA-MFML vs. VNS solution comparison on small graphs.
Figure 1. BRKGA-MFML vs. VNS solution comparison on small graphs.
Mathematics 13 03621 g001
Figure 2. BRKGA-MFML vs. VNS solution comparison on medium graphs.
Figure 2. BRKGA-MFML vs. VNS solution comparison on medium graphs.
Mathematics 13 03621 g002
Figure 3. BRKGA-MFML vs. VNS solution comparison on large graphs.
Figure 3. BRKGA-MFML vs. VNS solution comparison on large graphs.
Mathematics 13 03621 g003
Table 1. Comparison on small graphs (20–40 nodes).
Table 1. Comparison on small graphs (20–40 nodes).
GraphsHeu TimeBRKGA-MFML %GapsGraphsHeu TimeBRKGA-MFML %GapsGraphsHeu TimeBRKGA-MFML %Gaps
d l (s) vs. VNS vs. CPLEX d l (s) vs. VNS vs. CPLEX d l (s) vs. VNS vs. CPLEX
0.10.10.080.000.000.40.10.320.000.000.70.10.950.000.00
0.20.090.000.000.20.41−0.050.080.21.520.000.00
0.30.100.000.000.30.550.000.000.31.41−0.280.00
0.40.100.000.000.40.480.000.600.41.63−0.140.23
0.50.110.000.000.50.54−0.300.000.51.811.081.36
0.60.11−0.170.000.60.430.000.100.62.070.000.62
0.70.12−0.140.000.70.68−0.180.940.71.960.521.05
0.80.12−0.220.000.80.62−0.470.980.82.200.301.15
0.90.13−0.250.000.90.61−0.040.290.92.410.241.63
0.20.10.150.000.000.50.10.440.000.000.80.11.120.000.00
0.20.180.000.000.20.580.000.000.21.720.670.67
0.30.190.000.000.30.660.000.000.31.950.140.21
0.40.20−0.160.000.40.720.190.270.42.05−0.190.50
0.50.200.000.000.50.920.170.340.52.030.000.43
0.60.24−0.720.000.60.760.270.380.62.820.040.66
0.70.230.000.000.70.700.120.360.73.080.600.95
0.80.230.000.000.81.020.210.980.82.940.672.63
0.90.240.000.390.91.02−0.540.670.93.130.611.92
0.30.10.23−0.420.000.60.10.590.000.000.90.11.58−0.070.00
0.20.310.000.000.20.810.560.560.22.300.080.16
0.30.270.000.000.31.10−0.340.000.32.76−0.140.05
0.40.310.000.000.41.05−0.080.290.42.730.760.87
0.50.330.420.420.51.320.500.840.52.830.050.42
0.60.38−0.110.000.61.20−0.110.480.63.190.220.93
0.70.35−0.300.000.71.50−0.140.440.73.700.411.24
0.80.36−0.320.130.81.460.841.810.83.571.071.96
0.90.40−1.190.000.91.79−0.831.180.94.461.032.19
Table 2. Comparison on medium graphs (50–70 nodes).
Table 2. Comparison on medium graphs (50–70 nodes).
GraphsHeu TimeBRKGA-MFML %GapsGraphsHeu TimeBRKGA-MFML %GapsGraphsHeu TimeBRKGA-MFML %Gaps
d l (s) vs. VNS vs. CPLEX d l (s) vs. VNS vs. CPLEX d l (s) vs. VNS vs. CPLEX
0.10.10.33−0.210.000.40.12.600.400.500.70.17.461.161.36
0.20.38−0.160.000.22.380.370.860.29.751.531.99
0.30.39−1.230.000.32.650.060.520.315.15−0.710.51
0.40.43−0.570.000.42.84−0.080.770.411.851.092.16
0.50.42−2.160.000.52.920.121.280.515.93−0.301.56
0.60.44−0.720.000.62.74−1.661.770.616.110.402.46
0.70.48−1.880.000.73.41−2.370.900.716.39−0.712.47
0.80.47−1.880.160.83.81−2.511.320.817.370.923.83
0.90.44−1.560.210.94.86−1.262.440.916.640.413.13
0.20.10.640.000.160.50.12.570.670.740.80.113.250.070.14
0.20.81−0.090.000.24.050.550.920.214.86−0.260.23
0.30.830.100.290.34.02−0.060.510.317.71−0.220.31
0.40.99−0.030.800.45.470.191.110.418.02−0.161.01
0.50.870.461.140.55.091.273.210.520.570.042.45
0.60.82−1.710.490.67.33−1.141.470.626.78−0.261.94
0.70.94−1.550.560.75.380.351.790.729.08−0.242.36
0.81.09−2.630.470.87.190.523.120.821.75−0.224.41
0.90.95−4.080.360.95.85−0.642.950.927.881.164.51
0.30.11.09−0.120.110.60.15.460.220.600.90.114.580.070.11
0.21.350.030.330.28.07−0.200.100.217.870.520.72
0.31.35−0.400.700.36.970.231.090.321.060.120.75
0.41.73−0.630.620.49.201.031.760.425.03−0.210.76
0.51.70−0.340.480.58.81−0.331.350.525.140.351.44
0.61.78−1.521.320.610.830.152.740.631.780.481.98
0.71.75−0.950.920.712.00−1.022.340.734.510.612.82
0.81.55−0.740.870.89.89−1.592.920.835.481.914.05
0.91.69−3.620.820.99.26−0.982.770.940.700.113.73
Table 3. Comparison on large graphs (80–100 nodes).
Table 3. Comparison on large graphs (80–100 nodes).
GraphsHeu TimeBRKGA-MFML %GapsGraphsHeu TimeBRKGA-MFML %GapsGraphsHeu TimeBRKGA-MFML %Gaps
d l (s) vs. VNS vs. CPLEX d l (s) vs. VNS vs. CPLEX d l (s) vs. VNS vs. CPLEX
0.10.10.80−0.060.260.40.14.891.421.590.70.132.131.352.12
0.21.19−0.250.400.28.340.891.980.249.26−0.540.23
0.30.99−0.710.380.312.201.032.700.354.05−0.420.87
0.41.07−1.050.540.411.29−0.921.690.453.680.833.23
0.51.21−2.630.500.57.15−2.981.200.560.641.382.91
0.60.97−2.240.210.613.24−1.202.310.667.821.154.43
0.71.07−4.930.150.711.98−4.691.440.789.03−0.132.82
0.80.98−3.670.210.88.40−0.163.840.899.14−0.203.23
0.91.06−7.180.000.912.92−4.142.560.9103.22−0.624.81
0.20.12.110.110.300.50.111.010.460.800.80.156.350.430.72
0.21.85−0.440.650.210.380.611.330.261.190.841.71
0.32.26−1.021.290.313.050.482.210.366.620.341.81
0.41.95−2.320.620.416.76−2.201.060.466.390.833.17
0.52.02−0.580.870.520.44−1.022.180.5117.54−0.311.62
0.62.25−0.960.710.628.61−1.082.100.6115.65−0.043.45
0.72.25−2.430.620.718.72−3.192.930.7118.22−0.282.40
0.82.79−3.821.260.821.66−4.612.670.8154.42−0.764.53
0.92.59−4.140.730.925.47−1.952.740.9168.74−1.004.39
0.30.13.850.250.300.60.122.732.152.750.90.168.62−0.010.20
0.24.91−0.621.130.229.540.491.420.2100.26−0.220.21
0.34.590.011.050.325.830.201.580.3104.63−0.150.40
0.44.78−0.470.900.437.230.983.160.4108.550.792.61
0.55.47−3.471.340.532.64−0.152.180.5159.84−0.151.61
0.64.41−2.392.160.639.32−2.153.420.6155.270.533.92
0.74.40−4.671.490.746.78−1.742.350.7198.431.703.76
0.85.47−1.122.400.849.71−1.583.510.8213.450.324.22
0.96.19−2.291.960.942.70−3.494.800.9254.341.014.48
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

Granata, D.; Raiconi, A. A Biased Random-Key Genetic Algorithm for Maximum Flow with Minimum Labels. Mathematics 2025, 13, 3621. https://doi.org/10.3390/math13223621

AMA Style

Granata D, Raiconi A. A Biased Random-Key Genetic Algorithm for Maximum Flow with Minimum Labels. Mathematics. 2025; 13(22):3621. https://doi.org/10.3390/math13223621

Chicago/Turabian Style

Granata, Donatella, and Andrea Raiconi. 2025. "A Biased Random-Key Genetic Algorithm for Maximum Flow with Minimum Labels" Mathematics 13, no. 22: 3621. https://doi.org/10.3390/math13223621

APA Style

Granata, D., & Raiconi, A. (2025). A Biased Random-Key Genetic Algorithm for Maximum Flow with Minimum Labels. Mathematics, 13(22), 3621. https://doi.org/10.3390/math13223621

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop