优化模型中的非线性项线性化方法(持续更新)

您所在的位置:网站首页 非线性与组合优化的关系 优化模型中的非线性项线性化方法(持续更新)

优化模型中的非线性项线性化方法(持续更新)

2024-07-17 05:44| 来源: 网络整理| 查看: 265

在建立优化问题的模型时,目标函数和约束条件中出现非线性项,会导致模型呈现非线性,即NLP问题,采用商业求解器一般很难求解,故需要对非线性项进行线性化处理。下面用于记录阅读文献时遇到的线性化方法,不做过多定义,分别进行举例说明便于理解。

一、bigM法 1、两个连续变量相乘带来的非线性项

出现在约束中: 如KKT条件的互补松弛约束 λ ( x − y − b ) = 0 \lambda(x-y-b)=0 λ(x−y−b)=0 λ ≥ 0 \lambda \ge 0 λ≥0 x − y − b ≥ 0 x-y-b\ge 0 x−y−b≥0 x,y为连续变量,其中 λ \lambda λ为对偶乘子,b为常数,上述等式约束构成了两个连续变量的相乘,采用bigM法线性化过程如下式所示 λ ≤ M z \lambda \le Mz λ≤Mz x − y − b ≤ M ( 1 − z ) x-y-b\le M(1-z) x−y−b≤M(1−z) 2、01变量与连续变量相乘带来的非线性项 出现在约束中: 在选址优化问题中经常出现,如发电机定容选址 x ≤ y z x\le yz x≤yz x,y为连续变量,z为01变量,非线性项为yz,采用bigM法线性化过程如下式所示 n = y z n=yz n=yz x ≤ n x\le n x≤n − M ( 1 − z ) ≤ n − y ≤ M ( 1 − z ) -M(1-z)\le n-y\le M(1-z) −M(1−z)≤n−y≤M(1−z) − M z ≤ n ≤ M z -Mz\le n\le Mz −Mz≤n≤Mz 3、用if语句表示约束条件时,一些求解器写约束时可能不支持if判断(非线性项问题,看到了就一并记录) { y ≤ b  if  x ≥ a y ≤ c  if  x < a \left\{ \begin{align} & y\le b\text{ if }x\ge a \\ & y\le c\text{ if }x



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3