This is a simple question, but I'm not sure how to solve it!
Assume that we have a vector $x$ and we want $x$ to have some upper and lower limits.
$lb <= x <= ub$
Where $lb$ stands for lower bound and $ub$ stands for upper bound. Easy!
Let's say that I set some values on $lb$ and $ub$.
$[0; 0] <= x <= [5; 10]$
And now I define my other constraint:
$lba <= Ax <= uba$
Matrix A is known. I say that the lba is $[1; 0.5]$ and uba is $[5; 6]$.
And A is:
A = [3 2;
-6 5];
If I do a multiplication $A*ub$, then I should get $[35; 20]$. That's waaaay to much compared to $uba$.
That leads me to the opening question:
How can I determine the constraints by setting the initial constraints first, then change them? As you see above, $A*ub > uba$. That means ub need to be lowering down a little bit. If I say $A*lb$ , which become $[0;0]$. That means $A*lb < lba$. And I need to change $lb$ so $A*lb = lba$.
Is there a way to do that numerically?
$ lb <= x <= ub \\ lba <= Ax <= uba$
Where
$ A*ub <= uba \\ A*lb >= lba$
$uba$ and $lba$ has higher priority than $ub$ and $lb$. That means I only need to change $lb$ and $ub$. Even if I only need to change $ub$ and $lb$, they still cannot be negative. So $ub >= 0$ and $lb >= 0$ are required.