也即是從幾何上給線性規划問題的概念給一個具體的說明。
連接x1,x2的線段,如果包括x1,x2端點則稱為閉線段,不包括則稱為開線段。 數學上表述為,任取線段內部的某一點x,如果能寫出/描述出這點x的軌跡或其坐標變化的規律,
就可以。為了做到這一點,我們設想有x1,x2,分別有以x1,x2為終點的向量也有在二者之間任取的一點x為終點的向量,讓后把以x為終點的向量,用以x1,x2為終點的向量表示。
如下圖,大體做法為,過點x做向量ox2的平行線,在下圖的三角形中,兩條藍色和一條紅色向量,其中x軸的藍色向量是ox1向量的一部分,然后用x1,x2表示ox向量,當x1,x2前面的系數lamda在0和1之間變動時,x也就在線段x1x2上來回變動,那么所有x的軌跡也就是閉線段;如果lamda不取0和1那么,就稱為開線段。
前面講過一個例子,如下圖示,在交點處(2,2)和(3,3/2)處都是最優解,且連接兩個點線段之間的任意取值都是最優解;所以閉線段就是以某兩個點為端點連接而成的閉合的線段而已。
凸集,如下圖中第一個圖形,它是一個凸多邊形,往外補/頂的多邊形,所圍成的一個區域/集合,我們稱之為凸集。
數學上可這樣描述:
在某集合的內部任選兩個點,連接這兩個點的閉線段仍然示含於這個集合的,我們就稱這個集合為凸集。
所以,有這樣的若干條直線,圍成的凸多邊形區域一定示凸集。
大家注意:圓面是不是凸集?肯定是的。因為在其內部任選兩點。。。。
但是,圓並不是凸集,因為,在圓邊上任選兩個點,很顯然並不完全在圓上。同理球面也不是。但是,球體是凸集。
頂點:就是不在任意兩個點連線的內部(不含端點)的點;如下圖的五個頂點(已標出);
上圖看得到,凸多邊形(正好構成一個凸集)的頂點,恰好就是凸多邊形構成的凸集的頂點。 那么,圓面是一個凸集,那么圓面有沒有頂點呢?有的,圓面的邊界就是它的頂點。
同理,球體的頂點示球體的表面。所以不要以為,凸集的頂點總是凸多邊形的頂點,這個不一定。因為這個凸集本身就不一定示多邊形區域。各種各樣的凸集,有各種各樣的頂點,
就像此處的圓面和球體他們也有自己的頂點。自己理解的:也即凸集頂點可以是面或曲線。
線性規划基本定理:
1. K是凸集;K是可行域(線性規划問題的可行域);也即說線性規划問題的可行域是凸集;可看下圖,我們看過的例子,這個例子有唯一最優解,他的可行域是藍色線段圍起來的,很顯然是凸集;
LP的基本可行解與其可行域的頂點是一一對應的。
如下圖的坐標圖中可行域有5個頂點,所以其對應的線性規划問題,就有5個基本可行解;因為一一對應,不多不少。
基本可行解理解起來可能沒那么直觀,有點抽象,沒那么容易理解。但是可行域的頂點,就很直接了,就是幾何上的一個點。
也即可行域的頂點,就決定了它的基本可行解,二者是一一對應的。
若那個可行域不是空集,那么它至少有一個頂點。空集的話,就沒有了。
比如,之前學過的例子,是目標函數無界的例子,雖然其可行域也是無界的,但其並不是空集;無界和空集不是一回事。也可看到,其有兩個頂點,也不是空集;所以結論正確;
如果可行域是空集,那么就沒有頂點了,如下圖右下角圖例。
一個可行域的頂點,最多有Cnm個,n個變量,m個約束條件,系數矩陣中,從n列中取m列,可以構造一個基,也就是最大可能基的數目,當然不一定有這么多,但這是上限 。
基本可行解的數目肯定不會超過上限,但是也沒辦法從最多這么多個基本可行解中通過枚舉/窮舉的方法,一一比較優劣,來找到最優解呢?太慢了!
上圖中的五個解,能不能從圖上一步到位的指出來呢? 如果能指出來那么就很具體了,不會虛無縹緲了。以前面所學的第二個例子,
可知道可行解是可行域的頂點,以及閉合區域內的任何一點都對應這可行解,很直觀;
基本可行解對應着可行域的頂點,上圖中坐標圖中可行域有5個頂點,所以基本可行解就是這5個,別無其他的了。
最優解則是可行區域中紅線段上的所有點,有無窮多個。
基本最優解只有兩個,也就是可行區域中紅線段上的兩個端點(也是可行域的兩個頂點);它們不僅是最優解,而且是基本最優解。
還有一個基本解沒有指出它的位置,那么能否從可行域上指出其在哪呢?這個很難指出來。因為我們前面知道,基本解和可行解沒有必然的聯系,基本解不一定是可行解,
可行解也不一定是基本解;也即可行解不已經是基本解了,那么你怎么能從可行域中指出哪些基本解呢?但是我們可以找出一些特殊的,叫做基本可行解的基本解,因為他們只有5個頂點對應的才是。但是一般的基本解我們是無法找出來的,因為它連可行解都未必是。