| |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
|
Retrieving data from a Mosel model Description mmexset.java: Using sets in Mosel (requires burglari.bim)
Further explanation of this example: 'Mosel Library Reference javadoc'
Source Files By clicking on a file name, a preview is opened at the bottom of this page.
Data Files
mmexas.java
/********************************************************/
/* Mosel Library Examples */
/* ====================== */
/* */
/* file mmexas.java */
/* ```````````````` */
/* Example for the use of the Mosel libraries */
/* (using arrays with index sets: different ways */
/* of enumerating arrays) */
/* */
/* (c) 2008 Fair Isaac Corporation */
/* author: S. Heipcke, 2004 */
/********************************************************/
import com.dashoptimization.*;
public class mmexas
{
public static void main(String[] args) throws Exception
{
XPRM mosel;
XPRMModel mod;
XPRMArray varr;
XPRMSet[] sets;
int[] indices;
int dim;
mosel=new XPRM(); // Initialize Mosel
mod=mosel.loadModel("Models/trans.bim"); // Load a BIM file
mod.run(); // Run the model
varr=(XPRMArray)mod.findIdentifier("x"); // Get the model object named 'x'
// it must be an array
dim=varr.getDimension(); // Get the number of dimensions of
// the array
sets=varr.getIndexSets(); // Get the indexing sets
System.out.println("\n1. Logic entries:");
indices=varr.getFirstIndex(); // Get the first entry of varr
do
{
System.out.print("x(");
for(int i=0;i<dim-1;i++)
System.out.print(sets[i].get(indices[i])+",");
System.out.print(sets[dim-1].get(indices[dim-1])+"), ");
} while(varr.nextIndex(indices)); // Get the next index tuple
if(varr.isDynamic()) /* There would be no difference to
the first way of enumerating
in the case of a dense array */
{
System.out.println("\n\n2. True entries:");
indices=varr.getFirstTEIndex(); // Get the first true entry index
do
{
System.out.print("x(");
for(int i=0;i<dim-1;i++)
System.out.print(sets[i].get(indices[i])+",");
System.out.print(sets[dim-1].get(indices[dim-1])+"), ");
} while(varr.nextTEIndex(indices)); // Get next true entry index tuple
}
System.out.println();
mod.reset();
}
}
| |||||||||||||||||||||||||||||||||||
| © Copyright 2025 Fair Isaac Corporation. |