在GAMS中,如何处理分裂?

In GAMS, how to deal with divisions?

在我的 GAMS 模型中,我有一个涉及除法的 objective 函数。

GAMS 在解决问题时将初始值设置为零...好主意,怎么可能出错!...哦等等,现在有除法零。

处理这个问题的方法是什么?我曾尝试手动设置下限以避免被零除,但随后 GAMS 吐出 "infeasible" 解决方案。

这是错误的,因为我知道这个模型是可行的。事实上,从我的模型中删除除法项并解析确实产生了一个解决方案。该解决方案对于原始问题也应该是可行的,因为我们只是向 objective.

添加项

尝试使用 $ 符号。例如:A(i,j)$C(i,j) = B(i,j) / C(i,j)

以下是一些常见的方法:

  • 设置下限。例如。 Z =E= X/Y, 添加 Y.LO = 0.0001;
  • 类似地,这样写:Z =E= X/(Y+0.0001)
  • 设置初始值。例如。 Y.L = 1
  • 两边乘以 Y:Z*Y =E= X

对于任何非线性变量,您都应该仔细考虑边界和初始值(不考虑除法)。