КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Пример решения задачи линейного программирования симплекс-методом
Симплекс-метод решения задачи линейного программирования.
Рассмотрим однородную задачу ЛП из примера №1 п. 1.5.:
Добавив к левым частям системы неравенств соответствующие балансовые переменные
Для удобства и единообразия запишем определение целевой функции
Запишем (2) и (3) в виде первой симплекс таблицы:
Первые три строки таблицы (4) содержат по сути расширенную матрицу системы линейных уравнений (2), к которой слева приписан столбец переменной Далее, переменная
Вторая строка таблицы определяет переменную
Третья строка определяет
Значение целевой функции определяем по индексной строке: В дальнейшем мы покажем, что оптимальное решение канонической задачи ЛП является опорным, и, следовательно, его следует искать среди опорных решений. Симплекс-таблица (4) и дает одно из таких решений. Как проверить, является ли оно оптимальным? Оказывается, просто. Как мы увидим далее, если коэффициенты Но условие Мы видим, что в таблице (4) условие неотрицательности всех элементов индексной строки (разумеется, кроме правой части Выберем любой из этих столбцов, например, первый и назовем его ведущим. Определим для каждого
где В нашем случае
Добавим к симплекс-таблице (4) столбец
В таблице (5) отрицательный элемент – 4 ведущего столбца взят в рамочку, для того чтобы выделить ведущий столбец. Можно, разумеется, выделить этот столбец и любым другим разумным образом: цветом, шрифтом и т.п. Среди всех допустимых отношений Наименьшее допустимое отношение соответствует третьей строке таблицы, которую мы теперь объявляем ведущей строкой. На пересечении ведущей строки и ведущего столбца стоит ключевой элемент таблицы. В нашем случае это
Дальнейшая наша цель состоит в том, чтобы преобразовать методом Гаусса таблицу (6) в новую симплекс-таблицу, первый столбец который стал бы базисным, содержащим число 1 в ведущей (третьей) строке. Вначале разделим ведущую строку на ключевой элемент:
В таблице (7) мы не заполняем столбец Проделаем теперь следующие преобразования Гаусса: 1) вычтем из первой строки ведущую (третью) строку; 2) прибавим ко второй строке ведущую, умноженную на 2; 3) прибавим к индексной строке ведущую, умноженную на 4. В итоге получим новую таблицу:
Нетрудно видеть, что мы получили симплекс-таблицу. Действительно, в таблице (8) после перестановки столбца
Отметим, что столбец Таким образом, получена вторая симплекс-таблица (8), которой соответствует второе опорное решение. Переменные
то значение базисной переменной
а базисная переменная
Итак, Это опорное решение также не является оптимальным, что следует из того, что в индексной строке таблицы (8) имеется отрицательный элемент (-5) во втором столбце, который мы выберем теперь в качестве ведущего столбца. Затем найдем ведущую строку с минимальным допустимым отношением и ключевой элемент:
Разделим ведущую строку (первую) на ключевой элемент
Выполним теперь следующие преобразования Гаусса: 1) вычтем из второй строки первую, умноженную на 2; 2) прибавим к третьей строке первую, умноженную на 3) прибавим к индексной строке первую, умноженную на 5. В результате получим третью симплекс-таблицу:
Ей соответствует третье опорное решение:
- и значение целевой функции Поскольку индексная строка таблицы (11) не содержит отрицательных элементов, полученное опорное решение будет оптимальным: Таким образом, задача (2) и с ней задача (1) решены.
1.8.2. Алгоритм симплекс-метода. Изложим теперь этот метод решения, в общем виде. Пусть дана симплексная форма задачи ЛП, то есть каноническая задача ЛП, матрица системы которой имеет разрешенный вид, свободные члены неотрицательны и целевая функция зависит только от свободных переменных:
Здесь мы считаем свободными переменные
Уравнениям (1) и (2) соответствует первая симплекс-таблица:
Начало алгоритма симплекс-метода. Шаг 1. По симплекс-таблице находим опорное решение. На первом шаге это будет:
Шаг 2. Проверяем условие оптимальности полученного опорного решения. Если последняя (индексная) строка таблицы (3) не содержит отрицательных элементов, то есть, все коэффициенты целевой функции Если условие оптимальности: Шаг 3. Выбираем номер Шаг 4. Определяем минимальное допустимое отношение
где Шаг 5. Выбираем номер Соответствующую строку называем ведущей. Если такой выбор невозможен, то есть все Шаг 6. Делим ведущую строку на ключевой элемент Шаг 7. Из каждой строки таблицы, кроме ведущей, вычитаем ведущую строку, умноженную на элемент текущей строки, стоящий в ведущем столбце. В результате получаем, что все элементы ведущего столбца, кроме ключевого, равного единице, равны нулю, то есть ведущий столбец превратился в базисный. При этом оказывается, что один из базисных столбцов превратился в свободный (именно, тот, который содержал 1 в ведущей строке). Нами получена новая симплекс-таблица, отличающаяся от прежней набором базисных столбцов. Шаг 8. Переходим к шагу 1. Шаг 9. Объявляем, что получено оптимальное решение и выводим результаты решения. Затем переходим на конец алгоритма. Шаг 10. Сообщаем, что задача не имеет решения и переходим на конец алгоритма. Конец алгоритма.
Дата добавления: 2014-12-26; Просмотров: 2048; Нарушение авторских прав?; Мы поможем в написании вашей работы! |