Print

Print


Hi,

There may only be one or two MASON core team members on this list who can
answer this question, but:

I've inherited some code in an internal project that uses a
subclassed AbstractAction from Repast so that things are stepped according
to a probabilistic distribution--instead of stepping at precise intervals,
such as every 10 ticks, scheduled entities are stepped, on average, every 10
ticks:

"GeomAction provides an IAction that repeats at intervals drawn from the
geometric distribution.  The interval parameter passed into the
constructor is the probability that the action occurs in one tick.The event
[AbstractAction] converts the interval to log(1-P) to increase efficiency in
computing the interval.  The interval for rescheduling will be
ceiling(log(U)/log(1-P)) where U is a draw from the uniform random
distribution between 0 and 1.0"

Repast allows you to replace their "schedule" with a custom version, and
ours creates GeomAction instances as described above.  They use reflection
and annotated methods rather than a step() approach like MASON, but that's
not the important part of this.

Is geometric scheduling would be something that I could implement in MASON
and what the scope might entail?  I would like to consider switching our
project to MASON.

Thanks.
Tony