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: 14/11/2014 |
---|
24 | Este archivo contiene la definición de la función que ejecuta la |
---|
25 | simulación de una red productiva con descrita en un archivo xml. Esta función |
---|
26 | fue creada con la pretensión de crear el módulo para Python. |
---|
27 | */ |
---|
28 | # ifndef SIMULATOR_H |
---|
29 | # define SIMULATOR_H |
---|
30 | |
---|
31 | # include <gsl/gsl_rng.h> |
---|
32 | # include <gsl/gsl_randist.h> |
---|
33 | |
---|
34 | # include <topological_sort.H> |
---|
35 | |
---|
36 | # include <io_manager.H> |
---|
37 | |
---|
38 | # define RANDOM_NORMAL(mean, sigma) (gsl_ran_gaussian(rng, (sigma)) + (mean)) |
---|
39 | |
---|
40 | # define RANDOM_UNIF(a, b) (gsl_rng_uniform(rng) * ((b) - (a)) + (a)) |
---|
41 | |
---|
42 | # define DAYS_IN_A_MONTH 30 |
---|
43 | |
---|
44 | # define NUM_MONTHS 12 |
---|
45 | |
---|
46 | # define DAYS_IN_A_YEAR (DAYS_IN_A_MONTH * NUM_MONTHS) |
---|
47 | |
---|
48 | # define WAGE_PROPORTION 0.4 |
---|
49 | |
---|
50 | # define UT_PROPORTION 0.5 |
---|
51 | |
---|
52 | typedef Graph_Node<Graph::Node *> D_Node; |
---|
53 | |
---|
54 | typedef Graph_Arc<Graph::Arc *> D_Arc; |
---|
55 | |
---|
56 | typedef List_Digraph<D_Node, D_Arc> Digraph; |
---|
57 | |
---|
58 | typedef List<Digraph::Node *> Level; |
---|
59 | |
---|
60 | typedef List<Level *> Rank_Type; |
---|
61 | |
---|
62 | int simulate(const char * const, const char * const); |
---|
63 | |
---|
64 | # endif // SIMULATOR_H |
---|
65 | |
---|