python - or-tool python 中的变量除法

标签 python or-tools maximization objective-function

我正在使用or-tools提供的MIP求解器(Python)

假设我们有两个变量 xy 。 我知道如何最大化一个单一变量或两个变量的总和。

例如, 如果我们想最大化 2*x 我们可以这样做

objective = solver.Objective()
objective.SetCoefficient(x,2)
objective.SetMaximization()

如果我们想要最大化 2*x + 3*y 我们可以这样做

objective = solver.Objective()
objective.SetCoefficient(x,2)
objective.SetCoefficient(y,3)
objective.SetMaximization()

但我不知道如何最大化除以另一个变量的变量。我的问题是如何最大化 (x/y)

最佳答案

MIP 求解器仅接受线性方程。根据定义,除法不是线性的。 在非常特殊的情况下,您可以线性化除法,例如,如果 y 具有一小组可能的值。

你可以看看CP-SAT求解器,它建议除法,但不能处理连续变量。

关于python - or-tool python 中的变量除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53797970/

相关文章:

python - 时间戳操作

python - 将遗留的 C 程序移植到 Python 的可行性如何?

python - N 皇后区对称性破坏 Google OR 工具

python - 如何最大化加减组合?

python - 如何指定删除 .txt 文件中的短语,其中一个短语包含 'x',另一个包含 'x' 和 'y'(其中 x 要删除,但 x 和 y 不删除)

python - 使用列表选择器就地添加

or-tools - 谷歌或工具: how to evaluate complex or multi-level boolean constraints

找不到 Python 模块错误 "No module named ' ortools'“

r - 为什么R中的optimx无法为这种简单的非参数似然最大化提供正确的解决方案?

r - 循环数据优化算法