Model is infeasible Best objective -, best bo than -1e+100und -, gap -Encountered an attribute

错因:0-1规划才可以用GRB.BINARY,创建新变量中变量类型应该修改为GRB.CONTINUOUS

GRB.CONTINUOUS:连续型

GRB.BINARY:0-1型

GRB.INTEGER:整数型

import gurobipy as gp
from gurobipy import GRB
try:
    #创建一个新模型
    m=gp.Model("mipl")
    #创建新变量
    a=m.addVar(vtype=GRB.BINARY,name="a")
    b=m.addVar(vtype=GRB.BINARY,name="b")
    c=m.addVar(vtype=GRB.BINARY,name="c")
    d=m.addVar(vtype=GRB.BINARY,name="d")
    e=m.addVar(vtype=GRB.BINARY,name="e")
    f=m.addVar(vtype=GRB.BINARY,name="f")
    #设定目标(注意*号)
    m.setObjective(12*a+24*b+8*c+30*d+12*e+24*f,GRB.MAXIMIZE)
    #添加约束条件
    m.addConstr(a+b+c<=4,"c0")
    m.addConstr(d+e+f<=8,"c1")
    m.addConstr(-a-d<=-2,"c2")
    m.addConstr(-b-e<=-4,"c3")
    m.addConstr(-c-f<=-5,"c4")
    #优化模型
    m.optimize()
    #优化完成后,可查询属性值,可查询Varname和X变量属性,以获得每个变量的名称和解决方案值
    for v in m.getVars():
        print('%s%g'%(v.VarName,v.X))
    #还可以查询模型上的ObjVal(Objective value for current solution即当前解决方案的目标值)属性,以获取当前解决方案的目标值
    print('Obj:%g' %m.ObjVal)
except gp.GurobiError as e:
    print('Error code'+str(e.errno)+":"+str(e))
except AttributeError :
    print('Encountered an attribute error')

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值