Как получить оптимальные переменные оптимизации в Pulp с Python?
Я использую Pulp с Python для решения проблемы оптимизации.
я использую
import pulp
# code
pulp.prob.objective.value()
Теперь я хотел бы получить доступ к переменным оптимизации. Как это сделать?
В документации Pulp я нашел что-то вроде use_vars[i].varValue
но я должен зациклить, чтобы получить весь вектор. Могу ли я получить это прямо как в объективной стоимости? Кто-нибудь знаком с Чтивом?
1 ответ
Решение
Чтобы получить весь вектор оптимизации вы можете сделать
pulp.prob.variables()
который вернет список всех ваших переменных. Чтобы получить доступ к i-му элементу вашего списка или i-тым переменным, вы должны сделать
pulp.prob.variables()[i].varValue
Вы можете вернуть объективное значение и переменные в функции, такие как
return pulp.prob.objective.value(), pulp.prob.variables()
а затем получить доступ к вашим переменным, используя цикл как
varsdict = {}
for v in prob.variables():
varsdict[v.name] = v.varValue
Окончательные результаты будут в словаре varsdict
это выглядит как
varsdict = {'x_10': 0.0, 'x_0': 1.0, ...}