Integer Values in a Quadratic Optimization Problem

5 views (last 30 days)
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

Accepted Answer

Matt J
Matt J on 26 Apr 2021
Edited: Matt J on 26 Apr 2021
You can use ga() instead of quadprog(), if you have the Global Optimization Toolbox.
  4 Comments
Sean Shugar
Sean Shugar on 26 Apr 2021
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 on 26 Apr 2021
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,

Sign in to comment.

More Answers (0)

Categories

Find more on Quadratic Programming and Cone Programming in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!