制造商调度程序

时间:2012-01-02 18:55:33

标签: schedule scheduled-tasks

我有一个离线排程问题,目的是找到在截止日期前完成所有客户订单的计划,如果无法执行则报告错误。

情况是制造商有某种产品。他们有一台机器来生产他们的产品,每种产品最多只能生产Mi项目,并且有完工时间(Mi和Ti取决于每种产品)。
有一些客户,每个客户将在时间t订购一组产品。此订单的截止日期取决于其订单类型。快速订单的截止日期为t + Df,而慢速订单的截止日期为t + Ds。 Ds和Df是不变的。

例如,

    产品A可生产5件5分钟     产品B可生产2件1分钟     Ds = 7分钟,Df = 6分钟
有两个客户订单
    在t = 2的快速服务{A,A,B}(然后该订单的截止日期是8)     在t = 7时的慢速服务{A,A,A,B}(然后该命令的截止时间为14)     然后解决方案是:
    在t = 2时开始生产2项A(我们无法在收到订单前开始生产)
    在t = 7时,A的2个项目已经完成,我们可以开始为订单1和2生成2个B项(因为在t = 7,我们收到第二个订单,我们可以开始生产第二个订单)
    在t = 8时,B的2个项目完成(第一个订单在t = 8完成,这是在截止日期之前并完成此客户订单),我们可以开始为订单2生成3个项目的A     在t = 13时,A的3个项目完成(第二个订单在t = 13完成,也在截止日期之前完成并履行此客户订单)。

可能的时间表将是:
    在t = 2时,为订单1产生2 A.     在t = 7时,对于1阶和2阶产生2 B.     在t = 8时,为订单2产生3 A.

我怎样才能找到时间表,以便在截止日期前完成所有客户订单?

0 个答案:

没有答案