




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、機械優(yōu)化設計課程作業(yè) 題 目: 單純形程序算法 學 院: 機電工程學院 專 業(yè): 機械工程 姓 名: 璐穎 學 號: 2015020287 指導老師: 王 2016年 4 月 24 日基于MATLAB的單純形算法實現(xiàn)1. 算法簡述為求解下面線性規(guī)劃問題:其中初始可行基為松弛變量對應的列組成. 對于一般標準線性規(guī)劃問題:求解上述一般標準線性規(guī)劃的單純形算法步驟如下:對于一般的標準形式線性規(guī)劃問題(求極小問題),首先給定一個初始基本可行解。設初始基為B,然后執(zhí)行如下步驟: (1).解,求得,(2).計算單純形乘子w, ,得到,對于非基變量,計算判別數(shù),可直接計算令 ,R為非基變量集合若判別數(shù) ,則
2、得到一個最優(yōu)基本可行解,運算結(jié)束;否則,轉(zhuǎn)到下一步(3).解,得到;若,即的每個分量均非正數(shù),則停止計算,問題不存在有限最優(yōu)解,否則,進行步驟(4).確定下標r,使2. 算法框圖初始化 初始可行基B 是 否 輸出結(jié)果,得到最優(yōu)解結(jié)束是否 不存在有限最優(yōu)解確定下標r,使得 高斯迭代 3 計算程序Clear %清空工作區(qū)Clc %清空命令輸入框A=input('A=');b=input('b=');c=input('c=');format rat %可以讓結(jié)果用分數(shù)輸出m,n=size(A); %取維數(shù) E=1:m;E=E' F=n-m+1:
3、n;F=F'D=E,F; %創(chuàng)建一個一一映射,為了結(jié)果能夠標準輸出X=zeros(1,n); %初始化Xif(n<m) %判斷是否為標準型 fprintf('不符合標準形式需引入松弛變量') flag=0;else flag=1; B=A(:,n-m+1:n); %找基矩陣 cB=c(n-m+1:n); %基矩陣對應目標值的c while flag w=cB/B %計算單純形乘子,cB/B=cB*inv(B),左除相當于求逆 panbieshu=w*A-c %計算判別數(shù),后面沒有加分號,就是為了計算后能夠顯示出來 z,k=max(panbieshu) % k作為進
4、基變量下標 fprintf('確定下標并選擇進基變量和離基變量為n',k); b'./(BA(:,k) %這個式子是為了確定進基變量和離基變量的下標 if(z<0.) %為了使判別數(shù)盡可能趨近于零 flag=0; %所有判別數(shù)都小于0時達到最優(yōu)解 fprintf(' 已找到最優(yōu)解!n'); xB=(Bb')' f=cB*xB' for i=1:n mark=0; for j=1:m if (D(j,2)=i) mark=1; X(i)=xB(D(j,1) %利用D找出xB與X之間的關(guān)系 end end if mark=0 X
5、(i)=0; %如果D中沒有X(i),則X(i)為非基變量,所以X(i)0 end end fprintf('基向量為:'); X fprintf('目標函數(shù)值為:') ; f else if(BA(:,k)<=0) % 如果BA(;,k)中的每一個分量都小于零 flag=0; fprintf(' n 此問題不存在最優(yōu)解!n'); %若BA(:,k)的第k列均不大于0,則該問題不存在最優(yōu)解 else b1=Bb' temp=inf; for i=1:m if (A(i,k)>0) && (b1(i)/(A(i,
6、k)+eps)<temp ) temp=b1(i)/A(i,k); %找離基變量 r=i; end end fprintf('x(%d)進基,x(%d)離基n',k,D(r,2); %顯示進基變量和離基變量 B(:,r)=A(:,k) cB(r)=c(k) %確定進基離基變量后,相應的基矩陣及新基對應的目標值的c也相應改變 D(r,2)=k; %改變D中的映射關(guān)系 end end endend【備注:文件名字為danchunxing11zly.m】4. 使用方法以及運算實例在命令窗口中輸入 run danchunxing11zly,然后依次按照提示完成約束以及目標函數(shù)的矩
7、陣。例1:min S.t 窗口輸入 run danchunxing11zly A=1 1 -2 1 0 0;2 -1 4 0 1 0;-1 2 -4 0 0 1; b=10 8 4; c=1 -2 1 0 0 0運行結(jié)果為:w = 0 0 0 panbieshu = -1 2 -1 0 0 0 z = 2 k = 2 確定下標并選擇進基變量和離基變量為ans = 10 -8 2 x(2)進基,x(6)離基B = 1 0 1 0 1 -1 0 0 2 cB = 0 0 -2 w = 0 0 -1 panbieshu = 0 0 3 0 0 -1 z = 3 k = 3 確定下標并選擇進基變量和離
8、基變量為ans = 1/0 4 -2 x(3)進基,x(5)離基B = 1 -2 1 0 4 -1 0 -4 2 cB = 0 1 -2 w = 0 -3/2 -7/4 panbieshu = -9/4 0 0 0 -3/2 -7/4 z = 0 k = 2 確定下標并選擇進基變量和離基變量為ans = 1/0 1/0 4 已找到最優(yōu)解!xB = 8 5 12 f = -19 X = 0 12 0 0 0 0 X = 0 12 5 0 0 0 X = 0 12 5 8 0 0 基向量為:X = 0 12 5 8 0 0 目標函數(shù)值為:f = -19 例2: max S.t 命令窗口中輸入: r
9、un danchunxing11zlyA=1 1 2 1 0;1 4 -1 0 1b=6 4c=-2 -1 1 0 0運行結(jié)果為:w = 0 0 panbieshu = 2 1 -1 0 0 z = 2 k = 1 確定下標并選擇進基變量和離基變量為ans = 6 4 x(1)進基,x(5)離基B = 1 1 0 1 cB = 0 -2 w = 0 -2 panbieshu = 0 -7 1 0 -2 z = 1 k = 3 確定下標并選擇進基變量和離基變量為ans = 2 -4 x(3)進基,x(4)離基B = 2 1 -1 1 cB = 1 -2 w = -1/3 -5/3 panbieshu =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 德保三年級數(shù)學試卷
- 高一期中卷數(shù)學試卷
- 二年級去年數(shù)學試卷
- 2025年中鐵阜陽醫(yī)院2025年應屆畢業(yè)生招聘16人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025年02月廣西柳州市工人醫(yī)院招聘43人筆試歷年專業(yè)考點(難、易錯點)附帶答案詳解
- 2025至2030船上煙霧信號行業(yè)市場深度研究與戰(zhàn)略咨詢分析報告
- 山東濟南大學招聘考試真題2024
- 呼吸道感染病原體識別考核試卷
- 標準化對環(huán)境保護的作用考核試卷
- SMT焊接工藝參數(shù)選擇標準考核試卷
- 2025至2030中國燕窩行業(yè)市場運行分析及競爭格局與投資方向報告
- 2025年河北省中考語文試卷真題及答案詳解(精校打印版)
- 口服靶向藥講課件
- 2025年中國屠宰行業(yè)市場運營現(xiàn)狀及投資規(guī)劃研究建議報告
- 12024-2025學年暑假安全教育主題班會課件
- 統(tǒng)編版語文五年級上冊第二單元整體教學設計說課課件
- AI技術(shù)優(yōu)化銀行資金流動性管理的探索
- 2025年廣東省高考物理試題(含答案解析)
- 拖車服務合同協(xié)議書模板
- 智能手機組裝工藝流程
- 肝膽外科醫(yī)學科普
評論
0/150
提交評論