Minimum Model Requirements
- Load the
mminsight
package which includes themminsight.dso
Mosel module and implements the necessary interactions between Xpress Insight and the model. - The model must implement the
LOAD
mode 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
RUN
mode 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 callinsightpopulate
to 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
insightdispatch
from 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
minimize
andmaximize
withinsightminimize
andinsightmaximize
. - Only entities declared as public (the entity type declaration or the entire declaration block prefixed by the
public
keyword) 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-s
option to strip private symbols. Neither FICO® Xpress Workbench or (legacy) IVE editors apply the-s
option 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=ignore
annotation or by removing thepublic
keyword 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.