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.9.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
45namespace URANIE {
46namespace MetaModelOptim {
47
49{
50protected:
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
63public:
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
79class TEgoVzrSolver : public TEgoShareSolver
80{
81protected:
82 URANIE::Reoptimizer::TVizirSolverShare *_algo;
83 URANIE::Reoptimizer::TVizir2 *_viz;
84 URANIE::Reoptimizer::TGreaterFit _signif;
85 int _NG;
86
87public:
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{
102protected:
105
106public:
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
efficient global optimization algorithm
#define ID_EGO
Definition TEGO.h:31
HJMA search algorithm.
Definition TEgoShareSolver.h:101
int _Nstep
Definition TEgoShareSolver.h:103
TEgoHjSolver()
Definition TEgoShareSolver.cxx:128
THJMA * _algo
Definition TEgoShareSolver.h:104
void solverLoop()
Definition TEgoShareSolver.cxx:211
void setSize(int, int)
Definition TEgoShareSolver.cxx:143
int _Nfirst
Definition TEgoShareSolver.h:103
virtual ~TEgoHjSolver()
Definition TEgoShareSolver.cxx:137
virtual int getNext(long ev, int nb, vector< vector< URANIE::DataServer::UEntry * > > &sampl, vector< char > &mark)
Definition TEgoShareSolver.cxx:150
Definition TEgoShareSolver.h:49
virtual ~TEgoShareSolver()
Definition TEgoShareSolver.cxx:51
TEgoShareSolver()
Definition TEgoShareSolver.cxx:44
int _first
Definition TEgoShareSolver.h:56
int _NinDat
Definition TEgoShareSolver.h:56
vector< URANIE::DataServer::TAttribute * > _in
Definition TEgoShareSolver.h:52
virtual void more()
Definition TEgoShareSolver.cxx:88
virtual void build(URANIE::Relauncher::TRun *, vector< URANIE::DataServer::TAttribute * > &, URANIE::DataServer::TAttribute *)
Definition TEgoShareSolver.cxx:67
URANIE::DataServer::TDataServer * _tds
Definition TEgoShareSolver.h:51
void setManyNewItem(int)
Definition TEgoShareSolver.cxx:62
double _valid_ei
Definition TEgoShareSolver.h:57
int _many
Definition TEgoShareSolver.h:56
virtual void significantEI(double)
Definition TEgoShareSolver.cxx:57
URANIE::Reoptimizer::TMaximizeFit _maxim
Definition TEgoShareSolver.h:55
URANIE::DataServer::TAttribute * _ego
Definition TEgoShareSolver.h:53
virtual void next()
Definition TEgoShareSolver.cxx:76
URANIE::Relauncher::TRun * _run
Definition TEgoShareSolver.h:54
Definition THJMA.h:65
Definition TEGO.h:57