運用Excel進(jìn)行線性規(guī)劃求解_第1頁
運用Excel進(jìn)行線性規(guī)劃求解_第2頁
運用Excel進(jìn)行線性規(guī)劃求解_第3頁
運用Excel進(jìn)行線性規(guī)劃求解_第4頁
運用Excel進(jìn)行線性規(guī)劃求解_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、開O1目錄1. 關(guān)于“規(guī)劃求解”2. 如何加載“規(guī)劃求解”3. “規(guī)劃求解”各參數(shù)解釋和設(shè)置4. “規(guī)劃求解”的步驟5. “規(guī)劃求解 ”疑難解答6. 利用“規(guī)劃求解”解線性規(guī)劃問題7. 利用“規(guī)劃求解”解整數(shù)規(guī)劃問題8. 利用“規(guī)劃求解”解目標(biāo)規(guī)劃問題9. 利用“規(guī)劃求解”解運輸問題10. 利用“規(guī)劃求解”解最短路徑問題11. 利用“規(guī)劃求解”解最大流問題12. 利用“規(guī)劃求解”解數(shù)據(jù)包絡(luò)分析( DEA )問題利用“規(guī)劃求解”解其他運籌學(xué)問題1、關(guān)于“規(guī)劃求解”“規(guī)劃求解”是 Excel 中的一個加載宏,借助“規(guī)劃求解” ,可求 得工作表上某個單元格(被稱為目標(biāo)單元格)中公式 (公式:單元 格

2、中的一系列值、 單元格引用、 名稱或運算符的組合, 可生成新的值。 公式總是以等號 (=) 開始。)的最優(yōu)值。 “規(guī)劃求解”將對直接或間 接與目標(biāo)單元格中公式相關(guān)聯(lián)的一組單元格中的數(shù)值進(jìn)行調(diào)整, 最終 在目標(biāo)單元格公式中求得期望的結(jié)果。 “規(guī)劃求解”通過調(diào)整所指定 的可更改的單元格(可變單元格)中的值,從目標(biāo)單元格公式中求得 所需的結(jié)果。在創(chuàng)建模型過程中,可以對“規(guī)劃求解”模型中的可變 單元格數(shù)值應(yīng)用約束條件 (約束條件:“規(guī)劃求解”中設(shè)置的限制條 件。可以將約束條件應(yīng)用于可變單元格、 目標(biāo)單元格或其他與目標(biāo)單 元格直接或間接相關(guān)的單元格。 而且約束條件可以引用其他影響目標(biāo) 單元格公式的單元格

3、。使用“規(guī)劃求解”可通過更改其他單元格來確 定某個單元格的最大值或最小值。Microsoft Excel 的“規(guī)劃求解”工具取自德克薩斯大學(xué)奧斯汀分 校的 Leon Lasdon 和克里夫蘭州立大學(xué)的 Allan Waren 共同開發(fā)的 Generalized Reduced Gradient (GRG2) 非線性最優(yōu)化代碼。線性和整 數(shù)規(guī)劃問題取自 Frontline Systems 公司的 John Watson 和 Dan Fylstra 提供的有界變量單純形法和分支邊界法。2、如何加載“規(guī)劃求解”安裝office的時候,系統(tǒng)默認(rèn)的安裝方式不會安裝宏程序,需要 用戶根據(jù)自己的需求選擇安裝

4、。下面是加載“規(guī)劃求解”宏的步驟:1)在“工具”菜單上,單擊“加載宏”。2)工具數(shù)據(jù)窗口幫助J料寫檢杳區(qū)).F72! A爲(wèi)信息檢素 Alt+ClickQ0$錯誤檢彥語音QD共享工作醫(yī)1共亨工作牌修訂歐元轉(zhuǎn)換迅)比較和合并工作薄址)保護(hù)電)卜聯(lián)機(jī)協(xié)作他)規(guī)劃求解單變量求解W方案卜公式甲孩趣)卜宏通¥1加載宏 K自動更正選項(AhT.2)在彈出的對話框中的“可用加載宏”列表框中,選定待添加的加載宏“規(guī)劃求解”選項旁的復(fù)選框,然后單擊“確定” 。單擊“確 定”以后,“工具”菜單下就會出現(xiàn)一項“規(guī)劃求解” 。如果需要 其他功能,也可以用鼠標(biāo)勾選。提醒一句,加載的宏越多,excel啟動的時候就

5、會越慢,所以請根據(jù)自己的需要選擇。3)如果要卸載已經(jīng)加載的宏,請在“可用加載宏”列表框中,選定 待添加的加載宏選項旁的復(fù)選框,然后單擊“確定”。3、“規(guī)劃求解”各參數(shù)解釋和設(shè)置單擊“規(guī)劃求解”按鈕,將會出現(xiàn)以下的規(guī)劃求解參數(shù)的對話框。孝 設(shè)置目標(biāo)單元格:一些單元格、具體數(shù)值、運算符號的組合。注意:目標(biāo)單元格一定要是公式,即一定是以=”開始。類似于線性規(guī)劃中的目標(biāo)函數(shù)。最大值、最小值:在此指定是否希望目標(biāo)單元格為最大值、最小 值或某一特定數(shù)值。如果需要指定數(shù)值,請在右側(cè)編輯框中鍵入 該值。至 可變單元格:在此指定可變單元格。 求解時其中的數(shù)值不斷調(diào)整, 直到滿足約束條件并且“設(shè)置目標(biāo)單元格”框中

