跳转到主要内容

如何解决0差距

回答

评论

12个评论

  • 格温妮丝Butera
    Gurobi员工Gurobi员工

    你好迪安娜,你试过设置MIPGap什么小?G。

    0
  • 邓锅
    Gurobi-versary
    健谈的人
    第一个问题

    嗨,格温妮斯,

    我尝试以下代码:

    差距= m。setParam (MIPGap, 0)

    但差距仍然与以前一样。在我报告与此代码的差距:

    差距= max (0, abs (m.ObjVal-m.ObjBound) / abs (m.ObjVal))

    有什么我做错了还是可以改善?

    迪安娜

    0
  • 格温妮丝Butera
    Gurobi员工Gurobi员工

    你好迪安娜——你能分享日志的开始和结束的MIPGap属性吗?谢谢,G。

    0
  • 邓锅
    Gurobi-versary
    健谈的人
    第一个问题

    嗨,格温妮斯,

    下面是整个日志:

    Gurobi 9.1.1 (win64)日志开始坐4月3 17:09:29 2021

    改变参数日志文件的价值P1_48_LFW_NoCap_Log 5 480 0.01 0.01 1 04032021 - 170929. - txt
    上一页:默认值:
    9.1.1 Gurobi优化器版本构建v9.1.1rc0 (win64)
    线程数:4个物理核心,8个逻辑处理器,使用8线程
    优化模型与19906行、14665列,84414 0
    x0d94c138模型指纹:0
    变量类型:7190连续,7475整数(7475二进制)
    系数统计:
    矩阵范围[1 e + 00, 3 e + 02]
    目标范围[8 e + 01 2 e + 04)
    边界范围[1 e + 00 1 e + 00)
    RHS范围[1 e + 00, 5 e + 02]
    发现启发式解决方案:目标1131674.0000
    Presolve删除2737行和54列
    Presolve时间:0.26秒
    Presolved: 17169行、14611列,101700 0
    变量类型:7181连续,7430整数(7425二进制)

    确定性并发LP优化器:原始与对偶单纯形
    只显示第一个日志……

    并发旋转时间:0.05秒

    解决与对偶单纯形

    根放松:目标8.667023 e + 05 4190迭代,0.49秒

    当前节点节点| |客观界限|工作
    Expl Unexpl | Obj深度IntInf | |现任BestBd差距/节点时间

    0 0 0 141 1131674.00 866702.308 866702.308 23.4% - 0
    H - 1 0 0 1112932.0000 866702.308 22.1%
    H - 1 0 0 1112002.0000 866702.308 22.1%
    H - 1 0 0 1108081.0000 866702.308 21.8%
    H - 2 0 0 1102100.0000 866702.308 21.4%
    H - 2 0 0 997009.00000 866715.912 13.1%

    1161 590 937829.000 326 937829.000 937372.819 - 0.05% 219 140年代27
    1185 608 937497.532 189 937829.000 937497.532 - 0.04% 222 145年代

    探讨了1185个节点(313558单纯形迭代)145.09秒
    线程数是8(8可用处理器)

    解决方案数10:937829 937855 937894…940344年

    发现最优解(公差1.00 e-04)
    最佳目标9.378290000000 e + 05、最佳结合9.377479372686 e + 05年,差距为0.0086%

    在User-callback User-callback电话23605,时间0.27秒

    MIPGap属性,唯一的一部分,我用MIPGap代码:

    差距= m。setParam (MIPGap, 0)

    所以我想我需要添加更多属性?

    谢谢你!

    迪安娜

    0
  • 邓锅
    Gurobi-versary
    健谈的人
    第一个问题

    或者你的意思是这样的:

    差距= max (0, abs (m.ObjVal-m.ObjBound) / abs (m.ObjVal))

    上面,我在前面的邮件:差距= m。setParam (MIPGap, 0), are the only two lines about gap I have in my script.

    0
  • 格温妮丝Butera
    Gurobi员工Gurobi员工

    你好迪安娜-

    感谢分享日志;然而,完整的日志太长,所以我编辑它。

    开始时你可以看到日志文件参数改变,但是我没有看到任何迹象表明MIPGap参数改变,所以这是可能的原因你看到的行为。你能让我们知道你的代码改变吗?

    改变参数日志文件的价值P1_48_LFW_NoCap_Log 5 480 0.01 0.01 1 04032021 - 170929. - txt
    上一页:默认值:

    的属性,我想您打印MIPGap属性。这是不同的参数设置。

    格温妮斯

    0
  • 邓锅
    Gurobi-versary
    健谈的人
    第一个问题

    嗨,格温妮斯,

    我唯一有日志代码的代码改变日志的名字当我日志导出到一个txt文件。我重新运行模型没有导出日志文件(这样没有相关代码登录我的模型),你可以看到“改变参数日志文件的价值…“但差距仍然存在。

    9.1.1 Gurobi优化器版本构建v9.1.1rc0 (win64)
    线程数:4个物理核心,8个逻辑处理器,使用8线程
    优化模型与19906行、14665列,84414 0
    x0d94c138模型指纹:0
    变量类型:7190连续,7475整数(7475二进制)
    系数统计:
    矩阵范围[1 e + 00, 3 e + 02]
    目标范围[8 e + 01 2 e + 04)
    边界范围[1 e + 00 1 e + 00)
    RHS范围[1 e + 00, 5 e + 02]
    发现启发式解决方案:目标1131674.0000
    Presolve删除2737行和54列
    Presolve时间:0.24秒
    Presolved: 17169行、14611列,101700 0
    变量类型:7181连续,7430整数(7425二进制)

    确定性并发LP优化器:原始与对偶单纯形
    只显示第一个日志……

    并发旋转时间:0.03秒

    解决与对偶单纯形

    根放松:目标8.667023 e + 05 4190迭代,0.39秒

    当前节点节点| |客观界限|工作
    Expl Unexpl | Obj深度IntInf | |现任BestBd差距/节点时间

    0 0 0 141 1131674.00 866702.308 866702.308 23.4% - 0
    H 0 - 0 0 1112932.0000 866702.308 22.1%
    H - 1 0 0 1112002.0000 866702.308 22.1%
    H - 1 0 0 1108081.0000 866702.308 21.8%
    H - 1 0 0 1102100.0000 866702.308 21.4%
    H - 2 0 0 997009.00000 866715.912 13.1%
    0 0 0 221 997009.000 887018.508 887018.508 11.0% - 2 s
    H 0 0 984838.00000 887018.508 9.93% - 3 s
    H 0 0 979948.00000 887018.508 9.48% - 3 s
    0 0 0 234 979948.000 887162.142 887162.142 9.47% - 3 s
    0 0 0 236 979948.000 900502.971 900502.971 8.11% - 3 s
    H - 4 0 0 976505.00000 900502.971 7.78%
    0 0 0 244 976505.000 902823.792 902823.792 7.55% - 4 s
    0 0 0 266 976505.000 904322.994 904322.994 7.39% - 4 s
    0 0 0 277 976505.000 904324.514 904324.514 7.39% - 4 s
    - 6 s H 0 0 968640.00000 904324.514 6.64%
    0 0 0 308 968640.000 913623.243 913623.243 5.68% - 6 s
    - 6 s H 0 0 954598.00000 913623.243 4.29%

    ...........

    H 1131 568 937829.00000 937085.113 - 0.08% 197 78年代
    1134 570 937123.172 371 937829.000 937123.172 - 0.08% 196 80年代
    1155 585 937328.038 287 937829.000 937328.038 - 0.05% 208 85年代

    减少飞机:
    学:6
    Gomory: 9
    封面:21
    预计隐含约束:1
    集团:7
    米尔:39
    流覆盖:199
    零一半:8
    网络:57
    RLT: 6
    Relax-and-lift: 6

    探讨了1185个节点(313558单纯形迭代)90.01秒
    线程数是8(8可用处理器)

    解决方案数10:937829 937855 937894…940344年

    发现最优解(公差1.00 e-04)
    最佳目标9.378290000000 e + 05、最佳结合9.377479372686 e + 05年,差距为0.0086%

    一个相关的节点上,差距是0当我运行相同的模型(即与更小的问题。,更少的节点和弧)。

    我不确定如何打印MIPGap属性。我使用print (GRB.Attr.MIPGap),但它只是返回MIPGap。我使用Python。你能让我知道怎么做?

    谢谢你!

    迪安娜

    0
  • 格温妮丝Butera
    Gurobi员工Gurobi员工

    你好迪安娜-

    再一次,这还不清楚MIPGap参数已经改变。你能请分享你如何改变参数和在哪里?

    你能请立即打印MIPGap参数调用优化之前我们可以检查吗?哟umay需要调用.update ()。

    至于MIPGap属性,你看看链接的文档吗?manbet体育手机客户端你会看到这是一个* *属性模型,通过模型你需要访问它。

    格温妮斯

    0
  • 邓锅
    Gurobi-versary
    健谈的人
    第一个问题

    嗨,格温妮斯,

    我不认为我改变了任何MIPGap参数,至少我不记得。就像我说的,唯一的地方我做了一些关于的差距是发送的两行代码:

    差距= m。setParam (MIPGap, 0)

    差距= max (0, abs (m.ObjVal-m.ObjBound) / abs (m.ObjVal))

    我检查了链接和链接页面上的链接属性的例子”,但是我没有看到任何关于MIPGap属性。

    我可以给你我的代码吗?我困惑你问什么。

    谢谢你!

    迪安娜

    0
  • 史蒂文•爱德华兹
    Gurobi员工Gurobi员工

    嗨,迪安娜,

    这真的很奇怪。虽然看起来你设置MIPGap参数m。setParam (MIPGap, 0), the log file suggests that this update is not coming through. Gwyneth, was asking you to print the value of this attribute, e.g. `print(m.Params.MIPGap)`, to ensure that the parameter was updating correctly. The only way I can understand the behavior you are observing is if you are possibly updating the parameter after the m.optimize() step, if you have the parameter change syntax wrong (however it looks fine to me), or if you are updating the parameter of a different model object.

    高兴地看一看你的代码,如果你乐于分享。

    谢谢,

    史蒂夫

    0
  • 史蒂文•爱德华兹
    Gurobi员工Gurobi员工

    道歉,排版是困惑。这条线应该是

    打印(m.Params.MIPGap)
    0
  • 邓锅
    Gurobi-versary
    健谈的人
    第一个问题

    你好,史蒂夫,

    问题已经解决了。你是对的,我确实把MIPGap属性设置优化后……我应该想到,当我使用MIPFocus和把它放在正确的位置。不管怎样,谢谢你!

    迪安娜

    0

登录留下你的评论。