How to use quadprog for this multi-dimension problem?
조회 수: 2 (최근 30일)
이전 댓글 표시
I am trying to use quadprog.m to solve the following 2 dimensional optimization problem.
![](/matlabcentral/answers/uploaded_files/39716/Screen%20Shot%202015-11-05%20at%2013.35.15.png)
where $(x_i,y_i)$ is the data point.
How may I implement this 2 dimensional problem in matlab by quadprog? I can do for 1 dimensional problem, i.e., only with $\alpha_i$. But now I have $\alpha_i$ and $\alpha_i'$, i.e., two sets of unknown.
댓글 수: 0
채택된 답변
Alan Weiss
2015년 11월 5일
편집: Alan Weiss
2015년 11월 5일
All Optimization Toolbox™ solvers require that you put your control variables into a single vector, typically called x. For your case, I suggest that you set the column vector x to be
x = [alpha;alphaprime];
In other words, just concatenate your two existing column vectors of unknowns into one longer column vector. Given this transformation, it is not too difficult to write matrices H and f to represent your problem in the requisite form
1/2*x'*H*x + f*x
Remember, quadprog minimizes, so if you are looking for a maximum, take the negative of your objective function.
If you cannot figure out how to do it with quadprog, you can always use fmincon.
Alan Weiss
MATLAB mathematical toolbox documentation
댓글 수: 3
Matt J
2015년 11월 5일
You say you can write the Hessian H0 for the single unknown vector case. For this case, they will be related by
H = [I,-I].' * H0 * [I,-I]
where I=eye(n);
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!