运筹优化学习15:求解线性规划的单纯形法【手把手计算,够你应付考试了,看不懂算我输】
目录
1 理论部分
1.1 单纯形表的要素含义解释
1.2 计算步骤
2 计算示例
2.1 初始单纯形表
2.2 第二次变换
2.3 第三次变换
2.4 第四次变换
3 参考文档
本博主研究了一天没有搞明白,幸得大神指点迷津,现将学习过程记录如下
1 理论部分
1.1 单纯形表的要素含义解释
1.2 计算步骤
1.3 黄丽娟老师的课件
初始单纯形表
计算检验数:
计算换出比率:
得到主元:
做初等行变换:
2 计算示例
2.1 初始单纯形表
【敲黑板:单位矩阵的检验数一定是0;单位矩阵对应的变量为基变量】
2 | 3 | 0 | 0 | 0 | ||||
基 | b | |||||||
0 | 8 | 1 | 2 | 1 | 0 | 0 | 4 | |
0 | 16 | 4 | 0 | 0 | 1 | 0 | - | |
0 | 12 | 0 | 4 | 0 | 0 | 1 | 3 | |
0 | 2 | 3 | 0 | 0 | 0 |
检验数的计算:
依次计算所有的检验数,选择其中检验数最大的变量作为入基变量,即
分别计算b列与列的比值,得到换入变量比率;
计算过程:
【分母为负数或0,比率用 - 标记】
取比率最小值的作为换出变量
因此我们确定出入基变量为和出基变量
2.2 第二次变换
要把系数矩阵中的变换成单位矩阵
在初始单纯形表的基础上,
2 | 3 | 0 | 0 | 0 | ||||
基 | b | |||||||
0 | 8 | 1 | 2 | 1 | 0 | 0 | ||
0 | 16 | 4 | 0 | 0 | 1 | 0 | ||
0 | 12 | 0 | 4 | 0 | 0 | 1 | ||
确定主元列为,更新入基变量的值;然后,将主元列化为单位向量,执行如下两步变换:
- 第三行 * (-1/2)加到第一行,得到变换后的第一行;
- 第三行 * (1/4)
得到更新后的单纯形表,
2 | 3 | 0 | 0 | 0 | ||||
基 | b | |||||||
0 | 2 | 1 | 0 | 1 | 0 | -1/2 | ||
0 | 16 | 4 | 0 | 0 | 1 | 0 | ||
3 | 3 | 0 | 1 | 0 | 0 | 1/4 | ||
重新计算检验数和价值比率
2 | 3 | 0 | 0 | 0 | ||||
基 | b | |||||||
0 | 2 | 1 | 0 | 1 | 0 | -1/2 | 2 | |
0 | 16 | 4 | 0 | 0 | 1 | 0 | 4 | |
3 | 3 | 0 | 1 | 0 | 0 | 1/4 | - | |
2 | 0 | 0 | 0 | -3/4 |
计算两个检验数:
存在正检验数,需要继续计算换入比率
计算换入比率:
【分母为负数或0,比率用 - 标记】
确定入基变量为和出基变量为
2.3 第三次变换
更新,将主元列化为单位向量
2 | 3 | 0 | 0 | 0 | ||||
基 | b | |||||||
2 | 2 | 1 | 0 | 1 | 0 | -1/2 | ||
0 | 16 | 4 | 0 | 0 | 1 | 0 | ||
3 | 3 | 0 | 1 | 0 | 0 | 1/4 | - | |
只需变换这一行即可【第一行 * (-4)加到第二行上】:
2 | 3 | 0 | 0 | 0 | ||||
基 | b | |||||||
2 | 2 | 1 | 0 | 1 | 0 | -1/2 | - | |
0 | 8 | 0 | 0 | -4 | 1 | 2 | 4 | |
3 | 3 | 0 | 1 | 0 | 0 | 1/4 | 12 | |
0 | 0 | -2 | 0 | 1/4 |
计算检验数:
存在正检验数,继续计算换入比率:
【分母为负数或0,比率用 - 标记】
确定入基变量和出基变量
2.4 第四次变换
更新,将主元列化为单位向量:
2 | 3 | 0 | 0 | 0 | ||||
基 | b | |||||||
2 | 2 | 1 | 0 | 1 | 0 | -1/2 | ||
0 | 8 | 0 | 0 | -4 | 1 | 2 | ||
3 | 3 | 0 | 1 | 0 | 0 | 1/4 | ||
变换步骤:
- 第二行 / 2
- 第二行 * 1/2 加到第一行
- 第二行 * (-1/4) 加到第三行
2 | 3 | 0 | 0 | 0 | ||||
基 | b | |||||||
2 | 4 | 1 | 0 | 0 | 1/4 | 0 | ||
0 | 4 | 0 | 0 | -2 | 1/2 | 1 | ||
3 | 2 | 0 | 1 | 1/2 | -1/8 | 0 | ||
计算检验数:
2 | 3 | 0 | 0 | 0 | ||||
基 | b | |||||||
2 | 4 | 1 | 0 | 0 | 1/4 | 0 | ||
0 | 4 | 0 | 0 | -2 | 1/2 | 1 | ||
3 | 2 | 0 | 1 | 1/2 | -1/8 | 0 | ||
0 | 0 | -3/2 | -1/8 | 0 |
所有检验数为负数,得到最优解
目标函数值为:
2.4 软件求解
3 参考文档
单纯形法的计算步骤
线性规划之单纯形法【超详解+图解】
运筹学课件 单纯形法的计算步骤
运筹学单纯形法计算步骤.pptx
单纯形法例题详解
欢迎关注个人公众账号【运筹优化与图像处理算法编程】及【学而立行】,一起学习,共同进步!
运筹优化学习15:求解线性规划的单纯形法【手把手计算,够你应付考试了,看不懂算我输】相关推荐
- 运筹优化(三)--线性规划之单纯形法
参考:http://www.cnblogs.com/ECJTUACM-873284962/ 1.作用 单纯形法是解决线性规划问题的一个有效的算法.线性规划就是在一组线性约束条件下,求解线性目标函数最优 ...
- 运筹优化学习21:Java调用Cplex实现求解Cuting Stock Porblem的列生成算法详解
目录 1 CSP问题与模型 1.1 问题描述 1.2 模型构建 2 列生成方法理论 2.1 引子 2.2 单纯形法到列生成 2.3 subproblem 2.3.1 对偶理论 2.3.2 影子价格 2 ...
- Python+cplex运筹优化学习笔记(三)-营养膳食选择
Python+cplex运筹优化学习笔记(三)-营养膳食选择 前言 首先呢,说明一下,本文只是自己在学习过程中运用到的例子,然后规整总结一下,随便写写自己所做的一些笔记.小白学习,有不对的地方还望大家 ...
- 运筹优化学习24:Gurobi902注册、下载、安装教程【保姆级手把手教学】
目录 1 Gurobi的注册与下载 1.1 注册 1.2 下载 2 获取权限文件 3 安装后查看自己的grbgetkey 介绍Gurobi的下载及安装全部流程: 注意安装过程中,请保持网络环境通畅,特 ...
- 运筹优化学习02:Lingo求解带容量约束的车辆路径问题(CVRP)
目录 1 基础知识储备 1.1 LINGO 具有9种逻辑运算符 1.2 lingo的窗口状态解析 1.3 @wrap函数解析 1.3.1 官方解释 1.3.2 示例代码及解释 2 CVRP问题描述与模 ...
- 运筹优化(四)--线性规划之对偶问题和灵敏度分析
线性规划的灵敏度分析,是指模型参数的变化,对优化结果的影响分析,分定性和定量两种. 定性分析 这里的定性分析,指参数变化,对结果的影响,比如不变,变坏或者变差. 松约束和紧约束 放宽优化模型中的约束条 ...
- 运筹优化(二)--线性规划概念及应用模型
一.解决问题 线性规划问题是在一组线性约束下,求线性目标函数的最大最小值的问题. 二.数学模型 1.一般数学模型 2.矩阵表示 其中c,x都是列向量,A,Aeq是一个合适的矩阵,b,beq是合适的列向 ...
- 运筹优化学习01:Lingo入门与错误列表分析
目录 1 Lingo编程基础 1.1基本思路 1.2 建模思路 1.3 注意事项 2 整数规划模型求解示例(不使用集合语言) 2.1 问题模型 2.2 lingo源代码: 2.3 结果展示 2.4 小 ...
- 运筹优化学习04:禁忌搜索算法的历史
禁忌搜索算法的提出与学者们孜孜不倦的研究精确算法的努力一道发展起来的,启发式算法和精确算法同时汲取了人工智能和运筹学的成果精华:作为回馈,一些设计巧妙的算法也反过来推动了人工智能和运筹学的领域相关问题 ...
最新文章
- ReportDB数据库存储选型分析
- iptables 基本命令使用举例
- Coursera课程Python for everyone:Quiz: REST, JSON, and APIs
- 数字图像处理与python实现 pdf_正版 数字图像处理与Python实现 高等院校计算机科学 人工智能 信号与信息处理 通信工程等专业的...
- windows 反弹shell_容器内反弹shell的51种姿势
- IXWebHosting主机如何退款中文图解教程
- ajax请求队列,使AJAX队列稍后解析请求
- iOS下载文件,保存路径. 防止加到iCloud备份
- 什么是死亡之 Ping 攻击?
- Cameralink协议
- python 网络编程模块_详细介绍Python网络编程模块
- 百度地图SDK无法定位到当前所在位置;一直显示天安门
- 网页如何快速设置成黑白模式
- MongoDB学习指导
- SpringBoot 限流实现
- 从零开始学习SFR-- 2.0
- 深度学习入门 | Self-attentionRNNLSTM
- 重磅!南京大学发布2023年博士研究生招生简章!
- Linux 动态库的编译和使用
- 【生物信息学】:基于Linux下的pgap安装及通用教程(持续更新中)
热门文章
- html div 不可编辑状态,HTML contenteditable属性
- 软件设计是怎样炼成的(7)——细节决定成败(详细设计)
- 前端之:JavaScript
- android 低功耗BLE蓝牙连接示例代码
- xUtil的基本用法
- 长租公寓风口消失,资本退潮后蛋壳赴美上市能否避免爆雷危机?
- [AV1] Reference Frame
- R语言时间序列数据可视化: 使用plot函数可视化单序列时间序列数据、多序列时间序列数据并指定不同时间序列的线条类型(lty)
- Built-in Functions - 内置函数 - print()
- 智慧农业共享农场菜园土地租赁认养小程序APP源码开发功能有哪些?