Quantcast

Help with QP solver

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Help with QP solver

saiko7

I am trying to optimize a root function of the form MIN root(x'CX)
ST u'x=u
    E'x=1
Where both u and E are column vectors and c is a square matrix .can anyone say how to model this in QP?


_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Help with QP solver

Juan Pablo Carbajal-2
On Fri, Mar 24, 2017 at 8:43 PM, saiket talukdar <[hidden email]> wrote:

> I am trying to optimize a root function of the form MIN root(x'CX)
> ST u'x=u
>     E'x=1
> Where both u and E are column vectors and c is a square matrix .can anyone
> say how to model this in QP?
>
>
> _______________________________________________
> Help-octave mailing list
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/help-octave
>
What do you mean by 'root'? In general, the roots of a second degree
polynomial over multiple variables doesn't form a discrete set, so you
will have troubles with this optimization. Analyze the case p(x,y) =
x^2 - y^2 (C = [1 0; 0 -1]), the roots are all pairs |y| = |x|, i.e.
(x,x), (x,-x), (-x,x) for any complex x. So how would you choose the
min of these? maybe MIN abs(root(x'Cx))?

Also if C is positive definite quadratic form, you can diagonalize it
and solve the diagonal problem sum(L_i * y_i^2), with L_i the
eigenvalues of C., This means you will work on y = S x, where S is the
orthogonal matrix that diagonalizes C (use svd), but in this case you
are bound to find complex roots.

Finally, I do to think root(x'*C*x) can be reduced to a quadratic
form, hence QP is not the right tool. Try sqp, but again, be careful
the solutions might be infinite and you need to disambiguate with your
cost function to make one of all the possible infinite roots the
minimum.

_______________________________________________
Help-octave mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-octave
Loading...