Tuesday, January 10, 2023

JaamSim Downloads reach 76,000

As of the end of 2022, the number JaamSim downloads totaled 76,146 since the beginning of 2016 when we began to collect statistics. More than 16,000 copies were downloaded during 2022 alone. The following graph shows a steady increase in the annual numbers with only a slight dip during the years of 2019 and 2020. The trend seen during the earlier years has been resumed during the last two years.

Since we issue multiple releases each year, one might wonder if these numbers of downloads represent a smaller number of people making multiple downloads, one for each new release. If this were the case, we would see the average number of downloads per week decrease with the length of time that the release was current, i.e. before the next release was made. This has not been the case. The following graphs shows the number of downloads for the seven releases made during 2022 plotted against the time during which the release was current. Clearly there is no fall-off in the number of downloads per week for the releases that were current for longer periods of time. To illustrate this point, note that approximately 6,000 downloads were made for a single release (2022-06) over a 123 day period and that this rate of downloads was very similar to the rates for four other releases each with a period of 36 - 44 days.

This analysis suggests that most JaamSim users have downloaded a single release and have continued to use it unless they have needed a bug fix or new feature that has become available in a newer release.

In other words, we can conclude that a large fraction of the 76,000 downloads represent new users of JaamSim, and that the number of JaamSim users is increasing rapidly each year.  

Sunday, December 4, 2022

Introducing JaamSim Pro

JaamSim Software Inc. is pleased to announce a new commercial software product 'JaamSim Pro' that extends the open-source JaamSim by adding libraries of objects for vehicle motion and material flow. It is targeted at the mining and oil & gas industries and the consultants that build models for these companies. These complex models include everything from the production and processing of one or more materials through various transportation modes and storage locations through to the end user. They often have hundred or even thousands of active components.

The following model prepared by Hypercube Scientific (hypercubescientific.com.au) is a good example of an end-to-end model for a hypothetical mining company:

What makes JaamSim Pro special is that these models can be constructed in much less time and that they execute many times faster than the models built with other software. For example, the model shown above executes one year of simulated time in about 30 minutes on a typical computer. With other software a simulation run can require 2 or more hours of execution time.

JaamSim Pro executes so much faster than other simulation software because it simulates material flow and vehicle motion using next-event logic instead of the fixed time steps used by other software. Next-event logic is more difficult for our programmers to implement, but the increase in execution speed is enormous. It also avoids the problems of accumulated round-off error and makes it unnecessary for the model builder to choose the size of the time steps.

The JaamSim Pro website (jaamsimpro.com) provides a series of videos that show the types of models that can be constructed.

Lastly, please note that the free open source JaamSim can still be used for both academic and commercial purposes. Its Apache 2.0 license is one of the most permissive licenses for open source software. JaamSim Pro is only required if its libraries of material flow and vehicle motion objects are needed for a model. Any new features that are not related to these two libraries will be included in the open source JaamSim.

Monday, January 31, 2022

Articles on JaamSim

The last few years have seen an increase in the number of scholarly articles regarding JaamSim. One article in particular caught our eye. In its review of open source simulation software for production and logistics, Lang et al. (2021) concluded that:

"JaamSim provides everything which is necessary to model typical planning tasks in production and logistics and proves as a real alternative to commercial discrete-event simulation tools."

Of course, this observation was not news to us, but it was nice to see it recognized independently!

In an earlier article that reviewed a large number of open source simulation packages, Dagkakis and Heavey (2015) noted that:

"Out of all the OS DES projects we reviewed, JaamSim is the one with the most impressive 3d user interface that can compete against COTS [commercial off the shelf] DES software."

"The fact that a non-expert user can just download and test the software in a few minutes is something that is a scarce attribute in OS projects and especially in the DES domain."

"It is the only tool we found that is clearly industry driven."

These two articles and many more that are relevant to JaamSim are listed below:

Duin, H.; Neu, W.; Schüning, T.; Eschment, L.; Nobel, T.; Wurst, S. (2023): The planning of hyperloop-based cargo tubes routes for sustainable logistic solutions, ICPLT 2023: Advances in Resilient and Sustainable Transport, 306-320, doi: 10.1007/978-3-031-28236-2_19

