平衡的工作量分配? [英] Balanced Workload Distribution?
本文介绍了平衡的工作量分配?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有N个不同工作负荷的工作要分配给n个人,以便尽可能平衡工作量。
例如 - 我们有将5个工作分成工作负荷< 1,2,3,4,5> 3人之间。最好的方法显然是按如下方式分发: -
< 1,4>,< 2,3>,< 5>。 >
因此问题是最小化
z = abs(ab)+ abs(bc)+ abs(ca)
其中a,b,c是三个人的工作量。解决问题的最有效方法是什么?
I have N jobs with varied work loads that is to be distributed among n persons so that the work load is as balanced as possible.
e.g-we have to divide 5 jobs with work loads <1,2,3,4,5> between 3 persons. The best way would obviously be to distribute as follows:-
<1,4>,<2,3>,<5>.
Thus the problem is to minimize
z=abs(a-b)+abs(b-c)+abs(c-a)
where a, b, c are the workloads of the three persons.What would be the most efficient way to solve the problem?
推荐答案
这是一个优化问题。如果你问的算法,然后尝试遗传算法,你可以找到相关的文章 [ ^ ]
在坚果壳中,你可以添加另一个轻松的工作为0,所以总共会有6个工作。然后,您的程序将在3个人中排列这6个工作,然后使用z = abs(ab)+ abs(bc)+ abs(ca)作为衡量每个排列的平衡的适应度函数。
This is an optimization problem. If you are asking about the algorithm, then try Genetic Algorithm, you can find relevant articles[^] on CP.
In a nut shell, you can add another effortless job as 0, so there will be a total of 6 jobs. You program will then permutate these 6 jobs among the 3 persons, then use the z=abs(a-b)+abs(b-c)+abs(c-a) as the fitness function to measure the balance-ness of each permutation.
Person a b c
job rotation1 2, 3 0 5 4, 1 => z?
job rotation2 0, 2 3 1 4, 5 => z?
... and so on
玩得开心!
Have fun!
这篇关于平衡的工作量分配?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文