Optimizing two vectors of different sizes
조회 수: 1 (최근 30일)
이전 댓글 표시
I am working to optimize the following problem:
r=optimvar('r',size(S,1),'LowerBound',0,'UpperBound',1);
B= optimvar ('B', size(dm,2));
p=prob2matrices({r, B},'Constraints', sum(r)<=1);
%Solving optimization problem
Roptimal=lsqlin([S', 1], dm(:), p.Aineq,p.bineq,[],[],p.lb,p.ub)
Where S is a n x m matrix, and dm is a m x 1 matrix. The result is that r (n x 1 natrix) and B (m x 1 matrix) are different sizes, and cannot be concatenated. The equation I am essential trying to solve is as follows:
%minimize "e2"
e= dm - (S'*r+B)
e2= e*e'
I recogonize I am probably not using an appropriate function. Any help would be greatly appreciated.
댓글 수: 2
Nagasai Bharat
2021년 5월 24일
Hi,
From the equation (r' * S) would be a 1 x m matrix whereras B is a m x 1 matrix. Try to cross-check as a transpose of B would be needed to have an addition operation.
채택된 답변
Matt J
2021년 5월 24일
편집: Matt J
2021년 5월 24일
r=optimvar('r',n,'LowerBound',0,'UpperBound',1);
B= optimvar ('B', m);
[p,idx]=prob2matrices({r, B},'Constraints', sum(r)<=1);
C=nan(m,m+n);
C(:,idx.r)=S';
C(:,idx.B)=eye(m);
Roptimal=lsqlin(C, dm(:), p.Aineq,p.bineq,[],[],p.lb,p.ub);
sol=x2sol(Roptimal,idx), %solution
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Multiobjective Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!