欢迎来到天天文库
浏览记录
ID:316414
大小:323.50 KB
页数:30页
时间:2017-07-22
《单纯形算法的实现 运筹学毕业论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、目录1算法分析1.1单纯形算法(1)2单纯形算法的实现2.1输入模块(8)2.2显示线性规划数学模型模块(10)2.3标准化模块(12)2.4迭代计算模块(15)2.5显示详细迭代过程模块(18)4软件测试4.1单纯形算法(25)参考文献(29)291算法分析1.1单纯形算法1.1.1单纯形法的基本思路利用求线性规划问题基本可行解(极点)的方法求解较大规模的问题是不可行的。有选择地取基本可行解,即从可行域的一个极点出发,沿着可行域的边界移动到另一个相邻的极点,要求新极点的目标函数值不比原目标函数值差。在线性规划的可行域中先找出一个可行解,检
2、验它是否为最优解,如果是最优解,计算停止;如果不是最优解,那么可以判断线性规划无有限最优解,或者根据一定步骤得出使目标函数值接近最优值的另一个基本可行解。由于基本可行解的个数有限,所以总可以通过有限次迭代,得到线性规划的最优基本可行解或判定线性规划无有限最优解。1.1.2单纯形法的基本步骤描述第1步:求初始基可行解,列出初始单纯形表。对非标准型的线性规划问题首先要化成标准形式。由于总可以设法使约束方程的系数矩阵中包含一个单位矩阵,以此作为基求出问题的一个初始基可行解。为检验一个基可行解是否最优,需要将其目标函数值与相邻基可行解的目标函数值进
3、行比较。为了书写规范和便于计算,对单纯形法的计算设计了一种专门表格,称为单纯形表(见表1-1)。迭代计算中每找出一个新的基可行解时,就重画一张单纯形表。含初始基可行解的单纯形表称初始单纯形表,含最优解的单纯形表称最终单纯形表。第2步:最优性检验。29表1-1单纯形表cjc1…cm…cj…cnCB基bx1…xm…xj…xnc1c2…cmx1x2…xmb1b2…bm10…0…………00…1………a1ja2j…amj…………a1na2n…amncj-zj0…0……如表中所有检验数cj-zj≦0,且基变量中不含有人工变量时,表中的基可行解即为最优解
4、,计算结束。当表中存在cj-zj>0时,如有Pj≦0,则问题为无界解,计算结束;否则转下一步。第3步:从一个基可行解转换到相邻的目标函数值更大的基可行解,列出新的单纯形表。1.确定换入基的变量。只要有检验数δj>0,对应的变量xj就可作为进基的变量,当有一个以上检验数大于零时,一般从中找出最大一个δk,其对应的变量xk作为进基变量。2.确定出基的变量。确定xr是出基变量,ark为主元。3.用进基变量xk替换出基变量xr,得到一个新的基。对应这个基可以找出一个新的基可行解,并相应地可以画出一个新的单纯形表(表1-2)。(1)把第r行乘以之后的
5、结果填入新表的第r行;对于行,把第r行乘以之后与原表中第i行;在列中的r行位置填入,其余行不变;在29列中用代替r行原来的值,其余的行与原表中相同。(2)然后用的价值系数减去列的各元素与列各对应元素的乘积,把计算结果填入列的最后一行,得到检验数,计算并填入的值(以零减去列各元素与b列各元素的乘积)[1]。第4步:重复上述过程,就可以得到最优解或判断出无有限最优解。表1-2初始单纯形表cjc1…cr…cm…cj…ck…CB基bx1…xr…xm…xj…xk…c1…ck…cmx1…xk…xm……1…0…0…………0…0…1…………0…1…0cj-
6、zj0……0……0…1.1.3单纯形算法求解线性规划的范例在实践中,根据实际问题的要求,常常可以建立线性规划问题的数学模型。下面这个范例,就是一个用单纯形算法求解的线性规划的范例。美佳公司计划制造甲,乙两种家电产品。但因财力、物力等原因,资源有限,已知制造一个家电产品分别占用的设备A,B的台时、调试时间、调试工序及每天可用于这两种家电的能力、各售出一件的获利情况,如表1-3所示。问该公司应制造两种家电各多少件,使获取的利润为最大。29表1-3产品有关数据表项目甲乙每天可用能力设备A(h)0515设备B(h)6224调试工序(h)115利润(
7、元)21解:根据题意构建下列线性规划模型:目标函数约束条件用单纯形法求解线性规划问题,标准化后得:取初始基本可行解(单位矩阵)。初始化单纯形表并计算的过程如表1-4所示。在最优单纯形表中,非基变量的检验数均为负数,于是得到最优解,最优目标值元(表中-17/2为-Z的值)。为了能够更清晰地看清单纯形算法的解题思路以及单纯形算法表格计算过程中表格内各量的关系,把例中的3次迭代计算过程重述如下:第一次迭代:取初始可行基,那么为基变量,29为非基变量。将基变量和目标函数用非基变量表示:第二次迭代:当前的可行基,那么为基变量,为非基变量。将基变量和目
8、标函数用非基变量表示:第三次迭代:当前的可行基,那么为基变量,为非基变量。将基变量和目标函数用非基变量表示:在目标函数中,非基变量的检验数不是正数,于是得到最优解,最优目标值。2
此文档下载收益归作者所有