机器调度问题

时间:2010-07-27 09:51:56

标签: algorithm

我有一个组合问题:

你有N名测试员。

每个测试者都是M种不同类型之一。

每个测试仪都可以配置为使用P个不同配置中的一个。

你有很多要测试的产品,

每种产品只能在特定测试仪类型上进行测试,

每个产品只能由配置了特定配置的测试仪进行测试。一些配置可以应用于多个产品。 任何测试人员都可以在生产过程中更改其配置,但测试人员配置上的每次更改都会产生额外的时间。 每个批次的批量大小决定了它的测试时间Q.

现在我需要制定大量的调度算法,以便完成所有批次测试的时间最短。

解决此类问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

它可以被建模为Job-Shop问题(JSP),其中设置时间为作业大小为1.不幸的是,当作业数量> 1时,很难找到最佳值。 10。

有很多免费的求解器实现包含Job-Shop作为示例问题: 如果您使用的是C ++,Gecode就是好的。如果您可以自由选择,ECLiPSe Prolog包含JSP的源代码。

如果你可以使用良好解决方案(而不是最佳解决方案),我建议使用贪心算法(对于JSP,贪婪算法通常在最佳值的10%范围内提供解决方案 - I对此有一些经验)。我会考虑一个并回到这里(问题是所谓的'设置时间限制',即来自更改测试仪配置的约束)。