Class Firm

java.lang.Object
  |
  +--Firm
Direct Known Subclasses:
GenFirm, NNGenFirm, NWFirm, XCSFirm

public abstract class Firm
extends java.lang.Object

Abstract Class Firm.java
Murat Yildizoglu - Universite Bordeaux IV Montesquieu
Bordeaux FRANCE
e-mail: yildi[a_t]u-bordeaux4.fr
Copyright 2001 (c) Murat Yildizoglu
Permission to use, copy, modify, and distribute this
software and its documentation for NON-COMMERCIAL purposes
and without fee is hereby granted provided that this
copyright notice appears in all copies.


An abstract firm class with elementary characteristics of an evolutionary firm. Classes developped from this one must override many methods.

Version:
2.3 May 2001
Author:
Murat Yildizoglu

Field Summary
 java.lang.String type
          This variable is used by each type of firm for declaring its type
 
Constructor Summary
Firm(double kk0, double pprd0, double cc0, double dd0, double ssigma0, double ddelta0, double rrd0, double rr0, double rrd_min0)
          The constructor.
 
Method Summary
abstract  void clean()
           
 void computeprofit(double Prix)
          Computes the gross profit rate on capital and the cumulates the gross profits of the firm
abstract  int getChrDecode(int cc)
           
abstract  double getChrFitness(int cc)
           
abstract  double getDFittness()
          Abstract methods for compatibility with GenFirm.
 double getdprim()
          Returns the Productivity increase throuh imitation of the firm
 double getdprin()
          Returns the Productivity increase throuh innovation of the firm
 double getinvestRD()
          Provides the amount of the R&D investment of the firm
 double getKapital()
          Returns the capital stock
 double getprod()
          Returns the productivity rate of the firm
abstract  double getProfit()
           
 double getProfitRate()
          Returns the gross profit rate of the firm
 double getrd()
          Returns the R&D ratio of the firm
 void imitate(double maxprod)
          Modifies the productivity of the firm as a consequence of an imitation
 void innovate()
          Modifies the productivity of the firm as a consequence of an innovation
 void investK()
          Computes the capital-investment following a very simple rule: The share of the profit that has not been invested in R&D is invested in physical capitaL
 void investRD()
          Computes the R&D-investment under the financial constraint given by the profit
 boolean isactive()
          Verifies if the firm is active.
abstract  void learn(int date)
          Abstract methods for compatibility with XCSFirm.
 void saveprofit()
          Saves the profit rate of the firm in temp_profit
abstract  void setenv(java.lang.String S)
           
abstract  void setrd(int t)
          Each firm must override these common abstract methods.
abstract  java.lang.String showFirm()
           
 double supply()
          Returns the productivity_rate x Kapital
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

type

public java.lang.String type
This variable is used by each type of firm for declaring its type
Constructor Detail

Firm

public Firm(double kk0,
            double pprd0,
            double cc0,
            double dd0,
            double ssigma0,
            double ddelta0,
            double rrd0,
            double rr0,
            double rrd_min0)
The constructor. Initialize common elements to all firms.
Parameters:
kk0 - Initial capital stock of the firm
pprd0 - Initial productivity of the firm
cc0 - Unit using cost of capital
dd0 - Calibration parameter
ssigma0 - Standard deviation of random innovative draws
ddelta0 - Depreciation rate of capital
rrd0 - RD/CF ratio
rr0 - Interest rate in the economy
rrd_min0 - Minimal RD investment rate
Method Detail

computeprofit

public void computeprofit(double Prix)
Computes the gross profit rate on capital and the cumulates the gross profits of the firm
Parameters:
Prix - : Price in the industry

getinvestRD

public double getinvestRD()
Provides the amount of the R&D investment of the firm
Returns:
investRD

investK

public void investK()
Computes the capital-investment following a very simple rule: The share of the profit that has not been invested in R&D is invested in physical capitaL

investRD

public void investRD()
Computes the R&D-investment under the financial constraint given by the profit

imitate

public void imitate(double maxprod)
Modifies the productivity of the firm as a consequence of an imitation
Parameters:
maxprod - Maximal productivity of the industry

innovate

public void innovate()
Modifies the productivity of the firm as a consequence of an innovation

getprod

public double getprod()
Returns the productivity rate of the firm
Returns:
prod

getKapital

public double getKapital()
Returns the capital stock
Returns:
K

supply

public double supply()
Returns the productivity_rate x Kapital

isactive

public boolean isactive()
Verifies if the firm is active. The firms is not active if its capital stock becomes too small while its profit is negative

getrd

public double getrd()
Returns the R&D ratio of the firm
Returns:
rd

getdprin

public double getdprin()
Returns the Productivity increase throuh innovation of the firm
Returns:
dprin

getdprim

public double getdprim()
Returns the Productivity increase throuh imitation of the firm
Returns:
dprim

getProfitRate

public double getProfitRate()
Returns the gross profit rate of the firm
Returns:
rd

saveprofit

public void saveprofit()
Saves the profit rate of the firm in temp_profit

setrd

public abstract void setrd(int t)
Each firm must override these common abstract methods.

getProfit

public abstract double getProfit()

clean

public abstract void clean()

showFirm

public abstract java.lang.String showFirm()

getDFittness

public abstract double getDFittness()
Abstract methods for compatibility with GenFirm.
See Also:
GenFirm

getChrDecode

public abstract int getChrDecode(int cc)

getChrFitness

public abstract double getChrFitness(int cc)

learn

public abstract void learn(int date)
Abstract methods for compatibility with XCSFirm.
See Also:
XCSFirm

setenv

public abstract void setenv(java.lang.String S)