使用单纯形法,scipy库和拉格朗日乘子法求解线性规划最大值和最优解问题

本文介绍了如何使用单纯形法和scipy库求解线性规划问题,包括求解步骤、求解例题、代码实现及结果验证。通过对比,展示了两种方法在求解线性规划最大值和最优解上的应用。
摘要由CSDN通过智能技术生成

一、单纯形法

1.基本思想

单纯形法的基本思想是:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。因基本可行解的个数有限,故经有限次转换必能得出问题的最优解。如果问题无最优解也可用此法判别。 根据单纯形法的原理,在线性规划问题中,决策变量(控制变量)x1,x2,…x n的值称为一个解,满足所有的约束条件的解称为可行解。使目标函数达到最大值(或最小值)的可行解称为最优解。这样,一个最优解能在整个由约束条件所确定的可行区域内使目标函数达到最大值(或最小值)。求解线性规划问题的目的就是要找出最优解。

2.单纯形法的解题步骤

1)把线性规划问题的约束方程组表达成典范型方程组,找出基本可行解作为初始基本可行解。
2)若基本可行解不存在,即约束条件有矛盾,则问题无解。
3)若基本可行解存在,从初始基本可行解作为起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标函数值更优的另一基本可行解
4)按步骤3进行迭代,直到对应检验数满足最优性条件(这时目标函数值不能再改善),即得到问题的最优解。
5)若迭代过程中发现问题的目标函数值无界,则终止迭代。

二、求解例题

1、求解以下约束条件的线性规划的最大值和最优解

在这里插入图片描述

2.求解步骤

1)线性规范-标准化
以上题目的规范化如下所示:
引入松弛变量:s1,s2,s3
在这里插入图片描述
2)提取系数,填入表格
初始单纯性表的各个区域属性
在这里插入图片描述
区域解答结果:
在这里插入图片描述
在这里插入图片描述
s1,s2,s3作为基
3)求解
从初始基本可行解X0迭代出另一个基本可行解X1,并判断X1是否
为最优解。
在这里插入图片描述
总结一下步骤:
第一步,从原来的非基变量中选一个(称为进基变量)使其成为基本变量;
第二步,从原来的基本变量中选一个(称为离基变量)使其成为新的非基变量,最终求解即可得到结果。

3.求解结果验证

1)通过手工推导,上面的最优解为Z=27500
2)最优解为
X1=50
X2=250
S1=50
s2=s3=0

三、通过单纯形法求解线性规划最优解和最大值

1.新建txt文档,填入线性回归分析标准化模型

题目中的线性回归分析的标准化模型如下:
在这里插入图片描述

2.实现代码

1)导入需要的库

import numpy as np

2)定义列出线性回归系数模型函数

def pivot(d,bn):
    l = list(d[0][:-2])
    jnum = l.index(max(l)) #转入编号
    m = []
    for i 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值