ADMB Documentation  11.2.2828
 All Classes Files Functions Variables Typedefs Friends Defines
minim.cpp
Go to the documentation of this file.
00001 /*
00002  * $Id: minim.cpp 2476 2014-10-13 18:50:38Z johnoel $
00003  *
00004  * Author: David Fournier
00005  * Copyright (c) 2008-2012 Regents of the University of California
00006  */
00011 #include <fvar.hpp>
00012 
00020 double fmm::minimize(const independent_variables & x,
00021   double (*pf)(const dvar_vector&))
00022 {
00023   double f = 0.0;
00024 
00025   int nvar=x.size();
00026   dvector g(1,nvar);
00027 #ifndef SAFE_INITIALIZE
00028   g.initialize();
00029 #endif
00030   {
00031     gradient_structure gs;
00032     while (ireturn >= 0)
00033     {
00034       fmin(f,x,g);
00035       if(ireturn > 0)
00036       {
00037         {
00038           f=(*pf)(x);
00039         }
00040         gradcalc(nvar,g);
00041       }
00042     }
00043   }
00044   return f;
00045 }