4. Второй алгоритм Гомори
Второй алгоритм Р. Гомори предназначается для решения задач, в которых требование целочисленности наложено на некоторые переменные (в частности и на все). Мы его рассмотрим применительно к задачам частично целочисленного типа, понимая, что вычислительная схема будет справедливой и для задач, полностью целочисленных.
Пусть в области, определенной условиями:
(20)
(21)
– целые, (22)
требуется максимизировать функцию
(23)
Метод решения задачи (20–23) основывается на той же идее, что и метод решения полностью целочисленных задач. А именно: строится область £k, которая при k = 0 определяется условиями (20–21); решается полученная при этом задача линейного программирования (20–21, 23). Если задача (20–21, 23) оказывается разрешимой, то полученное оптимальное решение ее анализируется на допустимость для исходной задачи целочисленного программирования (20–23). Если найденное решение оказывается целочисленным, то одновременно оно будет оптимальным для (20–23). Если оптимальное решение (£k, C) – задачи оказывается недопустимым для исходной задачи (20–23), то осуществляется построение правильного отсечения и переход к решению новой задачи,
Второй алгоритм Р. Гомори формулируется в виде следующей теоремы:
Теорема. Пусть х(£k, C) – оптимальное решение (£k, C) – задачи, – элементы соответствующей ему симплексной таблицы. Если – нецелое , то
(24)
– целое, (25)
где
(26)
определяет правильное отсечение. Блок-схема второго алгоритма Р. Гомори аналогична блок-схеме первого алгоритма Р. Гомори и отличается лишь правилом построения коэффициентов правильного отсечения.
Правило построения правильного отсечения
Пусть x(£k, C) не удовлетворяет условию целочисленности, – элементы симплексной таблицы, соответствующей полученному оптимальному решению (£k, C) – задачи. Выберем i0=min {i | i Î (1, 2,…, n), xi0k – нецелое} и строим правильное отсечение по формулам (24 – 26).
Условия конечности второго алгоритма Гомори:
1) Целевая функция F(x) удовлетворяет условию целочисленности. Это учитывается при выборе строки k для построения правильного отсечения.
2) Выполнено по крайней мере одно из двух условий:
2') целевая функция ограничена снизу на многогранном множестве £= £0;
2») задача (£0ц, C) имеет по крайней мере один план.
С помощью второго алгоритма Гомори можно (в случае n1=n) решать и полностью целочисленную задачу линейного программирования. Однако в этом случае нет оснований для сравнения эффективности второго и первого алгоритмов Гомори.
5. Алгоритм Дальтона и Ллевелина
Второй алгоритм Гомори имеет дело с частично целочисленными задачами линейного программирования. Дальтон и Ллевелин рассматривают 0 олее широкий класс задач – частично дискретные задачи линейного программирования и применительно к ним модифицируют второй алгоритм Гомори.
Напомним, что решением задачи дискретного программирования будем называть вектор, координаты которого принадлежат £ц области вида:
(27)
(28)
(29)
и максимизирует значение функции
(30)
Будем предполагать, что проранжированы, т.е. и являются наперед заданными числами.
Теорема. Пусть x(£k, C) – оптимальное решение задачи (27–28, 30), – элементы симплексной таблицы, соответствующей ему.
Если x(£k, C) является недопустимым решением задачи (27–30) и , тогда, используя i-ю строку симплексной таблицы, можно построить отсечение, обладающее свойством правильности по формулам:
(31)
(32)
где
(33)
Доказательство. Проверим вначале условие отсечения. Пусть в оптимальном решении x(£k, C) координата не удовлетворяет условию (29). Покажем, что в этом случае вектор х(£k, C) не удовлетворяет условиям (31, 32). Поскольку Nk – множество индексов небазисных переменных xi, которые в оптимальном решении равны нулю, то равенство (31) принимает вид и будет отрицательным согласно условию теоремы. Следовательно, , т.е. условие отсечения не выполняется.
Проверим условие правильности. Для этого покажем, что любое допустимое решение задачи (27–30) удовлетворяет условиям (31, 32).
Запишем разложение для координаты допустимого решения задачи (27–30) по небазисным переменным
(34)
и рассмотрим два случая: a) ; б) . Введем обозначения:
и представим (34) в виде
где
Очевидно, так как .
Рассмотрим случай а): , или что все равно, .
Отсюда Но поэтому
(35)
Домножим обе части (35) на неотрицательную величину и сложим с неотрицательной величиной :
(36)
Рассмотрим случай б): или, что все равно, Так как по определению , то Умножим обе части неравенства на неотрицательную величину и на -1, получим . Прибавляя к полученному выражению неравенство , получим
(37)
Таким образом, в а) и в б) случаях пришли к одному и тому же неравенству (36) и (37). Пользуясь ранее введенными обозначениями, их можно записать
(38)
Формула (38) определяет правильные отсечения. Сравнивая ее с выражением (31–32), приходим к выводу, что коэффициенты определяются следующим образом:
Теорема доказана.
Алгоритм Дальтона – Ллевелина может быть описан следующим образом.
1. Решается (£k, C) – задача (27–30) (вначале k = 0). Пусть x(£k, C), k = 0, 1, 2,… оптимальное решение (£k, C) – задачи, – симплексная таблица.
2. Проверяется условие допустимости по всем координатам оптимального вектора решения х(£k, C) (£k, C) – задачи. Если условие допустимости выполняется, то полученное решение является оптимальным решением исходной задачи (27–30). Если условие допустимости не выполняется хотя бы по одной координате, осуществляется переход к 3.
3. Пусть не удовлетворяет условию допустимости. Тогда выбирается
i0 = min {i| 1<i<n1, хj0k – не удовлетворяет (29)}.
4. Для выбранного номера i=i0 строится правильное отсечение, т.е. вводится дополнительная переменная
где определяется формулой (33),
5. Добавляем линейное ограничение, определяющее правильное отсечение, к условиям (£k, C) – задачи и получаем новую (£k+1, C) – задачу. Полагая k = k + 1, переходим к п. 1.
Приведем без доказательства теорему о конечности алгоритма.
Теорема. Если: коэффициенты целевой функции дискретны; F(x) ограничена снизу на многогранном множестве £; задача (£, C) имеет по крайней мере одно решение; выбор строки для построения правильного отсечения производится по правилу минимального номера и (£k, C) – задачи решаются методом последовательного уточнения оценок, то алгоритм Дальтона и Ллевелина сходится.
... 0 505/103 0 792/103 669/103 500/103 Анализ Таблицы 6 позволяет сделать вывод о допустимости и оптимальности базиса XБ4=(x5, x7, x1, x2, x4)T. 3.4 Результат решения задачи планирования производства В результате решения поставленной задачи симплекс-методом получили набор производимой продукции x=(x1, x2, x3, x4, x5)=( 15145/103, 8910/103, 0, 1250/103, 3255/103), который удовлетворяет всем ...
... , 6) сетевого планирования и управления, 7) выбора маршрута, 8) комбинированные. Из перечисленных выше методов математического программирования наиболее развитым и законченным является линейное программирование. В его рамки укладывается широкий круг задач исследования операций. Линейное программирование Несмотря на требование линейности целевой функции и ограничений, в рамки линейного ...
... план будет найден. Заключение. Задачи экономической науки, требующие применения математики Имеется ряд определений предмета экономической теории. Из них вытекает необходимость экономико-математических методов, причем требуется самая изощренная современная математика, как теоретическая, так и прикладная. Фактически существует такая дисциплина, как математическая экономика, которая у ряда ...
... дискретного программирование для решения задач проектирование систем обработки данных. - Сформулированы задачи диссертационного исследования. 2. БЛОЧНО-СИММЕТРИЧНЫЕ МОДЕЛИ И МЕТОДЫ ПРОЕКТИРОВАНИЯ СИСТЕМ ОБРАБОТКИ ДАННЫХ В данном разделе рассматриваются общая постановка блочно-симметричной задачи дискретного программирования, её особенности и свойства. Разработан общий подход решения задач ...
0 комментариев