Quadprog solver not following constraints
이전 댓글 표시
Hello!
I am working on a project where I use quadprog to solve an optimization problem for a model predictive controller (MPC). I am trying to apply very simple bounds to the optimization problem but it does not seem to be working.
Here is a snippet of my code:
for i =1:2*iC
lb(i,:)=-50000;
ub(i,:)=50000;
end
duf = quadprog(H,F,[],[],[],[],lb,ub);
The for loop ensures that lb and ub are the same size as duf. However, when I run the program, quadprog seems to simply ignore the constraints. Am I missing something simple? Thank you!
댓글 수: 2
Nathan Batta
2020년 9월 14일
We need a description of what you actually see. What indications do you see that the bounds are not obeyed? How much larger is the violation than the ConstraintTolerance parameter? Also, please attach a .mat file containing H, F, lb, and ub so that we can run the optimization ourselves and try to reproduce your output.
답변 (1개)
Abdolkarim Mohammadi
2020년 9월 2일
편집: Abdolkarim Mohammadi
2020년 9월 2일
Your bounds are the same for all of the variables, so they can be defined easier:
lb = -5e4 * ones(1,2*iC);
ub = 5e4 * ones(1,2*iC);
댓글 수: 3
Nathan Batta
2020년 9월 2일
Abdolkarim Mohammadi
2020년 9월 3일
Have you tried increasing the MaxIterations option?
Nathan Batta
2020년 9월 3일
카테고리
도움말 센터 및 File Exchange에서 Model Predictive Control Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!