线性规划之单纯形法
首先什么是线性规划
就是满足一些约束条件,求某个函数的最大值
如何解决可使用单纯形法.
线性规划的可行域
满足线性规划问题约束条件的所有点组成的集合就是线性规划的可行域.
若可行有界,最优解肯定在可行域的顶点上
显然的,考虑在一个限制下的答案,肯定是一个单调的函数,那么就是在边缘去到,而把所有的限制都整合起来,最后得到的可行域,按导数的思路来说,确实是在顶点取到最优解
单纯形法就是通过设置不同的基向量,通过矩阵的线性变换,求得基可行解(可行域的顶点),并判断该解是否最优,不是最优则设置另一组基向量,直至找到最优解(现在不是很清楚是怎么求解的)
线性规划的标准形式
写成矩阵形式
就是系数和乘起来
基本形式为
目标函数取
约束是等式
不能为负数
普通规划转标准规划
取,那么就把统计答案符号改变,那就是目前最大值,取负号变成最小值
不等式化成等式
存在无限制变量
就可以化标准形了
几何意义
标准形中,有个约束条件(不包括非负约束),个决策变量,且,这就保证了,肯定解不出来
那么取出个基变量
为了保证能代替全部向量,所以选出来的向量必须要可以被没选出来的向量表示出来
也不是这个意思,如果你不这么选,就可能解不出来
而且保证有解的话还不能让系数为倍数关系
而且非基向量,那么就让非基向量
(被非基向量表示)
继续线性规划
举例
选择为基向量
另非基向量为,方可解出
那么这个求出来的点就是两个可行域的并的定点
通过不断变换基向量可找到最优顶点
如何判断是否最优
最优解的所有都应该满足
我就说让非基向量为的意义是什么,这样表示出来的是直线的边界
那么如果非基向量不再是非基向量,那么就不是,也就意味着还能更大,那么必然不是最优解
重新选择基变量
将的最大的的非基向量变为基向量.
被替换向量
我们要逐渐得到更大的值,我们现在有了需要加进去的向量,那么考虑让新加进去的向量发挥更大作用,那么就得让影响最大的基向量成为非基向量.
感觉就没啥了吧,去写代码练一练。
点击查看代码
__EOF__

本文链接:https://www.cnblogs.com/Eternal-Battle/p/15856834.html
关于博主:这个世界除了你,都知道我喜欢你
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix