跟着川川学数模-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,一经查实,立即删除!

相关文章

etcd 启动分析_Etcd 架构与实现解析

本文通过分析 Etcd 的架构与实现,了解其优缺点以及瓶颈点,最后介绍 Etcd 周边的工具和一些使用注意事项。作者:王渊命|2017-02-24 17:24前一段时间的项目里用到了 Etcd, 所以研究了一下它的源码以及实现。网上关于 Etcd 的使用介绍…

鼠标吸附彩色气泡

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;取得的余数作为下一轮循环的较小的数&…

python找不见文件_自学Python之:文件操作(绝对找不到这么完整的教程)

我是一个学习Python初学者&#xff0c;近期刚学完文件操作。特地分享文章分为两部分&#xff0c;第一部分为文件读取类型以及读取的方式&#xff0c;第二部分为练习题文件读取类型文件读取的操作方式有以下几种&#xff1a;只读&#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;则…

eda技术试卷_《EDA技术》试题及答案

第1页共7页一、简答题&#xff1a;(30分&#xff0c;每小题5分)1.CPLD和FPGA有什么差异&#xff1f;在实际应用中各有什么特点&#xff1f;答&#xff1a;差异&#xff1a;(1)CPLD&#xff1a;复杂可编程逻辑器件&#xff0c;FPGA&#xff1a;现场可变成门阵列&#xff1b;(2)C…

【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. 灰度顶帽变换校正阴影 灰度级形态学将形态学操作从二值图像扩展到灰度图像。灰度形态学处理也…