Получил результаты тестовых вычислений одного своего алгоритма точного решения задачи коммивояжера. Алгоритм основывается на методе Литтла, модификации подвержены функция определения нижней оценки набора решений и порядок выбора дуги. Теоретические обоснования корректности модификации функции нижней границы и выбора дуги оформлены в виде статьи. Статья опубликована.
Результаты тестов на случайных несимметричных матрицах общего вида (равномерное распределение весов) при 100 пунктах показывает улучшение показателя времени в среднем около 20000 раз (бывает до нескольких сотен тысяч)!
Приведу результаты решения стандартных задач, распространенных в интернете. Время указана в секундах для компьютера Pentium 3.15GGz, 512Mb. В случае, если решение задачи тем или иным методом снималась по истечении 1 часа отведеного времени, время не указано, но указано достигнутое за это время решение. Результаты приведены только для задач, которые решились хотя бы одним методом за отведенное время - задачи ft53, ftv100, ftv110, ftv120, ftv170, td100, p43, big702, atex4, atex5, atex8, dc112, dc126, dc134, dc176, dc188, dc563, dc849, dc895, dc932 не решились за отведенное время.
| Задача | Метод Литтла | Моя модификация | ||||
| размер | известное решение | время, сек | решение | время, сек | решение | |
| ft70 | 70 | 38673 | 38673 | 149 | 38673 | |
| ftv33 | 34 | 1286 | 0,16 | 1286 | 1,1 | 1286 |
| ftv35 | 36 | 1473 | 0,08 | 1473 | 0,05 | 1473 |
| ftv38 | 39 | 1530 | 0,31 | 1530 | 0,05 | 1530 |
| ftv44 | 45 | 1613 | 1,5 | 1613 | 0,08 | 1613 |
| ftv47 | 48 | 1776 | 21 | 1776 | 0,42 | 1776 |
| ftv55 | 56 | 1608 | 616 | 1608 | 2,4 | 1608 |
| ftv64 | 65 | 1839 | 952 | 1839 | 2 | 1839 |
| ftv70 | 71 | 1950 | 1963 | 8,4 | 1950 | |
| ftv90 | 91 | 1579 | 1611 | 1,5 | 1579 | |
| ftv130 | 131 | 2307 | 2474 | 117 | 2307 | |
| ftv140 | 141 | 2420 | 2585 | 108 | 2420 | |
| ftv150 | 151 | 2611 | 3048 | 135 | 2611 | |
| ftv160 | 161 | 2683 | 3019 | 3970 | 2683 | |
| rbg323 | 323 | 1326 | 1527 | 3 | 1326 | |
| rbg358 | 358 | 1163 | 1580 | 7,3 | 1163 | |
| rbg403 | 403 | 2465 | 3400 | 5,5 | 2465 | |
| rbg443 | 443 | 2720 | 3441 | 3,6 | 2720 | |
| td316 | 317 | 691502 | 722548 | 12 | 691502 | |
| td1000 | 1001 | 1242183 | 1263952 | 1228 | 1242183 | |
| br17 | 17 | 39 | 5,1 | 39 | 5,6 | 39 |
| kro124p | 100 | 36230 | 36352 | 3568 | 36230 | |
| ry48p | 48 | 14422 | 571 | 14422 | 54 | 14422 |
| atex1 | 16 | 1812 | 0,23 | 1812 | 0,41 | 1812 |
| atex3 | 32 | 2952 | 0,28 | 2952 | 0,05 | 2952 |
| code198 | 198 | 4541 | 0,23 | 4541 | 0,06 | 4541 |
| code253 | 253 | 106957 | 106957 | 1261 | 106957 | |
1 комментарий:
А где статья опубликована?
Отправить комментарий