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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。