Optimizable.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //////////////////////////////////////////////////////////////////////
  2. //
  3. // Optimizable.cpp: implementation of the Optimizable class.
  4. //
  5. // Written By: Matthias Wacker
  6. //
  7. //////////////////////////////////////////////////////////////////////
  8. #include "core/optimization/blackbox/Optimizable.h"
  9. using namespace OPTIMIZATION;
  10. Optimizable::Optimizable() : m_numOfParameters(0)
  11. {
  12. }
  13. Optimizable::Optimizable(unsigned int numOfParameters) : m_numOfParameters(numOfParameters)
  14. {
  15. }
  16. Optimizable::Optimizable(const Optimizable &optimizable)
  17. {
  18. m_numOfParameters = optimizable.m_numOfParameters;
  19. }
  20. Optimizable::~Optimizable()
  21. {
  22. }
  23. Optimizable &Optimizable::operator=(const Optimizable &opt)
  24. {
  25. /*
  26. avoid self-copy
  27. */
  28. if(this != &opt)
  29. {
  30. /*
  31. own values:
  32. */
  33. m_numOfParameters = opt.m_numOfParameters;
  34. }
  35. return *this;
  36. }
  37. matrix_type Optimizable::evaluateSet(const matrix_type &parameterSet)
  38. {
  39. unsigned int iMax = parameterSet.cols();
  40. matrix_type result(parameterSet.cols(),1);
  41. for(unsigned int i = 0; i < iMax; i++)
  42. {
  43. //result(i) = this->evaluate(parameterSet.Sub(m_numOfParameters,1,0,i));
  44. result(i,0) = this->evaluate(parameterSet(0,i,m_numOfParameters-1,i));
  45. }
  46. return result;
  47. }