Optimization 使用CVXOPT的大变量二次规划
我是CVXOPT的新手。我已经在CVXOPT文档中试用了(带有2个变量),并且我能够理解它。现在我需要解决一个具有大量变量(例如:100个变量)的二次规划问题。如何使用CVXOPT实现这一点 我想解决的问题如下所示 最小化Optimization 使用CVXOPT的大变量二次规划,optimization,cvxopt,quadratic-programming,Optimization,Cvxopt,Quadratic Programming,我是CVXOPT的新手。我已经在CVXOPT文档中试用了(带有2个变量),并且我能够理解它。现在我需要解决一个具有大量变量(例如:100个变量)的二次规划问题。如何使用CVXOPT实现这一点 我想解决的问题如下所示 最小化 Σ [ d(t) + x(t) ]² ; t=1, ....., 100 这样, 0 <= x(t) <= 10 Σ x(t) = 600 0我不需要解决这个问题: 0 <= x(t) <= 10 sum(x(t)) = 2000
Σ [ d(t) + x(t) ]² ; t=1, ....., 100
这样,
0 <= x(t) <= 10
Σ x(t) = 600
0我不需要解决这个问题:
0 <= x(t) <= 10
sum(x(t)) = 2000
0cvxpy可能更容易一些:
import numpy as np
import cvxpy as cvx
N = 100
d = np.random.uniform(-500,500,N)
x = cvx.Variable(N)
prob = cvx.Problem(cvx.Minimize(cvx.norm(x+d)), [x >= 0, x <= 10, sum(x) == 600])
prob.solve()
print(prob.status)
v = x.value
print(v)
对不起,我只是增加了一些价值,没有太多的担心。现在编辑到600。谢谢你的回答。但是,我需要通过CVXOPT解决它。
optimal
[[ 3.65513295e-09]
[ 4.89791266e-09]
[ 3.05045765e-09]
[ 9.99999999e+00]
. . .
[ 1.00000000e+01]
[ 2.85640643e-09]
[ 5.42473434e-09]]