Next Article in Journal
An IMAP Agent Framework for Extending Email Functionality in Outsourced Mail Services
Previous Article in Journal
A Configurable Integration Framework for Access Gateway Function and User Plane Function on Heterogeneous Programmable Data Planes
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Placement and Allocation of VNF Nodes Under Budget and Capacity Constraints Revisited

School of Electrical and Computer Engineering, Ben-Gurion University of the Negev, Beer-Sheva 84105, Israel
*
Author to whom correspondence should be addressed.
Network 2026, 6(2), 38; https://doi.org/10.3390/network6020038
Submission received: 13 March 2026 / Revised: 2 June 2026 / Accepted: 8 June 2026 / Published: 10 June 2026

Abstract

Network function virtualization (NFV) enables cost reduction and optimized service deployment. By means of virtualization, network functions which used to be executed on specialized hardware are being replaced with software called Virtual Network Functions (VNFs) that can run on commodity hardware. These VNFs are applied to data flows passing through network nodes with VNFs hosted on them. To fully realize the benefits of NFV, each flow must be fully processed on VNF nodes. Given the budget constraints, only a finite number of nodes can be selected to host VNFs, and these nodes also have limited capacity to process the flows passing through them. In this paper, we consider the problem of VNF node placement and capacity allocation in a network graph G = ( V , E ) , i.e., selecting the best subset of VNF nodes and optimally distributing their bandwidth to maximize the total volume of fully processed traffic flows F. We propose a simpler algorithm for solving this problem than the previously proposed version, representing it as an integer linear programming problem with an approximation ratio of 1 2 ( 1 1 / e ) , and time complexity O ( | V | 2.5 · | F | 2.5 · L ) , where L is the number of bits of input data.

1. Introduction

Network function virtualization (NFV) is currently very important. It allows organizations to reduce costs and optimize service deployment. With virtualization, network functions that were previously executed on specialized hardware are replaced with software called virtual network functions (VNFs), which can be run on standard hardware. This allows network functions (such as load balancers, firewalls, gateways, and routers) to be applied to data flows passing through network nodes hosting virtual network functions. These network nodes are called VNF nodes. To fully realize the benefits of network function virtualization, each flow must be fully processed on these VNF nodes [1,2].
Network function virtualization is also effective in providing flexible management in cloud computing environments while reducing costs, as proprietary hardware middleboxes (MBs) can now be exposed as virtual network functions (VNFs) and run as lightweight containers on commodity hardware. To ensure the performance and security of user applications, cloud operators create service function chains (SFCs) (or data center policies). In this case, virtual machine (VM) application traffic must flow through a sequence of VNFs [3,4].
Typically, due to budget constraints, only a limited number of nodes can be selected to host VNFs. Furthermore, each node normally has limited capacity, which must be used to handle the multiple flows passing through it. Given these constraints, it is necessary to select a subset of nodes to host VNFs and determine a capacity allocation that maximizes the volume of traffic passing through them.
In this paper, we consider the VNF node placement and capacity assignment (VPCA) problem proposed by Sallam and Ji [5], i.e., selecting the best subset of VNF nodes and optimally allocating their capacity to maximize the total volume of fully processed traffic flows. Unlike [5] that used algorithmic graph optimization techniques, we propose a simpler algorithm for solving this problem, representing it as an integer linear programming problem with two integer variables—VNF node placement and flow selection. We also prove that the approximation ratio of this algorithm is 1 2 ( 1 1 e ) , and its time complexity is O ( | V | 2.5 · | F | 2.5 · L ) where L is the number of bits of input data. The major contribution of this paper is the new algorithmic solution that beats the previous algorithm in [5] for the cases when | F | = o ( | V | ) . This situation happens, for example, in CDN deployments that often involve a large number of edge caches (nodes) but only a few high-level streams (flows) that connect to central content sources for popular media, resulting in fewer active-flow, high-traffic streams than physical edge devices.
This paper is structured as follows. In Section 2, we briefly review the related previous work. In Section 3, we describe the model and definition of the VPCA-ILP problem, and in Section 4, we propose an algorithm for solving it. Next, in Section 5 and Section 6, we present a theoretical analysis of this algorithm, evaluating its accuracy and complexity. Simulation results and discussion are demonstrated in Section 7. Finally, we conclude the paper.

2. Related Work

Much work has been carried out to study the NFV placement problem. This is typically considered in terms of VNF instances, i.e., where and how many instances of each network function should be placed and distributed [3,6,7,8]. Nevertheless, these studies pursue different goals. The problem of satisfying the demand of all flows with minimal cost (e.g., in terms of the number of instances) is considered in ref. [9]. The authors of ref. [10] assume that each flow should transmit a chain of network functions, rather than a single function along a given route. The same problem, but for online networks (flows come and go online), is considered in ref. [11]. In ref. [12], the joint problem of localizing and routing a VNF service chain is considered with the goal of minimizing the total cost of communication and computing resources. In ref. [13], a dynamic version of this problem is considered (the goal is to ensure network stability with minimal resource expenditure). See some related results in Zhao et al. [14] and Coromberque [15].
Unlike most previous works, which ignore either budget or capacity constraints, the authors of ref. [5] consider both constraints and formulate a joint VNF node and resource allocation problem (VPCA problem). The authors of ref. [5] formulated the VPCA problem with budget and capacity constraints and showed that the capacity allocation and capacity allocation subproblems were NP-hard. They developed two algorithms for solving the problem with approximation ratios of 1 2 ( 1 1 e ) and 1 3 ( 1 1 e ) and time complexity of O ( V 5 ) + O ( F 2 V 2 ) and O ( V 5 ) + O ( F V ) , respectively.

3. Model and Formulation of the Problem

