How can I model my objective function for optimization? in quadprog

x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7)+0.3*x(5)^2+0.3*x(6)^2+0.3*x(7)^2
If someone know please help.
Thank You.

 采纳的回答

As the function reference page for quadprog states, the objective function in terms of the matrices H and f is
1/2*x'*H*x + f'*x
You have a 7-dimensional x. So f = ones(7,1) for the first seven terms of your sum. Then you have three terms for quadratic terms. Take
H = spalloc(7,7,3); % Sparse 7-by-7 array with 3 nonzero entries
H(5,5) = 2*0.3;
H(6,6) = 2*0.3;
H(7,7) = 2*0.3;
The reason you multiply those entries by 2 is because of the 1/2 in the definition of the quadprog objective function.
Alan Weiss
MATLAB mathematical toolbox documentation

5 个评论

thank you.
it would be 4 nonzero entries, instead of three.
and also
can i solve this objective function with the help of quadprog..
{x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7)+0.3*x(5)^2+0.3*x(6)^2+0.3*x(7)^2)/{x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7)+x(8)+x(9)+0.3*x(5)^2+0.3*x(6)^2+0.3*x(7)^2+0.3*x(7)^2+0.3*x(9)^2).. Can i create a different function file in quadprog.?
It looks like you have a quotient of two quadratics there. The answer is no, quadprog does not address a quotient of quadratics. For that, you can use fmincon or fminunc.
Alan Weiss
MATLAB mathematical toolbox documentation
okay. I have used fmincon but it doesn't returns integer argument. like MILP. is there another solver for quadratic objective function.
I don't know what you are trying to do exactly. You could look at a Mixed-Integer Quadratic Programming example. There are more examples of this type of problem in Financial Toolbox documentation.
Alan Weiss
MATLAB mathematical toolbox documentation

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Quadratic Programming and Cone Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by