1 運籌學上課覆盤 單純形法

2021-09-26 21:50:20 字數 1349 閱讀 4010

原本自己看了一點運籌學,上課聽老師講了之後又有了一些體會:

1.線性的概念

都是一次項,沒有常數項
2.運籌學從**法到單純形法的過程:

1.**法解三維以內的問題(1947之前)

2.探知發現,所有的解都是在角點處,列舉法成為解決辦法

3.列舉個數cnm(組合數)太龐大,所以提出新的思路:

迭代法,要求每次下一次選擇的點比現在的點更優秀,最後在最優點停止

之後,單純形法按這種思路被研究出來,運籌學開始建立

3.限制條件的要求:

1.m=0,並且rank(a) = rank([a,b])

rank(a) = m(a是行滿秩)(否則會出現無用限制條件,使得矛盾或者只是滿足原條件)

eg 1,1,1 這個【a,b】矩陣,第三行的係數可以化簡為0,0,0,則不滿足行滿秩,同時可以發現

2,1,2 這個條件多餘

3,3,3

4.找到基本解的思路

ax = b ,求角點

令其中n-m個變數為0(非基變數),剩下m個變數和m個方程,如果有唯一解則說明

剩下的m個變數是一組基本解

5.單純形表

我發現老師給的單純形表和我自己看的形式不一樣,所以我們不能拘泥形式,抓住主要矛盾:

變數從非基變數中選進基變數的條件:看目標函式的係數,取max

變數從基變數中選出的條件:用b/上面選進變數的矩陣係數,負數和不存在的情況忽略,

正數中選最大的

6.關於單純形法的取值深入理解

7.大m法大m法是用在不全是<=的情況下的一種解決辦法:

我還是選擇手寫吧:

下面是第一次作業(未批改)改完之後我再貼上來

運籌學實驗 1

讀入資料 處理資料 新增鬆弛變數,人工變數 計算每一列的檢驗數 決定繼續迭代還是結束 1 設立的變數 vectora 約束條件係數 vectorb 約束條件右部數字 vectors 約束條件符號 vectortest 檢驗數 vectorxita int p 基 int line 0,row 0 最...