A Resource and Task Scheduling Based Multi-Objective Optimization Model and Algorithms in Elastic Optical Networks

The elastic optical network (EON) adopting virtual network function (VNF) is a new type of network, in which the routing, spectrum, and data center allocation are key and challenging problems, and solving these three problems simultaneously can not only improve the network efficiency for network providers, but also let users obtain better service. However, few existing works handle these three problems simultaneously. To tackle the three problems simultaneously, given a set of network function chains (i.e., a set of tasks), we set up a new multi-objective optimization model in which the total length of paths for all tasks is minimized, the totally occupied spectrums are minimized, and the loads on all data centers are most balanced, simultaneously. To solve the model, we design two new evolutionary algorithms. The experiments are conducted on 16 cases of 4 widely used types of networks, and the results indicate that the proposed model and algorithms are effective.


Introduction
With the development of internet and network technology, a wavelength division multiplexing (WDM) network can not satisfy the requirement of real world problems due to its spectrum allocation mode of fixed grid and low spectrum utilization. Elastic optical network (EON) is a potential direction for developing the future network due to flexible spectrum allocation and high spectrum utilization. However, the routing and spectrum allocation (RSA) problem in EON is more complex. RSA has become one of the hottest and key problems in EON [1]. It needs to handle multiple issues simultaneously (e.g., select the best route, use the least spectrum resource, make the communication efficient, etc.). Although many researchers have studied these kinds of problems, most of them only can handle one or two issues simultaneously. For example, Ref. [2] proposed an adaptive scheme which only tackles the routing and spectrum allocation problems based on reducing the relative cost of network flow and the probability of communication block. Ref. [3] proposed a RSA strategy which only improves the quality of transmission (QoT) based on both the link state advertisement (LSA) and the risk reduction of quality of transmission (QoT). To improve the communication quality by tackling unbalanced distribution of network flows in EON, Ref. [4] proposed two algorithms based on the OTTM model to improve bandwidth efficiency. To handle routing and spectrum issues, Ref. [5] proposed an adaptive RSA algorithm which tried to select the routing of the lowest relative cost and design the efficient spectrum scheme by estimating both the transient effect of call admission on a given set of routing/spectrum and the relative cost of reaching the forward destination of the calls. To handle the spectrum problem, Ref. [6] set up an integer linear programming model for spectrum allocation problems by analyzing the characteristic of network data flow of three kinds of elastic optical networks, and proposed two meta

