我使用Julia(使用Convex)使用相同的约束结构多次解决凸问题。现在,我有类似以下简化结构的东西:
using Convex
N = Int16(1e4)
x = Variable(N)
t = Variable()
obj = square(x)
for sim_number = 1:100
z = rand(N)
p = minimize(obj)
for j = 1:N
p.constraints += [x[j] >= z[j] + t]
end
solve!(p)
end
有没有办法初始化x >= random_val[j] + t
循环之外的N个约束sim_number
的结构,这样我才能重用/更新约束的RHS?对于我遇到的实际问题,设置N
约束(我有N = 100,000
)需要很长时间,但解决很快,所以我正在寻找一种方法来重用约束结构。