Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement KKT Checks #7

Open
Foggalong opened this issue Apr 30, 2024 · 3 comments
Open

Implement KKT Checks #7

Foggalong opened this issue Apr 30, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@Foggalong
Copy link
Owner

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 Foggalong added the enhancement New feature or request label Apr 30, 2024
@Foggalong
Copy link
Owner Author

Foggalong commented May 14, 2024

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
Copy link
Collaborator

jajhall commented May 14, 2024

What's $C$?

@Foggalong
Copy link
Owner Author

Foggalong commented May 15, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants