单纯形法的matlab实现(极小化问题).docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告 实验题目 : 单纯形法的 matlab 实现 学生姓名 : 学 号: 实验时间 : 2013-4-15 一.实验名称 : 单纯形法的 MATLAB 实现 二.实验目的及要求 : 1. 了解单纯形算法的原理及其 matlab 实现 . 2. 运用 MATLAB 编辑单纯形法程序解决线性规划的极小化问题 , 求出最优解及目标函 数值 . 三.实验内容 : 单纯形方法原理 : 单纯形方法的基本思想 , 是从一个基本可行解出发 , 求一个使目标函数值有所改善的基本可行解 ; 通过不断改进基本可行解 , 力图达到最优基本可行解 . 对问题 min f def cx s.t. Ax b, x 0. 其中 A 是一个 m× n 矩阵 , 且秩为 m, c 为 n 维行向量 , x 为 n 维列向量 , b 为 m 维非 负列向量 . 符号“ def ”表示右端的表达式是左端的定义式 , 即目标函数 f 的具体形式就是 cx . 记 A ( p1, p2 ,..., pn ) 令 A =(B,N), B 为基矩阵 , N 为非基矩阵 , 设 x( 0) B -1b 0 是基本可行解 , 在 x(0 ) 处的目标函数值 f 0 cx ( 0) (cB ,cN ) B-1b -1 cB B b , 0 其中 cB 是 c 中与基变量对应的分量组成的 m 维行向量 ; cN 是 c 中与非基变量对应的分量组 成的 n-m 维行向量 . 现由基本可行解 x(0) 出发求解一个改进的基本可行解. 设 x xB 是任一可行解 , 则由 Ax b 得到 xN xB B-1b B-1N xN , 在点 x 处的目标函数值 f cx (cB , cN ) xB f 0 (z j c j ) x j , xN j R 其中 R 是非基变量下标集 , z j cB B-1 p j . 单纯形方法计算步骤 : 首先给定一个初始基本可行解 , 设初始基为 B, 然后执行下列主要步骤 : )解 BxB b , 求得 xB B 1b _ (1 b , 令 xN 0 , 计算目标函数值 f cB xB . (2 )求单纯形乘子 w , 解 wB c B , 得到 w cB B 1 . 对于所有非基变量 , 计算判别数 z j - c j wj p j cj . 令 zk - ck max{z j - cj } j R . 若 zk - ck 0 , 则对于所有非基变量 z j - cj 0 , 对应基变量的判别数总是为零 , 因此 停止计算 , 现行基本可行解是最优解 . 否则 , 进行下一步 . (3 )解 Byk pk , 得到 yk B 1 pk , 若 yk 0 , 即 yk 的每个分量均非正数 , 则停止计算 , 问题不存在有限最优解 . 否则进行步骤( 4) . (4)确定下标 r, 使 x k = br min bi yik 0 , yrk yik xB r 为离基变量 , x k 为进基变量 . 用 pk 替换 pB r , 得到新的基矩阵 B, 返回步骤( 1) . 单纯形方法表格形式 : 表 3.1.1 f xB xN 右 端 xB I m B -1N B-1b 0 f cB B-1 N - cN cB B -1b 1 0 表 3.1.2( 3.1.1 略去左端列后的详表) xB 1 xBr xBm x j xk xB 1 1 0 0 y1 j y1k _ b1 xB r 0 1 0 yrj yrk _ br xB m 0 0 1 ymj ymk _ bm f 0 0 0 zj - cj zk - ck cB b 假设 b B-1b 0 , 由上表得 xB b, xN 0 . 若 cB B-1 N - cN 0 , 则现行基本可行解是最优解 . 若 cB B -1N - cN 0, 则用主元消去法求改进的基本可行解. 先 根 据 z k - ck max{z j - cj } br bi yik 0 找主行 , 主元为 yrk , 然后 j R 选择主列 , 再根据 min yrk yik 进行主元消去 , 得到新单纯形表 . 表的最后一行是判别数和函数目标值 . 四.实验流程图及其 MATLAB 实现 : 流程图 : 开始 初始基本可行解 B _ 解 BxB b , 求得 xB B 1b b , 令 xN 0 , 计算目标函数值 f cB xB 求单纯形乘子 w , 解 wB cB , 得到 w cB B 1 . 对于所有非基 变量 , 计算判别数 zj - c j wj pj c j .

文档评论(0)

171****9235 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档