#!/bin/env python
#
# Test for the main features of the Xpress Python interface
#
# Adds a vector of N=5 variables and sets constraints and objective. The problem is a convex QCQP
from __future__ import print_function
import xpress as xp
N = 5
S = range (N)
v = [xp.var (name = "y{0}".format (i)) for i in S] # set name of a variable as
m = xp.problem ("problem 1")
print ("variable:", v)
m.addVariable (v)
m.addConstraint (v[i] + v[j] >= 1 for i in range (N-4) for j in range (i,i+4))
m.addConstraint (xp.Sum([v[i]**2 for i in range (N-1)]) <= N**2 * v[N-1]**2)
m.setObjective (xp.Sum ([i*v[i] for i in S]) * (xp.Sum ([i*v[i] for i in S]))) # objective overwritten at each setObjective ()
m.solve ()
print ("solution: ", m.getSolution ())
|