6、指定的單元格達(dá) 到目標(biāo)值??勺儐卧癖仨氈苯踊蜷g接地與目標(biāo)單元格相關(guān)聯(lián)。 類似于線性規(guī)劃中的變量。希推測:單擊此按鈕,自動推測“設(shè)置目標(biāo)單元格”框中的公式所 引用的所有非公式單元格,并在“可變單元格”框中定位這些單 元格的引用。第 約束:在此列出了規(guī)劃求解的所有約束條件。瓷添加:顯示“添加約束”對話框。»更改:顯示“更改約束”對話框。注意:單擊此按鈕的時候,要先選擇需要更改的約束。冀刪除:刪除選定的約束條件。同樣單擊此按鈕前,要先選擇需要刪除的約束。帶 求解:對定義好的問題進(jìn)行求解。»關(guān)閉:關(guān)閉對話框,不進(jìn)行規(guī)劃求解。但保留通過“選項”、“添加”、“更改”或“刪除”按鈕所做

7、的更改。也就是說,當(dāng)你下次再次單擊“規(guī)劃求解”按鈕后,對話框顯示上回所設(shè)置的參數(shù)。磁 選項:顯示“規(guī)劃求解選項”對話框。在其中可加載或保存規(guī)劃 求解模型,并對求解過程的高級屬性進(jìn)行控制。亠最長運算時間:在此設(shè)定求解過程的時間。可輸入的最大值為32767 (秒),默認(rèn)值100 (秒)可以滿足大多數(shù)小型規(guī)劃求解 要求。-迭代次數(shù):在此設(shè)定求解過程中迭代運算的次數(shù),限制求解過程的時間??奢斎氲淖畲笾禐?2767,默認(rèn)值100次可滿足大多數(shù)小型規(guī)劃求解要求。亠精度:在此輸入用于控制求解精度的數(shù)字,以確定約束條件單元格中的數(shù)值是否滿足目標(biāo)值或上下限。精度值必須表示為小數(shù)(0到1之間),輸入數(shù)字的小數(shù)位越

8、多,精度越高。例如,0.0001比0.01 的精度高。允許誤差:在此輸入滿足整數(shù)約束條件并可被接受的目標(biāo)單元格求解結(jié)果與真實的最佳結(jié)果間的百分偏差。這個選項只應(yīng)用 于具有整數(shù)約束條件的問題。 設(shè)置的允許誤差值越大, 求解過 程就越快。亠收斂度:在此輸入收斂度數(shù)值, 當(dāng)最近五次迭代后目標(biāo)單元格中數(shù)值的變化小于“收斂度”框中設(shè)置的數(shù)值時,“規(guī)劃求解”停止運行。收斂度只應(yīng)用于非線性規(guī)劃求解問題, 并且必須表 示為小數(shù)(0到1之間)。設(shè)置的數(shù)值越小,收斂度就越高。例如,0.0001表示比0.01更小的相對差別。收斂度越小,“規(guī) 劃求解”得到結(jié)果所需的時間就越長。亠采用線性模型:當(dāng)模型中的所有關(guān)系都是線

9、性的,并且希望解決線性優(yōu)化問題時,選中此復(fù)選框可加速求解進(jìn)程。亠顯示迭代結(jié)果:如果選中此復(fù)選框,每進(jìn)行一次迭代后都將中斷“規(guī)劃求解”,并顯示當(dāng)前的迭代結(jié)果。亠自動按比例縮放:如果選中此復(fù)選框,當(dāng)輸入和輸出值量級差別很大時,可自動按比例縮放數(shù)值。例如,基于百萬美元的投 資將利潤百分比最大化。亠假定非負(fù):如果選中此復(fù)選框,則對于在“添加約束”對話框的“約束值”框中沒有設(shè)置下限的所有可變單元格,假定其下 限為0 (零)。亠估計:指定在每個一維搜索中用來得到基本變量初始估計值的逼近方案。亠正切函數(shù):使用正切向量線性外推-二次方程:用二次方程外推法,提高非線性規(guī)劃問題的計算精度。-導(dǎo)數(shù):指定用于估計目標(biāo)

10、函數(shù)和約束函數(shù)偏導(dǎo)數(shù)的差分方案。亠向前差分:用于大多數(shù)約束條件數(shù)值變化相對緩慢的問題。-中心差分:用于約束條件變化迅速,特別是接近限定值的問題。 雖然此選項要求更多的計算,但在“規(guī)劃求解”不能返回有效 解時也許會有幫助。-搜索:指定每次的迭代算法,以確定搜索方向。亠牛頓法:用準(zhǔn)牛頓法迭代需要的內(nèi)存比共軛法多,但所需的迭代次數(shù)少。亠共軛法:比牛頓法需要的內(nèi)存少, 但要達(dá)到指定精度需要較多 次的迭代運算。當(dāng)問題較大和內(nèi)存有限, 或步進(jìn)迭代進(jìn)程緩慢 時,可用此選項。亠裝入模型:顯示“裝入模型”對話框,輸入對所要加載的模型 的引用。亠保存模型:顯示“保存模型”對話框,在其中可指定保存模型的位置。只有需

11、要在工作表上保存多個模型時,才單擊此命令。第一個模型會自動保存。4、“規(guī)劃求解”的步驟1)首先在表格上建立模型,然后單擊“規(guī)劃求解”按鈕,出 現(xiàn)“規(guī)劃求解參數(shù)”的對話框。2)在“設(shè)置目標(biāo)單元格”框中,輸入目標(biāo)單元格的單元格引用(單元格引用:用于表示單元格在工作表上所處位置的坐標(biāo)集。例如,顯示在第B列和第3行交叉處的單元格,其引用形式為“ B3”。或名稱 (名稱:代表單元格、單元格區(qū)域、公式或常量值的單詞或字符串。名稱更易于理解,例如,“產(chǎn)品”可以引用難于理解的區(qū)域 “ Sales!C20:C30”。目標(biāo)單元格必須包含公式(公式:單元格中的一系列值、單元格引用、名稱或運算符的組合,可生成新的值。

12、公式總是以等號(=)開始。)??梢詥螕糌柽x擇單元格。3)若要使目標(biāo)單元格中數(shù)值最大,請單擊“最大值”。若要使目標(biāo)單元格中數(shù)值最小,請單擊“最小值”。若要使目標(biāo)單元格中數(shù)值為確定值,請單擊“值為”,再在編輯框中鍵 入數(shù)值。4)在“可變單元格”框中,輸入每個可變單元格的名稱或引用,用逗號分隔不相鄰的引用??勺儐卧癖仨氈苯踊蜷g 接與目標(biāo)單元格相聯(lián)系。最多可以指定200個可變單元格。若要使“規(guī)劃求解”基于目標(biāo)單元格自動設(shè)定可變單 元格,請單擊“推測”。5)在“規(guī)劃求解參數(shù)”對話框的“約束”下,單擊“添加”。6)在“單元格引用位置”框中,輸入需要對其中數(shù)值進(jìn)行約束的單元格引用(單元格引用:用于表示單元

13、格在工作表上所處位置的坐標(biāo)集。例如,顯示在第B列和第3行交叉處的單元格,其引用形式為“B3”。)或單元格區(qū)域的名稱 (名稱:代表單元格、單元格區(qū)域、公式或常量值的單 詞或字符串。名稱更易于理解,例如, “產(chǎn)品”可以引用難 于理解的區(qū)域“ Sales!C20:C30”。7)單擊希望在引用單元格和約束條件 (約束條件: “規(guī)劃求解”中設(shè)置的限制條件??梢詫⒓s束條件應(yīng)用于可變單元 格、目標(biāo)單元格或其他與目標(biāo)單元格直接或間接相關(guān)的單 元格。)之間使用的關(guān)系 ( “ <= ” 、“ =” 、“ >= ” 、“ Int ”或“ Bin ”。如果單擊“ Int ”,則“約束值”框中會顯示“整數(shù)”

14、 ;如果 單擊“ Bin ”,則“約束值”框中會顯示“二進(jìn)制”。8)在“約束值”框中,鍵入數(shù)字、單元格引用或名稱,或鍵 入公式 (公式:單元格中的一系列值、單元格引用、名稱 或運算符的組合,可生成新的值。公式總是以等號 (=) 開 始。)。9)若要接受約束條件并要添加其他的約束條件,請單擊“添 加”。若要接受約束條件并返回“規(guī)劃求解參數(shù)”對話框, 請單擊“確定” 。10)注意:只能在對可變單元格的約束條件中應(yīng)用 “Int”和“ Bin ” 關(guān)系。當(dāng)“規(guī)劃求解選項”對話框中的“采用線性模型” 復(fù)選框被選中時,對約束條件的數(shù)量沒有限制。對于非線 性問題,每個可變單元格除了變量的范圍和整數(shù)限制外,

15、還可以有多達(dá) 100 個約束。11)更改或者刪除約束。在“規(guī)劃求解參數(shù)”對話框的“約束”下,單擊要更改或刪除的約束條件(約束條件:“規(guī)劃求解”中設(shè)置的限制條件??梢詫⒓s束條件應(yīng)用于可變單元格、目標(biāo)單元格或其他與目標(biāo)單元格直接或間接相關(guān)的單元格。)。單擊“更改”,并進(jìn)行所需的更改,或單擊“刪除”。12)單擊“求解”,再執(zhí)行下列操作之一:若要在工作表中保存求解后的數(shù)值,請在“規(guī)劃求解結(jié)果”對話框中,單擊“保存規(guī)劃求解結(jié)果”;若要恢復(fù)原始數(shù)據(jù),請單擊“恢復(fù)為原值”。 注意:按 Esc可以中止求解過程,MicrosoftExcel將按最后找到的可變單元格的數(shù)值重新計算工作表。若求出解,請在“報告”框中