Related Works
Currently, there have been some research works in this field. For example, in order to handle two problems (i.e., reduce the cost and improve the quality of service (QoS)), Ref. [7] proposed an integrated algorithm based on VNF migration strategy, which aims at reducing the income loss of network service provider due to both data lost during the transmission and decreasing of quality of service (QoS), but it did not consider how to balance the loads among the data centers. To solve VNF and physical function allocation problems in network and cloud environments, Ref. [8] proposed a heuristic algorithm based on a self-defined greedy strategy to improve the performance and ability of feature decomposition method, but it did not consider the spectrum allocation and load balance. Ref. [9] surveyed the current research progress on VNF allocation problems. Ref. [10] proposed a new virtualization method on network functions, but it did not consider the load balance and routing. In order to balance the load of the data center nodes, Ref. [11] proposed a highly efficient switch migration (HESM) method for controlling load balance via minimizing migration cost, but it did not consider the routing and spectrum allocation. To increase spectral efficiency for the routing and spectrum assignment (RSA) in elastic optical networks (EON), Ref. [12] proposed a novel technique for resource planning and consumption estimation by the optimal utilization of already existing resources, but it did not consider the load balance. In order to enhance the efficiency of routing and resource allocation, Ref. [13] proposed a prediction-based dynamic slicing mechanism (PDSM) for heterogeneous elastic fiber wireless networks, but it also did not consider the load balance. To obtain a better resource allocation scheme, Ref. [14] proposed a novel constrained deep reinforcement learning algorithm for the resource allocation problem. Aiming at improving the efficiency of both wireless resource management and computation resource management within network slices in edge computing systems, Ref. [15] proposed an efficient approximation algorithm based on the game theory, which minimizes the completion time of task execution in the system. These algorithms also did not consider the load balance. Ref. [16] investigated static routing, VNF, and spectrum allocation (RMSTA) of advanced reservation (AR) requests in elastic optical networks. They formulated a twoobjective optimization model by minimizing the occupied spectrum and time resources, and proposed a heuristic algorithm based on three sorting strategies. However, this study focused only on sorting requests and neglected the effect of routing and spectrum allocation on the model and algorithm. Furthermore, solving the formulated multi-objective problem by minimizing the weighted sum of two objectives cannot obtain a set of solutions, which failed to satisfy users with different preferences. Ref. [17] investigated the routing and content replication placement in elastic optical networks. They built a mixed integer linear programming model and proposed a heuristic optimization method. However, this study focused on content replication and neglected the impact of routing policies on designing algorithms in large-scale networks and short-term re-optimization scenarios. Ref. [18] proposed an ILP model that takes into account the multicast routing, spectrum, and transceivers for multicast requests, with the goal of minimizing the spectrum consumption and transceivers required for the subtree in an elastic optical data center network (EODCNs). However, this study did not give a method to determine the weight coefficients for each optimization objective in the ILP model and did not consider the load balance. Ref. [19] used a physical slicing technique that supports an end-to-end optical path on a combination of multiple discontinuous spectral slots in order to enhance the spectrum allocation, and proposed a scheme to determine the splitting position and required number of slots for each slice component in an EON network. They built a mixed integer linear programming (MILP) model by making the trade-off among the slicers availability, spectrum utilization, and bandwidth blocking probability. Although the physical slicing technology has improved the spectrum utilization rate in EON, this study did not consider the network load balance. Ref. [20] studied the allocation of data center and spectrum for VNF service chain in interdatacenter elastic optical networks. To minimize the total network cost and balance the utilization of resources, the authors set up a model with three optimization objectives first, and then transformed it into a single-objective optimization model by using the weight sum method. Finally, they proposed a heuristic algorithm to reduce the congestion in both data centers and links. However, this work ignored the communication quality (e.g., quality of service). To deploy VNF effectively, Ref. [21] proposed a deep reinforced learning based algorithm to minimize the spectrum utilization ratio and the number of deployed VNFs jointly. A trade-off between spectrum utilization ratio and number of deployed VNFs was made by assigning a weight to each of the objectives. However, this method did not carefully take into account both routing and load balance of data centers. Instead, it only used a simple heuristic strategy to make the routing.
By summary, the existing works mainly focus on tackling only one or two issues of the four aforementioned issues. There have been few works tackling the four problems above simultaneously. To overcome this shortcoming, the main contributions in this paper are as follows: (1) We set up a new multi-objective model for solving all these problems simultaneously, i.e., select reasonable routes for each task such that data can be quickly transmitted; efficiently allocate spectrums such that the spectrum resource is conserved the most; make the loads most balanced among the data centers such that the network communication is more efficient and stable; and deploy VNF efficiently. The rest of the paper is arranged as follows: In Section 3, we first briefly introduce the problem considered in this paper, and then set up a new optimization model for the problem. Finally, we design two new evolutionary algorithms for the model. In Section 4, we conduct the experiments and conduct the analysis of experimental results. In Section 5, we make the discussion on the paper and point out the future work. Conclusions are made in Section 6.

