1. 程式人生 > >線性規劃算法原理介紹

線性規劃算法原理介紹

算法 線性規劃

線性規劃定義:

求滿足約束的最優目標,目標是變量的線性函數,約束是變量的相等或不等表達式。

單純形算法

1 松弛變量 為將不等式轉化為等式添加的非負變量
比如 將f(xi) >0 變成 xj= f(xi) ,那麽xj就是松弛變量

主元操作(pivot)

1 任意在目標函數中系數為正的基本變量xi, 計算對其約束最緊的松弛變量yj
2 將yj= f(x) 轉換成 xi = f(x,yj)
3 將上式代入其余約束和目標函數 ,從而生成新的線性方程組

單純形算法(simplex)

1 將標準型轉化為基本解可行的松弛型
2 如果目標函數裏還有正系數,就執行主元操作
3 按照基本解,求基本變量和目標值,即位最優解

單純形算法證明:

求證: 如果線性規劃有最優解,那麽單純形算法得到的解一定是最優解;如果線性規劃沒有最優解,那麽單純形算法一定會返回無解
已知:
1 松弛變量>0
2 第一步轉化好松弛型,其基本解可行
證明:
如果線性規劃沒有最優解,那麽單純形算法一定會返回無解
證明: 因為基本解可行,所以一定有解
如果線性規劃有最優解,那麽單純形算法得到的解一定是最優解
證明:
1 目標函數都是等價變換的,不會影響其值
2 最後目標函數系數都是負的,而基本變量和松弛變量都是非負數


本文出自 “12033555” 博客,請務必保留此出處http://12043555.blog.51cto.com/12033555/1940287

線性規劃算法原理介紹