线性化步骤

参考知乎回答。

最大值约束式如下(假设 x,yx,yx,y 中的 xxx 为较大值):

z=max⁡{x,y}z = \max \{ x,y\} z=max{x,y}

该约束可等价为以下两个约束:
z≥max⁡{x,y}(1)z \ge \max \{ x,y\} \tag {1}z≥max{x,y}(1)

z≤max⁡{x,y}(2)z \le \max \{ x,y\} \tag {2}z≤max{x,y}(2)

其中约束(1)(1)(1)显然可用如下约束式等价:

z≥xz \ge xz≥xz≥yz \ge y z≥y

约束(2)(2)(2)可用如下约束式等价:

z≤x+M(1−u1)(3)z \le x + M(1 - {u_1}) \tag {3}z≤x+M(1−u1​)(3)z≤y+M(1−u2)(4)z \le y + M(1 - {u_2}) \tag {4}z≤y+M(1−u2​)(4)u1+u2≥1(5){u_1} + {u_2} \ge 1\tag {5}u1​+u2​≥1(5)u1,u2∈{0,1}(6){u_1},{u_2} \in \{ 0,1\}\tag {6}u1​,u2​∈{0,1}(6)

其中MMM为较大常数。

解释如下:

式(3)(3)(3)、式(4)(4)(4)在u=1u=1u=1时分别等价为z≤xz \le xz≤x 、 z≤yz \le yz≤y,在u=0u=0u=0时被松弛。

因此针对uuu的不同取值,式(3)(3)(3)、式(4)(4)(4)等价为4种可能的情形:

  1. z≤xz \le xz≤x、z≤yz \le yz≤y 同时成立,即 z≤min⁡{x,y}z \le \min \{ x,y\}z≤min{x,y} —— u1=1,u2=1{u_1}=1,{u_2}=1u1​=1,u2​=1
  2. z≤xz \le xz≤x,即 z≤max⁡{x,y}z \le \max \{ x,y\}z≤max{x,y} —— u1=1,u2=0{u_1}=1,{u_2}=0u1​=1,u2​=0
  3. z≤yz \le yz≤y —— u1=0,u2=1{u_1}=0,{u_2}=1u1​=0,u2​=1
  4. 无约束 —— u1=0,u2=0{u_1}=0,{u_2}=0u1​=0,u2​=0

由于已有约束(1)(1)(1)的限制,情形1、2、3中只有2可能成立(注意前面已经假设xxx为较大值),1、3均与约束(1)(1)(1)矛盾。

同时注意到情形4会导致我们得不到z=max⁡{x,y}z = \max \{ x,y\}z=max{x,y}的整体约束效果,而且该种情形和约束(1)(1)(1)不矛盾,也就意味着无法通过约束(1)(1)(1)的限制作用来消除,因此我们需要进一步添加约束避免情形4的出现。

进一步添加约束(5)(5)(5)、(6)(6)(6),保证u1,u2{u_1},{u_2}u1​,u2​必须至少有一个为111,即不可能出现情形4。

综上,最大值约束可通过如下线性约束等价:
z≥xz \ge x z≥xz≥yz \ge y z≥y z≤x+M(1−u1)z \le x + M(1 - {u_1}) z≤x+M(1−u1​)z≤y+M(1−u2)z \le y + M(1 - {u_2}) z≤y+M(1−u2​)u1+u2≥1{u_1} + {u_2} \ge 1u1​+u2​≥1u1,u2∈{0,1}{u_1},{u_2} \in \{ 0,1\} u1​,u2​∈{0,1}

其中MMM为较大常数。

总结

maxmaxmax 函数体现的是一种选择性,如果a大于b,就选a;反之选b。这类选择性一般都可以通过大M法的思路(0-1变量配合大M)加以解决。没有特别的理论深度,可以称之为小技巧

