Эффективное повторное использование / обновление выпуклых ограничений julia

Я использую Джулию (с выпуклой), чтобы решить выпуклую проблему много раз с той же структурой ограничений. Прямо сейчас у меня есть что-то вроде следующей упрощенной структуры:

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

Есть ли способ инициализировать структуру из N ограничений x >= random_val[j] + t за пределами sim_number цикл, чтобы я мог повторно использовать / обновить RHS только из ограничений? Для реальной проблемы, которую я имею, настройка N ограничения (у меня есть N = 100,000) занимает много времени, но решение происходит быстро, поэтому я ищу способ повторно использовать структуру ограничений.

0 ответов

Другие вопросы по тегам