跟着川川学数模-Day2

目录

一、前言

二、问题提出

 三、问题求解

3.1 线性规划(忽视整数条件)

3.2 整数线性规划

3.2.1 对x1进行分枝求解

3.2.2 在x范围下对x2进行分支求解

3.2.3 求解最大值

3.2.4 结果


一、前言

在川川前面两篇的推送中,学习到了如何求解线性规划最大值与最小值问题,但相关参数均以最优形式出现,那么在实际工程问题或者生活中,大部分要求为整数,因此本文将探讨线性整数规划问题。

二、问题提出

 三、问题求解

3.1 线性规划(忽视整数条件)

忽略整数这一限制条件,即仍为前两天所考虑的线性规划问题,给出如下代码:

clc
clear all
c=[40 90];%目标函数确定
a=[9,7;7,20];
b=[56,70];%两个不等式约束条件
aeq=[];
beq=[];%没有等式约束
lb=[0;0];%大于等于0
ub=[inf;inf];
[x,fval]=linprog(-c,a,b,aeq,beq,lb,ub);
x
best=c*x

运行所得结果如下:


Optimal solution found.x =4.80921.8168best =355.8779

3.2 整数线性规划

在3.1中可以看到,z的最大值为355.9779那么我们可以将z的范围暂定为0≤z≤356,同样由于3.1中未考虑x1和x2的整数问题,而x1在4-5的整数范围内无其他整数,因此需要通过分枝方法来解决。

3.2.1 对x1进行分枝求解

(1)0≤x1≤4情况下代码如下:

clc
clear all
c=[40 90];%目标函数确定
a=[9,7;7,20];
b=[56,70];%两个不等式约束条件
aeq=[];
beq=[];%没有等式约束
lb=[0;0];%大于等于0
ub=[4;inf];%x1的上限改为4,x2没有上限
[x,fval]=linprog(-c,a,b,aeq,beq,lb,ub);
x
best=c*x

结果为:


Optimal solution found.x =4.00002.1000best =349

(2)x1≥5情况下代码如下:

clc
clear all
c=[40 90];%目标函数确定
a=[9,7;7,20];
b=[56,70];%两个不等式约束条件
aeq=[];
beq=[];%没有等式约束
lb=[5;0];%大于等于0
ub=[inf;inf];%x1的上限改为4,x2没有上限
[x,fval]=linprog(-c,a,b,aeq,beq,lb,ub);
x
best=c*x

结果为:


Optimal solution found.x =5.00001.5714best =341.4286

(3)符合条件最大值范围的再次确定:0≤z≤349

3.2.2 在x范围下对x2进行分支求解

(1)在0≤x1≤4情况下,对0≤x2≤2分支情况下代码如下:

clc
clear all
c=[40 90];%目标函数确定
a=[9,7;7,20];
b=[56,70];%两个不等式约束条件
aeq=[];
beq=[];%没有等式约束
lb=[0;0];%大于等于0
ub=[4;2];%x1的上限改为4,x2上限为2
[x,fval]=linprog(-c,a,b,aeq,beq,lb,ub);
x
best=c*x

结果为:


Optimal solution found.x =42best =340

(1)在0≤x1≤4情况下,对x2≥3分支情况下代码如下:

clc
clear all
c=[40 90];%目标函数确定
a=[9,7;7,20];
b=[56,70];%两个不等式约束条件
aeq=[];
beq=[];%没有等式约束
lb=[0;3];%x1大于等于0,x2大于等于3
ub=[4;inf];%x1的上限改为4,x2无上限
[x,fval]=linprog(-c,a,b,aeq,beq,lb,ub);
x
best=c*x

结果为:


Optimal solution found.x =1.42863.0000best =327.1429

(3)符合条件最大值范围的再次确定:340≤z≤349

3.2.3 求解最大值

在前面两步中,我们将x1的范围缩至大于等于5,接下来我们对x2进行分支

(1)0≤x2≤1

