单纯形法MATLAB程序(线性与非线性规划大作业).pdf

单纯形法MATLAB程序(线性与非线性规划大作业).pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单纯形法程序整理.txt %% 单纯形法 %% 主程序 %————————————————% %% 单纯形法 % 求解线性规划问题 % 编程:范中允 %% 标准矩阵A % 输入标准形式的约束条件系数矩阵A、右端列向量b、约束条件未知数对应目标函数的系数 c; % 有需要可以指定迭代的初始单位阵(一组基本可行解); A=[1,1,2,1,0; 1,4,-1,0,1; ]; c=[-2,-1,1,0,0]; b=[6;4]; Table=[A,b;c,0];%初始表 [h,l]=size(A); %% 给出初始基本主元 B=[1,1;2,4]; BK=B; TableK=Table; %% 迭代 for j=1:100 [TableK,BK]=SubFc_DieDai(TableK,BK,h,l); t=0; disp([第,num2str(j),次迭代]); for i=1:l if(TableK(h+1,i)=t) t=TableK(h+1,i);%记录判别数最小值 s=i;%记录下标 end end if(t==0) disp(迭代结束); break; end end if(j==100) sprintf(迭代100次未收敛); end disp(最终的标准型表:); disp(TableK); disp(最优解的目标函数:); disp(-TableK(h+1,l+1)); disp(基本可行解下标:); disp(BK(:,2)); disp(基本可行解系数:); disp(TableK(1:h,l+1)); %————————————————% %% 子程序-初等行变换 function [ A ] = SubFc_ChuDengHangBianHuan( A,B ) %初等行变换 % 将矩阵指定的主元对应列,由初等行变换,化为主元为1其他元为0 % A为需要变换的矩阵,B为用于指定主元位置的矩 [hA,lA]=size(A);%测算A的行、列数 第 1 页 单纯形法程序整理.txt [hB,lB]=size(B);%测算B的行、列数 for j=1:hB if(A(B(j,1),B(j,2))~=1)%如果主元不为1,将对应行除以主元化为1 A(B(j,1),:)=A(B(j,1),:)/A(B(j,1),B(j,2)); end for i=1:hA%将其他元化为零 if(i==B(j,1)) continue; end A(i,:)=A(i,:)-A(B(j,1),:)*A(i,B(j,2)); end end end %————————————————% %% 子程序-选主元 function [r,s]=SubFc_XuanZhuYuan(TableK,h,l) %选主元素 % 选出表矩阵TableK中的主元素 %% 选列主元 t=0; for i=1:l if(TableK(h+1,i)=t) t=TableK(h+1,i);%记录判别数最小值 s=i;%记录下标 end end if(t==0) error(判别数全为正); end %% 选行主元 for i=1:h%检查元素是否为负,并赋予t初值 if(TableK(i,s)0) t=TableK(i,l+1)/TableK(i,s); break; end if(i==h)%若元素全为负,则报错 error(主列元素全为非正,规划问题有无界解!); end end %k=1; for i=1:h %若未知数出现负值,则是初始迭代标准性表产生的,应更换初始主元; if(TableK(i,l+1)0) error(b向量出现负值,更换初始主元);

文档评论(0)

annylsq + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档