You are on page 1of 4

1 @model<probabilistic>

2
3 def COVI19_(Comunity)
4
5 {
6 /* Membrane structure */
7
8
9 /* cada comunidad va a ser un entorno*/
10
11 @mu = [ ]'p;
12 @mu(p) += [[ ]'0 ]'{100+k},{100+k} : 0<=k <= Comunity;
13
14 @mu(0,{k+100}) += []'{1}: 1<= k <= Comunity;
15 /*@mu(0,{k+100}) += []'{m}: 1<=m<=2,1<= k <= Comunity;*/
16
17
18
19 @ms(0,{100+c}) += X{i} * q{c,i} : 1<=i<=8, 1<=c<=Comunity;
20 @ms(0,{100+Random{i}}) += INF{PeopleRandom{i}}*(InfRandom): 1<=i<=TotFocus;
21 @ms(0,{100+c}) += INF{i}*(qf{c,i}*(1-InfRandom)): 1<=c<=Comunity, 1<=i<=8;
22 @ms(0,{100+c}) += R{0}: 1<=c<=Comunity;
23
24
25 /*Step 1*/
26 /* se generan objetos que pueen contagiar uno por persona que esta en contacto */
27 /*r1*/ [INF{i}-->INFp{i,j,k}]'0::1/100:1<=i<=8, 1<=j<=10, 1<=k<=10;
28 /*r1*/ [INFT{i,c}-->INFTp{i,j,k,c}]'0::1/100:1<=i<=8, 1<=j<=10, 1<=k<=10,
1<=c<=Comunity;
29 /*r2*/ [R{0}-->R{1}]'0:: 1;
30
31
32 /*Step 2*/
33
34 /*r3*/ [INFp{i,j,k}-->IC{i,@floor(RandInc{i,j}),
@floor(RandInf{i,k}),1}]'0::1:1<=i<=8, 1<=j<=10, 1<=k<=10;
35
36 /*r3*/ [INFTp{i,j,k,c}-->ICT{i,@floor(RandInc{i,j}),
@floor(RandInf{i,k}),c}]'0::1:1<=i<=8, 1<=j<=10, 1<=k<=10, 1<=c<=Comunity;
37
38 /*r4*/ [R{1}-->R{2}]'0:: 1;
39
40
41 /*Step 3*/
42
43 /*r5*/ [IC{i,j,k,j}-->IFp{i,k-j,1},d{1}*(@floor(People{i,1}*(k-j+1)*0.05)),
44 d{2}*(@floor(People{i,2}*(k-j+1)*0.05)),
45 d{3}*(@floor(People{i,3}*(k-j+1)*0.05)),
46 d{4}*(@floor(People{i,4}*(k-j+1)*0.05)),
47 d{5}*(@floor(People{i,5}*(k-j+1)*0.05)),
48 d{6}*(@floor(People{i,6}*(k-j+1)*0.05)),
49 d{7}*(@floor(People{i,7}*(k-j+1)*0.05)),
50 d{8}*(@floor(People{i,8}*(k-j+1)*0.05))]'0
51 :: 1: MNInc{i}<=j<=MXInc{i},MNInf{i}<=k<=MXInf{i},1<=i<=8;
52
53
54 /*r6*/ [IF{i,j,d}-->IFp{i,j,d},d{1}*(@floor(People{i,1}*(j-d+1)*0.05)),
55 d{2}*(@floor(People{i,2}*(j-d+1)*0.05)),
56 d{3}*(@floor(People{i,3}*(j-d+1)*0.05)),
57 d{4}*(@floor(People{i,4}*(j-d+1)*0.05)),
58 d{5}*(@floor(People{i,5}*(j-d+1)*0.05)),
59 d{6}*(@floor(People{i,6}*(j-d+1)*0.05)),
60 d{7}*(@floor(People{i,7}*(j-d+1)*0.05)),
61 d{8}*(@floor(People{i,8}*(j-d+1)*0.05))]'0
62 :: 1: 1<=d<=j,MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
63
64
65 /* no detectados de otra comunidad*/
66 /*r7*/ [IFT{i,j,d,c}-->IFTp{i,j,d,c},
67 d{1}*(@floor(People{i,1}*(j)*0.05)),
68 d{2}*(@floor(People{i,2}*(j)*0.05)),
69 d{3}*(@floor(People{i,3}*(j)*0.05)),
70 d{4}*(@floor(People{i,4}*(j)*0.05)),
71 d{5}*(@floor(People{i,5}*(j)*0.05)),
72 d{6}*(@floor(People{i,6}*(j)*0.05)),
73 d{7}*(@floor(People{i,7}*(j)*0.05)),
74 d{8}*(@floor(People{i,8}*(j)*0.05))]'0
75 :: 1: 1<=c<=Comunity,1<=d<=j,MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
76
77 /*r8*/ R{2}[]'1-->R{3}-[]'1:: 1;
78
79 //*Step 4*/
80
81
82 /* transmision enfermedad, p probabilidad transmitir*/
83
84 /*r9*/ X{i}, d{i}-[]'1-->INFpp{i}+[]'1:: p{i}: 1<=i<=8;
85
86 /*r10*/ X{i}, d{i}-[]'1--> X{i}+[]'1:: 1-p{i}: 1<=i<=8;
87
88 /*r11*/ IC{i,j,k,d}, d{i}-[]'1-->IC{i,j,k,d}+[]'1:: 1:
1<=d<=j,MNInc{i}<=j<=MXInc{i},MNInf{i}<=k<=MXInf{i},1<=i<=8;
89
90 /*r12*/ IFp{i,j,d}, d{i}-[]'1-->IFp{i,j,d}+[]'1:: 1:
1<=d<=j,MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
91
92 /*r13*/ XT{i,c}, d{i}-[]'1-->INFTpp{i,c}+[]'1:: p{i}: 1<=i<=8, 1<=c<=Comunity ;
93
94 /*r14*/ XT{i,c}, d{i}-[]'1--> XT{i,c}+[]'1:: 1-p{i}: 1<=i<=8, 1<=c<=Comunity;
95
96 /*r15*/ IFTp{i,j,d,c}, d{i}-[]'1-->IFTp{i,j,d,c}+[]'1:: 1:
1<=c<=Comunity,1<=d<=j,MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
97
98 /*r16*/ IT{i,c}-[]'1-->+[]'1:: 1: 1<=d<=MXInf{i}-MNInc{i}, 1<=i<=8;
99
100 /*r17*/ I{i,d}-[]'1-->+[]'1:: 1: 1<=d<=MXInf{i}-MNInc{i}, 1<=i<=8;
101
102 /*r18*/ TH{i,d}-[]'1-->+[]'1:: 1: 1<=d<=MXInf{i}-MNInc{i}, 1<=i<=8;
103
104
105 /*r19*/ R{3}-[]'1-->R{4}+[]'1:: 1;
106
107
108 /*Step 5 */
109
110 /*r20*/ d{j}+[]'1-->[]'1:: 1: 1<=j<=8;
111
112 /* probabilidad de presentar sintomas Sint */
113
114 /*r21*/ IFp{i,j,1}+[]'1-->IH{i,k,0}[]'1:: Sint{i}/5:
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8, 1<=k<=5;
115
116 /*r22*/ IFp{i,j,1}+[]'1--> IFv{i,j,1}[]'1::
1-Sint{i}:MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
117
118 /*r23*/ IFp{i,j,d}+[]'1--> IFv{i,j,d}[]'1:: 1:
2<=d<=j,MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
119
120 /*r24*/ IC{i,j,k,d}+[]'1--> ICv{i,j,k,d}[]'1::
1:1<=d<=j,MNInc{i}<=j<=MXInc{i},MNInf{i}<=k<=MXInf{i},1<=i<=8;
121
122 /*r25*/ X{i}+[]'1--> Xv{i}[]'1:: 1: 1<=i<=8;
123
124 /*r26*/ IFTp{i,j,1,c}+[]'1-->IHT{i,k,0,c}[]'1:: Sint{i}/5:
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8,1<=c<=Comunity, 1<=k<=5 ;
125
126 /*r27*/ IFTp{i,j,1,c}+[]'1--> IFTv{i,j,1,c}[]'1:: 1-Sint{i}:
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8,1<=c<=Comunity ;
127
128 /*r28*/ IFTp{i,j,d,c}+[]'1--> IFTv{i,j,d,c}[]'1:: 1:
1<=d<=j,MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8,1<=c<=Comunity ;
129
130 /*r29*/ XT{i,c}+[]'1--> XTv{i,c}[]'1:: 1: 1<=i<=8,1<=c<=Comunity ;
131
132 /*r30*/ R{4}+[]'1-->R{5}[]'1:: 1
133
134
135 /*Step 6*/
136 /* viatgen els sans i els que no tenen sintomes */
137 /* individuos que viajan en funcion de la edad */
138
139
140 /*r31*/ [IH{i,k,0}--> IH{i,RanH{k},1}[]'1:: 1: 1<=i<=8, 1<=k<=5;
141 /*r32*/ [IHT{i,k,0,c}--> IHT{i,RanH{k},1,c}[]'1:: 1: 1<=i<=8, 1<=k<=5,1<=c<=Comunity;
142
143
144 /*re1*/ [Xv{i}]'0--> Xv{i}[]'0:: pty{i}: 1<=i<=8;
145 /*r32*/ [Xv{i}--> Xpp{i}]'0:: 1-pty{i}: 1<=i<=8;
146 /*re2*/ [IFv{i,j,d}]'0--> IFv{i,j,d}[]'0:: pty{i}: 1<=d<=j,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
147 /*r34*/ [IFv{i,j,d}--> IFpp{i,j,d}]'0:: 1-pty{i}: 1<=d<=j,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
148 /*re3*/ [ICv{i,j,k,d}]'0--> IFv{i,k-j,0}[]'0:: pty{i}:
j-TimeT{i}<=d<=j,MNInc{i}<=j<=MXInc{i},MNInf{i}<=k<=MXInf{i},1<=i<=8;
149 /*r36*/ [ICv{i,j,k,d}--> ICpp{i,j,k,d}]'0:: 1-pty{i}:
j-TimeT{i}<=d<=j,MNInc{i}<=j<=MXInc{i},MNInf{i}<=k<=MXInf{i},1<=i<=8;
150 /*r37*/ [ICv{i,j,k,d}--> ICpp{i,j,k,d}]'0:: 1:
1<=d<j-TimeT{i},MNInc{i}<=j<=MXInc{i},MNInf{i}<=k<=MXInf{i},1<=i<=8;
151
152
153 /*re4*/ [IFTv{i,j,d,c}]'0--> IFTrv{i,j,d,c}[]'0:: 1/TimeT{i}: 1<=d<=j,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
154 /*r38*/ [IFTv{i,j,d,c}--> IFTpp{i,j,d,c}]'0::1- 1/TimeT{i}: 1<=d<=j,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
155
156
157 /*re5*/ [XTv{i,c}]'0--> XTrv{i,c}[]'0:: 1/TimeT{i}: 1<=i<=8,1<=c<=Comunity;
158 /*r39*/ [XTv{i,c}--> XTpp{i,c}]'0:: 1-1/TimeT{i}: 1<=i<=8,1<=c<=Comunity;
159 /*r39*/ [XRT{i,c}]'0--> XRTrv{i,c}[]'0:: 1: 1<=i<=8,1<=c<=Comunity;
160
161
162 /*r33*/ [R{5}-->R{6}]'0:: 1;
163
164
165
166 /*Step 7*/
167 /* lloc on viatjen */
168
169 /*re6*/ [[Xv{i}]'{e1+100} []'{e2+100} --> []'{e1+100}
[Xvp{i,e1}]'{e2+100}]'p::pt{e1,e2}:1<=i<=8,1<=e1<=Comunity, 1<=e2<=Comunity;
170 /*re7*/ [[IFv{i,j,d}]'{e1+100} []'{e2+100} --> []'{e1+100}
[IFvp{i,j,d,e1}]'{e2+100}]'p::pt{e1,e2}:1<=e1<=Comunity, 1<=e2<=Comunity,1<=d<=j,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
171
172
173 /*re8*/ [[XTrv{i,c}]'{e1+100} []'{c+100} --> []'{e1+100}
[X{i}]'{c+100}]'p::1:1<=e1<=Comunity, 1<=c<=Comunity,1<=i<=8;
174 /*re9*/ [[IFTrv{i,j,d,c}]'{e1+100} []'{c+100} --> []'{e1+100}
[IF{i,j,d}]'{c+100}]'p::1:1<=e1<=Comunity, 1<=c<=Comunity,1<=d<=j,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
175 /*re8*/ [[XRTrv{i,c}]'{e1+100} []'{c+100} --> []'{e1+100}
[XR{i}]'{c+100}]'p::1:1<=e1<=Comunity, 1<=c<=Comunity,1<=i<=8;
176
177
178 /*r34*/ R{6}[]'1-->R{7}-[]'1:: 1;
179
180
181 /* Step 8 */
182
183 /*re10*/ Xvp{i,c}[]'0--> [XT{i,c}]'0:: 1: 1<=i<=8, 1<=c<=Comunity;
184
185 /*re11*/ IFv{i,j,d,c}[]'0--> [ IFT{i,j,d+1,c}, IT{i,d+1}]'0:: 1:
1<=c<=Comunity,1<=d<j, MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
186
187 /*re11*/ IFv{i,j,j,c}[]'0--> [ IRT{i,c}]'0:: 1: 1<=c<=Comunity,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
188
189
190 /*re12*/ X{i}[]'0--> [X{i}]'0:: 1: 1<=i<=8;
191
192 /*re13*/ IF{i,j,d}[]'0--> [ IF{i,j,d+1},I{i,d+1}]'0:: 1: 1<=d<j,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
193
194 /*re14*/ IF{i,j,j}[]'0--> [ XR{i}]'0:: 1:
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
195
196 /*re12*/ XR{i}[]'0--> [XR{i}]'0:: 1: 1<=i<=8;
197
198 /*r35*/ IFpp{i,j,d}-[]'1--> IF{i,j,d+1}, I{i,d+1}[]'1:: 1: 1<=d<j,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
199
200 /*r36*/ IFpp{i,j,j}-[]'1--> XR{i}[]'1::1:
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8;
201
202 /*r37*/ Xpp{i}-[]'1--> X{i}[]'1:: 1: 1<=i<=8;
203
204 /*r38*/ IH{i,j,d}-[]'1-->IH{i,j,d+1},H{i,d+1}[]'1:: 1:
1<=d<j,MNRec{i}<=j<=MXRec{i},1<=i<=8;
205
206 /*r39*/ IH{i,j,j}-[]'1-->XR{i}[]'1:: 1- pd{i}: MNRec{i}<=j<=MXRec{i},1<=i<=8;
207
208 /*r40*/ IH{i,j,j}-[]'1-->XD{i}[]'1:: pd{i}: MNRec{i}<=j<=MXRec{i},1<=i<=8;
209
210 /*r41*/ IFTpp{i,j,d,c}-[]'1--> IFT{i,d+1,c,t+1}, IT{i,c}[]'1:: 1: 1<=d<j,
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8,1<=c<=Comunity;
211
212 /*r42*/ IFTpp{i,j,j,c}-[]'1--> XRT{i,c}[]'1:: 1:
MNInf{i}-MNInc{i}<=j<=MXInf{i}-MNInc{i},1<=i<=8,1<=c<=Comunity;
213
214 /*r44*/ XTpp{i,c}-[]'1--> XT{i,c}[]'1:: 1: 1<=i<=8,1<=c<=Comunity;
215
216 /*r48*/ IHT{i,j,d,c}-[]'1-->IHT{i,j,d+1,c}, TH{i,d+1}[]'1:: 1:
0<=d<j,MNRec{i}<=j<=MXRec{i},1<=i<=8, 1<=c<=Comunity;
217
218 /*r49*/ IHT{i,j,j,c}-[]'1-->XRT{i,c}[]'1:: 1- pd{i}: MNRec{i}<=j<=MXRec{i},1<=i<=8,
1<=c<=Comunity;
219
220 /*r50*/ IHT{i,j,j,c}-[]'1-->XDT{i,c}[]'1:: pd{i}: MNRec{i}<=j<=MXRec{i},1<=i<=8,
1<=c<=Comunity;
221
222 /*r51*/ R{7}-[]'1-->R{0}[]'1:: 1;
223
224
225
226 }
227 def main()
228 {
229 call COVI19_(19);
230 }

You might also like