Имя: Пароль:
LIFE
 
OFF: Подскажите книжки по комбинаторике
,
0 Пенза58
 
25.09.13
16:40
Подскажите книжки по комбинаторике, типа как Задача коммивояжёра, а то и так знал мало, а что помнил забыл.
1 Пенза58
 
25.09.13
16:44
Наверно все же не задача коммивояжёра, т.к. не с графами.

Ну типа как что положить в мешок с ограниченным объемом и ограниченным весом.
2 NS
 
25.09.13
16:44
3 Пенза58
 
25.09.13
16:46
(2) Там примеры программного кода есть?
4 NS
 
25.09.13
16:48
(3) Зачем? Комбинаторика это раздел математики. Если понял теорию, то напишешь и программу.
5 Зойч
 
25.09.13
16:49
(3) читаешь книгу. понимаешь что за задача. гуглишь код
6 Пенза58
 
25.09.13
16:49
(4) Я могу легко на пальцах объяснить как в графе надо искать путь от точки, а в точку б.

Но чтобы программы написать, я долго сидел.
7 NS
 
25.09.13
16:50
(6) Объясни. Как на графе нужно искать путь.
8 Пенза58
 
25.09.13
16:52
(7) Берешь и двигаешься по линиям графа.
9 NS
 
25.09.13
16:53
Кстати, за решение задачи о кратчайшем пути в графе методами комбинаторики, перебором, нужно кастрировать (зачеркнуто) отрезать руки.
10 NS
 
25.09.13
16:53
(8) Путем движения по линиям графа путь не найдется. Будешь двигаться туда-сюда.
11 Mikeware
 
25.09.13
16:55
дучше дайте готовое (пусть медленное) решение задачи коммивояжера на 7.7., а то писать лень. а проэкспериментировать хочется.
12 Пенза58
 
25.09.13
16:58
(9) Сейчас вопрос собственно не про графы.
13 NS
 
25.09.13
17:00
http://e-maxx.ru/algo/
Раздел комбинаторика, с примерами программ.
14 Пенза58
 
25.09.13
17:00
(11) Да вроде код обычный, циклы, массивы.

На 1С переделать не сложно.

Я в свое время с паскали или с с++, переделывал на вижул бейсик.
15 NS
 
25.09.13
17:12
(1) wiki:Список_задач_о_ранце
Это "Многомерный рюкзак"
Решается либо перебором, либо методами линейного программирования, либо методами динамического программирования и т.д.
16 Mikeware
 
25.09.13
17:12
(14) да мне и с нуля написать не шибко сложно. просто лениво. вдруг есть у кого - посчитать несколько примеров, если уж будет полезно - тогда переписывать и оптимизировать... Пробег грузчиков между камерами  посчитать хочу.
17 Михаил Козлов
 
25.09.13
17:15
(16) Опишите здесь содержательно задачу и Вашу формализацию.
18 Пенза58
 
25.09.13
17:18
(15) Да, про это говорил. Книжки с кодом и объяснением решения существуют?
19 NS
 
25.09.13
17:19
(18) Задачи о рюкзаке? Решения одномерного рюкзака с обсуждением есть на этом форуме. На 1С. Но надо искать.
Было обсуждение задачи раскладки по нескольким рюкзакам.
20 Mikeware
 
25.09.13
17:22
(17) оно вам надо? :-)
Ну, если уж так надо:
1) есть матрица расстояний между холодильными камерами.
2) есть список камер, которые надо посетить (список товаров, с привязкой к камерам).
3) есть ограничения (если есть товары из 1 или 2 камеры, то их надо посетить в первую очерель).
необходимо:
подтвердить или опровергнуть, что последовательный обход камер будет  равнозначен по времени (расстоянию) обхода, расчитанного через "задачу коммивояжера"
21 NS
 
25.09.13
17:22
Многомерный рюкзак в принципе такая-же задача линейного программирования, только добавляются доп. неравенства.
Ну и вопрос, в случае одного мешка - что максимизируем?
22 йети
 
