线性规划单纯形法matlab解法

时间:2019-05-15 11:23:10下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《线性规划单纯形法matlab解法》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《线性规划单纯形法matlab解法》。

第一篇:线性规划单纯形法matlab解法

线性规划单纯形法matlab解法

%单纯形法matlab程序-ssimplex % 求解标准型线性规划:max c*x;s.t.A*x=b;x>=0 % 本函数中的A是单纯初始表,包括:最后一行是初始的检验数,最后一列是资源向量b % N是初始的基变量的下标

% 输出变量sol是最优解, 其中松弛变量(或剩余变量)可能不为0 % 输出变量val是最优目标值,kk是迭代次数 % 例:max 2*x1+3*x2 % s.t.x1+2*x2<=8 % 4*x1<=16 % 4*x2<=12 % x1,x2>=0 % 加入松驰变量,化为标准型,得到 % A=[1 2 1 0 0 8;% 4 0 0 1 0 16;% 0 4 0 0 1 12;% 2 3 0 0 0 0];% N=[3 4 5];% [sol,val,kk]=ssimplex(A,N)% 然后执行 [sol,val,kk]=ssimplex(A,N)就可以了。function [sol,val,kk]=ssimplex(A,N)[mA,nA]=size(A);kk=0;% 迭代次数 flag=1;while flag kk=kk+1;if A(mA,:)<=0 % 已找到最优解 flag=0;sol=zeros(1,nA-1);for i=1:mA-1 sol(N(i))=A(i,nA);end val=-A(mA,nA);else for i=1:nA-1 if A(mA,i)>0&A(1:mA-1,i)<=0 % 问题有无界解 disp('have infinite solution!');flag=0;break;end end if flag % 还不是最优表,进行转轴运算 temp=0;for i=1:nA-1 if A(mA,i)>temp temp=A(mA,i);inb=i;% 进基变量的下标 end end sita=zeros(1,mA-1);for i=1:mA-1 if A(i,inb)>0 sita(i)=A(i,nA)/A(i,inb);end end temp=inf;for i=1:mA-1 if sita(i)>0&sita(i)

A(outb,:)=A(outb,:)/A(outb,inb);for i=1:mA if i~=outb A(i,:)=A(i,:)-A(outb,:)*A(i,inb);End End End End end

第二篇:单纯形法matlab程序

算法实现与分析

算法1.单纯形法 具体算例:

minz=−3x1+x2+2x3 3x1+2x2−3x3=6 x1−2x2+x3+x5=4

x1,x2,x3≥0标准化后:

min z=−3x1+x2+2x3+Mx4+Mx5

3x1+2x2−3x3+x4=6 x1−2x2+x3+x5=4

x1,x2,x3,x4,x5≥0用单纯形法求解,程序如下: clear clc

M=1000000;

A=[3,2,-3,1,0;1,-2,1,0,1];%系数矩阵 C=[-3,1,2,M,M,0];%价值矩阵 B=[6;4];Xt=[4 5];

for i=1:length(C)-1 D=0;

for j=1:length(Xt)

D=D+A(j,i)*C(Xt(j));

end

xi(i)=C(i)-D;end s=[];

for i=1:length(xi)

if xi(i)<0 s=[s,i];

end end

f=length(s);h=1;

while(f)

for k=1:length(s)j=1;A x=[];

for i=1:length(Xt)

if A(i,s(k))>0 x(j)=i;j=j+1;

end end x

if(length(x)+1==1)break;end y=1 x

for i=1:length(x)

if B(x(i))/A(x(i),s(k))

end end y=x(y);end

y1=Xt(y);%»»³ö±äÁ¿ s k

aa=A(y,s(k))%s(k)Ϊ»»Èë±äÁ¿ A(y,:)=A(y,:)./aa;B(y,:)=B(y,:)./aa;z=[];

for i=1:length(Xt)z=[z,i];end

z z(y)=[];z Xt

for i=1:length(z);yz=-A(z(i),s(k))

A(z(i),:)=A(z(i),:)+A(y,:).*yz B(z(i))B(y)yz

B(z(i))=B(z(i))+B(y).*yz end

for i=1:length(Xt)

if Xt(i)==y1 Xt(i)=s(k);break

end end Xt

disp('ת»»ºó')A=A B=B AB=[A,B];

for i=1:length(C)D=0;

for j=1:length(Xt)D=D+AB(j,i)*C(Xt(j));

end

xi(i)=C(i)-D;

end xi s=[];

for i=1:length(xi)-1

if xi(i)<0 s=[s,i];

end

end s

vpa([A,B;C]);f=length(s);h=h+1;

if h==5

break

end end

-xi(length(xi))

第三篇:改进单纯形法matlab程序

clear clc

X=[1 2 3 4 5];A=[ 1 2 1 0 0;4 0 0 1 0;0 4 0 0 1];C=[2 3 0 0 0 ];b=[8;16;12];t=[3 4 5];B0=A(:,t);while 1

CB0=C(:,t);XN01=X;

for i=1:length(t);

for j=1:length(X);

if XN01(j)==t(i)

