FICO Xpress Optimization Examples Repository
FICO Optimization Community FICO Xpress Optimization Home
Back to examples browserPrevious exampleNext example

Basic embedding tasks

  • Compiling a model into a BIM file (requires burglar2.mos, burglar.dat)
  • Compiling a model into a BIM file saved in Mosel's temporary directory (requires burglar2.mos, burglar.dat)
  • Compiling a model into a BIM file, then load and run it (requires burglar2.bim, burglar.dat)
  • Redirecting the model output (requires burglar2.mos, burglar.dat)
  • Accessing modeling objects: sparse arrays (requires transport.mos, transprt.dat)
  • Retrieve model output via a callback (requires burglar2.mos, burglar.dat)
  • Passing parameters to a Mosel model (requires prime.mos)
  • Accessing modeling objects and solution information (requires burglar3.mos, burglar.dat)

Source Files

Data Files

   Mosel User Guide Example Problems

   Accessing modeling objects (sparse arrays).
   (c) 2008 Fair Isaac Corporation
       author: S. Heipcke, 2004

import com.dashoptimization.*;

public class ugarray
 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
  mosel.compile("transport.mos");      // Compile, load & run the model
  mod = mosel.loadModel("transport.bim");;
  varr=(XPRMArray)mod.findIdentifier("flow"); // Get model object 'flow'
                                       // it must be an array
  dim = varr.getDimension();           // Get the number of dimensions
                                       // of the array
  sets = varr.getIndexSets();          // Get the indexing sets

  indices = varr.getFirstTEIndex();    // Get the first true entry index
   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

  mod.reset();                         // Reset the model

Back to examples browserPrevious exampleNext example