In the paper by Sallam and Ji [5], the authors consider the problem of traffic flow optimization in a network graph. They propose a joint VNF node placement and flow capacity allocation problem (VPCA) in the network graph, the goal of which is to select the best subset of VNF nodes and optimally allocate their capacities to maximize the total volume of fully processed traffic for the flow.
For this purpose, the network is represented as a network graph G = ( V , E ) , where V is the set of nodes and E is the set of edges connecting nodes in G. A node is a VNF node if it can support a VNF. Since the budget for deploying VNFs in networks is typically limited, it is possible to select only a subset of nodes U V to be VNF nodes.
There is a set of flows F in the network. The flow traffic rate for f F , denoted by λ f , can be partitioned and processed across multiple VNF nodes. The portion of flow f allocated to a particular node v is denoted by λ f v . The problem statement stipulates that the traffic of flow f will be sent along a predetermined path, and the set of nodes on this path is denoted by V f , while F U is used to denote the set of all flows that have at least one (or more) VNF nodes (nodes of set U) on their path, i.e., F U = { f F | V f U } . For convenience, the set of VNF nodes of a flow f is denoted by U f , that is, U f = V f U . The set of all flows passing through node v is denoted by F v ( F v = { f F | v V f } ).
A flow is considered processed if the VNF nodes through which it passes have sufficient capacity to handle its entire rate, that is, v U f λ f v λ f . The problem also assumes that the highest traffic rate of any flow does not exceed the lowest capacity of any node. Furthermore, each VNF node v has a limited capacity, denoted c v , and its own cost for converting node v into a VNF node, denoted b v . The total cost of the VNF nodes must not exceed the total budget B: v U b v B .
Example 1.
In Figure 1, given graph G = ( V , E ) with set of flows F = { f 1 , f 2 , f 3 , f 4 } , where F = 4 = | F | :
Separate flows are given by f 1 = ( A , C , E , M , N ) , f 2 = ( A , B , L ) , f 3 = ( B , J , C , E ) , f 4 = ( D , C , E , M ) , where the set of nodes in separate flow is V f 1 = { A , C , E , M , N } , V f 2 = { A , B , L } , V f 3 = { B , J , C , E } , V f 4 = { D , C , E , M } .
Traffic rates are given as λ f 1 = 15 , λ f 2 = 20 , λ f 3 = 25 , λ f 4 = 15 . The set of VNF nodes is given by U = { A , D , M , N } V . The set of all flows whose path has one or more nodes in U is F U = { f 1 , f 2 , f 4 } .
Flows are considered to be processed if
λ f 1 A + λ f 1 M + λ f 1 N 15 , λ f 2 A 20 , λ f 4 D + λ f 4 M 15 .
Total processed traffic is
J 1 ( U , λ ) = λ f 1 A + λ f 1 M + λ f 1 N 15 15 + λ f 2 A 20 20 + λ f 4 D + λ f 4 M 15 15 .
The limited capacity of every VNF-node v is c v = 10 . This means that
v = A λ f 1 A + λ f 2 A + λ f 4 A 10 , v = D λ f 1 D + λ f 2 D + λ f 4 D 10 , v = M λ f 1 M + λ f 2 M + λ f 4 M 10 , v = N λ f 1 N + λ f 2 N + λ f 4 N 10 .
and for every i { 1 , 2 , 3 , 4 } and for every v V { A , D , M , N } , the following equality holds: λ f i v = 0 . After that, consider budget constraint B = 20 and costs of making nodes to be VNF as b A = 4 , b B = 5 , b C = 2 , b D = 10 , b E = 30 , b J = 1 , b K = 10 , b L = 3 , b M = 3 , b N = 3 . The following budget constraints should be satisfied: b A + b D + b M + b N = 20 20 .
Given the above constraints of the VPCA problem, we formulate it as integer linear programming problem VPCA-ILP as follows.
Let us introduce integer binary variables. Let x f { 0 , 1 } be the flow processing variable, where for each flow f F x f = 1 if flow f is fully processed (all its traffic is processed on VNF nodes), and x f = 0 , otherwise; y v { 0 , 1 } is the node placement variable, where for each node v V   y v = 1 if node v is selected to host the VNF (becomes a VNF node, i.e., v U ), and y v = 0 , otherwise. The traffic distribution variables λ f v 0 for each flow f F and each node v U (reflecting the portion of flow f ’s traffic assigned to processing on VNF node v) are continuous.
  • Objective function:
Maximize the total volume of fully processed traffic:
maximize J = f F λ f · x f .
  • Constraints:
  • 1. Binary node placement variable (whether node v becomes a VNF node or not):
    y v { 0 , 1 } , v V .
  • 2. Budget constraint:
    v V b v · y v B .
According to constraints (1) and (2), the set { v | y v = 1 } = U is the set of graph vertices where VNF nodes are located.
  • 3. Binary variable of the flow state (whether to take flow f into consideration or not):
    x f { 0 , 1 } , f F .
  • 4. Minimum traffic assignment constraint:
    v U f λ f v λ f · x f , f F .
  • 5. Maximum traffic assignment constraint:
    v U f λ f v λ f , f F .
Constraints (3)–(5) mean that if x f = 1 , then all traffic of the flow must be processed, i.e., v U f λ f v = λ f , and if x f = 0 , then the traffic can be partially processed, i.e.,  v U f λ f v < λ f . However, in any case, the assigned traffic should not exceed the total volume of the flow requirement, v U f λ f v λ f , namely
x f = { 1 , v U f λ f v = λ f 0 , v U f λ f v < λ f .
  • 6. Node capacity constraints:
    f F v λ f v c v · y v , v V .
  • 7. Non-negativity of traffic assignment:
    λ f v 0 , v V f , f F .

4. Algorithm for Solving the VPCA-ILP Problem

Intuitively, we first allow fractional solution of flows. It means that initially we solve the variant of the problem when we can satisfy not necessarily entire flows but possibly only some fraction of each. After this step, we carefully choose the flows that we can entirely satisfy. Formally, to solve this problem, we propose Algorithm 1. It consists of the following steps:
Network 06 00038 i001
We will now explain each stage separately.
In Stage I, we solve an LP-relaxed linear programming problem in which y v [ 0 , 1 ] for each v V , x f [ 0 , 1 ] for each f F , and the remaining variables and constraints remain unchanged. We obtain the optimal solution to this relaxed problem. Let us denote the optimal values of the fractional variables y v , x f and λ f v , and also J is the optimal value of the LP-relaxation objective function, U is the set of VNF nodes selected by the solver for the optimal value of the relaxed problem, and F is the set of flows selected by the solver for the optimal value of the relaxed problem.
Then. it is necessary to round the continuous (non-integer) variables y v and x f to binary (0 or 1); budget and resource constraints remain the same. We first round y v separately, forming a set of VNF nodes. Then, depending on this set, we round x f , selecting flows and distributing their traffic.
In Stage II, we round y v as follows. For each v U , we calculate the value ρ v = c v b v , which expresses the “utility” (efficiency) of node v (step line 4 of the algorithm). Then, we sort the nodes v U (the nodes selected by the solver as a result of LP relaxation) in non-increasing order of ρ v . This yields an ordered set of nodes U order = { v 1 , , v | U | } (step line 6 of the algorithm). Then, initially setting U = and the used budget B used = 0 (line 7 of the algorithm), we select nodes into the set of VNF nodes (for an integer solution) U = { v | y v = 1 } using the following steps.
First, we form the candidate set U = { v | y v = 1 } . Having initialized U , we add one node v i at a time to U (in order to decrease ρ v i ), each time checking the sum for compliance with the budget constraint v V b v · y v B , namely, for each iteration i { 1 , , | U | } , if B used + b v i B , then we set y v i = 1 ; otherwise, we set y v i = 0 . We stop adding to U after checking all nodes (step lines 8–17 of the algorithm).
Having thus formed the set U = { v | y v = 1 } , we determine its total throughput v U c v (lines 19–21 of the algorithm) and compare it with the maximum throughput max v U c v among all nodes v U :
-
If v U c v max v U c v , then we select the candidate set U as the desired set of VNF nodes U, assigning y v i = 1 to all nodes in this set and y v i = 0 to the remaining nodes (lines 28–30 of the algorithm);
-
If v U c v < max v U c v , then we select this node for the set of VNF nodes U, assigning y v = 1 to it and y v = 0 to the remaining nodes (lines 31–37 of the algorithm).
Having rounded y v in this way, we form the set U = { v | y v = 1 } , which is the set of graph vertices in which VNF nodes are located.
In Stage III, to round off the x f variables, we perform the following steps. We define F ( U ) = { f F | U f } : this is the set of flows selected by the solver as a result of LP relaxation (i.e., processed both fully and partially), each of which passes through at least one VNF node from those selected in Stage II). We sort these flows f F in non-increasing order of λ f . We obtain an ordered set of flows F ( U ) order = { f 1 , . f | F ( U ) | } (lines 38–39 of the algorithm). Then, we set all x f = 0 , all assignments λ f v = 0 , remember the current node capacities c v c v (lines 40–48 of the algorithm), and begin adding flows one by one as follows.
For each flow f F ( U ) order , we check whether we can completely place the flow f (that is, distribute its λ f ) among the nodes v U f without violating capacity constraints, i.e., in the general case, v U f c v λ f . If this is true, we set x f = 1 (lines 50–51 of the algorithm) and distribute λ f among nodes v U f , normalizing their λ f v proportionally to c v so that the total is exactly λ f , that is, v U f λ f v = λ f (lines 52–53 of the algorithm); after the assignment, we reduce the cardinalities of the nodes c v c v λ f v (line 54 of the algorithm). If the flow cannot be completely accommodated ( v U f c v < λ f ), then we leave x f = 0 (lines 56–59 of the algorithm).
After iterating over all flows f F ( U ) order , we obtain an integer solution, that is, the set of flows F ( U ) = { f | x f = 1 } , for each of which v U f λ f v = λ f .

