English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / MetaModelOptim: TEgoShareSolver.h Source File
Uranie / MetaModelOptim  v4.10.0
/* @license-end */
TEgoShareSolver.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 __EGOSHARESOLVER__
29 #define __EGOSHARESOLVER__
30 
31 // ROOT
32 
33 // Uranie
34 #include "TDataServer.h"
35 #include "TRun.h"
36 #ifdef WITH_VIZIR
37 #include "TVizirGenetic.h"
38 #include "TVizir2.h"
39 #endif
40 #include "TOptimFit.h"
41 
42 #include "TEGO.h"
43 #include "THJMA.h"
44 
45 namespace URANIE {
46 namespace MetaModelOptim {
47 
49 {
50 protected:
51  URANIE::DataServer::TDataServer *_tds;
52  vector<URANIE::DataServer::TAttribute*> _in;
53  URANIE::DataServer::TAttribute *_ego;
54  URANIE::Relauncher::TRun *_run;
55  URANIE::Reoptimizer::TMaximizeFit _maxim;
57  double _valid_ei;
58 
59  virtual void fitnessChanged() = 0;
60  virtual void extend() = 0;
61  virtual void solverLoop() = 0;
62 
63 public:
65  virtual ~TEgoShareSolver();
66 
67  virtual void significantEI(double);
68  void setManyNewItem(int);
69 
70  virtual void build(URANIE::Relauncher::TRun *,
71  vector<URANIE::DataServer::TAttribute*>&, URANIE::DataServer::TAttribute *);
72  virtual void next();
73  virtual void more();
74 
76 };
77 
78 #ifdef WITH_VIZIR
79 class TEgoVzrSolver : public TEgoShareSolver
80 {
81 protected:
82  URANIE::Reoptimizer::TVizirSolverShare *_algo;
83  URANIE::Reoptimizer::TVizir2 *_viz;
84  URANIE::Reoptimizer::TGreaterFit _signif;
85  int _NG;
86 
87 public:
88  TEgoVzrSolver();
89  virtual ~TEgoVzrSolver();
90 
91  void setSolver(URANIE::Reoptimizer::TVizirSolverShare *);
92  void setStepSize(int);
93 
94  void solverLoop();
95 
96  ClassDef(URANIE::MetaModelOptim::TEgoVzrSolver, ID_EGO)
97 };
98 #endif
99 
101 {
102 protected:
105 
106 public:
107  TEgoHjSolver();
108  virtual ~TEgoHjSolver();
109 
110  void setSize(int, int);
111  virtual int getNext(long ev, int nb,
112  vector<vector<URANIE::DataServer::UEntry*>> &sampl, vector<char> &mark);
113  void solverLoop();
114 
116 };
117 
118 
119 } } //namespace
120 
121 #endif
Definition: TEGO.h:57
virtual int getNext(long ev, int nb, vector< vector< URANIE::DataServer::UEntry *>> &sampl, vector< char > &mark)
Definition: TEgoShareSolver.cxx:150
virtual void significantEI(double)
Definition: TEgoShareSolver.cxx:57
URANIE::Reoptimizer::TMaximizeFit _maxim
Definition: TEgoShareSolver.h:55
vector< URANIE::DataServer::TAttribute * > _in
Definition: TEgoShareSolver.h:52
int _NinDat
Definition: TEgoShareSolver.h:56
Definition: THJMA.h:65
TEgoShareSolver()
Definition: TEgoShareSolver.cxx:44
double _valid_ei
Definition: TEgoShareSolver.h:57
#define ID_EGO
Definition: TEGO.h:31
int _first
Definition: TEgoShareSolver.h:56
Definition: TEgoShareSolver.h:48
HJMA search algorithm.
Definition: TEgoShareSolver.h:100
virtual void next()
Definition: TEgoShareSolver.cxx:76
TEgoHjSolver()
Definition: TEgoShareSolver.cxx:128
virtual void build(URANIE::Relauncher::TRun *, vector< URANIE::DataServer::TAttribute *> &, URANIE::DataServer::TAttribute *)
Definition: TEgoShareSolver.cxx:67
void setSize(int, int)
Definition: TEgoShareSolver.cxx:143
void solverLoop()
Definition: TEgoShareSolver.cxx:211
URANIE::DataServer::TDataServer * _tds
Definition: TEgoShareSolver.h:51
void setManyNewItem(int)
Definition: TEgoShareSolver.cxx:62
int _Nstep
Definition: TEgoShareSolver.h:103
URANIE::DataServer::TAttribute * _ego
Definition: TEgoShareSolver.h:53
URANIE::Relauncher::TRun * _run
Definition: TEgoShareSolver.h:54
virtual ~TEgoShareSolver()
Definition: TEgoShareSolver.cxx:51
int _many
Definition: TEgoShareSolver.h:56
virtual void more()
Definition: TEgoShareSolver.cxx:88
int _Nfirst
Definition: TEgoShareSolver.h:103
efficient global optimization algorithm
THJMA * _algo
Definition: TEgoShareSolver.h:104
virtual ~TEgoHjSolver()
Definition: TEgoShareSolver.cxx:137