| Algorithm 1 The MU association matching algorithm. |
| Initialization phase:, |
| 1: for do |
| 2: , |
| 3: while () do |
| 4: . Assign to the couple , , , and set |
| 5: end while |
| 6: end for Swap matching phase: |
| 7: while () do |
| 8: for do |
| 9: for do |
| 10: if then |
| 11: continue; |
| 12: else if and are both in the coverage of the BSs of each other then |
| 13: switch () |
| 14: case and belonging to the same BS and different sub-channels: |
| 15: Calculate and compare the EE of the two sub-channels before and after the swap using the power control algorithm. If the EE of the two-subchannels both improve, exchange the sub-channel, form the new couple, and set . |
| 16: case and belonging to the different BSs and different sub-channels: |
| 17: Calculate and compare the EE of the two sub-channels before and after the swap using the power control algorithm. If the EE of the two sub-channels both improve, exchange the couple, form the new couple, and set . |
| 18: case and belonging to the different BSs and same sub-channels: |
| 19: Calculate the EE of the sub-channel before and after the swap using the power control algorithm. If the EE of the sub-channel has been improved, exchange the BS, form the new couple, and set . |
| 20: end switch |
| 21: end if |
| 22: end for |
| 23: end for |
| 24: end while |