Adaptive Simulation with Repast Simphony and Swift

  • Jonathan Ozik
  • Michael Wilde
  • Nicholson Collier
  • Charles M. Macal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8805)


We present a general approach for adaptive ABMS, which integrates Repast Simphony’s distributed batch components and the Swift parallel scripting language. Swift is used to launch Repast Simphony simulations on parallel resources, collect the results from those simulations, and generate further simulations based on an analysis of the results. In order to demonstrate the benefits and capabilities of this approach, we developed a simulated annealing reference workflow and applied it to a modified Repast Simphony “JZombies” demonstration model. The workflow was able to successfully and efficiently find areas of the model parameter space that yielded the desired outcomes, as specified by an objective function. The workflow was run on a high-performance cluster, launching 16 concurrent simulated annealing optimization processes, each executing 100 simulated annealing loops over 16 stochastic model variations – a total of 25,856 adaptive simulation runs, accounting for a 96.3% reduction in the number of simulations that were required compared to a complete enumeration of parameter space. The materials used in the workflow are included as linked external resources to allow replication.


agent-based modeling ABMS Repast Simphony Swift parallel scripting adaptive simulation workflow software 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    North, M.J., Collier, N.T., Ozik, J., Tatara, E., Altaweel, M., Macal, C.M., Bragen, M., Sydelko, P.: Complex Adaptive Systems Modeling with Repast Simphony. In: Complex Adaptive Systems Modeling. Springer, Heidelberg (2013)Google Scholar
  2. 2.
    Wilde, M., Hategan, M., Wozniak, J.M., Clifford, B., Katz, D.S., Foster, I.: Swift: A language for distributed parallel scripting. Parallel Computing 37(9), 633–652 (2011)CrossRefGoogle Scholar
  3. 3.
    Adaptive Simulation with Repast Simphony and Swiftsupplemental materials,
  4. 4.
    Kleijnen, J.P.C., Sanchez, S.M., Lucas, T.W., Cioppa, T.M.: A user’s guide to the brave new world of simulation experiments. INFORMS Journal on Computing 17(3), 263–289 (2005)CrossRefMATHGoogle Scholar
  5. 5.
    Sanchez, S.M.: Work Smarter, Not Harder: Guidelines For Designing Simulation Experiments. In: Perrone, L.F., Wieland, F.P., Liu, J., Lawson, B.G., Nicol, D.M., Fujimoto, R.M. (eds.) Proc. 2006 Winter Simulation Conf., pp. 47–57 (2006)Google Scholar
  6. 6.
    Barton, R.R.: Designing Simulation Experiments. In: Pasupathy, R., Kim, S.-H., Tolk, A., Hill, R., Kuhl, M.E. (eds.) Proc. 2013 Winter Simulation Conf., pp. 342–353 (2013)Google Scholar
  7. 7.
    Fu, M.C.: Optimization for simulation: Theory vs. practice. INFORMS J. Comput. 14, 192–215 (2002)CrossRefMATHGoogle Scholar
  8. 8.
    Spall, J.C.: Introduction to Stochastic Search and Optimization: Estimation, Simulation, and Control. Wiley, New York (2003)CrossRefGoogle Scholar
  9. 9.
    Walker, E., Xu, W., Chandar, V.: Composing and executing parallel data-flow graphs with shell pipes. In: Workshop on Workflows in Support of Large-Scale Science at SC 2009 (2009)Google Scholar
  10. 10.
    Dean, J., Ghemawat, S.: MapReduce: Simplified data processing on large clusters. In: Proc. Operating Systems Design and Implementation (2004)Google Scholar
  11. 11.
    Thain, T., Tannenbaum, T., Livny, M.: Distributed computing in practice: The Condor Experience. Concurrency and Computation: Practice and Experience 17(2-4), 323–356 (2005)CrossRefGoogle Scholar
  12. 12.
    Deelman, E., Singh, G., Su, M., Blythe, J., Gil, Y., Kesselman, K., Mehta, G., Vahi, K., Berriman, G.B., Good, J., Laity, A., Jacob, J.C., Katz, D.S.: Pegasus: A framework for mapping complex scientific workflows onto distributed systems. Scientific Programming 13, 219–237 (2005)Google Scholar
  13. 13.
    Isard, M., Budiu, M., Yu, Y., Birrell, A., Fetterly, D.: Dryad: Distributed data parallel programs from sequential building blocks. In: Proc. EuroSys (2007)Google Scholar
  14. 14.
    Oinn, T., Addis, M., Ferris, J., Marvin, D., Senger, M., Greenwood, M., Carver, T., Glover, K., Pocock, M.R., Wipat, A., Li, P.: Taverna: a tool for the composition and enactment of bioinformatics workflows. Bioinformatics 20, 3045–3054 (2004)CrossRefGoogle Scholar
  15. 15.
    Ludscher, B., Altintas, I., Berkley, C., Higgins, D., Jaeger-Frank, E., Jones, M., Lee, E., Tao, J., Zhao, Y.: Scientific workflow management and the Kepler system. Concurrency and Computation: Practice & Experience 18, 1039–1065 (2006)CrossRefGoogle Scholar
  16. 16.
    Goecks, J., Nekrutenko, A., Taylor, J.: The Galaxy Team: Galaxy: a comprehensive approach for supporting accessible, reproducible, and transparent computational research in the life sciences.  Genome Biol 11(8), R86 (2010)Google Scholar
  17. 17.
    Maheshwari, K., Rodriguez, A., Kelly, D., Madduri, R., Wozniak, J., Wilde, M., Foster, I.: Enabling multi-task computation on Galaxy-based gateways using Swift. In: 2013 IEEE International Conference on Cluster Computing (CLUSTER), pp. 23–27 (2013)Google Scholar
  18. 18.
    Koehler, M.T., Tivnan, B.F.: Clustered computing with NetLogo and Repast J: beyond chewing gum and duct tape. In: Proceedings of the Agent 2005 Conference on Generative Social Processes, Models, and Mechanisms, pp. 43–54 (2005)Google Scholar
  19. 19.
    Kirkpatrick, S.: Optimization by Simulated Annealing: Quantitative Studies. Journal of Statistical Physics 34(5–6), 975–986 (1984), doi:10.1007/BF0100945CrossRefMathSciNetGoogle Scholar
  20. 20.
    Repast Java Getting Started Guide,
  21. 21.
    Repast Simphony Batch Runs Getting Started,
  22. 22.
    University of Chicago Research Computing Center,
  23. 23.

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Jonathan Ozik
    • 1
    • 3
  • Michael Wilde
    • 2
    • 3
  • Nicholson Collier
    • 1
    • 3
  • Charles M. Macal
    • 1
    • 3
  1. 1.Argonne National LaboratoryGlobal Security SciencesArgonneU.S.A
  2. 2.Argonne National Laboratory, Mathematics and Computer ScienceArgonneU.S.A
  3. 3.Computation InstituteUniversity of ChicagoChicagoU.S.A

Personalised recommendations