Задачи ЦЛП: Метод отсекающих плоскостей. Оценка количества плоскостей #270243


#0 by jcage
А можно ли как-то оценить количество плоскостей, которое придется построить для нахожднения оптимального решения?
#1 by jcage
up-ну; Может математики проснулись:)
#2 by Злопчинский
во-во, а мне надо задачу рюкзака решить упрощенную
#3 by ИвановИван
какие такие плоскости зачем их отсекать :(
#4 by DGorgoN
к сожалению я уже вышку пропил.. не помню, чес слово.. што-то сумбурное в голове вертится... Может более яснее объяснишь задачку - авось какой нибудь нейрон из 3 да и проснется..
#5 by jcage
Следующий... Собсвенно для решения задачи о рюкзаке и пытаюсь этот способ приделалать. Хочу понять, как примерно оценить количество иттераций для нахождения оптимального решения.
#6 by jcage
Основан на симплекс-методе. Служит для нахождения целых значений с помощью построения дополнительных отсечений, проходящих хотя бы через одну целую точку.
#7 by NDN
Народ, сегодня же пятница... :(
#8 by DGorgoN
не.. не думается..
#9 by Barsuk
Думаю, иного придется построить :) Как правило, целочисленные задачи - это трудные задачи и количество ресурсов для точного решения весьма велико в худшем случае. Я диплом писал когда-то по похожей на задачу о рюкзаке NP-полной задаче.
#10 by jcage
ну например к задаче, которую я в прошлой ветке приводил - только 2 отсечения придется строить. А перебор там не прокатит. Задача рюкзака для меня большой геммор - в практике она встречается переодически, но как ее решить так, что бы а) не писать километры кода б) быстро работало в) работало правильно:) пока не придумал... Собственно проще всего конечно простой перебор - 10 минут работы и процедура готова. Но если речь идет о 1000 позиций? 2^1000 - это ж сколько будет обрабатываться?
#11 by Simod
Если на 1С, то 2^30 это пол-дня..
#12 by Barsuk
Долго. Так а книжку, что я в том посте приводил, можно посмотреть. Там уже готовые точные алгоритмы есть, которые зачастую намного быстрее перебора работают. Еще там можно посмотреть работу D. Pisinger'а
#13 by jcage
Вычислительные машины и труднорешаемые задачи я уже скачал:) А вот Мартелло и Тот - не могу найти даже в бумажном виде:(
#14 by Barsuk
Поищи лучше :)
#15 by jcage
Спасибо большое.
#16 by jcage
Жаль, что только на английском..
#17 by Михаил Козлов
Для рюкзака вполне удовлетворительно работают: - жадный алгоритм; - схема ветвей и границ с оценкой по релаксированной (линейной, непрерывной) задаче.
#18 by Barsuk
Увы.. Но это в общем небольшая беда.
#19 by jcage
прошу прощения за пробелы в образовании, а что такое "оценка по релаксированной (линейной, непрерывной) задаче"?
#20 by jcage
up
#21 by jcage
вверх
#22 by Михаил Козлов
Рюкзак в чистом виде: A1*X1+A2*X2+...+An*Xn <= B, 0<=Xi<=1, Xi - целые C1*X1+C2*X2+...+Cn*Xn -> MAX В схеме ветвей и границ Вы фиксируете какие-либо переменные и получаете подзадачу. В качестве оценки значения функционала в этой подзадаче берется решение соответствующей задачи линейного программирования (весьма специфической, для нее можно получать решение не симплекс-методом а проще), т.е. условия Xi - целые снимаются. Это и называется релаксацией. Ветвление задачи производят на 2 подзадачи: по Xi=1 и Xi=1. Подробное описание найдете в литературе. Жадный алгоритм еще проще и быстрее: - упорядочиваете переменные по Ci/Ai; - назначаете Xi=1 в этом порядке, пока выполняется ограничение. Если нужна консультация - пишите или звоните 980-2417.
#23 by Михаил Козлов
Виноват, описался: вместо по Xi=1 и Xi=1 нужно по Xi=0 и Xi=1.
#24 by jcage
Спасибо. Т.е. вместо двух ограничений Xi >= 1 и Xi <= 0 мы получаем два равенства. И такие задачи соответсвенно решить можно много проще.. Но ведь жадный алгоритм в чистом виде предполагает определенную погрешность.. Есть ли варианты жадного алгоритма, позволяющие свести погрешность к минимуму?
#25 by Михаил Козлов
Нет. Не известно полиномиального (по размерности) точного алгоритма решения задачи о рюкзаке. Погрешность жадного алгоритма можно оценить сверху, но оценка неудовлетворительная. Еще раз повторю: схемы неявного перебора ПРАКТИЧЕСКИ всегда дают точное решение в приемлимое время из-за эффективного отсечения неперспективных ветвей (подзадач).
#26 by jcage
Спасибо за ответы.
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С