XN01(j)=0;

end

end

end j=1;

for i=1:length(X);

if XN01(i)~=0

XN0(j)=XN01(i);

j=j+1;

end

end

for j=1:length(XN0);

CN0(j)=C(XN0(j));

end N0=[];

for i=1:length(XN0);

N0=[N0,A(:,XN0(i))];

end

xiN0=CN0-CB0*B0*N0;j=1;z=[];

for i=1:length(xiN0)

if xiN0(i)>0

z(j)=i;

j=j+1;

end

end

if length(z)+1==1;

break;

end n=1;

for i=1:length(z)

if z(i)>z(n)

n=i;

end

end

k=XN0(z(n));%换入变量 B=B0*b;

P=B0*A(:,k);j=1;

for i=1:length(P)

if P(i)>0

x(j)=i;

j=j+1;

end

end y=1;

for i=1:length(x)

if B(x(y))/P(x(y))>B(x(i))/P(x(i))

y=i;

end

end

y1=x(y);

y=t(y1);%换出变量

for i=1:length(t)

if t(i)==y

m=i;

break;

end

end

t(m)=k;

P2=B0*A(:,k);q=P2(y1);P2(y1)=-1;P2=-P2./q;

E=[1 0 0;0 1 0;0 0 1];E(:,m)=P2;B0=E*B0;end

CB0*B0*b

第四篇:运筹学单纯形法matlab程序

function [xx,fm]=myprgmh(m,n,A,b,c)B0=A(:,1:m);cb=c(:,1:m);xx=1:n;sgm=c-cb*B0^-1*A;h=-1;sta=ones(m,1);for i=m+1:n

if sgm(i)>0

h=1;

end end

while h>0

[msg,mk]=max(sgm);

for i=1:m

sta(i)=b(i)/A(i,mk);

end

[mst,mr]=min(sta);

zy=A(mr,mk);

for i=1:m

if i==mr

for j=1:n

A(i,j)=A(i,j)/zy;

end

b(i)=b(i)/zy;

end

end

for i=1:m

if i~=mr

for j=1:n

A(i,j)=A(i,j)-A(i,mk)*A(mr,j);

end

b(i)=b(i)-A(i,mk)*b(mr);

end

end

B1=A(:,1:m);

cb(mr)=c(mk);

xx(mr)=mk;

sgm=c-cb*B1*A;

for i=m+1:n

if sgm(i)>0

h=1;

end

end

end fm=c*xx;

第五篇:习题答案选01_线性规划和单纯形法

运筹学教程(胡运权主编,清华版)部分习题答案(第一章)

1.5 记可行集4个顶点分别为O:(0,0),A:(1.6,0),B:(1,1.5),C:(0,2.25)当c=0,d=0时,四边形OABC中的点都是最优解 当c=0,d>0时,顶点C是最优解

当c=0,d<0时,线段OA上的点都是最优解 当c>0,d/c<2/5时,顶点A是最优解

当c>0,d/c=2/5时,线段AB上的点都是最优解 当c>0,2/50,d/c=4/3时,线段BC上的点都是最优解 当c>0,d/c>4/3时,顶点C是最优解 当c<0,d<0时,顶点O是最优解

当c<0,d=0时,线段OC上的点都是最优解 当c<0,d>0时,顶点C是最优解

1.8 a=3,b=2,c=4,d=-2,e=2,f=3,g=1,h=0,i=5,j=5,k=-3/2,l=0 1.15 设i=1,2,3分别表示前、中、后三舱,j=1,2,3分别表示A、B、C三种商品 设第i舱装载第j中商品的件数为xij max s.t.z = 100(x11+x21+x31)+ 700(x12+x22+x32)+ 600(x13+x23+x33)8x11+6x12+5x13  2000 8x21+6x22+5x23  3000 8x31+6x32+5x33  1500 10x11+5x12+7x13  4000 10x21+5x22+7x23  5400 10x31+5x32+7x33  1500 x11+x21+x31  600 x12+x22+x32  1000 x13+x23+x33  800 8x11+6x12+5x13  1.15(8x21+6x22+5x23)8x21+6x22+5x23  1.15(8x11+6x12+5x13)8x31+6x32+5x33  1.15(8x21+6x22+5x23)8x21+6x22+5x23  1.15(8x31+6x32+5x33)8x11+6x12+5x13  1.1(8x31+6x32+5x33)8x31+6x32+5x33  1.1(8x11+6x12+5x13)xij  0, i=1,2,3, j=1,2,3 1.16 设xi和yi分别为第i周正常工作时间内用于生产食品Ⅰ和Ⅱ的工人数; 设si和ti分别为第i周加班时间内为食品Ⅰ和Ⅱ加工的工时; 设wi为从第i周开始抽出来培训新工人的熟练工人数; 设ni为从第i周开始接受培训的新工人数;

设ui和vi分别为第i周于生产食品Ⅰ和Ⅱ的新工人数; 设fi和gi分别为第i周末未能按期交货的食品Ⅰ和Ⅱ的数量; 设ki和li分别为第i周末剩余的食品Ⅰ和Ⅱ的数量;

