This section is devoted to the power allocation which maximizes the rates under individual power constraints on the source and the relay respectively:

First, note that for the optimum power allocation with individual power constraints, it might happen that constraint (28) is inactive for certain values of channel parameters, but constraint (4) will always be active. In other words, at the optimum, the full available power will always be used at the source, while some of the power available at the relay may not be used. This can be explained using simple intuitive arguments. Assume a solution is found such that is not fully used. The rate can be further increased by allocating the remaining source power to a carrier in set or in set . For the relay power, things may be different. For instance, it may even happen that all carriers are allocated to the set in which case the relay does not transmit at all. One way to take this particular case into account is to perform a first optimization (called first step hereafter), trying to allocate the source power in an optimum way, not considering the constraint on the relay power. After this allocation process of the source power, one has to check whether the relay power is sufficient or not. If it is sufficient, then the optimum solution corresponds to this particular situation in which the full relay power is not used. If not, it can now be assumed that the relay power constraint is satisfied with equality at the optimum, and the full iterative method explained below should be used. Let us first describe the first step.

### 4.1. First Step

Again, we analyze the two protocols separately.

#### 4.1.1. Protocol P1

The problem in this case is still to maximize (3) where it is now assumed that the constraint on may not be active. This means that there is enough relay power such that for a relayed carrier , can always be made large enough to have

As discussed above, the constraint on the source power being saturated the associated Lagrange multiplier may be different from . Here we investigate a solution for the case where the relay power is not saturated and the related Lagrange multiplier is then . The corresponding Lagrange function can be written as:

In agreement with the indicator variables used above, when carrier should be allocated to set . In the reverse case, it should be allocated to set . Once the assignment is known, taking the derivative with respect to with and equating it to , it comes

For a carrier in the other set, , we get

Hence the problem can be solved by means of a waterfilling procedure, where the container is built from values in set , and values in set . With such an allocation procedure, the minimum power required at the relay is given by where . If this value is below the power available at the relay, the problem is solved. This would correspond to a situation where the relay is located far away from the source, and, in a sense, not very useful for the protocol used here. Otherwise one has to investigate the situation where both power constraints are active (saturated), which is of most interest.

#### 4.1.2. Protocol P2

The corresponding Lagrange function can be written:

Taking the derivative with respect to with and equating it to , it comes

For a carrier in the other set, ,

So the conclusions are similar to those drawn for protocol P1. The problem can again be solved by means of a waterfilling procedure, where the container is built from the values , and the values in set . However it has to be noted that for the values related to set those values have to be used twice because of the two time slots. Besides that, the reallocation procedure has to be implemented: it has to be checked whether any of the carrier allocated to set receives an amount of power above a certain threshold. If this happens, carriers have to be moved from set to set , and the waterfilling has to be applied till this no longer happens, as explained above. The value to be used for the threshold is similar to (22), where has to be used instead of .

### 4.2. Second Step

A second step is needed unless the power used at the relay by the procedure described in the first step is below the available relay power. Two Lagrange multipliers, ad , now have to be used for the power contraints. One element in the direction of the solution lies in the observation [12] that the rate only depends on the products of powers and (possibly modified) channel gains. Hence allocating power to a carrier with gain provides the same rate as allocating power to a carrier with gain . Let us assume for the moment that the optimum and are known. The allocation rules proposed above to define the sets and should be revisited with gains modified as: ; and . The equivalent powers under consideration are now and .

#### 4.2.1. Protocol P1

Let us define the following Lagrangian:

It is interesting to compare this Lagrangian with the one given by (5). Actually they both have the same structure. The first difference is that (5) is based on 's and 's while (36) is based on 's and 's. Assuming that and are known, and thanks to the use of the modified gains and powers, the individual power constraints give rise to a single sum power constraint. The associated Lagrange multiplier now has to be equal to .

Based on these observations, it turns out that for fixed and all the results derived in Section 3 apply to our problem with individual power constraints, and to the powers and the gains that have been properly normalized. In particular it can be concluded that for the carriers using the relay, the decode-and-forward constraint will be saturated, leading to . Hence and should be allocated simultaneously leading to a total power denoted by where

Considering that , we also have

Therefore, omitting the indicators, the Lagrangian can be rewritten as

Carrier should be placed in set if

Based on the above, and relations (14) to be adapted with and it turns out that the selection rule when amounts to choosing when or when

and vice-versa. Therefore, the allocation procedure of the carriers turns out to be equivalent to that in the sum power case, with properly modified channel gains.

There is however one important exception to this rule which is related to the particular case where the equality holds. It has been assumed previously that this particular case needs not being investigated as it is very unlikely to happen. This applies for the sum power constraint. However, in the case of individual power constraints, the procedure is now working with the modified values which are no longer given but depend on the Lagrange parameters and . It may happen (and has been encountered for some of the channels randomly generated) that the optimal values of these Lagrange parameters are such that the equality is exactly met on some carriers (usually at most one). This particular situation needs a few additional developments and adjustments which have been presented in [15] and will not be repeated here.

For a carrier belonging to the set , the rate gain and optimality conditions are given by

This leads to

For a carrier belonging to the set , the gain and optimality conditions are given by

The corresponding power allocation is given by

So far, we have assumed that and were known. In fact there is a single pair for which the two power constraints are simultaneously fulfilled. To find this pair, the following algorithm is proposed. The idea is to scan all possible assignments to sets and . For carriers such that , as discussed above, the carrier will be assigned to set . For the other carriers, with , relaying may be considered. Equation (41) says that the assignment of a carrier candidate for relaying depends on the ratio . By sorting the carriers candidates for relaying by decreasing order of the ratios , all possible assignments can be considered. As a matter of fact, if a single carrier gets relayed it will be the first one in the sorted set. If two get relayed, it will be the first two, and so forth. Therefore, by considering all possible sets of first carriers in this sorted set, all possible assignments can be investigated. We have as many situations to consider as we have carriers being candidates to be relayed. For each situation, the assignment to sets and is fixed. For a fixed assignment, the optimization problem to be solved is convex. The corresponding dual problem is also convex. The dual problem can be solved by taking the derivatives of the dual objective with respect to and , and equating these derivatives to zero. The values of and solving these equations can be entered in the primal problem, and the optimum power values can be obtained. The problem is that the equations to find the optimum and are nonlinear. They can be solved for instance in an iterative manner.

These derivatives with respect to and correspond to the two power constraints that have to be fulfilled. Hence any classical method known to find the roots of a function (here the derivatives with respect to and ) can be used. A typical method used is the so-called "subgradient method" where the correction to the Lagrange variables and at step is made proportionally to the error on the constraints. Here we try to improve this classical method by using a Newton-Raphson algorithm where the first derivative of the objective function (here the objectives are the constraints) is also used. A Newton-Raphson approach is known to have quadratic convergence, and to always converge for a convex objective function. At iteration , the power prices and are updated according to

This Newton-Raphson procedure is thus to be repeated for each one of the possible assignments.

#### 4.2.2. Protocol P2

Adapting the results of the previous subsection leads to the following Lagrangian with the modified gains and powers:

For a carrier belonging to the set , the rate gain and optimality conditions are given by

which leads to

For a carrier belonging to the set , the gain and optimality conditions are given by

The corresponding power allocation is given by

Equations (49) and (51) also show that the powers are given by a waterfilling procedure with a common water level or a common power constraint, and containers defined by these equations. The problem is again equivalent to the sum power case and the procedure defined for the maximisation problem in Section 3.2 can be reused. The have to be replaced by , and the by . The comments about the allocation of the carrier to set or are the same as in the case of protocol P1. Recall also that the reallocation step has to be implemented. The Newton-Raphson procedure for the updating of and is similar to that used for protocol P1.