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

Replace cumbersome A matrix stacking logic for linear constraints with a single ObjectiveFunction for all linear objectives #859

Closed
dpanici opened this issue Feb 7, 2024 · 0 comments · Fixed by #889
Assignees

Comments

@dpanici
Copy link
Collaborator

dpanici commented Feb 7, 2024

Action items @ddudt

  • create ObjectiveFunction inside of optimizer.optimize that takes in the linear constriants
  • call combine_args on it and objective before we do the linear constraint projection
  • now factorize_linear_constraints argument self._constraints in (
    ) = factorize_linear_constraints(
    ) is now just an objective function, use its jac_scaled argument to get A_full in (
    A_full = jnp.vstack([jnp.hstack(Ai) for Ai in A])
    ) and call obj.compute(zeros) to get b_full
  • keep the indexing stuff after that line above, and everything should hopefully work fine for optimizable optimization (not yet for OptimizableCollection)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants