# # An example of a problem formulation that uses the xpress.Dot() operator # to formulate constraints simply. Note that the NumPy dot operator is not # suitable here as the result is an expression in the Xpress variables. # import xpress as xp import numpy as np A = np.random.random(30).reshape(6,5) # A is a 6x5 matrix Q = np.random.random(25).reshape(5,5) # Q is a 5x5 matrix x = np.array ([xp.var() for i in range(5)]) # vector of variables x0 = np.random.random (5) # random vector Q += 4 * np.eye (5) # add 5 * the identity matrix Lin_sys = xp.Dot (A,x) <= np.array([3,4,1,4,8,7]) # 6 constraints (rows of A) Conv_c = xp.Dot (x,Q,x) <= 1 # one quadratic constraint p = xp.problem () p.addVariable (x) p.addConstraint (Lin_sys, Conv_c) p.setObjective (xp.Dot (x-x0, x-x0)) p.solve ()