manbet体育手机客户端


sensitivity_vb.vb.


'版权所有2019,Gurobi O狗万app足彩ptimization,LLC'一个简单的灵敏度分析示例,从文件中读取MIP模型并解决它。然后,每个二进制变量都设置为1-x,其中x是它在最佳解决方案中的值,并且报告了对目标函数值的影响。导入系统导入gurobi类sensitivity_vb共享子主(args作为string())如果args.length <1然后console.out.writeline(“用法:sensitive_vb文件名”)返回结束如果尝试“创建环境Dim Env作为新Grbenv()'读取和求解模型昏暗模型作为新的GrbModel(erv,args(0))如果model.ismip = 0那么inconole.writeline(“型号不是mip”)返回结束if model.optimize()如果model.status <> grb.status.optimal然后是console.writeline(“与状态”&_ model.status的优化结束)返回结束if'存储最佳解决方案dim orporobjval作为double = model.objval dim vars作为grbvar()= model.getvars())DimOx.get(grb.doubleattr.x,vars)''禁用后续解决模型的孤立求解器.parameters.outputfla手机万博登录g = 0'迭代模型中的模型中的二进制变量为Integer = 0。vars.length  -  1 dim v作为grbvar = vars(i)dim vtype作为char = v.vtype,如果v.lb = 0 andalso _ v.ub = 1 andalso _(vtype = grb.binary orelse vtype = grb.integer)然后 '将变量设置为1-x,其中x是最佳解决方案中的值,如果ORIGx(i)<0.5那么v.lb = 1.0 v.start = 1.0 els v.ub = 0.0 v.start = 0.0结束if'更新mip start对于j的其他变量为integer = 0到vars.length  -  1如果j <>我然后vars(j).start = origx(j)结束如果下一个'求解新值并捕获灵敏度信息model.optimize()如果model.status = grb.status.optimal然后是console.writeline(“变量”的客观敏感性“&_ v.varname&”是“&(model.objval  -  origobjval))elss console.writeline(”变量的客观敏感性“ & _ v.VarName & " is infinite") End If ' Restore the original variable bounds v.LB = 0.0 v.UB = 1.0 End If Next ' Dispose of model and environment model.Dispose() env.Dispose() Catch e As GRBException Console.WriteLine("Error code: " + e.ErrorCode) Console.WriteLine(e.Message) Console.WriteLine(e.StackTrace) End Try End Sub End Class