Ruane, P.; Walsh, P.; Cosgrove, J. (2022): Development of a digital model and metamodel to improve the performance of an automated manufacturing line, Journal of Manufacturing Systems, Vol. 65, 538-549, doi: 10.1016/j.jmsy.2022.10.011

Kristiansen, O. S., Sandberg, U., Hansen, C., Jensen, M. S., Friederich, J., & Lazarova-Molnar, S. (2022). Experimental Comparison of Open Source Discrete-Event Simulation Frameworks. In D. Jiang, & H. Song (Eds.), Simulation Tools and Techniques: 13th EAI International Conference, SIMUtools 2021, Virtual Event, November 5-6, 2021, Proceedings (pp. 315-330). Springer. doi: 10.1007/978-3-030-97124-3_24

Lang, S.; Reggelin, T.; Müller, M.; Nahhas, A. (2021): Open-source discrete-event simulation software for applications in production and logistics: An alternative to commercial tools?, Procedia Computer Science, Vol. 180, 978-987, doi:10.1016/j.procs.2021.01.349

Possik, J.; Zouggar-Amrani, A.; Vallespir, B.; Zacharewicz, G. (2021): Lean techniques impact evaluation methodology based on a co-simulation framework for manufacturing systems, International Journal of Computer Integrated Manufacturing, doi:10.1080/0951192X.2021.1972468

Gorecki, S.; Possik, J.; Zacharewicz, G.; Ducq, Y.; Perry, N. (2021): Business models for distributed-simulation orchestration and risk management, Information, Vol. 12, No. 71, doi:10.3390/info12020071

Ochs, J.; Biermann, F.; Piotrowski, T.; Erkens, F.; Nießing, B.; Herbst, L.; König, N.; Schmitt, R.H. (2021): Fully automated cultivation of adipose-derived stem cells in the StemCellDiscovery—a robotic laboratory for small-scale, high-throughput cell production including deep learning-based confluence estimation, Processes, Vol. 9, 575, doi:10.3390/pr9040575

Amarantou,V.; Chatzoudes, D.; Angelidis, V.; Xanthopoulos, A.; Chatzoglou, P. (2021): Improving the operations of an emergency department (ED) using a combined approach of simulation and analytical hierarchical process (AHP), Journal of Simulation, doi:10.1080/17477778.2021.1981784

Xanthopoulos, A. S.; Koulouriotis, D. E. (2021): A comparative study of different pull control strategies in multi-product manufacturing systems using discrete event simulation, Advances in Production Engineering & Management, Vol. 16, No. 4, 473-484, doi:10.14743/apem2021.4.414

Kumar, A.; Sharma, K.; Singh, H.; Naugriya, S. G. ; Gill, S. S.; Buyya, R. (2021): A drone-based networked system and methods for combating coronavirus disease (COVID-19) pandemic, Future Generation Computer Systems, Vol. 115, 1-19, doi:10.1016/j.future.2020.08.046

Kumar, A.; Krishnamurthi, R.; Nayyar, A.; Luhach, A. K.; Khan, M. S.; Singh, A. (2021): A novel software-defined drone network (SDDN)-based collision avoidance strategies for on-road traffic monitoring and management, Vehicular Communications, Vol. 28, doi:10.1016/j.vehcom.2020.100313

Izquierdo, F.; Garcia, E.; Cortez, B.; Escobar, L. (2021): Flexible manufacturing systems optimization with meta-heuristic algorithm using open source software, Recent Advances in Electrical Engineering, Electronics and Energy, Vol. 763, doi:10.1007/978-3-030-72212-8_18

Larsson, R. (2021), Development and application of a tool for assessing the impact of failure modes on performance of underground drill rigs, Dissertation, Örebro University, Sweden

Gorecki, S.; Possik, J.; Zacharewicz, G.; Ducq, Y.; and Perry, N. (2020): A multicomponent distributed framework for smart production system modeling and simulation, Sustainability, Vol. 12, No. 17, 6969; doi:10.3390/su12176969

