JuliaSmoothOptimizers / SolverTools.jl

Tools for developing nonlinear optimization solvers.
Other
26 stars 19 forks source link

More updates for Julia 0.7 #70

Closed dpo closed 5 years ago

dpo commented 5 years ago

Supersedes #68.

dpo commented 5 years ago

TRON is now failing to converge, so those tests fail. @abelsiqueira

abelsiqueira commented 5 years ago

Using @view fixed a problem. There is some other error that I'm looking into.

abelsiqueira commented 5 years ago

Here is the fix for the other errors: https://github.com/JuliaSmoothOptimizers/Optimize.jl/pull/68/commits/85242ee9657cd889806f820e1b514cd3f11040c7 I've pushed to #68 to test.

abelsiqueira commented 5 years ago

The error is that (Preallocated) LinearOperators and ForwardDiff are not working together, because the memory used by the linear operator can't store Dual numbers.

dpo commented 5 years ago

Thank you. Does that mean we have to use operators without preallocation when using AD models?

abelsiqueira commented 5 years ago

We can't have the objective function or constraints using LinearOperators. e.g. f(x) = dot(x, A * x) and c(x) = A * x - b only work if A is a matrix or non-allocating linear operators. Its a ForwardDiff limitation. However, we can have operators with preallocation after the differentiation, such as hess_op! and jac_op. Those aren't broken if f is accepted by ForwardDiff.

dpo commented 5 years ago
ERROR: The following package names could not be resolved:
 * Krylov (not found in project, manifest or registry)
Please specify by known `name=uuid`.

The new Pkg3 is really frustrating.

abelsiqueira commented 5 years ago

Looks like we'll need a Krylov release.