微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

求解联立方程/不等式

如何解决求解联立方程/不等式

我需要解决一系列方程/不等式:

a1 + a2 + a3 >= 50
b1 + b2 + b3 <= 40
c1 + c2 + c3 <= 10
a1 + b1 + c1  = 50
a2 + b2 + c2  = 35
a3 + b3 + c3  = 15

有九个变量和六个方程/不等式,但我将一次将三个变量归零(我必须检查所有组合)。

我在 R(limsolve、matlib)中尝试了几个包,但没有成功。

#The matrix representation:
X1 <- c(1,1,0)
X2 <- c(0,0)
X3 <- c(0,1)
Y1 <- c(1,0)
Y2 <- c(0,0)
Y3 <- c(0,1)
A1 <- matrix(c(X1,X2,X3,Y1,Y2,Y3),c(9,9))
A2 <- t(A1); colnames(A2) <- c("a1","a2","a3","b1","b2","b3","c1","c2","c3")
b <- c(50,40,10,50,35,15)

任何帮助将不胜感激。

解决方法

这可以使用线性规划解决。没有什么可优化的,您只是在寻找可行的解决方案。

library(lpSolve)

res=lp(
  "min",rep(0,ncol(A2)),A2,c(">=","<=","==","=="),b
)

res$solution

[1] 50 35 15  0  0  0  0  0  0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。