Enabling the “Easy Button” for Broad, Parallel Optimization of Functions Evaluated by Simulation
Date of Graduation
Doctor of Philosophy in Engineering (PhD)
Manuel D. Rossetti
Edward A. Pohl
Second Committee Member
Brent D. Williams
Third Committee Member
Sarah Nurre Pinkley
Optimization, Parallel computing, Simulation, Java optimization by simulation
Java Optimization by Simulation (JOBS) is presented: an open-source, object-oriented Java library designed to enable the study, research, and use of optimization for models evaluated by simulation. JOBS includes several novel design features that make it easy for a simulation modeler, without extensive expertise in optimization or parallel computation, to define an optimization model with deterministic and/or stochastic constraints, choose one or more metaheuristics to solve it and run, using massively parallel function evaluation to reduce wall-clock times.
JOBS is supported by a new language independent, application programming interface (API) for remote simulation model evaluation and a serverless computing environment to provide massively parallel function evaluation, on demand. Dynamic loop scheduling methods are evaluated in the serverless environment with the opportunity for significant resource contention for master node computing power and network bandwidth.
JOBS implements several population-based and single-solution improvement metaheuristics (solvers) for real, discrete, and mixed problems. The object-oriented design is extendible with classes that drastically reduce the amount of code required to implement a new solver and encourage re-use of solvers as building blocks for creating new multi-stage solvers or memetic algorithms.
Gibson, A. (2021). Enabling the “Easy Button” for Broad, Parallel Optimization of Functions Evaluated by Simulation. Graduate Theses and Dissertations Retrieved from https://scholarworks.uark.edu/etd/4122
Industrial Engineering Commons, Industrial Technology Commons, Operational Research Commons