Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/721c58f108a84f9b0fed2699a8fcb09f to your computer and use it in GitHub Desktop.
Save anonymous/721c58f108a84f9b0fed2699a8fcb09f to your computer and use it in GitHub Desktop.
Решение задачи коммивояжера c

Решение задачи коммивояжера c


Решение задачи коммивояжера c



Решение задачи о коммивояжере
«Решение задачи о коммивояжере»
Исходник решения задачи коммивояжера методом Прима на C++ и Методом ветвей и границ на Pascal


























Powered by phpBB 0. Может где-нибудь у кого-нибудь в лабах по сишнику есть алгоритм решения Задачи коммивояжера нахождение минимального пути прохождения через все точки в графе Самый распространённый алгоритм- это метод ветвей и границ. Я нашёл в инете на паскале, но в сишник с трудом он переводится. Ср Фев 28, 6: Sergey , да не может такого быть чтобы сложно переводился. Ср Фев 28, Чт Мар 01, 2: В любой книжке по графам есть. Чт Мар 01, 9: Нам год назад это сам великий Колдаев впаривал! Чт Мар 01, Правда метод ветвей и границ там на фортране. Ну и конечно же вики http: Чт Мар 01, 1: Я уже задолбался переводить разные алгоритмы с паскаля на Сишник. Сначала взял один агоритм вроде бы как ветвей и границ написанный на Делфи. Конкретный алгоритм оказался очень тормозной. Потом перевел другой алгоритм - он вообще отказался работать. Выяснолось что и оригинальный исходник в турбопаскале тоже не работает В общем хотелось бы получить уже готовый сишный вариант алгоритма. Sergey , я бы на твоём месте сам с нуля написал, я вообще мало доверяю сорсам, которые написаны не мной, т. Пт Мар 02, 1: А метод ветвей и границ изначально задумывался как тормозной, но точный. Вообще-то эта задача NP полная, так что либо быстро и не точно, либо медленно и точно А чем тебя не устраивают исходники в той ссылке, что я привел? Пт Мар 02, 2: Наверное я так и сделаю, напишу с нуля. А на счёт тормознутости - то для моих целей до точек он вполне быстрый, просто конкретная его реализация оказалась тормозной, даже в оригинале на делфи. А про те ссылки, там есть несколько исходников, но плохо что все они или генетические или муравьиные - а я в них даже вникать не хочу. Пт Мар 02, 5: Пт Мар 02, 6: Вс Мар 04, 2: Вчера весь день писал алгоритм ветвей и границ, вроде ещё немного осталось. Пн Мар 05, 1: Sergey , Алгоритм Флойда - Найти наименьшие стоимости проезда из всех городов во все за время O n3 без ограничений на веса. Очень приятный алгоритм, выручил нас однажды на олимпиаде, Дейкстру мы бы не успели бы написать. Пн Мар 05, 2: Чтобы внести немножко ясности: Задача коммивояжёра коммивояжёр — бродячий торговец заключается в отыскании самого выгодного маршрута, проходящего через указанные города хотя бы по одному разу. В условиях задачи указываются критерий выгодности маршрута кратчайший, самый дешёвый, совокупный критерий и т. Как правило указывается, что маршрут должен проходить через каждый город только один раз, в таком случае выбор осуществляется среди гамильтоновых циклов. Существует масса разновидностей обобщённой постановки задачи, в частности геометрическая задача коммивояжёра когда матрица расстояний отражает расстояния между точками на плоскости , треугольная задача коммивояжёра когда на матрице стоимостей выполняется неравенство треугольника , симметричная и асимметричная задачи коммивояжёра. Простейшие методы решения задачи коммивояжёра: На практике применяются различные модификации более эффективных методов: Все эффективные сокращающие полный перебор методы решения задачи коммивояжёра — методы эвристические. В большинстве эвристических методов находится не самый эффективный маршрут, а приближённое решение. Зачастую востребованы так называемые any-time алгоритмы, то есть постепенно улучшающие некоторое текущее приближенное решение. Задача коммивояжёра есть NP-полная задача. Часто на ней проводят обкатку новых подходов к эвристическому сокращению полного перебора. Метод ветвей и границ — метод решения переборных задач. Метод ветвей и границ — общий алгоритмический метод для нахождения оптимальных решений различных задач оптимизации, особенно дискретной и комбинаторной оптимизации. Метод был сначала предложен A. Doig в г. Люди, ну помогите Для меня доделать этот алгоритм ветвей и границ - уже дело принципа. Нашёл три разный описания алгоритма - все не очень полные, но анализируя все теоретически я вроде бы разобрался, а на практике чтото алгоритм подглючивает Может ктонибудь поделится или лекцией или выдержкой из книги с описанием алгоритма. Ср Мар 07, 1: Ср Мар 07, 4:


