Formulation of Optimization Function - MIN (SUM [ (P+X)^2 ])

1 view (last 30 days)
Dear community,
I am currently and repeatedly struggling with the formulation of an optimization function for Matlab's CPLEX API. I guess there aren't many around with distinct CPLEX experience, however, this case should basically be the same as with fmincon, linprog and other Matlab Toolbox solvers.
I am trying to formulate the following function in CPLEX syntax:
MIN (SUM [ (P+X)^2 ])
,with P being a given scalar vector in the dimension of 1x8760 and X being the variable to be optimized (same dimension).
The standard syntax however is given always as follows:
min f*x
It seems to me that this must be simple. However, I just can't find an approach here. I must confess that I have very little experience in optimization, even less with CPLEX.
Thankful for every bit of help.
Best, Mathias

Accepted Answer

Stephan
Stephan on 18 Oct 2018
Edited: Stephan on 18 Oct 2018
Hi,
i do not know CPLEX - but if i would have to do this with Optimization Toolbox i would use:
f_val = @(X)obj_func(X,P);
function result = obj_func(X,P)
result = sum((P+X).^2);
end
The function should be at the end of the script or be saved in a .m-file named obj_func.m.
The min is not needed for Optimization Toolbox, since the solvers do this by theirself. I dont know how CPLEX behaves at this point.
Best regards
Stephan
  2 Comments
Mathias Dirksmeier
Mathias Dirksmeier on 19 Oct 2018
Edited: Mathias Dirksmeier on 19 Oct 2018
Hi, sorry, I just found a proper solution. There is a specific solver to this problem:
[x,resnorm] = cplexlsqmilp(C,d,...)
I guess apart from Cplex your solution would have worked.

Sign in to comment.

More Answers (0)

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!