16、單擊一種報表類型,再單 擊“確定”。報表保存在工作簿中新生成的工作表上。5、“規(guī)劃求解”疑難解答薛尚未找到滿足要求的結(jié)果,“規(guī)劃求解”即停止了運行。由于下列任意一個原因,“規(guī)劃求解”在找到答案前,可能停止運行:亠中斷了求解過程。亠在單擊“求解”之前,選中了 “規(guī)劃求解選項”對話框中的“顯 示迭代結(jié)果”選項。亠在單步迭代過程中,或達(dá)到最長運算時間或最大迭代次數(shù)時,單擊了“停止”按鈕。亠選中了 “規(guī)劃求解選項”對話框中的“采用線性模型”復(fù)選框,但問題是非線性的亠在“規(guī)劃求解參數(shù)”對話框的“設(shè)置目標(biāo)單元格”框中指定的 數(shù)值不收斂地增加或減少。亠需要讓“規(guī)劃求解”運行更長的時間以求得結(jié)果。請調(diào)整“規(guī)

17、劃求解選項”對話框中的“最長運算時間”或“迭代次數(shù)”的 設(shè)置。亠對于具有整數(shù)約束條件的問題,應(yīng)該減小“規(guī)劃求解選項”對 話框中的“允許誤差”的設(shè)置,使“規(guī)劃求解”找到更好的整 數(shù)解。亠對于非線性問題,應(yīng)該減小“規(guī)劃求解選項”對話框中的“收 斂度”的設(shè)置,使目標(biāo)單元格數(shù)值變化緩慢時,“規(guī)劃求解”仍可以運行,最終找到較好的結(jié)果。亠應(yīng)該選中“規(guī)劃求解選項”對話框中的“自動按比例縮放”復(fù) 選框,可能一些輸入數(shù)值相差幾個數(shù)量級,或輸入和輸出數(shù)值相差幾個數(shù)量級。-當(dāng)“規(guī)劃求解”停止運行時,在“規(guī)劃求解結(jié)果”對話框中顯 示出完成信息。單擊“保存規(guī)劃求解結(jié)果”或“恢復(fù)為原值” 進(jìn)行所需的更改,然后再運行一次。

18、»可變單元格與約束條件或目標(biāo)單元格中的數(shù)值差別很大。亠當(dāng)可變單元格的典型數(shù)值與約束單元格或目標(biāo)單元格中的數(shù) 值相差幾個數(shù)量級時,請選中“規(guī)劃求解選項”對話框中的“自 動按比例縮放”復(fù)選框。對于非線性問題,在單擊“規(guī)劃求解參數(shù)”對話框中的“求解”之前,請確認(rèn)可變單元格的初始數(shù)值與期望的最終數(shù)值的數(shù)量級相同。戀未得到預(yù)期的結(jié)果。對于非線性問題,在可變單元格中嘗試不同的初始值可能會有幫助,特別是在“規(guī)劃求解”結(jié)果與期望的數(shù)值差別很大時。預(yù)先將可變單元格的數(shù)值設(shè)置為預(yù)期的最優(yōu)值,可以減少求解時間。對于線性模型(也就是當(dāng)“規(guī)劃求解選項”對話框的“采用線性模型”復(fù)選框被選中時),改變可變單元格的

19、初始值不會影響最終 數(shù)值或求解時間。薛“規(guī)劃求解”得到的結(jié)果與以前的結(jié)果不同?!耙?guī)劃求解”顯示如下消息:“規(guī)劃求解已收斂到當(dāng)前結(jié)果。滿足所有約束條件”。這表明目標(biāo)單元格中的數(shù)值在最近五次求解過程 中的變化量小于“規(guī)劃求解選項” 對話框中“收斂度”設(shè)置的值?!笆?斂度”中設(shè)置的值越小,“規(guī)劃求解”在計算時就會越精細(xì),但求解 過程將花費更多的時間。器“規(guī)劃求解”不能達(dá)到最優(yōu)解。亠“規(guī)劃求解”不能改進(jìn)當(dāng)前解。所有約束條件都得到了滿足。這表明僅得到近似值,迭代過程無法得到比顯示結(jié)果更精確的數(shù)值;或是無法進(jìn)一步提高精度,或是精度值設(shè)置得太小,請在“規(guī)劃求解選項”對話框中試著設(shè)置較大的精度值,然后再運行一

20、+求解達(dá)到最長運算時間后停止這表明在達(dá)到最長運算時間限制時,沒有得到滿意的結(jié)果。若 要保存當(dāng)前結(jié)果并節(jié)省下次計算的時間,請單擊“保存規(guī)劃求解” 或“保存方案”選項。+求解達(dá)到最大迭代次數(shù)后停止這表明在達(dá)到最大迭代次數(shù)時,沒有得到滿意的結(jié)果。增加迭代次數(shù)也許有用,但是應(yīng)該先檢查結(jié)果數(shù)值來確定問題的原因。若 要保存當(dāng)前值并節(jié)省下次計算的時間,請單擊“保存規(guī)劃求解”或 “保存方案”選項。+目標(biāo)單元格中的數(shù)值不收斂這表明即使?jié)M足全部約束條件,目標(biāo)單元格數(shù)值也只是有增或 有減但不收斂。這可能是在設(shè)置問題時忽略了一項或多項約束條 件。請檢查工作表中的當(dāng)前值,確定數(shù)值發(fā)散的原因,并且檢查約 束條件,然后再次

