English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / MetaModelOptim: TEgoKBModeler.h Source File
Uranie / MetaModelOptim  v4.10.0
/* @license-end */
TEgoKBModeler.h
Go to the documentation of this file.
1 /* --- Ansi C --- */
3 // Copyright (C) 2019 CEA/DEN
4 //
5 // This program is free software: you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public License
7 // as published by the Free Software Foundation, either version 3 of
8 // the License, or any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with this program.
17 // if not, see <http://www.gnu.org/licenses/>.
19 
28 #ifndef __EGOKBMODELER__
29 #define __EGOKBMODELER__
30 
31 // ROOT
32 #include "Rtypes.h"
33 
34 // Uranie
35 #include "TDataServer.h"
36 #include "TAttribute.h"
37 #include "TKriging.h"
38 #include "TGPBuilder.h"
39 
40 #include "TEGO.h"
41 
42 namespace URANIE {
43 namespace MetaModelOptim {
44 
45 class TEgoKBModeler : public TEgoModeler
46 {
47 protected:
48  const char *_algo, *_obj, *_correlat, *_tendance, *_outdescr;
50  double *_fmin, _regul;
51  TString _indescr;
52  URANIE::DataServer::TDataServer *_tds, *_tds2;
53  URANIE::DataServer::TAttribute *_y, *_yvar;
54  vector<URANIE::DataServer::TAttribute*> _in;
55  URANIE::Modeler::TGPBuilder *_mm1, *_mm2;
56  URANIE::Reoptimizer::TFitGetter *_crit;
57 
58  double fillWithExpectedValue(vector<char> &mark,
59  vector<vector<URANIE::DataServer::UEntry*>> &sampl,
60  URANIE::DataServer::TDataServer &tds2, URANIE::Modeler::TKriging *krig);
61 
62 public:
63  TEgoKBModeler();
64  virtual ~TEgoKBModeler();
65 
66  // setup
67  void setModel(const char *model, const char *trend, double regularisation=0.0);
68  void setSolver(const char *objective, const char *algo, int screening=0, int optsize=0);
69 
70 
71  // protocole
72  virtual void build(URANIE::DataServer::TDataServer *, URANIE::Reoptimizer::TFitGetter *,
73  vector<URANIE::DataServer::TAttribute*>&,
74  URANIE::DataServer::TAttribute *, URANIE::DataServer::TAttribute *,
75  double *, int
76  );
77  virtual URANIE::Modeler::TKriging *next(vector<char> &,
78  vector<vector<URANIE::DataServer::UEntry*>> &, int);
79 
81 };
82 
83 } } //namespace
84 
85 #endif
Definition: TEGO.h:57
int _NinDat
Definition: TEgoKBModeler.h:49
URANIE::DataServer::TAttribute * _yvar
Definition: TEgoKBModeler.h:53
URANIE::Modeler::TGPBuilder * _mm2
Definition: TEgoKBModeler.h:55
ClassDef(URANIE::MetaModelOptim::TEgoKBModeler, ID_EGO)
void setModel(const char *model, const char *trend, double regularisation=0.0)
Definition: TEgoKBModeler.cxx:58
#define ID_EGO
Definition: TEGO.h:31
double * _fmin
Definition: TEgoKBModeler.h:50
URANIE::DataServer::TDataServer * _tds
Definition: TEgoKBModeler.h:52
const char * _outdescr
Definition: TEgoKBModeler.h:48
int _doesize
Definition: TEgoKBModeler.h:49
const char * _algo
Definition: TEgoKBModeler.h:48
const char * _tendance
Definition: TEgoKBModeler.h:48
double fillWithExpectedValue(vector< char > &mark, vector< vector< URANIE::DataServer::UEntry *>> &sampl, URANIE::DataServer::TDataServer &tds2, URANIE::Modeler::TKriging *krig)
Definition: TEgoKBModeler.cxx:80
int _NC
Definition: TEgoKBModeler.h:49
void setSolver(const char *objective, const char *algo, int screening=0, int optsize=0)
Definition: TEgoKBModeler.cxx:65
Definition: TEgoKBModeler.h:45
const char * _obj
Definition: TEgoKBModeler.h:48
vector< URANIE::DataServer::TAttribute * > _in
Definition: TEgoKBModeler.h:54
virtual void build(URANIE::DataServer::TDataServer *, URANIE::Reoptimizer::TFitGetter *, vector< URANIE::DataServer::TAttribute *> &, URANIE::DataServer::TAttribute *, URANIE::DataServer::TAttribute *, double *, int)
Definition: TEgoKBModeler.cxx:126
URANIE::Modeler::TGPBuilder * _mm1
Definition: TEgoKBModeler.h:55
TEgoKBModeler()
Definition: TEgoKBModeler.cxx:33
virtual URANIE::Modeler::TKriging * next(vector< char > &, vector< vector< URANIE::DataServer::UEntry *>> &, int)
Definition: TEgoKBModeler.cxx:171
URANIE::DataServer::TAttribute * _y
Definition: TEgoKBModeler.h:53
const char * _correlat
Definition: TEgoKBModeler.h:48
URANIE::DataServer::TDataServer * _tds2
Definition: TEgoKBModeler.h:52
TString _indescr
Definition: TEgoKBModeler.h:51
int _maxeval
Definition: TEgoKBModeler.h:49
URANIE::Reoptimizer::TFitGetter * _crit
Definition: TEgoKBModeler.h:56
double _regul
Definition: TEgoKBModeler.h:50
efficient global optimization algorithm
virtual ~TEgoKBModeler()
Definition: TEgoKBModeler.cxx:50