?? help.txt
字號:
下面先介紹一下怎么操作這個程序吧。運行程序。輸入問題時首先要確定一下維數(shù),點擊“重新輸入系數(shù)矩陣的維數(shù)”即可輸入約束不等式個數(shù)m和變量個數(shù)n,程序會重置維數(shù)而且給出默認值。然后再一個一個輸入不等式組左邊的系數(shù)矩陣,不等號(標號集),右邊的條件向量。然后再輸入線性函數(shù)的費用向量c (min(z) = c*x),還有每個變量的符號約束,如果沒有符號約束,請清空對應(yīng)的“>=”,有“>=”的是表示對應(yīng)的變量要大于等于0。當然,也可以打開一個調(diào)試用的文件"common.ini" 。
本程序還做了比較嚴密的合法性檢查,如果輸入有誤的話在執(zhí)行算法的時候就會輸入錯誤的提示,并指出出錯的地方,引導(dǎo)用戶操作。輸完之后即可按“用修正單純型法求解”來執(zhí)行算法。也可以看看化成規(guī)范型(即把所有不等式約束都變成與之等價的等式約束,還要求所有變量都大于等于0)的結(jié)果。點擊按鈕后就會彈出一個輸出結(jié)果的窗口,可以看到解該問題時的所有詳細的中間結(jié)果(當然如果沒有學(xué)過修正單純型法的人是看不懂的),最后還有問題的最優(yōu)解和最優(yōu)目標函數(shù)值。
程序中還有一些附加的功能,比如說原問題和結(jié)果的保存、打開。還提供了所有關(guān)于矩陣的運算功能,有時驗算的時候會用到。(結(jié)果的打印還沒做好)
注意:本程序所有的數(shù)都是分數(shù),如果是小數(shù)的話,請先轉(zhuǎn)化成分數(shù)。
應(yīng)該說,這個程序還是實現(xiàn)了我所想到的大部分功能,列舉如下:
1.首先程序的運行是正確的。我想凡是能得出正確結(jié)果的程序都應(yīng)該得到比較高的分數(shù),我想這一點同學(xué)們也大都做到了。
2.有比較方便友好的輸入界面,而且有比較嚴密的合法性檢測。為了界面做的友好,不要以為用一些編程工具有大把大把的控鍵就行了,其實還要排版、輸入輸出轉(zhuǎn)換,特別是要合法性檢測。很煩的。我想同學(xué)們都沒有做多少合法性檢測吧,如果系數(shù)矩陣輸入一個字母a你說會怎么樣。
3.能求任意維數(shù)的線性規(guī)劃問題。要實現(xiàn)這個起碼要動態(tài)分配內(nèi)存吧,這也是有點煩的。
4.能化成規(guī)范型,可有不等式約束,可有自由變量.如果本身已是規(guī)范性問題, 還可以選擇輸入一個已知的初始基可行解而不用進行第一階段.
5.輸出了像作業(yè)一樣的結(jié)果(當然也可以為了速度而設(shè)置參數(shù)不存中間結(jié)果)。考慮到這個程序是面向老師學(xué)生的,我想多輸出詳細一點會比較好吧。但是這樣一來將會煩很多,后期主要都是在調(diào)試這里。其實這個程序主要煩的地方就是做輸入和輸出了。
6.考慮到運算的精確性,本程序是用分數(shù)來進行運算的。至于怎么很好地用分數(shù)來計算起碼是有點技巧的。
沒有實現(xiàn)的有:沒有最大值問題的轉(zhuǎn)換(雖然也不難加進去),沒有設(shè)置存不存中間結(jié)果的界面(代碼中已實現(xiàn)),做輔助問題時還沒有很好地優(yōu)化。合法性檢測還不夠完善。
kk.h
2001-5-23
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -