Foggalong / RobustOCS

Robust optimal contirbution selection problems for genetics with Python
https://pypi.org/project/robustocs
MIT License
1 stars 0 forks source link

Implement KKT Checks #7

Open Foggalong opened 4 months ago

Foggalong commented 4 months ago

As we did for HCLA/OctCLA, it should be possible to use the KKT conditions (albeit conic themed ones) to verify whether the portfolios produced are indeed optimal.

Foggalong commented 4 months ago

The KKTs we're working with here are

$$\begin{align} \boldsymbol\mu - \lambda\Sigma \mathbf{w} - M^{T}\boldsymbol\gamma - C^{T}\boldsymbol\tau + 2\rho\Omega\mathbf{w} &= \mathbf{0} \ -\kappa - 2\rho z &= 0 \ M\mathbf{w} - \mathbf{m} &= \mathbf{0} \ C\mathbf{w} - \mathbf{d} &\geq \mathbf{0} \ z^2 - \mathbf{w}^{T}\Omega\mathbf{w} &\geq 0 \ \boldsymbol\tau &\geq 0 \ \rho &\geq 0 \ \boldsymbol\tau^{T}(C\mathbf{w}-\mathbf{d}) &= 0 \ \rho(z^2 - \mathbf{w}^{T}\Omega\mathbf{w}) &= 0 \end{align}$$

in standard form, which I don't love from a complication point of view, but there they are. Also don't love that GitHub doesn't support \mathbf but not much I can do about that either.

EDIT: It does now \O/

jajhall commented 4 months ago

What's $C$?

Foggalong commented 4 months ago

That's just the same $C$ as for standard CLA, the one which encodes $\mathbf{l}\leq\mathbf{w}\leq\mathbf{u}$. If working with one of the models which doesn't have bound constraints it (and $\boldsymbol\tau$) can be dropped.