![]() |
![]() |
||||
![]() | |||||
![]() |
![]() АЛГОРИТМЫ Новости Рассылка новостей Форум AlgoPascal Редактор блок-схем Статьи О сайте Контакты |
![]() |
![]() Задача о коммивояжере (методом комбинаторики)Процедура находит решение задачи о коммивояжере, используя алгоритм получения перестановок для получения всех возможных путей. На вход процедуры подается матрица цен на билеты W, при этом, если нет пути из одного города в другой, то соответствующий элемент матрицы равен 10Е6. Матрица не обязательно симметричная. В переменной f находится номер города из которого коммивояжер начинает путешествие. Затем используя алгоритм получения перестановок перебираются все возможные пути (с началом в городе f) и вычисляется их цена и, таким образом, находится путь, минимальный по затратам, который помещается в массив x. Хочется сразу заметить, что данный алгоритм не является наилучшим способом решения задачи, но показателен именно комбинаторным подходом. Если нашли ошибку в алгоритме - сообщите! Блоксхемы:![]() ![]() К сожалению, для данного алгоритма нет исходного кода. Это не ошибка и сообщать мне об этом не надо. Возможно, для алгоритма ещё не успели создать исходный код, или же при переносе алгоритма из старой версии библиотеки возникли проблемы с исходником и его написание пришлось отложить до лучших времен. Попробуйте воспользоваться прилагаемыми файлами и блок-схемой или поискать на сайте аналогичный алгоритм, но с исходником. |
![]() |
|
|
![]() |