How to use quadprog for this multi-dimension problem?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
dragoon
el 5 de Nov. de 2015
Comentada: dragoon
el 5 de Nov. de 2015
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.
0 comentarios
Respuesta aceptada
Alan Weiss
el 5 de Nov. de 2015
Editada: Alan Weiss
el 5 de Nov. de 2015
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 comentarios
Matt J
el 5 de Nov. de 2015
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);
Más respuestas (0)
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!