假设我们有以下不等式:
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,但是对于这么简单的东西来说似乎有点过分了,而且我无论如何都不能使用外部库。