Optimized resource allocation problem 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 &amp; User1 &amp; User2 &amp;  User3 \\ f1 &amp;0.01 &amp; 0.05 &amp; 0.3\\f2 &amp; 0.12 &amp; 0.045 &amp; 0.02 \\ f3 &amp;0.02 &amp; 0.01 &amp; 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.
Your problem is called an assignment problem. Check out the Hungarian algorithm. Instead of average BER cost you can minimize total cost as it gives the same optimal solution.