feasopt.py


# !/usr/bin/env python3.7 # 2023年版权,Gurobi优化狗万app足彩,LLC #这个例子从文件读取MIP模型,增加了人工#每个约束变量,然后最小化#人工变量的总和。解决方案与目标0 #对应输入模型的可行解。# #我们也可以使用FeasRelax特性。在这个例子中,我们使用# minrelax = 1,即优化返回模型找到了一个解决方案#最小化最初的目标,但只从其中#人工变量之和最小化的解决方案。导入系统导入gurobipy医生如果len (sys.argv) < 2:印刷(用法:feasopt。py文件名”)sys.exit (0) feasmodel = gp.read (sys.argv[1]) #创建一个副本使用FeasRelax特性后feasmodel1 = feasmodel.copy() #明确客观feasmodel.setObjective(0.0) #添加松弛变量c的feasmodel.getConstrs (): = c。如果感觉! = ' > ':feasmodel.addVar (obj = 1.0, = + c“ArtN_”。ConstrName、列= gp。列([1],[c]))如果感觉! = ' < ':feasmodel.addVar (obj = 1.0, name = " ArtP_ + c。ConstrName、列= gp。列([1],[c])) #优化修改模型feasmodel.optimize () feasmodel.write (feasopt.lp) #使用feasmodel1 FeasRelax特性。feasRelaxS(0,真的,假的,真的)feasmodel1.write (feasopt1.lp) feasmodel1.optimize ()