文章目录

  • 一、输入形式要求
  • 二、例题 & 效果
  • 三、待优化
  • 四、代码
    • 1、mian
    • 2、simplex_method_0
    • 3、Find

一、输入形式要求

二、例题 & 效果


三、待优化

1、虽解出最值,但给出的解的形式有待调整
2、对于无解/无穷解未做细致的处理

四、代码

1、mian

tableau=[0 0 2 3 0 0 0 00 8 1 2 1 0 0 00 16 4 0 0 1 0 00 12 0 4 0 0 1 00 0 2 3 0 0 0 0];
dim_x=5;
num_equ=3;
[Max_Z,B] = simplex_method_0(dim_x,num_equ,tableau);
disp("解为:");
disp(B);
disp("最大值为:");
disp(Max_Z);

2、simplex_method_0

function [Max_Z,B] = simplex_method_0(dim_x,num_equ,tableau)
%tableau矩阵:(num_equ+2)*(dim_x+3)
%行:z系数 基变量 检验数
%列:C(B) X(B) b x1->x(dim_x) Ct%Z计算
Max_Z=tableau(2:num_equ+1,1)'*tableau(2:num_equ+1,2);%最大检验数获取
[Max_c_z,Index]=max(tableau(num_equ+2,3:dim_x+2));%Ct计算
for i=1:num_equif(tableau(i+1,Index+2)~=0)tableau(i+1,dim_x+3)=tableau(i+1,2)/tableau(i+1,Index+2);elsetableau(i+1,dim_x+3)=-1;end
end%最小的正Ct下标获取
Index_Ct=Find(tableau(2:num_equ+1,dim_x+3));while(Max_c_z>0 && Index_Ct~=-1)%交换基Index=[Index_Ct+1,Index+2];%C(B)价值系数更新tableau(Index_Ct+1,1)=tableau(1,Index+2);%开始交换tableau(Index_Ct+1,2:dim_x+2)=tableau(Index_Ct+1,2:dim_x+2)./tableau(Index_Ct+1,Index+2);for i=2:num_equ+1if(i~=Index_Ct+1)tableau(i,2:dim_x+2)=tableau(i,2:dim_x+2)-tableau(i,Index+2).*tableau(Index_Ct+1,2:dim_x+2);endend%检验数更新tableau(num_equ+2,3:dim_x+2)=tableau(num_equ+2,3:dim_x+2)-tableau(num_equ+2,Index+2).*tableau(Index_Ct+1,3:dim_x+2);%Z更新Max_Z=tableau(2:num_equ+1,1)'*tableau(2:num_equ+1,2);%最大检验数获取[Max_c_z,Index]=max(tableau(num_equ+2,3:dim_x+2));%Ct计算for i=1:num_equif(tableau(i+1,Index+2)~=0)tableau(i+1,dim_x+3)=tableau(i+1,2)/tableau(i+1,Index+2);elsetableau(i+1,dim_x+3)=-1;endend%最小的正Ct下标获取Index_Ct=Find(tableau(2:num_equ+1,dim_x+3));
end
%解返回
B=tableau(2:num_equ+1,2);
end

3、Find

function [Index_Ct] = Find(Ct)
size_Ct=size(Ct);
Index_Ct=-1;
if(~isempty(find(Ct>0)))Min_Ct=max(Ct);for i=1:size_Ct(1)if(Ct(i,1)>0 && Ct(i,1)<Min_Ct)Min_Ct=Ct(i,1);Index_Ct=i;endend
end
end

