No feasible solution found when using quadprog

Hello,
I am dealing with a large-scale convex quadratic programming with onlu inequality constraint.
In particular, H is a 1516-square matrix and A has dimension of 3038x1516.
I have used the code:
options = optimoptions('quadprog','interior-point-convex');
[x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,[],[],[],[],[],options);
but the output is:
No feasible solution found.
quadprog stopped because it was unable to find a point that satisfies
the constraints within the default value of the constraint tolerance.
I have tried to normalize the matrix A and the vector b (as suggested in a old thread) but I got the same output. Then, using the suggestions of Converged to an Infeasible Point at https://it.mathworks.com/help/optim/ug/when-the-solver-fails.html#br44i73, I have tried to let Matlab find a feasible solution using LinProg and settingthe objective function to zero. Even in this way the solver cannot find a fesible solution. But, the vector of all zeros and of all ones are two fesible points.
Any suggestions?
Thank you a lot-

8 Commenti

"But, the vector of all zeros and of all ones are two fesible points. "
What is you provide those vectors as x0?
Do you mean to use not the interior point? I have tried with 'Active-set' and 'x0' equal to zeros. But it gives me:
Exiting: the constraints are overly stringent;
no feasible starting point found.
Actually, I have checked that the ones is not fesible (I was wrong).
If you said "all zeros and of all ones are two fesible points" then if you provide them as starting point, quadprog should never "stopped because it was unable to find a point that satisfies the constraints", but of course you have to use whatever algorithm that accepts starting point.
Unless if you make a mistake in setting up your problem. It's just a way to make sure there is no problem of your input arguments passing to quadprog.
I suggest attaching a.mat file containing b and c=sum(A,2).
I have used the code:
I doubt it. The first line generates an error.
options = optimoptions('quadprog','interior-point-convex');
Error using optimoptions (line 121)
Option 'interior-point-convex' does not have a value.
Sorry, I have discovered that was an error in the matrix, and finally the output is:
Minimum found that satisfies the constraints.
Optimization completed because the objective function is non-decreasing in
feasible directions, to within the default value of the optimality tolerance,
and constraints are satisfied to within the default value of the constraint tolerance.
However, if I compute sum(A*x-b<=0), it turns out that the point is not fesible.
In the following a provide a .mat file with b and c=sum(A,2).
Bruno Luong
Bruno Luong il 7 Apr 2021
Modificato: Bruno Luong il 7 Apr 2021
Your b contain -1, so zeros is NOT feasible point either. (since A*0 is 0 vector and it is NOT <= -1)
You seem to have bug in b, or do your formulation incorrectky.
I upload again the mat file, because actually my b has 0 as minimum

Accedi per commentare.

Risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by