5. Accuracy Evaluation of Algorithm

Algorithm 1 first selects nodes for VNF placement, then distributes flows to these nodes within the resulting set of VNF nodes for processing. Therefore, we will split the accuracy evaluation of Algorithm 1 into two stages: we will consider the approximation during VNF node selection and flow distribution separately.
  • Approximation Evaluation for VNF Node Selection
Sorting nodes v U (selected by the solver in LP relaxation) in non-increasing order of ρ v obtained in LP relaxation (line 6 of Algorithm 1) yields an ordered set of nodes U order = { v 1 , , v | U | } . Moreover, ρ v i maximizes the “efficiency” of a node,
ρ v i = c v i b v i .
Algorithm 1 Algorithm for solution of VPCA-ILP problem.
Stage 
I
  1:
Set variables y v , x f [ 0 , 1 ] as continuous
  2:
Solve the LP → obtain y v , x v , λ f v , optimum J ,
         U { v | y v > 0 } ,
         F { f | x f > 0 } .
Stage 
II
  3:
for every node v U  do
  4:
       ρ v = c v b v
  5:
end for
  6:
Sort U in non-ascending order ρ v list U order = { v 1 , , v | U | }
  7:
U , B used 0
  8:
U
  9:
for every node v U order  do
10:
      if  B used + b v B  then
11:
             y v 1
12:
             U U { v }
13:
             B used B used + b v
14:
      else
15:
             y v 0
16:
      end if
17:
end for
18:
c sum 0 , c max 0
19:
for every node v U  do
20:
       c sum c sum + c v
21:
end for
22:
for every node v U  do
23:
      if  c v > c max  then
24:
             c max c v
25:
             v max v
26:
      end if
27:
end for
28:
if  c sum c max  then
29:
       U U
30:
       y v y v
31:
else
32:
       U { v max }
33:
       y v max 1
34:
      for every node v U { v max }  do
35:
             y v 0
36:
      end for
37:
end if
Stage 
III
38:
F ( U ) { f F | U f }
39:
Sort F ( U ) in non-ascending order λ f list F ( U ) order
40:
for every flow f F ( U ) order  do
41:
       x f 0
42:
      for every node v U  do
43:
             λ f v 0
44:
      end for
45:
end for
46:
for every node v U  do
47:
       c v c v
48:
end for
49:
for every flow f F ( U ) order  do
50:
      if  v U f c v λ f  then
51:
             x f 1
52:
            for every node v U f  do
53:
                   λ f v c v · λ f v U f c v
54:
                   c v c v λ f v
55:
            end for
56:
      else
57:
             x f 0
58:
            for every node v U f  do
59:
                   λ f v 0
60:
            end for
61:
      end if
