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

Definition of a network

Description
  • definition of a data structure to represent arcs in a network with source, sink, and other properties
  • accessing the different record fields
  • initialization of records with data from a text file
  • selection of record fields in initializations (arcs2.mos)
  • separate initialization of record fields (arcs3.mos)
  • sets and lists of records, using type constructors (arcs4.mos)
  • constant record definition, sets of constant records (arcs5.mos)
Further explanation of this example: 'Mosel User Guide', Section 8.6 Records


Source Files
By clicking on a file name, a preview is opened at the bottom of this page.
arcs.mos[download]
arcs2.mos[download]
arcs3.mos[download]
arcs4.mos[download]
arcs5.mos[download]

Data Files





arcs.mos

(!******************************************************
   Mosel User Guide Example Problems
   ================================= 

   file arcs.mos
   `````````````
   Working with records: definition of a network.
   
   (c) 2008 Fair Isaac Corporation
       author: S. Heipcke, Nov. 2006
*******************************************************!)

model "Arcs"

 declarations
  NODES: set of string                  ! Set of nodes
  ARC: array(ARCSET:range) of record    ! Arcs:
   Source,Sink: string                  !   Source and sink of arc
   Cost: real                           !   Cost coefficient
  end-record 
 end-declarations

 initializations from 'arcs.dat'
  ARC
 end-initializations

! Calculate the set of nodes
 NODES:=union(a in ARCSET) {ARC(a).Source, ARC(a).Sink}
 writeln(NODES)

 writeln("Average arc cost: ", sum(a in ARCSET) ARC(a).Cost / getsize(ARCSET) )

end-model 

Back to examples browserPrevious exampleNext example