What is a scripting statement?
A definition of the kind of statements you can write with IBM ILOG Script
A script is a sequence of commands. These commands can be of various types: declarations, simple instructions, and compound instructions. Both type and data declarations are supported in IBM ILOG Script.
IBM ILOG Script is a language for combining, and interacting with, OPL models.
It supports OPL models as first-class objects and makes it possible to:
solve multiple instances of the same model
solve sequences of models where one model takes as input the results of another model
combine both the above, as in column-generation applications.
An OPL statement describes a model for an optimization application. However, there are many applications where model solving is only a part of a more complex application. These applications may need to solve a set of closely related models, e.g., to analyze the impact of the data; they may need to solve a sequence of models, where the solution of one model is the input data of another model; or they may need to have two models cooperate in order to converge towards a solution, as is often the case in column-generation algorithms.
IBM ILOG Script aims at simplifying the design of such applications. The key insight of IBM ILOG Script is to view models as first-class objects: an IBM ILOG Script model is an object that is initialized by an OPL model (and possibly some OPL data files). This object supports a variety of methods to solve the model, to access its data, or to change the value of its settings, to name only a few.
In addition, IBM ILOG Script offers the same high-level data structures as in OPL, embeds them in an imperative language, and adds some novel constructs that address specific needs of these applications.
It is important to stress that IBM ILOG Script is orthogonal to existing tools such as JavaScript. Its main benefit is to offer dedicated and high-level support for complex optimization applications. In particular, its rich data modeling facilities and its strong typing make it fundamentally different from existing script languages.