Sim::OPT is a research software environment for the exploration and optimization of discrete multidimensional design spaces. It was developed particularly for problems in which evaluating a design means constructing or modifying a model, running a simulation, retrieving its results and using those results to decide where to explore next.
Its characteristic approach is problem decomposition. Instead of requiring the entire design space to be searched as a single problem, variables can be organized into subspaces, or blocks, which may also overlap. Different search strategies can then be applied to different parts of the problem and combined within the same exploration.
Sim::OPT was developed in the context of simulation-supported architectural and building-performance design, and several of its model-transformation, simulation and reporting functions directly support the ESP-r building performance simulation platform. Its more general mechanisms, however, operate on text-based models and numerical datasets and are not intrinsically restricted to building simulation.
Gian Luca Brunetti (2016), “Cyclic overlapping block coordinate search for optimizing building design”, Automation in Construction, 71, 242–261. DOI: 10.1016/j.autcon.2016.08.014.
From simulation to design-space structure
Sim::OPT treats the evaluated instances of a problem as more than an unordered collection of simulation results.
An exploration can be organized spatially, through coordinate and block searches; hierarchically, by changing the scope and resolution of the represented design space; statistically, by analysing variables and responses; or approximately, by reconstructing parts of the space from a smaller number of directly evaluated instances.
The same environment can therefore be used to generate design alternatives, search for preferred solutions, reconstruct unsampled regions, identify representative designs, study sensitivity and fundamentality, and examine the distributions produced by an exploration.
Sim::OPT can also work on previously calculated results without launching new simulations. This makes the search and analysis tools useful both during simulation-based exploration and afterward, when the structure of an existing dataset is being investigated.
Documentation
OPT — design-space representation and execution.
Block Coordinate Descent and Graph search — overlapping subspaces and decomposed search - optimisation.
NSGA-II — multi-objective evolutionary search - optimisation.
OPTcue — extension layer for additional exploration and analysis.
Interlinear / DWGN — reconstruction from distance-weighted gradients - metamodelling, surrogate modelling.
DWGI — experimental global gradient integration - metamodelling, surrogate modelling.
ClusterMedoid — representative archetypes (medoids)ç of evaluated landscapes.
CalcMarginals — empirical marginal and conditional distributions.
Design / StructureDesign Procedure — hierarchical procedural workflows.
Sensitivity and Fundamentality — importance and structural dependence.
Config — terminal authoring and validation assistant.
ConfigEditor — alternative terminal configuration editor.
Current distribution
The current release available here is Sim::OPT 0.1018 + OPTcue, for Linux.
The Perl distribution includes a compiled OPTcue component built for the x86_64-linux-gnu-thread-multi Perl architecture and requiring Perl 5.38.2. External simulation software is not included; ESP-r, for example, must be installed separately when ESP-r-specific functions are used.
Installation
Perl distribution: ZIP or TAR.GZ
This route requires a compatible Perl 5.38.2 environment and all required Perl dependencies. Unpack the archive, open a shell, enter the extracted directory, and run:
perl Makefile.PL make sudo make install
Makefile.PL stops with an explanatory message if the Linux/Perl architecture or ABI is incompatible with the supplied compiled component.
To run a study, place the supplied examples/opt launcher in the model directory. The same directory should contain the Sim::OPT configuration file and the files required by the model. Enter that model directory in the shell, make the launcher executable if necessary, and start it:
chmod 755 ./opt ./opt
Sim::OPT then asks for the Unix path of the configuration file:
This is Sim::OPT, version 0.1018. Please insert the name of a configuration file (Unix path).
If the configuration file is in the current directory, enter for example:
./myconfiguration.pl
The supplied opt launcher records terminal output in tofile_.txt in the directory from which it is run.
Standalone Linux executable
The alternative standalone executable packages the Perl runtime and Perl-side dependencies with Sim::OPT + OPTcue. A separate Perl installation is therefore not required. A study still needs its Sim::OPT configuration file and any external simulation programs called by that configuration.
Download
Sim::OPT 0.1018 + OPTcue
Linux x86-64
Perl distribution — sources + compiled OPTcue component
The open Sim::OPT distribution is also available through CPAN/MetaCPAN.