pkofod / NLSolvers.jl

MIT License
10 stars 0 forks source link

random ideas #4

Closed longemen3000 closed 4 years ago

longemen3000 commented 5 years ago
  1. preallocate the solver and solve for different starting points? if you have a function f(x,p) and you need in each iteration to change the parameters and find the minimum of f(x,p[i]) (lets say with a newton method), then a preallocation of the hessian matrix and gradients would speed the calculation (a la parametron.jl)?
  2. options for multithreading where possible? if there is a multi start algorithm, maybe executing task in multiple threads can speed up the calculation, something like this? minimize(obj,x0,MultiStart(Threaded()))?
pkofod commented 4 years ago

I had a crazy November and December.

I'm not sure I understand 1)

2) Yes, certainly, this will be supported. I have a MLSL implementation what could certainly be threaded and distributed, but it also applies to certain situations in NelderMead (the bad case: shrink) but also metaheuristics such as particle swarm and ant colony. There's a different that's important here: solvers that can be threaded etc some places, and then optimization strategies that can be thought of as specifically written to parallelize. I'm thinking about both.