正文 第十三章 多功能線性規劃LP程序(1 / 1)

13-1程序的功能

本程序用FORTRAN-77語言編寫,適用於不具備大型線性規劃軟件包的中、小、微型電子計算機,用戶以簡單的輸入可以得到盡量多的求解信息,是一個較LPM程序更為實用的求解線性規劃問題的計算機程序。該程序具有以下功能。

(一)基本功能

本程序用單純形方法(包括對偁單純形方法、原始單純形和對偶單純形交叉算法)求解線性規劃問題,在得到最優解後,輸出最優解和對偶解;無可行解或無界時,給出相應信息。

(二)可選擇功能

1.靈敏度分析對目標函數係數、約束條件右端常數以及係數矩陣的元素進行靈敏度分析,在保持最優解不變的條件下,求出參數允許變化的範圍。

2.多方案計算原線性規劃問題取得最優解以後.如果需要繼續改變目標函數係數、約束條件右端常數或係數矩陣中的某列元素,進行多方案比較時,本程序將從每個現行的最優解開始。

3.以表文件形式輸出原線性規劃問題的數學模型,便於用戶進行檢查、修改和保存該數學模型。

4.可以輸出最優解或每次迭代的基本可行解。

5.可以輸入係數矩陣的全部元素,或隻輸入其中的非零元素。

13-2參數的意義和主要據單元

本程序使用以下參數:

M—約束條件的個數。

K—決策變量的個數。

AAA(S,,S2),DD(S3)——這兩個數組是原始數組,通過它們可以開辟一定的空間來存放單純形表的工作數組及其它數組(右端項數組、目標函數係數數組等)。

13-3LP程序的基本框圖和源程序清單。

二、源程序清單多功能線性。

13-4程序的使用說明

(一)本程序在IBMPC/XT及其兼容機上運行,數組AAA和DD應開得足夠大。讀者也可以根據需要依下麵公式重新計算界參數,再行設置。

(二)數據的輸入順序和格式本程序提供文件及鍵盤兩種輸入形式:

1.鍵盤輸入依屏幕提示的信息和要求,輸入各項數據,輸入多個數據時,以自由格式輸入,即數據之間均以逗號分隔。具體輸入順序和格式見下文例題。

2.文件輸入具體輸入方法本文不作介紹,當用戶用鍵盤輸入時,可把輸入的數據存入文件,以便用戶對數據進行修改。修改方法如下。

(三)注意事項

1.在進行多方案計算時,每一次運行隻能完成改變目標函數係數、約束條件右端常數、係數矩陣元素三方麵任務中的一項任務,不能交叉進行。

2.在對係數矩陣第NJ列進行多方案計算時,一次運行隻能多次對確定的N列進行,即每次讀入的N(列號)都是同一值。

13-5程序運行和輸出清單

程序LP的輸出清單分為兩部分:

第一部分:輸出原始數據及數字模型,以便於用戶檢查所輸入數據的正確性和進行修改。

第二部分:輸出計算結果。可以依用戶的要求輸出:

1.每次迭代的基本可行解及當前目標函數值。

2.最優解。

3.最優解中,每個或約束條件所對應的鬆弛變量的數值。

4.原問題的最優對偁解即影子價格。

5.靈敏度分析的各種信息。

下麵通過例題,具體說。要求:

(1)隻輸出最優解。

(2)係數矩陣隻輸入非零元素。

(3)輸出原始數學模型。

(4)對約束條件右端常數進行多方案計算,在進行多方案計算時,把B2的值8.24改為7.24。

(5)對目標函數的係數進行靈敏度分析。

(6)對約束條件右端常數進行靈敏度分析。