Algorithm 流量3台机器2台操纵器

Algorithm 流量3台机器2台操纵器,algorithm,Algorithm,我有3台机器Mach1,Mach2,Mach3和2台操纵器Man1,Man2 Man1手柄Mach1和Mach3 Man2处理Mach2和Mach3,因此有一台通用机器 每台机器都有循环时间Tmach,每台操纵器都有维修时间Tservice 由于维修过程中的一些问题等,维修时间经常不同 机器循环时间在大多数情况下是恒定的,但在系统启动时是未知的 问题是:如何优化该系统的流量?可以使用什么算法?每个参考都很有价值,但最好的是伪代码 愚蠢的问题解决方案是: 开始 Man1handleMach3,Ma

我有3台机器
Mach1
Mach2
Mach3
和2台操纵器
Man1
Man2

Man1
手柄
Mach1
Mach3

Man2
处理
Mach2
Mach3
,因此有一台通用机器

每台机器都有循环时间
Tmach
,每台操纵器都有维修时间
Tservice

由于维修过程中的一些问题等,维修时间经常不同

机器循环时间在大多数情况下是恒定的,但在系统启动时是未知的

问题是:如何优化该系统的流量?可以使用什么算法?每个参考都很有价值,但最好的是伪代码

愚蠢的问题解决方案是: 开始
Man1
handle
Mach3
Man2
handle
Mach2
然后
Man1
handle
Mach1
Man2
handle
Mach3
等等

这是很好的,但当处理时间开始不同,流量不是最佳的

//编辑感谢@j_random_hacker提出有助于更清楚地说明问题的问题

例如,机械手就是工业机器人

周期时间是指在机器上加工零件的时间

服务时间是指机器人操作机器的时间,由于等待加载零件、定位零件等原因,服务时间可能会有所不同

每台机器都是相同的,但操纵器只能到达指定的机器

工作是有任务的,所以总有工作要做 每个作业在一个周期内处理
处理不能也不能被分割

在其可以服务的机器上随机启动空闲操纵器,该机器在最长时间之前服务过(或者在最后一次服务的机器之间随机选择)

如果没有操纵器处于空闲状态,请等待重新启动一个操纵器

这将尝试平衡每台机器的维修时间


您可能希望以最短维修时间的五分之一的倍数等待,而不是使用更高的精度,因为此时间量化可能会改善情况,因为它允许维修在同一时间段内完成多一点,这可能会改善情况。

什么是操纵器?“周期时间”是什么意思?“服务时间”是什么意思?是否有一组作业需要处理?作业可以在任何机器上处理,还是只能在特定机器上处理?每个作业处理需要多长时间(也许这意味着“多少个周期”?是否可以在多台机器上拆分作业的处理?必须分开吗?等等。也许你的问题更适合在scicomp.stackexchange.com上提出