(完整版)运筹学实验报告

上传人:拖*** 文档编号:292062988 上传时间:2022-05-13 格式:DOCX 页数:4 大小:16.43KB
返回 下载 相关 举报
(完整版)运筹学实验报告_第1页
第1页 / 共4页
(完整版)运筹学实验报告_第2页
第2页 / 共4页
(完整版)运筹学实验报告_第3页
第3页 / 共4页
(完整版)运筹学实验报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《(完整版)运筹学实验报告》由会员分享,可在线阅读,更多相关《(完整版)运筹学实验报告(4页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑(完整版)运筹学实验报告 运筹学测验报告 班级:数电四班 姓名:刘文搏 学号: 一、 测验目的 运用MATLAB程序设计语言完成单纯性算法求解线性规划问题。 二、 测验内容 编写一个MATLAB的函数文件:linp.m用于求解标准形的线性规划问题: min f=c*x subject to :A*x=b ; x=0; 1、 函数根本调用形式:x,minf,optmatrx,flag=linp(A,b,c) 2、 参数介绍: A:线性规划问题的约束A*x=b且x=0中变量的系数组成的矩阵,是一个m*n的矩阵。 c :线性规划问题的目标函数f=c*x中各变量的系

2、数向量,是一个n维的行 向量。 b :线性规划问题的约束A*x=b且x=0中的常数向量,是一个m维的列 向量。 x :输出线性规划问题的最优解,当线性规划问题没有可行解或有可行解无 最优解时x=. minf :输出线性规划问题的最优值,当线性规划问题没有可行解时minf=, 当线性规划问题有可行解无最优解时minf=-Inf。 flag :线性规划问题的求解结果标志值,当线性规划问题有最优解 时flag=1, 当线性规划问题有可行解无最优解时flag=0,当线性规划问题没有可行解时flag=-1. cpt:输出最优解对应的单纯性表,当线性规划问题没有可行解或有可 行解无最优解时cpt=. 三、

3、 Linp函数 %此函数是使用两阶段算法求解线性规划问题 function x,minf,flag,cpt=linp(A,b,c); for i=1:p %判断b是否0); while isempty(dyl) firstnum=dyl(1); dll=dcxb(3:m+2,firstnum); youduanb=dcxb(3:m+2,m+n+1); look=find(dll0); if isempty(look) dcxb(2,firstnum)=0; else min=Inf; for i=3:m+2 if dll(i-2)0 line1=i; end end dcxb(line1,:)

4、=dcxb(line1,:)/dcxb(line1,firstnum); for i=1:m+2 if i=line1 dcxb(i,:)=dcxb(i,:)+(-1*dcxb(i,firstnum)*dcxb(line1,:); end end jxl(line1-2)=firstnum; end dyl=find(dcxb(2,1:m+n)0); dcxb end if dcxb(2,m+n+1)0 fprintf(g0,此问题没有可行解); x=; minf=inf; cpt=; flag=-1; return end look1=find(jxln); if dcxb(2,m+n+1)

5、=0 %等于0,判断基变量中是否有人工变量; if isempty(look1)%存在时举行处理 while isempty(look1) line2=look1(1)+2; chdy0=find(dcxb(line2,1:n)=0); if isempty(chdy0)%存在人工变量都为零的那一行,去掉该行 dcxb(line2,:)=; look1(1)=; jxl(line2-2)=; else%否那么举行换基迭代 secondnum=chdy0(1); dcxb(line2,:)=dcxb(line2,:)/dcxb(line2,secondnum); jxl(line2-2)=secondnum; for i=1:m+2 if i=line2 dcxb(i,:)=dcxb(i,:)+(-1*dcxb(i,secondnum)*dcxb(line2,:); end; end look1(1)=; end; 4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号