跳转到主要内容

如何将gam Gurobi吗?

回答

评论

7评论

  • JaromiłNajman
    Gurobi员工Gurobi员工

    嗨,约翰,

    你可以通过构建目标quicksum函数和setObjectiveN方法。

    obj = mdl.setObjectiveN (gp。quicksum(x[e,l] for e in es for l in load), 0, 1)
    obco2 = mdl.setObjectiveN (gp。quicksum(x[p,l]*CO2emission[p] for p in power for l in load), 1, 1)
    obcost = mdl.setObjectiveN (gp。quicksum(x[p,l]*cost[p] for p in power for l in load), 2, 1)

    mdl.write (“myLP.lp”)

    方法写一个人类可读的LP文件,您可以分析和检查是否你的结构是正确的。

    请注意,您不需要额外的目标函数在Gurobi变量。

    你可以找到如何使用的更多细节在文档中多个目标manbet体育手机客户端

    最好的问候,
    Jaromił

    0
  • 约翰Raphy Karippery
    Gurobi-versary
    调查员
    合作者

    你好Jaromił,

    感谢你的回放。如何设置模型有意义的目标。
    这里的动机目的。

    objcost最小化的目标成本在K美元”
    objco2对减少二氧化碳排放的目的Kt”

    obj的目标最大化内生来源、妇女的

    obj是最大化


    obj = mdl。setObjectiveN (quicksum (x (e、l)的e l es的负载),伽马线暴。最大化,0,1)

    我有一个错误

    GurobiError:客观指数必须是非负数


    变量X是一个积极的变量和它生产水平的单位负荷地区妇女的;

    0
  • JaromiłNajman
    Gurobi员工Gurobi员工

    嗨,约翰,

    不可能设置优化的个人目标在处理多个目标。您可以最小化或最大化通过设置模型的所有目标ModelSense属性。

    如果你想要一个目标最小化,最大化,你可以适当的目标函数乘以\ [1 \)。

    最好的问候,
    Jaromił

    0
  • 约翰Raphy Karippery
    Gurobi-versary
    调查员
    合作者

    你的意思是这样吗?


    obj = mdl。setObjectiveN (quicksum (x (e、l)的e l es的负载)1,0,1)
    0
  • JaromiłNajman
    Gurobi员工Gurobi员工

    你不是乘以\(1 \)但从总数中减去\ (1 \)。我的意思是

    obj = mdl。setObjectiveN (quicksum (1 * x [e、l] e l es的负载),0,1)

    最好的问候,
    Jaromił

    0
  • 约翰Raphy Karippery
    Gurobi-versary
    调查员
    合作者

    你好

    我也需要你的帮助将Gurobi。

    奥德:返回一组元素的相对位置。注意,奥德可以使用只有一维,静态的,命令集。更多细节,请参阅部分奥德操作符。

    如何将这这家公司联欢吗?

    k1 (k) $(奥德(k) = 1) =是的;
    km1 (k) =是的;
    km1 (k1) = no;

    谢谢你!

    0
  • JaromiłNajman
    Gurobi员工Gurobi员工

    嗨,约翰,

    你可以得到一个元素的索引列表用指数函数,参见stackoverflow邮报找到列表中的一个元素的索引

    这可能有很好的Python教程帮助您将所有的社交功能转化为Python代码。

    最好的问候,
    Jaromił

    0

登录留下你的评论。