21、求解。+“規(guī)劃求解”未找到合適結(jié)果這表明在滿足約束條件和精度要求的條件下,“規(guī)劃求解”無法得到合理的結(jié)果,這可能是約束條件不一致所致。請檢查約束條 件公式或類型選擇是否有誤。-“規(guī)劃求解”應(yīng)用戶要求而中止這表明在暫停求解過程之后,或在單步執(zhí)行規(guī)劃求解時,單擊 了“顯示中間結(jié)果”對話框中的“停止”。+無法滿足設(shè)定的“采用線性模型”條件這表明求解時選中了“采用線性模型”復(fù)選框,但是“規(guī)劃求解”最后計算結(jié)果并不滿足線性模型。計算結(jié)果對工作表中的公式 無效。若要驗證問題是否為非線性的,請選中“自動按比例縮放” 復(fù)選框,然后再運行一次。如果又一次出現(xiàn)同樣信息,請清除“采 用線性模型”復(fù)選框,然后再運行一

22、次。+“規(guī)劃求解”在目標(biāo)或約束條件單元格中發(fā)現(xiàn)錯誤值這表明在最近的一次運算中,一個或多個公式的運算結(jié)果有誤。請找到包含錯誤值的目標(biāo)單元格或約束條件單元格,更改其中 的公式或內(nèi)容,以得到合理的運算結(jié)果。還有可能是在“添加約束”或“改變約束”對話框中鍵入了無效的名稱或公式,或者在“約束”框中直接鍵入了“in teger ”或“ binary ”。若要將數(shù)值約束為整數(shù),請在比較運算符列表中單擊“Int”。若要將數(shù)值約束為二進(jìn)制數(shù),請單擊“Bin”。十內(nèi)存不足以求解問題Microsoft Excel無法獲得“規(guī)劃求解”所需的內(nèi)存。請關(guān)閉一些文件或應(yīng)用程序,再試一次。-其他的Microsoft Exce

23、l實例正在使用 SOLVER.DLL這表明有多個Microsoft Excel會話正在運行,其中一個會話正在使用SOLVER.DLL。SOLVER.DLL 同時只能供一個會話使6、利用“規(guī)劃求解”解線性規(guī)劃問題F面我們以一個例子說明如何在exce I建立線性規(guī)劃模型及求解。maxZ= X 1 -2X2 + X3s.t.X1 +X2 +X3 W 122)2)2X1+X2 -X3 W 6-x1 +3x2 w 9Xi, X2, x 3 A 01)在excel上建立線性規(guī)劃模型,如下圖對話框中輸入各項參數(shù)。2)2)3)設(shè)置目標(biāo)單元格和選擇最大值。2)改吏約束2dAECDGH目標(biāo)函數(shù)000釣東0120&

24、amp;30g4)oEF5約束81G2dil¥確定取消Xi2d取消i)<=3變量xl21023;C$9:Ajll爆劃求解參數(shù)規(guī)劃主解瑯載改吏釣束-B<+3*B6=B4-2*B5+B6刪除5)添加約束。|<= I=SjH 5J+X2+X3 w12設(shè)置可變單元格單無格引用位置約束值丄 B L_C I D 訂亍詞疹|-" =S4-E*B5+BE炎量xlk2約束值(£:幫助蝕添加®運加約束單元格引用位這|$AJ9設(shè)晝目標(biāo)單元梢魚): 麗一 一3等于 檸盤犬值地)r呈屮宿)r値為電)=B4+B5+B6可孌單元格逅):更改©=2*B4*B

25、5BG2xi+X2-X3 w 6改吏約束2d單丘格引用位置確定I約束值鶯 l<= Rcjr-X1+3X2取消添加幫助Xi, X2, X3 A 0改吏約束2d改吏約束2d6)參數(shù)設(shè)置完畢,如下:改吏約束2d7)由于這個例子比較簡單, 系統(tǒng)默認(rèn)的選項參數(shù)可以滿足求解功能, 所以不需要設(shè)置“選項”里面的參數(shù)。8)求解結(jié)果。點擊右面的報告選項,可以生成相應(yīng)的報告。=-B4+3*BB變XI廳K33 4 5 6全部求解過程結(jié)束,請讀者自己練習(xí)下面的題目:min z= -2x1 -x2 +3x3-5x4s.t x1+2x2+4x3 -x4 < 62x1 +3x2 -x3 +x4 < 12X

