English Français

Documentation / Manuel développeur

Modules disponibles

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / ReOptimizer: TVizirSolver.h Source File
Uranie / ReOptimizer v4.9.0
/* @license-end */
TVizirSolver.h
Go to the documentation of this file.
1
2// Copyright (C) 2013-2024 CEA/DES
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU Lesser General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or any
7// later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU Lesser General Public License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
18// $Id$
19// $Author$
20// $Date$
21// $Revision 1.2 $
22// $State$
24
32#ifndef __VIZIR_SOLVER__
33#define __VIZIR_SOLVER__
34
35//ROOT
36#include "Rtypes.h"
37#include "TNamed.h"
38
39// Uranie
40#include "Reoptimizer.h"
41
42struct vzragent;
43struct vzrbase;
44struct vzrsort;
45
46namespace URANIE
47{
48namespace Reoptimizer
49{
50
52struct diversity {
54 union {
55 struct {
56 int nba, nbb, nbc;
57 };
58 struct {
59 double val; int nb;
60 };
61 };
62};
63
64
65class TVizirSolver: public TObject
66{
67public:
68 virtual struct vzragent *build(int, int, int, double) = 0;
69 virtual int individu(struct vzragent *ag, int id, double **zone, double **front,
70 void **dat, int *rank, int *age, int *info=NULL, double *isol=NULL) = 0;
71 virtual Bool_t isCoded() = 0;
72 virtual void resume(struct vzragent *) = 0;
73
74 ClassDef(URANIE::Reoptimizer::TVizirSolver, ID_REOPTIMIZER)
75};
76
78{
79protected:
81 char *_resume;
84
85 void defaultShare();
86 void buildShare(struct vzrbase *pop);
87
88public:
89 void setSize(int pop, int neval = 0, int step = 0);
90 Bool_t setResume(int pop, char *file);
93 void setConstraintPolicy(int val=0);
94 void setMogaDiversity(int val=0);
95 void setCrowdDiversity(int vois=0);
96 void setPairDiversity(int vois=0);
97 void setIbeaDiversity(double k=0);
98 void setKneeDiversity(int vois=0, double taux=0.0);
99 void setMoeadDiversity(int cut1, int cut2=0, int vois=0);
100 void setModalDiversity(int vois=0);
101 void setStoppingCriteria(int stop=0);
102 void setQuiet();
103
104 virtual void resume(struct vzragent *ag);
105 virtual int individu(struct vzragent *ag, int id, double **zone, double **front,
106 void **data, int *rank, int *age, int *info, double *isol);
107
108 virtual Bool_t isCoded() {return kTRUE;}
109
110 ClassDef(URANIE::Reoptimizer::TVizirSolverShare, ID_REOPTIMIZER)
111};
112
113
114} } //namespace
115#endif
Definition TVizirSolver.h:78
void setQuiet()
Definition TVizirSolver.cxx:195
void setCrowdDiversity(int vois=0)
Definition TVizirSolver.cxx:141
void setConstraintPolicy(int val=0)
Definition TVizirSolver.cxx:120
struct diversity _diversity
Definition TVizirSolver.h:83
void setSize(int pop, int neval=0, int step=0)
Definition TVizirSolver.cxx:87
int _eval
Definition TVizirSolver.h:80
void setMogaDiversity(int val=0)
Definition TVizirSolver.cxx:135
int _continue
Definition TVizirSolver.h:80
void setSoftConstraintPolicy()
Definition TVizirSolver.cxx:115
void setPairDiversity(int vois=0)
Definition TVizirSolver.cxx:147
Bool_t setResume(int pop, char *file)
Definition TVizirSolver.cxx:97
int _step
Definition TVizirSolver.h:80
int _pop
Definition TVizirSolver.h:80
virtual Bool_t isCoded()
Definition TVizirSolver.h:108
void setModalDiversity(int vois=0)
Definition TVizirSolver.cxx:183
void setMoeadDiversity(int cut1, int cut2=0, int vois=0)
Definition TVizirSolver.cxx:173
int _cut1
Definition TVizirSolver.h:80
void defaultShare()
Definition TVizirSolver.cxx:75
Bool_t _quiet
Definition TVizirSolver.h:82
virtual int individu(struct vzragent *ag, int id, double **zone, double **front, void **data, int *rank, int *age, int *info, double *isol)
Definition TVizirSolver.cxx:260
virtual void resume(struct vzragent *ag)
Definition TVizirSolver.cxx:105
void setKneeDiversity(int vois=0, double taux=0.0)
Definition TVizirSolver.cxx:160
void setStoppingCriteria(int stop=0)
Definition TVizirSolver.cxx:190
int _cut2
Definition TVizirSolver.h:80
void buildShare(struct vzrbase *pop)
Definition TVizirSolver.cxx:200
Bool_t _doresume
Definition TVizirSolver.h:82
void setIbeaDiversity(double k=0)
Definition TVizirSolver.cxx:154
char * _resume
Definition TVizirSolver.h:81
void setStrictConstraintPolicy()
Definition TVizirSolver.cxx:110
int _policy
Definition TVizirSolver.h:80
Definition TVizirSolver.h:66
virtual int individu(struct vzragent *ag, int id, double **zone, double **front, void **dat, int *rank, int *age, int *info=NULL, double *isol=NULL)=0
virtual void resume(struct vzragent *)=0
virtual struct vzragent * build(int, int, int, double)=0
DiversityAlgo
Definition TVizirSolver.h:51
@ moga
Definition TVizirSolver.h:51
@ undef
Definition TVizirSolver.h:51
@ ibea
Definition TVizirSolver.h:51
@ knee
Definition TVizirSolver.h:51
@ crowd
Definition TVizirSolver.h:51
@ moead
Definition TVizirSolver.h:51
@ pair
Definition TVizirSolver.h:51
@ modal
Definition TVizirSolver.h:51
enum URANIE::Reoptimizer::DiversityAlgo diversityAlgo
Definition TCMAES.h:70
Definition TVizirSolver.h:52
int nb
Definition TVizirSolver.h:59
double val
Definition TVizirSolver.h:59
int nba
Definition TVizirSolver.h:56
diversityAlgo algo
Definition TVizirSolver.h:53
int nbc
Definition TVizirSolver.h:56
int nbb
Definition TVizirSolver.h:56