62:
end for
Obviously, the deployment cost of each VNF node b v i does not exceed B, since nodes with a cost greater than B do not belong to any feasible solution.
Khuller et al. [16] considered the maximum coverage problem with a budget and proved an approximation for their algorithm to solve the problem. We apply a similar approach to evaluating the approximation of our algorithm when solving the VPCA-ILP problem at the stage of finding a set of nodes for hosting VNFs while preserving the budget constraint.
To further prove the approximation, we denote the set of VNF nodes U found by the algorithm as U A L G , and the set of VNF nodes in the optimal solution as U O P T . To determine the approximation coefficient in Stage II of the algorithm, we need to determine how close the set U A L G is to U O P T in terms of their total throughput (since the throughput c v i is a weight characteristic of node v i ).
We denote the total throughput of the VNF nodes selected by the algorithm as v j U A L G c v j = c ( U A L G ) , and the total throughput of the set of VNF nodes of the optimal solution as v j U O P T c v j = c ( U O P T ) . Similarly, the cost of deploying the VNF nodes selected by the algorithm is denoted by b ( U A L G ) , and the cost of deploying the optimal set of VNF nodes is denoted by b ( U O P T ) . The major idea is to show that the total throughput of the VNF nodes selected by our solution at each step is bounded by the total throughput of the VNF nodes selected by the optimal solution multiplied by some constant close to 1.
Let l be the number of nodes added to the set U A L G during the first r iterations performed by the algorithm in selecting nodes, until the first node from U O P T is considered but not added to U A L G because its addition would violate the budget B. Without loss of generality, we can renumber these nodes so that v i is the i th node added to U A L G , i = 1 , , l , and v l + 1 is the first node from U O P T considered by the algorithm but not added to U A L G .
Let U A L G i = j = 1 i { v j } for i = 1 , , l + 1 , and let i be the index of the iteration in which node v i was considered.
Lemma 1.
After each i t h iteration, i = 1 , , l + 1 , the following holds:
c v i b v i B · ( c ( U O P T ) c ( U A L G i 1 ) ) .
Proof. 
Obviously,
c ( U O P T ) c ( U A L G i 1 ) c ( U O P T U A L G i 1 ) .
Since all nodes v are sorted in non-increasing order of ρ v (i.e., they maximize c v b v ), among the nodes of the set U O P T U A L G i 1 , the i th node has the largest value, ρ v = c v b v , which means its value ρ v is no less than the average value for this set of nodes:
ρ v i ρ v avg .
The average value ρ v avg over the nodes of this set will satisfy
v U O P T U A L G i 1 c v v U O P T U A L G i 1 b v = c ( U O P T U A L G i 1 ) b ( U O P T U A L G i 1 ) .
The denominator of this fraction is less than B (less than the entire budget), so
c ( U O P T U A L G i 1 ) b ( U O P T U A L G i 1 ) c ( U O P T U A L G i 1 ) B ;
that is,
ρ v avg c ( U O P T U A L G i 1 ) B .
Thus, from (11) and (12),
ρ v i = c v i b v i c ( U O P T U A L G i 1 ) B ;
hence,
c ( U O P T U A L G i 1 ) B · c v i b v i .
Therefore, from (10) and (13), we obtain
c ( U O P T ) c ( U A L G i 1 ) B · c v i b v i .
Multiplying both sides by b v i B , we obtain the required inequality (9). □
Lemma 2.
After each i t h iteration, i = 1 , , l + 1 , the following holds:
c ( U A L G i ) [ 1 k = 1 i ( 1 b v k B ) ] · c ( U O P T ) .
Proof. 
We prove the lemma by induction on the number of iterations in which nodes v i are considered, i = 1 , , l + 1 .
For i = 1 (the induction base), c ( U A L G i ) = c v 1 ; i.e., we need to prove that
c v 1 b v 1 B · c ( U O P T ) .
This follows from the fact that the ratio is maximal for all nodes (the nodes are sorted by ρ v ), and the cost of the optimum is bounded by B (i.e.,
c v 1 b v 1 c ( U O P T ) B ) .
Suppose that the assertion of the lemma holds for iterations 1 , , i 1 (the induction hypothesis). We will show that it also holds for iteration i:
c ( U A L G i ) = c ( U A L G i 1 ) + c v i
( 9 ) c ( U A L G i 1 ) + b v i B · ( c ( U O P T ) c ( U A L G i 1 ) )
= ( 1 b v i B ) · c ( U A L G i 1 ) + b v i B · c ( U O P T )
( 1 b v i B ) · [ 1 k = 1 i 1 ( 1 b v k B ) ] · c ( U O P T ) + b v i B · c ( U O P T )
= [ 1 k = 1 i ( 1 b v k B ) ] · ( c ( U O P T ) ) .
In the proof above, the first inequality follows from Lemma 1, and the second inequality follows from the induction hypothesis. □
Next, we apply the property that for a 1 , , a n R + such that i = 1 n a i = α A , the function ( 1 i = 1 n ( 1 a i A ) ) attains its minimum 1 ( 1 α n ) n , when a 1 = a 2 = = a n = α A n , for A , α > 0 [16]. Here, substituting b v k for a i , k = 1 l + 1 b v k for A , l + 1 for n, and 1 for α , we obtain that
[ 1 k = 1 l + 1 ( 1 b v k B ) ] [ 1 ( 1 1 l + 1 ) l + 1 ] .
Let b ( U A L G i ) denote the total cost of the VNF nodes selected by the algorithm after iteration l + 1 . Using the fact that adding v l + 1 to b ( U A L G i ) violates the budget B, i.e.,
k = 1 l + 1 b v k = k = 1 l b v k + b l + 1 > B ,
and applying Lemma 2 to iteration l + 1 , we obtain
c ( U A L G l + 1 ) [ 1 k = 1 l + 1 ( 1 b v k B ) ] · c ( U O P T )
( 15 ) [ 1 k = 1 l + 1 ( 1 b v k k = 1 l + 1 b v k ) ] · c ( U O P T )
( 14 ) [ 1 ( 1 1 l + 1 ) l + 1 ] · c ( U O P T )
( 1 1 e ) · c ( U O P T ) .
As a result, we obtain
c ( U A L G l + 1 ) = c ( U A L G l ) + c v l + 1 ( 1 1 e ) · c ( U O P T ) .
Now, we consider the following individual cases.
  • (A) If U contains a node v with capacity c v > 1 2 · c ( U O P T ) , then this node will be considered by the algorithm as one of the nodes in the final solution, with a value of c ( U A L G ) 1 2 c ( U O P T ) .
This will occur either at the stage of greedy selection of nodes for the candidate set of VNF nodes U (lines 9–17 of the algorithm) or at the stage of comparison with the node with the maximum capacity (lines 28–37 of the algorithm). There can only be one such node with c v > 1 2 c ( U O P T ) (more than one such node will exceed c ( U O P T ) ) . If this node is chosen greedily, U A L G may contain other nodes, but c ( U A L G ) will not be less than the capacity of this node c v > 1 2 c ( U O P T ) .
  • (B) Now assume that no node in U has capacity greater than 1 2 c ( U O P T ) .
Note that if
(B-1)  b ( U A L G ) < 1 2 · B , then for any v U A L G , b v > B (otherwise, it could be added to U A L G ), so, in this case, U O P T U A L G contains at most one node (more than one with b v > 1 2 B will not fit in B).
Since, by our assumption (B), all nodes have c v < 1 2 · c ( U O P T ) , it follows that c ( U O P T U A L G ) > c ( U O P T ) , and thus c ( U A L G ) > 1 2 c ( U O P T ) .
Finally, if
(B-2)
b ( U A L G ) > 1 2 · B ,
then, by Lemma 2,
c ( U A L G l ) [ 1 k = 1 l ( 1 b v k B ) ] · c ( U O P T )
( 17 ) c ( U A L G l ) [ 1 k = 1 l ( 1 b v k 2 · k = 1 l b v k ) ] · c ( U O P T )
( 14 ) [ 1 ( 1 1 2 l ) l ] · c ( U O P T )
( 1 1 e ) · c ( U O P T ) .
We have shown that in certain cases, such as the presence of a node with a throughput greater than 1 2 c ( U O P T ) , as well as in the case where the algorithm selects VNF nodes whose cost is less than half of the allocated budget, the approximation coefficient of the first stage of Algorithm 1 (Stage II—formation of the set of VNF nodes) is 1 2 . In other cases, the coefficient is ( 1 1 e ) .
However, we will further prove that, provided that the algorithm selects three or more VNF nodes ( l 3 ), this approximation coefficient can be improved.
Claim 1.
When solving the VPCA-ILP problem for VNF node placement (Stage II of Algorithm 1), provided that there are at least three nodes, the approximation ratio ( 1 1 e ) is achieved, i.e.,
c ( U A L G ) ( 1 1 e ) c ( U O P T ) .
Proof. 
Let U A L G k be the set of the first k nodes in the order they are selected for the set U. Assume that without loss of generality that | U O P T | > k , since otherwise U A L G = U O P T .
Therefore, based on the above, we will continue the proof for cases where l 3 and k 3 .
Consider the k th iteration of Stage II of Algorithm 1, which considers the subset U A L G k . Let U add denote the set of nodes added to U A L G k by the algorithm until U A L G is obtained; that is, let U A L G = U A L G k U add .
Obviously,
c ( U A L G ) = c ( U A L G k ) + c ( U add ) .
The completion of U A L G k in U A L G can be considered a separate part of Stage II of Algorithm 1, similar to the one considered earlier.
Let l be the number of nodes added to U add in r iterations performed by the algorithm during the completion of the subset U A L G k in U A L G , until the first node from U O P T U A L G k is considered but not added to U add because its addition violates the budget B ( l = l k ) . Let v i be the i th node added to U add , i = 1 , , l , and let v l + 1 be the first node from U O P T U A L G k that is considered but not added to U add . Applying inequality (16) to U add instead of U A L G l , to v l + 1 instead of v l + 1 , and, respectively, to U O P T U A L G k instead of U O P T , we obtain
c ( U add ) + c v l + 1 ( 1 1 e ) · c ( U O P T U A L G k ) .
Note that when the nodes are sorted, the capacity of each of the nodes covered by U A L G k is at least c v l + 1 . Therefore,
c v l + 1 1 k · c ( U A L G k ) .
Now we get
c ( U A L G ) = ( 19 ) c ( U A L G k ) + c ( U add )
( 20 ) c ( U A L G k ) + ( 1 1 e ) · c ( U O P T U A L G k ) c v l + 1
( 21 ) c ( U A L G k ) + ( 1 1 e ) · c ( U O P T U A L G k ) 1 k · c ( U A L G k )
= ( 1 1 k ) · c ( U A L G k ) + ( 1 1 e ) · c ( U O P T U A L G k ) .
Because for k 3
( 1 1 k ) > ( 1 1 e ) ,
and also
c ( U A L G k ) + c ( U O P T U A L G k ) = c ( U O P T ) ,
then as a result we get
c ( U A L G ) ( 22 , 23 ) ( 1 1 e ) · c ( U O P T ) .
Thus, claim 1 is proven. □
  • Approximation Estimation for Flow Allocation
