CVXOPT QP: игнорирует ограничение - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь решить проблему QP с помощью cvxopt.Есть два ограничения

0 <= y <= b wy = 0 </p>

Поэтому я определяю

p=np.diag(-np.ones(len(myset))

p1=np.diag(np.ones(len(myset)))

dd=np.concatenate((p,p1),axis=0)

, которые представляют собой две единичные матрицы, которые позволяют мне определить:

-y <= 0 </p>

Я также пишу

v=np.concatenate((zero,b),axis=0)

, в котором 'zero' - это массив, который имеет размерность (len (set), 1), а также b, и, соответственно, является моей нижней и верхней границей для переменной y.Я определяю G и h:

G=matrix(dd)
h=matrix(v)

Но когда я печатаю решение, значения для y также являются отрицательными, поэтому он полностью игнорирует ограничение, накладывающее на y положительное значение.Может ли кто-нибудь помочь мне, пожалуйста?

Я напечатал матрицу G, h и A, b и был охарактеризован всеми нулевыми значениями, поэтому в определении этой матрицы есть ошибка?

...