Problem Description
A scheduling problem of the elastic optical network using virtual network functions can be described as follows: The elastic optical network using virtual network functions can be represented by an undirected graph G(V, E), where the set V = {v 1 , v 2 , · · · , v N v } of the vertexes in the graph represents the set of nodes of the network, the set of nodes of data centers is denoted by V D = {v 1 , v 2 , · · · , v N d }, and the set E = {L ij |v i , v j ∈ V} of edges of graphs represents the set of links of networks. The set of tasks is denoted by FSC = {r 1 , r 2 , · · · , r k , · · · , r N R }, where each task is a function service chain (FSC), and the k-th function service chain (also called the k-th task) is represented as k } required to be realized sequentially by task r k , where t i k ∈ {1, 2, · · · , N T } is the index of the i-th virtual network function to be realized by the k-th task r k (for convenience, the virtual network function is briefly called the function in the following). t i k are different each other in t k . F k is the number of the functions contained in the k-th FSC. N T is the total number of all different functions in all N R tasks. b k is the number of slots to be occupied by the k-th task r k . N F is the maximal number of slots which are available in the path.
The problem considered in this paper is to tackle the following issues: (1) how to select a proper path from the source node to the destination node for each task such that the total length of all paths is minimized; (2) how to assign the slots in the selected path for each task such that the slot assumption is minimized; (3) how to make the loads most balanced among the data centers such that the network communication is more efficient and stable; and (4) how to deploy VNF efficiently.

Algorithm 1 Path search algorithm
Step 1: Select x 1 k . For s k , if V s k contains any data center node, randomly select one data center node as x 1 k ; otherwise, randomly select a node in V s k as x 1 k , and let i = 1.
Step 2: Select x i+1 represents V x i k for notation convenience: k , · · · , x i k } does not contain any data center node. If V i k contains any data center node, randomly select one data center node in V i k as x i+1 k , let i = i + 1, go to step 2; otherwise, randomly select one node in V i k as x i+1 k , go to step 3.
Step 3: If x i+1 k = d k , let i = i + 1, go to step 2 (the current path neither contains any data center node nor reaches d k ), otherwise, go to step 4 (the current path does not contain any data center node but reaches d k . This is not a feasible path, and we have to select another path).
Step 4: Re-select the nodes after node x i k until selecting node d k by using the previous steps. If the new path is still an infeasible path (containing no data center node), re-select nodes after x i−1 k until selecting d k . Repeat this process until one feasible path is found.
B. Slot variables: Let y k = (y 1 k , y 2 k , · · · , y N F k ) denote the slot assignment on path P k for task r k , where each y i k is a boolean variable. y i k = 1 represents that task r k uses the i-th slot of each edge of path P k , and y i k = 0 means that task r k does not use the i-th slot on path P k . Let U k represent the set of tasks whose paths share a common link with path y k , i.e., y k must satisfy the following conditions: (1) The number of slots used in slot assignment y k should be equal to the number of slots required by task r k ; (2) For the same slot, it should be used by at most one task. That is, C. Function variables: Suppose the data center nodes passed successively through by P k are: The numbers of functions in r k assigned to data center nodes respectively, where z j k is the number of functions assigned to data center V k j to be realized, and the sequence of these functions assigned to the data center nodes is the same as that in r k . We call z k the function variables, which should satisfy the following conditions: The total number of assigned functions should be equal to the number of functions required to be realized in r k , i.e., where F k is the number of functions required to be realized by r k .

Objective Function Determination
A. Minimize the total length of all paths: Note that path P k corresponding to task r k has (l k + 1) edges, and its length is (l k + 1). Then, the total length of all paths is ∑ N R k=1 (l k + 1). Thus, the first objective is to minimize the following total length: Minimize the total number of slots used: The number of slots in each link of path P k for task r k is b k , and the number of links of path P k is l k (excluding the shared common links and the shared links are not computed repeatedly). Thus, the total number of slots used by all tasks is Denote y = (y 1 , · · · , y N R ). Then, the second objective is to minimize the following function Optimize the balance of loads on all data center nodes: To optimize the balance of loads on all data center nodes, the number of functions of all N R tasks should be assigned to these data center nodes as equally as possible. The index set of the data center nodes passed through by path P k is denoted by denote the index set of data center nodes used by all tasks.
For ∀c ∈ D c , the number of functions handled by data center node c is The standard deviation of the numbers of functions handled by all data center nodes is Denote z = (z 1 , · · · , z N R ). Then, optimizing the balance of load of data centers is equal to minimizing the following objective: Now our goal is to minimize the above three objectives simultaneously, i.e.,

