线性化非线性约束(两个连续变量的乘积)



由于两个连续变量的乘积,我有一个线性化约束的问题。

设非线性约束为A = b + x1 x2: A,x1,x2为非负连续变量。

我如何线性化这个约束?

我试图通过创建两个新的连续变量(y1和y2)来重新表述它其中y1 = 1/2 (x1 + x2) y2= 1/2 (x1 - x2)在这种情况下,约束也变成非线性的。

我该怎么办?

如果x和y是连续的,没有确切的方法来使w=x*y线性化。

  • z1 = 1/2 (x + y)z2 = 1/2 (x - y)的再配方得到w = z1^2 - z2^2。这确实仍然是非线性的,但使用分段线性近似时更容易处理。
  • 您可以使用麦考密克信封(https://optimization.mccormick.northwestern.edu/index.php/McCormick_envelopes)。但这只是一个近似值。为了获得更高的精度,将范围分成几段。
  • 有时(在特殊情况下)对数变换可以帮助。
  • 一些求解器可以直接处理这个二次表达式。

相关内容

  • 没有找到相关文章

最新更新