我正在使用 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)?
答案 0 :(得分:1)
MIP求解器仅接受线性方程。根据定义,除法不是线性的。 在某些特殊情况下,可以线性化除法,例如,如果y的可能值很小。
您可以看看CP-SAT求解器,它提出了除法运算,但是不能处理连续变量。