Query: pdl::opt::simplex
OS: redhat
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
Simplex(3) User Contributed Perl Documentation Simplex(3)NAMEPDL::Opt::Simplex -- Simplex optimization routinesSYNOPSISuse PDL::Opt::Simplex; ($optimum,$ssize) = simplex($init,$initsize,$minsize, $maxiter, sub {evaluate_func_at($_[0])}, sub {display_simplex($_[0])} );DESCRIPTIONThis package implements the commonly used simplex optimization algorithm. The basic idea of the algorithm is to move a "simplex" of N+1 points in the N-dimensional search space according to certain rules. The main benefit of the algorithm is that you do not need to calculate the derivatives of your function. $init is a 1D vector holding the initial values of the N fitted parameters, $optimum is a vector holding the final solution. $initsize is the size of $init (more...) $minsize is some sort of convergence criterion (more...) - e.g. $minsize = 1e-6 The sub is assumed to understand more than 1 dimensions and threading. Its signature is 'inp(nparams); [ret]out()'. An example would be sub evaluate_func_at { my($xv) = @_; my $x1 = $xv->slice("(0)"); my $x2 = $xv->slice("(1)"); return $x1**4 + ($x2-5)**4 + $x1*$x2; } Here $xv is a vector holding the current values of the parameters being fitted which are then sliced out explicitly as $x1 and $x2. $ssize gives a very very approximate estimate of how close we might be - it might be miles wrong. It is the euclidean distance between the best and the worst vertices. If it is not very small, the algorithm has not converged.FUNCTIONSsimplex Simplex optimization routine ($optimum,$ssize) = simplex($init,$initsize,$minsize, $maxiter, sub {evaluate_func_at($_[0])}, sub {display_simplex($_[0])} ); See module "PDL::Opt::Simplex" for more information.CAVEATSDo not use the simplex method if your function has local minima. It will not work. Use genetic algorithms or simulated annealing or conju- gate gradient or momentum gradient descent. They will not really work either but they are not guaranteed not to work ;) (if you have infinite time, simulated annealing is guaranteed to work but only after it has visited every point in your space).SEE ALSORon Shaffer's chemometrics web page and references therein: "http://chem1.nrl.navy.mil/~shaffer/chemoweb.html". Numerical Recipes (bla bla bla XXX ref). The demonstration (Examples/Simplex/tsimp.pl and tsimp2.pl).AUTHORCopyright(C) 1997 Tuomas J. Lukka. All rights reserved. There is no warranty. You are allowed to redistribute this software / documenta- tion under certain conditions. For details, see the file COPYING in the PDL distribution. If this file is separated from the PDL distribu- tion, the copyright notice should be included in the file. perl v5.8.0 2000-05-30 Simplex(3)
Related Man Pages |
---|
pdl::lm(3) - suse |
pdl::modules(1p) - debian |
pdl::gsl::mroot(3pm) - debian |
pdl::lm(3pm) - debian |
pdl::linpred(3pm) - debian |
Similar Topics in the Unix Linux Community |
---|
striping the text in AWK |
Extract pattern from text line |
text manipulation help |
error while extracting a line from a file based on identifier |
Remove duplicate line on condition |