quadprog output: this problem is non-convex
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Changhe
el 14 de Ag. de 2024
Comentada: Walter Roberson
el 14 de Ag. de 2024
I am trying to solve a quadratic optimization problem but quadprog keeps telling me that my problem is non-convex.
After several experiments, I found that the problem comes from the equation constraints matrix A, which is a 57250*57441 matrix.
For the following code,
[m, n] = size(A);
assert(m < n);
options = optimoptions('quadprog','Display','off');
[Pwp,fval,exitflag,output] = quadprog(speye(n), zeros(n,1), [], [], A, zeros(m, 1), [], [], [], options);
obviously the solution should be the all-zero vector. But the output still said that this is a nonconvex problem.
=============
Update: I am using matlab 2022b. Here is the link for the mat file of my matrix A:
I am sorry that it's larger than 5MB so I can only put the link here instead of directly attaching it to this post.
11 comentarios
Walter Roberson
el 14 de Ag. de 2024
All, I was counting on the fact that there was no error message, and was not checking exitflag . exitflag is showing up as -6, non-convex problem detected.
Walter Roberson
el 14 de Ag. de 2024
Unfortunately the invoked routine, ipqpsparse, is a .p file, so we cannot examine what is going on internally.
Respuesta aceptada
Matt J
el 14 de Ag. de 2024
Editada: Matt J
el 14 de Ag. de 2024
I think you probably should report it as a bug, but a possible workaround would be to approximate the original problem with inequality constraints,
b=repelem(1e-10,m);
[Pwp,fval,exitflag,output] = ...
quadprog(speye(n), zeros(n,1), [A;-A], [b;b], [], [], [], [], [], options);
0 comentarios
Más respuestas (1)
Torsten
el 14 de Ag. de 2024
Movida: Torsten
el 14 de Ag. de 2024
Maybe there are Inf or NaN coefficients in your A ? The following small example works.
A = rand(53,66);
[m,n] = size(A);
options = optimoptions('quadprog','Display','off');
[Pwp,fval,exitflag,output] = quadprog(speye(n), zeros(n,1), [], [], A, zeros(m, 1), [], [], [], options)
6 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!