考虑一个为不同类型的工作提供技术人员的组织。
每种作业类型的完成时间和技术人员数量各不相同。例如,作业类型1需要2名技术人员和1小时来完成,而作业类型2需要1名技术人员和30分钟来完成。所有技术人员全天候(组织工作时间为09:00-18:00),除非分配了任何工作。
客户可以在线请求服务,并且应根据所选作业类型显示可用的时间段。
没有其他约束,如每个技术人员的最小班次或最大班次,也假设所有技术人员都具有同等的技能。
生成时隙的最佳方式是什么?
发布于 2015-09-16 14:57:25
我认为你所描述的是Producer-Consumer Problem的一种变体,其中你有由技术人员消耗的工作。
正如您所说,由于所有的技术人员都具有相同的技能,因此您不需要为手头的工作找到最佳的技术人员。因此,要解决这个问题,您所需要的实际上是一个技术人员池(您可以将其视为一个线程池),并且每次有任务到来时,您都会按照先到先得的原则分配一个技术人员到该工作。
如果没有可用的技术人员,则作业将排队等待,直到有技术人员可用为止。
https://stackoverflow.com/questions/32601484
复制相似问题