• 沒有找到結果。

Clearly (4.4) is a constrained combinatorial optimization problem with (i) hard to evaluate objective function, because the objective function {min ( )| ( )}

1 1 optimization problem, (ii) equality and inequality constraints involving integers and (iii) huge discrete solution space for ρ as long as K and N are large.

Remark 4.2: As indicated previously, the assumption (4.1) is to assume that the solution of (2.3) exists. Since (4.4) is equivalent to (2.3), the assumption (4.1) should also apply to (4.4) to assume the solution of (4.4) exists. It should be noted that no additional assumption is needed to derive (4.4) from (2.3). Furthermore, the decomposition of the objective function of (4.4), i.e.

the term inside the big bracket of (4.4), into (4.5) has nothing to do with the assumption (4.1).

This decomposition simply says that for a given feasibleρ, the optimal bit allocation for individual user is independent of each other.

4.2. The Three-Stage Ordinal Optimization (OO) Approach

The proposed three-stage OO based approach for solving (4.4), or (2.3) equivalently, consists of three OO stages as stated in the following.

4.2.1 Stage 1: Using GA to Select Top s Subcarrier Assignment Patterns Based on an Easy-to-Evaluate Approximate Objective Function

As shown in (4.5) that the objective function of (4.4) for a given feasible ρ can be decomposed into K independent optimal bit allocation subproblems. We let

=

= = denote the total number of subcarriers assigned to and the average power consumption coefficient of user k, respectively. Then, we use the following to approximate the optimal power consumed by user k, i.e. the optimal objective value of (4.5), for the givenρ.

We assume the total data rate request Rk of user k are distributed equally to the assigned Nk

subcarriers, i.e. setting

k n k

k N

c, = R for each assigned subcarrier, and assume each of the Nk

subcarriers has the same power consumption coefficient αˆk defined above, then the power consumed by user k, denoted byˆ ,

Pk can be computed by ˆ ˆ2 ( ). obtain the approximate total consumed power for the givenρ, denoted by T, by calculating

=

ˆ , which will serve as the approximate objective function of (4.4).

Then, to use GA as a global searching technique, we need to define a representation scheme to map all ρ that satisfy ρk,n{0,1} and 1 Ch.14]. Let the alphabet of the representation scheme be the set {1,2,…,K}. We define the chromosome u as a string of N symbols, u1,u2,...,uN, such that the nth symbol un , which takes an element from the alphabet, indicates the user that subcarrier n is assigned to. In other words, un =k1 means ρk1,n=1 and ρk,n=0 for all kk1. This representation scheme ensures implies that the nth subcarrier can at most be assigned to one user. However not all chromosomes u can satisfy the inequality constraints

= required number of subcarriers for user k to meet the inequality constraint is at least ⎢⎢MRk⎥⎥. We define δk(un)=1 if un =k and 0, otherwise. Thus, the number of subcarriers assigned to user

δ ( . To meet the inequality constraint, the following has to hold

preference for the k’s with same values of σk(u). Thus ( ) 0

1 u

σk implies u satisfies (4.6) for all k and is feasible.

Suppose σk1(u)<0, then u is infeasible. Such an infeasibility problem may occur to any newly generated chromosomes, resulted from initial population generation, crossover operations, and mutation operations, and can be resolved by a repair operator, which is designed to recover the infeasible chromosome to a feasible one as stated in the following.

Under the assumption that we have enough subcarriers to meet all users’ data rate request, (4.1), if σk1(u)<0, there must exist i such that σk1(u)...σki(u)<0, σkK(u)...σki+1(u)0, and

to users k ,...,1 ki in the following manner. Randomly pick the surplus subcarriers that were assigned to user kK to make up the insufficient subcarriers required by k1, that is randomly pick an um from all um’s with um=kK, and reset the picked um as um=k1. When all surplus subcarriers of user kK are reassigned, we proceed with picking the surplus subcarriers of user kK-1 and so forth. Similarly, when the number of insufficient subcarriers of user k1 is made up, we proceed with making up the insufficient subcarriers of user k2 and so forth. The above process will continue until the number of insufficient subcarriers of user ki is made up. Then the resulting u will be feasible. Based on this repair operator, we may describe the employed GA to solve (4.4) in the following.

We randomly generate I, say 200, chromosomes such that each symbol of each chromosome is assigned by an element randomly selected from the alphabet, {1,…,K}, and apply the repair operator to them. The resulting I feasible chromosomes will serve as the initial population of the employed GA. To evaluate the fitness of a chromosome u based on the above mentioned approximate total power consumption, we first compute

= chromosomes in the population pool, we use roulette wheel selection scheme to select chromosomes into the mating pool, from which we select chromosomes to serve as the

parents for crossover. The probability that a chromosome is selected as a parent is pc, say 0.7.

We apply a single point crossover scheme to the selected parents, and the generated offsprings may be infeasible as indicated previously. Therefore we will apply the repair operator to each generated offspring, and the resulting feasible offsprings will replace the corresponding parents in the mating pool. Subsequently, we will apply the mutation operation to each chromosome in the mating pool with mutation probability pm, say 0.02. Any changed chromosome after mutation operation may also be infeasible, and we will apply the repair operator to it. Consequently, the resulting chromosomes in the mating pool after the above evolution process will be the population pool of next iteration.

The above process completes one iteration of our GA. We stop the GA when the number of iterations exceeds 60. After the applied GA converges, we rank the final I chromosomes (i.e. u’s) based on their fitness values and pick the best s (=50) u’s. We can then convert these s chromosomes into the subcarrier assignment patterns ρ's in the following manner:

)

