FICO
FICO Xpress Optimization Examples Repository
FICO Optimization Community FICO Xpress Optimization Home
Back to examples browserNext example

Basic embedding tasks

Description
  • ugcomp.py: Compiling a model into a BIM file (requires burglar2.mos, burglar.dat)
  • ugarray.py: Accessing modeling objects: sparse arrays (requires transportp.mos, transprt.dat)
  • ugcb.py: Retrieve model output via a callback (requires burglar2.mos, burglar.dat)
  • ugparam.py: Passing parameters to a Mosel model (requires prime.mos)
  • ugsol.py: Accessing modeling objects and solution information (requires burglar3p.mos, burglar.dat)
Difficulty rating: 2 (easy-medium)


Source Files

Data Files





ugcb.py

#######################################################
#  Mosel User Guide Example Problems
#  =================================
#
#  file ugcb.py
#  ````````````
#  Redirecting the Mosel output in Python.
#
#  (c) 2026 Fair Isaac Corporation
#      author: B. Vieira, 2026
########################################################

import moselpy as mp
from io import StringIO

mp.compile_model("burglar2.mos", "burglar2.bim")
model = mp.load_model("burglar2.bim")

# Capture output to a Python buffer
buf = StringIO()
model.symbols["out"] = buf
model.set_default_stream(mp.StreamType.OUTPUT, "moselpy:out")
model.run()
del model.symbols["out"]

captured = buf.getvalue()
for line in captured.splitlines():
    print(f"Mosel: {line}")

Back to examples browserNext example