SimWrapper

Optimize your existing model 

SimWrapper quickly and easily integrates with your custom model providing an intuitive user interface for model optimization and analytics.

Request a Demo

Build your model in Java, Python, R, Matlab, Julia, Excel, or any other language or framework for artificial intelligence / machine learning (AI/ML), financial and portfolio planning, process simulation, agent-based analysis, or other types of studies, and then use SimWrapper to perform optimization, experimental design, sampling, batch runs, and response surface characterization on your model. Use the analytics, data mining, and graphing tools in SimWrapper to explore your results, or easily export them to Tableau, Qlik, Excel, or other data exploration and visualization frameworks.

Multi-objective Efficient Frontier

Analysts invest large amounts of time and money creating a model, populating it with data, and validating it for use. However, analysts rarely, if ever, retrieve all of the knowledge and insights that the model may yield.

Once you have a model, use SimWrapper to answer questions like:

  • What are the best hyperparameter values to achieve the best AI/ML model performance?
  • What are the best portfolio choices to maximize returns and minimize risk?
  • What are the best system parameters to use to make a system run most efficiently and at least cost?
  • For a model output, which model inputs have the greatest impact? Are there model inputs that have no impact on the model outputs?
  • With multiple competing objectives what are the best possible tradeoffs between them?

Answers to these questions are not only important for validating the legitimacy of the model, but they provide key insights for decision makers within the organization, increasing the return on investment of your analyst team and the studies they perform.

SimWrapper can be used to manipulate any combination of binary, integer, discrete, continuous, enumerated, permutation/sequencing, and design inputs to your model. It supports constrained or unconstrained optimization with one or more objectives, and allows linear, nonlinear, or more complex functions. For multiple objectives, SimWrapper does not rely on simple weighting schemes that require subjective weightings and yield only a single best result. SimWrapper directly searches for and displays a true efficient frontier of optimal tradeoffs between your competing objectives.

Cross-Platform

SimWrapper is a cross-platform, Java application that can be used to wrap virtually any new or legacy model. You can run it on Windows, Linux, or Mac, wherever your model runs. The user interface guides the user through specifying the model inputs to vary and the outputs to collect. SimWrapper interacts with OptQuest (OptTek’s proprietary optimization engine) to perform optimization, design of experiments, sampling, and batch runs. SimWrapper then uses a library of analytical tools to analyze completed model runs and provide information on model sensitivities. SimWrapper also provides two- and three-dimensional plotting of model inputs and outputs to visually explore the executed model runs.

To optimize your model, provide a custom executable in any language that manages the interface between SimWrapper and your model. This executable performs three tasks:

  • Updates the model inputs as specified by SimWrapper
  • Executes the model
  • Retrieves the model outputs

Example ModelExample models and executable files are available to get you started in Java, Python, R, Julia, Matlab, Excel, and Octave. If you would like help creating the executable to use with your model, consulting help is available. Creating an executable for a simple example using your model takes less than a day.

 

SimWrapper:

  • Automates optimization, design of experiments, batch runs, and post-run analytics eliminating tedious manual scenario manipulation
  • Builds complex tradespaces for multiple objectives with or without constraints
  • Analytics to identify influential variables and good operating regions
  • Supports parallel runs locally or on a computing cluster

What can OptTek do for you?

Solving the world's most complex challenges through optimization and analytics for over 30 years.