max函数的线性化方法相关推荐

  1. matlab中max函数的使用方法详细介绍(附matlab代码)

    一.语句 max 数组的最大元素 1.M = max(A) 返回数组的最大元素. 如果 A 是向量,则 max(A) 返回 A 的最大值. 如果 A 为矩阵,则 max(A) 是包含每一列的最大值的行 ...

  2. 非线性函数线性化方法总结

    非线性函数线性化方法总结 1.增量线性化模型 增量线性化模型又称为分段线性方法.具体过程: 增量线性化模型在我理解看来就相当于泰勒展开式,你必须要知道X1-Xn的具体数值,才能进行线性化. 2.McC ...

  3. oracle工资在3000到5000,Oracle查询部门工资最高员工的两种方法 1、MAX()函数 2、RANK()函数...

    本文以SCOTT用户下初始的EMP表为参考.代码可直接使用. 查询EMP表结构的语句如下,[代码1]: DESC EMP; EMP表结构如下:[结果1]: SQL> DESC EMP; 名称 是 ...

  4. Oracle查询部门工资最高员工的两种方法 1、MAX()函数 2、RANK()函数

      本文以SCOTT用户下初始的EMP表为参考.代码可直接使用.   查询EMP表结构的语句如下,[代码1]: DESC EMP;   EMP表结构如下:[结果1]: SQL> DESC EMP ...

  5. Python pandas.DataFrame.max函数方法的使用

    Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.Pandas提供了大量能使我们快速 ...

  6. mysql的min函数的使用方法_MySQL中MIN()函数的使用教程

    MySQL的MIN函数是用来找出一个记录集最小值的记录. 要了解MIN函数考虑的EMPLOYEE_TBL表具有以下记录: mysql> SELECT * FROM employee_tbl; + ...

  7. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  8. MySQL max()函数

    转载自  MySQL max()函数 MySQL MAX函数介绍 MySQL MAX()函数返回一组值中的最大值.MAX()函数在许多查询中非常方便,例如查找最大数量,最昂贵的产品以及客户的最大付款. ...

  9. java调用wvsc.exe_c语言 函数的调用方法

    欢迎加入 编程爱好者 QQ群 群号 57616770 中都只有一个主函数main(), 但实用程序往往由多个函数组成.函数是C源程序的基本模块,通过对函数模块的调在第一章中已经介绍过,C源程序是由函数 ...

  10. java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...

    不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...

最新文章

  1. 职称计算机考试题纲,2017年职称计算机考试大纲
  2. 15-07-08 数组-- 手机号抽奖、福利彩票随机生成
  3. js通过classname来获取元素
  4. 输入参数的数目不足_机器学习算法—KMEANS算法原理及阿里云PAI平台算法模块参数说明...
  5. 兰州财经大学JAVA期末考什么_兰州财经大学大学国文下答案
  6. C++ 下一代标准库 tr1中默认的哈希 FNV hash
  7. adc采集出来一段波形 如何求周期与频率_DMA+ADC快速采集直流无刷电机电流
  8. SmartDial - 简单你的生活
  9. 判断一个文件是否可以使用
  10. 用curl自动登录HTTPS站点
  11. 易语言-万挂作坊4.X下载,有图有真相
  12. Flutter使用阿里矢量图库管理项目svg图片
  13. oracle sqldeveloper 115网盘 提取码
  14. 概率论考点之二项式定理与组合数证明
  15. 如何做到域名防红成为微信防封域名
  16. 自学编程和计算机科班出身的差别在哪里?
  17. 计算机有文件无法删除,w7文件夹删不掉如何删掉_win7电脑有的文件夹删不掉怎么办...
  18. The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.
  19. Six提供了Python 2和Python 3的兼容库
  20. 清华大学计算机科学与技术系黄必胜,都来看看,我们广西优秀学子在清华大学都读什么专业(2012年)...

热门文章

  1. 环洋市场咨询:全球OLED收入预计2028年达到502.4亿美元
  2. surfer10 地学计算机制图 pdf,Surfer 10地学计算机制图
  3. 快速掌握Python的捷径-Python基础前传(1) 1
  4. Install JD-GUI on Mac OSX
  5. 数据运营是什么?该如何做?
  6. 马克思对“货币之谜”的 历史唯物主义解答
  7. 【网络】路由器和交换机区别,什么是网关
  8. Python爬取必应壁纸
  9. 论文阅读《SHINE: Signed Heterogeneous Information Network Embedding for Sentiment Link Prediction》
  10. 北京年内首现二手房连续三日成交破450套