Overview
Overview
Overview
Version: December 17, 2014
SSJ is a Java library for stochastic simulation, developed in the Departement dInformatique et de Recherche Operationnelle (DIRO), at the Universite de Montreal. It provides
facilities for generating uniform and nonuniform random variates, computing different measures related to probability distributions, performing goodness-of-fit tests, applying quasiMonte Carlo methods, collecting statistics (elementary), and programming discrete-event
simulations with both events and processes. Additional Java packages are also developed on
top of SSJ for simulation applications in finance, call centers management, communication
networks, etc.
The Colt library, developed at the Centre Europeen de Recherche Nucleaire (CERN) in
Geneva [2], is a large library that provides a wide range of facilities for high performance
scientific and technical computing in Java. SSJ uses the class DoubleArrayList from Colt
in a few of its classes, namely in packages stat and hups. The reason is that this class
provides a very efficient and convenient implementation of an (automatically) extensible
array of double, together with several methods for computing statistics for the observations
stored in the array (see, e.g., Descriptive). The Colt library is distributed with the SSJ
package as colt.jar. It must be added in the CLASSPATH environment variable.
The linear_algebra library is based on public domain LINPACK routines. They were
translated from Fortran to Java by Steve Verrill at the USDA Forest Products Laboratory
Madison, Wisconsin, USA. This software is also in the public domain and is included in the
SSJ distribution as the Blas.jar archive. It is used only in the probdist package to compute
maximum likelihood estimators.
The optimization package of Steve Verrill includes Java translations of the MINPACK
routines [3] for nonlinear least squares problems as well as UNCMIN routines [7] for unconstrained optimization. They were translated from Fortran to Java by Steve Verrill and are
in the public domain. They are included in the SSJ distribution as the optimization.jar
archive. It is used only in the probdist package to compute maximum likelihood estimators.
JFreeChart is a free Java library that can generate a wide variety of charts and plots for
use in applications, applets and servlets. JFreeChart currently supports, amongst others,
bar charts, pie charts, line charts, XY-plots, histograms, scatter plots and time series plots.
It is distributed with SSJ as jfreechart-*.jar. JCommon is a free general purpose Java
library containing many useful classes used by JFreeChart and other Java packages. It is
distributed with SSJ as jcommon-*.jar. JFreeChart (and JCommon) are used in the SSJ
package charts to create different kinds of charts.
SSJ also provides an interface to the UNURAN library for nonuniform random number
generation [6], in the randvar package. UNURAN does not have to be installed to be used
with SSJ, because it is linked statically with the appropriate SSJ native library. However,
the UNURAN documentation will be required to take full advantage of the library.
Acknowledgments
SSJ was designed and implemented under the supervision of Pierre LEcuyer, with the contribution of the following persons
REFERENCES 4
References
[1] P. Glasserman. Monte Carlo Methods in Financial Engineering. Springer-Verlag, New
York, 2004.
[2] Wolfgang Hoschek. The Colt Distribution: Open Source Libraries for High Performance
Scientific and Technical Computing in Java. CERN, Geneva, 2004. Available at http:
//acs.lbl.gov/software/colt/.
[3] J. J. More and B. S. Garbow and K. E. Hillstrom. User Guide for MINPACK-1, Report ANL-80-74. Argonne, Illinois, USA, 1980. See http://www-fp.mcs.anl.gov/otc/
Guide/softwareGuide/Blurbs/minpack.html.
[4] A. M. Law and W. D. Kelton. Simulation Modeling and Analysis. McGraw-Hill, New
York, NY, third edition, 2000.
[5] P. LEcuyer, L. Meliani, and J. Vaucher. SSJ: A framework for stochastic simulation in
Java. In E. Y
ucesan, C.-H. Chen, J. L. Snowdon, and J. M. Charnes, editors, Proceedings
of the 34th Winter Simulation Conference: exploring new frontiers, pages 234242. IEEE
Press, 2002. Available at http://simul.iro.umontreal.ca/ssj/indexe.html.
[6] J. Leydold and W. Hormann. UNU.RANA Library for Universal Non-Uniform
Random Number Generators, 2002. Available at http://statistik.wu-wien.ac.at/
unuran.
[7] R. B. Schnabel. UNCMINUnconstrained Optimization Package, FORTRAN. University of Colorado at Boulder. See http://www.ici.ro/camo/unconstr/uncmin.htm.