• 沒有找到結果。

+ + + +

=T T T T T T

T 2 4 5 7 2

n 1

n PE PE PE PE

clock PE (3.15)

where i

PEn

T and TPEj denotes the time complexity of executing PEin and PEj, respectively, and 2 represents the time needed for writing data into and reading data from registers. T Note that the action of writing data into the three registers in the critical path occurs simultaneously. Therefore, writing data into three registers only counts for one T . Similar reasoning applies to reading data from these registers. Hence, the computation time of the proposed DPG algorithm is

clock max

max j T

t

K⋅ ⋅ ⋅ (3.16)

3.2 The Ordinal Optimization Theory Based Four-Stage Approach

To obtain a good enough solution of the considered problem, (2.3), while using limited computation time to meet the real-time application requirement in the OFDM system, we employ an OO theory based four-stage approach as presented in the following.

3.2.1 Stage 1: Reduce the Search Space of Subcarrier Assignment Using Continuous Optimal Solution Based Model

Intuitively, a true solution that is neighboring to the optimal solution of the continuous version of the considered problem may be a good enough solution. However, all the possible subcarrier assignment ρk,n, k =1,...,K, n =1,...,N,are neighboring to the optimal continuous solution, which is denoted byρk*,n. Wong et al. in [3] chose the closest one, which, however, may cause infeasibility, and even if it is feasible, there is no guarantee that it is a good enough subcarrier assignment. Thus, in this stage, we will reduce the subcarrier assignment patterns by excluding all the ineffective subcarrier assignments based on our solution process for obtaining the approximate continuous optimal solution of (3.1). As indicated previously,

,..., max

), 1

( 1

0 σ σ j

σ = is a decreasing sequence of σ such that σ j+1 =ησ j . We let ρk*,n(σ j) denote the optimal continuous ρk ,n of (3.2) when σ =σ j . Then we claim that subcarrier n is inappropriate to be assigned to user k if ρk*,n(σ j)= 0for every j=0,1,..., jmax. The reason

for this is simple as stated in the following.

We let ρ*k′,n(σ)denote the largest ρk*,n(σ) among all k=1,...,K for the given n. The term in the objective function of (3.2) regarding σ is

∑∑

= =

N n

K k

n k

1 1

2

2ρ,

σ . The sensitivity of this term

with respect to ρk*,n(σ) is σρk*,n(σ). Suppose we increase σ by σ , then the decrease of )

* (

, σ

ρkn by the amount ρk,n, where we assume ρk,n >0, will cause an approximate extra-reduction of the objective value due to the increase of σ by ρk*,n(σ)σρk,n. Thus, decreasing ρk*,n(σ), will be most beneficial if we increase σ. This implies that increasing σ in (3.2) will force ρk′*,n(σ) to decrease. Then by the constraint 1

1

, =

= K k

n

ρk for a given n, if ρ*k′,n(σ) decreases, there must be at least one k′′∈{1,...,K},k′′≠k′, such that ρ*k′′,n(σ) will increase. Among ρ*k,n(σ),k=1,...,K,n=1,...,N, the ones with ρk*,n(σ)=0are the most possible candidates to be ρk*′′,n(σ), because the increase of such ρk*,n(σ) will cause an approximately zero increment in the objective value due to ρk*,n(σ)σρk,n = 0. Thus, if they don’t, it simply implies that it is inappropriate to assign subcarrier n to those users with

0 )

* (

, σ =

ρk n and keeping 0 while σ increases. We have solved a sequence of (3.2) with

j,

σ j=0,1,...,jmax, and obtained ρk*,n(σ j), j=0,1,...,jmax,for all k and n. Then based on the above argument, we have that ρ*k,n(σj)=0, j =0,1,..., jmax, implies subcarrier n is not suitable to be assigned to user k, because when σ j+1 increases to σ j (σ j >σj+1) but

)

* (

,n j

k σ

ρ is still 0.

Therefore, our crude model for selecting roughly good subcarrier assignment patterns in this stage can be stated as follows. We first set ρk,n =0for the (k,n)′s whose corresponding optimal continuous ρk*,n(σ)=0 for all , ,..., .

1 max

0 σ σj

σ

σ = We denote γn as the number of s

,n'

ρk that are not set to be 0 for a given n. Then there will be γn possible subcarrier assignment patterns for a given n, that means these γn nonzero ρk,n's take turns to be 1.

Subsequently, we will choose feasible subcarrier assignment patterns from the nN=1γn possible

patterns and form the set of roughly good subcarrier assignment patterns resulted in this stage.

It should be noted that checking the feasibility of a pattern, say(ρ1,1,...,ρK,1,...,ρ1,N,...,ρK,N), is simply checking whether

=

Remark 3.4: The reduction of the search space of subcarrier assignments had been reduced from K (which is considered to be the worst case and may include the infeasible patterns) N to ∏nN=1γn. Based on our simulation experience, a lot of γn's are 1.

3.2.2 Stage 2: Choose s Estimated Good Enough Subcarrier Assignment Patterns Using an Approximate Model

To evaluate the estimated performance of the feasible subcarrier assignment patterns obtained in Stage 1, we will employ an approximate model to estimate the total power consumption of each pattern as follows. For a given feasible pattern

) subcarriers assigned to and the average power consumption coefficient of user k, respectively.

We assume the requested data rate R of user k are distributed equally to the assigned k subcarriers, then the approximate power consumed by userk, denoted by ˆ ,

Pk can be

P =α Consequently, the estimated total consumed power for

the given pattern, denoted by T, will be

ˆ . We apply the above estimation process

to each feasible pattern obtained in Stage 1 and pick the s (=50) patterns with smallest T to form the estimated good enough subset denoted by SS.

