Integer Values in a Quadratic Optimization Problem

5 次查看(过去 30 天)
Hi everyone,
I am currently trying to solve an optimization problem with quadprog. My solution has to be an integer.
So far I have only seen options for linear programming, like the intlinprog solver.
Is it possible to set the solution to be integer values in the quadprog solver? And if not, how can I adress/sidestep this issue?
Best Regards
Sean

采纳的回答

Matt J
Matt J 2021-4-26
编辑:Matt J 2021-4-26
You can use ga() instead of quadprog(), if you have the Global Optimization Toolbox.
  4 个评论
Sean Shugar
Sean Shugar 2021-4-26
Hi Matt,
I was looking for a way to formulate a vectorized form of a quadratic program in the ga() function.
At the moment my cost functions looks like this
fun = @(x) x(:)'*H*x(:) + f'*x(:)
Where H is my quadratic cost matrix and f my linear cost vector. The vector x(:) is my solution.
With equality constraits and inequality constraints defined, I set up the ga() function as following
sol = ga(fun,2*N + 1,A,b,Aeq,beq,lb,ub,[],options);
At the moment I'm trying to solve other problems but this should be the correct way to define a quadratic program in the ga() function, correct?
Best Regards
Sean Shugar
Matt J
Matt J 2021-4-26
It could be, except you haven't included integer constraints in the code you've shown, which was the whole point of abandoning quadprog. Note that ga() cannot directly handle both integer and equality constraints. You would have to eliminate the equality constraints for this to work, see,

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Quadratic Programming and Cone Programming 的更多信息

标签

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by