Илья
Очень интересное сообщение :) Тем более, что TSP часто приводят как
пример использования ГА. Жалко, что сам с этой проблемой как-то не
сталкивался, больше возился с численной оптимизацией и нейросетями.
Но, если позволите, попытаюсь прокомментировать Вашу идею алгоритма.
Если правильно понимаю, предполагается в каждом поколении в течение
некоторого времени дообучать особи алгоритмом LKH, а полученные
дообученные особи скрещивать, мутировать, а затем снова дообучать и
т.д. Другими словами, используется модель эволюции по Ламарку, в
которой навыки, приобретенные в процессе жизни особи, передаются по
наследству. По сути имеем гибрид, причем, на мой взгляд, один из самых
разумных вариантов, сочетающий и локальный и глобальный поиск, хотя
процесс настройки такого гибрида может получиться непростым (нужно
будет четко соблюсти баланс между локальной и глобальной
составляющими). Это вопрос очень интересный, но решаемый. Такой
вариант гибридизации известен с 1989 также как меметичный алгоритм
(memetic algorithm), основной сайт по этому направлению:
http://www.densis.fee.unicamp.br/~moscato/memetic_home.html
А вот что еще стало очень интересно. Как известно, TSP имеет
комбинаторную сложность, и сама задача для большого количества городов
считается NP-полной (вроде достаточно условия >300 городов), т.е.
точный ответ нельзя найти за полиномиальное время, поэтому найденное
решение нельзя за конечное время проверить на оптимальность. Однако,
выходит, что каким-то образом удается проанализировать решения для
десятков и сотен тысяч городов. Подсознание удивляется: каким
образом? :)
Первое, что приходит в голову по этому поводу, так это то, что граф
задачи строится некоторым детерминированным образом, например, сразу
же устанавливается кратчайший путь между двумя городами, а потом на
этот путь "наращиваются" оставшиеся тысячи вершин и ребер таким
образом, чтобы не получился путь, короче чем первоначальный. Еще
подумал, что возможно матрица связности, соответствующая графу задачи
очень сильно разрежена, поэтому удается разбить исходный большой граф
на большое количество маленьких, и решить задачу для них. Или
действуют как-то по-другому?
А для России, если информации по координатам городов нет в открытом
виде, то уверен, она должна быть в соответствующих органах, если их
заинтересовать, то, может быть, и поделятся ;)
Юрий