#!/bin/env python
#
# Define the well-known Rosenbrock function and minimize it
#
from __future__ import print_function
import xpress as xp
x = xp.var (lb = -xp.infinity)
y = xp.var (lb = -xp.infinity)
p = xp.problem ()
p.addVariable (x, y)
# parameters of the Rosenbrock function
a = 1
b = 100
p.setObjective ((a - x)**2 + b * (y - x**2)**2)
p.solve ()
print ('solution: ', p.getSolution (), '; value: ', p.getObjVal ())