bilinear.py


bilinear.py


# !/usr/bin/env python3.7 #版权所有:2021,Gurobi优狗万app足彩化,LLC ## x * z + y * z = 1(双线性等式)# x, y, x, y, x, y, x, y, x, y, x, y, x, y, x, y, x, y, x, yz非负(x积分在第二版)进口gurobipy从gurobipy gp进口伽马线暴#创建一个新的模型m = gp.Model(双线性)#创建变量x = m.addVar (name = " x ") y = m.addVar (name = " y ") z = m.addVar (name = " z ") #设定目标:最大化x m.setObjective (1.0 * x, GRB.MAXIMIZE) #添加线性约束:x + y + z < = 10 m.addConstr (x + y + z < = 10, c0) #添加双线性不等式约束:x * y < = 2 m.addConstr (x * y < = 2, bilinear0) #添加双线性等式约束:x * z + y * z = = 1 m.addConstr (x * z + y * z = = 1,“bilinear1”)#首先优化()调用将失败——需要设置凸尝试2:m.optimize除了gp()。GurobiError: print("Optimize failed due to non-凸面")# Solve billinear model m.p arms . non凸= 2 m.p arms . non凸= 2 m.p arms () m.p rattr ('x') #约束'x'为整数并再次求解x.VType = GRB。整数m.optimize () m.printAttr(“x”)