我正在使用or-tools提供的MIP求解器(Python)
假设我们有两个变量 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) ?
最佳答案
MIP 求解器仅接受线性方程。根据定义,除法不是线性的。 在非常特殊的情况下,您可以线性化除法,例如,如果 y 具有一小组可能的值。
你可以看看CP-SAT求解器,它建议除法,但不能处理连续变量。
关于python - or-tool python 中的变量除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53797970/