rad  1.5.2
Radial Attention Model
rad_types.h
Go to the documentation of this file.
1 
9 #ifndef RAD_TYPES_H_
10 #define RAD_TYPES_H_
11 
12 struct grid_st;
13 struct model_st;
14 struct pmap_st;
15 
21 struct objvar_st {
23  const struct model_st *m;
25  double x;
27  double r;
29  double q;
31  double s;
32 };
34 typedef struct objvar_st objvar_t;
35 
44 struct objpart_st {
49  double (*fnc)(const objvar_t *v);
52  const char *str;
53 };
55 typedef struct objpart_st objpart_t;
56 
64 struct model_st {
66  double alpha;
68  double beta;
70  double delta;
72  double gamma;
74  double R;
75 
77  objpart_t util;
79  objpart_t cost;
81  objpart_t radt;
83  objpart_t wltt;
84 };
86 typedef struct model_st model_t;
87 
88 void model_init(model_t *m, const struct pmap_st *pmap,
89  const objpart_t *objparts);
90 void model_load(model_t *m, const char *model_path, const objpart_t *objparts);
91 void model_save(const model_t *m, const char *model_path);
92 
99 struct sol_st {
101  struct grid_st *xg;
103  struct grid_st *rg;
105  struct grid_st *qg;
107  struct grid_st *sg;
108 
110  double qadp;
112  double sadp;
113 
115  double **v0;
117  double **v1;
119  double **qpol;
121  double **spol;
122 
124  int maxit;
126  double tol;
127 
129  double acc;
131  int it;
133  double xbeg;
135  double xend;
136 };
138 typedef struct sol_st sol_t;
139 
140 void solution_init(sol_t *s, const struct pmap_st *pmap);
141 void solution_load(sol_t *s, const char *model_path);
142 void solution_save(const sol_t *s, const char *model_path);
143 void solution_free(sol_t *s);
144 
145 #endif /* RAD_TYPES_H_ */
Grid structure.
Definition: grid_t.h:18
double x
Current wealth state.
Definition: rad_types.h:25
double qadp
Quantity grid adaptation scale.
Definition: rad_types.h:110
Solution structure.
Definition: rad_types.h:99
void solution_save(const sol_t *s, const char *model_path)
Save solution.
Definition: rad_types.c:391
double xbeg
Execution start.
Definition: rad_types.h:133
void model_save(const model_t *m, const char *model_path)
Save model.
Definition: rad_types.c:241
double ** spol
Effort policy.
Definition: rad_types.h:121
int maxit
Maximum number of iterations.
Definition: rad_types.h:124
const char * str
Objective function part definition.
Definition: rad_types.h:52
double tol
Numerical error tolerance.
Definition: rad_types.h:126
Model structure.
Definition: rad_types.h:64
int it
Iteration count.
Definition: rad_types.h:131
void solution_free(sol_t *s)
Free solution.
Definition: rad_types.c:446
objpart_t util
Utility function.
Definition: rad_types.h:77
double ** v0
Initial value function.
Definition: rad_types.h:115
objpart_t wltt
Wealth transition.
Definition: rad_types.h:83
double acc
Achieved numerical accuracy.
Definition: rad_types.h:129
double beta
Discount factor.
Definition: rad_types.h:68
double sadp
Effort grid adaptation scale.
Definition: rad_types.h:112
double ** qpol
Quantity policy.
Definition: rad_types.h:119
double R
Return.
Definition: rad_types.h:74
void model_load(model_t *m, const char *model_path, const objpart_t *objparts)
Load model.
Definition: rad_types.c:218
void solution_load(sol_t *s, const char *model_path)
Load solution.
Definition: rad_types.c:319
double xend
Execution end.
Definition: rad_types.h:135
void model_init(model_t *m, const struct pmap_st *pmap, const objpart_t *objparts)
Model initialization.
Definition: rad_types.c:98
double alpha
Attentional costs factor.
Definition: rad_types.h:66
const struct model_st * m
Model parameter data.
Definition: rad_types.h:23
void solution_init(sol_t *s, const struct pmap_st *pmap)
Initialize solution structure.
Definition: rad_types.c:120
objpart_t cost
Cost function.
Definition: rad_types.h:79
Parameter file structure.
Definition: pmap_t.h:19
struct grid_st * sg
Effort grid.
Definition: rad_types.h:107
double s
Effort.
Definition: rad_types.h:31
double delta
Memory persistence.
Definition: rad_types.h:70
struct grid_st * xg
Wealth grid.
Definition: rad_types.h:101
double ** v1
Final value function.
Definition: rad_types.h:117
objpart_t radt
Radius transition.
Definition: rad_types.h:81
Objective function input structure.
Definition: rad_types.h:21
struct grid_st * qg
Quantity grid.
Definition: rad_types.h:105
double gamma
Complementarity factor.
Definition: rad_types.h:72
Objective function part structure.
Definition: rad_types.h:44
double r
Current radius of attention.
Definition: rad_types.h:27
struct grid_st * rg
Radius grid.
Definition: rad_types.h:103
double q
Average product quantity.
Definition: rad_types.h:29