/* (c) Thales group, 2010 This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; version 2 of the License. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact: http://eodev.sourceforge.net Authors: Lionel Parreaux */ //----------------------------------------------------------------------------- // t-moStdDevEstimator.cpp //----------------------------------------------------------------------------- #include #include "es/eoReal.h" #include "neighborhood/moRealNeighbor.h" //Representation and initializer #include //#include #include // fitness function #include //Neighbors and Neighborhoods #include #include //Sampling #include //----------------------------------------------------------------------------- // Define types of the representation solution, different neighbors and neighborhoods //----------------------------------------------------------------------------- typedef eoInt Queen; //Permutation (Queen's problem representation) typedef moShiftNeighbor shiftNeighbor; //shift Neighbor typedef moRndWithReplNeighborhood rndShiftNeighborhood; //rnd shift Neighborhood (Indexed) //----------------------------------------------------------------------------- typedef eoReal< eoMinimizingFitness > EOT; typedef moRealNeighbor< EOT > Neighbor; int main(int ac, char** av) { unsigned vecSize = 8; queenEval fullEval; eoInitPermutation init(vecSize); rndShiftNeighborhood rndShiftNH((vecSize-1) * (vecSize-1)); Queen solution; init(solution); fullEval(solution); moStdDevEstimator initTemp (500, rndShiftNH, fullEval); double temp = initTemp(solution); std::cout << "temp: " << temp << std::endl; assert(temp >= 0); }