MOSEK решатель на cvxpy: TypeError - PullRequest
       72

MOSEK решатель на cvxpy: TypeError

0 голосов
/ 28 августа 2018

Я пытаюсь использовать MOSEK solver с cvxpy, но получаю:

TypeError: аргументы ключевых слов должны быть строками

Я собрал минимальный пример, где ошибка все еще происходит. Вот пример:

import cvxpy as cvx

x = cvx.Variable()
y = cvx.Variable()
constraints = [x + y <= 3]
prob2 = cvx.Problem(cvx.Maximize(x + y), constraints = constraints)
sol = prob2.solve(solver=cvx.MOSEK)
print("optimal value", sol)

Это происходит даже с этой очень простой проблемой.

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Похоже, ошибка. Было бы хорошо сообщить о проблеме на github.

Пока, если ваша проблема связана с QP, она должна работать с OSQP:

sol = prob2.solve(solver=cvx.OSQP)

0 голосов
/ 28 августа 2018

Я не знаю cvxpy, но в вашем фрагменте кода есть аргументы 2:

  • [x + y <= 3], который НЕ является строкой
  • cvx.MOSEK что для меня неизвестного типа

Итак, согласно вашему сообщению об ошибке, по крайней мере один из них должен быть строкой. Попробуйте использовать

constraints = "x + y <= 3"

вместо

constraints = [x + y <= 3]
...