遗传算法在JobShop中的应用研究(part 6:结果显示)

1 def FormatSolution(s, C, I):
2     T = [0 for j in xrange(I.n)]
3     S = [[0 for t in I[j]] for j in xrange(I.n)]
4     for i in xrange(len(s)):"""遍历染色体"""
5         j = s[i]"""获得i的工件号j """
6         t = T[j]"""获得i是j的第几道工序t"""
7         S[j][t] = C[i]"""将i的加工时间存到S的相应位置中"""
8         T[j] = T[j] + 1"""工件j的工序累加器+1 """
9     return S

S中存放的是每道工序开始加工的时间,它的形式为:[[a,b,c],[d,e,f],[g,h,i]],每个子list代表一个工件的信息,子list中的字母代表这个工件下面每道工序开始加工的时间。

假设我们知道每道工序开始加工的时间,同时又知道每道工序所需要的机器号,我们就可以得到每台机器上工序的加工顺序,进而可以用软件画出调度的甘特图。

posted @ 2016-07-24 19:01  victorchew  阅读(791)  评论(0)    收藏  举报