Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/c852198534abbc5569ba7b7a6b9e782f to your computer and use it in GitHub Desktop.
Save anonymous/c852198534abbc5569ba7b7a6b9e782f to your computer and use it in GitHub Desktop.
Методами решения задач целочисленного программирования являются

Методами решения задач целочисленного программирования являются



Ссылка на файл: >>>>>> http://file-portal.ru/Методами решения задач целочисленного программирования являются/


Целочисленное программирование. Решение задач
Методы и способы решения задач целочисленного параметрического программирования
Постановка задачи целочисленного программирования
























Целочисленное программирование Целочисленные программирование ориентировано на решение задач математического программирования, в которых все или некоторые переменные должны принимать только целочисленные значения. Задача называется полностью целочисленной, если условие целочисленности наложено на все ее переменные; когда это условие относится лишь к некоторым переменным, задача называется частично целочисленной. Если при этом целевая функция и функции, входящие в ограничения, линейные, то задача является линейно целочисленной. Формулировка задачи линейного целочисленного программирования и ее математическая модель Рассмотрим один пример такой задачи. Пусть имеет ряд неделимых предметов ценностей П 1 , П 2 , Известные стоимости этих предметов: Количество и вид предметов, которые мы можем увезти, лимитируется грузоподъемностью Q перевозочных средств. Требуется из всего набора предметов выбрать наиболее ценный набор с максимальной суммарной стоимостью предметов , вес которого укладывается в Q. Очевидно, что целевая функция, которую необходимо максимизировать, имеет вид. Условие ограничения грузоподъемности запишется в виде неравенства: На первый взгляд может показываться, что решать данную задачу надо как задачу линейного программирования. Однако, найденное решение может оказаться не целым, а дробным, а значит неосуществимым нельзя загрузить в машину половину картины или треть рояля. Нельзя и округлять полученные переменные до ближайшего из целых чисел 0 или 1, так как полученное таким образом решение может быть совсем не оптимальным или не удовлетворять исходному ограничению. Необходимо отметить, что задачи целочисленного программирования гораздо труднее, чем рассмотренные задачи линейного программирования. Несмотря на то что разработано ряд методов решения задач целочисленного программирования, ни один из них не обеспечивает желаемой эффективности соответствующих вычислительных процедур. Решение задачи линейного полностью целочисленного программирования методом отсекающих плоскостей Метод отсекающих плоскостей для решения задачи линейного целочисленного программирования, разработанный Р. Гомори, рассмотрим на следующем примере: Область допустимых решений задачи с ослабленными ограничениями, получаемыми путем отбрасывания целочисленности переменных, представлено на рис. В основе метода отсекающих плоскостей лежит преобразование области решений задачи с ослабленными ограничениями в выпуклый многогранник, экстремальная точка которого является оптимальным решением исходной целочисленной задачи. При этом все допустимые целочисленные решения исходной задачи должны лежать внутри или на границе построенного многогранника. Дополнительные ограничения введены таким образом, чтобы область, отсеченная от множества допустимых решений ослабленной задачи, не содержит точек с целочисленными координатами, а в новой области допустимых значений, вершины, соприкасание с отсеченной областью, имеют целочисленные координаты отсеченная область на рис 5. Для применения алгебраического метода отчекающих плоскостей метода Гомори решения полностью целочисленных задач необходимо привести все исходные ограничения задачи к виду с целыми коэффициентами и правыми частями. Последнее неравенство получено путем умножения обеих частей рассматриваемого ограничения на наименьший общий знаменатель входящих в него коэффициентов. На первом шаге решения задачи целочисленного программирования решается задача например, симплекс-методом с ослабленными ограничениями, не содержащими условия целочиcленности переменных. Если полученное решение оказывается целочисленным, то оно является также решением исходной задачи. В противном случае переходят ко второму шагу. Вводится дополнительное ограничение отсекающая плоскость , порождающее вместе с исходными ограничениями новую задачу линейного программирования. Если решение новой задачи оказывается не целочисленным, то шаг 2 с новыми ограничениями повторяется, пока решение не оказывается целочисленным. При правильном введении дополнительных ограничений полученное целочисленное решение совпадает с оптимальным решением исходной задачи. Проиллюстрируем метод отсекающих плоскостей на задаче, решенной выше графическим путем. С ослабленными ограничениями без наложения условия целочисленности переменных эта задача формулируется следующим образом: Оптимальное решение данной задачи, полученное симплекс-методом задается таблицей: Для этого из числа нецелых базисных переменных, нужно выбрать одну. Строка, соответствующая этой переменной, позволит определить отсекающую плоскость, поэтому ее называют производящей строкой. Для выбора производящей строки и получения уравнения отсекающей плоскости необходимо выполнить ряд операций. Так как эффективность отсечения области допустимых значений, характеризуется размерами отсекаемой области, то в качестве производящей строки надо взять ту, у которой значение f i максимально. Для рассматриваемого примера и следовательно, и. Так как , то в качестве производящей строки можно взять любую. Уравнение отсекающей плоскости получается следующим образом. Базисная переменная x i производящей строки выражается через небазисные переменные: Если взять в рассматриваемом примере в качестве производящей строки строку, соответствующую базисной переменной x 2 , получим Используя соотношение 5. И, следовательно, выполняется неравенство. Поскольку f i , но так левая часть должна принимать целые значения, то необходимое условие ее целочисленности имеет вид. Последнее ограничение и определяет отсекающую поверхность. Введя новую переменную, запишем это ограничение в виде равенства. Итак, отсечение Гомори для полностью целочисленной задачи задается уравнением. Для рассматриваемого примера, получаем. Составляем новую симплекс-таблицу, вводя новую базисную переменную s 1: Из соотношения двойственности задачи линейного программирования следуют, что оптимальному решению прямой задачи соответствует допустимое решение обратной задачи. Выполнение условия оптимальности гарантирует оптимальность последовательно получаемых решений, а выполнение условия допустимости обеспечивает итерационное приближение к области допустимых значений. На этом основан двойственный симплекс-метод. Условия допустимости и оптимальности двойственного симплекс-метода формируются следующим разом. В качестве исключаемой из базисных переменных выбирается наибольшая по модулю отрицательная базисная переменная. При наличии альтернатив выбор делается произвольно. Включаемая в базис переменная выбирается из числа небазисных переменных следующим образом. Вычисляются отношения коэффициентов L уравнения к соответствующим коэффициентам уравнения, ассоциированного с исключаемой переменной. Отношения с положительным или нулевым значением знаменателя не учитываются. В задаче максимизации вводимой переменной должно соответствовать наименьшее из указанных отношений, а в задаче минимизации - отношение, наименьшее но абсолютной величине. Если знаменатели всех отношений равны нулю или положительны, задача не имеет допустимых решений. В рассматриваемой задаче выводимой переменной является s 1 , а вводимой переменной - х 3. После выбора вводимой и выводимой из базисных переменных для получения следующего решения осуществляется обычная операция получения новых строк симплекс-таблицы. Для рассматриваемой задачи использование двойственного симплекс-метода приводит к таблице БП х 1 х 2 х 3 х 4 s 1 Реш. Производящая строка , соответствующая базисной переменной х 1 , дает следующее уравнение. Тогда отсечение Гомори определяется уравнением с новой неизвестной s 2: Составляем новую симплекс таблицу, вводя новую базисную переменную s 2: В результате использования двойственного симплекс-метода получаем новую таблицу БП х 1 х 2 х 3 х 4 s 1 s 2 Реш. Покажем, что полученные выше отсечения исключают отсекают некоторые области многогранника допустимых значений. Первое отсечение , записанное в переменных х 1 и х 2 , после соответствующей замены принимает следующий вид: Аналогичным образом второе отсечение. Формулировка задачи линейного целочисленного программирования и ее математическая модель 5. Решение задачи линейного полностью целочисленного программирования методом отсекающих плоскостей 5. Решение частично целочисленных задач. Целочисленное программирование Целочисленное программирование ориентировано на решение задач математического программирования, в которых все или некоторые переменные Целочисленное программирование Целочисленные программирование ориентировано на решение задач математического программирования, в которых все или некоторые переменные Динамическое программирование Динамическое программирование представляет собой математический аппарат, разработанный с целью повышения эффективности при решении


Правила работы предприятия с кассовой наличностью
Как начать свое дело по скосу травы
Где происходит обмен
Метод Гомори решения задач целочисленного программирования. Примеры решения экономических задач.
Сонник мыть ботинки
Истребитель ф 35 технические характеристики
Расписание автобуса 148 спб мега парнас
Лекция 17. Целочисленное программирование
Дорога москва дон карта
Садимся на шпагат торрент
4.5. Методы решения задач целочисленного программирования
Canina welpenkalk инструкции
Сколько стоит мышка живая
Паром через волгув козьмодемьянске расписание
Решение задач целочисленного программирования: методы и примеры
Как накачаться дома дрыщю
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment