-
Notifications
You must be signed in to change notification settings - Fork 12
5. Scipy integration
Antonio Horta Ribeiro edited this page Aug 25, 2017
·
38 revisions
I intend to work on the solver integration to scipy library along the following week.
- Create an interface to our solver that could be independently integrated to scipy (
minimize_constrained
).- Implementation of a
constraint
class.- Nonlinear constraints.
- Linear constraints.
- Bound constraints.
- Options for converting from different constraints types.
- Bound -> Linear
- Linear -> Nonlinear
- Nonlinear -> Canonical
- Concatenate constraints
- Stop criteria.
- Change internal structure of my solver so I can use
OptimizatonResults
class instead ofinfo
dictionary.- Change it superficially.
- Use object notation rather than dictionary notation;
-
equality_constrained_sqp
-
tr_interior_point
-
- Add number of function calls, gradient calls;
-
equality_constrained_sqp
-
tr_interior_point
-
- Add status
-
equality_constrained_sqp
-
tr_interior_point
-
- Add number of CG iterations
-
equality_constrained_sqp
-
tr_interior_point
-
- Add number of iterations
-
equality_constrained_sqp
-
tr_interior_point
-
- Add optimality measures
-
equality_constrained_sqp
-
tr_interior_point
-
- Add return all
-
equality_constrained_sqp
-
tr_interior_point
-
- Include sparse/dense Jacobian option.
- Include
honorbounds
option.- Include option
- Modify x0 accordino to box constraints when needed
- Check input to see if
x0
complies with it
- Include Verbose option
- Deal with the case a singular factor appears.
- Write test functions for the new format.
- Adapt matlab-like problems to the new format.
- Adapt cutest Jupyter notebooks to the new format.
- Write unittests.
- Documentation
- Write a comprehensive docstring.
- Link internal references.
- Compile and test
- Add doctests.
- Write blog post with results.
- Implementation of a
- Create an interface to our solver that can be integrated to minimize without thinking too much about the other solvers. That is, it will probably have a lot of options that are available only to our solver (even for features that could be reused for the other solvers)
- Start to unify the options. That is, make the implemented features available for other solvers and try to replace legacy structures by the ones we have implemented.