Kumar, A.; Srikanth, P.; Nayyar, A.; Sharma, G.; Pulipeti, S.; Krishnamurthi, R.; Alazab, M. (2020): A novel simulated-annealing based electric bus system design, simulation, and analysis for Dehradun smart city, IEEE Access, doi:10.1109/ACCESS.2020.2990190

Kumar, A.; Krishnamurthi, R.; Nayyar, A.; Sharma, K.; Grover, V.; Hossain, E. (2020): A novel smart healthcare design, simulation, and implementation using healthcare 4.0 processes, IEEE Access, Vol. 8, 118433-118471, doi:10.1109/ACCESS.2020.3004790

Kumar, A.; Sharma, D. K.; Nayyar, A.; Singh, S.; Yoon, B. (2020): Lightweight proof of game (LPoG): a proof of work (PoW)’s extended lightweight consensus algorithm for wearable kidneys, Sensors, Vol. 20, 2868, doi:10.3390/s20102868

Kim, S.; Chepenik, L. G. (2020): Use of computer modeling to streamline care in a psychiatric emergency room: a case report, Psychiatric Services, Vol. 71, 92–95, doi:10.1176/appi.ps.201900040

Kloock-Schreiber, D.; Siqueira, R.; Gembarski, P. C.; Lachmayer, R. (2020): Discrete-event simulation for specification design of products in product-service systems, Proceedings of the Design Society: DESIGN Conference, Vol. 1, 255-264, doi:10.1017/dsd.2020.295

Kiss, T.; DesLauriers, J.; Gesmier, G.; Terstyanszky, G.; Pierantoni, G.; Abu Oun, O.; Taylor, S. J. E.; Anagnostou, A.; Kovacs, J.; (2019): A cloud-agnostic queuing system to support the implementation of deadline-based application execution policies, Future Generation Computer Systems, Vol. 101, 99-111, doi:10.1016/j.future.2019.05.062

Zeng, W.; Baafi, E.; Walker, D. (2019): A simulation model to study bunching effect of a truck-shovel system, International Journal of Mining, Reclamation and Environment, Vol. 33, No. 2, 102-117, doi:10.1080/17480930.2017.1348284

Katsios, D.; Xanthopoulos, A. S.; Koulouriotis, D. E.; Kiatipis, A. (2018): A simulation optimisation tool and its production/inventory control application, International Journal of Simulation Modelling, Vol. 17, No. 2, 257-270, doi:10.2507/IJSIMM17(2)425

Ghafghazi, S.; Lochhead, K.; Mathey, A.; Forsell, N.; Leduc, S.; Mabee, W.; Gary Bull, G. (2017) Estimating mill residue surplus in Canada: a spatial forest fiber cascade modeling approach, Forest Products Journal, vol. 67, 205, doi:10.13073/FPJ-D-16-00031

Li, X.; Li, Z.; Wu, G. (2017): Lean precast production system based on the CONWIP method, KSCE Journal of Civil Engineering, doi:10.1007/s12205-017-2009-4

Abas, Z. A.; Ee-Theng, L.; Rahman, A. F. N. A.; Abidin, Z. Z.; Shibghatullah, A. S. (2015): Enhanced scheduling traffic light model using discrete event simulation for improved signal timing analysis, ARPN Journal of Engineering and Applied Sciences, Vol. 10, No. 18

Dagkakis, G.; Heavey, C. (2015): A review of open source discrete event simulation software for operations research, Journal of Simulation, Vol. 10, No. 3, doi:10.1057/jos.2015.9

Sterling, T.; Kogler, D.; Anderson, M.; Brodowicz, M. (2014): SLOWER: A performance model for Exascale computing, Supercomputing Frontiers and Innovations, Vol. 1, No. 2, 42-57, doi:10.14529/jsfi140203

King, D. H.; Harrison, H. S.; Chudleigh, M. (2014): “JaamSim” described in three simple examples, Proceedings of the Operational Research Society Simulation Workshop 2014 (SW14)

King, D. H.; Harrison, H. S. (2013). JaamSim open-source simulation software, Proceedings of the 2013 Grand Challenges on Modeling and Simulation Conference, doi:10.5555/2557668.2557669

