0

I need to come up with a solution for a rather, odd situation. Let's say I have an $M \times N$ matrix called ${\bf A}$, and I would like to solve it for ${\bf x}$ where $b_1 \le {\bf A} {\bf x} \le b_2$. However I also need to be able to put an upper and lower bound on each value in ${\bf x}$. Any suggestions? Linear programming is giving me some help, and doing well with $b_1$, but I'm having difficulty placing upper bounds on $b_2$.

Daniel
  • 115
  • 6
  • ...and you want to use Mathematica to solve this problem? – J. M.'s missing motivation Mar 05 '16 at 04:16
  • That would be ideal. As it has far too many variables to do by hand. I've managed to cut it down to the 59 most important variables, but if I can get it working I would like to scale it up to over 100 in the future. – Daniel Mar 05 '16 at 04:18
  • I should clarify, by linear programming I mean the Linearprogramming function within Mathematica. – Daniel Mar 05 '16 at 04:20
  • @david I'm not sure about your edit. Take a look at b1<=A*x<=b2 .... if you get pinged .) – Dr. belisarius Mar 05 '16 at 08:48
  • I collected some examples about how to use LinearProgramming here (http://mathematica.stackexchange.com/a/108655/16267). If you just want a feasible solution, without minimizing anything, you can use a zero cost vector (first argument). If you want to enforce a set constraints like $\mathbf{b}_1 \le \mathbf{Ax} \le \mathbf{b}_2$ you should double the constaints as $\mathbf{Ax} \le \mathbf{b}_2$ and $- \mathbf{Ax} \le -\mathbf{b}_1$ (second and thrid arguments). If you also want to put a lower/upper bound on each $\mathbf{x}$ component you should use the 4th argument. – unlikely Mar 05 '16 at 14:10

1 Answers1

2

Maybe

LinearProgramming[
 ConstantArray[0, Last@Dimensions@A],
 ArrayFlatten[{{A}, {-A}}],
 Join[b1, -b2]
 ]

?

unlikely
  • 7,103
  • 20
  • 52