Powell's Line Search Algorithm in Julia

I’m looking for a Julia implementation of Powell’s line search algorithm. It’s essentially this algorithm from Scipy:


which is similar to the algorithm described on slide 7 here:

In Julia, I could only find COBYLA etc, but not this algorithm. Does anyone know any packages or codes which might have it?

I haven’t used the package, but PRIMA.jl provides many of Powell’s algorithms.

1 Like

Not sure but the first places I’d look are

" Powell’s line search algorithm", that’s underdetermined since there’s 5 of them? Optimization.jl has an interface over PRIMA which gives all of these:

Thanks for your replies! Just to clarify the question, the PRIMA package has the algorithms UOBYQA, NEWUOA, BOBYQA, LINCOA and COBYLA. However, none of these is the algorithm from Scipy and slide 7 of the document above, which is based on having a set of search directions and updating these in each step (I think it’s from one of Powell’s much older publications). This algorithm usually works really well for economic models and I’m hoping to find it in Julia. :slightly_smiling_face:

Probably there’s no particular reason for that algorithm be better than any of the others, and I would give them a try. In particular, if sticking to Powell’s methods is a reason per se, using the implementations in PRIMA is probably the way to go, as they have better performance and fixed bugs relative to older (Powell’s) implementations. Otherwise there is a great variety of derivative-free methods (in Julia and otherwise) to be experimented. Maybe this thread is a starting point to test alternatives.