Stage III of Algorithm 1 accepts a flow f if and only if the available bandwidth at nodes U f is sufficient to handle its entire rate λ f . These accepted flows constitute the set F ( U A L G ) = { f | x f = 1 } . The total bandwidth of the VNF nodes along the path of flow f, i.e., v U f c v , is denoted by c ( U f ) . For further evaluation, we introduce the following definitions that are critical for approximation analysis evaluation of our proposed solution.
Definition 1.
An isolated flow (denoted as f s e p ) is a flow that does not share any VNF nodes with other flows.
That is, it is isolated from other flows, its nodes are not connected to the nodes of other flows; it can be processed on one VNF node or on several VNF nodes, but it does not share VNF nodes with other flows, meaning no other flows pass through these VNF nodes.
Definition 2.
An isolated VNF node (denoted as v s e p ) is a VNF node that is not connected by flows to other VNF nodes.
That is, this node is isolated from other nodes, one or more flows pass through it and are processed by it, and these flows do not have other VNF nodes, being processed only by this node.
In the process of solving the problem, the flows considered by the algorithm can be of four types:
(A)
Non-“isolated” flows that pass through non-“isolated” nodes (each of these flows is processed on more than one VNF node, and more than one flow selected by the algorithm passes through each of these VNF nodes);
(B)
Isolated flow f s e p , pass through isolated VNF node v s e p (the flow passes only through one node, through which no other flows pass);
(C)
Several non-“isolated” flows pass through an “isolated” node v s e p (the flows are not “isolated”, since they are connected to each other by this common isolated VNF node, and each of these flows passes only through this one common “isolated” VNF node v s e p and has no other VNF nodes; thus, node v s e p is “isolated” because it is not connected by flows with other nodes (Def. 2));
(D)
“Isolated” flow f s e p passes through several non-“isolated” VNF nodes (in this case, the flow is “isolated” because it does not share VNF nodes with other flows (Def. 1) but passes through several VNF nodes that are not “isolated” because they are connected by this common flow f s e p ).
It should be emphasized that the list of these four cases ((A)–(D)) is exhaustive, since no flow can simultaneously pass through “isolated” and non-“isolated” VNF nodes (since when a flow passes through more than one VNF node, each of these VNF nodes is no longer “isolated”); similarly, none VNF node cannot simultaneously service “isolated” and non-“isolated” flows (since if multiple flows pass through a VNF node, then all these flows are no longer “isolated”).
For all flows specified in case (A), i.e., those that are not “isolated” and do not pass through “isolated” VNF nodes, we prove the following lemma.
Lemma 3.
For any flow f completely processed as a result of Algorithm 1, provided that it is NOT an “isolated” flow f s e p or a flow passing through an “isolated” node v s e p , its distributed traffic is at least half the total capacity of its VNF nodes, i.e.,
λ f 1 2 c ( U f ) .
Proof. 
According to Algorithm 1, the traffic of a processed flow must not exceed the total residual capacity of its VNF nodes; i.e., there is
λ f = v U f λ f v v U f c v .
Consider the moment when the algorithm rejects the first flow f r , since it does not have enough of the total remaining capacity of its VNF nodes. By this point, the total free capacity of all nodes in this flow v U f is less than λ f r , that is,
λ f r > v U f r c v .
Moreover, the residual capacity of each of these nodes c v is its initial capacity minus the portion already used by other flows processed by this node previously:
c v = c v f F v λ f v .
Thus,
λ f r > v U f r ( c v f F V λ f v ) = v U f r c v v U f r f F V λ f v .
Here, v U f r f F V λ f v represents the sum of the traffic portions of the flows allocated to the VNF nodes of flow f r before it was considered by the algorithm and rejected due to a lack of v U f r c v . Since flow f r is the first to be rejected by the algorithm, all flows prior to it were fully allocated (processed).
Let us assume, by contradiction, that not all of these processed flows (those not “isolated” and not passing through “isolated” nodes), considered before flow f r , used at least half of the total throughput of their VNF nodes for traffic distribution; i.e., among them there are fully allocated flows for which λ f < c ( U f ) . In this case, since the algorithm distributes the traffic of flows λ f among their VNF nodes proportionally to their residual capacity c v , the fractions λ f v of the traffic of such flows allocated to the VNF nodes of flow f r before it was considered and rejected must also use less than half of their capacity, meaning that
v U f r f F V λ f v < 1 2 v U f r c v ,
and, therefore (from (25)), we have
λ f r > 1 2 v U f c v .
However, this assumes that λ f of the fully processed flows considered earlier by the algorithm is less than λ f r of the first flow rejected by the algorithm. This contradicts our algorithm, which requires considering flows in order from the largest λ f to the smallest. The proof follows. □
Claim 2.
When solving the VPCA-ILP in the part of flow traffic distribution (Stage III of Algorithm 1), the approximation ratio 1 2 is achieved; that is, for the optimal solution ( x f ) f F ( U A L G ) of the LP-relaxed linear programming problem with continuous variables in the part of flows f F ( U A L G ) (passing through at least one VNF node), Algorithm 1 returns the solution ( x f ) f F ( U A L G ) of the integer problem in the part of flows f F ( U A L G ) , such that
f F ( U A L G ) λ f · x f 1 2 f F ( U A L G ) λ f · x f .
Proof. 
By Lemma 3, the distributed traffic of each flow that is not an “isolated” flow f s e p or a flow passing through an “isolated” node v s e p (case (A)), completely processed as a result of Algorithm 1, is at least half the total throughput of its VNF nodes, i.e., λ f v U f c v . Summing over all flows f F ( U A L G ) F s e p F ( V s e p ) F s e p ( V s e p ) , that are not “isolated” or passing through an “isolated” node, we find that the total traffic across all nodes of these flows is no less than half of their total capacity:
f F ( U A L G ) F s e p F ( V s e p ) F s e p ( V s e p ) λ f 1 2 v ( U A L G V s e p U f s e p ) c v .
Here,
V s e p is the set of “isolated” VNF nodes v s e p ;
F ( V s e p ) is the set of non-“isolated” flows received by the algorithm that pass through them;
F s e p is the set of “isolated” flows f s e p recieved by the algorithm;
F s e p ( V s e p ) is the set of “isolated” flows f s e p received by the algorithm that pass through “isolated” VNF nodes v s e p ;
U f s e p is the set of VNF nodes of “isolated” flows f s e p .
Consequently, the total traffic of flows already accepted by the algorithm (for which x f = 1 ) that are not “isolated” and do not pass through “isolated” nodes
f F ( U A L G ) F s e p F ( V s e p ) F s e p ( V s e p ) λ f · x f
is not less than half of their total capacity, and this capacity is not less than the total fractional traffic of the same flows in the optimal solution of the LP-relaxed problem
f F ( U A L G ) F s e p F ( V s e p ) F s e p ( V s e p ) λ f · x f
(since the capacities c v were not exceeded in LP). That is why
f F ( U A L G ) F s e p F ( V s e p ) F s e p ( V s e p ) λ f · x f 1 2 · f F ( U A L G ) F s e p F ( V s e p ) F s e p ( V s e p ) λ f · x f .
Thus, inequality (27) proves Claim 2 for case (A) flows.
  • Let us consider the remaining cases separately.
    (B) The “isolated” flows f s e p accepted by the algorithm pass only through the “isolated” VNF nodes v s e p .
