Quadratic optimizer with linear constraints
@charlesm93 is already working on this.
Since Jun 6, 2018.
- Dominant language
- C++
- Stars
- 839
- Forks
- 220
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 14
Description
Summary:
Create a new function to perform quadratic optimization.
Description:
The goal is to maximize a function subject to a set of equality and inequality constraints. This is a generalization of the Lagrange optimization problem, sometimes termed the Karush–Kuhn–Tucker problem. The proposed feature solves this problem when the function we wish to optimize is quadratic. See http://discourse.mc-stan.org/t/quadratic-optimizier/4405 for more details.
The target function has the form: f(x) = x' H x + v x, where H is a matrix and v a vector. For starters, I want to implement the case where there is a linear constraint on x of the form Ax = b, and x > 0. We can then think of generalizations.
The call to the solver has the form a = quadratic_optimizer(H, v, A, b, theta, delta), where H, v, A, and b are all functions of parameters theta and data delta. Are there features in C++11 to make this easier to implement? Right now, my plan is to mimic what was done for the algebraic and the ODE solver.
Additional Information:
I can think of a few applications for this optimizer; the current motivating problem is in econometrics, brought forth Shosh Vasserman.
Current Version:
v2.17.0
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.