• 沒有找到結果。

Simulated-annealing URRA (SA-URRA) Algorithm

Chapter 3 Radio Resource Allocation

3.2 Utility-based RRA (URRA) Framework

3.2.3 Simulated-annealing URRA (SA-URRA) Algorithm

> MIN b k Prob(αk,n χ) k , .

Table 3.4 Notations of the Priority Function

3.2.3 Simulated-annealing URRA (SA-URRA) Algorithm

In QoS Fulfillment Phase, with the consideration of those constraints (1), (3), and (6), the searching space of the optimal subcarrier allocation problem is so extremely large that the solution of the optimization problem is not trivial. That is, examining the optimal solution for exhausted search is impossible. In this section, we adopt the simulated-annealing (SA) algorithm for the optimization problem and propose a simulated-annealing URRA (SA-URRA) algorithm.

state, was introduced. Until 1983, Kirkpatric applied SA algorithm to solve NP-hard combinational optimization problem.

In order to adapt the SA algorithm to the RRA problem, a state of the Markov chain is defined as

X=[Ψ1 Ψ2 L ΨN], whereΨn∈ΩUn for n

{

1,2,L,N

}

, (13) where Un is the candidate user set of the nth subcarrier.

The state X stands for a subcarrier allocation vector, which represents the allocated users on each subcarrier. The goal of the SA algorithm is to find an optimal state X having the maximum value of the objective function , U, which is the sum of assigned utilities.

(14) The state X also has to meet those constraints mentioned above. Futhermore, as the subcarrier allocation vector is selected, each subcarrier will be assigned the maximum allowable modulation order defined in (4).

In below, the general concept of a SA algorithm [12] is given.

Simulated Annealing ( X , 0 Tmax ){

/* Given an initial state X and an initial value for the parameters, 0 T , Tmax */

Tmax

T = ;

X0

Xi = ;

While ( Outer loop criterion is not satisfied ) { While (Inner loop criterion is not satisfied) {

j =

=

T Update(T );

}

The general form of SA algorithm involves five parameters:

(I) The function Generate(X ) is to select a new solution state i X according to the j present state X , i

(II) The function Accept (X j X , T ) determines whether the new solution state Xi j is accepted according to a acceptance function fT(∆Uij). Its structure is shown below,

Accept (X ,j X , T ){ i

/* The function returns a 1 if the cost variation passes a test.

T is the control parameter */

i

/* random is a function which returns a pseudo-random number uniformly distributed on the interval [0,1] */

If (r< y) return (1);

Else

Return (0);

}

The value Ui represents the objective function of the present state X , while Ui j represents the objective function of the next state X . The acceptance function j fT(∆Uij) is given by

(III) The function Update( T) is to decrease the present temperature T to a new lower

temperature with a decrement rate.

(IV) Outer loop criterion is used to test whether T is low enough to stop the SA algorithm.

(V) Inner loop criterion is to decide whether sufficient number of moves has been tried to reach equilibrium condition at this temperature and T is about to decrease.

Moreover, to reduce the searching space of X for the fast convergence of the SA algorithm, a threshold parameter, P , is used in the priority function. If the priority function th

) , (k n

P is lower than the priority threshold, then the kth user will not be allocated to the nth subcarrier because it is not preferable for the kth user to use the nth subcarrier. Given an appropriate setting of thresholdP , the convergence of SA method can be efficiently th achieved without sacrificing the performance of the SA-RRA algorithm.

Fig. 3.2 shows a complete flowchart of the SA-URRA algorithm, and the detail is discussed as follows.

(I) Initialization

First of all, initial temperature, Tmax, final temperature, Tmin, decrement rate of

temperature, γ, the maximum number of iteration at a temperature level, Lmax, should be set to appropriate values. Second, the initial subcarrier allocation vector X is randomly 0 selected from searching space.

(II) Selection and Comparison

The objective function U is defined as the sum of the assigned utility of all subcarriers, and the goal is to find a reasonable subcarrier allocation vector Xˆ to maximize U, which implies that maximizing the sum of assigned utilities under satisfying the system constraints (1), (3), and (6). If Xi = X0, i denotes the present state, the next state X will be selected j from the neighborhood of X . The SA method will determine whether it accepts 0 X as the j next X or not according to the acceptance function. i

X will be absolutely accepted if Uj j is larger than Ui, or it will be accepted by probability. The significant advantage of the SA method comparing to greedy algorithm is

that the SA method gives a probability to accept a worse next state, because always choosing the better next state may lead to a suboptimal solution. The acceptance function fT(∆Uij) in Fig.3.2 is the same as (15).

(III) Annealing

If the number of iteration at a temperature level reaches Lmax, then the

temperature will decrease by the decrement rate γ until the temperature reaches the final temperature Tmin. In initial stage of the SA method, higher Tmax is appropriate to increase the probability of accepting a worse next state to prevent from falling into suboptimal solution.

Moreover, high decrement rate γ reduces the tendency of accepting a worse next state quickly and makes fast convergence ; Low γ is on the contrary at the expense of convergence time.

Fig. 3.2 The Flowchart of the SA-URRA Algorithm

In Throughput Maximization Phase, the residual radio resources are allocated to NRT users. Candidate NRT User Set Construction function is used to find NRT users that still require for transmission. This function is executed only once in the beginning of this phase.

If at least one ΩUn , which is defined as the candidate user set of the nth subcarrier, is not empty, residual subcarriers are reallocated to those NRT users in the candidate NRT user set by executing NRT Subcarrier Reallocation. After that, modulation orders are initially assigned and redundant subcarriers are released by executing NRT Subcarrier Release 2.

The process will be not stopped until all ΩUn sets are empty.

If all Un sets are empty, the BS checks whether the constraint (5) is violated or not. If the constraint (5) is not violated, the whole process will be stopped. Otherwise, the function Power/Rate Allocation is executed to reduce the assignment of modulation orders and then go to END.

In summary, the Throughput Maximization Phase contains four function blocks, Candidate NRT User Set Construction, NRT Subcarrier Reallocation, NRT Subcarrier Release 2, and Power/Rate Allocation, and their pseudo codes are described as follows.

(I) Candidate NRT User Set Construction

/* The function is to construct the candidate sets for

unallocated subcarriers at the throughput maximization phase

*/

From n=1 to n=N { If (Φn=

{ }

φ ) {

From k=1 to k=K {

If (k∈ΩNRT && R(k,n)≥2) { Un

{ }

k

U

n =Ω +

Ω ; }

} } }

(II) NRT Subcarrier Reallocation

/* The function reallocates each subcarrier to a NRT user having the best utilities in each NRT candidate user set */

S

k := the candidate subcarrier set of the kth user;

From n=1 To n=N {

If (Ψn==

{ }

φ ){

Ψn:= The NRT user having the maximum U( nk, ) in Un ; ΩSΨn =ΩΨSn +

{ }

n ;

} }

(III) NRT Subcarrier Release 2

/* The function assigns modulation orders to a NRT user until the constraint (6) is violated or until the useful subcarrier sets are all empty. */

S

k := the candidate subcarrier set of the kth user;

B

nˆ:= the subcarrier having the maximum link gain of the kth user in the set kS;

(IV) Power/Rate Allocation

/* The function is separate into two steps. The first step is to reduce modulation orders until QPSK is used. The second step

is to reduce modulation order until no transmission is used.

If ( at least one subcarrier using 16QAM) {

:= the subcarrier using at least 16QAM with the worst link gain;

If (at least one subcarrier using QPSK) {

:= the subcarrier using at least QPSK with the worst link gain; combinations. Therefore, for fast searching of a suboptimal solution in QoS Fulfillment Phase, a heuristic method is proposed in this section, called heuristic-URRA (H-URRA) algorithm.

相關文件