King, D. H.; Harrison, H. S. (2013): Open-source simulation software “JaamSim”, 2013 Winter Simulations Conference (WSC), 2163-2171, doi:10.1109/WSC.2013.6721593

King, D. H.; Harrison, H. S. (2010): Discrete-event simulation in Java: a practitioner's experience, Proceedings of the 2010 Conference on Grand Challenges in Modeling & Simulation (GCMS '10), Society for Modeling & Simulation International, 436 – 441, doi:10.5555/2020619.2020678

Saturday, January 29, 2022

Teaching Simulation using JaamSim

Over the years we have tried to keep track of all the universities and colleges that use JaamSim for their courses in discrete event simulation. Typically, we ask the instructor to provide details about the course in the form of a post to the JaamSim forum under the topic "Teaching Simulation using JaamSim" (link). Some instructors have generously shared their course notes to make it easier for others to use JaamSim in their courses.

Included in the post are the following institutions:
  • Rutgers University, USA
  • The Wharton School, University of Pennsylvania, USA
  • United States Naval Academy, USA
  • Karlstad University, Sweden
  • University of Zaragoza, Spain
  • Swiss Distance University of Applied Sciences, Switzerland
  • Maastricht University, The Netherlands
  • University of Antwerp, Belgium
  • Albstadt-Sigmaringen University, Germany
  • Derby College, UK
  • Conestoga College, Canada
  • Capilano University, Canada
  • University of Auckland, New Zealand
  • Universidad del Valle de Guatemala, Guatemala
  • Universidad de San Carlos de Guatemala, Guatemala
  • Universidad EAFIT, Colombia
  • Universidade Tecnológica Federal do Paraná, Brazil
  • Universidade Federal de Ouro Preto, Brazil
  • Universidade Federal Rural do Semi-Árido, Brazil
  • Universidade Federal de São João del-Rei, Brazil
More information about these courses and names of the instructors can be found by clicking on the link to the forum post given above or by searching for this topic in the JaamSim forum.

With 12,000 downloads of the software per year, we expect that JaamSim is being used at many more institutions than the ones listed above. If you would like to add your university or college to this list, please post the requested information about your course under this topic in the JaamSim forum.

Sunday, December 19, 2021

Optimum Number of Threads

The latest release of JaamSim (2021-06) has the ability to execute multiple simulation runs in parallel on a multi-core computer. The number of parallel runs is specified by the 'NumberOfThreads' input for the Simulation object. Although there is no upper limit on this input, specifying too many threads will result in excess context switching which reduces execution speed. So, how does one choose the best value for this input and how much faster will a set of simulation runs be completed?

The 'Run Progress' pop-up, which appears when the runs are started, provides a way to answer these questions.

In addition to showing the scenarios and replications that being executed on each thread, the number in red at the bottom left corner shows the estimated rate at which simulation runs are being completed. This value is updated every 5 seconds based on the amount of progress made since the previous update. The optimum number of threads is the one that generates the greatest number of runs executed per hour.

The only way to be sure that the right number of thread has been chosen is to experiment with the NumberOfThreads inputs for the model in question. In most cases, however, the optimum number will be the same for all models and determined by the type of CPU installed in the computer.  The following analysis was performed for two computers: a laptop computer and a desktop computer, both with Intel i7 processors that have four cores and hyper-threading. Potentially, these processors could provide up to eight threads (4 cores x 2 for hyper-threading).

The model used for the analysis was the 'Factory Example' model, which can be found by clicking Help > Examples > Factory Model. After setting the 'RunDuration' input to 30 years and turning 'Real Time' model off, the model was executed for a series of runs with various inputs for NumberOfThreads. Before taking any measurements, the model was allowed to run for one minute to allow just-in-time compilation to be performed by the Java virtual machine. All runs were performed with no other applications opened and with JaamSim's view and tool windows closed. The runs per hour value shown in the Run Progress pop-up was recorded when the first thread reached 50% complete. The process was repeated three times for each NumberOfThreads input and the average runs per hour was calculated.

The following graph shows the ratio of the runs per hour for a given NumberOfThreads input divided by the runs per hour value for one thread.

