This section presents the optimization model for MNA, followed by three proposed heuristics. The first approach is a greedy method named Demand Index Multi-Node Allocation (DI-MNA), which employs a demand-based sequential strategy that considers resource, latency, and bandwidth constraints. The second is a heuristic based on the NSGA evolutionary metaheuristic, which explores the solutions’ search space and identifies non-dominated trade-off solutions. The third heuristic is a hybrid method combining the outcomes of DI-MNA with the generations of the NSGA metaheuristic.
4.1. Scalarized Optimization Model for MNA
The Multi-Node Allocation (MNA) problem consists of identifying groups of IoT nodes capable of jointly satisfying the computational and communication requirements of an application while respecting latency constraints. Unlike conventional placement approaches that associate each application with a single execution node, the MNA formulation allows the aggregation of resources from multiple devices whenever the demand of a job exceeds the capacity available at an individual node. To support the evaluation of alternative allocations, the problem is represented as a constrained optimization model in which candidate solutions correspond to combinations of nodes selected from the network. The objective is to identify feasible allocations that balance resource utilization efficiency and communication performance while avoiding unnecessary overprovisioning.
Table 2 summarizes the modeling assumptions adopted in this study and highlights the main differences with respect to previous MNA formulations. These assumptions establish the operational boundaries of the optimization problem and the network setup.
The IoT infrastructure is represented by a weighted undirected graph
, where vertices represent edge devices and edges represent communication links between neighboring nodes. Each node
is characterized by its available processing capacity
and available bandwidth capacity
. The weight associated with each edge corresponds to the one-way communication delay between the connected devices.
Figure 1 presents an illustrative example containing ten nodes and five jobs. The network nodes are depicted as teal circles, each labeled with three attributes:
N (node index),
R (available resources), and
B (available bandwidth). Jobs are represented as orange circles carrying analogous attributes—their index (
),
R (required resources), and
B (required bandwidth). Dashed blue lines (
job links) connect each job to its associated edge node, indicating the communication latency between a given IoT application and its entry point into the network. The highlighted links (red edges) illustrate a shortest-path tree (SPT) rooted at a reference node and computed using Dijkstra’s algorithm over the one-way latency associated with each communication link. In this structure, every node reaches the root through its minimum-latency path, and the union of these paths forms the primary low-latency communication backbone of the topology. The remaining links (gray edges) are preserved to provide routing flexibility and increase connectivity, allowing multiple communication alternatives to coexist within the same topology. Because the network is modeled as a general graph, multiple routes may exist between two nodes. Consequently, the latency associated with a candidate allocation is obtained by applying Dijkstra’s algorithm to compute the shortest communication path between the selected nodes, where edge weights represent the one-way communication delay of each network link. The resulting latency therefore corresponds to the minimum cumulative delay among all feasible routes.
Because the network is modeled as a general graph, more than one route may exist between two nodes. Communication delays are determined by means of Dijkstra’s algorithm, which computes the least-cost path in a weighted graph representing the network topology. Consequently, the latency associated with a candidate allocation corresponds to the minimum cumulative delay obtained across all viable routes connecting the selected nodes, where edge weights represent the individual communication delays of each network link. Each candidate solution is evaluated through the scalarized objective function defined in Equation (
1). The formulation combines processing resources, communication bandwidth, and latency into a single optimization criterion, thereby enabling direct comparison among candidate allocations.
where
denotes the total number of node combinations that compose the search space. The terms
and
quantify the excess processing and bandwidth capacities available after satisfying the requirements of a job, whereas
measures the remaining latency margin between the maximum tolerated delay and the communication latency observed for the allocation. The resource, bandwidth, and latency components are computed according to Equations (
2)–(
4).
In these expressions,
j denotes a job,
k denotes a network node, and
i identifies a candidate allocation. The parameters
,
, and
correspond to the processing, bandwidth, and latency requirements of job
j, respectively. Likewise,
and
represent the processing and bandwidth capacities available at node
k, while
denotes the cumulative latency associated with allocation
i. The quadratic terms applied to
and
increase the cost assigned to allocations with excessive resource reservation, encouraging solutions that satisfy application demands with minimal surplus capacity. Conversely, the subtraction of
favors allocations that preserve larger latency margins and therefore provide greater tolerance to communication delays. A candidate solution is considered feasible only if all application requirements are simultaneously satisfied. The viability conditions are established by the constraints represented in (
5):
ensuring that sufficient processing resources and bandwidth are available while maintaining the end-to-end delay within the latency limit specified by the application.
Operational interpretation of the objective. Each term of Equation (
1) maps to a concrete performance dimension of edge-IoT allocation. The term
is the surplus processing capacity left after satisfying a job; squaring it penalizes over-provisioning super-linearly, steering the heuristic toward tight resource utilization and away from reserving powerful nodes for small demands (efficient consolidation). The term
is the analogous surplus bandwidth capacity and is treated symmetrically, since bandwidth is a first-class scarce resource in dense IoT deployments. The term
is the latency margin between the maximum tolerated delay and the end-to-end delay of the chosen route (computed via Dijkstra’s algorithm); it is subtracted so that, among equally resource-efficient allocations, those preserving larger latency headroom are preferred, directly improving QoS robustness for latency-sensitive applications.
Rationale for minimizing this metric. The formulation encodes the central engineering trade-off of MNA: satisfying demand with the minimum necessary surplus (tight utilization) while retaining the maximum feasible latency margin (QoS safety). The quadratic penalties on
R and
B express a diminishing tolerance for waste, whereas latency is enforced as a hard feasibility constraint (Equation (
5)) rather than a soft objective. Minimizing surplus resource and bandwidth reservation is also a widely used and well-motivated proxy for operational and energy cost, since idle-but-reserved capacity corresponds to under-utilized and energy-consuming infrastructure; consolidating jobs onto fewer, better-matched nodes is the mechanism by which the literature relates utilization to energy and cost efficiency. Energy is not modeled as an explicit term in the present objective; incorporating an explicit energy-consumption term is identified as a planned extension in
Section 7.
Complexity Characterization
The intractability of MNA was motivated in
Section 2.1 by its structural analogy with the GFLP. This subsection makes that claim rigorous by identifying the classical problems
from which MNA is reduced and exhibiting them as special cases of the model. Making the source problem explicit lets us replace a bespoke argument with the standard
restriction technique: we show that
Subset-Sum and its exact-partition strengthening
3-Partition are special cases of MNA, which yields ordinary and strong NP-hardness, respectively. We first state the decision problem and then present the two reductions, their correctness, and a generalization argument.
Decision version (
Mna-Dec). Given a set of nodes with processing capacities
and bandwidth capacities
, an inter-node latency structure, a set of jobs with demands
, and a bound
,
Mna-Dec asks whether there exists a feasible allocation whose objective value (Equation (
1)) is at most
. A feasible allocation assigns a node-disjoint subset to each job that satisfies the resource, bandwidth, and latency constraints of the model (
, Equation (
5)). Since such an allocation is a certificate verifiable in polynomial time,
.
Source problem and single-job reduction (Subset-Sum). In Subset-Sum, given a multiset of non-negative integers and a target T, the problem asks whether some sub-multiset of S sums exactly to T. From an arbitrary instance, we construct, in time, an Mna-Dec instance as follows:
Create m nodes with processing capacities , ;
Make the bandwidth and latency dimensions vanish identically: set for every node and for the job, and set all link latencies (hence the route latency ) and to 0; then, and for every node subset, so both constraints hold with equality, and neither term contributes to the objective;
Create a single job with ;
Set the objective bound .
Correctness. Because
and
, the objective of Equation (
1) reduces exactly to
for the chosen subset
. Feasibility (
) requires
, and since a square is non-negative, this value is at most
if and only if
exactly, i.e., if and only if the
Subset-Sum instance is a
Yes instance. The construction is polynomial, hence
Subset-Sum ≤
p Mna-Dec; with membership in NP,
Mna-Dec is NP-complete and MNA is NP-hard.
Strong NP-hardness (3-Partition). The single-job core is only weakly NP-hard, since Subset-Sum admits a pseudo-polynomial algorithm. The multi-job problem is strictly harder. Recall that 3-Partition asks whether positive integers , each with and , can be partitioned into m triples each summing to B; it is strongly NP-complete. Construct an Mna-Dec instance with nodes of capacity , m jobs each with demand , the bandwidth and latency dimensions made to vanish as above, and . Since the total capacity equals the total demand and the m allocations are node-disjoint with each , every node must be used and each job must receive nodes summing to exactly B; the surplus objective attains precisely in this case. The bounds force each job to receive exactly three nodes. Hence, the instance is a Yes instance if and only if the ’s admit an exact 3-partition, giving 3-Partition ≤p Mna-Dec. As 3-Partition is strongly NP-complete, MNA is strongly NP-hard and admits no pseudo-polynomial-time algorithm unless .
Generalization. These two restrictions place MNA within the classical hierarchy Subset- Sum ⊆ (Multiple-)Knapsack/Bin-Packing ⊆ Mna, with 3-Partition supplying strong hardness at the multi-job level. With multiple jobs and the node-disjointness (no-sharing) requirement, MNA contains Multiple-Knapsack and Bin-Packing as special cases, both NP-hard, while the bandwidth and latency constraints and the quadratic surplus penalty can only add difficulty. This formally justifies the intractability previously supported only by the GFLP analogy and, in turn, motivates the heuristic and metaheuristic approaches developed in the remainder of this section.
4.2. A Demand Index Multi-Node Allocation Heuristic
The work presented in [
7] aimed at allocating jobs across multiple nodes while minimizing resource waste and satisfying application latency constraints. Despite its capability to perform multi-node job allocation, the MNA-IoT heuristic exhibits several limitations: (a) no job ordering mechanism is employed prior to the allocation process—in contrast to the Demand Index (DI) adopted in DI-MNA (Equation (
6)), which demonstrated effectiveness in prioritizing higher-demand jobs and contributed to improved solution quality—and the absence of such an ordering strategy may significantly impact overall system performance, particularly in sequential or real-time execution contexts; (b) the network topology is required to follow a tree structure, thereby precluding the presence of cycles.
We propose a Demand Index–based Multi-Node Allocation (DI-MNA) heuristic designed to address the limitations of the previous MNA-IoT approach by more effectively accommodating the highly variable demands of jobs and by mitigating allocation bias toward any individual parameter (
,
L). The direct methodological predecessor of DI-MNA is the authors’ own MNA-IoT heuristic [
7];
Table 3 contrasts DI-MNA with its predecessor [
7] along four dimensions.
These differences are not an incremental tuning of parameters: the Demand Index normalization, the generalization from trees to arbitrary graphs, and the complexity guarantee of the bounded search together constitute the central methodological novelty, and they are precisely what enables near-optimal MNA at scales far beyond the predecessor.
The new demand index ensures that jobs’ demand variables with larger amplitudes are properly balanced. Equation (
6) presents the Demand Index (DI) regarding the processing resources (
R), bandwidth (
B), and latency (
L) demands of each job:
Coefficients
, are applied to balance each variable. The coefficients use a common scale factor and are calculated according to the expression in Equation (
7):
where
,
, and
denote, respectively, the computational resource capacity, available bandwidth, and end-to-end latency associated with each IoT node. The amp function computes the amplitude of the domain of each decision variable, defined as the difference between its upper and lower bounds. The weighted coefficients
were empirically determined to compensate for scale disparities among the variables and to mitigate distortions introduced by heterogeneous amplitude ranges. These weights are constrained to sum to unity, thereby ensuring a normalized contribution of all objectives within the optimization framework. This normalization prevents decision variables with larger domains, such as bandwidth when compared to latency, from disproportionately influencing the search process, improves convergence behavior in evolutionary multi-objective algorithms (e.g., NSGA-III), and facilitates the handling of constraints and penalty functions in the optimization process.
After calculating the DI for each job, the heuristic sorts the jobs in descending order (array J). Then, there is a greedy search over the nodes’ space that systematically evaluates all feasible node combinations. For each job, the aggregated resource capacity, bandwidth, and latency of each combination are computed and evaluated using an optimization function that minimizes surplus resource and bandwidth while maximizing the remaining latency margin.
The heuristic processes each job by applying the stages of preliminary node selection, search space generation, and solution evaluation. For each feasible solution, an objective function is computed to minimize resource overuse and cumulative latency. The best solution is then selected, and the corresponding nodes are marked as unavailable for future allocations.
The DI-MNA heuristic is summarized in Algorithm 1. The algorithm inputs are the arrays of resource capacity (R), bandwidth (B), and latency (L) of the network, along with arrays of job demands: processing (), bandwidth (), and latency (). Each job originates from a specific node (), and the network connections (edges) are represented in an adjacency list (). Hyperparameters (cut_comb_nodes) and (cut_sol) provide, respectively, an upper bound on the number of available node combinations and the maximum number of nodes in a solution for a given job. These parameters set the bounds of the search space for feasible node combinations, thereby reducing the runtime of the heuristic.
Line 1 shows the connection time of each job to the node (). In line 2, all nodes are initially marked as available. The DI index is calculated according to the coefficients , , and (line 3), and the list of jobs (J) is sorted in descending order (line 4). The algorithm then iterates over each job (line 5), processing them sequentially.
For each job, the latencies of the nodes relative to the source are computed using Dijkstra’s algorithm (line 6). Next, a subset of candidate nodes is preselected (line 7) according to a latency threshold criterion and basic constraints imposed by the hyperparameters and . The best solution found () is also initialized as empty, and its objective function value is set to the highest value (line 8), ensuring that any feasible solution is considered as an improvement.
The algorithm examines all possible combinations of nodes within the filtered set, provided that they respect the maximum size limit (line 9). For each candidate combination , the aggregated resources are computed (line 10). If the combination meets the job requirements—namely, processing resources (), bandwidth (), and latency () (line 11)—then the objective function is evaluated (lines 12–13). The objective function () balances two factors: minimizing the overprovisioning of resources and bandwidth while maximizing the latency slack. Whenever the computed value is lower than the current best value (), the best solution is updated (line 13).
After evaluating all combinations (lines 9–16), the algorithm verifies whether a feasible solution has been found (line 17). If so, the selected nodes are allocated and marked as unavailable (line 18) to prevent their reuse in subsequent jobs. The objective function value and the set of allocated nodes are then recorded (line 19). Otherwise, the algorithm stores an empty allocation and assigns zero to the objective function (line 21).
| Algorithm 1 DI-MNA heuristic. |
Inputs: Resources: ; job demands: ; coefficients: ; adjacency list: ; hyperparameters: , ; Outputs: Allocated nodes: ; OF values: - 1:
% connection time (ms) - 2:
- 3:
- 4:
- 5:
for all job j in J do - 6:
Compute node latencies from source using Dijkstra - 7:
Preselect based on latency threshold - 8:
Initialize , best solution - 9:
for all node subsets with size do - 10:
Resource computation - 11:
if job requirements satisfied: , then - 12:
Compute - 13:
if then update best solution - 14:
end if - 15:
end if - 16:
end for - 17:
if best solution found then - 18:
Allocate nodes and set them unavailable - 19:
Store and allocated nodes - 20:
else - 21:
Store 0 and empty allocation - 22:
end if - 23:
end for
|
This procedure is repeated for all jobs, ensuring that each one is individually evaluated and that network resources are allocated consistently. No node sharing is allowed, while always respecting latency, resource, and bandwidth constraints.
Figure 2 traces the method end to end and illustrates clearly the steps of Algorithm 1. Declaring inputs and outputs at both the figure and the algorithm level, together with the public code repository, is intended to make the workflow fully reproducible.
Regarding the computational complexity of the DI-MNA heuristic, one may observe that the worst-case complexity is dominated by the combinatorial exploration of node subsets for each job. For each job, the algorithm first executes Dijkstra’s shortest-path algorithm, which requires , . It then enumerates all subsets of filtered nodes of size up to . In the worst case, where all nodes pass the filtering stage, the number of such subsets is . Evaluating each subset requires time, where is a bounded constant. The overall worst-case time complexity of the heuristic is , which is . The algorithm remains polynomial since is bounded by a small constant.
The hyperparameters
and
introduce bounded combinatorial exploration, thereby rendering the search computationally tractable even in large-scale IoT networks. When
additionally caps the number of candidate combinations evaluated per job, the practical cost becomes
, i.e., effectively linear in the number of jobs and directly controllable through
and
. A dedicated calibration study was conducted to assess the influence of these hyperparameters on both solution quality and runtime performance, the results of which are presented and discussed in
Section 5.2. The calibration analysis provides empirical support for the simplifying assumption that restricting the maximum number of nodes per job allocation and the number of evaluated node combinations does not, in general, compromise the quality of the obtained solutions while yielding substantial reductions in computational cost.
Termination and convergence. DI-MNA is a constructive single-pass heuristic rather than an iterative search, so it does not rely on stochastic convergence in the sense of a metaheuristic. Termination is guaranteed: the outer loop performs exactly J iterations (one per job, processed in descending Demand Index order), and each inner enumeration is finite and bounded by the hyperparameters and . Because every allocated node is marked unavailable, the candidate set is monotonically reduced and cycling is precluded; the procedure therefore halts in a bounded number of steps for any finite instance.
Approximation bounds. As noted in
Section 2.1, the MNA problem is structurally analogous to the Generalized Facility Location Problem and is NP-hard. The quadratic surplus terms and the coupled latency constraint render the scalarized objective non-submodular in general, so no constant-factor approximation guarantee can be claimed for the greedy strategy without further restrictive assumptions; we state this limitation explicitly rather than overclaiming. We do not establish a worst-case approximation ratio; instead, we report an empirical optimality-gap analysis against the exact branch-and-bound (B&B) baseline. On 10-node instances, DI-MNA matches the exact optimum whenever B&B is tractable enough to compute it. We leave the derivation of tight approximation bounds for the scalarized MNA objective as an open problem for future work.
4.3. Multi-Node Allocation Based on the NSGA Metaheuristic
The sequential and narrowly focused search of the DI-MNA heuristic often yields suboptimal solutions, especially when strong interdependencies exist among decision variables. The NSGA approach is particularly effective in avoiding solutions stuck in local optima and in discovering non-dominated solutions that form the Pareto front. In algorithms such as NSGA, it is fundamental to model an appropriate encoding of candidate solutions, such as binary or real-valued vectors. Regarding the MNA problem, each individual of a population represents an allocation solution to a job. Each gene of the individuals represents the participation of a specific node in the resource allocation. Additionally, a multidimensional objective function and operational constraints must be established to capture key performance metrics.
In this work, we designed two NSGA-based metaheuristics. The first is denoted as Enhanced NSGA (NSGA-Enh) and operates by adopting the best solution identified across the iterations. In this context, the best solution is defined as the one that attains the lowest objective function (OF) value. The second approach is a hybrid method, referred to as NSGA-Hyb. Its main feature lies in leveraging the best solution from the DI-MNA heuristic as the initial solution to the NSGA’s population. This strategy aims to accelerate convergence and guide the search toward promising regions of the solution space, balancing intensification (local exploration around high-quality solutions) and diversification (exploration of new, previously unexplored regions).
Both metaheuristics share a common evolutionary backbone, whose key components are described as follows. Survivor selection was carried out using the
selNSGA3 operator, available in the DEAP (Distributed Evolutionary Algorithms in Python) library [
30], configured with 30 reference points uniformly distributed on the normalized reference hyperplane for three objectives, as proposed by [
16].
The evolutionary cycle was implemented using the eaMuPlusLambda algorithm, corresponding to the strategy, in which the parental population of size and the offspring generated by the variation operators are evaluated jointly at each generation. This approach introduces implicit elitism into the selection process, ensuring that previously identified feasible solutions are not prematurely discarded.
The combined adoption of selNSGA3 and eaMuPlusLambda is not arbitrary: it establishes an internally consistent evolutionary pipeline in which diversity and elitism are jointly managed by a single unified mechanism, avoiding the methodological inconsistency that would arise from combining crowding distance and reference points within the same selection flow.
Following the guidelines proposed by Deb and Jain [
16], the hyperparameter values used in our NSGA-based heuristics are as follows:
population_size denotes the number of individuals in each generation of the population. In general, values range from 200 to 800 in initial experiments. The value of population_size is increased only in cases of weak convergence or insufficient exploration of the search space. We adopted a to ensure adequate exploration of the solution space across all evaluated network sizes.
generations: The parameter defines the number of generations executed by the algorithm, which typically ranges from 80 to 120. Each generation involves the processes of selection, crossover, and mutation, thereby generating a new population. A total of was used in all experiments.
cx_prob indicates the probability of crossover between two individuals. This value represents the proportion of the population selected to undergo the crossover operation. The typical range of is between and (i.e., to ) for both continuous and discrete problems. This parameter was set to , favoring solution exploitation over excessive diversification.
indpb: This parameter refers to the mutation probability assigned to each gene, with a typical value defined as , where each gene represents an IoT network node.When an individual is selected for mutation, this parameter regulates the probability that each gene will be changed within its representation. In this work, .
Figure 3 illustrates the crossover and mutation phases performed by the NSGA metaheuristic using 10 genes (representing 10 nodes of an IoT network) for each individual. Uniform crossover is applied at a rate of
, which implies that, on average,
of the selected individual pairs undergo the crossover operation, whereas the remaining
are transmitted to the subsequent generation without modification. For each selected pair, the uniform operator determines, at each position of the binary vector, the probability of the gene inheritance from either progenitor. This stochastic process is applied across all genes of the individual, yielding an offspring whose structure combines contributions from both progenitors with equal probability per position, while simultaneously preserving the validity of the binary representation. With a mutation rate of
, each gene has a
chance of being flipped, exemplified here by the bit with index 5 (from left to right). Mutation is essential to prevent premature convergence to suboptimal local solutions and enables the algorithm to explore unvisited regions of the search space. In each generation, individuals are evaluated based on multiple criteria (e.g., latency, resource consumption, and bandwidth), enabling the algorithm to explore the search space under a scalarized objective, producing a set of non-dominated solutions that represent the best tradeoffs between objectives.
This detailed mapping enables the precise application of genetic operators while preserving the characteristics of the MNA problem. It also allows for the incorporation of IoT-specific constraints and features, such as node capacities, job compatibility, and inter-node latencies.