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
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
2021 年 4 月 6 日
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
2021 年 4 月 6 日
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');
Elisabetta Biondi
2021 年 4 月 7 日
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
2021 年 4 月 7 日
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Quadratic Programming and Cone Programming についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!