我正在尝试在我的目标方程式中添加不同幂的多项式。我尝试在公式中使用Python的math.pow
,但没有用。以下是我的代码:
modal = Model("modal")
temp = modal.addVar(-26,48, vtype=GRB.CONTINUOUS, name = "temp")
EC = gurobi.QuadExpr(math.exp(7e-7)*math.pow(temp,6) - math.exp(9e-5)*math.pow(temp,5) + 0.0022*math.pow(temp,4) + 0.0887*math.pow(temp,3)- 0.5655*pow(temp,2) - 69.606*temp + 4979.7)
mAggresive.setObjective(EC + EUC + ELAggresive, GRB.MINIMIZE)
答案 0 :(得分:0)
Gurobi仅能处理(某些)二次形式。当然,x ^ 6与:
x2 = x^2
x4 = x2^2
x6 = x4*x2
看起来不错,但通常情况下必须凸出。这意味着我们不能有二次等式约束。在某些情况下,您可以将事情转换为不平等现象,但总的来说,古罗比无法满足您的需求。
当然,另一种选择是使用分段线性逼近。古罗比(Gurobi)具有使此操作变得容易的设施。