具有两个变量的线性优化,给定初始值

问题描述 投票:0回答:0

假设我们有以下不等式:

3x + 7y <= 71
4x + 9y <= 21
    ...

以此类推,格式如上。系数和生成的值 (71,21 ...) 将为正,x 和 y 也将为正。输入将输入如下:

3 7 71
4 3 18
  ...

以此类推,以上述格式

我们还将获得 x 和 y 的一些起始值: x = 7, y = 9.

有了这个,我们将尝试找到将 x 和 y 拟合到不等式中所需的变化量。 在这种情况下,我们会发现最佳(也是唯一可能的值)x 和 y 将是 x = 5,y = 1,这将需要下一个更改为 2 和 8,给出最终答案 10 (2+ 8).

我环顾四周,看看如何有效/简单地做到这一点,但如果不使用我无法使用的庞大库,就找不到任何东西。不幸的是,除了蛮力检查整数值之外,我真的不确定如何以最佳方式做到这一点。

澄清一下,我可以手动执行此操作,但如果有 100 个大数不等式,它会变得很烦人,所以我需要 c++ 代码来执行此操作。

我已经研究过使用 simplex,但是对于这么简单的东西来说似乎有点过分了,而且我无论如何都不能使用外部库。

c++ algorithm linear-programming
© www.soinside.com 2019 - 2024. All rights reserved.