Решение задачи коммивояжера c использованием генератора перестановок


Задача коммивояжера как и задача о рюкзаке, является классической задачей, решаемой с помощью перебора. Коммивояжер бродячий торговец должен найти минимальный кольцевой маршрут обхода городов. Расстояние между каждой парой городов считается известным. Решением задачи будет вектор. Каждый элемент этого вектора может принимать целое значение из отрезка. При этом все значения должны быть разными. Решение задачи сводится к генерации всех допустимых векторов , вычислению функции и выбору вектора, соответствующего минимальному значению функции. Задача решается для пяти городов. Элемент матрицы определяет расстояние между городами и где Факт отсутствия пути из города в город обозначается значением бесконечность соответствующего элемента. При построении оптимального маршрута коммивояжера выбор стартового он же является и конечным, так как маршрут кольцевой города никак не влияет на конечный результат. Если задано городов, то перебор следует осуществлять только для городов, поскольку стартовый город можно зафиксировать. Поэтому перебор маршрутов осуществляется для городов с номерами 1, 2, 3, 4. Левая часть схемы на рис. Главное отличие заключается в том, что в качестве исходного массива выбран Причем перестановкам подлежит только внутренняя, заключенная между нулями, часть исходного массива. В остальном принцип построения перестановок тот же, что и на рис 1. В правой части схемы изображены все возможные кольцевые маршруты, которые образованы из исходного массива путем перестановок всех, кроме обрамляющих нулей, элементов. Количество маршрутов равно количеству перестановок из четырех городов. Для каждого маршрута в округлой рамке указана длина. Длина кольцевых маршрутов, для которых не могут быть построены в силу отсутствия пути хотя бы между одной парой городов, на схеме обозначена символом Оптимальный маршрут длиной единиц выделен затемненной рамкой. Функция имеет два входных параметра: В функции salesman применяется генератор перестановок combi:: Кроме того она вызывает шесть вспомогательных функций: Функция salesman в цикле генерирует все возможные кольцевые маршруты, вычисляет для каждого маршрута длину функция distance , фиксирует оптимальный маршрут функция copypath и возвращает длину оптимального пути или значение INF , что обозначает отсутствие кольцевых маршрутов. В программе применяются функции auxil:: Зависимость продолжительности вычисления от количества городов Количество городов Продолжительность вычисления, с. Зависимость продолжительности вычисления функции salesman от значения параметра n. Вид графика на рис. Как то на паре, один преподаватель сказал, когда лекция заканчивалась - это был конец пары: Значение и задачи работы по изучению морфемного состава слова I. Формулировка задачи и характеристики СМО I. Цели и задачи проекта II. Цели и задачи III. Задачи и средства основной части занятия III. Постановка учебной задачи Автогенератор на ОУ с использованием моста Вина Автоматические линии. Другой алгоритм для задачи об оптимальном каркасе известен как алгоритм Краскала J Алгоритм проверки условия единственности оптимального решения задачи интервального программирования с интервальной целевой функцией. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Математическая модель задачи может быть записана следующим образом: Схема решения задачи коммивояжера Расстояние между городами задается следующей матрицей Элемент матрицы определяет расстояние между городами и где Факт отсутствия пути из города в город обозначается значением бесконечность соответствующего элемента. Следует отметить следующие два момента, прежде чем будет пояснена схема на рис.


Результат рнк вируса гепатита с
Сущность и основные характеристики
Новости блогов самара
Статья 193 ук рф комментарии
Система отопления на даче своими руками
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment