source: observatorio/simulacion/ModuloDinamico/exogenous_variables.H

simulacion
Last change on this file was a3eef50, checked in by Alejandro <amujica@…>, 10 years ago

Simulador al 100%, listo para efectuar pruebas y validaciones

  • Property mode set to 100644
File size: 3.4 KB
Line 
1/*
2  Copyright (C) 2014
3  Alejandro Mujica (amujica@cenditel.gob.ve)
4  José Ruiz (jruiz@cenditel.gob.ve)
5  Julie Vera (jvera@cenditel.gob.ve)
6 
7  CENDITEL Fundación Centro Nacional de Desarrollo e Investigación en
8  Tecnologías Libres
9 
10  Este programa es software libre; Usted puede usarlo bajo los términos de la
11  licencia de software GPL versión 2.0 de la Free Software Foundation.
12 
13  Este programa se distribuye con la esperanza de que sea útil, pero SIN
14  NINGUNA GARANTÍA; tampoco las implícitas garantías de MERCANTILIDAD o
15  ADECUACIÓN A UN PROPÓSITO PARTICULAR.
16  Consulte la licencia GPL para más detalles. Usted debe recibir una copia
17  de la GPL junto con este programa; si no, escriba a la Free Software
18  Foundation Inc. 51 Franklin Street,5 Piso, Boston, MA 02110-1301, USA.
19*/
20
21/*
22  Autor:             Alejandro J. Mujica
23  Fecha de creación: 29/09/2014
24  Este archivo contiene la definición de la clase Exogenous_Variables la cual
25  define el conjunto de variables exógenas que se manejan en el sistema,
26  esta clase se define bajo el patrón Singleton puesto que se requiere una
27  sola instancia de ésta.
28*/
29
30# ifndef EXOGENOUS_VARIABLES_H
31# define EXOGENOUS_VARIABLES_H
32
33# include <types.H>
34# include <simulation_attributes_macros.H>
35
36struct Exogenous_Variables_Simulation_Attributes
37{
38  size_t state_number;
39
40  real rate_of_change_of_salary;       // Tasa de cambio de salario
41  real rate_of_gain;                   // Tasa de ganancia
42  real rate_of_price_change;           // Tasa de cambio de precios
43  real rate_of_change_in_final_demand; // Tasa de cambio en la demanada final
44  real nominal_exchange_rate;          // Tipo de cambio nominal
45  real UT;                             // Unidad Tributaria
46
47  Exogenous_Variables_Simulation_Attributes()
48    : state_number(0), rate_of_change_of_salary(0.0), rate_of_gain(0.0),
49      rate_of_price_change(0.0), rate_of_change_in_final_demand(0.0),
50      nominal_exchange_rate(0.0), UT(0.0)
51  {
52    // Empty
53  }
54};
55
56/** Contiene el conjunto de variables exógenas que se utilizan en el sistema.
57 *
58 * @author Alejandro J. Mujica
59 */
60class Exogenous_Variables
61{
62  real average_salary;                 // Salario medio
63  real sigma;                          // Desviación estándar para la producción
64
65  size_t num_it;                       // Número de iteraciones de la simulación
66
67  DECLARE_SIMULATION_ATTRIBUTES(Exogenous_Variables_Simulation_Attributes)
68
69  static std::unique_ptr<Exogenous_Variables> instance;
70
71  Exogenous_Variables();
72
73  Exogenous_Variables(const Exogenous_Variables &);
74
75  Exogenous_Variables & operator = (const Exogenous_Variables &);
76
77public:
78  const real & get_average_salary() const;
79
80  void set_average_salary(const real &);
81
82  void set_UT(const real &);
83
84  const real & get_sigma() const;
85
86  void set_sigma(const real &);
87
88  const size_t & get_num_it() const;
89
90  void set_num_it(const size_t &);
91
92  DEFINE_SIMULATION_ATTRIBUTES_METHODS(Exogenous_Variables_Simulation_Attributes)
93
94  real & rate_of_change_of_salary_at(const size_t &);
95
96  real & rate_of_gain_at(const size_t &);
97
98  real & rate_of_price_change_at(const size_t &);
99
100  real & rate_of_change_in_final_demand_at(const size_t &);
101
102  real & nominal_exchange_rate_at(const size_t &);
103
104  real & UT_at(const size_t &);
105
106  static Exogenous_Variables * get_ptr_instance();
107
108  static Exogenous_Variables & get_instance();
109};
110
111# endif // EXOGENOUS_VARIABLES_H
112
Note: See TracBrowser for help on using the repository browser.