필터 지우기
필터 지우기

How to use quadprog for this multi-dimension problem?

조회 수: 2 (최근 30일)
dragoon
dragoon 2015년 11월 5일
댓글: dragoon 2015년 11월 5일

I am trying to use quadprog.m to solve the following 2 dimensional optimization problem.

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.

채택된 답변

Alan Weiss
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
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);
dragoon
dragoon 2015년 11월 5일
Yes, I see! Thank you!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by