|
Algorithm 3: Low-complexity subcarrier scheduling and user pairing scheme. |
| 1: |
Input:, U, , and . |
| 2: |
Output: Subcarrier scheduling and user pairing . |
| 3: |
Initialize: , and , where , i and denote the subcarrier mapping, ith element of and th user pairing result, respectively; |
| 4: |
Arrange the elements of in descending order, known as ; |
| 5: |
whiledo
|
| 6: |
Denote the subset of the use pairing as ; |
| 7: |
if
then
|
| 8: |
; |
| 9: |
else
|
| 10: |
; |
| 11: |
end if
|
| 12: |
while
do
|
| 13: |
Select the th element of ; |
| 14: |
Determine the 1th and 2th users; |
| 15: |
Set , is the unsaturated points; |
| 16: |
if
then
|
| 17: |
Find a new augmented branch ; |
| 18: |
; |
| 19: |
else
|
| 20: |
Calculate as (16); |
| 21: |
Record , subcarrier scheduling and user pairing ; |
| 22: |
; |
| 23: |
end if
|
| 24: |
; |
| 25: |
end while
|
| 26: |
; |
| 27: |
end while |
| 28: |
Search the maximum and corresponding subcarrier scheduling and user pairing . |