【问题标题】:Algorithm to find the maximum acceptable values of the variables找到变量的最大可接受值的算法
【发布时间】:2019-04-14 20:34:09
【问题描述】:

我需要一种算法,它可以为我提供 Java 方程系统下变量的最大可接受值。我可以使用 Cramer 算法,但我认为有更快的算法来解决这个问题。

编辑: 这不是最大化目标函数,而是简单地查看在这些限制下任何变量可以取的最大值。 示例:

x1 <= 4
x2 <= 4
x1 + x2 <= 6
-x1 + 2x3 <= 4
x1 >= 0
x2 >= 0
x3 >= 0

Solution:
x1 <= 4
x2 <= 4
x3 <= 4

【问题讨论】:

  • 你可以试试 Symplex。
  • 我不想在组合中找到最大值。我只想知道我可以为每个变量分别分配哪个值。
  • 当然,您可以一次使用带有一个变量的 symplex。例如: max z = x1 与您的七个约束然后 symplex 找到 z* = 4 作为最佳解决方案,然后您可以重复 max z = x2 和 max z = x3。
  • 好的,我试试看。

标签: java linear-programming


【解决方案1】:
  1. 使用任何类型的 Scanner 或 InputStreamReader 类读取输入。

  2. 使用 StringTokenizer,取第一个变量名。获取下一个令牌,操作员。

  3. 使用右边的数字(假设运算符为

  4. 如果您有 >= 或 > 运算符,您还可以获得给定数字的最小值。

【讨论】:

  • 不,我需要一种算法来解决这些方程,这样我就可以获得每个变量 x1 x2 x3 的最大可能输入
  • 等等。您问的是如何使用您自己的自定义变量类型对吗?
  • 它根本与类型无关。假设您有以下限制:x1
  • 通读输入。使用 StringTokenizer,取第一个变量名。获取下一个令牌,操作员。使用右边的数字(假设运算符为
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-08
  • 2018-03-08
相关资源
最近更新 更多