логарифмические ограничения в гуроби

Я пытаюсь решить модель с оптимизатором gurobi в python. Часть одного ограничения является логарифмической:

import  numpy as  np

k = beta * np.log(f_var)
model.addConstr(t_var == t0 * (1 + alpha * k))

t0, альфа и бета заданы, но f_var и t_var являются переменными модели. Gurobi не принимает функцию numpy и возвращает эту ошибку:

AttributeError: 'gurobipy.Var' object has no attribute 'log'

Может кто-нибудь мне помочь?


person sali    schedule 10.08.2018    source источник


Ответы (1)


Gurobi может обрабатывать только линейные, квадратичные и кусочно-линейные функции в качестве ограничений. Чтобы решить вашу модель, вам понадобится решатель нелинейного программирования, такой как Ipopt.

person joni    schedule 10.08.2018