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.10.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 
42 struct vzragent;
43 struct vzrbase;
44 struct vzrsort;
45 
46 namespace URANIE
47 {
48 namespace Reoptimizer
49 {
50 
52 struct diversity {
54  union {
55  struct {
56  int nba, nbb, nbc;
57  };
58  struct {
59  double val; int nb;
60  };
61  };
62 };
63 
64 
65 class TVizirSolver: public TObject
66 {
67 public:
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 {
79 protected:
81  char *_resume;
82  Bool_t _doresume, _quiet;
84 
85  void defaultShare();
86  void buildShare(struct vzrbase *pop);
87 
88 public:
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: TCMAES.h:66
int nb
Definition: TVizirSolver.h:59
void setSize(int pop, int neval=0, int step=0)
Definition: TVizirSolver.cxx:87
Definition: TVizirSolver.h:51
int nbc
Definition: TVizirSolver.h:56
void buildShare(struct vzrbase *pop)
Definition: TVizirSolver.cxx:200
Bool_t _doresume
Definition: TVizirSolver.h:82
Definition: TVizirSolver.h:51
void setIbeaDiversity(double k=0)
Definition: TVizirSolver.cxx:154
int _cut1
Definition: TVizirSolver.h:80
Definition: TVizirSolver.h:51
void setStrictConstraintPolicy()
Definition: TVizirSolver.cxx:110
int _continue
Definition: TVizirSolver.h:80
Definition: TVizirSolver.h:51
Definition: TVizirSolver.h:65
void setSoftConstraintPolicy()
Definition: TVizirSolver.cxx:115
void setQuiet()
Definition: TVizirSolver.cxx:195
int _step
Definition: TVizirSolver.h:80
void setPairDiversity(int vois=0)
Definition: TVizirSolver.cxx:147
Definition: TVizirSolver.h:51
void setModalDiversity(int vois=0)
Definition: TVizirSolver.cxx:183
virtual struct vzragent * build(int, int, int, double)=0
virtual Bool_t isCoded()
Definition: TVizirSolver.h:108
int _pop
Definition: TVizirSolver.h:80
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
struct diversity _diversity
Definition: TVizirSolver.h:83
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:105
Bool_t setResume(int pop, char *file)
Definition: TVizirSolver.cxx:97
int nba
Definition: TVizirSolver.h:56
void setCrowdDiversity(int vois=0)
Definition: TVizirSolver.cxx:141
double val
Definition: TVizirSolver.h:59
void defaultShare()
Definition: TVizirSolver.cxx:75
Definition: TVizirSolver.h:51
void setMogaDiversity(int val=0)
Definition: TVizirSolver.cxx:135
Definition: TVizirSolver.h:52
Definition: TVizirSolver.h:51
void setMoeadDiversity(int cut1, int cut2=0, int vois=0)
Definition: TVizirSolver.cxx:173
char * _resume
Definition: TVizirSolver.h:81
Bool_t _quiet
Definition: TVizirSolver.h:82
Definition: TVizirSolver.h:77
void setStoppingCriteria(int stop=0)
Definition: TVizirSolver.cxx:190
DiversityAlgo
Definition: TVizirSolver.h:51
diversityAlgo algo
Definition: TVizirSolver.h:53
void setKneeDiversity(int vois=0, double taux=0.0)
Definition: TVizirSolver.cxx:160
int _eval
Definition: TVizirSolver.h:80
int _policy
Definition: TVizirSolver.h:80
int _cut2
Definition: TVizirSolver.h:80
void setConstraintPolicy(int val=0)
Definition: TVizirSolver.cxx:120
int nbb
Definition: TVizirSolver.h:56
Definition: TVizirSolver.h:51