Objective function not minimized


(WYC) #1

I’m trying to solve the following problem:

cvx_begin
variable f nonnegative

minimize 256e4.*inv_pos(f) + 1.28e-29.*pow_p(f, 3)
subject to

0 <= f;
f <= 2.8e9;

cvx_end

It has a closed form solution with value around 5e8. I tried all different solvers and still get a wrong solutions around 1e4.
This obective function is a part of my original one, so I need to get this part right. Thanks.


(Mark L. Stone) #2

The coefficients in your problem are far beyond the ability of double precision numerical solvers to correctly handle.

Either eliminate the constraint f <= 2.8e9; or change it to something like f <= 1e4 . And change 1.28e-29. to something like 1.28e-8.