【发布时间】:2020-04-15 18:30:22
【问题描述】:
我有一个相当复杂的二次问题,我试图在 python 中解决,但是,为了这个问题 - 我正在显着简化手头的问题。
我有以下二次函数,我试图在满足以下约束的同时最小化:
minimize 0.5 * x.T * P * x + q.T * x
where:
x >= 0
x[0] >= 1.5
x[n] >= 1.5 # n = last element
我在 scipy.optimize 中写了等价的:
def minimize_func(x,y,P):
return 0.5*np.dot(x.T,np.dot(P,x)) + np.dot(y.T,x)
cons = ({'type':'ineq','fun': lambda x: x},
{'type':'ineq','fun': lambda x: x[0] - 1.5},
{'type':'ineq','fun': lambda x: x[n] - 1.5})
但是,我的问题是如何在 cvxopt 二次求解器中输入特定约束?
我查看了 cvxopt 文档页面,他们提供的示例似乎都与我的问题无关。我希望输入元素明智的约束。任何帮助是极大的赞赏。
【问题讨论】:
标签: python cvxopt quadratic-programming