设qi和ri分别为第i周内对食品Ⅰ和Ⅱ的需求量(如表,已知)。

min z = 360[(x1 + y1 + w1)+(x2 + y2 + w1 + w2)+...+(x7 + y7 + w6 + w7)+(x8 + y8 + w7)]

+ 120[(n1)+(n1 + n2)+...+(n6 + n7)] + 240[(u3 + v3)+(u4 + v4)+...+(u8 + v8)] + 12[(s1 + t1)+(s2 + t2)+...+(s8 + t8)] + 0.5(f1 + f2 +...+ f8)+ 0.8(g1 + g2 +...+ g8)x1 + y1 + w1 = 50 x2 + y2 + w1 + w2 = 50 … …

x7 + y7 + w6 + w7 = 50 x8 + y8 + w7 = 50 ni  3 wi,i=1,2,…,7 ui + vi = n3 +...+ni-2,i=3,4,…,8 n1 + n2 +...+ n7 = 50 400xi + 10si + fi = qi + ki,i=1,2 400xi + 400ui + 10si + fi = qi + ki,i=3,4,…,8 240yi + 6ti + gi = ri + li,i=1,2 240yi + 240vi + 6ti + gi = ri + li,i=3,4,…,8 xi,yi,si,ti,fi,gi,ki,li  0,i=1,2,…,8 wi,ni  0,i=1,2,…,7 ui,vi  0,i=3,4,…,8 1.17 设:

xi:第i个月公司雇佣的人数(i =1,2,…,6); s.t.zi:第i个月末的库存量(i =1,2,…,6); si:第i个月的短缺量(i =1,2,…,6);

ti:第i个月因新增和解雇工人所产生的费用(i =1,2,…,6); qi:第i个月的需求量(如表,已知);

Max Z = 30(qi16isi)–2000

xi16i–5

z–tii1i166i

zi-1100xisiziqi,(i 1,2,,6)t1500(x-x),(i 1,2,,6)ii-1iti1000(xi-1-xi),(i 1,2,,6)s.t

x04z(该条件原题中没给)00,6);xi,zi,si,ti0,(i 1,2 1.18 假设:每月的现金流发生在月底。x:上一年末的借款数;

yi:第i个月底贷款,(i =1,2,…,11); zi:第i个月底存款,(i =1,2,…,12); ci:第i个月的现金需求量(如表,已知);

max Z = z12

s.t.z1 – x – y1 + 0.01x = c1 zi – 1.004zi-1 – yi + 0.01x + 1.015yi-1 = ci,(i =2,3,…,11)z12 – 1.004z11 + 0.01x + x + 1.015yi-1 = c12 x  0 yi  0,i=1,2,…,11 zi  0,i=1,2,…,12

下载线性规划单纯形法matlab解法word格式文档
下载线性规划单纯形法matlab解法.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    单纯形法理论

    单纯形法 单纯形法不用计算函数的导数,只需要计算目标函数的函数值,因此计算比较简单,几何概念也比较清晰,属于直接法的无约束最优化方法。所谓n维欧氏空间E中的单纯形,是指在n维......

    单纯形法综述

    单纯形法综述 zy1415104-曹文亮 单纯形法是1947年由George Bernard Dantzing(1914-2005)创建的,单纯形法的创建标志着线性规划问题的诞生。线性规划问题是研究在线性约束条件......

    单纯形法课程论文

    最优化方法课程论文 题目:单纯形法的发展及其应用系别:理学院专业:信息与计算科学姓名:班级:信息101班 单纯形法的发展及其应用 一. 单纯形法简介: 单纯形法,求解线性规划问题的通......

    简单线性规划教案

    简单线性规划教案 本资料为woRD文档,请点击下载地址下载全文下载地址教学设计 3.5.2 简单线性规划 整体设计 教学分析本节内容在教材中有着重要的地位与作用.线性规划是利用数......

    单纯形法C语言程序代码

    长 春 工 业 大 学 课程设计程序代码 课程设计名称 运筹学课程设计 专 业 信息管理与信息系统 班 级 130506班 学 生 姓 名 于松南、张鑫蕊、 赵改玲、赵海潮 指 导 教 师王......

    线性规划教学设计方案(五篇)

    线性规划教学设计方案 教学目标 使学生了解并会作二元一次不等式和不等式组表示的区域. 重点难点 了解二元一次不等式表示平面区域. 教学过程 【引入新课】 我们知道一元一次......

    线性规划学习心得范文合集

    《线性规划》学习心得 姓名:许英 学号:201502991104 经过学习《线性规划》,我获益良多,现在我主要从线性规划在实际生活中的应用来说说学习感触。 《线性规划》是运筹学的一......

    线性规划的对偶规划

    1对偶问题的形式 设原线性规划问题为: maxZcixi i1na11x1a12x2a1nxnb1a21x1a22x2a2nxnb2 s..taxaxaxbmnnmm11m22xj0,j1,2,,n则称下面线性规划问题: minWbiyi i1ma11y1a21y2am1......