The graph shows that a NumberOfThreads input of 3 gave the best performance for the laptop computer and very nearly the best performance for the desktop computer. The poorer performance of the laptop computer with larger NumberOfThreads inputs is likely due to its limited cooling capacity. Note that the provision of hyper-threading on the Intel CPU did not allow a larger value to be used for NumberOfThreads.

The optimum run execution speed was about 2.2 - 2.5 times the rate for a single thread, which is about  73 - 83% of the potential processing power for three threads.

Although no tests were performed with CPUs that have more than four cores, it seems reasonable to guess that the following two formulae will hold approximately for other multi-core processors:

Optimum Number of Threads = (Number of Cores) - 1

Optimum Run Execution Speed = (0.8)(Optimum Number of Threads)

In some ways, it is disappointing that only three threads can be used for a CPU that is rated at eight threads. Nevertheless, the ability to execute a set of simulation runs 2.2 - 2.5 times faster is still a very satisfactory outcome for this new feature. Even bigger benefits should be available with newer CPUs that can have as many as 64 cores.

Thursday, July 7, 2016

Citing JaamSim and Updated Release Policy


We've seen an increasing number of papers written using JaamSim in the research process, to support this we've created some suggested text to help with citing JaamSim in your papers. Please cite JaamSim in the following way (Adjust the version as needed):

JaamSim Development Team (2016). JaamSim: Discrete-Event Simulation Software. Version 2016-14. URL http://jaamsim.com. doi:10.5281/zenodo.57118

For Latex users, the following Bibtex entry may be useful:

    title = {JaamSim: Discrete-Event Simulation Software},
    author = {{JaamSim Development Team}},
    year = {2016},
    note = {Version 2016-14},
    url = {http://jaamsim.com},
    doi = {10.5281/zenodo.57118}

As you may have noticed, we also have created a Digital Object Identifier for JaamSim to help people with their citations.

JaamSim Downloads

We've changed the download locations slightly to take advantage of the github release feature, all versions will now have a permanent address hosting each of the pre-built JaamSim executables rather than being hosted directly on jaamsim.com.

The latest release will always be linked directly from the existing downloads page, but if you ever need an older version to replicate past results, they are now all archived at:

That's all for now, as always, if you have any questions please find us on the JaamSim forum.

Harvey Harrison

Saturday, April 23, 2016

JaamSim Software Inc.

We have formed a new company, JaamSim Software Inc., to develop, promote, and support JaamSim simulation software. The software will continue to be free and open-source, and we have no plans to introduce a "premium" version. Revenue will come from a range of services provided by the company:
  • Technical support contracts. Similar to commercial software vendors, we can provide on-call technical support with guaranteed response times to resolve technical problems.
  • Introductory courses. Courses will be offered in Vancouver, Canada for both new-comers to simulation and for experienced analysts wishing to convert to JaamSim from other software.
  • Onsite training and technology transfer. Customized training can be provided for groups of employees on their company's premises.
  • Paid development of new features. When a user needs a new feature to build a model, we do our best to provide it in a timely fashion. However, if the feature is too specialized to receive a high priority in our development cycle, it may not become available soon enough to meet the user's timeline. In this case, a user can pay us to program the feature at hourly rates. Paid features will become part of free, open source code in the same way as normal features.
  • Preparation of client models. When building a complex new model, it is often more cost-effective for a company to pay us to prepare and hand over an initial version of the model. It is much easier to modify a well-designed model than it is to build one from scratch.
  • Custom palettes of new objects. Complex, highly-detailed models can be built more easily using specialized objects designed for that application. For example, it would be better to build a model of a road network using specialized objects such as vehicles, roads, traffic lights, etc. than using more abstract objects such as SimEntity, Server, Queue, etc. We can prepare palettes of these specialized objects to suit any industry.
Along with the company, we have introduced a new logo for JaamSim, shown above. The logo represents the magical wine-bowl or "Jaam-e Jam" from Persian mythology, which I described in an earlier post. JaamSim's name refers to both "JAva Animation Modelling and SIMulation" and the magical wine bowl. Divinations from the bowl "... were said to reveal deep truths".

Contact Dr. Harry King at d.harry.king@gmail.com for more information about the services we can provide.