On Tue, Jul 21, 2009 at 1:51 AM, Christian Fischer<ib...@web.de> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > Hi there, > > I'm currently working an a global optimisation function using > Differential Evolution. It is based on the Matlab function on this > page: http://www.icsi.berkeley.edu/~storn/code.html ) > > I have converted it according to the "octave style" and improved it > using the latest developments on differential evolution. > > It is a derivative free method usable for problems with many local > minima and high dimensionality (variables). > It is also possible to set the boundaries as constraints. > > It should be better or at least comparable to state of the art > evolutionary strategies or genetic algorithms. > > I have the impression that octave does not have a good global > optimiser at the moment. So maybe this function could fill the gap. > > I do have a few questions. > What is the current policy for the optimisation package? What makes > a function part of the core octave and why are some functions in the > external octaveforge package? > > Who is responsible for the optimisation part in octave? > > I attached my current version to this mail. I still have to change the > header using the texinfo statements and add a test. I also might > rewrite it in C++ in case I get the feeling that it is too slow. > (There is one nasty loop I couldn't vectorise.) > > I am willing to maintain this function and would appreciate criticism > of any kind. > > To my person: I am a mechanical engineering student from Germany. > Currently I'm writing my diploma (master) thesis on optimisation of radial > turbomachinery using differential evolution. I am using octave for > 5 years now and I think its time to give something back :) > > Best wishes > Christian > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > Comment: Use GnuPG with Firefox : http://getfiregpg.org (Version: 0.7.6) > > iQIcBAEBCAAGBQJKZQLcAAoJEJghsQQMM0PT3IMQANqjtEU067/Xb4kLBIaRKekW > K5n8rtEmAfnNjyavlB5UA8HZ0nLamftsXyvpFYHv1qGFKxCf7aHmKwLUVYDPY75k > JX0YW/AGnUXEQvkDmYhXaVLiaA6WstXZlmcuERoKkFA/RVmkQID6mEQF4hIv6OtX > v9EdGqOyBpTOwsyNA3BMppZtwS49kvI6NNRGUxz3sQRCwya0Q1/hhgisP5e5DUWz > bMFOGjX7McpkxyE5DcZ5iNYRgHR4ipBIxCFD4wDkCTYLjKs5/PYp2zHCuCUYTITR > pADtwKq5Y+h6zSS5ZT3xDd5naZzJCTE2FsxGAt0RJchvI5dT3H1eGoTzuhWUT3z2 > TlXoV8gyUZDdKaT+X1jUxETOI3R4XNQXC3+rbDqWqOdH8cmA1PCen6yYVRHyuYVU > bMp6btRrmZXtPM0QJnePTFRfSpIR7Um91HXQ/Rb6RurCJpGURNY6ExOvXZPxsZSI > IP1CDnsU/UYhe9QskWeGRgz0+IzSYT8NhNfWCTc2PNHdvzku7dO3t26xaUYD2yP3 > gQxccXH3LSfeSrD4ofIPpY+VkDlQHidKY+1BabJsSvm6uACY3TAlGgN0nmSZ0zEz > D6rxgk4qf65I5VypHzX2vRg/1QB3sva54cSdVQjwaQ7XfjUdY8Rk1kFMAHuWnQkQ > lGQIw+S/RdqG2gtPjPFg > =u4DR > -----END PGP SIGNATURE----- > > ________________________________________________________________ > Neu: WEB.DE Doppel-FLAT mit Internet-Flatrate + Telefon-Flatrate > für nur 19,99 Euro/mtl.!* http://produkte.web.de/go/02/ > >
Hi Christian, This function looks like it could find a home in the optim package (http://octave.sourceforge.net/optim/index.html). I have written simulated annealing code that is already part of the package. Following is a script that will use your code and the simulated annealing code to minimize a higher dimensional Rosenbrock function (also in optim). Best, Michael dim = 10; ctl.XVmin = -2*ones(1, dim); ctl.XVmax = 2*ones(1, dim); tic; [x, obj_value, nfeval] = de_min (@rosenbrock, ctl); toc printf("solution: \n"); disp(x); # SA controls ub = 2*ones(dim,1); lb = -ub; nt = 20; ns = 5; rt = 0.75; # careful - this is too low for many problems maxevals = 1e10; neps = 5; functol = 1e-7; paramtol = 1e-5; verbosity = 1; # only final results. Inc minarg = 1; control = { lb, ub, nt, ns, rt, maxevals, neps, functol, paramtol, verbosity, 1}; # do sa x = zeros(dim,1); tic; [theta, obj_value, convergence] = samin("rosenbrock", {x}, control); toc ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Octave-dev mailing list Octave-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/octave-dev