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 件のコメント

Bruno Luong
Bruno Luong 2021 年 4 月 6 日
"But, the vector of all zeros and of all ones are two fesible points. "
What is you provide those vectors as x0?
Elisabetta Biondi
Elisabetta Biondi 2021 年 4 月 6 日
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).
Bruno Luong
Bruno Luong 2021 年 4 月 6 日
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.
Matt J
Matt J 2021 年 4 月 6 日
I suggest attaching a.mat file containing b and c=sum(A,2).
Matt J
Matt J 2021 年 4 月 6 日
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.
Elisabetta Biondi
Elisabetta Biondi 2021 年 4 月 7 日
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 2021 年 4 月 7 日
編集済み: Bruno Luong 2021 年 4 月 7 日
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.
Elisabetta Biondi
Elisabetta Biondi 2021 年 4 月 7 日
I upload again the mat file, because actually my b has 0 as minimum

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeQuadratic Programming and Cone Programming についてさらに検索

質問済み:

2021 年 4 月 6 日

コメント済み:

2021 年 4 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by