一般单纯形法的matlab程序,实验报告(单纯形法的matlab程序)
《實驗報告(單純形法的matlab程序)》由會員分享,可在線閱讀,更多相關《實驗報告(單純形法的matlab程序)(5頁珍藏版)》請在人人文庫網上搜索。
1、實驗一:線性規劃單純形算法一、實驗目的通過實驗熟悉單純形法的原理,掌握Matlab循環語句的應用,提高編程的能力和技巧。二、算法對于一般的標準形式線性規劃問題(求極小問題),首先給定一個初始基本可行解。設初始基為B,然后執行如下步驟:(1).解,求得,(2).計算單純形乘子, ,得到,對于非基變量,計算判別數,令 ,R為非基變量集合若判別數 ,則得到一個最優基本可行解,運算結束;否則,轉到下一步(3).解,得到;若,即的每個分量均非正數,則停止計算,問題不存在有限最優解,否則,進行步驟(4).(4).確定下標r,使為離基變量。為進基變量,用替換,得到新的基矩陣,返回步驟(1)。對于極大化問題,。
2、可以給出完全類似的步驟,只是確定進基變量的準則不同。對于極大化問題,應令四、計算框圖 開始初始可行解令計算單純形乘子,計算判別數(非基變量)令是得到最優解解方程,得到。否是不存在有限最優解確定下標,是否為進基變量,用替換,得到新的基矩陣五、計算程序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);z=-c;%初始判別數;flag=1;while(1)a,k=max(z);%x(。
3、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六、數值實驗及結果分析求解線性規劃問題:在工作區輸入: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.3333 2.6667 0 0 0 56.0000 0f =-19.3333檢驗結果正確。
總結
以上是生活随笔為你收集整理的一般单纯形法的matlab程序,实验报告(单纯形法的matlab程序)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 橙分期还款解冻是什么意思
- 下一篇: matlab 不同长度的向量放入一个矩阵