房间测试问题的一组测试数据
Number of students Initial TD Final TD Time in second
4 0.81 0.775 0.000012
8 1.585 1.435 0.000138
16 3.025 2.935 0.032614
32 6.19 5.46 0.127455
64 12.91 10.72 0.16823
128 25.48 23.165 0.224548
256 51.45 44.68 0.438866
512 101.295 85.41 0.683301
1024 205.78 158.515 1.320732
2048 411.12 303.745 2.696093
10240 2050.785 1425.335 23.96894
20480 4095.81 2818.28 39.023265
102400 20466.3 14476.32 72.569135
204800 40945.035 29492.005 83.687448
1024000 204771.42 155097.715 89.794617
2048000 409544.385 317641.775 90.685667
10240000 2047995.77 1690586.375 94.989921
20480000 4095997.8 3504348.605 85.097569
我采用的是最简单的模拟退火算法+TBB。
这两个东西以前都没有接触过,现学现用一下。
现在的实验结果肯定不怎么样,不过我没有时间仔细调整参数了。
我用的是VC2005,我曾经试过用intel的编译器。奇怪的是相同程序,Intel的编译器的略慢于VC编译器:
使用Intel编译器
The initial Disharmony is 20466.300000
Time to compute room assignments is 59.187849 seconds
Final Disharmony is 14643.150000
使用微软编译器
The initial Disharmony is 20466.300000
Time to compute room assignments is 53.176147 seconds
Final Disharmony is 14612.405000