在解决这个问题期间查找了许多资料,看了很多模拟退火算法的原理和程序,找到了所有的共同特点,有些网上程序有些问题但都一一解决了,所以,写出了属于自己的程序,主要针对我所解决的题目,一下题目供大家参考,我上传了程序,供大家参考,写的不好请多多指教
作业题目:
有个工作台(5<m<10,),有项作业(),每项作业需要时间(为随机数,且)完成,每项作业均在工作台上完成,请采用优化方法实现这一优化作业方案。本文根据问题的复杂程度不同,做了不同的假设。
设m=8,n=60,各项作业的完成时间如表1所示,且有如下假设:
(1)各个工作台相同;
(2)每项作业无工序,在工作台上一次加工成功;
(3)每项作业的加工时间一定。
要求:
通过SA算法完成优化作业调度,给出最优方案的gantt图,且统计算法时间、算法运行100次的统计信息(含平均时间和优化目标值)。
表1 各作业完成所需时间(小时)
作业编号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
完成时间 |
9.1247 |
9.7379 |
0.07237 |
2.1816 |
6.409 |
6.3541 |
2.3457 |
3.1771 |
4.6829 |
1.2265 |
作业编号 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
完成时间 |
9.4124 |
1.0524 |
7.9937 |
8.7719 |
1.0097 |
5.476 |
2.5046 |
3.6155 |
5.9472 |
6.4145 |
作业编号 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
完成时间 |
3.1391 |
2.1592 |
7.9639 |
3.1333 |
3.9956 |
9.5806 |
1.98 |
2.8754 |
3.6676 |
4.8098 |
作业编号 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
完成时间 |
4.5182 |
5.6604 |
9.0938 |
0.22301 |
1.2916 |
6.445 |
2.488 |
7.5405 |
0.63019 |
6.8949 |
作业编号 |
41 |