123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
-
-
-
-
-
-
- #ifndef _SimpleOptProblem_h_
- #define _SimpleOptProblem_h_
- #include <assert.h>
- #include "core/optimization/blackbox/Definitions_core_opt.h"
- #include "core/optimization/blackbox/CostFunction.h"
- #include "core/optimization/blackbox/DimWrapperCostFunction.h"
- namespace OPTIMIZATION {
- class SimpleOptProblem
- {
- public:
-
-
-
- SimpleOptProblem( );
-
-
-
-
-
-
-
-
-
- SimpleOptProblem(CostFunction* costfunc, OPTIMIZATION::matrix_type& initialParams, OPTIMIZATION::matrix_type& scales, bool allactive=true);
-
-
-
-
-
- SimpleOptProblem(const SimpleOptProblem& opt);
-
-
-
-
- ~SimpleOptProblem();
-
-
-
-
-
- SimpleOptProblem& operator=(const SimpleOptProblem& opt);
-
-
-
-
-
-
- void activateAllParams(bool status);
-
-
-
-
-
-
-
- void activateParam(int paramnum, bool status);
-
-
-
-
-
-
-
-
- bool isActive(int paramnum) const;
-
-
-
-
-
- bool allActive() const;
-
-
-
-
-
-
-
-
-
- int getNumParams() const;
-
-
-
-
- int getNumActiveParams() const;
-
-
-
-
-
-
- OPTIMIZATION::matrix_type getAllCurrentParams() const;
-
-
-
-
-
- OPTIMIZATION::matrix_type getActiveCurrentParams() const;
-
-
-
-
-
-
- OPTIMIZATION::matrix_type getAllScales() const;
-
-
-
-
-
- OPTIMIZATION::matrix_type getActiveScales() const;
-
-
-
-
-
-
- OPTIMIZATION::matrix_type getAllUpperBounds() const;
-
-
-
-
-
- OPTIMIZATION::matrix_type getActiveUpperBounds() const;
-
-
-
-
-
-
- OPTIMIZATION::matrix_type getAllLowerBounds() const;
-
-
-
-
-
- OPTIMIZATION::matrix_type getActiveLowerBounds() const;
-
-
-
-
-
-
- CostFunction* getCostFunction();
-
-
-
-
-
-
- CostFunction* getOriginalCostFunction() const;
-
-
-
-
-
-
-
- bool getMaximize() const;
-
-
-
-
-
-
-
- bool lowerBoundsActive() const;
-
-
-
-
-
-
-
- bool upperBoundsActive() const;
-
-
-
-
-
-
-
-
-
-
-
- void setAllCurrentParameters(OPTIMIZATION::matrix_type& params);
-
-
-
-
-
- void setActiveCurrentParameters(OPTIMIZATION::matrix_type& params);
-
-
-
-
-
-
- void setAllScales(OPTIMIZATION::matrix_type& scales);
-
-
-
-
-
- void setActiveScales(OPTIMIZATION::matrix_type& scales);
-
-
-
-
-
-
-
- void setLowerBound(int paramnumber, float lowerbound);
-
-
-
-
-
-
-
- void setUpperBound(int paramnumber, float upperbound);
-
-
-
-
- void resetLowerBounds();
-
-
-
-
- void resetUpperBounds();
-
-
-
-
-
-
- void changeCostFunc(CostFunction* costfunc);
-
-
-
-
-
- void setMaximize(bool maximize);
-
-
- protected:
- private:
-
-
-
-
- OPTIMIZATION::matrix_type computeSelectionMatrix() const;
-
- CostFunction* m_costfunc;
-
-
- int m_numParams;
-
-
- int m_numActiveParams;
-
-
- OPTIMIZATION::matrix_type m_currentparams;
-
-
- OPTIMIZATION::matrix_type m_scales;
-
-
- OPTIMIZATION::matrix_type m_upperBounds;
-
-
- OPTIMIZATION::matrix_type m_lowerBounds;
-
-
- OPTIMIZATION::matrix_type m_selection;
-
-
- bool m_maximize;
-
-
- bool m_lowerBoundsActive;
-
-
- bool m_upperBoundsActive;
-
-
- CostFunction* m_dimwrapper;
- };
-
- }
- #endif
|