Supported Mosel Types
There are restrictions on what entity types can be persisted and manipulated.
The following table describes these restrictions.
Mosel Entity Type | Supported |
---|---|
Basic types (boolean, integer, real, string) | Yes |
MP types (mpvar, linctr) | Yes |
Sets (boolean, integer, string) | Yes |
Lists | No |
Arrays - ( boolean, integer, real, string, mpvar, linctr) | Yes |
Arrays indexed by real numbers | No |
Arrays arrays indexed by valid sets (boolean, integer, string) | Yes |
Dynamic arrays | Yes |
Records | No |
Constants | Yes |
User-defined types (including nested types) | No |
Parameters | Yes |
Types defined in modules | No |
mmproblem type | No |
Anonymous constraints | No |
![]() |
Note Xpress Insight does not support nested types. Where a type is otherwise unsupported (such as
nlctr), it can still be used in a model; unsupported types are ignored by
Xpress Insight and are not captured as input or results data.
|
![]() |
Note Entities declared locally within a procedure or function are not visible to
Xpress Insight.
|
![]() |
Note Custom DSO modules required by the model should be pre-installed into the MOSEL_DSO directory for each execution worker. By default, the MOSEL_DSO directory is
<xpressdir>\dso. Custom types defined by a module are not currently supported by
Xpress Insight. If custom types are used in the model, they will not be captured in the input or results data. This includes custom types from core modules including quadratic and non-linear variables and constraint types, text/date types and
mmjob types. The
Model type provided by
mmjobs is not directly supported.
|
Differences in the treatment of scalar and parameter types
Scalar values, like all input data, are undefined at the start of the execution of a model. Scalar values are injected at insightpopulate for scenario executions.
Parameters are passed to the model and are available to the model from the beginning of its execution. Parameters therefore provide a means of configuring how a scenario is loaded, such as determining which file or data connection to use.