template < class EOT >
eoPropCombinedMonOp <EOT>::eoPropCombinedMonOp(eoMonOp<EOT> &operator, const double _vjerojatnost)
template < class EOT >
eoPropCombinedMonOp<EOT>::add(eoMonOp<EOT> &operator, const double _vjerojatnost, bool _kontrola=false)
eoBitMutation <tip_jedinke > mutacija1(0.01); // definiramo mutaciju jednog bita
eoDetBitFlip< tip_jedinke > mutacija2(5); //definiramo mutaciju točno 5 bitova
eoPropCombinedMonOp< tip_jedinke > mutacija(mutacija1, vjerojatnost1); // definiramo objekt mutacija
mutacija.add(mutacija2, vjerojatnost2, true); // dodajemo drugu mutaciju , parametar true je dovoljno dodati prilikom
dodavanja zadnje mutacije
template < class EOT >
eoPropCombinedQuadOp<EOT>::eoPropCombinedQuadOp(eoMonOp<EOT> &operator, const double _vjerojatnost)
template < class EOT >
eoPropCombinedQuadOp<EOT>::add(eoQuadOp<EOT> &operator, const double _vjerojatnost, bool _kontrola=false)
eo1PtBitXover < tip_jedinke > krizanje1;
eoUBitXover < tip_jedinke > krizanje2;
eoNPtsBitXover <tip_jedinke > krizanje3(5);
eoPropCombinedQuadOp <tip_jedinke > krizanje(krizanje1, vjerojatnost1);
krizanje.add(krizanje2, vjerojatnost2);
krizanje.add(krizanje3, vjerojatnost3, true);
template<class EOT>
eoSGATransform < EOT >::eoSGATransform(eoQuadOp <EOT> &krizanje, double _vjerojatnost_kr, eoMonOp<EOT> & mutacija, double vjerojatnost_mut)
eoSGATransform<tip_jedinke > operator(krizanje, VJEROJATNOST_KRIZANJA, mutacija, VJEROJATNOST_MUTACIJE);
// već objašnjeni uvjet zaustavljanja kod dostizanja max broja generacija
eoGenContinue < tip_jedinke > genCont(MAX_GEN);
// prolazak kroz MIN_GEN broj generacija , a nakon toga zaustavljanje kada prođe STEADY_GEN broj generacija
// bez promjene
eoSteadyFitContinue < tip_jedinke > steadyCont(MIN_GEN, STEADY_GEN);
// zaustavljanje kad jedinka dosegne zadanu dobrotu
eoFitContinue < tip_jedinke > fitCont(0);
// kombiniranje zadanih uvjeta
eoCombinedContinue < tip_jedinke > continuator(genCont);
continuator.add(steadyCont);
continuator.add(fitCont);
// definiramo našu selekcija
eoDetTournamentSelect< tip_jedinke > selekcija1(3);
//ugrađujemo ju u objekt s 100% izborom populacije
eoSelectPerc< tip_jedinke > selekcija(selekcija1);
// definira se zamjena
eoGenerationalReplacement< tip_jedinke > genzamjena;
//definira se elitizam i u njega ugrađuje generacijska zamjena
eoWeakElitistReplacement< tip_jedinke > zamjena(genzamjena);
template < class Value Type >
eoValueParam < Value Type >::eoValueParam(ValueType _defaultValue, std::string _longName,
std::string _description="No description", char _shortHand=0, bool _required=false)
// definiramo parser
eoParser parser(argc, argv,"Opis","proba.in");
// definiramo objekt koji će sadržavati veličinu jedinke , njegovu default vrijednost dugo
i kratko ime
eoValueParam<unsigned int> vecVelicina(8, "vecVel", "Veličina jedinke",'V');
// stvaramo par vrijednost - ime
parser.processParam( vecVelicina, "Predstavljanje jedinke" );
// dodjeljujemo vrijdnost doređenoj varijabli koju ćemo koristiti
unsigned vecSize = vecVelicina.value();
// definira se kontrolna točka i ugrađuju se uvjeti završetka
eoCheckPoint<tip_jedinke> kontrolna_tocka(continuator);
// izdvajat će vrijednost najbolje jedinke svake generacije
eoBestFitnessStat<tip_jedinke> najbolji;
// računat će prosjek i standardnu devijaciju svake generacije
eoSecondMomentStats<tip_jedinke> par;
//dodavanje u kontrolnu točku
kontrolna_tocka.add(najbolji);
kontrolna_tocka.add(par);