Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

ProblemDescription Class Reference

Auxiliary class for MipHandler. More...

#include <ProblemDescription.h>

Collaboration diagram for ProblemDescription:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Description data query functions
int getNumOfNonzeroCols ()
int getNumOfNonzeroRows ()
int getIndexOfCapacity (CapacityType type)
int getIndexOfCapacity (CapacityType type, const int arrayIndex)
int getNumOfIrrigationActivities ()
int getNumOfIrrigationGroups ()
infoPerf getCashOnFarm ()
infoPerf getCashOffFarm ()
infoPerf getHiringTempLaborOnFarm ()
infoPerf getHiringTempLaborOffFarm ()
infoPerf getHiringPermanentLaborOnFarm ()
infoPerf getHiringPermanentLaborOffFarm ()
int getNumOfLaborSpans ()
int getNumOfCashSpans ()
int getFixedBinaryLabor ()
int getIndexOfActivity (ActivityType type)
int getIndexOfActivity (ActivityType type, const int arrayIndex)
int getNumOfFixedVariablesConsumption ()
const int * getFixedVariablesConsumption () const
int getNumOfFixedCapacities ()
int getNumOfFineTuneParameter ()
const infoFinegetFineTuneParameters () const
infoTSPC getInfoOnActivityCropTSPC (int x, int y)
infoResi getInfoOnActivityCropResiduals (int arrayIndex)
int getNumOfHydrologyCroppingActivities ()
InfoHydro getInfoOnActivityCropHydrology (int arrayIndex)
Description parameter query functions
bool getTestFlag ()
double getTolearance ()
Description parameter modification functions
virtual void setTestFlag (bool test)
virtual void setTolerance (double eps_)
reading and writing fieles
virtual int read (FILE *datStream, const AgentProblem &agentProblemObject)
 read in the whole ProblemDescription data from an Excel style file
virtual int write (FILE *datStream)
 write problem description to file.
Constructors and Desturctors
 ProblemDescription ()
 Standard constructor.
virtual ~ProblemDescription ()
 TODO 3 -oGoehring -cImplement : default copy constructorTODO 3 -oGoehring -cImplement : default assignment operatorDestructor.

Private Member Functions

Private methods
virtual int writeInfoOnActivityCropTSPC (char *filename)
 writes actTSPC to file with given filename
virtual void writeHydroInfoInFile (char *filename)
void gutsOfConstructor ()
 real work of constructor
void gutsOfDestructor ()
 real work of destructor
template<class Type>
int allocateVector (Type *&pointertovector, long int sizeofvector)
 allocates memory for an array of type Type with size sizefovector and checks if size is positive

Private Attributes

Desription data
int nncols
 number of nonzero columns
int nnrows
 number of nonzero rows
double pfill
 percentage of nonzeros in MatrixDouble
int capLab
 row index labor capacity
int capLiq
 row index liquidity capacity
int * capInv
 row indices for investments in different soil classes
int capWat
 row index of first water capacity
int numIrrActiv
 Number of irrigation activities (old:anzahlBV).
int numIrrGroups
 Number of irrigation groups (old:anzahlGr).
int capLnd
 index of first soil type capacity
int capCsh
 index of average capital capacity
int capAvl
 index of average labor capacity
int capMac
 index of average machinery capacity of permanent cultures
int actSvg
 Savings activity (LP column).
int actExt
 Extra consumption activity (LP column).
infoPerf cashOnf
 info on cash on-farm (=short-term credit)
infoPerf cashOff
 info on cash off-farm (=short-term deposit)
infoPerf tLabOnf
 info on hiring in temporary labor
infoPerf tLabOff
 info on hiring out temporary labor
infoPerf pLabOnf
 info on hiring in permanent labor
infoPerf pLabOff
 info on hiring out permanent labor
int labSpans
 number of labor spans
int cshSpans
 number of cash spans
int fixLabor
 fix binary labor (yes/no)
int actFemaY
 activity index for female adult labor (yes)
int actFemaN
 activity index for female adult labor (no)
int actMaleY
 activity index for male adult labor (yes)
int actMaleN
 activity index for male adult labor (no)
int numFixCaps
 Number of fixed (= agent independent ) LP Capacities (old:anzahlK).
int disBinC
 activity index of binary disinvestment activity
int disBinR
 capacity index of first asset in binary disinvestment activity
int ntrDmdR
 capacity index of first food nutrient demand
int numFixV
 number of variables to be fixed in consumption model
int * fixCols
 activity indices of fixed variable in consumption model
int numFine
 number of fine-tuning parameters
infoFineactFine
 pointer to MILP fine-tuning information
infoTSPC ** actTSPC
 pointer to crop information used in TSPC model (TSPC cropping activities)
infoResiactResi
 pointer to stover information (crop residuals)
int colManu
 manure accounting activity (LP column)
int numHydro
InfoHydroactHydro
Parameters
double eps
 Tolerance.
int test
 Test flag.

Detailed Description

Auxiliary class for MipHandler.

This class contains data wich is supposed to override the data of the MIP which is hold by the MipHandler as specific AgentProblem's. In particular information about the Hydrology is contained.


Constructor & Destructor Documentation

ProblemDescription::ProblemDescription  ) 
 

Standard constructor.

virtual ProblemDescription::~ProblemDescription  )  [virtual]
 

TODO 3 -oGoehring -cImplement : default copy constructorTODO 3 -oGoehring -cImplement : default assignment operatorDestructor.


Member Function Documentation

template<class Type>
int ProblemDescription::allocateVector Type *&  pointertovector,
long int  sizeofvector
[private]
 

allocates memory for an array of type Type with size sizefovector and checks if size is positive

infoPerf ProblemDescription::getCashOffFarm  ) 
 

infoPerf ProblemDescription::getCashOnFarm  ) 
 

const infoFine* ProblemDescription::getFineTuneParameters  )  const
 

int ProblemDescription::getFixedBinaryLabor  ) 
 

const int* ProblemDescription::getFixedVariablesConsumption  )  const
 

infoPerf ProblemDescription::getHiringPermanentLaborOffFarm  ) 
 

infoPerf ProblemDescription::getHiringPermanentLaborOnFarm  ) 
 

infoPerf ProblemDescription::getHiringTempLaborOffFarm  ) 
 

infoPerf ProblemDescription::getHiringTempLaborOnFarm  ) 
 

int ProblemDescription::getIndexOfActivity ActivityType  type,
const int  arrayIndex
 

int ProblemDescription::getIndexOfActivity ActivityType  type  ) 
 

int ProblemDescription::getIndexOfCapacity CapacityType  type,
const int  arrayIndex
 

int ProblemDescription::getIndexOfCapacity CapacityType  type  ) 
 

Returns the capacity chosen with type (cf. enum CapacityType) and 0 on failure

InfoHydro ProblemDescription::getInfoOnActivityCropHydrology int  arrayIndex  ) 
 

infoResi ProblemDescription::getInfoOnActivityCropResiduals int  arrayIndex  ) 
 

infoTSPC ProblemDescription::getInfoOnActivityCropTSPC int  x,
int  y
 

int ProblemDescription::getNumOfCashSpans  ) 
 

int ProblemDescription::getNumOfFineTuneParameter  ) 
 

int ProblemDescription::getNumOfFixedCapacities  ) 
 

int ProblemDescription::getNumOfFixedVariablesConsumption  ) 
 

int ProblemDescription::getNumOfHydrologyCroppingActivities  ) 
 

int ProblemDescription::getNumOfIrrigationActivities  ) 
 

int ProblemDescription::getNumOfIrrigationGroups  ) 
 

int ProblemDescription::getNumOfLaborSpans  ) 
 

int ProblemDescription::getNumOfNonzeroCols  ) 
 

int ProblemDescription::getNumOfNonzeroRows  ) 
 

bool ProblemDescription::getTestFlag  ) 
 

double ProblemDescription::getTolearance  ) 
 

void ProblemDescription::gutsOfConstructor  )  [private]
 

real work of constructor

void ProblemDescription::gutsOfDestructor  )  [private]
 

real work of destructor

virtual int ProblemDescription::read FILE *  datStream,
const AgentProblem agentProblemObject
[virtual]
 

read in the whole ProblemDescription data from an Excel style file

virtual void ProblemDescription::setTestFlag bool  test  )  [virtual]
 

virtual void ProblemDescription::setTolerance double  eps_  )  [virtual]
 

virtual int ProblemDescription::write FILE *  datStream  )  [virtual]
 

write problem description to file.

A complete .dat file is produced when first the Agent Problem part (=mtx) is written and then ProblemDescription::write() is called. C.f. MipHandler::writeDat() TODO:(i) implement write InfoHydro part (ii) test this function!!!

virtual void ProblemDescription::writeHydroInfoInFile char *  filename  )  [private, virtual]
 

virtual int ProblemDescription::writeInfoOnActivityCropTSPC char *  filename  )  [private, virtual]
 

writes actTSPC to file with given filename


Member Data Documentation

int ProblemDescription::actExt [private]
 

Extra consumption activity (LP column).

int ProblemDescription::actFemaN [private]
 

activity index for female adult labor (no)

int ProblemDescription::actFemaY [private]
 

activity index for female adult labor (yes)

infoFine* ProblemDescription::actFine [private]
 

pointer to MILP fine-tuning information

InfoHydro* ProblemDescription::actHydro [private]
 

READ FROM FILE: numHydro dimensions: (1 X numHydro)

int ProblemDescription::actMaleN [private]
 

activity index for male adult labor (no)

int ProblemDescription::actMaleY [private]
 

activity index for male adult labor (yes)

infoResi* ProblemDescription::actResi [private]
 

pointer to stover information (crop residuals)

int ProblemDescription::actSvg [private]
 

Savings activity (LP column).

infoTSPC** ProblemDescription::actTSPC [private]
 

pointer to crop information used in TSPC model (TSPC cropping activities)

dimensions: (soilsp->getNumCropA() X soilsp->getNumCropA())

int ProblemDescription::capAvl [private]
 

index of average labor capacity

int ProblemDescription::capCsh [private]
 

index of average capital capacity

int* ProblemDescription::capInv [private]
 

row indices for investments in different soil classes

int ProblemDescription::capLab [private]
 

row index labor capacity

int ProblemDescription::capLiq [private]
 

row index liquidity capacity

int ProblemDescription::capLnd [private]
 

index of first soil type capacity

int ProblemDescription::capMac [private]
 

index of average machinery capacity of permanent cultures

int ProblemDescription::capWat [private]
 

row index of first water capacity

infoPerf ProblemDescription::cashOff [private]
 

info on cash off-farm (=short-term deposit)

infoPerf ProblemDescription::cashOnf [private]
 

info on cash on-farm (=short-term credit)

int ProblemDescription::colManu [private]
 

manure accounting activity (LP column)

int ProblemDescription::cshSpans [private]
 

number of cash spans

int ProblemDescription::disBinC [private]
 

activity index of binary disinvestment activity

int ProblemDescription::disBinR [private]
 

capacity index of first asset in binary disinvestment activity

double ProblemDescription::eps [private]
 

Tolerance.

int* ProblemDescription::fixCols [private]
 

activity indices of fixed variable in consumption model

int ProblemDescription::fixLabor [private]
 

fix binary labor (yes/no)

int ProblemDescription::labSpans [private]
 

number of labor spans

int ProblemDescription::nncols [private]
 

number of nonzero columns

int ProblemDescription::nnrows [private]
 

number of nonzero rows

int ProblemDescription::ntrDmdR [private]
 

capacity index of first food nutrient demand

int ProblemDescription::numFine [private]
 

number of fine-tuning parameters

int ProblemDescription::numFixCaps [private]
 

Number of fixed (= agent independent ) LP Capacities (old:anzahlK).

int ProblemDescription::numFixV [private]
 

number of variables to be fixed in consumption model

int ProblemDescription::numHydro [private]
 

int ProblemDescription::numIrrActiv [private]
 

Number of irrigation activities (old:anzahlBV).

int ProblemDescription::numIrrGroups [private]
 

Number of irrigation groups (old:anzahlGr).

double ProblemDescription::pfill [private]
 

percentage of nonzeros in MatrixDouble

infoPerf ProblemDescription::pLabOff [private]
 

info on hiring out permanent labor

infoPerf ProblemDescription::pLabOnf [private]
 

info on hiring in permanent labor

int ProblemDescription::test [private]
 

Test flag.

infoPerf ProblemDescription::tLabOff [private]
 

info on hiring out temporary labor

infoPerf ProblemDescription::tLabOnf [private]
 

info on hiring in temporary labor


The documentation for this class was generated from the following file:
Generated on Thu Aug 28 12:41:40 2008 for MPMAS by  doxygen 1.3.9.1