# How to deal with an optimization problem that have a sum of nonlinear functions of Z as a constraint when Z is the quantity to be minimized?

I have to minimize a quantity $$Z$$ subject to the following constraints:

$$w_1 + w_2 + w_3 = 1 \tag{1}$$ $$\frac{f_1(w_1 Z) + f_2(w_2 Z) + f_3(w_3 Z)}{Z} \ge k \tag{2}$$

where $$k$$ is a known constant. $$f_1$$, $$f_2$$, $$f_3$$ are nonlinear functions that we have empirical curves for. These curves are approximately logarithmic (maybe this can help for the resolution). $$w_1$$, $$w_2$$, and $$w_3$$ are weights whose optimal values are to be arrived at. $$Z$$ does not depend on the values of $$w_1, w_2, w_3$$.

I am aware of basic linear programming techniques. However, I was unable to reduce constraint (2) into a linear constraint.

Please note that I have posted a duplicate of this question on SciComp SE.

PS: Solutions that use Python would be ideal. However, I am more interested in the approach rather than the language/package used.

• Do you also require $w$ and/or $Z$ to be nonnegative? – prubin Nov 9 '20 at 19:03
• UberMeta guidance on cross-posting to multiple SE sites: Is cross-posting a question on multiple Stack Exchange sites permitted if the question is on-topic for each site? – SecretAgentMan Nov 9 '20 at 19:31
• @SecretAgentMan Thanks for the info. Users from both sites have given me useful answers. Is it possible to merge those answers with this question? – Green Noob Nov 10 '20 at 13:19
• @GreenNoob Perhaps invite the other answerer to also post their answer here? I think avoiding this situation is why SE discourages this. My guess is a mod flag would be declined for this but you could ping a mod in the OR chat if you wanted. – SecretAgentMan Nov 11 '20 at 1:48

If well understood, w1, w2, w3, and Z are some continuous variables in your mathematical model, while k is a constant. If the functions f1, f2, f3 involved in constraint #2 are continuous and nonlinear, then the only way to proceed to solve the problem by using MILP techniques and solvers is to use piecewise linear approximations of these functions. There is a lot of literature on this. For example, you can have a look at this webpage for a short introduction.

The main drawbacks in such an approach is that:

If you are willing to take an approximate solution (no guarantee of optimality), it should be fairly easy to apply any of a number of metaheuristics to your problem. It would be helpful if, for fixed $$w_i$$, $$f_i(w_i Z)/Z$$ were monotone in $$Z$$ (with all such ratios monotone in the same direction, increasing or decreasing). If they are not all monotonic, you could probably still get at least some metaheuristics to work.