????初始化將給定的線性規(guī)劃問題化成標(biāo)準(zhǔn)形式,并建立一個(gè)初始表格,它最右邊的單元格都是非負(fù)的(否則無解),接下來的m列組成一個(gè)m*m的單元矩陣(目標(biāo)行的單元格則不必滿足這一條件),這m列確定了初始的基本可行">
單純形法求解線性規(guī)劃的步驟

單純形法求解線性規(guī)劃的步驟

ID:38621182

大小:47.00 KB

頁數(shù):7頁

時(shí)間:2019-06-16

單純形法求解線性規(guī)劃的步驟_第1頁
單純形法求解線性規(guī)劃的步驟_第2頁
單純形法求解線性規(guī)劃的步驟_第3頁
單純形法求解線性規(guī)劃的步驟_第4頁
單純形法求解線性規(guī)劃的步驟_第5頁
資源描述:

《單純形法求解線性規(guī)劃的步驟》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、單純形法求解線性規(guī)劃的步驟?1>????初始化將給定的線性規(guī)劃問題化成標(biāo)準(zhǔn)形式,并建立一個(gè)初始表格,它最右邊的單元格都是非負(fù)的(否則無解),接下來的m列組成一個(gè)m*m的單元矩陣(目標(biāo)行的單元格則不必滿足這一條件),這m列確定了初始的基本可行解的基本變量,而表格中行用基本變量來表示2>????最優(yōu)化測(cè)試如果目標(biāo)行的所有單元格都是非負(fù)的(除了最右列中代表目標(biāo)函數(shù)值的那個(gè)單元格),就可以停止了,該表格代表了一個(gè)最優(yōu)解,它的基本變量的值在最右列中,而剩下的非基本變量都為03>????確定輸入變量從目標(biāo)行的前n個(gè)單元格中選

2、擇一個(gè)負(fù)的單元格(選擇絕對(duì)值最大的那個(gè))該單元格所在的列確定的輸入變量及主元列4>????確定分離變量對(duì)于主元列的每個(gè)正單元格,求出θ比率(如果主元格的單元格為負(fù)或?yàn)?,說明該問題是無解的,算法終止),找出θ比率最小的列,改行確定了分離變量和主元行5>????建立下一張表格將主元行的所有單元格除以主元得到新的主元行,包括主元行在內(nèi)的每一行,要減去改行主元列單元格和新主元行的成績(jī)(除主元行為1外,這一步將主元列的所有單元格變成0).把主元列的變量名進(jìn)行代換,得到新的單純形表,返回第一步??為求簡(jiǎn)單在本程序中,需要自

3、己建立標(biāo)準(zhǔn)矩陣(比如加入松弛變量等工作需要用戶自己完成),程序的輸入有兩種方式:1:指定行和列,由用戶自行輸入每一個(gè)元素??SimpleMatrix(introw=0,intcol=0);2:直接在主程序中初始化一個(gè)二維數(shù)組,然后利用構(gòu)造函數(shù)??SimpleMatrix(introw,intcol,double**M)?來初始化和處理(本程序所用的實(shí)例用的是這種方法)?程序中主要的函數(shù)以及說明~SimpleMatrix();???銷毀動(dòng)態(tài)分配的數(shù)組.用于很難預(yù)先估計(jì)矩陣的行和列,所以在程序中才了動(dòng)態(tài)的內(nèi)存分配.需

4、要重載析構(gòu)函數(shù)boolIs_objectLine_All_Positive();???//判斷目標(biāo)行是否全部為非負(fù)數(shù),最后一列不作考慮這個(gè)函數(shù)用來判斷是否已經(jīng)存在最優(yōu)解boolIs_MainCol_All_Negative(intcol);//判斷主元列是否全部為負(fù)數(shù)或零這個(gè)函數(shù)用來判斷線性規(guī)劃是否是無解的boolIs_column_all_Positive(intcol);?//判斷col列中是否全部為正(不包括目標(biāo)行)用來判斷線性規(guī)劃是否存在最優(yōu)解,因?yàn)槿绻詈笠涣腥绻胸?fù)數(shù)的化,就無解了,算法終止intIn

5、Column();????//確定輸入變量用來判斷主元所在的列intDepartRow(intcol);??//確定分離變量(尋找主元)用來確定主元所在的行voidMainItem_To_1(introw,intcol);??//將主元所在的行做處理,使主元變?yōu)?voidSubMatrixLine(introw1,introw2,intcol);//將矩陣的其他行做處理,矩陣的兩行相減這個(gè)函數(shù)是在主元行已經(jīng)做處理以后調(diào)用,目的是是矩陣的其他行主元列的元素變成0.其中row2為主元所在的行,col為主元所在的列,r

6、ow1為要處理的行voidPrintAnswer();??//輸出矩陣的最優(yōu)解intGetRows();????//返回矩陣的行數(shù)intGetCols();????//返回矩陣的列數(shù)doubleGetItem(introw,intcol);??//返回矩陣第row行,第col列的元素源代碼//SimpleMatrix.h#ifndefSIMPLEMATRIX_H_#defineSIMPLEMATRIX_H_classSimpleMatrix{public:???SimpleMatrix(introw=0,intc

7、ol=0);???SimpleMatrix(introw,intcol,double**M);???~SimpleMatrix();???boolIs_objectLine_All_Positive();???//判斷目標(biāo)行是否全部為非負(fù)數(shù),最后一列不作考慮???boolIs_MainCol_All_Negative(intcol);//判斷主元列是否全部為負(fù)數(shù)或零???boolIs_column_all_Positive(intcol);?//判斷col列中是否全部為正(不包括目標(biāo)行)???intInColum

8、n();????//確定輸入變量???intDepartRow(intcol);??//確定分離變量(尋找主元)???voidMainItem_To_1(introw,intcol);??//將主元所在的行做處理,使主元變?yōu)????voidSubMatrixLine(introw1,introw2,intcol);//將矩陣的其他行做處理,矩陣的兩行相減???voidPr

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。