[Math] For Ax = b, x and b unknown vectors, how to solve the x that maximizes min(b_i)

linear algebralinear programming

Given a matrix $A$, each element $A_{i,j} \geq 0$, find the vector $\vec x$ that maximizes the minimum element in $\vec b$ ($\vec b = A \vec x$). Note that this is not a linear equation system as I don't know $\vec b$.

Extra contraints on the solution are $x_i \geq 0$, and $\sum x_i = 1$.

Is this possible to solve, and if so, how? Can it have 0 or more than one solution?

Best Answer

This is a linear program. Put down the contraints $r \leq b_i \ \forall i$, together with all the linear constraints you have above, and maximize $r$. All the constraints are linear, so linear programming will do this. There are tons of linear programming packages (Mathematica and MATLAB have decent ones), and there should be some good introductory material on linear programming on the web that is better than anything I would write here, so I'll let you look for that.

Linear programs can in general have a lots of solutions (although they're all on one face of a polytope), or they may have no solutions. In this case, it certainly has at least one solution (see the compactness argument in the comments), but it mgiht have many.

Related Question