Log In | Get Help   
Home My Page Projects Code Snippets Project Openings Mareframe
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files
[mareframe] View of /trunk/paramin-beta/datascaler.cc
[mareframe] / trunk / paramin-beta / datascaler.cc Repository:
ViewVC logotype

View of /trunk/paramin-beta/datascaler.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (download) (annotate)
Mon Feb 10 17:09:07 2014 UTC (10 years, 3 months ago) by agomez
File size: 1501 byte(s)
Initial version based on Gadget 2.2.00
#include "datascaler.h"

DataScaler::DataScaler() {
  numVar = -1;
}

void DataScaler::setInitialData(const DoubleVector& l, const DoubleVector& u) {
  //assert(l.Size() > 0);
  //assert(l.Size() == u.Size());
  numVar = l.Size();
  lbd = l;
  ubd = u;
}

DataScaler::~DataScaler() {
}

double DataScaler::scaleResult(double y, int id, const DoubleVector& v1) {
  return y;
}

const DoubleVector& DataScaler::scaleX(const DoubleVector& v1) {
  assert(numVar > 0);
  assert(numVar == v1.Size());
  int i;
  x_vec.Reset();
  x_vec.resize(numVar, 0.0);
  for (i = 0; i < numVar; i++)
    x_vec[i] = scale(v1[i], i);
  return x_vec;
}

double DataScaler::scale(double p, int i) {
  //assert(numVar > 0);
  //assert(i > 0 && i <= numVar);
  return (p - ((ubd[i] + lbd[i]) * 0.5)) / ((ubd[i] - lbd[i]) * 0.5);
}

const DoubleVector& DataScaler::unscaleX(const DoubleVector& v1) {
  //assert(numVar > 0);
  //assert(v1.Size() == numVar);
  int i;
  x_vec.Reset();
  x_vec.resize(numVar, 0.0);
  for (i = 0; i < numVar; i++)
    x_vec[i]= unscale(v1[i], i);
  return x_vec;
}

double DataScaler::unscale(double p, int i) {
  //assert(numVar > 0);
  //assert(i > 0 && i <= numVar);
  return (p * (ubd[i] - lbd[i]) * 0.5 + (lbd[i] + ubd[i]) * 0.5);
}

void DataScaler::setPenalty(int numIndexes) {
  penalty.resize(numVar, 0.0);
}

const DoubleVector& DataScaler::getLower() {
  return lbd;
}

const DoubleVector& DataScaler::getUpper() {
  return ubd;
}

int DataScaler::getNumVariables() {
  return numVar;
}

root@forge.cesga.es
ViewVC Help
Powered by ViewVC 1.0.0  

Powered By FusionForge