算法:某种版本的生产者/消费者?调度



我不确定这是否是生产者/消费者的问题,但我找不到更好的方式来表达我的问题。

我想知道这个问题(或类似的问题)是否已经解决了。如果没有,这是NP问题吗?以下是对问题的描述以及我想要回答的问题
  • 假设你有4个生产者和2个消费者。
  • 假设你已经知道生产者将要生产的所有东西(作为物品列表,每个物品的大小不同)
  • 假设每个消费者可以以不同的速度消耗任何数据(例如,consumer1消耗任何项目的速度是consumer2的两倍)

问题:如果我控制调度程序(意味着哪个消费者获得什么项目),我如何发现项目的什么分配将使消费者最快地完成(消耗所有项目)。

我希望这有意义。我花了几个小时思考这个问题,然后又花了几个小时寻找可能的解决方案,但仍然没有运气。希望我能从大家那里得到一些头脑风暴/解决方案。提前感谢!

我认为这是垃圾箱包装问题的一个变体,不是一个垃圾箱,而是两个不同大小的垃圾箱;您希望最小化所使用的垃圾箱的总数,并且希望使用每种类型的垃圾箱的数量大致相同。这是一个NP-Hard问题

请注意,我不认为这里使用的生产者数量是相关的。

最新更新