Loading and Capturing Partial Data Sets
insightpopulate
procedure populates all input entities with data from Xpress Insight, and all result entities are captured and persisted by Xpress Insight when the model exits. For an execution mode that uses only a subset of the Insight data, you can specify that only certain entities should be populated or captured.
- You might be able to improve performance by populating only the input entities an execution mode requires, and capturing only the entities that it has changed when the model exits. This limits the amount of data that must be loaded and transmitted over the network, which can improve performance with large data sets.
- Similarly, you might be able to reduce the resource requirements of an execution mode by limiting the amount of data that must be read into memory.
- You might want to preserve results from previous model executions with different execution modes. If you have an execution mode that changes only a few entities from their initial values, you can choose to capture only those entities when the model exits. Other entities are unaffected, which means that result values from previous model executions are preserved. You can use this approach to overlay the results of multiple model runs using different execution modes.
To populate only the required entities from Insight, pass a list of entity names to insightpopulate
, as in this example:
!@insight.execmodes.LOAD
public procedure doload
insightpopulate(['UserNames', 'UserEmails'])
! Log out the user names and emails
forall (id in UserIDs) do
writeln('User #', id, ': ', UserNames[id], ' (', UserEmails[id], ')')
end-do
end-procedure
When the model runs using this execution mode, only the specified entities and any required index sets are populated. All other input entities retain their default initial values as defined by the model.
To capture only certain result entities when the model exits, call the insightcapture
procedure and pass a list of entity names, as in this example:
!@insight.execmodes.RUN
public procedure dorun
! Populate with Insight scenario data and solve model 1
insightpopulate
solvemodel1
! Capture just the entities updated by model 1
insightcapture(['profit1', 'factories'])
end-procedure
![]() |
Note: Calling
insightcapture is optional. If you do not call
insightcapture , Insight will capture all result entities when the model exits.
|
© 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.