寻找“简单”的整数线性编程源代码/伪码(Looking for “simple” integer l

2019-08-01 06:42发布

我可能需要实现整数线性编程的今天,如果有任何伪代码或解释如何实现它相对无痛苦(很好的注释)的源代码我想知道? 随着对伪码强烈的偏好。

请注意,我不是在寻找与所有的“微调”一个严重的完整的项目,以获得最优化的性能。 我在找演示如何整数线性规划工作与尝试所有选项逐一最基本的求解。

谢谢。

Answer 1:

这个问题是一个很大的要求,所以让我尝试它一步一步:

当你说整数线性规划 ,我认为你的意思是IP与线性约束和目标函数。

1.启动与单纯形算法。 (虽然这不会对IP的工作,除了在“幸运”的情况下,你的线性程序具有“完整性”属性。)但是, 单纯始终是一个良好的开端,ESP。 因为你有兴趣在第一原理计算

出人意料的是,伪代码不是那么容易找到,但解决的例子是丰富的。 这里有一个例子中的单纯形算法的步骤。 (不的伪代码)

中科计算程序的3.1.4摘要有一些接近的伪代码。

这份文件也有单纯形算法可以实现的,ESP的摘要。 如果按照前面的章节中的示例。

请注意 ,单纯是这些算法是相对容易理解的一个(尤其是一步一步),但非常难以实现。 一个真正的好讨论的,为什么是这样的话可以在这里找到。

2.整数规划-在“简单”的情况。 很多人往往会先从“背包”的问题 。

你可以发现无论是伪代码,并在这里的Java实现 。

越来越多的困难/复杂的IP 3.公司。

  • 资本预算问题
  • 分配问题
  • 运输问题

4.通用VS专门现在有一个选择:

  • 4A。 你可以建立“通用” IP解算器(但会需要很长的时间来运行)
  • 4B。 建立特殊类型的问题,特殊用途的IP解决者。

对于4A:你可以假设0/1变量和展示分支定界技术 。 你可以找到树的实现,并修改自己的目的。 (基本上,详尽搜索聪明实现。)

对于图4b:你可以采取一个案例,说的分配问题 ,为此, 匈牙利算法经常使用,因为它很容易理解,并且可以在一个坐着一群学生授课。 本教程在TopCoder公司与数学,伪和真正的代码覆盖它相当广泛。

长的答案,但我希望这是一起你希望什么的线路。



文章来源: Looking for “simple” integer linear programming source code / pseudo code