26、1+X3 +X4 w 4Xi, X 2, X 3, X 4 A 07、利用“規(guī)劃求解”解整數(shù)規(guī)劃問題整數(shù)規(guī)劃在實際的工作中有很廣泛的應(yīng)用。利用“規(guī)劃求解”功能求解整數(shù)規(guī)劃的過程和解線性規(guī)劃的過程差不多,只不過需要設(shè)置變量為整數(shù)而已。仍然以上面的例子為例,看一下如何求解整數(shù)規(guī)劃問題。我們假設(shè)上述問題x1,x2,x3均是整數(shù),我們只需再添加一個約束就行了,如 下圖:DEJL2345678910111213目標(biāo)簸I變量釣束10.265.404.8=B4-2*B5*B614151617=e*M+B5-86126!9i T求解結(jié)果如下:扎E1 CDEFG|HIJ1目標(biāo)函數(shù)=B4-2*IE+B62變量X1

27、x2567891011121314IE165o4-BH-B5+B61269B6-Sfl+3*B6DEJDEJ丄“規(guī)劃求解”還可以用來求 0-1整數(shù)規(guī)劃問題,即變量都是 0或1的線性規(guī)劃問題。我們只要在整數(shù)規(guī)劃的基礎(chǔ)上再添加兩個約束就可以求解0-1整數(shù)規(guī)劃問題了。令所有變量大于等于0且小于等于DEJDEJ1,并且為整數(shù),實際上就限定了變量只能為0或者1單元格引用位置約束佰 :|SE$4 SB$6 3 |<= Z1 Fl51單元格引用位置約束值C):321>= zJ 阪確定| 取消| 添加)|確定1|取消|添加)|幫助QJ) |:E$4:SBS6F面是一道0-1整數(shù)規(guī)劃的題,請讀者自己

28、練習(xí)。答案:x仁 1,x2=0,x3=1,x4=1,mi n=3Min = 3x1 + 7 x2 - x3 + x4st.:2x-| - x2 + x3 - x4 >1 x-i - x2 +6x3 + x4 >85x-| + 3x2 + x4 >5X-,X2,X3,8、利用“規(guī)劃求解”解目標(biāo)規(guī)劃問題目標(biāo)規(guī)劃是一種十分有用的多目標(biāo)規(guī)劃工具,有著廣泛的應(yīng)用。目標(biāo)規(guī)劃的數(shù)學(xué)模型實際上就是最小化型的線性規(guī)劃,可以用單純型法求解,既可以用規(guī)劃求解功能求解。下面以一個例子求解mi npi(d; +d; ),P2d2, P3d3 ,P4(5d; +3d;)st._ +x1 + x2 + d

29、1 -d1 = 800- +5x1 +d2 -d2 = 25003x2 +d3-d; =1400X1,X2,d-,d: >0(i= 1,2,3)首先在excel上建模添加約束設(shè)置目標(biāo)單元格等于:r攝大值匾)a協(xié)小值值)值為U可變單元格©):|Sk$3:$H$3推測© 約束QJ):添期® | 更改© | 刪除|$A$12:$A$14 = JC$12:$CJ145k$3:$HS3 >= 0求解BCE2dl-dl+d2+d3+30000056兇891012取消確宇13141516A 變量 xl耳1 +毛 + 宵= 300500 466. 6667

30、166. 6667 子目標(biāo)minminmin166. 6667目標(biāo)函數(shù)166. 66671400席膿存規(guī)劃求解結(jié)果茴i r後童毎爲(wèi)言w保存方家. I 幫助約東80025001400鶴乎臧到FE滿足所有的約束報告運算皓果報告I 敬感性報告1 極限值赧告dnii i9、利用“規(guī)劃求解”解運輸問題=5UI(i=C3+D3如下算例,A1、A2、A3為產(chǎn)地,B1、B2、B3、B4為銷地,各 個產(chǎn)地的產(chǎn)量和各個銷地的銷量及從產(chǎn)地運送一單位貨品到各個銷地的費用如圖所示。我們用excel的“規(guī)劃求解”功能求解這個運輸問題。B1B2B3B4產(chǎn)量A141241116A22103910A38511822銷量8141

31、2141)首先在excel表格上建立運輸問題的模型,如圖所示。圖中綠色部分是變量,代表從某產(chǎn)地運到某銷地的產(chǎn)品數(shù)量。各部分的解釋已經(jīng)標(biāo)注在圖上,不再詳述。特別要說明的是用于計算目標(biāo)值的 函數(shù)SUMPRODUCT,它計算的是兩個矩陣各個相對應(yīng)元素乘積的和。在這里我們要求的運輸成本最小,就是所有產(chǎn)地i到銷地j的運輸單位成本乘上運量的和最小AECDEGBlB2B42412411310351151412146產(chǎn)量BlM呂Al00001690010110Q01214141413190000£2000102215169S10221213A2A3 銷量2S8F 產(chǎn)量16=SUI (BSzBIO)目

