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





ugsol.py

#######################################################
#  Mosel User Guide Example Problems
#  =================================
#
#  file ugsol.py
#  `````````````
#  Retrieving solution values from Python.
#
#  (c) 2026 Fair Isaac Corporation
#      author: B. Vieira, 2026
########################################################

import moselpy as mp
import sys

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

if not model.prob_status.is_solution_optimal:
    sys.exit(1)                          # Stop if no solution found

print(f"Objective value: {model.objective_value}")

soltake = model.find_identifier("soltake")  # dict: {index: solution_value, ...}
value = model.find_identifier("VALUE")      # dict: {index: data_value, ...}

for item in sorted(soltake):
    print(f"take({item}): {soltake[item]}\t (item value: {value[item]})")

Back to examples browserNext example