【数学建模】天然肠衣搭配问题衍生问题/线性规划限制条件建立问题

线性规划限制条件建立问题

  • 前景回顾/提出问题
    • 回顾1
    • 回顾2/问题提出
    • 解决前提
  • 解决方法
    • 坐标轴(区间)法
      • 总结

前景回顾/提出问题

回顾1

首先回顾一下DVD在线租赁问题
在 question2中,需要保证每个人都不会收到自己不喜欢的DVD,即客户在线订单数为0时候,不可以租给他。我直接给出答案了:
x i j ≤ o r d e r i j , i = 1 , 2 , 3 , . . n , j = 1 , 2 , 3 , . . m x_{ij} \le order_{ij} ,i=1,2,3,..n , j= 1,2,3,..m xijorderij,i=1,2,3,..n,j=1,2,3,..m

实际思路其实是
如果 o r d e r i j = 0 order_{ij} = 0 orderij=0,那么 x i j = 0 x_{ij} = 0 xij=0, 也就是说客户不喜欢我决定不租
反之 o r d e r i j > 0 order_{ij} \gt 0 orderij>0,那么 x i j = 0 / 1 x_{ij} = 0/1 xij=0/1,也就是说客户喜欢我自己决定租还是不租。

列表找规律还是尝试不同的不等式都可以在比较短的时间内想出正确答案。

回顾2/问题提出

接下来回顾一下天然肠衣搭配问题
其中手动进行局部最优解的时候,还有一个附带问题:
已知原料能捆137个成品三,那么用到最少种配方数是多少?
例如我用到了73种配方我就可以完成137个成品三,那么同样是做137个成品三,就比用到100种配方少。

当时求最多能捆多少个成品三的模型为:
设使用方案 i i i的次数为 y i y_i yi,原料按长度由小到大的总个数依次为 d 1 d 2 , . . . , d n d_1 d_2 ,...,d_n d1d2,...,dn
方案总数为 a a a;方案 i i i使用第 j j j种原料数量为 z i j z_{ij} zij
对于每一个原料我们都得
d i ≥ ∑ 1 ≤ j ≤ a y j ∗ z j i , 1 ≤ i ≤ n d_i \ge \sum_{1 \le j \le a} y_j*z_{ji} , 1\le i \le n di1jayjzji,1in
max ⁡ ∑ 1 ≤ i ≤ a y i \max \sum_{1\le i \le a}y_i max1iayi

现在 max ⁡ ∑ i = 1 a y i \max \displaystyle\sum_{i=1}^{a}y_i maxi=1ayi变成了 ∑ i = 1 a y i = 137 \displaystyle\sum_{i=1}^{a}y_i = 137 i=1ayi=137
求解问题也变成了求 max ⁡ ∑ i = 1 a y i > 0 \max \displaystyle\sum_{i=1}^{a}y_i\gt 0 maxi=1ayi>0
如果借鉴DVD在线租赁问题的思路就是, f i f_i fi为0/1变量
如果 y i > 0 y_i \gt 0 yi>0,那么 f i = 1 f_i = 1 fi=1 ,用了这种配方就
反之 y i = 0 y_i = 0 yi=0,那么 f i = 0 / 1 f_i = 0/1 fi=0/1 , 没用这种配方
min ⁡ ∑ i = 1 a f i \min \displaystyle\sum_{i=1}^{a} f_i mini=1afi
因为是求最小值( f i f_i fi自动取最小的那一个),所以实际上如果 y i = 0 y_i = 0 yi=0,那么 f i = 0 f_i = 0 fi=0是绝对成立的

但这一次就没那么简单了,不是简单的 y i ≤ f i y_i\le f_i yifi 或者 y i ≥ f i y_i\ge f_i yifi,所以不能轻易的得出答案
所以问题就是这个限制条件怎么写?

解决前提