32、標(biāo)函數(shù)AlA2A3 銷量=Suar£ODUCT CB21E4, BBzlLD)=sn(E8:iio)=SV1(B10:E10)=SUI (CB;C1O)=SUI (B8:E8)=SUI (D8:V1Q1=SU1 (B9:19)2)添加目標(biāo)單元格,變量,約束。約束1產(chǎn)量KBCDEFG I HI123q56789A1A2A3銷量|確宇|取消|添加|砂QD 1Bl單元格引用應(yīng)養(yǎng)|$F$8:SF$10釣束值© ;|$HS8:$hJ10100 00111213141516171819=SU|目標(biāo)函數(shù)產(chǎn)量16102214= SUI (DS DIO)0uiq12=sim (ce:cio)

33、B2B3B4OOOO0000 0 0=SU1FBODUCT CB2:B8: E1Q)產(chǎn)量z(71&!(?10:22:(7=sira=SUI(B9:E9)=SUI(B10:E10)=SU1 (E8:E1O)|約束2:銷量約束3:變量大于0最后參數(shù)設(shè)置如下:設(shè)直目標(biāo)單元格EJ17選頊迫)等于:廣毘尢值觀)站小值堪)廠值為迫5全部重設(shè)追)|幫5h®3)求解結(jié)果G231801022銷量12131412142d1626018-SV1PE0DUCT CB2:I4,19210681416101414161(?2256A2A3銷量=SUI CB8:E&)目標(biāo)屜數(shù)=SUI (B91E9

34、)hSUBCBlOElO)=SU1 (B& : B10>確定I規(guī)勵求解皓果燈備規(guī)劃求輟果錘j rqj)保存方離鯊I 幫助垢宜站果報告頑恿壬報肯1 極限值報告二J髓嚴(yán)I找虻:W可滿丘所有昭磁長憂報告®=sim (C8:cio)指派問題,即有n個人和n件事,已知第i人做第j事的費用為EC0EFB1B2B3B4產(chǎn)量412q11162103g10S5118223141214Bd1200125&2440cij,要求確定人和事之間的一一對應(yīng)指派關(guān)系,使完成這n件事的總費用最少,其實就屬于 0-1整數(shù)規(guī)劃問題,它的模型和運輸問題的模 型基本相同,下面是其中一個模型,請讀者自己

35、練習(xí)。B1B2B3B4B5A14871512A279171410A3691287A46714610A56912106B1B2B3B4B5總計A1001001=1A2-3.6E-1010001=1A3100-3.6E-108.96E-111=1A4000101=1A5-2E-1102E-11011=1總計1111111111minz二3410、利用“規(guī)劃求解”解最短路徑問題有如下的網(wǎng)絡(luò)圖。需要計算從v1點到v8點的最短路經(jīng)。用excel求解最短路徑的原理是:令變量為0或者1。即如果最短路經(jīng)通過v1v2,v2v4,則設(shè)變量為1,不通過則為0,除起點和終點之外,每個點的進(jìn)出權(quán)數(shù)和是 0,起點的進(jìn)出權(quán)

36、數(shù)和是 1,終點是-1,目標(biāo) 函數(shù)是各邊權(quán)數(shù)和對應(yīng)變量乘積的和。于是得到一組等式約束, 通過求解可以得到最短路經(jīng)和最短路程。在excel上建立模型如下,H060050qoo0-100504000T56節(jié)點 vl v201=>1VI9-B1 l-li£k-Dl3-Bl4£ =SinrBODVCT d:2:C14F D2:I14)0 進(jìn)出和6666=D12+D13-18-DIO I-DB1-19-D5-1BD10+Illl-D4-D7-D5+J4-DZ-DB+I7-D31邊的起點邊的重點權(quán)數(shù)2vlv2gvlv34v2v55v2v46v37v3v58v4v69v4v710v

