p:=<номер


p:=<номер первой свободной вершины>; Chain[yk]:=p; repeat r:=<очередная вершина из Chain>; for <для всех вершин, связанных с r> do if <вершина из XN> then begin if <ребро “тонкое”> then <включить ребро в цепочку> end else begin if <ребро “толстое”> then <включить ребро в цепочку> end; until <просмотрены все вершины из Chain> or <текущая вершина принадлежит YM, и она свободна>; FindChar:=<текущая вершина принадлежит YM, и она свободна>; end; Процесс дальнейшего уточнения логики вынесем в самостоятельную часть работы. 3.10. Методы приближенного решения задачи коммивояжера 3.10.1. Метод локальной оптимизации Попытаемся отказаться от перебора вариантов, рассмотренного в главе 2. Найдем первое решение (первую оценку), а затем попытаемся улучшить оценку, просматривая только соседние города найденного пути. Шаг 1. Получить приближенное решение
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz