Optimization Services









Optimization Services option Language (OSoL)

Click to see or download the OSoL XML Schema -> OSoL.xsd [actively under development, near stable]

click here to see a description on OSoL.

OSoL (option) is a format for Optimization Services options, mainly for solvers.

OSoL and OSiL are usually paired as the input to an optimization solver or solver service. OSoL is probably the OSxL least able to be standardized as different solvers have different options and even if the optional names are the same, they are used differently. If the OSoL option is missing, default options are assumed by the solvers or solver services. OSoL can also potentially be used to discover a solver in the OS registry if a user requires a solver to support a specified option. The separation of OSoL from OSiL helps in enhancing modularity, flexibility and extensibility, among other benefits.

Remember OSoL takes a minimal approach to standardize solver or algorithm related options. OSoL is built in a very extensible way so that custom options can be added easily.

On the other hand OSoL has a complete set of service related options to facilitate optimization over the distributed system.

Major features of OSoL include:

  • categorized options including general options, system specific options, service related options, job related options, optimization related options, and other options.
  • support for various kinds of networking communication mechnisms.
  • support for asynchronous communication. A user can specify a contact address (e.g. email) so that when the optimization job is finished, the user will be notified.
  • support for stateful communication. This is achieved mainly through the built-in mechanism of associating network request with a unique jobID.
  • support for security such as authentication and licensing.
  • support for retrieving remote or local optimization instances, which means an optimization instance doesn't need to send as an input string; instead it can be saved or uploaded in a remote location or the same location as where the solver service is and only a link of the instance file need to be specified; this minimizes communication time.
  • general options including serivceURI, serviceName, instanceName, instanceLocation, jobID, license, userName, password, and contact.
  • system options including minDiskSpace, minMemorySize, minCPUSpeed.
  • service options including service type.
  • job options including scheduledStartTime dependencies requiredDirectoriesAndFiles directoriesToMake filesToCreate. inputFilesToCopyFrom inputFilesToCopyTo inputFilesToMoveFrom inputFilesToMoveTo outputFilesToCopyFrom outputFilesToCopyTo outputFilesToMoveFrom outputFilesToMoveTo filesToDelete directoriesToDelete processesToKill.
  • minimal approach to standardize optimization related options; currently only initial values can be specified as options for optimization.
  • support for extended and/or customized solver-specific or algorithm-specific options.

The following figure illustrates the general OSoL Schema.



Click to see or download the OSoL XML Schema -> OSoL.xsd

click here to see a description on OSoL.