25.09.13
17:22
я бы рекомендовал http://bookfi.org/book/556668
для вхождения в тему самый оптимальный вариант
23 NS
 
25.09.13
17:25
(22) Ссылка на заблокированный по решению власти ресурс.
24 йети
 
25.09.13
17:30
(20) если есть ограничение на вместимость грузчика (предполагается периодические возвращения на базу), то рассчитанный маршрут будет экономичней, иначе расчет сводится к жадному алгоритму
25 NS
 
25.09.13
17:38
(24) Есть доказательство, что мало того что жадный алгоритм ошибается, более того - нельзя сверху ограничить его ошибку.
Теорема Сани-Гонзалеса.
26 vmlspb
 
25.09.13
17:46
комбинаторику лучше по Виленкину изучать
http://www.alleng.ru/d/math/math175.htm
27 Михаил Козлов
 
25.09.13
17:52
(20) Не понял, что такое последовательный обход.
В остальном, если не обращать внимания на 3), вроде как "задача коммивояжера" (если нужно вернуться в исходную точку). Здесь может быть специфика: если расстояния геометрические ( S(a,c)<=S(a,b)+S(b,c) ), то будет не общая задача коммивояжера. Если задача коммивояжера представляется адекватной, то про нее довольно много написано. В частности, может оказаться вполне работоспособным схема ветвей и границ, где в качестве оценки берется решение задачи о назначениях (несколько циклов вместо 1 в задаче о коммивояжере).
Смотреть нужно скорее не учебники по комбинаторике, а то, что связано с алгоритмами решения задач о коммивояжере.
Кроме того, Вы не написали, каков порядок числа камер: может быть можно и полным перебором.
28 Mikeware
 
25.09.13
18:01
(27) ну да, если не учитывать ограничения - задача коммивояжера в чистом виде.
А вообще, наверное, легче просчитать все наборы маршрутов, и дергать их без обсчета, по индексу.
29 Mikeware
 
25.09.13
18:01
(27) 14 камер
30 NS
 
25.09.13
18:02
(26) На Виленкина - первая ссылка в 2.
31 NS
 
25.09.13
18:03
Вторая ссылка - более поздний вариант.
32 NS
 
25.09.13
18:04
(29) 14! Маршрутов (если не надо возвращаться в начало) Тяжело будет их все запомнить.
33 NS
 
25.09.13
18:06
(28) А, ты имеешь в виду сохранить оптимальные маршруты для всех пар первоочередных камер?
34 Михаил Козлов
 
25.09.13
18:08
(32) Можно схему ветвей и границ с отсевом по оценке, хуже достигнутого рекорда. Для 14 задача коммивояжера должна решаться не слишком долго. Ограничение 3) в этой схеме достигается ограничением ветвления в начале.
35 Михаил Сорокин
 
25.09.13
18:09
Вот неплохой курс Станкевича, который читается в знаменитой ЛКШ:
http://www.intuit.ru/studies/courses/997/313/info
(свободный)
Также можно посмотреть разные дополнительные курсы.
36 Mikeware
 
25.09.13
18:36
(32) по факту - ну чувствую, что можно без просчета каждого маршрута.
37 NS
 
25.09.13
19:37
(34) Те-же самые O(14!) в худшем случае.
38 Михаил Козлов
 
25.09.13
20:02
(37) Его еще надо придумать (нужно быть оптимистом).
Я давно отошел от этих дел: может быть, если матрица расстояний удовлетворяет неравенству треугольника дело не так плохо.
39 vde69
 
25.09.13
20:09
Добрая половина комбинаторики использкет всякие стратегии типа
Строй и перестраивай.

Для примера поищи стратегии триангулчции делона, там почти все есть
40 NS
 
25.09.13
20:31
(38) Вроде из всех изменений - позволяет оценить максимальную ошибку для полиномиальных алгоритмов.
То есть хорошее решение можно получать быстро.
41 toypaul
 
гуру
25.09.13
20:46
(35) спасибо за ссылку :)
Основная теорема систематики: Новые системы плодят новые проблемы.