Remark 3.5: Based on the surrogate model with modeling noise w, the selected s patterns

will contain at least y actual top x% patterns among the

= N n

n 1

γ with probability 0.95. There

exists a quantitative relationship between the values of s, y, x, w and nN=1γn as indicated in [12]. In general, larger s can have more y and smaller x but it will take more time for further

evaluation. Therefore, for the real-time application consideration, we set s=50.

3.2.3 Stage 3: Choose l Estimated Good Enough Subcarrier Assignment Patterns from the SS

To evaluate the s (=50) subcarrier assignment patterns using exact model is still too time consuming to meet the real-time application requirement. Therefore, we will employ a more refined model than the one used in Stage 2 to select l (=3) estimated good enough patterns from SS. The more refined model we employ here is a supervised learning Artificial Neural Network (ANN) used to evaluate the estimated consumed power of user kfor a given subcarrier assignment pattern (ρ1,1,...,ρK,1,....,ρ1,N,...,ρK,N). This ANN model is constructed off-line using 5000 input/output pairs, and the details are described below.

The data associated with user k is the data rate request R , the power consumption k coefficient α ,k ,n n=1,...,N, and the subcarrier assignment pattern regarding user k, i.e.

) ,...,

(ρk,1 ρk,N . For such a given data vector (Rk,αk,1,...,αk,N,ρk,1,...,ρk,N)T , an optimal bit allocation algorithm or the so called greedy algorithm [20] can be used to optimally allocate the bits to the assigned subcarrier to meet the data rate request while minimizing the power consumption of user k3. However, the dimension of the vector (Rk,αk,1,...,αk,N,ρk,1,...,ρk,N)Tis too large. Thus, we will employ (Rk,Nˆk,αˆk,dαk)T to characterize user k, and serve as the input vector to the ANN, where Nˆ and k αˆ had been defined in Stage 2, and k

n n k

n n k

k kn kn

d ,

1 , ,

1

, min

max

,

, α α

α ρ ρ

=

=

≡ . Consequently, the 5000 input/output pairs used to train the ANN can be obtained as follows. We uniformly select 5000 pairs of (R ,k Nˆ ) from the following k ranges:Rk ∈[5,150], 2 ]

, ˆ [

M R M

NkRk k . For each ˆ ,

N we randomly select distinct k

Nk

n n1,..., ˆ from {1,…,N}, and randomly select α from the range [0,1.5] for each k ,ni i=1,...,Nˆk. The αˆ k

3 This optimal bit allocation for each subcarrier assignment pattern is what we mean the exact model, and it is used for the ANN’s off-line training.

and dαk can be computed accordingly. Thus, we have 5000 input vectors of the form

T k k k

k N d

R , ˆ ,ˆ , )

( α α . Now for each ( , ˆ , ,1,..., , ˆ )

Nk

n k n k k

k N

R α α , we can use the greedy algorithm to compute the corresponding minimum consumed power of user k denoted by P~k

. Thus, )

, ˆ ˆ , ,

(Rk Nk αk dαk and P~k form an input/output pair. We then use the obtained 5000 input/output pairs to train a three-layer ANN. The input layer consists of four neurons, which correspond to R , k Nˆ , k αˆ , and k dαk. We use 15 neurons in the hidden layer, and each neuron uses hyperbolic tangent sigmoid [17] as the transfer function to calculate the output from the summed value of its inputs. There is only 1 neuron in the output layer corresponding to the consumed power P~k

of user k, and we use linear [17] as the transfer function. Using the above mentioned 5000 input/output pairs, we train this ANN by the Levenberg-Marquardt method proposed in [18] and [19].

Remark 3.6: In general, the more neurons, if not too many, in the hidden layer, the more accurate the ANN will be. Even though our ANN is trained off-line, more neurons in the hidden layer will increase the dimension of the arc weights thus increase the computation time for obtaining the output of ANN, which may hurt our purpose of real-time application. Since what we care here is the performance orders rather than the performance values of the tested input vectors, perfect accuracy is not necessary. Therefore, to save computation time, we select a moderate number of neurons, that is 15, in the hidden layer. In addition, there exist various activation functions such as step function, hard limiter, ramp, hyperbolic tangent sigmoid, linear,..., etc.[17]. Which function to be used really depends on the application. In our problem, we found hyperbolic tangent sigmoid and linear are the most suitable activation functions for the hidden layer and output layer, respectively. Furthermore, we found that the Levenberg-Marquardt method converges fast in training our ANN.

Once the ANN is trained, we can estimate P~k

of each subcarrier assignment pattern in SS by setting up the corresponding input (Rk,Nˆk,αˆk,dαk), feeding it into the ANN, and the output will be the estimated P~k

. Thus, the estimated total consumed power of a subcarrier

assignment pattern, denoted by ~ ,

PT in SS will be

=

= K

k k

T P

P

1

~

~ , and the l (=3) patterns with

smallest estimated P~T among the s will be the estimated good enough subcarrier assignment patterns determined in this stage.

Remark 3.7: In [24], we have simulated that using a more accurate surrogate model to evaluate s (=50) candidate solutions, the top l (=3) solutions will contain the actual best among the s with probability 0.99.

3.2.4 Stage 4: Determine the Good Enough Subcarrier Assignment and Bit Allocation

Since there are only l (=3) subcarrier assignment patterns left, we can use the exact model, i.e. greedy algorithm, to calculate the optimal consumed power P for each pattern with very T limited computation time. The subcarrier assignment associated with the optimal bit allocation corresponding to the smallest P among the three will be the good enough solution of (2.3) T that we look for.

相關文件