Optimization Services simulation Language (OSsL)
OSsL (simulation) is a format for input and output used by simulation services that are invoked via the Optimization Services to obtain function values.
OSsL facilitates and enables objective or constraint functions to incorporate simulations, which may be located in places other than the solver. An OSsL instance is usually transmitted between a solver and a simulation engine. From the Optimization Services framework point of view, if a simulation is to be invoked by an OS-compatible solver, its input and output have to be put in the standard OSsL format.
Each simulation consists of the simulation’s address using the <uri> child and its input and output using the <ossl> child. The following figure is a good illustration.
The definition of simpleSimulation looks like:
As the OSnL section, to construct a nonlinear expression that contains simpleSimulation, we use the <simInput> and <simOutput> nodes:
In the following Figure, we list the entire ossl schema.
As illustrated in the above figure, the OSsL schema is very simple, but still general enough to accommodate to any existing simulations. The <ossl> element has two optional children <input> and <output> and it does not matter which comes first. The two child elements are very similar, which is why we don’t have a separate schema for each. Both elements have 0 or more <el> elements. This corresponds to the notion that simulations in general can take any number of inputs and generate any number of outputs. An <el> element is of ioType; it takes a required name attribute for the input or output name and an optional type attribute. The input or output values go inside the elements. By default the type attribute is “string” which is the most general an input or output value can be. The other type is “link” which indicates that the value inside the <el> element is a pointer and the actual data is to be obtained from the specified link address. For instance, in the following example:
input “a” is a string (= “1”) and input “b” is a link. The value of b (e.g. “MSFT”) should be obtained from the address http://www.optimizationservices.org/data/stock.html.
|© Optimization Services (OS) 2006 | All rights reserved.|