![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
xlr8 |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 22 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте!
Будьте добры, помогите решить такой вопрос: Значит в разделе FAQ на сайте размещен текст программы для решения задачи коммивояжера методом простого перебора. Программу я запускал - на текстовом примере размерностью матрицы 10*10 всё работает отлично. На меньших размерностях вопросов тоже не возникает. Но как только потребовалось решить матрицу 20*20 (30*30) программа зацикливается. Текст программы находиться здесь, я в неё не вносил никаких изменений. FAQ. Раздел Метод перебора. Посоветуйте, пожалуйста, какие изменения нужно внести в данную программу для того, чтобы разрешить проблему размерности? Заранее благодарен за советы |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Так... Программа работает, но ОЧЕНЬ долго. Учти, что при решении несимметричной задачи коммивояжера для N узлов (методом полного перебора) потребуется (n-1)! проходов. В твоем случае n = 20, значит число проходов будет равно 121645100408832000 (для матрица 10*10 из примера: 9! = 362880 проходов. Чувствуешь разницу?)
Так что решай задачу другим методом. Результата полного перебора на таких размерностях дождаться затруднительно. |
![]() ![]() |
![]() |
Текстовая версия | 9.09.2025 7:49 |