跳转到主要内容

手动计算Obj价值

回答

评论

3评论

  • 伊莱陶尔康
    Gurobi员工Gurobi员工

    最简单的方法来处理这是Python编写自己的函数,评价的目标函数的解决方案。例如:

    def evaluate_obj (ysol xsol):
    ”““字典的选择和评估目标函数赋值“”“
    obj = 0
    我,yval ysol.items ():
    obj + = yval * setup_cost[我]
    ij, xval xsol.items ():
    obj + = xval * shipping_cost (ij)
    返回obj

    #范例用法与虚拟解决方案
    yvals ={我:random.random()我的范围(num_facilities)}
    xvals = {(i, j): random.random()因为我范围的j (num_customers)范围(num_facilities)}
    打印(evaluate_obj (yvals, xvals))
    1
  • 穆罕默德Borhani
    Gurobi-versary
    第一个评论
    第一个问题

    亲爱的伊莱,

    谢谢你的建议。这似乎是一个合乎逻辑的方法。此外,我进行了一次深度搜索Gurobi文档。manbet体育手机客户端

    我相信,通过我的gurobi作为解决方案MIP开始是另一种方法来达到我的目标。
    如果有可能,gurobi将发布解决方案的客观价值。
    MIP首manbet体育手机客户端先Gurobi的文档可能被发现在这里。

    用户MIP开始生产解决方案客观的210500年(0.01加载用户MIP开始客观的210500年

    我只有一个问题。当我开始分配价值决策变量(使用python脚本和获取最终结果近似算法),也就是说,分配。开始和select.start),是否可以打印初始赋值为决策变量,以检查开始优化之前一切都是正确的吗?

    例如,当我试着打印指定变量,仅我得到以下信息:

    p的分配:
    打印(分配[p])
    #输出
    < gurobi。Var *等待模型更新* >
    0
  • 伊莱陶尔康
    Gurobi员工Gurobi员工

    是否可以打印初始赋值决策变量,以检查开始优化之前一切都是正确的吗?

    不幸的是没有。MIP Gurobi并不处理开始,直到用户调用Model.optimize ()

    开始优化过程之后,您可以检查解决方案Gurobi构造从你MIP开始以下之一:

    0

登录留下你的评论。