In this case, two subcases are possible:
(B-1) If λ f s e p > c v , then such a flow is definitely rejected by the algorithm ( x f = 0 ) .
(B-2) If λ f s e p c v , then in this case λ f < 1 2 c ( U f ) is indeed possible (a contradiction to Lemma 3) if the traffic of this flow λ f < 1 2 c v of its single VNF node. Thus, under this condition, all these flows will be unambiguously definitely accepted by the algorithm ( x f = 1 ) with their full traffic (since the capacity of their single node will be sufficient for all of them); that is, for all flows of case (B), the approximation ratio of this stage of the algorithm will be equal to 1. That is,
f F s e p ( V s e p ) λ f · x f = f F s e p ( V s e p ) λ f · x f .
  • (C) If non-“isolated” flows share a common “isolated” VNF node, that is, each of these flows passes only through this one common “isolated” node v s e p and has no other VNF nodes, then this case also has two subcases:
(C-1) If f F v λ f c v , then these flows will all be definitely accepted by the algorithm ( x f = 1 ) , since the capacity of this node v s e p is sufficient to process all of these flows passing through it. Therefore, for these flows, the approximation ratio is 1 and Formula (28) is valid.
(C-2) If f F v λ f > c v , then when the algorithm rejects the first such flow f r because it lacks the remaining capacity of its single VNF node, that is,
λ f r > c v = c v f F v λ f v .
Thus, similar to the proof of Lemma 3, the total traffic of distributed flows passing through the “isolated” node v s e p is greater than half of its capacity
f F v λ f 1 2 c v ,
and therefore, the approximation coefficient for such flows is 1 2 ; that is, Formula (27) is valid for them, and the total approximation ratio for all flows passing through “isolated” nodes (case (C) for both subcases) is not less than 1 2 . It means that
f F ( V s e p ) λ f · x f f F ( V s e p ) λ f · x f .
  • (D) If an “isolated” flow (which does not share VNF nodes with other flows) passes through several non-“isolated” VNF nodes (connected by this flow), then for its VNF nodes c v = c v , and two subcases are also possible:
(D-1) If λ f s e p v U f s e p c v , that is, if the total capacity of its VNF nodes is not less than its speed, then it can definitely be completely allocated (i.e., it must be selected by the algorithm, x f = 1 ) , and in this case, the approximation ratio of these flows is also equal to 1; that is, Formula (28) is valid.
(D-2) If λ f s e p > v U f s e p c v , then such a flow is definitely rejected by the algorithm ( x f = 0 ) .
Thus, for all flows in case (D), the overall approximation ratio is 1; that is,
f F s e p λ f · x f = f F s e p λ f · x f .
Thus, to take into account all types of flows (cases (A)–(D)), it suffices to add (27) + (28) + (29) + (30) to obtain the required inequality (24). Claim 2 is proven. □
Theorem 1.
Algorithm 1 is a 1 2 ( 1 1 e ) -approximation algorithm for the VPCA-ILP problem.
Proof. 
By the assumptions of the VPCA-ILP problem, the objective function is
J = f F λ f · x f .
We denote the optimal value of the objective function of the VPCA-ILP problem by J O P T , and the value of the objective function found by Algorithm 1 by J A L G .
The optimal value of the objective function of the LP-relaxed linear programming problem with continuous variables was previously denoted by
J = f F λ f · x f .
The VPCA-ILP problem is a maximization problem; therefore,
J J O P T .
Given that the set U A L G = { v | y v = 1 }
c ( U A L G ) = v U A L G c v = f F ( U A L G ) ( v U f c v ) = f F ( U A L G ) ( v U f c v · y v ) ( 6 )
f F ( U A L G ) ( v U f λ f v ) = ( 4 ) f F ( U A L G ) λ f · x f ( 26 ) 1 2 f F ( U A L G ) λ f · x f .
Similarly,
c ( U O P T ) 1 2 · f F ( U O P T ) λ f · x f .
Then from (18), (33) and (34), it follows
1 2 · f F ( U A L G ) λ f · x f 1 2 · ( 1 1 e ) f F ( U O P T ) λ f · x f .
Thus, using (26), (31), (32), and (35), we obtain
J A L G = f F ( U A L G ) λ f · x f ( 26 ) 1 2 · f F ( U A L G ) λ f · x f ( 35 )
1 2 · ( 1 1 e ) f F ( U O P T ) λ f · x f = ( 31 ) 1 2 · ( 1 1 e ) J ( 32 ) 1 2 · ( 1 1 e ) J O P T ,
which is what was required. □

6. Complexity Evaluation of Algorithm

