discrete event simulation in ruby?

L

Larry White

------=_Part_29885_17055621.1136036629870
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

I'm looking for a reasonably complete discrete event simulation library in
ruby. I've googled and found a couple of projects, but didn't see anything
that looked very complete.

Ideally it would have random generators for most standard distributions,
good support for queueing, and some fast collection types like splay trees.

Does anybody know of anything? I could use a java library but i can't think
of a better language for building and running small simulations than ruby.

thanks in advance.

------=_Part_29885_17055621.1136036629870--
 
P

Paul Sanchez

Larry White said:
------=_Part_29885_17055621.1136036629870
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

I'm looking for a reasonably complete discrete event simulation library in
ruby. I've googled and found a couple of projects, but didn't see anything
that looked very complete.

Ideally it would have random generators for most standard distributions,
good support for queueing, and some fast collection types like splay trees.

Does anybody know of anything? I could use a java library but i can't think
of a better language for building and running small simulations than ruby.

thanks in advance.

------=_Part_29885_17055621.1136036629870--

I can see using Ruby as a teaching tool for DES, but not for production
runs unless you're only simulating toy systems. As much as I love Ruby
and am twisting people's arms to get them to look at it, the "orders of
magnitude slower" aspect really hurts here.

--paul
 
M

M. Edward (Ed) Borasky

Well ... I found two discrete event simulators that are open source. One
is SimPy, written in Python (http://simpy.sourceforge.net/) and the
other is C++SIM, written in C++ (http://cxxsim.ncl.ac.uk/). I suppose
the Python one could be translated to Ruby ... it's LGPL. But I'd think
for efficiency reasons a Ruby/C++ integrated package would be a better
choice.
 
P

Paul Sanchez

There's a fairly comprehensive LGPL'ed library written in Java called
SIMKit <http://diana.cs.nps.navy.mil/simkit>. It's based on extensions
to Lee Schruben's "event graph" methodology. The author, Arnie Buss,
developed a nice design framework which integrates object-oriented
design with a listener pattern to create a truly reusable component
architecture for model components.

--paul
 
M

M. Edward (Ed) Borasky

Yeah ... I saw that. There's a lot of really great software written in
Java, but I tend to use it as is rather than trying to integrate it into
another language. I don't know enough about DES to know which package is
more comprehensive. I prefer small easily-understood packages in general
over comprehensive ones ... the YAGNI principle.

Along similar lines, I've been digging into the "mathn" library and its
dependencies, "matrix", "complex" and "rational". It's quite
interesting, although I suspect it's going to be way too slow for
"industrial-sized" systems analysis problems. "BigMath" is another
interesting piece of software -- it includes a rather general Newton
solver for nonlinear equations. More opportunities for interfacing Ruby
to external libraries -- I suppose I should go learn SWIG. :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top