Initializing help system before first use

Solving a quadratically constrained problem


Type: Programming
Rating: 2 (easy-medium)
Description: Solve a quadratically constrained problem
File(s): example_qcqp.py


example_qcqp.py
#!/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 ())