controlling subset risk term

50 views
Skip to first unread message

Jack

unread,
Aug 12, 2020, 6:07:35 PM8/12/20
to YALMIP

Johan Löfberg

unread,
Aug 13, 2020, 2:09:41 AM8/13/20
to YALMIP
It is very unclear what you want to do

You talk about controlling risk above (thus x'*sigma*x since that is above) but then you say "i.e. xbarSigmabarxbar)" (different, now bars) , and then you say that only x is the decision variable

x'*Sigma*x <= r is a convex constraint in x, but not in (x,Sigma). x'*inv(Sigma)*x <= r is convex in both since it is equivalent to [1 x';x Sigma] >= 0 assuming sigma positive semidefinite

Jack

unread,
Aug 13, 2020, 2:30:26 AM8/13/20
to YALMIP
Thank you and apologies for the ambiguity

xbar is a subset of the vector x.
the problem that i wanted to formulate was that there was more risk associated with the (xbar, sigmabar) quadratic term than the "x' sigma x" term. 
as you suggested, i could do x'*Sigma*x <= r ... could i then add a tighter condition on xbar'*Sigmabar*xbar e.g., <= r/2?
im not sure if there might have been another way to cast this requirement, e.g., require xbar'*Sigmabar*xbar <= x'*Sigma*x, but not sure if this would be convex. 

Johan Löfberg

unread,
Aug 13, 2020, 2:36:21 AM8/13/20
to YALMIP
xbar'*Sigmabar*xbar <= x'*Sigma*x is not convex if both x and xbar are decision variables (unless there is some structural connection causing it to be convex, such as xbar = A*x and consequently making the matrix H = A'*Sigmabar*A - Sigma the important object for convexity (but then x'*H*x <= 0 would simply mean that R*x = 0 for some matrix R related to the nullspace of H)

x'*Sigma*x <= r  and xbar'*Sigmabar*xbar <= r/2 does not imply xbar'*Sigmabar*xbar <= x'*Sigma*x

Jack

unread,
Aug 13, 2020, 11:29:54 AM8/13/20
to YALMIP
thank you again - xbar is just a few components of x and Sigmabar the cov matrix corresponding to these entries.
Would it be difficult (non-convex) to require that this subset risk be more controlled for relative to the full risk term, i.e., x'*Sigma*x?
Would appreciate any suggestions on this, e.g., maybe this can be encoded within the full x'*Sigma*x but I am not sure how to.

Johan Löfberg

unread,
Aug 13, 2020, 11:32:31 AM8/13/20
to YALMIP
Well it would be a nonconvex quadratic constraint, but that does not mean it is unsolvable. In theory intractable for anything but trivial sizes, in practice you might be lucky, either using a local solver (if you just want something and hope for the best) or a global solver such as yalmips bmibnb, gurobi 9, baron etc

Jack

unread,
Aug 13, 2020, 11:42:44 AM8/13/20
to YALMIP
Is it correct to say that requiring something like (for r > 0)

xbar'*Sigmabar*xbar <= r/2
x'*Sigma*x <= r

would tell the optimizer to care more about dissipating the risk associated with xbar term vs. the remainder (x \ xbar) terms?
Do realize that these are individual constraints that will be satisfied but am wondering what the interpretation of xbar w.r.t. the full x (that contains xbar) would mean here? Or, if there isn't any.
Would like to encode this relative relation w/o going into the non-convex realm.

Also, would very much appreciate your thoughts on this Q  
as it hasn't had any luck.

Thank you.

Johan Löfberg

unread,
Aug 13, 2020, 3:29:27 PM8/13/20
to YALMIP
A feasible solution is xbar'*Sigmabar*xbar = r/2 and x'*Sigma*x = 0 (assuming it is not structurally impossible) so no, those constraints individually don't say anything about the relative importance

you want x'*Q*x <= x'*R*x and that is simply not a convex set, and I don't see any way to formulate that nicely, even approximately
Reply all
Reply to author
Forward
0 new messages