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.11.0
/* @license-end */
TVizirSolver.h
Go to the documentation of this file.
1 // 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 #include "TOptimShare.h"
42 #include "TDataServer.h"
43 #include "TRun.h"
44 
45 struct vzragent;
46 struct vzrbase;
47 struct vzrsort;
48 
49 namespace URANIE
50 {
51 namespace Reoptimizer
52 {
53 
54 //class TVizirShare;
55 class TOptimReprise;
56 
58 struct diversity {
60  union {
61  struct {
62  int nba, nbb, nbc;
63  };
64  struct {
65  double val; int nb;
66  };
67  };
68 };
69 
70 
72 {
73 public:
74  virtual struct vzragent *build(int, int, int, double) = 0;
75  virtual int individu(struct vzragent *ag, int id, double **zone, double **front,
76  void **dat, int *rank, int *age, int *info=NULL, double *isol=NULL) = 0;
77  virtual Bool_t isCoded() = 0;
78  virtual void resume(struct vzragent *) = 0;
79 
80  ClassDef(URANIE::Reoptimizer::TVizirSolver, ID_REOPTIMIZER)
81 };
82 
84 {
85 protected:
87  char *_resume;
88  Bool_t _doresume, _quiet;
90 
91  void defaultShare();
92  void buildShare(struct vzrbase *pop);
93 
94 public:
95  void setSize(int pop, int neval = 0, int step = 0);
96  Bool_t setResume(int pop, char *file);
99  void setConstraintPolicy(int val=0);
100  void setMogaDiversity(int val=0);
101  void setCrowdDiversity(int vois=0);
102  void setPairDiversity(int vois=0);
103  void setIbeaDiversity(double k=0);
104  void setKneeDiversity(int vois=0, double taux=0.0);
105  void setMoeadDiversity(int cut1, int cut2=0, int vois=0);
106  void setModalDiversity(int vois=0);
107  void setStoppingCriteria(int stop=0);
108  void setQuiet();
109  void setFixedSeed();
110 
111  virtual void resume(struct vzragent *ag);
112  virtual int individu(struct vzragent *ag, int id, double **zone, double **front,
113  void **data, int *rank, int *age, int *info, double *isol);
114 
115  virtual Bool_t isCoded() {return kTRUE;}
116  virtual TOptimReprise *getMaster(URANIE::DataServer::TDataServer *tds,
117  URANIE::Relauncher::TRun *run);
118 
119  ClassDef(URANIE::Reoptimizer::TVizirSolverShare, ID_REOPTIMIZER)
120 };
121 
122 
123 } } //namespace
124 #endif
Definition: TCMAES.cxx:49
int nb
Definition: TVizirSolver.h:65
void setSize(int pop, int neval=0, int step=0)
Definition: TVizirSolver.cxx:91
Definition: TVizirSolver.h:57
int nbc
Definition: TVizirSolver.h:62
void buildShare(struct vzrbase *pop)
Definition: TVizirSolver.cxx:210
Bool_t _doresume
Definition: TVizirSolver.h:88
Definition: TVizirSolver.h:57
virtual TOptimReprise * getMaster(URANIE::DataServer::TDataServer *tds, URANIE::Relauncher::TRun *run)
Definition: TVizirSolver.cxx:270
void setIbeaDiversity(double k=0)
Definition: TVizirSolver.cxx:158
int _cut1
Definition: TVizirSolver.h:86
Definition: TVizirSolver.h:57
void setStrictConstraintPolicy()
Definition: TVizirSolver.cxx:114
int _continue
Definition: TVizirSolver.h:86
Definition: TVizirSolver.h:57
Definition: TVizirSolver.h:71
void setSoftConstraintPolicy()
Definition: TVizirSolver.cxx:119
void setQuiet()
Definition: TVizirSolver.cxx:199
int _step
Definition: TVizirSolver.h:86
void setPairDiversity(int vois=0)
Definition: TVizirSolver.cxx:151
Definition: TVizirSolver.h:57
void setModalDiversity(int vois=0)
Definition: TVizirSolver.cxx:187
virtual struct vzragent * build(int, int, int, double)=0
virtual Bool_t isCoded()
Definition: TVizirSolver.h:115
int _pop
Definition: TVizirSolver.h:86
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:284
struct diversity _diversity
Definition: TVizirSolver.h:89
virtual void resume(struct vzragent *)=0
enum URANIE::Reoptimizer::DiversityAlgo diversityAlgo
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 *ag)
Definition: TVizirSolver.cxx:109
Bool_t setResume(int pop, char *file)
Definition: TVizirSolver.cxx:101
int nba
Definition: TVizirSolver.h:62
void setCrowdDiversity(int vois=0)
Definition: TVizirSolver.cxx:145
double val
Definition: TVizirSolver.h:65
void defaultShare()
Definition: TVizirSolver.cxx:79
Definition: TVizirSolver.h:57
void setMogaDiversity(int val=0)
Definition: TVizirSolver.cxx:139
Definition: TVizirSolver.h:58
Definition: TVizirSolver.h:57
void setMoeadDiversity(int cut1, int cut2=0, int vois=0)
Definition: TVizirSolver.cxx:177
char * _resume
Definition: TVizirSolver.h:87
Bool_t _quiet
Definition: TVizirSolver.h:88
Definition: TOptimShare.h:150
Definition: TVizirSolver.h:83
void setStoppingCriteria(int stop=0)
Definition: TVizirSolver.cxx:194
DiversityAlgo
Definition: TVizirSolver.h:57
diversityAlgo algo
Definition: TVizirSolver.h:59
void setFixedSeed()
Definition: TVizirSolver.cxx:204
void setKneeDiversity(int vois=0, double taux=0.0)
Definition: TVizirSolver.cxx:164
int _eval
Definition: TVizirSolver.h:86
methodes communes aux algo d optimisation
Definition: TOptimShare.h:134
int _policy
Definition: TVizirSolver.h:86
int _cut2
Definition: TVizirSolver.h:86
void setConstraintPolicy(int val=0)
Definition: TVizirSolver.cxx:124
int nbb
Definition: TVizirSolver.h:62
Definition: TVizirSolver.h:57