Дифференцирование в пиомо
Как мы можем дифференцировать ограничения, определенные в pyomo, относительно конкретных переменных, и умножить эти выражения на другой компонент модели pyomo. Я хочу создать ограничение, которое включает в себя производную других ограничений, а именно: l1*dg1/dz + l2*dg2/dz = 0, где l1 и l2 - переменные pyomo, g1 и g2 - другие ограничения в модели. Пожалуйста, помогите мне. Спасибо.
1 ответ
Посмотрите на differentiate
функция в pyomo.core.base.symbolic
, В конвейере есть несколько более быстрых реализаций, но это должно дать вам то, что вам нужно. В качестве примера использования вы можете взглянуть на код решателя GDPopt.