或工具python中的变量除法

时间:2018-12-15 23:00:17

标签: python or-tools maximization objective-function

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

假设我们有两个变量 x y 。 我知道如何最大化一个变量或两个变量之和。

例如, 如果我们想最大化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)

1 个答案:

答案 0 :(得分:1)

MIP求解器仅接受线性方程。根据定义,除法不是线性的。 在某些特殊情况下,可以线性化除法,例如,如果y的可能值很小。

您可以看看CP-SAT求解器,它提出了除法运算,但是不能处理连续变量。