How can I minimize a function, which contains an inner minimum. Below is an example. I understand that I can start from defining a new variable x4=min(c1*x1, c2*x2, c3*x3)
, then add new constraints x4<=c1*x1, x4<=c2*x2, x4<=c3*c3
. But this is obviously not correct because a x4
that is smaller than those terms above is not necessarily the minimum
of them(actually any x4
that is smaller than the minimum will satisfy the constraints above). How should I reformulate this to make it correct? Thank you.
Minimize
(c1 * x1) + (c2 * x2) + (c3 * x3) + (c4 * min(c1*x1, c2*x2, c3*x3))
subject to
#some arbitrary linear constraints:
x1 >= ...
x1 + 2*x2 <= ...
x3 >= ...
x1 + x3 == ...