本文通过一个实例,介绍使用合取范式进行整数规划建模的通用方法。

根据决策变量的含义,写出其约束关系。

决策变量

变量 含义
xi,kx_{i, k}xi,k​ iii 在集合 kkk 内
yi,jy_{i, j}yi,j​ iii 和 jjj 在同一集合

真值表

xi,kx_{i, k}xi,k​ xj,kx_{j, k}xj,k​ yi,jy_{i, j}yi,j​
1 1 1
1 0 0
0 1 0
0 0 -

真值表 取反

xi,kx_{i, k}xi,k​ xj,kx_{j, k}xj,k​ yi,jy_{i, j}yi,j​
1 1 0
1 0 1
0 1 1

约束推导

若要决策变量满足真值表中的情况,则需取反后的真值表的各行情形均不出现即可,即:
(¬xi,k∨¬xj,k∨yi,j)∧(¬xi,k∨xj,k∨¬yi,j)∧(xi,k∨¬xj,k∨¬yi,j)(\neg x_{i, k} \lor \neg x_{j, k} \lor y_{i, j}) \land (\neg x_{i, k} \lor x_{j, k} \lor \neg y_{i, j}) \land (x_{i, k} \lor \neg x_{j, k} \lor \neg y_{i, j}) (¬xi,k​∨¬xj,k​∨yi,j​)∧(¬xi,k​∨xj,k​∨¬yi,j​)∧(xi,k​∨¬xj,k​∨¬yi,j​)

改写为约束条件,即为:
(1−xi,k)+(1−xj,k)+yi,j≥1(1−xi,k)+xj,k+(1−yi,j)≥1xi,k+(1−xj,k)+(1−yi,j)≥1(1 - x_{i, k}) + (1 - x_{j, k}) + y_{i, j} \geq 1 \\ (1 - x_{i, k}) + x_{j, k} + (1 - y_{i, j}) \geq 1 \\ x_{i, k} + (1 - x_{j, k}) + (1 - y_{i, j}) \geq 1 (1−xi,k​)+(1−xj,k​)+yi,j​≥1(1−xi,k​)+xj,k​+(1−yi,j​)≥1xi,k​+(1−xj,k​)+(1−yi,j​)≥1

参考资料

Integer linear programming formulation of formula in DNF

使用合取范式进行整数规划建模的方法相关推荐

  1. 智能体行为建模与方法

    目录 1.什么是智能体 2.智能体行为的产生 3. 智能体行为模型体系的组成 4.分层控制 5.智能体行为建模方法---状态机/行为树 6.智能体行为的量化分析 1.什么是智能体 2.智能体行为的产生 ...

  2. bms用matlab吗,一种BMS的MATLAB建模集成方法与流程

    技术特征: 1.一种BMS的MATLAB建模集成方法,其特征在于,包括以下步骤: S01:将BMS分为输入模块.输出模块及若干个中间模块,并定义各模块的名称: S02:定义各模块的输入端口和输出端口的 ...

  3. 《Java程序员面试秘笈》—— 面试题10 类继承的建模表示方法

    本节书摘来异步社区<Java程序员面试秘笈>一书中的第1章,第1.10节,作者:常建功,更多章节内容可以访问云栖社区"异步社区"公众号查看. 面试题10 类继承的建模表 ...

  4. 【数仓】浅谈数仓建模的方法

    一篇比较全面介绍数据仓库建模方法的普及文章,主要包括了四个方面的内容: 1.什么是数据模型:简而言之就是对现实世界业务对象及关系的抽象. 2.为什么需要数据模型:数据模型不是必需的,建模的目的是为了改 ...

  5. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.6 异构建模的方法...

    本节书摘来自华章出版社<信息物理融合系统(CPS)设计.建模与仿真--基于 Ptolemy II 平台>一书中的第1章,第1.6节,作者:[美]爱德华·阿什福德·李(Edward Ashf ...

  6. 数学建模|预测方法:灰色预测模型

    简介 灰色系统理论是由华中理工大学邓聚龙教授于1982年提出并加以发展的.二十几年来,引起了不少国内外学者的关注,得到了长足的发展.目前,在我国已经成为社会.经济.科学技术在等诸多领域进行预测.决策. ...

  7. 【MATLAB】数学建模入门方法综述

    数学建模入门方法综述

  8. maya建模的方法有很多种,你知道几种?这里有你们常见的吗?

    Maya有多种建模方法,各有特点及适用范围,简单了解常见的几种建模方法. 1.NURBS 建模,Maya虽然不止一种建模方法,但还是以NURBS建模为主,NURBS建模能产生平滑连续曲面,被各大三维软 ...

  9. Java绘制海螺_cero基础曲面教程,教你cero海螺建模绘制方法

    cero基础曲面教程,教你cero海螺建模绘制方法 proe/cero是一款非常好用的参数化建模软件,应用关系式可以实现出色的效果,比如某些你看起来很难的造型,其实是非常简单容易处理的,这就是下面要为 ...

  10. TOUGH系列软件建模实践方法及在地下水、CO2地质封存、水文地球化学、地热等多相多组分系统多过程耦合

    查看原文>>> https://mp.weixin.qq.com/s?__biz=MzAxNzcxMzc5MQ==&mid=2247578057&idx=7& ...

最新文章

  1. 微软笔试题,机器人消砖块
  2. [codeforces] 527A Playing with Paper
  3. RabbitMQ教程C#版 - 工作队列
  4. 【机器学习PAI实战】—— 玩转人工智能之美食推荐
  5. 新奇漂亮的Ajax/CSS表格设计汇集
  6. 第10课 skymvc 企业网站制作
  7. tomcat内存溢出全记录
  8. 格雷码与二进制码的互换
  9. 阿里矢量图库使用方法
  10. linux系统可以下steam吗,linux – 是否可以使用optirun运行Steam游戏?
  11. punycode编码
  12. 为自己搭建一个分布式 IM 系统二【从查找算法聊起】
  13. 计算机系统盘涨满怎么办,电脑重装系统后C盘爆满?教你一招让空间大幅释放!-电脑c盘满了怎么办...
  14. 信用卡收单业务--银行业务(七)
  15. python求平均值的怎么编写,python 怎么求平均值
  16. 爬虫第四课:猫眼电影
  17. 常见协议及对应的因特网协议栈
  18. Java文件复制的三种方法
  19. sinc函数卷积_单位冲击函数卷积.ppt
  20. 足球战术-高中锋战术之singleton篇

热门文章

  1. 地壳中元素含量排名记忆口诀_地壳含量_地壳中元素含量排名口诀
  2. Spring Boot入门教程(三十六):支付宝集成-当面付
  3. 找不到工作?女生转行学IT到底靠不靠谱!
  4. 002 姜子牙留计不成,玄子清相府献计
  5. Debian10 双显卡切换
  6. 小米手机linux驱动下载,小米手机驱动下载
  7. 智能制造:IntelligentSmart Manufacturing有何区别?
  8. 网络通信——下载管理器DownloadManager——利用POST方式上传文件
  9. 波段高低点指标公式 k线高低点 大盘主图公式
  10. win10c语言乱码修复方法,大神详解win10系统记事本中文变乱码的处理方案