c语言实现单纯形实验报告,实验报告(单纯形法的matlab程序)

《实验报告(单纯形法的matlab程序)》由会员分享,可在线阅读,更多相关《实验报告(单纯形法的matlab程序)(9页珍藏版)》请在人人文库网上搜索。

1、实验一:线性规划单纯形算法一、实验目的通过实验熟悉单纯形法的原理,掌握Matlab循环语句的应用 ,提高编程的能力和技巧。二、算法对于一般的标准形式线性规划问题(求极小问题 ),首先给定一个初始基本可行解。设初始基为B,然后执行如下步骤:(1).解 BxB b ,求得 xBB 1b , 令 xN0, 计算目标函数值 f cB xB以 b1,2,., m)记B1的第个分量i (ibi(2). 计算单纯形乘子w ,wB CB,得到w CB B1,对于非基变量,计算判别数izi cicB B 1 pici ,令kmax zici ,R 为非基变量集合i R若判别数k0,则得到一个最优基本可行解,运算。

2、结束;否则,转到下一步(3).解 Byk pk ,得到 ykB 1 pk ;若 yk0 ,即 yk 的每个分量均非正数,则停止计算,问题不存在有限最优解,否则,进行步骤 (4).bminb0yryt ,且 ytk(4).确定下标 r,使rkt: ytk 0tkxBr 为离基变量。 xk 为进基变量,用 pk替换 pBr,得到新的基矩阵 B ,返回步骤( 1)。对于极大化问题, 可以给出完全类似的步骤, 只是确定进基变量的准则不同。对于极大化问题,应令zkckmin z jc j 四、计算框图开始。初始可行解 B令 xBB 1bb, xN0, fcB xB计算单纯形乘子 wcB B 1 ,计算判。

3、别数iwp jc j , jR(非基变量)令kmaxj , jRk0?是得到最优解否解方程 Bykpk ,得到 ykB 1 pk 。yk0?是不存在有限最优解否确定下标 r ,是brminbt, 且ytk0yrkytkt: ytk 0xk 为进基变量,用pk 替换 pBr ,得到新的基矩阵 B五、计算程序function x,f=zuiyouhua(A,b,c)-可编辑修改 -。size(A)=m,n;i=n+1:n+m;%基变量集合 ,后面 m 个松弛变量为初始基变量;N=1:n;% 初始非基变量 ;B=eye(m,m);xb=b;xn=zeros(m,1);f1=0;w=zeros(1,m。

4、);z=-c;% 初始判别数 ;flag=1;while(1)a,k=max(z);%x(k)为进基变量 ;if a0);-可编辑修改 -。a,r1=min(b1(t)./y(t)r=t(r1); % 基变量中第 r 个变量为退基变量 ;i(:,r)=kB(:,r)=A(:,k);% 换基,即将原基中第个变量换成第个变量;cb=c(:,i);% 新的价值系数 ;xb=inv(B)*b;b0=xb;x=zeros(1,n+m)x(:,i)=xbf=cb*xbz=cb*inv(B)*A-c;%可用 z=cb*(BA)-c,判别数 .endend六、数值实验及结果分析求解线性规划问题 :min3x1x2s.t.3x13x2x3304x14x2x4162x1x212xi0,i1,2,3,4在工作区输入 :A=3,3,1,0;-4,-4,0,1;2,-1,0,0;b=30,16,12;c=-3,1,0,0;-可编辑修改 -。x,f=zuiyouhua(A,b,c)x =7.33332.666700056.00000f =-19.3333检验结果正确-可编辑修改 -。THANKS !致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考-可编辑修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值