manbet体育手机客户端


mip2.py.


#!/ usr / bin / python#版权所有2019,guro狗万app足彩bi优化,llc#此示例从文件中读取MIP模型,解决它并打印#求解MIP时生成的所有可行解决方案的客观值。然后它创建了相关的固定模型和#解决该模型。从Gurobipy导入中导入sys *如果len(sys.argv)<2:print('用法:mip2.py filename')quit()#读取和求解模型模型=读取(sys.argv [1])如果model.ismip== 0:打印('型号不是MIP')退出(0)model.Optimize()如果model.status == grb.status.optimal:print('最佳目标:%g'%model.objval)elifmodel.status == grb.status.inf_or_unbd:打印('型号是不可行的或无界')出口(0)elif model.status == grb.status.infeasible:print('型号是不可行的')出口(0)elifmodel.status == grb.status.unbounded:print('型号无界')退出(0)else:print('优化以Status%d'%model.status)出口(0)#迭代解决方案和计算目标模型.params.outputflag = 0打印('')k范围内(model.solcount):model.params.solutionNumber = k objn = 0 for v in model.getvars():objn + = v.obj* v.xn打印('解决方案%d有目标%g'%(k,objn))print('')model.params.outputflag = 1固定= model.fixed()fixed.params.presolve = 0修复。优化()如果fixed.status!= grb.status.optimal:printimal:print(“错误:固定模型不是最佳”)出口(1)diff = model.objval  - 如果abs(diff)> 1e-6 *(差异)> 1e-6 *(1.0 +abs(model.objVal)): print('Error: objective values are different') exit(1) # Print values of nonzero variables for v in fixed.getVars(): if v.x != 0: print('%s %g' % (v.varName, v.x))