运筹学_单纯形表法_0(matlab实现)相关推荐

  1. 运筹学_单纯形表法_大M法/两阶段法_步骤

    文章目录 步骤 latex代码 步骤 latex代码 \begin{align} 目标函数&:\min z=\sum_{i=1}^{n}c_{i}*x_{i}\\约束条件& \left ...

  2. 【Matlab】数学建模_变异系数法

    [Matlab]数学建模_变异系数法 1.基本思想 2.数据集介绍 3.文件结构 4.详细代码及注释 5.运行结果 6.结果说明 1.基本思想 变异系数法通常用于解决数据分布不同的问题.它是一个用于测 ...

  3. matlab如何求指标的权向量_【Matlab】案例讲解层次分析法的Matlab实现

    我写过层次分析法的Matlab实现:张敬信:[评价算法]层次分析法​zhuanlan.zhihu.com 其中的ahp函数是来自<吴鹏. Matlab高效编程技巧与应用:25个案例分析>, ...

  4. 0.618方法matlab流程图,0.618法的matlab实现

    (3)从上述计算结果可以看出,利用 MATLAB 实现的黄金分割法,通过 14 次 迭代可以满足收敛精度要求,并且计算结果和理论结果基本一致,误差为 (1.0013) (1) 0....... 暂无评 ...

  5. 2021-05-11雨流计数法的matlab代码实现,三点法四点法修正版

    "我是置顶":本文仅供参考,禁止大作业抄袭!!! 这个代码还可以完善,还可以实现比如记录半循环之类的功能,加油! 2020年10月份左右因为课程原因接触了一下雨流计数法,该方法用于 ...

  6. 随机信号的参数建模法及MATLAB实现

    随机信号的参数建模法及MATLAB实现 为随机信号建立参数模型是研究随机信号的一种基本方法.在对语音信号进行编码时,往往通过分析不同种类语音信号的特点及产生,用数学模型表示信源,而编码器根据输入信号计 ...

  7. 机器人雅可比矩阵的求法_构造法

    机器人雅可比矩阵的求法_构造法 雅可比矩阵对于机器人运动学逆解.静力学分析和动力学分析有重要意义,是机器人位置\力控制的基础.这篇文章主要讲如何用构造法求解雅可比矩阵. 上一篇文章中讲到,D-H矩阵中 ...

  8. 关联矩阵古林法的matlab代码,[转载][原创]灰色关联分析及Matlab程序实现

    灰色系统理论由我国著名学者邓聚龙教授于1982提出.灰色关联分析是灰色系统理论的一个分支,应用灰色关联分析方法对受多种因素影响的事物和现象从整体观念出发进行综合评价是一个被广为接受的方法. 一.灰色关 ...

  9. 层次分析法matlab_建模开讲课程回放2:层次分析法及其MATLAB

    建模开讲:层次分析法及其MATLAB实践 主讲人:于晶贤老师 课程回放地址如下,大家可以复制链接到地址栏即可观看,也可以直接点击左下角的观看: https://ke.qq.com/webcourse/ ...

最新文章

  1. 使用 TestFlight 进行项目内测
  2. 安卓接受后台数据转换解析出错_安卓手机内存越大,速度就会越快?
  3. 金古桥机器人_泽塔奥特曼上演“吃瘪预定”,金古桥强势回顾,阿尔法被骑着打脸...
  4. android 性能优化---(5)Bitmap图片资源优化
  5. 2018年智能手表出货量曝光 苹果Apple Watch占据半壁江山
  6. 【Flink】Object Reuse 模式(Stream API) 性能优化 chain 数据重用 不深拷贝
  7. 为程序使用内存缓存(MemoryCache)
  8. spring cloud常用组件
  9. jvm-内存结构--分类索引
  10. c语言汉诺塔动画程序,汉诺塔问题算法(c语言控制台动画演示版)
  11. div水平垂直居中的四种方式
  12. 使用selenium爬取百度文库文章(动态)
  13. 百度翻译API错误码大全(建议收藏)
  14. 中文写代码?开始不信后来用中文写了剧情小游戏!嗯,真香~
  15. 闲人闲谈PS之三十——新收入准则中的合同资产和合同负债
  16. 机器学习模型评估——混淆矩阵
  17. 基于SSM酒店管理系统
  18. 教大家强制退出id账号_今天教大家怎么用手机注册自媒体账号之企鹅号。
  19. 移动端网页开发-vh/vw/rem
  20. 基于springboot大学校园防疫与服务系统毕业设计源码111556

热门文章

  1. nokia : Booklet 3G
  2. asp.net导出GridView数据到Excel
  3. for 创建一个方法:键盘录入一个数 ,求它的 阶乘 及 阶乘的和
  4. 一个信道的数据传输速率为4kb/s,单向传播时延为30ms,如果使停止-等待协议的信道最大利用率达到80%,那么要求的数据帧长度至少为( )
  5. 征战蓝桥 —— 2015年第六届 —— C/C++A组第10题——灾后重建
  6. 《算法竞赛入门经典》 习题4-1(象棋 Xiangqi ACM ICPC Fuzhou 2011,UVa1589)——仅提供大体方法
  7. Python学习笔记(五) Python高级特性
  8. 【ARM】在Uboot中运行第一个汇编程序
  9. 优优加速cdn带宽_为什么使用CDN你的网速还是那么慢?
  10. python如何计算分子描述符_Python——描述符(descriptor)解密