分配公式

时间:2012-12-07 20:19:36

标签: c# algorithm math mathematical-optimization

我有汽车维修服务店,有很多服务(诊断,发动机维修。电气维修...)顺序保存无所谓

然后我知道现有汽车需要多长时间才能获得单一服务,例如:

  1. 福特 - 诊断120分钟,发动机360分钟,电动维修80分钟
  2. 宝马 - 诊断时间为90分钟,发动机为480分钟,电动维修时间为140分钟
  3. 梅赛德斯 - 诊断90分钟,发动机42分钟,电动维修160分钟
  4. 等。还有很多车型。

    有没有任何好的算法或数学公式可以将汽车最佳地分配到服务箱中,这样不会浪费箱子的时间,并且只需极少的等待汽车就能获得最佳效果。

2 个答案:

答案 0 :(得分:2)

这是所谓的“开店”问题的一个例子。与Job Shop Scheduling的不同之处在于,在后者中,在机器上执行作业的顺序是相关的,而在您的示例中则不是这样。

不幸的是,问题是NP难以为你服务。 (对于两台机器可以在多项式时间内求解。)无需绝望,因为有许多算法可能适合您的问题大小。

维基百科在“开店调度”下有一些很好的起点,参考了该领域的经典论文。

答案 1 :(得分:0)

您的问题称为“作业车间调度”问题,有时只称为“车间调度”。它被广泛讨论,因为随着变量数量的增加变得非常困难(这就是所谓的“NP-Hard”问题)。

没有简单的答案,但有几种好的算法可以追求计算时间的交易准确性。我建议由Dorit Hochbaum编辑的书“Approximation Algorithms for NP-Hard Problems”作为资源。