FICO Xpress Optimization Examples Repository
 FICO Optimization Community FICO Xpress Optimization Home

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

 arcs.zip [download all files]

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.dat [download]

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

`