,n k( n

k δ u

ρ = for all k and n. Then these convertedρ'sare the s subcarrier assignment patterns determined in this stage, and they are feasible for (4.4).

Remark 4.3: Based on [12], larger s will consist of more actual good subcarrier assignment patterns. However, larger s may cause more computation time for further evaluation. Thus, the value of s should be determined based on the available computation budget to obtain and the required goodness of the good enough solution. In the current application, the computation time is of more concern.

4.2.2 Stage 2: Choose Top l Subcarrier Assignment Patterns From the s Based on an ANN Model

Since evaluating the s ρ's obtained in Stage 1 using the exact objective function is still too time consuming, based on [10], we can trim the candidate solution set further using a more accurate approximate objective function. Therefore, we will employ a supervised learning ANN [17] to estimate the optimal power consumed by user k and select top l (=3) ρ's from the s.

Remark 4.4: The value of l is also determined based on a tradeoff between the

computation time required to obtain and the goodness of the good enough solution.

This ANN is trained off-line using 5000 input/output pairs of data. The input data associated with user k is the data rate request Rk, the number of subcarriers assigned to user k, Nk, and the power consumption coefficient αk,ni,i=1,...,Nk, for the assigned Nk subcarriers

Nk

n

n ,...,1 . However, the dimension of the vector (Rk,αk,n1,..,αk,nNk) is large provided that Nk is large. A large ANN, i.e. an ANN consisting of large number of neurons in both input and hidden layers, will consume more computation time to obtain the output even if it is trained off-line. Although larger ANN can serve as a more accurate function approximator, what we care here is the performance order rather than the performance value. Therefore, for computation-time concern, we favor a simpler ANN. Since the values of αk,n1,..,αk,nNk may have some kind of distribution, to characterize these values without using the details, we may use the corresponding mean, αˆk, and variance,var(αk) [32]. Thus, to design a simple ANN, we will employ (Rk,Nk,αˆk,var(αk)) to characterize the input data of user k.

Consequently, the 5000 input/output pairs used to train the ANN can be obtained as follows. We uniformly select 5000 sets of (Rk,Nk) from the following ranges:Rk [5,150],

2 ] , [ M

R M

Nk Rk k , which makes Rk MNk to ensure that there are enough subcarriers to meet

the data rate request. For each Nk, we randomly select n ,..,1 nNk from {1,…,N}, then randomly generate αk,ni from the range [0,2.0] for each i=1,...,Nk. The αˆk and var(αk) can be computed accordingly. Thus, we have 5000 input vectors of (Rk,Nk,αˆk,var(αk)). Now for each ( , , , ,..., , )

1 knNk

n k k k N

R α α , the corresponding output data for training ANN is the actual optimal power consumed by user k denoted by Pk. To compute Pk, we can use the greedy algorithm [20] to solve (4.5) by optimally distributing Rk bits to the assigned Nk subcarriers one at a time based on the least incremental power consumption criteria. We then use the obtained 5000 input/output pairs, ((Rk,Nk,αˆk,var(αk)),Pk), of data to train a three-layer ANN whose structure is described in the following. The input layer consists of four neurons corresponding toRk, Nk, αˆk, and var(αk). The hidden layer consists of 15 neurons, and each neuron uses hyperbolic tangent sigmoid as the activation function. There is only 1 neuron in

the output layer corresponding to Pk, and we use linear as the activation function. Using the 5000 input/output pairs of data, we train this ANN by adjusting its arc weights using the Levenberg-Marquardt method proposed in [18] and [19]. Based on this off-line trained ANN, we can estimate the total consumed power corresponding to a ρ as follows. For a given ρ, we can compute ∑

=

= N

n n k

Nk 1

ρ , and determine

Nk

n k n k,1,..,α ,

α from the gain α for each k=1,…,K.

Subsequently, we can set up the input (Rk,Nk,αˆk,var(αk)), feed into the off-line trained ANN, and obtain the estimatedPk, denoted by P~k, from the output of ANN for each k=1,…,K. Then we can compute the estimated total consumed power, denoted by ~ ,

PT for the givenρ by

=

= K

k k

T P

P

1

~

~ . Using this off-line trained ANN, the l (=3)ρ'swith smallest P~T among the s

feasible ρ's obtained in Stage 1 are the subcarrier assignment patterns determined in this stage.

4.2.3 Stage 3: Determine the Good Enough Subcarrier Assignment and Bit Allocation

Since there are only l (=3) candidate feasible-ρ's left, we can use the exact objective function of (4.4) to calculate the objective value of each ρ. That is to solve the optimal bit allocation problem (4.5) for the given ρ using the greedy algorithm mentioned above to obtain the optimal power consumption Pk for user k=1,…,K. Then we calculate

=

= K

k k

T P

P

1

for the givenρ. Consequently, theρ associated with the optimal bit allocation corresponding to the smallest PT among the l feasible ρ's will be the good enough solution of (2.3) that we look for.

相關文件