1.不能破坏线性规划模型,即不能出现变量和变量相乘的情况
2.
如果 y i > 0 y_i \gt 0 yi>0,那么 f i = 1 f_i = 1 fi=1 ,用了这种配方就
反之 y i = 0 y_i = 0 yi=0,那么 f i = 0 / 1 f_i = 0/1 fi=0/1 , 没用这种配方
解决上面描述很容易想到用 i f if if语句,这里也不可以,也就是下面这种模型
f i = { 1 , y i > 0 1 , y i = 0 f_i = \begin{cases}1,y_i \gt 0\\1,y_i = 0\end{cases} fi={1,yi>01,yi=0

解决方法

坐标轴(区间)法

线性规划中 a ≤ b a\le b ab a ≥ b a\ge b ab是最常用的,也是能很好的约束
基本概念
≤ a \le a a ≥ a \ge a a分别是蓝色线和红色线表示的区间
在这里插入图片描述

解决天然肠衣搭配问题
那么变形一下上面的判断描述
如果 y i > 0 y_i \gt 0 yi>0,那么 f i = 1 f_i = 1 fi=1 ,用了这种配方就
反之 y i ≤ 0 y_i \le 0 yi0,那么 f i = 0 / 1 f_i = 0/1 fi=0/1 , 没用这种配方
如果定义 ≥ y \ge y y, y y y y 1 > 0 y_1\gt 0 y1>0 y 2 = 0 y_2 = 0 y2=0
就会出现以下两个区间,红色: ≥ y 2 \ge y_2 y2 , 蓝色: ≥ y 1 \ge y_1 y1
在这里插入图片描述

通过画图分析发现蓝色区间不包含0,也就是说只要我 y i > 0 y_i \gt 0 yi>0 时候,要求 f i > y i f_i \gt y_i fi>yi就能限制住 f i > 0 f_i \gt 0 fi>0,即 f i f_i fi不可能有0的取值了
而红色区间,带入同样的限制 f i > y i f_i \gt y_i fi>yi,得到 f i ≥ 0 f_i \ge 0 fi0,即 f i = 0 / 1 f_i = 0/1 fi=0/1和我们描述相符
现在问题就来了,虽然 y i > 0 y_i \gt 0 yi>0 时候 f i f_i fi不可能有0的取值了但也不能取1!
也就是说我 f i f_i fi还必须落在蓝色区域里,如果 y i ≤ + ∞ y_i\le +\infin yi+那就完蛋了,满足的式子只有 f i y i > y i f_iy_i \gt y_i fiyi>yi或者 y i ≤ + ∞ f i y_i \le +\infin f_i yi+fi,分别不满足解决前提2和不现实
但已知还有一个条件 ∑ i = 1 a y i = 137 \displaystyle\sum_{i=1}^{a}y_i = 137 i=1ayi=137,可以得出 y i ≤ 137 y_i \le 137 yi137
那么 137 f i > y i 137f_i \gt y_i 137fi>yi 这个限制条件就可以让, f i f_i fi取1。
综上所述, 137 f i 137f_i 137fi f i = 1 f_i=1 fi=1落在蓝色和红色区间,但当 f i = 0 f_i=0 fi=0只落在红色区间,也就完成了线性的限制约束条件。

这时候同样的方法重做DVD在线租赁问题
已知:
如果 o r d e r i j = 0 order_{ij} = 0 orderij=0,那么 x i j = 0 x_{ij} = 0 xij=0, 也就是说客户不喜欢我决定不租
反之 o r d e r i j > 0 order_{ij} \gt 0 orderij>0,那么 x i j = 0 / 1 x_{ij} = 0/1 xij=0/1,也就是说客户喜欢我自己决定租还是不租。
改变加简化为
如果 o r i ≤ 0 or_i \le 0 ori0,那么 x i = 0 x_i = 0 xi=0, 也就是说客户不喜欢我决定不租
反之 o r i > 0 or_i \gt 0 ori>0,那么 x i = 0 / 1 x_i = 0/1 xi=0/1,也就是说客户喜欢我自己决定租还是不租。

因为限制 o r i ≤ 0 or_i \le 0 ori0时候 x i x_i xi不能取1,所以在数轴上画出0坐标,考虑如果区间是往右延申是不会包括1的,所以定义 ≤ o r i \le or_i ori
在这里插入图片描述

注意:定义和最终限制往往是同号!

通过图分析可得 x i ≤ o r i x_i \le or_i xiori是满足条件的约束,并且也不存在说如果 o r i ≤ + ∞ or_i\le +\infin ori+那就完蛋了因为 x i ≤ o r i ≤ + ∞ x_i \le or_i \le +\infin xiori+

而上面的是需要 y i ≤ f i y_i \le f_i yifi ,只能 y i ≤ + ∞ f i ≤ + ∞ y_i \le +\infin f_i \le +\infin yi+fi+,明显是无法求解的

总结

线性规划的条件可以利用区间来表示范围,数轴则是更加清晰
0/1变量两个取值实际上就是数轴上的两个点
例如 a f i + b af_i+b afi+b,当 f i f_i fi取0/1实际上就是b和a+b两个点
≤ \le ≥ \ge 表示是区间
一般分析过后适当做线性变化即可得到想要的线性限制条件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle中long和clob的区别和例子

在Oracle数据库中,LONG和CLOB(Character Large Object)都是用于存储大量字符数据的类型,但它们之间存在一些关键的区别。 存储方式: LONG:是以行存储的形式存储在数据行中的。当查询涉及到LONG列时&#…

umi6.x + react + antd的项目增加403(无权限页面拦截),404,错误处理页面

首先在src/pages下创建403&#xff0c;404&#xff0c;ErrorBoundary 403 import { Button, Result } from antd; import { history } from umijs/max;const UnAccessible () > (<Resultstatus"403"title"403"subTitle"抱歉&#xff0c;您无权…

进度条(小程序)

缓冲区的概念 缓冲区是内存中的一个临时存储区域&#xff0c;用来存放输入或输出数据。在标准 I/O 库中&#xff0c;缓冲区的使用可以提高数据处理的效率。例如&#xff0c;当向终端输出文本时&#xff0c;字符通常存储在缓冲区中&#xff0c;直到缓冲区满或者遇到特定条件时才…

FFmpeg开发笔记(二十六)Linux环境安装ZLMediaKit实现视频推流

《FFmpeg开发实战&#xff1a;从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX&#xff0c;通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了&#xff0c;无法应用于真实直播的生产环境&#xff0c;真正能用于生产环境…

HarmonyOS开发之ArkTS使用:新建活动页面

目录 目录 引言 关于ArkTS 开发环境准备 新建项目 新建活动页面 编写ArkTS代码 注册页面 运行应用 最后 引言 随着HarmonyOS&#xff08;鸿蒙操作系统&#xff09;的不断发展&#xff0c;越来越多的前端开发者投入到这个全新的生态系统中。而在HarmonyOS的开发中&…

自我模拟面试

在面试中&#xff0c;你如何面对面试官呢&#xff1f; 我认为&#xff0c;对于面试官提出的问题&#xff0c;如果你不会&#xff0c;那就是不会。你的思考过程&#xff0c;实际上就是将你平时所学的&#xff0c;所了解的&#xff0c;在脑海中进行一次复习&#xff0c;就像当别…

线上副业新选择:宅家工作,4个项目助力增收!

在这个繁华世界&#xff0c;财富与智慧并驾齐驱。越来越多的人意识到&#xff0c;除了主业外&#xff0c;开拓一份副业是实现财富增长的重要途径。在此&#xff0c;我为大家精心挑选了几个值得一试的网上赚钱副业。 1&#xff0c;参与网络调查与问卷填写 随着大数据时代的到来…

[大师C语言(第三篇)]C语言函数参数背后的秘密

C语言函数参数背后的秘密&#xff08;一&#xff09; 在C语言中&#xff0c;函数是执行特定任务的一段代码&#xff0c;可以通过参数传递数据。函数参数是C语言中非常基本且重要的概念&#xff0c;但它们背后的技术原理可能并不为人所熟知。本文将深入探讨C语言函数参数的技术…

kkkkkkkkkkkk564

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 人工智能与机器学习 &#x1f4dd;人工智能相关概念☞什么是人工智能、机器学习、深度学习☞人工智能发…

UINXU

进入选项字节配置界面之后&#xff0c;从上到下框选的部分依次是读保护、用户配置部分、自定义的两个字节和写保护&#xff0c;这四个部分的配置也是可以直接点击就可以配置。 写保护点一下是四页同时打钩&#xff0c;对应选项字节里的一个位配置4个闪存页 配置完成之后点击…

YOLOv8 Tensorrt Python/C++部署详解

按照大佬的方法进行部署&#xff0c;但是中间出现了很多问题&#xff0c;这里进行一下总结。 YOLOv8 Tensorrt Python/C部署教程_yolo 安装tensorrt-CSDN博客https://blog.csdn.net/weixin_45747759/article/details/130341118 Monday-Leo/Yolov5_Tensorrt_Win10: A simple i…

Kafka从0到消费者开发

安装ZK Index of /zookeeper/zookeeper-3.9.2 下载安装包 一定要下载-bin的&#xff0c;不带bin的是源码&#xff0c;没有编译的&#xff0c;无法执行。-bin的才可以执行。 解压 tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz 备份配置 cp zoo_sample.cfg zoo_sample.cfg-b…

物流集成商巨头-员工薪酬PK:今天国际、音飞存储,诺力股份

语 大家好&#xff0c;我是智能仓储物流技术研习社的社长&#xff0c;老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 以下内容为根据上市财报和公开数据整理&#xff0c;若有偏差&#xff0c;请联系小编修改。注意&#xff1a;各公司员…

ZYNQ实验--裸机程序固化

参考资料 正点原子《领航者 ZYNQ 之嵌入式 SDK 开发指南》详细的配置资料中都有介绍&#xff0c;本文只针对个人实验需求进行简要说明 固化流程 调试阶段是通过 JTAG 接口将 FPGA 配置文件和应用程序下载到 ZYNQ 器件中。但在实际应用中需要程序在上电或者复位时让程序自动运…

Adversarial Synthesis of Human Pose From Text # 论文阅读

URL https://arxiv.org/pdf/2005.00340 TD;DR 20 年 5 月来自高校的一篇论文&#xff0c;任务是用 GAN 生成 pose&#xff0c;目前 7 引用。 Model & Method 输入的是描述动作的 text&#xff0c;通过 text encoder&#xff08;本文用的是叫做 fastText 的方法&#…

vue-element-template优化升级dart-sass、pnpm

1、替换 node-sass 为 dart-sass - "node-sass": "^4.9.0","sass": "^1.75.0",替换css深度作用域写法 /deep/ >>># 替换为::v-deepVue&#xff1a;Node Sass VS. Dart Sass 2、替换npm为pnpm&#xff0c;需要补充一些依赖…

迷宫中离入口最近的出口

题目链接 迷宫中离入口最近的出口 题目描述 注意点 maze[i][j] 要么是 ‘.’ &#xff0c;要么是 ‘’entrance.length 2entrance 一定是空格子出口的含义是 maze 边界上的空格子entrance格子不算出口 解答思路 广度优先遍历找到走i步时所能到达的所有节点位置&#xff0…

从零手写实现 tomcat-05-servlet 处理支持

创作缘由 平时使用 tomcat 等 web 服务器不可谓不多&#xff0c;但是一直一知半解。 于是想着自己实现一个简单版本&#xff0c;学习一下 tomcat 的精髓。 系列教程 从零手写实现 apache Tomcat-01-入门介绍 从零手写实现 apache Tomcat-02-web.xml 入门详细介绍 从零手写…

认识 Pixel 8a:这款 Google AI 手机拥有无与伦比的价值。

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

代码随想录训练营Day27:贪心算法05区间问题

1.435无重叠区间 思路&#xff1a;可以延续前面的引爆气球的思路&#xff0c;所以本题的贪心策略为&#xff1a;对于相同起始位置的&#xff0c;删去终点位置靠右的&#xff0c;只留下一个最靠左的。对于具有不同的起始位置的&#xff0c;但是存在重复的情况&#xff08;即当前…