The parameters defined in the last section are included in constraints and objective functions, and once the values of these parameters are determined, the objective functions are only influenced by the defined decision variables. Consequently, we can resort to heuristic algorithms to solve the energy- and wavelength- minimized traffic grooming problem. To formulate the traffic grooming, we introduce the sub-wavelength as the intermediate granularity between the basic requests and wavelengths. Consequently, the traffic grooming problem can be formulated as a two-phase ILP problem, i.e., the first phase for TAASA and the second phase for SG. For analytical derivation, we regard the two-phase traffic grooming as a multivariate matching process. Specifically, the connection requests, sub-wavelengths, and wavelengths are three sets of players to be matched with each other to minimize the energy consumption and the used wavelengths, while the interdependencies exist among the requests due to the flow aggregation mechanism. It enables us to solve the two-phase ILP problem by utilizing the matching algorithm.
3.1. Traffic Aggregation and Sub-Wavelength Assignment Algorithm
(1) Definitions: The collection of all traffic requests is denoted by , and the corresponding path set can be expressed as . Noting that there is more than one path available for a request, thus we have , where the l1, l2, and l3 represent the shortest, the second shortest, and the third shortest path, respectively. The requests can be divided into M nonoverlapped groups, i.e., where and the corresponding paths satisfy . The requests within a group will be aggregated into a sub-wavelength. For any two groups and , where , the preference indicates that the request is willing to be a part of group , rather than group .
(2) Preference relation: Since the traffic transformation contributes to the major energy consumption, the preference of any request depends on the total used energy. Therefore, we denote the matching utility of the traffic aggregation as below.
Our target is to minimize the total energy consumption meanwhile meeting the constraints
C1~
C7. Therefore, the preference of the request improves when the matching utility increases. Requests can swap among different groups if less energy consumption can be actualized. The swap operation of any request is decided by the strict preference. By compare-and-swap operations, the preference of all requests will reach and keep a final equilibrium state where the minimum energy consumption is achieved. For any request
in group
, the preference is defined as below.
where
is the matching utility of the traffic aggregation in group
, which satisfies
and
. In this situation, the sum energy consumption of all connection requests in group
and
is strictly decreased if the request
moves from group
to group
. If the sum energy consumption of all connection requests in the changed groups is increased, the request
tends to stay in the current group
, as shown below.
(3) Algorithm design for TAASA
If the connection request is proposed by more than one sub-wavelength, it will select the sub-wavelength with the minimum sum energy consumption from the candidates and reject others. The objective of the matching algorithm is to search the matching pairs, and the key operation encompasses proposing phase and rejecting phase. In the scenario of traffic aggregation, each sub-wavelength is allowed to propose to more than one connection request so long as the minimum total energy consumption is guaranteed.
Based on the defined preference relation, each connection request can decide the swap operations for different groups. To quickly obtain the matching results, each unmatched sub-wavelength
proposes to an unmatched connection request
to match with, which satisfies
The whole matching algorithm for traffic aggregation is presented in detail as Algorithm 1. At first, connection requests are allocated to different groups according to the path affiliation. Then, the proposing and rejecting operations are performed to aggregate all the connection requests into different sub-wavelengths. The following compare-and-swap operations ensure that each connection request is aggregated into the target sub-wavelength. The iterations will not stop until no connection request is willing to be a part of other groups anymore.
Algorithm 1: TAASA algorithm |
Input: Sets of connection requests and its corresponding paths , sub-wavelengths (groups) , and the matching utility function . |
Output: Matching pairs between connection requests and sub-wavelength. |
1. Initialization |
2. Allocate all connection requests initially to groups according to the path affiliation. |
3. Proposing and rejecting |
4. while at least one connection request is unmatched do |
5. Sub-wavelength proposes to connection request according to (12). |
6. if connection request is proposed by more than one sub-wavelength then. |
7. Connection request selects the sub-wavelength with the minimum sum energy consumption from the candidates and rejects other proposals. |
8. else |
9. Connection request is matched with the proposing sub-wavelength. |
10. Connection request is removed from . |
11. end if |
12. end while |
13. Compare-and-swap operations |
14. repeat |
15. for connection request , where |
16. for group ,where |
17. Calculate the sum energy consumption for group and . |
18. Connection request moves from group to group . |
19. Calculate the sum energy consumption for the updated group and , respectively. |
20. Compare the change of the sum energy consumption. |
21. if the sum energy consumption decreases by the swap operation |
22. Connection request n stays in group . |
23. else connection request n moves back to . |
24. end if |
25. end for |
26. end for |
27. until no connection request is willing to be a part of other groups. |
28. return the sets of matching pairs. |
3.2. Sub-Wavelength Grooming Algorithm
After obtaining the matching pairs, we can construct the sub-wavelength units which can be denoted by
, where
represents that a group of connection requests is aggregated into sub-wavelength
i. The path set of the sub-wavelength units can be expressed as
, where
. To decrease the number of wavelengths, several sub-wavelengths are groomed into the same wavelength so long as the path affiliation
is satisfied. We define the wavelength set as
, and hence the wavelength-minimized problem can be transformed into
where the
is the number of idle wavelengths after the sub-wavelength grooming. Through the transformation, the binary variable
can be eliminated and the analytical derivation is greatly simplified. In addition, the flow conservation limitation is converted into the path affiliation problem, as shown in (15). The SG algorithm is implemented by establishing a matching
which serves a mapping between
and
, so that for each sub-wavelength
and each wavelength
, we have: (i)
if and only if
; (ii)
and
; (iii)
and
. Specifically, each matching pair is denoted by
, satisfying the flow conservation constraints. We aim at finding a matching such that the consumed wavelengths can be minimized.
Given a matched sub-wavelength unit
, it prefers to be aggregated to form a new pair
with more energy consumption and less used wavelengths. Therefore, we construct a preference matrix
to depict the mutual effect. Each element in
is defined as
where
and
are the preference parameters. We then say that a sub-wavelength unit
prefers
to
if
, i.e.,
The attitude of each sub-wavelength unit towards the potential matching pair is influenced by the preference parameters and . When , the sub-wavelength unit tends to minimize the total energy consumption. When , the unit only caters to minimize the number of wavelengths. Accordingly, reflects a neutral state where the tradeoff between the total energy consumption and the number of used wavelengths can be achieved.
After obtaining the preference relation, a swap operation is implemented to optimize the matching structure. That is, a sub-wavelength unit tends to swap its matches with another sub-wavelength while keeping others sub-wavelength units unchanged. Specifically, for two existing matching pairs
and
which satisfy
, the swap operation is performed as
The whole sub-wavelength grooming algorithm is detailed in Algorithm 2. In the initialization step (line 2–5), each connection request is matched with a sub-wavelength. After that, the path affiliation is reconstructed, and the preference matrix is established. The following swap operation (line 7–19) targets finding a stable matching
. There are multiple iterations in each of which both the compare and update operations are performed. The iterations will not stop until the total number of wavelengths remains unchanged by the swap operation.
Algorithm 2: SG algorithm |
Input: Sets of connection requests and its corresponding paths , sub-wavelengths (groups) , and wavelength . |
Output: A stable matching . |
1. Initialization |
2. Perform Algorithm 1 to obtain the optimal sub-wavelength unit . |
3. Reconstruct the path affiliation . |
4. Calculate and construct the preference matrix . |
5. Denote an initial sub-wavelength unit and wavelength as and , respectively. |
6. Swap operation |
7. Repeat |
8. Select a matching pair satisfying the path affiliation. |
9. if , and is feasible, then |
10. Execute the swap matching and set . |
11. else keep looking for a feasible matching. |
12. Select two pairs and |
13. if , then |
14. Execute the swap matching and update . |
15. else implement the swap matching and update |
16. end if |
17. end if |
18. Update , , and |
19. Until the total number of wavelengths remains unchanged by the swap operation. |
20. Return the stable matching . |
3.3. Property Analysis
The TPTG_MA is composed of the TAASA algorithm and the SG algorithm. In this subsection, the properties of the proposed TPTG_MA are discussed, including computational complexity, convergence, and stability.
(1) Computational complexity: For the TAASA algorithm, it is assumed that
N connection requests are aggregated into
M sub-wavelength units. In the phase of proposing and rejecting, each request will choose a sub-wavelength to match with. The computational complexity can be calculated as
. Let
be the number of iterations in each of which every connection request needs to visit
sub-wavelength unit due to the compare-and-swap operations. Consequently, the total computational complexity of the TAASA algorithm can be expressed as
. For the SG algorithm, there are
combinations of matching pairs. In the initialization phase, we need to construct the sub-wavelength unit utilizing the TAASA algorithm. Assuming that the outcome of the SG algorithm remains unchanged after
iterations, the computational complexity of the SG algorithm can be calculated as
. Therefore, the computational complexity of the proposed TPTG_MA can be expressed as
(2) Convergence and stability: In the TAASA algorithm, we allocate all connection requests to groups according to the path affiliation, which implies that the number of sub-wavelengths available for a request is limited. During the compare-and-swap phase, the moving of a single connection request from one group to another will influence the total energy consumption. When the minimum energy consumption is achieved, the connection request will not move anymore, and the matching structure remains stable. Therefore, the convergence and stability of the TAASA algorithm can be guaranteed. In the SG algorithm, the constraints, i.e., (i) and ; (ii) and ; (iii) the is feasible, and are not violated after the swap operation. Hence, a stable matching will be obtained after several iterations.