matlab做单纯形,单纯形法的matlab实现

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

1、大连民族学院数 学 实 验 报 告课程: 最优化方法 实验题目: 单纯形法的matlab实现 系别: 理学院 专业: 信息与计算科学 姓名: 班级: 信息102班 指导教师: 葛仁东 完成学期: 2013 年 9 月 2 日实验目的:1. 通过本次实验,进一步的了解单纯形法的基本原理;2. 掌握matlab的基本操作,学习matlab循环语句的应用,学习编写matlab程序,提高编程能力和技巧;3. 学习用已学的知识解决实际问题,将理论应用于实际。实验内容:(问题、数学模型、要求、关键词)问题:某工厂要制作100套钢筋架,每套需要2.9m、2.1m和1.5m的钢筋各一根,这些钢筋均长7.4m的。

2、原材料切割而成,问如何切割原材料才能使原材料的使用最节省?数学模型:线性规划的单纯形法要求:按问题解出优质的方案,基于单纯形法的原理,利用matlab编程进行求解。关键字: 单纯形法 线性规划 matlab软件实验方法和步骤(包括数值公式、算法步骤、程序):考察标准形式的线性规划问题:设为一个基本可行解,单纯形方法首先检验它的最优性。如果它不是最优的,确定与该顶点相连的一条使目标函数下降的边;接下来确定沿这个边移动多远可以到达另一个更优的相邻点,也就是得出一个新的基本可行解。算法步骤:步骤1:给定一个初始基本可行解,记迭代次数; 步骤 2:计算单纯形乘子和简约价值系数向量;步骤 3:最优性检验。

3、,计算,如果,则为最优解,停止迭代;否则有,选为入基变量;步骤4:确定出基变量,计算,如果对所有,有,则问题无有界的最优解,停止迭代;否则确定出基变量指标;步骤5:交换的列与的列得到新的基矩阵和,计算新的基本可行解,置后转步骤2;在上述算法中,当存在不止一个简约价值系数时,选取最负的的指标为,并以作为入基变量。Matlab计算程序:Functionx,f=zuiyouhua(A,b,c)Size(A)=m,n;i=n+1:n+m;N=1:n;B=eye(m,m);xb=b;xn=zeros(m,1);f1=0;w=zeros(1,m);z=-c;flag=1;while(1)a,k=max(z。

4、);If a0);a,rl=min(bl(t)/y(t)r=t(rl);i(:,k)=kB(:,k)=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;endend实验数据和分析:根据题意,可以列出以下8种可能的切割方案,其目标是使总剩余的废料最小。设分别代表采用切割方案的套数,表示总剩余的废料,则上述问题的线性规划如下:在matlab的输入区域输入:A=2,1,1,1,0,0,0,0;0,2,1,0,3,2,1,0;1,0,1,3,0,2,3,4;b=100,100,100;c=0。

5、.1,0.3,0.9,0,1.1,0.2,0.8,1.4;x,f=zuiyouhua(A,b,c)Matlab输出内容:x=10 50 0 30 0 0 0 0 f=-16结果分析:可以看出只需要90根原料,其中,方案1需要10根,方案2需要50根,方案4需要30根,即可达到要求,此时总剩余废料最小,为16m。附:方案2.9m2.1m1.5m合计余料12017.30.121207.10.331116.50.941037.4050306.31.160227.20.270136.60.8800461.4实验的启示:通过本次实验加深了我对单纯形法的进一步理解,利用matlab程序求解线性规划问题,在生活中有不少问题都是线性规划问题。例如本次实验中的钢材下料问题,学习用已学习的知识解决实际问题是我们的最终目标。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值