基于python的机器配置与优化利用

2024-07-04 15:03:57 发布

您现在位置:Python中文网/ 问答频道 /正文

Problem statement : Meet the demand which can be met across 2 facilities each having multiple machines where several components are made.The objective is to find the most optimal solution to meet the demand with lowest utilization of machines.

  • 需求是总的,可以通过在任何一个设施上装载来满足
  • 设施A必须装载,并且只有在完全利用时, 然后装上B设施
  • 机器可以在其上制造一个或多个组件(直到其可用时间耗尽)
  • 并非所有的机器都制造所有的部件
  • 每台机器都有一个“运行时间”,它表示生产1单位部件的时间。运行时间越低 更好
  • 在机器上生产不同的部件需要不同的时间。我们选择运行时间最少的机器来生产

  • 每台机器都有一个完整月份的总“可用小时数”,这是该机器的总可用运行时间

  • 在任何给定点,机器的利用率不能超过100%

  • 如果需求如此之高,以至于超过了一台机器的利用率,我们就选择运行时间第二低的次佳机器来制造该组件

Given this information, we need to :
1. pick the machine (which can make a component) with lowest run time first.
2. see if demand is met by choosing that machine to produce that component or not. (check the available hours of a machine, subtract available hours with the total time to meet demand. the remaining time is now the updated available hours for that machine). the total time to meet demand is simply run-time*demand for that component.
3. repeat 1 & 2 for all components.
4. if a demand is so high that a machine gets completely utilized, then choose the next best machine where a component can be made(machine with 2nd lowest run-time).
4. All demand should be met(not exceeded) for all components.
5. Try to see that machines should be optimally utilized overall.
6. evaluation metric to compare results between 2 runs are :
% demand met
% utilization overall
variance between utilization across machines

我尝试过使用Google的OR-TOOLS包,但解决方案始终没有收敛。也许模型不对(Google OR-Tools : Solution unable to converge for Assignment with Task Sizes using python) 对于无法制造组件的机器,我使用了大量(10000000)作为成本的一部分

使用任何其他包/方法都可以,只要解决方案可以扩展到大型数据集。 我意识到这是箱子包装问题的一个特例,箱子大小不同,而且不是所有的箱子都允许所有的物品被保存。 感谢您的帮助


Tags: theto机器forthattimeiswith

热门问题