From 10d1ebbb9b826ef53d991cc5c94d84c863697233 Mon Sep 17 00:00:00 2001 From: Caner Candan Date: Mon, 16 Aug 2010 15:38:39 +0200 Subject: [PATCH] issue to fix --- application/cma_sa/main.cpp | 4 ++-- src/doCMASA.h | 26 ++++++++++++++------------ src/doSamplerNormalMulti.h | 2 ++ 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/application/cma_sa/main.cpp b/application/cma_sa/main.cpp index 556e2e2c..607997cf 100644 --- a/application/cma_sa/main.cpp +++ b/application/cma_sa/main.cpp @@ -38,7 +38,7 @@ int main(int ac, char** av) // Instantiate all need parameters for CMASA algorithm //----------------------------------------------------------------------------- - eoSelect< EOT >* selector = new eoDetSelect< EOT >(0.1); + eoSelect< EOT >* selector = new eoDetSelect< EOT >(0.5); state.storeFunctor(selector); doEstimator< Distrib >* estimator = @@ -47,7 +47,7 @@ int main(int ac, char** av) new doEstimatorNormalMulti< EOT >(); state.storeFunctor(estimator); - eoSelectOne< EOT >* selectone = new eoDetTournamentSelect< EOT >(); + eoSelectOne< EOT >* selectone = new eoDetTournamentSelect< EOT >( 2 ); state.storeFunctor(selectone); doModifierMass< Distrib >* modifier = diff --git a/src/doCMASA.h b/src/doCMASA.h index 06f6628f..45b06705 100644 --- a/src/doCMASA.h +++ b/src/doCMASA.h @@ -162,7 +162,7 @@ public: // several files. //------------------------------------------------------------- - //int number_of_iterations = 0; + int number_of_iterations = 0; //------------------------------------------------------------- @@ -213,6 +213,8 @@ public: _selector(pop, selected_pop); + assert( selected_pop.size() > 0 ); + //------------------------------------------------------------- @@ -351,23 +353,23 @@ public: // dicreasement //------------------------------------------------------------- - { - double size = distrib.size(); - assert(size > 0); + // { + // double size = distrib.size(); + // assert(size > 0); - doHyperVolume< EOT > hv; + // doHyperVolume< EOT > hv; - for (int i = 0; i < size; ++i) - { - //hv.update( distrib.varcovar()[i] ); - } + // for (int i = 0; i < size; ++i) + // { + // //hv.update( distrib.varcovar()[i] ); + // } - //_ofs_params_var << hv << std::endl; - } + // //_ofs_params_var << hv << std::endl; + // } //------------------------------------------------------------- - //++number_of_iterations; + ++number_of_iterations; } while ( _cooling_schedule( temperature ) && diff --git a/src/doSamplerNormalMulti.h b/src/doSamplerNormalMulti.h index 94e40758..36bf6c2e 100644 --- a/src/doSamplerNormalMulti.h +++ b/src/doSamplerNormalMulti.h @@ -35,6 +35,8 @@ public: assert(Vc > 0); + assert( Vl == Vc ); + _L.resize(Vl, Vc); unsigned int i,j,k;