实 验 报 告 实验题目: 单纯形法的 matlab 实现 学生姓名: 学 号: 实验时间: 2013-4-15 一.实验名称: 单纯形法的MATLAB 实现 二.实验目的及要求: 1
了解单纯形算法的原理及其matlab 实现
运用MATLAB 编辑单纯形法程序解决线性规划的极小化问题, 求出最优解及目标函数值
三.实验内容: 1
单纯形方法原理: 单纯形方法的基本思想, 是从一个基本可行解出发, 求一个使目标函数值有所改善的基本可行解; 通过不断改进基本可行解, 力图达到最优基本可行解
0 ,A s
def min xbxcxf 其中A 是一个m×n 矩阵, 且秩为 m, c 为 n 维行向量, x为 n 维列向量, b 为 m 维非负列向量
符号“def ”表示右端的表达式是左端的定义式, 即目标函数f 的具体形式就是cx
,,(n21pppA 令 A =(B,N), B 为基矩阵, N 为非基矩阵, 设 0B 1-)0(bx 是基本可行解, 在)0(x处的目标函数值 bcbcccxf1-B1-NB)0(0B0B),(, 其中Bc 是c 中与基变量对应的分量组成的m 维行向量; Nc 是c 中与非基变量对应的分量组成的n-m 维行向量
现由基本可行解)0(x出发求解一个改进的基本可行解
设NBxxx是任一可行解, 则由bAx得到 N1-1-BNBBxbx, 在点 x处的目标函数值 Rjjjjfxxcccxfx)cz(),(0NBNB, 其中R 是非基变量下标集, jjpc1-BBz
单纯形方法计算步骤: 首先给定一个初始基本可行解, 设初始基为 B, 然后执行下列主要步骤: (1)解 bxB B, 求得_1bbBxB