manbet体育手机客户端


敏感度


#!/usr/bin/python#版权所有2018,Gurobi Op狗万app足彩timization,LLC#一个简单的敏感性分析示例,从文件中读取MIP模型并进行求解。然后将每个二元变量#设置为1-X,其中X是其在最优解中的值,并且#报告对目标函数值的影响。从gurobipy导入sys import*如果len(sys.argv)<2:print('Usage:sensitivity.py filename')退出()#读取并求解模型model=Read(sys.argv[1]),如果model.IsMIP==0:print('model不是MIP'),则退出(0)model.optimize(),如果model.status!=GRB.Status.OPTIMAL:print('优化结束,状态为%d'%model.Status)退出(0)#在model.getVars()中存储v的最优解决方案origObjVal=model.ObjVal::v.(u origX=v.X#禁用后续求解的解算器输出model.Params.outputFlag=0#迭代未固定,模型中v的二进制变量在model.getVars()中:如果(v.LB==0和v.UB==1\和(v.VType==GRB.binary或v.VType==GRB.INTEGER)):#将变量设置为1-X,其中,如果v._origX<0.5:v.LB=v.Start=1,则X为其在最优解中的值,否则:v.UB=v.Start=0#在model.getVars()中为vv的其他变量更新MIP Start():如果不是vv.sameAs(v):vv.Start=vv._origX#求解新值并捕获敏感度手机万博登录信息模型。如果model.status==GRB.status.optimized:print('Objective变量%s的敏感度为%g“%\(v.VarName,model.ObjVal-origObjVal))其他:打印(变量%s的目标敏感度为无限“%\v.VarName)#还原原始变量边界v.LB=0 v.UB=1