Constraints
A. The path variable constraints: Path P k selected for task r k should pass through at least one data center node, i.e., C. Function assignment constraints:

Multi-Objective Optimization Model
By summary, we can set up the following multi-objective optimization model:

Two Evolutionary Algorithms for Solving the Model
Note that the above model is a nonlinear integer multi-objective optimization model. There is no existing algorithm for this model. We shall design two evolutionary algorithms to solve this model in this section.
The framework of the first algorithm is as follows: First, design a strategy to generate the initial population. Second, design a mutation operator. Finally, evolve the population iteratively and obtain a set of the approximate solutions. In the following, we shall introduce each part of the algorithm, respectively.

A Strategy for Generating the Initial Population
Given the population size N pop , any individual (x, y, z) in the initial population POP 0 is generated by the following Algorithm 2:

Algorithm 2 A strategy for generating the initial population
Step 1: Generate each x by using Algorithm 1.
Step 2: Generate each y = (y 1 , y 2 , · · · , y N R ) T as follows: denote Set initial matrix y = 0. Let y w 1 , y w 2 · · · , y w N R be a random sequence of y 1 , y 2 , · · · , y N R and y w denote the matrix whose rows are y w 1 , y w 2 · · · , y w N R , respectively. Set y 1 w 1 = y 2 w 1 = · · · = y b w 1 w 1 = 1, and y j w 1 = 0 for j = 1, 2, · · · , b w 1 . If path P w 2 for task r w 2 shares a link with path P w 1 for task r w 1 , set y j w 2 = 1 for b w 1 + 1 ≤ j ≤ b w 1 + b w 2 and y j w 2 = 0 for other j. Otherwise, set y 1 w 2 = y 2 w 2 = · · · = y b w 2 w 2 = 1, and y j w 2 = 0 for j = 1, 2, · · · , b w 2 . Generally, for each k ∈ {2, 3, · · · , N R }, if path P w k for task r w k does not share a link with any previous path P w j for 1 ≤ j ≤ k − 1, set y 1 w k = y 2 w k = · · · = y b w k w k = 1, and y j w k = 0 for j = 1, 2, · · · , b w k . Otherwise, let U w k denote the set of tasks whose paths share a link with path P w k for task w k . Computeȳ Assign the slots k 0 , k 0 + 1, · · · , k 0 + b w k − 1 to path P w k for task r w k , i.e, let y k 0 w k = y k 0 +1 w k = · · · = y k 0 +b w k −1 = 1, and y j w k = 0 for j = k 0 , k 0 + 1, · · · , k 0 + b w k − 1. Then, y satisfies the constraints: Step 3: Suppose the data center nodes passed successively through by path P k are: The numbers of functions in task r k assigned to data center nodes V k 1 , V k 2 , · · · , V k i k are denoted by z 1 k , z 2 k , · · · , z i k k , respectively, where z j k is the number of functions assigned to data center V k j for j = 1, 2, · · · , i k . Denote z k = (z 1 k , z 2 k , · · · , z i k k ) For each task r k , we can generate z k by randomly taking i k non-negative integers Step 4: Repeat Step 1 to Step 3 for N pop times to obtain POP 0 .

Mutation Operator
For any individual (x, y, z) in the current population POP t , the mutation operator for it is as follows: (1) Scheme of mutation for x: 1. For each x k , generatex 1 k . For s k , randomly select a node in V s k /x 1 k asx 1 k . 2. Generatex i+1 k in V i k /{s k ,x 1 k , · · · ,x i k } according to the following two cases: Case I: {s k ,x 1 k , · · · ,x i k } contains a data center node. If and letx k = (s k ,x 1 k , · · · ,x i k , x i k , · · · , d k ). We obtain the mutation offspringx k of x k ; otherwise, randomly select a node in V i k asx i+1 k . Go to step 3. Case II: {s k ,x 1 k , · · · ,x i k } does not contain any data center node. If V i k contains any data center node, randomly select one data center node in V i k asx i+1 k . Let i = i + 1, go to step 2; otherwise, randomly select one node in V i k asx i+1 k , and go to step 3.

