Quadratic programming with just one constraint

2 views (last 30 days)
Hi,
I have a quadratic programming problem which basically looks like
However, the equality restrictions there are only in the form , and the programm demands the matrix to be of full rank. The only constraint I want to impose is , but I don't know how to do this, since apparently I would need as many linear constraints as the . Is there a way around this?
  2 Comments
Matt J
Matt J on 21 Apr 2021
the programm demands the matrix to be of full rank.
No idea why you think so.
diego soler polo
diego soler polo on 21 Apr 2021
I tried defining $A_eq$ as ones(d) and $b_eq$ as N*ones(1,d) (d is the dimension of my space), so that every constraint equation would be a copy of the only restriction I want, and I got the following error message:
error: quadprog: equality constraint matrix must be full row rank

Sign in to comment.

Accepted Answer

Matt J
Matt J on 21 Apr 2021
Edited: Matt J on 21 Apr 2021
We may have to be given your input matrices to reproduce the problem, but since ones(1,d) is full row rank, there shouldn't have been a problem, even if it were a requirement of quadprog. As you can see in the simple example below, no errors are thrown using Aeq=ones(1,d=4):
A=rand(4); A=A*A.'; %symmetrize
c=rand(4,1);
Aeq=ones(1,4); beq=4;
lb=c*0; ub=c*0+10;
quadprog(A,c,[],[],Aeq,beq,lb,ub)
Minimum found that satisfies the constraints. Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance.
ans = 4×1
0.0000 0.0000 3.4558 0.5442
  1 Comment
diego soler polo
diego soler polo on 22 Apr 2021
Thank you. Yes, that worked. I misunderstood the notation in the reference. It works just fine.

Sign in to comment.

More Answers (0)

Categories

Find more on Problem-Based Optimization Setup in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!