37、5v611v5v712v6v713誡v814v7v3151617目標(biāo)歯數(shù)1819ZOA添加約束求解結(jié)果2v23v34v55v46v47v58v69v710v611v712v713v814v8151617目標(biāo)函數(shù)1319圖中變量是邊的起點邊的重點454797515.0000220-L1IE-060.999999IE-06 0IE-060IE-060100L.000001節(jié)點vlv2v3v4v5v6v7v3=DH-D9-D11-1HZ=12+130DD進(jìn)出和1.0000015. 55E-1700Q000-11=EnPKJQDUCT (C規(guī)劃于解杜* I 一卿,可禹注所百的釣朿辰暈憂勰T報吿

38、4;遠(yuǎn)算詰卑報告_I 倉感性報皆1 扱限怕推肯IjJ確定保存方靈.廠融亦麗血1的邊就是最短路經(jīng)通過的邊,即v1v2-v2v5-v5v7-v7v8,最短路程是 15。注意:1E-06 表示接近0,可以看作 0,可以通過調(diào)節(jié)“選項”中的精度一項達(dá)到。如把精度降到0.01就可以得到變量全為 0或1。請讀者自己調(diào)節(jié)。11、利用“規(guī)劃求解”解最大流問題VV3)6)V3V2)V3)VV52)(3, 2)(3, 2)(1,1)(10,(8, 3)在excel上建立模型如下:添加約束:最后求解得到最大流為 14 (請讀者自行練習(xí))12、利用“規(guī)劃求解”解數(shù)據(jù)包絡(luò)分析(DEA )問題數(shù)據(jù)包絡(luò)分析(data en

39、velopment analysis,DEA)是美國著名運籌學(xué)家 A. Charnes 等人以相對效率概念為基礎(chǔ)發(fā)展起來的一種效率評 價方法。具有單輸入單輸出的過程或決策單元其效率可簡單的定義 為:輸出 /輸入, A. Charnes 等人將這種思想推廣到具有多輸入多輸出 生產(chǎn)有效性分析上。 對具有多輸入多輸出的生產(chǎn)過程或決策單元, 其 效率可類似定義為:輸出項加權(quán)和/輸入項加權(quán),形成了僅僅依靠分析生產(chǎn)決策單元 (DMU) 的投入與產(chǎn)出數(shù)據(jù), 來評價多輸入與多輸出決 策單元之間相對有效性的評價體系。這種評價體系以數(shù)學(xué)規(guī)劃為工 具,綜合分析輸入輸出數(shù)據(jù), 通過線性優(yōu)化得出每個指標(biāo)的最優(yōu)權(quán)重 及

40、DMU 效率的相對指標(biāo),據(jù)此將所有 DMU 定級排隊,確定相對有 效的 DMU ,并指出其他 DMU 非有效的原因和程度。以上是很苦澀的說法, 沒有看過專業(yè)文獻(xiàn)的人很難看懂。 下面舉 個例子來說, 如何評價大學(xué)的辦學(xué)有效性呢?對于大學(xué)辦學(xué)而言, 需 要投入的是教師人數(shù)、科研經(jīng)費、校園面積等,產(chǎn)出的有學(xué)生人數(shù)、 專利數(shù)目、論文數(shù)目等。但是這些指標(biāo)的單位不統(tǒng)一,這時候怎么評 估呢?用到的是 DEA 的線性規(guī)劃模型。在 DEA 中通常稱衡量績效的組織為決策單元( decision making unit,DMU ),設(shè)有 n 個決策單元( j=1, 2,3),每個決策單元有相同的m項投入(i=1 ,

41、2,3m)和相同的s項產(chǎn)出(r=1 ,2,3s)。用 xij 表示第 j 單元的第 i 項投入,有 rij 表示第 j 單元的第 r 項產(chǎn)出。 現(xiàn)在要衡量某一決策單元的 j0 是否 DEA 有效, 即是否處在包絡(luò)線組 成生產(chǎn)前沿面上, 為此先構(gòu)造一個由 n 個決策單元線性組成的假想決 n策單元,這個假想決策單元的第i項投入為 刀壯山=1,2,.m)且nn刀入=1(入>0),決策單元的第r項產(chǎn)出為"M(r = 1,2,s)且 j=1J=1n刀入=1(入>0)。如果這個假想單元的各項產(chǎn)出均不低于j0決策單元的j=1各項產(chǎn)出,它的各項投入均低于J0決策單元的各項投入,即有min

42、 ESTn刀入 yrj >yrjo(r =1,2,s)j=1n刀入Xj WE?Xjo(i =1,2,m)j=1n刀入=1(入 >0)(j= 1,2,3n)j=1這是一個線性規(guī)劃模型,求解之后如果E<1,則決策單元j0非決策DEA有效,否則決策單元 J0DEA有效。例:某銀行的4個分理處的投入產(chǎn)出情況如下,確定個分理處是否DEA有效。投入產(chǎn)岀職員數(shù)營業(yè)面積儲蓄存款貸款中間業(yè)務(wù)分理處11514018002001600分理處22013010003501000分理處3211208004501300分理處4201359004201500首先確定分理處一的運行是否DEA有效,寫出線性規(guī)劃

43、模型如下:min Est1800 入+1000 人+ 800 入+ 900 入 紹 800200 入 +350 人 + 450 入 + 420 入 >2001600 入+1000 人 + 1300 入+1500 入 >160015 入+ 20 人+21 入+ 20 入 W15E140 入 +130+120 入 +135 入 >140E入+ 4 +入+入=1入 >0(j = 1,2,3n)在excel上建模如下ABCDEFH11投入產(chǎn)肝2職員數(shù)營業(yè)面積儲茁存款貸款中間業(yè)務(wù)3分理處1151401S0020016004分理處220130100035010005分理處32112

44、0SOO45013006分理處Q20135900420150078EXIX2X3X491.0000011.000001000101112=1800*B94> =180013-200*B9+S> =200XIX2A3X514=1600*B94> =160015二15相 9+2(<=15.0000216=140*B9+l<=140. 000117二1IS=AS添加約束設(shè)置目標(biāo)單元格):等于:r盤大值血 n撮小值如值為 叵可變單元格:|$站五$6推測© 約弟(U):添加| 更改© | 刪陰|$B$12:$B$14 X mi2:$D$14 $B$15:$B$16 <= $D$15:$D$1B SBS1T = SDSIT$R$g:$E$g > o求解得到sEXIX2X3X491. OOOOQ1一:L 0000空o0Q1U11約束' 二E=1121300. 002> =180013200. 0002> 二200MX22入4入5141600. 002> =16001515. 00002<-15.000021&140. 0001<-140

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論