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

ELS - Solving several model instances in parallel

Description
This implementation (program: runelsd.* starting submodel: elsd.mos) extends the parallel version of the ELS model to solving of submodels distributed to various computing nodes, showing the following features:
  • parallel remote execution of submodels
  • communication between different models (for bound updates on the objective function)
  • sending and receiving events
  • stopping submodels
Further explanation of this example: Xpress Whitepaper 'Multiple models and parallel solving with Mosel', Section 'Solving several model instances in parallel'.

runelsxprd.zip[download all files]

Source Files
By clicking on a file name, a preview is opened at the bottom of this page.
runelsd.c[download]
runelsd.java[download]
elsd.mos[download]
readelsdem.mos[download]

Data Files





readelsdem.mos

(!*******************************************************
   Mosel Example Problems
   ======================

   file readelsdem.mos
   ```````````````````
   Read the ELS demand data and write them to memory.

   *** Not intended to be run standalone - run from runelsd.*  ***
   
   (c) 2012 Fair Isaac Corporation
       author: S. Heipcke, Feb 2012
  *******************************************************!)

model "Read Els Demand"
 uses "mmjobs"

 parameters
  DATAFILE = "els4.dat"
  T = 60
  P = 4
  RMT = "rmt:"                         ! Files are on root node
 end-parameters 
 
 declarations
  TIMES = 1..T                         ! Time periods
  PRODUCTS = 1..P                      ! Set of products

  DEMAND: array(PRODUCTS,TIMES) of integer  ! Demand per period
 end-declarations

 initializations from RMT+DATAFILE
  DEMAND
 end-initializations

 initializations to "bin:"+RMT+"Demand"
  DEMAND
 end-initializations
 
end-model


Back to examples browserPrevious exampleNext example