Appendices
for each time unit
for each node j
for each radio i
node(j).radio(i).mcs = function(node(j).radio(i).distance_from_BS);
node(j).radio(i).rate = function(node(j).radio(i).mcs);
end for i
end for j
for each technology i
for each node j
node(j).radio(i).rank = Sort(node.radio(i).mcs) % Descending order
end for j
end for i
% Assign Wi-Fi AP resources to all nodes that can connect to it
for each Wi-Fi AP i
node(j).radio(i).assigned_bw(time_unit) = total_APslots(i)/num_conn_users;
end for
% Cellular Step 1 – Assign each node α = 500K with its best radio(s)
for each node j
for each cellular radio i
sorted_radio_rank[num_technologies] = Sort(node(j).radio(i).rank);
end for i