This page contains the user-manual for OASIS 2020. We assume that you are already familiar with the optimization process and already have a copy of OASIS 2020 installed. If you are not familiar with Optimization, we suggest starting by reading our blog post on the subject. If you do not yet have a copy of OASIS installed, contact us to get started.

 

Getting Started

OASIS is a third wave general purpose optimization tool. To run your first optimization you only need to supply an overview of your model. This video demonstrates how OASIS will operate generally using only user supplied mathematic expressions.


Simulation Integration

OASIS has powerful general-purpose simulation integration tools. This video demonstrates how OASIS can be integrated with any tool, including windows powershell scripts and simulation softwares.

The setup for OASIS execution strategy “Execute Once and Monitor Files for Changes” demonstrated at below video.


BABEL MatH Expressions

Babel is a math expression language created for OASIS by Empower Operations. It expresses most common mathematic operations with a keyboard friendly syntax.

// assume variables x1, dist_var, x3, angle_2
x1 * dist_var^2 + 7.3*x3 + cos(angle_2)

Babel is used to define constraints, transformations on simulation outputs and objectives more generally.

// constraint example
x1*x2 > x3

It also has more novel concepts to allow for more elaborate math expressions

sum(1, 19, i -> 
  var temp = var[i]^2 - e^var[i-1]
  temp + 23.4
)

A complete reference for Babel can be found here:


OPYL Config DOcuments

OPYL is a configuration document type for OASIS. It is a specialization of YAML document documents, which are text-based human-readable configuration files.

OPYL files can be used to quickly share configuration between collegues, or at the command line as a directive for OASIS in a kind of batch mode. They are much smaller than OASIS project files but do not contain any optimization result information.

Below is a would-be complete definition for an imaginary simulation tool CAN_SIM on an imaginary compression model involving two beams.

#describes the input variables to the problem
inputs:
  l1_height:  { lower: 0.01, upper: 5.0 }
  l2_height:  { lower: 0.01, upper: 5.0 }
  l1_width:   { lower: 0.01, upper: 7.025E6, step: 1000 }
  l2_width:   { lower: 0.0, upper: 2.0E-3, step: 5.0E-4 }
  threadSize: { lower: -5.0, upper: 5.0, step: 0.5 }

# more details have been elided here
...

simulations:
  cansim:
    exe: C:\Program Files (x86)\cansim\bin\cansim300.exe
    timeout: 30 min
    input file: C:\Users\localUsr\cansim\mainModel.m
    output file: C:\Users\localUsr\cansim\report.ini
    options:
      -b:
      -extra : "C:/Users"

    inputs:
      CAN_L1_HEIGHT:
      - { line: 25, character: 41, length: 3 }
      CAN_L2_HEIGHT:
      - { line: 26, character: 41, length: 3 }

    outputs:
      CAN_TOLERANCE:
      - anchor: "CANSIM SIMULATION SYSTEM 20"
        occurance: 2
      - anchor: "TABLE OF OUTPUTS"  
      - line: 4
      - character: 27

#some misc details about how the optimization 
#is to be performed
settings:
  runs: 10
  target: 20.0

A complete reference for OPYL, and YAML more generally can be found here


Command Line

OASIS can be run from the command line to avoid the overhead of using a GUI.

A few sample executions are as follows:

This will cause OASIS to act as if it was told to import the "Getting Started.opyl" configuration file and run it. OASIS will run until the convergence criteria ("settings" section in the OPYL file) is satisfied or until the user presses ctrl-C

> oasis.cli.exe 
--execute "C:\Samples\Getting Started.opyl" 
--output "C:\run-sample-results\output-project.oasis"

       ___    ___    ____ ____ ____
      / __/\ / _ |  / __//  _// __/
     / /_/ // __ | _\ \ _/ / _\ \
     \____//_/ |_|/___//___//___/ 2020.3
                     by EMPOWER OPERATIONS
Initializing...
Successfully loaded configuration from 'C:\Samples\Getting Started.opyl'
starting: 1 run of V, S, T for 10 evaluations
starting...                [>                  ]  .0 pt/s
point     1 of 10    (10%) [==>                ]  .0 pt/s
point     2 of 10    (20%) [====>              ]  .8 pt/s
point     3 of 10    (30%) [=====>             ] 1.5 pt/s
point     4 of 10    (40%) [=======>           ]  .7 pt/s
point     5 of 10    (50%) [=========>         ]  .7 pt/s
point     6 of 10    (60%) [===========>       ] 3.1 pt/s
point     7 of 10    (70%) [=============>     ]  .9 pt/s
point     8 of 10    (80%) [==============>    ] 1.3 pt/s
point     9 of 10    (90%) [================>  ] 4.5 pt/s
point     10 of 10  (100%) [==================>] 5.5 pt/s
finished 10th evaluation of S, T
Saving project to 'C:\run-sample-results\output-project.oasis'...
Done.
OASIS exited with OK (code 0)

To continue an optimization from the command line and to run from a project rather than from an OPYL file, use this syntax:

> oasis.cli.exe 
--execute "C:\run-sample-results\output-project.oasis" 
--output "C:\run-sample-results\project-continued.oasis" 
--continue 5

You can run oasis.cli.exe itself with --help for more details


If you have more questions about OASIS functionality, please contact us.

More details