Minimum Model Requirements
- Load the
mminsightpackage which includes themminsight.dsoMosel module and implements the necessary interactions between Xpress Insight and the model. - The model must implement the
LOADmode by providing a procedure which will be invoked when the scenario is executed in LOAD mode. The procedure should be registered as the handler for the LOAD mode using the appropriate annotation (see example provided later in this section.) The code is expected to initialize the input entities of the scenario data model with default data. Any calls to finalize must be included in the loading code. - The model must implement the
RUNmode by providing a procedure which will be invoked when the scenario is executed in RUN mode. The procedure should be registered as the handler for the RUN mode using the appropriate annotation (see example provided later in this section.) The code must callinsightpopulateto initialize the scenario input entities to the scenario data current values, and is then expected to calculate the results data and populate the results data entities. - Call
insightdispatchfrom the global scope of the model to invoke the registered procedure for the current execution mode (or manually invoke the required code conditional on the value ofinsightgetmode.) - Replace any call to
minimizeandmaximizewithinsightminimizeandinsightmaximize. - Only entities declared as public (the entity type declaration or the entire declaration block prefixed by the
publickeyword) will be visible to Xpress Insight, irrespective of how the model is compiled. Private entities would be visible in versions of Xpress Insight earlier than 4.50 if the model was compiled without the-soption to strip private symbols. Neither FICO® Xpress Workbench or (legacy) IVE editors apply the-soption by default.Note: Developers migrating an older app to Xpress Insight 4.50 should mark all entities as public to avoid the upgrade being rejected. If some entities being marked as public are not strictly required then they can be excluded with themanage=ignoreannotation or by removing thepublickeyword in a future upgrade.
model mymodel
uses "mminsight"
!@insight.execmodes.LOAD
procedure datainput
…
end-procedure
!@insight.execmodes.RUN
procedure solvemodel
insightpopulate
…
end-procedure
!@insight.execmodes.NONE
procedure standalone
datainput
solvemodel
end-procedure
insightdispatch
end-model
Supported Model Features
The supported Mosel types are documented in the section Supported Mosel Types.
In general, so long as the requirements listed previously are met by a model, Xpress Insight places no restrictions on the programmatic execution of a model. Statements, expressions, procedures, conditional logic, functions, packages, and modules can be used as normal. A model can solve several problems in series, or use mmjobs to solve sub-models.
© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.