To estimate the complexity of this algorithm, let us consider it in terms of individual computational blocks.
1.
Stage I—LP Relaxation Solution
In the problem after relaxation, we have the following variables: y v [ 0 , 1 ] , for v V ; x f [ 0 , 1 ] for f F ; λ f v 0 , for v V , f F .
There are many algorithms for solving linear programming problems with varying complexity. In particular, Vaidya [17] developed an algorithm for solving linear programming problems that requires O ( m 1.5 n L ) arithmetic operations and is sufficient to perform each operation with O ( L ) bit precision, where m is the number of constraints and n is the number of variables. The parameter L here can be roughly considered as the number of bits of input data. Thus, in our problem, the complexity of this block of the algorithm is
O ( m 1.5 n L ) = O ( ( | V | · | F | ) 1.5 · ( | V | · | F | · L ) =
O ( | V | 2.5 · | F | 2.5 · L ) .
2.
Stage II—rounding y v (VNF node placement).
2.1.
Sorting nodes in descending order ρ v = c v b v : complexity of order O ( | V | log | V | ) .
2.2.
Sequentially adding nodes and checking the budget constraint i = 1 k b v i B :
-
We traverse the ordered list (in the worst case, up to | V | nodes);
-
The sum is cumulative (to avoid recalculating each time), so each check step is O ( 1 ) ;
-
The entire cycle is O ( | V | ) .
Total: the rounding step of y v adds up to
O ( | V | log | V | ) + O ( | V | ) = O ( | V | log | V | ) .
3.
Stage III—rounding x f (flow selection and distribution).
3.1.
Sorting flows f F U in descending order of λ f :
-
In the worst case; | F U | | F | ,
-
Sorting complexity is O ( | F | log | F | ) .
3.2.
Step-by-step flow addition:
-
For each flow f k (there are | F | ), we check cumulatively whether we can “place” λ f k into available nodes v V f U ;
-
In the worst case, | V f | | V | , i.e., each flow can be connected to any node (if we consider a very rough estimate);
-
Checking v V f U c v λ f k takes O ( | V f | ) , then distributing λ f k (setting λ f k v ) also takes O ( | V f | ) , since we need to iterate through all suitable nodes;
-
The total computation time for one thread is about O ( | V | ) ; for all threads, it is O ( | V | · | F | ) .
Total computation time: rounding x f takes
O ( | F | log | F | + | V | · | F | ) .
4.
Overall Complexity
Combining all blocks, we get
-
LP solution: O ( | V | 2.5 · | F | 2.5 · L ) ;
-
y v rounding: O ( | V | log | V | ) ;
-
x f rounding: O ( | F | log | F | + | V | · | F | ) .
Thus, the asymptotically overall complexity is O ( | V | 2.5 · | F | 2.5 · L ) .

7. Simulation Results and Discussion

We have evaluated our (Algorithm 1) and RP-MCA [5] algorithms and performed a comparative evaluation between them. In order to do this, we considered three types of topologies of different sizes as shown in Figure 2: appropriate k ary fat tree (3-level tree with k ports on each switch), Erdos-Rényi network (we chose probability of 1/2 for existing edge between arbitrary pair of nodes in generated graph) and Barabási-Albert network (the starting graph was a triangle graph with three nodes). The results are shown below. Simulations have been conducted on the Windows 11 operating system with a 12th Gen Intel(R) Core(TM) i7-1255U 1.70 GHz processor. The simulations have been implemented in Python 3.14. We considered different size networks of varying size between 50 and 1000 nodes with the number of flows between 50 and 200. The flows were generated as random paths in the corresponding network with the rate varying in the range [20, 500]. We also considered that the case of uniform costs (valued 25 and total budget of 1000) and capacities (valued 10) versus heterogeneous case costs range is [15, 300], capacity range is [5, 100]), and total budget range [1000, 10,000]. As can be seen below, Algorithm 1 (solid) consistently outperforms RP-MCA (dashed) in our obtained traces. The performance gap and its scaling with V vary for different scenarios. Algorithm 1 will tend to outperform RP-MCA on instances where greedy, deterministic exploitation of concentrated coverage or large indivisible gains is advantageous and where the randomness or fractional rounding in RP-MCA tends to lose value. The most significant advantage of our algorithm was achieved for the case of fat-tree topology. When costs vary widely and some nodes are extremely cost-efficient (large capacity relative to cost and covering useful flows), a greedy algorithm that ranks by marginal processed flows per unit cost will quickly pick those and obtain near-optimal integral solutions. Randomized schemes that spread budget may not concentrate on the cheapest high-value nodes and can underperform in expectation.
We can characterize natural sufficient conditions under which the Algorithm 1—type approach is provably close to optimal, and when that bound is tight. If we can view the problem as selecting nodes U under cost budget B so that the set (or total rate) of processed flows is a monotone submodular function of U, then the standard greedy algorithm that at each step picks the node with largest marginal gain per unit cost achieves a ( 1 1 / e ) —approximation to the optimum for the budgeted case (this is the classical result for budgeted maximum coverage). There are known worst-case instances for budgeted coverage where no polynomial-time algorithm can beat ( 1 1 / e ) unless P = NP; so our algorithm guarantee is essentially is tight in that abstraction. If node capacities c v are large relative to demand so capacity constraints rarely bind (or the algorithm’s local allocations never exceed capacities), then the problem reduces to budgeted coverage and our solution is near-optimal.

8. Conclusions

In this paper, we have considered the problem of VNF node placement and bandwidth allocation in a network graph, i.e., selecting the best subset of VNF nodes and optimally distributing their bandwidth to maximize the total volume of fully processed traffic flows.
Unlike previous approaches, we have introduced a simpler algorithm for solving this problem, representing it as an integer linear programming problem (VPCA-ILP) with two integer variables—VNF node placement and flow selection. This algorithm consists of several stages: solving an LP-relaxed linear programming problem to obtain optimal fractional values for the variables, followed by rounding these fractional variables, resulting in a set of VNF nodes, and then using this set, distributing the capacity of these VNF nodes among the flows they process. We have also proven that with an approximation ratio of 1 2 · ( 1 1 e ) , the time complexity of this algorithm is 1 2 ( 1 1 e ) , and its complexity is O ( | V | 2.5 · | F | 2.5 · L ) which is the case for | F | = o ( | V | ) , which is a better result than in [5]. Notice that fixed routing paths and static traffic assumptions as described in our problem impose strict restrictions on the shape of our solution. If we are interested in making the system more dynamic, additional algorithmic and optimization techniques must be involved. Several recent intelligent methods may be considered as well, as described in [18,19]. Also it would be interesting to obtain better approximation solutions to the original problem.

Author Contributions

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

Funding

This research was partially funded by Israeli Science Foundation (Grant No. 465/22), US Army Research Office under Grant Number W911NF-22-1-0225, a grant from Israel Ministry of Science No. 0005355) and a grant from the Israel Innovation Authority.

Data Availability Statement

The research data can be provided upon request.

Acknowledgments

The authors would like to express their thanks to the anonymous reviewers whose comments improved the presentation of the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Poularakis, K.; Iosifidis, G.; Smaragdakis, G.; Tassiulas, L. One step at a time: Optimizing SDN upgrades in ISP networks. In Proceedings of the 2017 IEEE Conference on Computer Communications, INFOCOM 2017, Atlanta, GA, USA, 1–4 May 2017; pp. 1–9. [Google Scholar] [CrossRef] [Scilit]
  2. Chiosi, M.; Clarke, D.; Cablelabs, P.; Donley, C.; Centurylink, L.; Bugenhagen, M.; Feger, J.; Khan, W.; China, C.; Cui, H.; et al. Network Functions Virtualisation (NFV) Network Operator Perspectives on Industry Progress. Sdn Openflow World Congr. 2014, 3, 1–16. [Google Scholar] [CrossRef]
  3. de Jesus Martins, R.; Both, C.B.; Wickboldt, J.A.; Granville, L.Z. Virtual Network Functions Migration Cost: From Identification to Prediction. Comput. Netw. 2020, 181, 107429. [Google Scholar] [CrossRef] [Scilit]
  4. Hantouti, H.; Benamar, N.; Taleb, T.; Laghrissi, A. Traffic Steering for Service Function Chaining. IEEE Commun. Surv. Tutor. 2019, 21, 487–507. [Google Scholar] [CrossRef] [Scilit]
  5. Sallam, G.; Ji, B. Joint Placement and Allocation of VNF Nodes with Budget and Capacity Constraints. IEEE/ACM Trans. Netw. 2021, 29, 1238–1251. [Google Scholar] [CrossRef] [Scilit]
  6. Min, R.; Bhardwaj, M.; Cho, S.H.; Sinha, A.; Shih, E.; Wang, A.; Chandrakasan, A. Architecture for a power-aware distributed microsensor node. In Proceedings of the 2000 IEEE Workshop on Signal Processing Systems (SIPS 2000) SiPS: Design and Implementation, Lafayette, LA, USA, 11–13 October 2000; pp. 581–590. [Google Scholar]
  7. Ren, H.; Xu, Z.; Liang, W.; Xia, Q.; Zhou, P.; Rana, O.F.; Galis, A.; Wu, G. Efficient Algorithms for Delay-Aware NFV-Enabled Multicasting in Mobile Edge Clouds with Resource Sharing. IEEE Trans. Parallel Distrib. Syst. 2020, 31, 2050–2066. [Google Scholar] [CrossRef] [Scilit]
  8. Crowcroft, J.; Segal, M.; Levin, L. Improved structures for data collection in wireless sensor networks. In Proceedings of the 2014 IEEE Conference on Computer Communications, INFOCOM 2014, Toronto, ON, Canada, 27 April–2 May 2014; IEEE: New York, NY, USA, 2014; pp. 1375–1383. [Google Scholar] [CrossRef] [Scilit]
  9. Sang, Y.; Ji, B.; Gupta, G.R.; Du, X.; Ye, L. Provably Efficient Algorithms for Joint Placement and Allocation of Virtual Network Functions. arXiv 2017, arXiv:1702.01154. [Google Scholar] [CrossRef] [Scilit]
  10. Tomassilli, A.; Giroire, F.; Huin, N.; Pérennes, S. Provably Efficient Algorithms for Placement of Service Function Chains with Ordering Constraints. In Proceedings of the 2018 IEEE Conference on Computer Communications, INFOCOM 2018, Honolulu, HI, USA, 16–19 April 2018; IEEE: New York, NY, USA, 2018; pp. 774–782. [Google Scholar] [CrossRef] [Scilit]
  11. Shi, M.; Lin, X.; Fahmy, S.; Shin, D. Competitive Online Convex Optimization with Switching Costs and Ramp Constraints. In Proceedings of the 2018 IEEE Conference on Computer Communications, INFOCOM 2018, Honolulu, HI, USA, 16–19 April 2018; IEEE: New York, NY, USA, 2018; pp. 1835–1843. [Google Scholar] [CrossRef] [Scilit]
  12. Feng, H.; Llorca, J.; Tulino, A.M.; Raz, D.; Molisch, A.F. Approximation algorithms for the NFV service distribution problem. In Proceedings of the 2017 IEEE Conference on Computer Communications, INFOCOM 2017, Atlanta, GA, USA, 1–4 May 2017; IEEE: New York, NY, USA, 2017; pp. 1–9. [Google Scholar] [CrossRef] [Scilit]
  13. Feng, H.; Llorca, J.; Tulino, A.M.; Molisch, A.F. Optimal Dynamic Cloud Network Control. IEEE/ACM Trans. Netw. 2018, 26, 2118–2131. [Google Scholar] [CrossRef] [Scilit]
  14. Zhao, W.; Yu, Y.; Mao, B.; Kato, N. A Survey on Computing Power Networks: Architecture, Resource Allocation, and AI Services Enablement. IEEE Trans. Netw. Sci. Eng. 2026, 13, 6225–6242. [Google Scholar] [CrossRef] [Scilit]
  15. Coromberque, V.F. Virtualized Network Function Chaining and Orchestration Based on Latency and Financial Cost; Universidade Federal do Rio Grande do Sul: Porto Alegre, Brazil, 2025. [Google Scholar]
  16. Khuller, S.; Moss, A.; Naor, J. The Budgeted Maximum Coverage Problem. Inf. Process. Lett. 1999, 70, 39–45. [Google Scholar] [CrossRef] [Scilit]
  17. Vaidya, P.M. Speeding-Up Linear Programming Using Fast Matrix Multiplication (Extended Abstract). In Proceedings of the 30th Annual Symposium on Foundations of Computer Science, Research Triangle Park, NC, USA, 30 October–1 November 1989; IEEE Computer Society: New York, NY, USA, 1989; pp. 332–337. [Google Scholar] [CrossRef] [Scilit]
  18. Ma, L.; Li, N.; Guo, Y.; Wang, X.; Yang, S.; Huang, M.; Zhang, H. Learning to Optimize: Reference Vector Reinforcement Learning Adaption to Constrained Many-Objective Optimization of Industrial Copper Burdening System. IEEE Trans. Cybern. 2022, 52, 12698–12711. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  19. Li, W.; Liang, P.; Sun, B.; Sun, Y.; Huang, Y. Reinforcement learning-based particle swarm optimization with neighborhood differential mutation strategy. Swarm Evol. Comput. 2023, 78, 101274. [Google Scholar] [CrossRef] [Scilit]
Figure 1. Example of given graph with flows for VPCA problem.
Figure 1. Example of given graph with flows for VPCA problem.
Network 06 00038 g001
Figure 2. Simulation results.
Figure 2. Simulation results.
Network 06 00038 g002
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

Rusnak, I.; Segal, M. Placement and Allocation of VNF Nodes Under Budget and Capacity Constraints Revisited. Network 2026, 6, 38. https://doi.org/10.3390/network6020038

AMA Style

Rusnak I, Segal M. Placement and Allocation of VNF Nodes Under Budget and Capacity Constraints Revisited. Network. 2026; 6(2):38. https://doi.org/10.3390/network6020038

Chicago/Turabian Style

Rusnak, Ihor, and Michael Segal. 2026. "Placement and Allocation of VNF Nodes Under Budget and Capacity Constraints Revisited" Network 6, no. 2: 38. https://doi.org/10.3390/network6020038

APA Style

Rusnak, I., & Segal, M. (2026). Placement and Allocation of VNF Nodes Under Budget and Capacity Constraints Revisited. Network, 6(2), 38. https://doi.org/10.3390/network6020038

Article Metrics

Back to TopTop