为了账号安全,请及时绑定邮箱和手机立即绑定

OR-Tools MIP Solver - 用 int 定义目标,而不是 IntVar

OR-Tools MIP Solver - 用 int 定义目标,而不是 IntVar

PHP
隔江千里 2023-11-09 16:44:59
我试图定义一个目标函数,它使用变量的当前值作为整数进行计算(如下所示):def foo(arg1, arg2, arg3):   return arg1 - arg2 + arg3    def objective_that_does_not_work(x0, x1, x2):   y = foo(x0.solution_value(), x1.solution_value(), x2.solution_value())   return ydef objective_that_works(x0, x1, x2):   y = foo(x0, x1, x2)   return y其中 x0、x1、x2 是 IntVar。在我的用例中,函数 foo 的定义方式需要 int 参数。当我尝试最大化时objective_that_does_not_work,它会随机给出 x0、x1、x2 的上限或下限(每次运行求解器时都有不同的值)。我的问题:是否可以根据 IntVar 的值而不是 IntVar 本身来定义目标?如果是,solution_value()使用的属性是否正确?从文档来看,它似乎是最合适的,但我可能误解了它的用途。
查看完整描述

1 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

您只能将目标表示为变量的线性组合。



查看完整回答
反对 回复 2023-11-09
  • 1 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信