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

Description
• ugcomptmp.cs: Compiling a model into a BIM file saved in Mosel's temporary directory (requires burglar2.mos, burglar.dat)
• ugrun.cs: Compiling a model into a BIM file, then load and run it (requires burglar2.bim, burglar.dat)
• ugdefstream.cs: Redirecting the model output (requires burglar2.mos, burglar.dat)
• ugarray.cs: Accessing modeling objects: sparse arrays (requires transport.mos, transprt.dat)
• ugcb.cs: Retrieve model output via a callback into a custom TextWriter (requires burglar2.mos, burglar.dat)
• ugcb2.cs: Retrieve model output via a callback into a string (requires burglar2.mos, burglar.dat)
• ugparam.cs: Passing parameters to a Mosel model (requires prime.mos)
• ugsol.java: Accessing modeling objects and solution information (requires burglar3.mos, burglar.dat)

Source Files

Data Files

prime.mos

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

file prime.mos
``````````````
Working with sets.

(c) 2008 Fair Isaac Corporation
author: S. Heipcke, 2001, rev. June 2018
*******************************************************!)

model Prime

parameters
LIMIT=100                     ! Search for prime numbers in 2..LIMIT
end-parameters

public declarations
SNumbers: set of integer      ! Set of numbers to be checked
SPrime: set of integer        ! Set of prime numbers
end-declarations

SNumbers:={2..LIMIT}

writeln("Prime numbers between 2 and ", LIMIT, ":")

n:=2
repeat
while (not(n in SNumbers)) n+=1
SPrime += {n}                ! n is a prime number
i:=n
while (i<=LIMIT) do          ! Remove n and all its multiples
SNumbers-= {i}
i+=n
end-do
until SNumbers={}

writeln(SPrime)
writeln(" (", getsize(SPrime), " prime numbers.)")

end-model

```