I am from ECE background and trying to solve channel allocation problem. Let's assume I have three users and three available channels. I would like to allocate channel among them in such a way that average BER would be minimum.
For example, consider BER matrix for each user for each frequency allocation
\begin{bmatrix} User/frequency & User1 & User2 & User3 \\ f1 &0.01 & 0.05 & 0.3\\f2 & 0.12 & 0.045 & 0.02 \\ f3 &0.02 & 0.01 & 0.01 \end{bmatrix}
Now, I would like to allocate channels f1--> User1, f2--> User3 and f3-->User2, which gives least average BER (Sum of each users BER/no of users). (Note: Same frequency can't allocated to different users.)
Brute force is obliviously one solution, but I am trying to find optimized solution.