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

AgentUserAssociation Class Reference

Class AgentUserAssociation, derived from base class Agent. More...

#include <AgentUserAssociation.h>

Inheritance diagram for AgentUserAssociation:

Inheritance graph
[legend]
Collaboration diagram for AgentUserAssociation:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Assignment of individual water rights
virtual int getNumLotteryValues ()
 Number of lottery values.
virtual void assignWaterRightsPerRandomData (FILE *rndWaterRightsStrm, FILE *dbgWaterRightsStrm)
 ... by random data generator
virtual void readLotteryDataFromStream (FILE *stream)
virtual void writeLotteryDataToStream (FILE *stream)
virtual void initializeWaterLottery (int numLotteryValues_)
virtual double drawRandomWaterRight (int inflow_)
virtual void assignWaterRightsPerActualData (FILE *actWaterRightsStrm, FILE *dbgWaterRightsStrm, int &catchmID_, int &sectorID_)
 ... by data from file
virtual void readWaterRightsFromStream (FILE *stream, int &catchmID_, int &sectorID_)
virtual void writeWaterRightsToStream (FILE *stream)
virtual void assignNumberOfMembers (int numMembers_)
virtual void createWaterRightsRegistry ()
virtual double getWaterRightForAgent (int agFstdID_, int inflowID_)
virtual void setWaterRightForAgent (int agFstdID_, int inflowID_, double share_)
Assignment of infrastructure projects to agents
virtual void assignInfrastructureProjectsPerActualData (FILE *infrastructureProjectsStrm, int &catchmID_, int &sectorID_)
 ... by reading data from file
virtual void readInfrastructureProjectsFromStream (FILE *stream, int &catchmID_, int &sectorID_)
virtual void writeInfrastructureProjectsToStream (FILE *stream)
virtual void createInfrastructureProjectRegistry ()
virtual int checkIfAgentHasProjects (int agFstdID, int year, MatrixDouble &objectIDs, MatrixDouble &sizes, MatrixDouble &purchasePrices, MatrixDouble &sharesEC, MatrixDouble &ratesDC)
virtual void reportImplementationResult (int agFstdID, int year, int objectID, double size, double purchasePrice, int implemented)
Data query functions
virtual double get_Q_B (int stype)
 Request basic market information.
virtual double get_Q_W (int month)
virtual double get_volB (int month)
virtual int getNumAgents (void)
virtual int getNumParcels (void)
Data input functions
virtual void addQ_B (int stype, double q_b)
 Add to market level and calculate averages.
virtual void addQ_W (int month, double q_w)
virtual void addVolB (int month, double v_B)
virtual void addNumAgents (int numberOfAgentsInMarket_)
virtual void addNumParcels (int numberOfParcelsInMarket_)
virtual void calcSectorAverages (void)
Rental market functions
virtual void makeBidForRentingOut (gebot *bid)
 Setting up rental markets for water and land.
virtual void makeBidForRentingIn (gebot *bid)
virtual void boden_wasser_transferieren ()
virtual int get_interesse (int *)
virtual void transferRentalWater (int month)
virtual void pachtmarkt_zuruecksetzen ()
virtual void schattenpreise_zuruecksetzen ()
virtual double eigentum_uebertragen (parzelle *, w_rechte *, double)
 Sales to the landowner agent.
virtual double kaufpreis_berechnen (int, w_jahr *, double)
virtual void writeYearlyLandRental ()
 Write market outcomes to files.
virtual void writeAllMonthlyWaterRental (int shift)
virtual void P_in_datei_schreiben ()
virtual void P_in_datei_schreiben (bool isExpected)
Constructors and destructors
 AgentUserAssociation (int agentID_, int catchmentID_, int sectorID_)
 Constructor that also allocates required memory.
virtual ~AgentUserAssociation ()
 Destructor.

Protected Attributes

Protected member data
int catchmentID
 Catchment and sector IDs.
int sectorID
int agType
 Type of agent (here: agent association = 2).
int agentID
 Here: Agent association ID (not yet used).
int numMembers
 Number of members.
int numLotteryValues
 Number of lottery values (if = 0: actual data, else: random data).
AgentWaterRight ** waterRightsRegistry
 Registry of water rights.
MatrixDouble wlotto
 Random-data information for assignment of water rights.
bwmarkt pachtmarkt
 Instance of rental market.
int numberOfAgentsInMarket
 Number of agents and parcels in land market.
int numberOfParcelsInMarket
MatrixDouble Q_B
 Average shadow prices for land and water.
MatrixDouble Q_W
MatrixDouble volB
 Expected gross water availability per parcel.
int numInfrastructureProjects
 Number of irrigation infrastructure projects.
InfrastructureProjectinfrastructureProjectRegistry
 Registry of infrastructure projects.

Detailed Description

Class AgentUserAssociation, derived from base class Agent.

This agent-related class manages the access to land resources, provides irrigation infrastructure to its member farm agents, assigns water quotas and distributes irrigation water


Constructor & Destructor Documentation

AgentUserAssociation::AgentUserAssociation int  agentID_,
int  catchmentID_,
int  sectorID_
 

Constructor that also allocates required memory.

virtual AgentUserAssociation::~AgentUserAssociation  )  [virtual]
 

Destructor.


Member Function Documentation

virtual void AgentUserAssociation::addNumAgents int  numberOfAgentsInMarket_  )  [virtual]
 

virtual void AgentUserAssociation::addNumParcels int  numberOfParcelsInMarket_  )  [virtual]
 

virtual void AgentUserAssociation::addQ_B int  stype,
double  q_b
[virtual]
 

Add to market level and calculate averages.

virtual void AgentUserAssociation::addQ_W int  month,
double  q_w
[virtual]
 

virtual void AgentUserAssociation::addVolB int  month,
double  v_B
[virtual]
 

virtual void AgentUserAssociation::assignInfrastructureProjectsPerActualData FILE *  infrastructureProjectsStrm,
int &  catchmID_,
int &  sectorID_
[virtual]
 

... by reading data from file

virtual void AgentUserAssociation::assignNumberOfMembers int  numMembers_  )  [virtual]
 

virtual void AgentUserAssociation::assignWaterRightsPerActualData FILE *  actWaterRightsStrm,
FILE *  dbgWaterRightsStrm,
int &  catchmID_,
int &  sectorID_
[virtual]
 

... by data from file

virtual void AgentUserAssociation::assignWaterRightsPerRandomData FILE *  rndWaterRightsStrm,
FILE *  dbgWaterRightsStrm
[virtual]
 

... by random data generator

virtual void AgentUserAssociation::boden_wasser_transferieren  )  [virtual]
 

virtual void AgentUserAssociation::calcSectorAverages void   )  [virtual]
 

virtual int AgentUserAssociation::checkIfAgentHasProjects int  agFstdID,
int  year,
MatrixDouble objectIDs,
MatrixDouble sizes,
MatrixDouble purchasePrices,
MatrixDouble sharesEC,
MatrixDouble ratesDC
[virtual]
 

virtual void AgentUserAssociation::createInfrastructureProjectRegistry  )  [virtual]
 

virtual void AgentUserAssociation::createWaterRightsRegistry  )  [virtual]
 

virtual double AgentUserAssociation::drawRandomWaterRight int  inflow_  )  [virtual]
 

virtual double AgentUserAssociation::eigentum_uebertragen parzelle ,
w_rechte ,
double 
[virtual]
 

Sales to the landowner agent.

virtual int AgentUserAssociation::get_interesse int *   )  [virtual]
 

virtual double AgentUserAssociation::get_Q_B int  stype  )  [virtual]
 

Request basic market information.

virtual double AgentUserAssociation::get_Q_W int  month  )  [virtual]
 

virtual double AgentUserAssociation::get_volB int  month  )  [virtual]
 

virtual int AgentUserAssociation::getNumAgents void   )  [virtual]
 

virtual int AgentUserAssociation::getNumLotteryValues  )  [virtual]
 

Number of lottery values.

virtual int AgentUserAssociation::getNumParcels void   )  [virtual]
 

virtual double AgentUserAssociation::getWaterRightForAgent int  agFstdID_,
int  inflowID_
[virtual]
 

virtual void AgentUserAssociation::initializeWaterLottery int  numLotteryValues_  )  [virtual]
 

virtual double AgentUserAssociation::kaufpreis_berechnen int  ,
w_jahr ,
double 
[virtual]
 

virtual void AgentUserAssociation::makeBidForRentingIn gebot bid  )  [virtual]
 

virtual void AgentUserAssociation::makeBidForRentingOut gebot bid  )  [virtual]
 

Setting up rental markets for water and land.

virtual void AgentUserAssociation::P_in_datei_schreiben bool  isExpected  )  [virtual]
 

virtual void AgentUserAssociation::P_in_datei_schreiben  )  [virtual]
 

virtual void AgentUserAssociation::pachtmarkt_zuruecksetzen  )  [virtual]
 

virtual void AgentUserAssociation::readInfrastructureProjectsFromStream FILE *  stream,
int &  catchmID_,
int &  sectorID_
[virtual]
 

virtual void AgentUserAssociation::readLotteryDataFromStream FILE *  stream  )  [virtual]
 

virtual void AgentUserAssociation::readWaterRightsFromStream FILE *  stream,
int &  catchmID_,
int &  sectorID_
[virtual]
 

virtual void AgentUserAssociation::reportImplementationResult int  agFstdID,
int  year,
int  objectID,
double  size,
double  purchasePrice,
int  implemented
[virtual]
 

virtual void AgentUserAssociation::schattenpreise_zuruecksetzen  )  [virtual]
 

virtual void AgentUserAssociation::setWaterRightForAgent int  agFstdID_,
int  inflowID_,
double  share_
[virtual]
 

virtual void AgentUserAssociation::transferRentalWater int  month  )  [virtual]
 

virtual void AgentUserAssociation::writeAllMonthlyWaterRental int  shift  )  [virtual]
 

virtual void AgentUserAssociation::writeInfrastructureProjectsToStream FILE *  stream  )  [virtual]
 

virtual void AgentUserAssociation::writeLotteryDataToStream FILE *  stream  )  [virtual]
 

virtual void AgentUserAssociation::writeWaterRightsToStream FILE *  stream  )  [virtual]
 

virtual void AgentUserAssociation::writeYearlyLandRental  )  [virtual]
 

Write market outcomes to files.


Member Data Documentation

int AgentUserAssociation::agentID [protected]
 

Here: Agent association ID (not yet used).

int AgentUserAssociation::agType [protected]
 

Type of agent (here: agent association = 2).

Reimplemented from agent.

int AgentUserAssociation::catchmentID [protected]
 

Catchment and sector IDs.

InfrastructureProject* AgentUserAssociation::infrastructureProjectRegistry [protected]
 

Registry of infrastructure projects.

int AgentUserAssociation::numberOfAgentsInMarket [protected]
 

Number of agents and parcels in land market.

int AgentUserAssociation::numberOfParcelsInMarket [protected]
 

int AgentUserAssociation::numInfrastructureProjects [protected]
 

Number of irrigation infrastructure projects.

int AgentUserAssociation::numLotteryValues [protected]
 

Number of lottery values (if = 0: actual data, else: random data).

int AgentUserAssociation::numMembers [protected]
 

Number of members.

bwmarkt AgentUserAssociation::pachtmarkt [protected]
 

Instance of rental market.

MatrixDouble AgentUserAssociation::Q_B [protected]
 

Average shadow prices for land and water.

MatrixDouble AgentUserAssociation::Q_W [protected]
 

int AgentUserAssociation::sectorID [protected]
 

MatrixDouble AgentUserAssociation::volB [protected]
 

Expected gross water availability per parcel.

AgentWaterRight** AgentUserAssociation::waterRightsRegistry [protected]
 

Registry of water rights.

MatrixDouble AgentUserAssociation::wlotto [protected]
 

Random-data information for assignment of water rights.


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