To create an OPL model in the experiment UI,
select Create > OPL in the
model selection window. You can also import OPL models from a file or import a scenario .zip file
that contains the OPL model and the data. If you import from a file or scenario .zip file, the data
must be in .csv format. However, you can import other file formats that you
have as project assets into the experiment UI. You
can also import data sets including connected data into your project from the Decision
Optimizationexperiment UI in the Prepare dataview. For more information, see Importing data into a scenario.
Inputs and Outputs
Copy link to section
In an OPL model you must declare a tupleset, for each table that you imported in
the Prepare dataview and with the same names. The schema for
each tupleset must have the same number of columns as the table and use the same field names. For
example, if you have an input table in your Prepare dataview called Product with the
attributes name, demand, insideCost, and outsideCost, your OPL
model must contain the following definition:
The limitation on only using tuples and tuple sets as OPL input is to facilitate
integration with data sources. For example, SQL data sources can be accessed and data-streamed with
a minimum of effort; NoSQL data sources can be accessed and data can be transformed automatically to
tables. If necessary, the optimization model developer can reformulate the data to populate other
data structures during the optimization, but this manipulation must not affect the input or output
data.
Similarly, if you want to display a table in the Explore solutionview, you must define a
tupleset for this output table in your OPL model. For example, this code produces
an output table with 3 columns in the
solution.
/// solution
tuple TPlannedProduction {
key string productId;
float insideProduction;
float outsideProduction;
}
{TPlannedProduction} plan = {<p.name, Inside[p], Outside[p]> | p in Products};
Copy to clipboardCopied to clipboard
You can find this example OPL model for a pasta production problem in the
Model_Builder folder of the DO-samples. You can
download and extract all the samples. Select the relevant product and version subfolder.
Engine settings
Copy link to section
You can add an OPL parameter settings (.ops) file in your Decision
Optimizationexperiment. An OPL settings file is where you store
user-defined values of OPL options for mathematical programming, or constraint programming, and for
the OPL language. It gives you access to the solver (engine) parameters so that you can modify them.
Click + (plus sign) and select Add engine
settings file in the Build modelview. The Visual
editor
opens where you can see the default parameter values, which are arranged in different categories,
that you can customize for your model. You can also search for specific parameters by entering a
name in the Find settings search field.
.
In this window, you can select different parameters or edit fields. If you
modify the default parameters, a Customized Settings pane that lists your
changes appears.
You can toggle the Visual
editor
switch to the off position to view your changes in an XML editor. The file, when displayed in the
XML editor, only contains the parameters that you changed, and does not list all the default
parameters. You can also edit the parameters in this XML editor and your changes are displayed in
the Visual
editor when you toggle the switch back to the on position.
You can import an .ops file to use for your engine settings, but you can
only have one engine settings file for your model. Importing such a file can be useful if you have
some non-default parameters that you have specified in IBM ILOG CPLEX Optimization Studio that you
want to import into your experiment.
For more information about the OPL language and engine parameters, see: