diff options
Diffstat (limited to 'experimental/alignment-enabled/MGIZA/src/mkcls/IterOptimization.h')
-rw-r--r-- | experimental/alignment-enabled/MGIZA/src/mkcls/IterOptimization.h | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/experimental/alignment-enabled/MGIZA/src/mkcls/IterOptimization.h b/experimental/alignment-enabled/MGIZA/src/mkcls/IterOptimization.h new file mode 100644 index 0000000..ba39b55 --- /dev/null +++ b/experimental/alignment-enabled/MGIZA/src/mkcls/IterOptimization.h @@ -0,0 +1,123 @@ +/* + +Copyright (C) 1997,1998,1999,2000,2001 Franz Josef Och + +mkcls - a program for making word classes . + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program 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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. + +*/ + + + + + + + +#ifndef ITEROPTIMIZATION +#define ITEROPTIMIZATION + +#include "Optimization.h" + + + + + +#define ANZ_VERSCHLECHTERUNGEN 500 + +extern ostream *GraphOutput; + + +class IterOptimization : public Optimization + { + + + private: + int maxNonBetterIterations; + + + protected: + Problem &problem; + int curStep; + double curValue; + int bestStep; + double bestValue; + int maxStep; + int initialisiert; + short endFlag; + short endFlag2; + + + + + virtual void makeGraphOutput(); + + + virtual short end()=0; + + + virtual void abkuehlen()=0; + + + virtual short accept(double delta)=0; + + + virtual void zInitialize(); + + + public: + IterOptimization(Problem &p,int maxIter=-1); + + + IterOptimization(IterOptimization &o); + + + virtual double minimize(int steps=-1); + + + inline int getCurStep(); + + + inline double getCurrentValue(); + + + inline const Problem& getProblem(); + + +}; + +double IterOptimizationOptimizeParameter(Problem &p, + double ¶meter,double min,double max, + int nRun,int nPar,int verfahren,double &bv); + +inline int IterOptimization::getCurStep() +{ + return curStep; +}; +inline double IterOptimization::getCurrentValue() +{ + return curValue; +}; +inline const Problem& IterOptimization::getProblem() +{ + return problem; +}; + +#endif + + + + |