#include<math.h>
#include<stdlib.h>
 
{
 
   for (
int i=0;i<(
length-1);i++) {
 
      result+=pow(1-xx[i],2)+100*pow(xx[i+1]-pow(xx[i],2),2);
 
   }
}
 
{
   }
}
 
void GlobalMinimization()
{
 
   Bool_t installed=
r.Eval(
"is.element('DEoptim', installed.packages()[,1])");
 
   if (!installed) {
      std::cout<<"Package DEoptim no installed in R"<<std::endl;
      std::cout<<"Run install.packages('DEoptim') in R's environment"<<std::endl;
      return;
   }
 
   
   r<<
"suppressMessages(library(DEoptim, quietly = TRUE))";
 
 
   
 
   
   
 
   
   
 
   bench.
Start(
"GlobalMinimizationRosenBrock");
 
   
   r<<
"result1<-DEoptim(fn=GenRosenBrock,lower=ll,upper=ul,control=list(NP=10*n,itermax=MaxIter,trace=FALSE))";
 
   std::cout<<"-----------------------------------------"<<std::endl;
   std::cout<<"RosenBrock's minimum in: "<<std::endl;
   r<<
"print(result1$optim$bestmem)";
 
   std::cout<<"Bechmark Times"<<std::endl;
   
   bench.
Show(
"GlobalMinimizationRosenBrock");
 
 
   
   
   
   
   
 
   bench.
Start(
"GlobalMinimizationRastrigin");
 
   
   r<<
"result2<-DEoptim(fn=Rastrigin,lower=ll,upper=ul,control=list(NP=10*n,itermax=MaxIter,trace=FALSE))";
 
   std::cout<<"-----------------------------------------"<<std::endl;
   std::cout<<"Rastrigin's minimum in: "<<std::endl;
   r<<
"print(result2$optim$bestmem)";
 
   std::cout<<"Bechmark Times"<<std::endl;
   
   bench.
Show(
"GlobalMinimizationRastrigin");
 
   
      r<<
"dev.new(title='RosenBrock Convergence')";
 
      r<<
"plot(result1,type='o',pch='.')";
 
      r<<
"dev.new(title='Rastrigin Convergence')";
 
      r<<
"plot(result2,type='o',pch='.')";
 
   }
}
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h length
 
This is a class to pass functions from ROOT to R.
 
ROOT R was implemented using the R Project library and the modules Rcpp and RInside
 
static TRInterface & Instance()
static method to get an TRInterface instance reference
 
This class is a ROOT utility to help benchmarking applications.
 
virtual void Start(const char *name)
Starts Benchmark with the specified name.
 
virtual void Show(const char *name)
Stops Benchmark name and Prints results.
 
Int_t GetNoElements() const
 
RVec< PromoteType< T > > cos(const RVec< T > &v)