在构建模型时,一不小心就会构建成非线性问题(谁叫非线性容易理解呢)。但是,非线性不好求解,因此,总会想方设法将非线性转换为线性。某些非线性可以转换为线性,有些则不可以。
网络上的资料,质量层次不齐,真真假假。为了方便自己后续查找,本文将遇到的非线性转换为线性的方法,集合于此。
一、两个0-1变量相乘 (X*Y)
1.添加中间变量:
Z=X*Y
2.添加约束:
3.说明:
如此一来,当X和Y有一个为0时,Z为0;X和Y均为1时,Z为1.
4.两0-1变量相乘的变体形式:(X*Y),其中X为0-1变量,Y为大于0小于1的变量(例如:概率密度)。则,在原约束的基础上增添即可。如此一来,当X=0时,Z=0;当X=1时,Z=Y