clc
clear all
c=[40 90];%目标函数确定
a=[9,7;7,20];
b=[56,70];%两个不等式约束条件
aeq=[];
beq=[];%没有等式约束
lb=[5;0];%x1大于等于5
ub=[inf;1];%x1的上限改为4,x2上限改为1
[x,fval]=linprog(-c,a,b,aeq,beq,lb,ub);
x
best=c*x

结果为:


Optimal solution found.x =5.44441.0000best =307.7778

(2)x2≥2

clc
clear all
c=[40 90];%目标函数确定
a=[9,7;7,20];
b=[56,70];%两个不等式约束条件
aeq=[];
beq=[];%没有等式约束
lb=[5;2];%x1大于等于5,x2大于等于2
ub=[inf;inf];%x1的上限改为4,x2没有上限
[x,fval]=linprog(-c,a,b,aeq,beq,lb,ub);
x
best=c*x

结果为:


No feasible solution found.Linprog stopped because no point satisfies the constraints.x =[]错误使用  * 
用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数
匹配。要执行按元素相乘,请使用 '.*'。>> 

在此条件下并无解。

3.2.4 结果

综上所述,整个题目最优解为x1=4,x2=2时,zmax=340.

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

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

相关文章

鼠标吸附彩色气泡

H5Cavas制作鼠标吸附彩色气泡。当鼠标在屏幕上移动的时候&#xff0c;鼠标划过的区域会出现许多彩色气泡&#xff0c;并且会自动消失。 效果演示 看了如此效果是不是心动的感觉呢&#xff1f;&#xff1f;&#xff1f; 代码展示 <!DOCTYPE html> <html><hea…

【youcans 的 OpenCV 例程200篇】135. 形态学重建之粒度测定

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】135. 形态学重建之粒度测定 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…

跟着川川学数模-Day3

目录 一、非线性引入 二、非线性规划模型 三、Matlab中的非线性规划函数 四、求解不等式和等式双变量约束 五、非线性约束求最小值 5.1 奇奇怪怪的三变量 5.2 可可爱爱的范围寻优 六、总结 一、非线性引入 前面两天跟着川川学习了线性规划和整数线性规划&#xff0c;今…

java - 求最大公约数和最小公倍数

根据提示输入两个正整数 m 和 n&#xff0c;求其最大公约数和最小公倍数 并进行控制台输出。 原理分析 在循环中&#xff0c;只要除数不等于 0&#xff0c;用较大数除以较小的数&#xff0c;将小的一个数作为下一轮循环的大数&#xff0c;取得的余数作为下一轮循环的较小的数&…

【youcans 的 OpenCV 例程200篇】134. 形态学重建之细胞计数

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】134. 形态学重建之细胞计数 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…

【youcans 的 OpenCV 例程200篇】136. 灰度腐蚀和灰度膨胀

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】136. 灰度腐蚀和灰度膨胀 5. 灰度级形态学 灰度级形态学将形态学操作从二值图像扩展到灰度图像。…

基于主成分分析法的安全评价模型

目录 一、安全评价简介 二、引入 三、调查问卷的设置 四、问卷发放与回收 五、主成分分析法介绍 六、SPSS主成分分析&#xff08;简易版&#xff09; 6.1 数据的导入与设定 6.2 信效度分析 6.3 SPSS主成分分析处理 一、安全评价简介 何为安全评价&#xff0c;对于本专业…

java - 分解质因数

根据提示输入一个正整数&#xff0c;用java程序进行分解质因数。例如&#xff1a;输入 90,打印出 90233*5 原理分析&#xff1a; 1.对 n 进行分解质因数&#xff0c;应先找到一个最小的质数 k&#xff0c;然后按下述步骤完成&#xff1a; 2.如果这个质数恰等于 n&#xff0c;则…

【youcans 的 OpenCV 例程200篇】137. 灰度开运算和灰度闭运算原理

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】137. 灰度开运算和灰度闭运算 5. 灰度级形态学 灰度级形态学将形态学操作从二值图像扩展到灰度图…

