-1

What is the best way to solve a constrained non linear optimization problem in python?

Type of problem is highly non-convex:

Maximize

A*log(1+x1)*y1 + B*log(1+x2)*y2 + C*log(1+x3)*y3 

subjected to

x1*y1 + x2*y2 + x3*y3 <= K;
l1 <= x1*y1 <= u1;
l2 <= x2*y2 <= u2;
l3 <= x3*y3 <= u3;
where xi's & yi's are variables and A,B,C,K,li's & ui's are constants

Any recommendations for the solver or the API's I should explore

1 Answers1

0

Definitely, checkout Scipy.optimize

The NonlinearConstraint functionality was basically designed for things like this. Just change your lambda function to include the relevant constraint

Also worth checking out these other answers: