manbet体育手机客户端


lpmod_vb.vb.


'版权所有2018,Gurobi O狗万app足彩ptimization,LLC''此示例从文件中读取LP模型并解决它。“如果模型可以解决,那么它找到了最小的正变量,'将其上限设置为零,并解决模型两种方式:'首先使用高级开始,然后没有高级开始'(即从头开始)。导入系统导入gurobi类lpmod_vb共享子主(Byval Args作为String())如果args.length <1那么控制台(“用法:lpmod_vb文件名”)如果尝试“读取模型,则返回结束并确定它是否为LP暗淡ENV作为新的GRBENV()昏暗模型作为新GRBMODEL(env,args(0))如果model.ismip <> 0那么控制台(“模型不是线性程序”)Environment.exit(1)结束IF模型.Optimize()DIM状态为Integer = Model.Status if(status = grb.status.inf_or_unbd)orelse _(status = grb.status.infeasible)orelse _(status = grb.status.unbound)然后console.writeline(“该模型不能解决,因为它是“&_”&_“不可行或无界的”)环境。(1)如果station <> grb.status.optimal则结束(1)结束,则控制台.WORTIMAL(“使用状态”和状态)的“优化”停止.Exit(0) End If ' Find the smallest variable value Dim minVal As Double = GRB.INFINITY Dim minVar As GRBVar = Nothing For Each v As GRBVar In model.GetVars() Dim sol As Double = v.X If (sol > 0.0001) AndAlso _ (sol < minVal) AndAlso _ (v.LB = 0.0) Then minVal = sol minVar = v End If Next Console.WriteLine(vbLf & "*** Setting " & _ minVar.VarName & " from " & minVal & " to zero ***" & vbLf) minVar.UB = 0 ' Solve from this starting point model.Optimize() ' Save iteration & time info Dim warmCount As Double = model.IterCount Dim warmTime As Double = model.Runtime ' Reset the model and resolve Console.WriteLine(vbLf & "*** Resetting and solving " & _ "without an advanced start ***" & vbLf) model.Reset() model.Optimize() Dim coldCount As Double = model.IterCount Dim coldTime As Double = model.Runtime Console.WriteLine(vbLf & "*** Warm start: " & warmCount & _ " iterations, " & warmTime & " seconds") Console.WriteLine("*** Cold start: " & coldCount & " iterations, " & _ coldTime & " seconds") ' Dispose of model and env model.Dispose() env.Dispose() Catch e As GRBException Console.WriteLine("Error code: " & e.ErrorCode & ". " & e.Message) End Try End Sub End Class