@@ -107,9 +107,11 @@ function get_init_satisfied(allocs, qs, state)
107107 (reqs[tok. index, i] += tok. stoich)
108108 end
109109 end
110+ @show 2 reqs
110111 for i in eachindex (allocs)
111112 allocs[i] = reqs[i] == 0.0 ? Inf : floor (allocs[i] / reqs[i])
112113 end
114+ @show allocs
113115 foreach (i -> qs[i] = min (qs[i], minimum (allocs[:, i])), 1 : size (reqs, 2 ))
114116 foreach (i -> allocs[:, i] .= reqs[:, i] * qs[i], 1 : size (reqs, 2 ))
115117
@@ -133,7 +135,7 @@ function evolve!(state)
133135 qs .= ceil .(Ref (Int), qs)
134136 @show qs
135137 for i = 1 : nparts (state, :T )
136- new_instances = state . dt * qs[i] + state[i, :transToSpawn ]
138+ new_instances = qs[i] + state[i, :transToSpawn ]
137139 capacity =
138140 state[i, :transCapacity ] -
139141 count (t -> t[:transHash ] == state[i, :transHash ], state. ongoing_transitions)
@@ -165,7 +167,7 @@ function evolve!(state)
165167 for i = 1 : nparts (state, :T )
166168 qs[i] != 0 && push! (
167169 state. ongoing_transitions,
168- Transition (state[i, :transName ] * " _@$(state. t) " , get_sampled_transition (state, i), state. t, qs[i], 0.0 ),
170+ Transition (string ( state[i, :transName ]) * " _@$(state. t) " , get_sampled_transition (state, i), state. t, qs[i], 0.0 ),
169171 )
170172 end
171173
@@ -258,11 +260,13 @@ function finish!(state)
258260 (in (:rate , tok. modality) ? trans_[:transCycleTime ] : 1 )
259261 )
260262 end
263+
261264 q = if trans_. state >= trans_[:transCycleTime ]
262265 rand (Distributions. Binomial (Int (trans_. q), trans_[:transProbOfSuccess ]))
263266 else
264267 0
265268 end
269+
266270 foreach (
267271 tok -> (state. u[tok. index] += q * tok. stoich;
268272 val_reward += state[tok. index, :specReward ] * q * tok. stoich),
@@ -378,26 +382,20 @@ function ReactiveNetwork(
378382end
379383
380384function AlgebraicAgents. step! (state:: ReactiveNetwork )
381- # du = copy(state.u)
382385 free_blocked_species! (state)
383- # du .= state.u
384386 update_observables (state)
385387 sample_transitions! (state)
386388 evolve! (state)
387389 finish! (state)
388- # update_u!(state, u)
389390 event_action! (state)
390391
391392 push! (
392393 state. log,
393394 (:valuation , state. t, state. u' * [state[i, :specValuation ] for i = 1 : nparts (state, :S )]),
394395 )
395396
396- # update_u!(state, du)
397397 save! (state)
398-
399- # state.u .= du
400- state. t += state. dt
398+ return state. t += state. dt
401399end
402400
403401function AlgebraicAgents. _projected_to (state:: ReactiveNetwork )
0 commit comments