lpmod.py


# !/usr/bin/env python3.7 # 2023年版权,Gurobi优化狗万app足彩,LLC #这个例子从文件读取一个LP模型并解决它。#如果模型可以解决,然后发现最小的积极变量,#其上限设置为零,并解决了模型两种方式:#首先是一个先进的开始,然后一个没有先进开始#(即。“从头开始”)。导入系统导入gurobipy从gurobipy gp进口伽马线暴如果len (sys.argv) < 2:打印(“用法:lpmod。py文件名”)sys.exit #阅读(0)模型和确定它是一个LP模型= gp.read (sys.argv[1])如果模型。IsMIP = = 1:打印(不是一个线性规划模型)sys.exit (1) model.optimize =()状态模型。状态如果状态= =伽马线暴。= =伽马线暴INF_OR_UNBD或地位。不可行\或状态= =伽马线暴。无限:打印(模型无法解决,因为它是不可行或无界”)sys.exit(1)如果地位! =伽马线暴。优:打印(与状态的优化了% d ' %状态)sys.exit(0) #找到最小的变量值minVal =伽马线暴。无限的v model.getVars():如果v。X > 0.0001 v。X < minVal和v。LB == 0.0: minVal = v.X minVar = v print('\n*** Setting %s from %g to zero ***\n' % (minVar.VarName, minVal)) minVar.UB = 0.0 # Solve from this starting point model.optimize() # Save iteration & time info warmCount = model.IterCount warmTime = model.Runtime # Reset the model and resolve print('\n*** Resetting and solving without an advanced start ***\n') model.reset() model.optimize() coldCount = model.IterCount coldTime = model.Runtime print('') print('*** Warm start: %g iterations, %g seconds' % (warmCount, warmTime)) print('*** Cold start: %g iterations, %g seconds' % (coldCount, coldTime))