123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- #ifndef _COMBINATORIAL_OPTIMIZER_
- #define _COMBINATORIAL_OPTIMIZER_
- #include "core/optimization/blackbox/SimpleOptimizer.h"
- #include "core/optimization/blackbox/Definitions_core_opt.h"
- namespace OPTIMIZATION
- {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- class CombinatorialOptimizer : public SimpleOptimizer
- {
- public:
- typedef SimpleOptimizer SuperClass;
- typedef OPTIMIZATION::matrix_type matrix_type;
-
-
-
-
- CombinatorialOptimizer(OptLogBase *loger=NULL);
-
-
-
-
- CombinatorialOptimizer( const CombinatorialOptimizer &opt);
-
-
-
- CombinatorialOptimizer & operator=(const CombinatorialOptimizer &opt);
-
-
-
- ~CombinatorialOptimizer();
-
-
-
-
-
- void init();
-
-
-
-
- int optimize();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bool setMode(int mode);
-
-
-
-
-
-
-
-
-
-
- bool setControlSeqParam(double T0, double alpha);
-
-
-
-
-
-
-
-
- inline void setThreshold(double thres){m_threshold = thres;};
-
-
-
-
- inline void setFastMode(bool fastmode){m_fast = fastmode;};
- private:
-
-
-
- matrix_type generatePoint();
-
-
-
- bool accepptPoint(double oldValue, double newValue);
-
-
-
- int m_mode;
-
-
-
- bool m_fast;
-
-
-
- double m_T0;
-
-
-
- double m_Tk;
-
-
-
- double m_alpha;
-
-
-
- double m_threshold;
-
-
-
- double m_stepLength;
-
- };
- }
- #endif
|