Matlab~30个算法
matlab算法
第01章 MATLAB 线性规划
文章目录
- matlab算法
- 一、线性规划解决什么问题?
- 二、解决方案
- 1.单纯形法
- 2.MATLAB实现
- 三、常见问题
- eg 1 线性规划
- eg 2 运输问题(产销平衡)
- eg 3 指派问题
- 独特解法
- eg 4 对偶理论与灵敏度分析
- eg 5 投资的收益和风险
- 总结
一、线性规划解决什么问题?
利用现有资源来安排生产,以取得最大经济
效益的问题
二、解决方案
1.单纯形法
这里不再过多解释,普通的画图工具即可完成,这里推荐Geogebra
:
2.MATLAB实现
基本函数形式为 linprog(c,A,b),它的返回值是向量 x 的值。还有其它的一些函数调用形式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如:
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
这里 fval 返回目标函数的值,LB 和 UB 分别是变量 x 的下界和上界,x0 是 x 的初始值,OPTIONS 是控制参数。
三、常见问题
eg 1 线性规划
Step 1
编写M文件
c=[2;3;-5];
a=[-2,5,-1;1,3,1]; b=[-10;12];
aeq=[1,1,1];
beq=7;
x=linprog(-c,a,b,aeq,beq,zeros(3,1)) %第一项取得是min,如果求max可以填个符号,第二、三项取得是<的一边,这样比较容易整,zeros(3,1)构造维度好习惯
value=c.*x %也可以用'*操作符
&也可以这样处理
[x,y] = linprog(-c,a,b,aeq,beq,zeros(3,1)) ; %这样操作取得的是凸点y的负值
x; vaule = -y
.* 和 * 的区别
在进行数与数之间的运算时“.”和“”是没有区别的,都是表示普通的乘法运算。例:m = 2,n = 4,m.n = 8, mn = 8。
在进行矩阵之间的运算时“.”和“”的意义就有所不同了。假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相乘,a.*b表示矩阵a中的元素与矩阵b中的元素按位置依次相乘,得到的结果将作为新矩阵中相同位置的元素。
Step 2
存盘、命名
Step 3
运行
eg 2 运输问题(产销平衡)
数学模型:
其约束条件的系数矩阵相当特殊,可用比较简单的计算方法,习惯上称为表上作业法(由康托洛维奇和希奇柯克两人独立地提出,简称康—希表上作业法)。
采用表上作业法即可,产销平衡和产销不平衡问题的链接放上: 运输问题表上作业法步骤.
eg 3 指派问题
拟分配n 人去干n项工作,每人干且仅干一项工作,若分配第i人去干第j项工作,需花费Cij单位时间,问应如何分配工作才能使工人花费的总时间最少?
数学模型:
可以发现指派问题可以转化为特殊的运输问题
独特解法
1.求解指派问题的匈牙利算法
这里有篇文章写的很好,小菜鸡就不写了,链接放上: 匈牙利算法解决指派问题清晰流程.
eg 4 对偶理论与灵敏度分析
知道有这回事就行,遇上再说[doge]
指的是问题矩阵的转置有解求原矩阵的最优解
链接放上:运筹学中应该如何理解互补松弛性。这条性质又该如何运用?
eg 5 投资的收益和风险
涉及数学建模,MATLAB方面的反而不多,需要建模原型的留言
总结
1.MATLAB中LP问题的矩阵处理,linprog函数
2.表上作业法
3.五个问题
Matlab~30个算法相关推荐
- 光谱分类算法 matlab,Matlab K-means聚类算法对多光谱遥感图像进行分类(一)
Matlab K-means聚类算法对多光谱遥感图像进行分类 作者: 白艺亭 测试了下matlab自带kmeans函数,作者编写函数,以及ENVI下的Kmeans方法,对比其效果,代码及结果图展示见下 ...
- MATLAB粒子群算法求解带充电站(桩)的电动车辆路径规划EVRP问题代码实例
MATLAB粒子群算法求解带充电站(桩)的电动车辆路径规划EVRP问题代码实例 问题实例描述: 现有一个配送中心需要向20个客户点进行送货.每个客户点有不同货物需求量和卸货服务时间.配送中心和客户点的 ...
- 图像分形的matlab算法,基于MATLAB的图像分割算法研究
内容介绍 原文档由会员 花季永驻 发布 基于MATLAB的图像分割算法研究 全文54页 约28000字 论述翔实 摘 要 本文从原理和应用效果上对经典的图像分割方法如边缘检测.阈值分割技术和区域增长等 ...
- 视频教程-三十八课时零基础matlab精通优化算法-Matlab
三十八课时零基础matlab精通优化算法 图像和算法等领域有多年研究和项目经验:指导发表科技核心期刊经验丰富:多次指导数学建模爱好者参赛. 宋星星 ¥100.00 立即订阅 扫码下载「CSDN程序员学 ...
- matlab 腐蚀算法,【zz】matlab 腐蚀膨胀算法
1.图像膨胀的Matlab实现: 可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象.结构元素对象可以是strel函数返回的对象,也可 ...
- MATLAB灰狼优化算法求解超市物流配送中心选址问题代码实例
MATLAB灰狼算法求解超市物流配送选址问题实例 作者:麦哥 MATLAB灰狼优化算法求解超市物流配送中心选址问题代码实例 灰狼算法编程问题实例: 在范围为(0,0)到(100,100)的矩形区域内, ...
- MATLAB差分进化算法求解超市物流配送选址问题实例
差分进化算法编程问题实例: MATLAB差分进化算法求解超市物流配送中心选址问题代码实例 在范围为(0,0)到(100,100)的矩形区域内,散布着40个连锁超市,各个连锁超市的坐标及需求量见表1.要 ...
- MATLAB粒子群算法求解超市物流配送选址问题实例
粒子群算法编程问题实例: MATLAB粒子群算法求解超市物流配送选址问题实例 粒子群算法编程问题实例: 在范围为(0,0)到(100,100)的矩形区域内,散布着40个连锁超市,各个连锁超市的坐标及需 ...
- 凸包计算几何matlab,计算几何-凸包算法 Python实现与Matlab动画演示
凸包算法是计算几何中的最经典问题之一了.给定一个点集,计算其凸包.凸包是什么就不罗嗦了 本文给出了<计算几何--算法与应用>中一书所列凸包算法的Python实现和Matlab实现,并给出了 ...
- MATLAB人工蜂群算法求解超市物流配送选址问题代码实例
MATLAB人工蜂群算法求解超市物流配送选址问题代码实例 MATLAB人工蜂群算法求解超市物流配送选址问题代码实例 人工蜂群算法编程问题实例: 在范围为(0,0)到(100,100)的矩形区域内,散布 ...
最新文章
- 数组显示php,显示图像数组 - PHP
- java让用户输入3个随机数_3-流程控制、随机数、键盘输入
- 前端遍历导致查询数据时间过长_OLAP 服务器,空间换时间可行吗?
- 并查集板子:acwing836. 合并集合
- [Step By Step]SAP Visual Intelligence数据操作、地图信息显示(SAP HANA中提取数据)
- vst3插件_2B Played Music发布用于劲爆舞曲风格的极端失真和剪辑插件2B Clipped XT
- linux和windows互传文件 、用户配置文件和密码配置文件 、用户与用户组管理
- Spring Boot 中使用 MyBatis 整合 Druid 多数据源
- Red Hat Enterprise Linux Server release 7.0双系统安装
- blender 3d打印_如何在Blender中开始3D打印
- 手机modem开发(12)---MTK 平台如何PUSH modem 到手机中进行调试
- 一道充满歧义的思维题,全网唯一刁钻分析
- 解决chrome浏览器崩溃,再次安装不上问题
- Mybatis的注解应用之关系映射
- 【SpringBoot_ANNOTATIONS】组件注册 03 FilterType
- 数据可视化网页内容自动抓取工具
- HART协议数据格式和消息结构的举例分析
- 使用Python求解一元二次方程
- 绿卡日记:2020-11-20
- 超级简单小程序点赞功能