simplex
位於 boot
包(package)。 說明
此函數將在 A1%*%x <= b1
、 A2%*%x >= b2
、 A3%*%x = b3
和 x >= 0
約束下優化線性函數 a%*%x
。最大化或最小化都是可能的,但默認為最小化。
用法
simplex(a, A1 = NULL, b1 = NULL, A2 = NULL, b2 = NULL, A3 = NULL,
b3 = NULL, maxi = FALSE, n.iter = n + 2 * m, eps = 1e-10)
參數
a |
長度為 |
A1 |
|
b1 |
長度為 |
A2 |
|
b2 |
長度為 |
A3 |
用於等式約束的係數矩陣 |
b3 |
長度為 |
maxi |
一個邏輯標誌,如果 |
n.iter |
單純形法每個階段要進行的最大迭代次數。默認為 |
eps |
用於相等測試的浮點容差。 |
細節
該函數采用的方法是兩階段單純形法。如果存在 或等式約束,則不容易找到初始可行解。為了找到可行的解決方案,在每個 或等式約束中引入人工變量,並將輔助目標函數定義為這些人工變量的總和。如果存在一組約束的可行解,則當所有人工變量均為 0 時,輔助目標將被最小化。然後將這些變量丟棄,並從輔助問題的解開始解決原始問題。如果唯一的約束是 形式,則原點是可行解,因此可以省略第一階段。
值
類 "simplex"
的對象:參見 simplex.object
。
注意
這裏采用的方法僅適用於相對較小的係統。此外,如果可能的話,約束的數量應該減少到最少,以加快執行時間,該時間大約與約束數量的立方成正比。特別是,如果存在 x[i] >=
b2[i]
形式的任何約束,則應通過設置 x[i] = x[i]-b2[i]
來省略它們,相應地更改所有約束和目標函數,然後在找到解決方案後轉換返回。
例子
# This example is taken from Exercise 7.5 of Gill, Murray and Wright (1991).
enj <- c(200, 6000, 3000, -200)
fat <- c(800, 6000, 1000, 400)
vitx <- c(50, 3, 150, 100)
vity <- c(10, 10, 75, 100)
vitz <- c(150, 35, 75, 5)
simplex(a = enj, A1 = fat, b1 = 13800, A2 = rbind(vitx, vity, vitz),
b2 = c(600, 300, 550), maxi = TRUE)
參考
Gill, P.E., Murray, W. and Wright, M.H. (1991) Numerical Linear Algebra and Optimization Vol. 1. Addison-Wesley.
Press, W.H., Teukolsky, S.A., Vetterling, W.T. and Flannery, B.P. (1992) Numerical Recipes: The Art of Scientific Computing (Second Edition). Cambridge University Press.
相關用法
- R saddle.distn Bootstrap 統計的鞍點分布近似
- R survival 輻射劑量後大鼠的存活率
- R salinity 水鹽度和河流排放
- R saddle Bootstrap 統計的鞍點近似
- R smooth.f 數據點上的平滑分布
- R poisons 動物生存時間
- R ducks 雜交鴨的行為和羽毛特征
- R nodal 前列腺癌的淋巴結受累
- R cloth 布料瑕疵數量
- R polar 新喀裏多尼亞紅土的極點位置
- R capability 模擬製造過程數據
- R beaver 海狸體溫數據
- R tsboot 時間序列的引導
- R logit 比例的邏輯
- R EEF.profile 經驗可能性
- R tau Tau 粒子衰變模式
- R gravity 重力加速度
- R boot 引導重采樣
- R plot.boot Bootstrap 模擬的輸出圖
- R boot.ci 非參數引導置信區間
- R tilt.boot 非參數傾斜引導
- R envelope 曲線的置信區間
- R bigcity 美國城市人口
- R co.transfer 一氧化碳轉移
- R imp.weights 重要性采樣權重
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Simplex Method for Linear Programming Problems。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。