Re. (3), I’d like to move the optimization problems we use for testing out of Optim into a separate package. Having a nice test suite would be a big gain for JuliaOpt.
— John On Jul 27, 2014, at 6:25 AM, Hans W Borchers <[email protected]> wrote: > Ken: > > (1) Thanks for pointing out this approach and for implementing it. > Unfortunately, I was not able to locate your code at Github. I would > certainly try it out on some of my examples in global optimization. > > (2) Did you include (or do you plan to include) the improvements of MinFinder, > as discussed in "MinFinder 2.0: An improved version of MinFinder" by Tsoulos > and Lagaris? > > (3) Also this article contains examples of functions with many local minima. > Most of these are test functions for global optimization procedures. Did you > test your function on these examples? > > I have implemented some of these functions for my own purposes. > I wonder whether it would be useful to have a Julia package of its own for > compiling optimization test functions. > > (4) Are you sure/Is it guaranteed MinFinder will reliably find all local > minima? > This is a difficult problem, and for example there is a long discussion on > this topic in Chapter 4, by Stan Wagon, in the book "The SIAM 100 Digit > Challenge" about all the preventive measures to be taken to be able to > guarantee to find all local minima -- and thus also the one global minimum. > > > On Sunday, July 27, 2014 8:26:31 AM UTC+2, Ken B wrote: > Hi Charles, > > You can have a look at the MinFinder algorithm for which I've just created a > pull request to Optim.jl (talk about a coincidence!): > https://github.com/JuliaOpt/Optim.jl/pull/72 > > I'd like to add the possibility to run each optimization in parallel, but I > have no experience with these things, although I have time to learn :). Would > you like to collaborate on this? > > Does anyone know of some parallel sample code to have a look at? Basically > it's sending each optimization problem to a separate worker and getting the > results, taking into account that some optimizations might take much longer > than others. > > Cheers, > Ken > > On Saturday, 26 July 2014 23:13:28 UTC-5, Charles Martineau wrote: > Yes I could do that but it is simpler (I think) to execute the code in > parallel instead of sending 20 codes to be executed on the cluste.r > > On Saturday, July 26, 2014 10:08:20 AM UTC-7, Michael Prentiss wrote: > What you are doing makes sense. Starting from multiple starting points is > important. > > I am curious why you just don't just run 20 different 1-processor jobs > instead of bothering with the parallelism? > > > On Saturday, July 26, 2014 11:22:07 AM UTC-5, Iain Dunning wrote: > The idea is to call the optimize function multiple times in parallel, not to > call it once and let it do parallel multistart. > > Check out the "parallel map and loops" section of the parallel programming > chapter in the Julia manual, I think it'll be clearer there. > > On Friday, July 25, 2014 8:00:40 PM UTC-4, Charles Martineau wrote: > Thank you for your answer. So I would have to loop over, say 20 random set of > starting points, where in my loop I would use the Optim package to minimize > my MLE function for each random set. Where online is the documents that shows > how to specify that we want the command > Optim.optimize(my function, etc.) to be parallelized? Sorry for my ignorance, > I am new to Julia! > > On Friday, July 25, 2014 2:04:08 PM UTC-7, Iain Dunning wrote: > I'm not familiar with that particular package, but the Julia way to do it > could be to use the Optim.jl package and create a random set of starting > points, and do a parallel-map over that set of starting points. Should work > quite well. Trickier (maybe) would be to just give each processor a different > random seed and generate starting points on each processor. > > On Friday, July 25, 2014 3:05:05 PM UTC-4, Charles Martineau wrote: > Dear Julia developers and users, > > I am currently using in Matlab the multisearch algorithm to find multiple > local minima: http://www.mathworks.com/help/gads/multistart-class.html for a > MLE function. > I use this Multisearch in a parallel setup as well. > > Can I do something similar in Julia using parallel programming? > > Thank you > > Charles >