跟着川川学数模-Day4

目录 一、一元线性回归 二、多元线性回归 一、一元线性回归 今天是跟着川川学数模的第四天&#xff0c;也与前些天的规划问题不同&#xff0c;进入到了线性回归&#xff0c;那么我们先来看一下一元线性回归问题. 我们以某一数据列为例&#xff0c;代码如下 x1:12; y[217.22…

Java - 计算不同字符或数字的个数

根据提示输入一行字符&#xff0c;这行字符可以是任意的&#xff0c;可以包含字母数字标点符号&#xff0c;特殊符号等&#xff0c;java程序会输出你输入字符串中各个类别字符的个数。 结果展示 代码展示 package com.one;import java.util.*;public class Flqgs {public st…

oracle去重保留一条_关于oracle数据库物理结构(文件)的一些总结

概述闲来无事&#xff0c;整理了下oracle数据库物理结构方面的内容&#xff0c;这里主要从数据库文件和操作系统文件两个方面来介绍。任何时候都要记得&#xff0c;数据库是数据存储的容器&#xff0c;作用是用来收集、存储数据和返回信息。物理结构数据库文件1&#xff0e;控制…

【youcans 的 OpenCV 例程200篇】138. 灰度开运算和灰度闭运算

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】138. 灰度开运算和灰度闭运算 5.2 灰度开运算和灰度闭运算 OpenCV 提供了函数 cv.morphologyEx 可…

跟着川川学数模-Day5

一、一些废话 哦莫&#xff0c;终于到了我最喜欢且不会的东西了&#xff0c;动态规划&#xff0c;求解最优路径&#xff0c;学会这玩意就能处理简单的TSP问题了&#xff0c;那么让我们来看看怎么用Matlab实现。 二、最短路径求解 2.1 稀疏矩阵 哦莫&#xff0c;果然上来就是…

c#获取对象的唯一标识_DDD领域驱动设计实战 - 创建实体身份标识的常用策略

从简单到复杂依次为&#xff1a;3.1.1 用户提供唯一标识这时用户将输入一些可识别的数值或符号&#xff0c;或从已有标识中选其一&#xff0c;然后创建实体对象。这是一种非常简单方案&#xff0c;但也可能变得复杂。由于需用户自己生成高质量的标识。所以标识可能唯一&#xf…

java - 计算距离和反弹

根据提示输入次数&#xff0c;控制台输出对应的距离和反弹的距离。 效果演示 代码展示 package com.one;import java.util.*; public class High {public static Scanner input new Scanner(System.in);public static void main(String[] args) {System.out.println("…

【youcans 的 OpenCV 例程200篇】139. 灰度顶帽变换校正阴影

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】139. 灰度顶帽变换校正阴影 灰度级形态学将形态学操作从二值图像扩展到灰度图像。灰度形态学处理也…

quartus管脚分配后需要保存吗_电脑磁盘显示未分配怎么办?磁盘数据如何恢复?...

磁盘未分配的这部分磁盘空间上没有任何分区&#xff0c;也就是说这部分空间无法用来保存数据。那么&#xff0c;什么原因会导致磁盘变成未分配呢&#xff1f;1、删除分区&#xff1a;在平时使用电脑的时候会有意或无意的将分区删除掉。磁盘上的分区被删除之后&#xff0c;在磁盘…

【youcans 的 OpenCV 例程200篇】140. 灰度底帽变换校正光照

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程200篇】140. 灰度底帽变换校正光照 灰度级形态学将形态学操作从二值图像扩展到灰度图像。灰度形态学处理也…

java - 条件嵌套

根据提示输入一个分数&#xff0c;程序会计算并输出你输入成绩所在的等级&#xff0c;利用条件运算符的嵌套来完成此分类表示&#xff1a;学习成绩> 90 分的同学用 A 表示&#xff0c;60-89 分之间的用 B 表示&#xff0c;60 分以下的用 C 表示。 结果演示 代码演示 pack…