【发布时间】:2021-06-20 20:43:21
【问题描述】:
我正在使用以下代码:
import sys, numpy as np
import cvxpy as cvx
if __name__ == '__main__':
sims = np.random.randint(20, 30, size=500)
center = 30
n = [500, 1]
# minimize p'*log(p)
# subject to
# sum(p) = 1
# sum(p'*a) = target1
A = np.mat(np.vstack([np.ones(n[0]), sims]))
b = np.mat([1.0, center]).T
x = cvx.Variable(n)
obj = cvx.Maximize(cvx.sum(cvx.entr(x)))
constraints = [A @ x == b]
prob = cvx.Problem(obj, constraints)
prob.solve()
weights = np.array(x.value)
这里x.value 是空的。我不确定如何修改我的上述设置。我正在尝试将sims 的平均值重新调整为由变量center 定义的不同值。
【问题讨论】:
标签: python python-3.8 cvxpy convex-optimization