Select
and letx k = (s k ,x 1 k , · · · ,x i+1 k , x i +1 k , · · · , d k ). Ifx k does not contain any data center node, go to step 5; otherwise, we obtain the mutation offspringx k of x k .
5. Re-select the nodes after nodex i k until selecting node d k by using the previous steps. If the new path is still an infeasible path (containing no data center node), re-select nodes after x i−1 k until selecting d k . Repeat this process until one feasible path is found.
(2) Scheme of mutation for y: Randomly change two elements of y w 1 , y w 2 · · · , y w N R , and obtain the mutation offspringȳ of y by step 2 of Algorithm 2.
(3) Scheme of mutation for z: Generate the mutation offspringz of z by step 3 of Algorithm 2.
Note that the offspring (x,ȳ,z) of (x, y, z) generated by the above schemes satisfies all constraints of the model. Let O t denote the set of offspring of POP t .

Selection Operator
We select the next generation population POP t+1 among POP t ∪ O t by using the selection operator in NSGA-II [22].

The First Evolutionary Algorithm for the Model
The first proposed algorithm is the following Algorithm 3:

Algorithm 3 An evolutionary algorithm for the model
Step 1: Given the maximum generation number N gen and population size N pop .
Step 2: Generate initial population POP 0 by using Algorithm 2, and set t = 0.
Step 3: Mutation. For each individual (x, y, z) in the current population POP t , execute the mutation operator on it to generate its offspring (x,ȳ,z). All offspring (x,ȳ,z) form an offspring population O t .
Step 4: Selection. Select the best N pop individuals among POP t ∪ O t to form the next generation population POP t+1 by selection operator. Set t = t + 1.
Step 5: If t ≥ N gen , the non-dominated set of POP t is the approximate Pareto optimal solution set. Stop. Otherwise, go to Step 2.

The Second Evolutionary Algorithm for the Model
The second proposed algorithm is the following Algorithm 4:

Algorithm 4 Another evolutionary algorithm for the model
The steps of Algorithm 4 are the same as those of Algorithm 3 except for the replacement of Algorithm 1 in Algorithm 3 by the following Algorithm 5 to generate path variable The proposed algorithm for generating path variavles in Algorithm 4 is as follows:

Algorithm 5 Strategy for generating path variable x
Step 1: For each task r k , randomly select i k data center nodes, and their random sequence is denoted by D k = k 1 , k 2 , · · · , k i k .
Step 2: Use the Dijkstra algorithm [23] to obtain the shortest path from s k to k 1 , recorded as Path1 : s k → · · · → k 1 .
Step 3: Use the Dijkstra algorithm to obtain the shortest path from k i k to d k , recorded as Path3 : k i k → · · · → d k .
Step 4: Use the Dijkstra algorithm to obtain the shortest path between each pair of two adjacent data centers k i and k i+1 for i = 1, 2, · · · , i k − 1. This path is denoted by p (k i ,k i+1 ) for i = 1, 2, · · · , i k−1 . Connect these paths successively to obtain a path through data center node sequence D k = k 1 , k 2 , · · · , k i k : Step 5: Connect the tail node of Path1 with the head node of Path2, connect the tail node of Path2 with the head node of Path3, and then obtain the path {Path1 → Path2 → Path3} of task r k . Denote this path by (s k , x 1 k , x 2 k , · · · , x n k k , d k ), and briefly denoted as x k = (x 1 k , x 2 k , · · · , x n k k ) T by removing start node s k and end node d k . Let x = (x 1 , x 2 , · · · , x N R ) T denote the matrix whose rows are all paths for all tasks.

