OSiL (instance) is an optimization instance format, a state-of-art design that is simple, clean, extensible, object-oriented.
OSiL is definitely the most critical instance representation. OSiL should be interpreted as Optimization Services input instance Language. The contents of many other OSxL representations such as the Optimization Services result Language and Optimization Services analysis Language are based on and driven by the OSiL design. In a typical Optimization Process, OSiL is transmitted from and to nearly all the major OS components on the OS network.
There are numerous algebraic modeling languages available for generating mathematical programs (or optimization problems) and numerous mathematical programming solvers available for solving the mathematical program.
This proliferation of modeling languages and solvers is a problem if modelers want to use any solver with any modeling language. One way to increase modeler-solver compatibility is to use an industry standard representation of a problem instance so that all modeling languages and all solvers use the same representation of a problem instance.
The Optimization Services representation project started with the OSiL for representing general optimization input instances. OSiL has its roots in LPFML for representing linear program instances. For linear programming, an instance can be represented as a list of nonzero coefficients of variables in the objective and constraint functions, along with bounds on the variables and constraint functions. LPFML also has slight support for solver options and optimization outputs. OSiL extends and improves LPFML's idea for linear program design and adds other optimization types. There is no separate linear instance representation in Optimization Services. We reserve the acronym OSlL (Optimization Services linear Language) in honor of LPFML for providing us the base and insight in linear program representations and for its early adoption of XML technologies in optimization. Optimization Services, however, has its own separate supports for optimization options and results through OSoL (Optimization Services option Language) and OSrL (Optimization Services result Language).
The following figure illustrates the general OSiL Schema.