Experimental Environment and Parameters
All experiments are conducted on Windows 11 with 16 GB memory, R7-5800H 8 core CPU, 3.2 GHz by using Python 3.7. The experimental tool is PyCharm IDE. Four types of networks are used in the experiments: USANET [10], NSFNET [24], CHNNET [25], and ARPANET [25]. For the details of network topology and other information, please refer to [10,24,25]. The parameters are given in Table 1. The experiments are divided into four groups. Each group is for one type network and contains four cases according to different numbers of tasks denoted by N R and the To test the stability of the model and algorithms, for each case, the experiments are conducted 10 times, and the mean results are recorded and compared. In the experiments, the population size N pop = 50 and the maximum generations N gen = 100.

Comparison of Algorithms 3 and 4
Because the proposed model is a novel one, there is no existing algorithms for the proposed model, we cannot find any suitable existing algorithm as the compared algorithm. We compare the proposed Algorithms 3 and 4 in the experiments.

Performance Measures and Results
In the experiments, we adopt two performance measures: U-measure and C-measure. 1) U-measure [26]: This metric represents the uniformity and wideness of the Pareto front, which is usually a surface in three-dimensional space. This measure can be calculated by the following three steps: (1) Determine the boundary of Pareto front.
(2) Determine the nearest neighbors of each Pareto solution in objective space.
(3) Calculate the standard deviation of the distances among the nearest neighbors. Note that the smaller the U-measure, the better the solution set. For the detail of U-measure, please refer to reference [26].
2) C-measure [27]: This metric compares the convergent quality of two solution sets. It represents the percentage of solutions in solution set B dominated by solutions in solution set A. Its definition is as follows: In the C-measure, for notation convenience, we use A to represent the solution set obtained by Algorithm 3 and B the solution set obtained by Algorithm 4, respectively. In addition, use C AB and C BA to represent C(A, B) and C(B, A), respectively, where For each case of one type network, the mean value and standard deviation of each metric in 10 independent runs are recorded. These results are given in Tables 2 and 3, where  each table records the results for one measure on 16 cases of 4 types of networks. For U-measure, it can be seen from Table 2  networks. This illustrates that both algorithms perform well. In addition, note that the standard deviation values for two algorithms are relatively small. This indicates that both algorithms are robust and perform stably.
For C-measure, it can be seen from Table 3 that Algorithm 3  By summary, Algorithm 3 performs better than Algorithm 4 in most cases for all types of networks by using two performance metrics. However, both algorithms can obtain well distributed solution sets.

Discussion and Future Works
Task scheduling and resource allocation in an elastic optical network is an important and challenging problem. Different providers and customers may have different requirements. With the increase of numbers of tasks and VNF, the problems will become more and more difficult. This is very challenging to design efficient algorithm for the model. However, the proposed multi-objective optimization model in this paper can well satisfy these multiple requirements of both providers and customers as most as possible, and the designed algorithms can solve the model well. In addition, it seems that the proposed algorithm is still effective and efficient with the increase of the numbers of tasks and VNF. However, the limitation of this work is mainly that, when the links of networks are sparse and there are too many tasks, the performance of the proposed model and algorithm will decrease. In addition, the task scheduling and resource allocation in the elastic optical network involves too many issues except for routing, spectrum allocation, VNF deployment, and load balance of data centers. In the future work, it is necessary to study how to set up a new model with more objectives (many objective optimization model) to tackle more issues and satisfy more requirements for service providers and customers in addition to how to design more efficient algorithms for the multi-objective optimization model.

Conclusions
In this paper, we set up a new multi-objective optimization model for task scheduling and resource allocation problem in elastic optical networks. By using this model, both the total length of paths for all tasks and the totally occupied spectrums can be minimized, which illustrates that the lowest amount of resources are consumed. In addition, the loads on all data centers can be mostly balanced, which illustrates that the efficiency of the network is the highest. Thus, the new model is effective and efficient. To solve the model, we design two new effective evolutionary algorithms. The experiments conducted on up to 16 cases of 4 types of widely used networks have indicated that the proposed algorithms are effective.