Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Решение задач линейного программирования с помощью симплекс-таблиц
Симплексный метод в настоящее время получил широчайшее практическое применение и стал универсальным методом линейного программирования. Рассмотрим следующую задачу линейного программирования, заданную в каноническом виде: , (1) (2) , , …, . При решении задачи линейного программирования симплекс-методом требуется, чтобы система уравнений (2) была приведена к допустимому виду, какие-то из переменных — базисные должны быть выражены через остальные переменные, которые называются свободными, причем в выражениях для базисных переменных свободные члены должны быть неотрицательными. Например, система (3) где , , является системой допустимого вида. В этой системе переменные — базисные. Набор этих переменных (неизвестных) называется допустимым базисом переменных. Переменные — свободные. Пусть целевая функция (4), а система уравнений приведена к допустимому виду (3). Заменив в выражении (4) каждую базисную переменную ее выражением через свободные переменные, целевую функцию можно записать в виде: (5) Пусть . Подставив в систему (3) вместо свободных переменных и число 0, получим . Найденное решение системы (3): (6) называется базисным. Это решение является неотрицательным. Для базисного решения значение целевой функции . Каждому шагу процесса решения задачи симплекс-методом соответствует своя таблица, таким образом, решение задачи линейного программирования можно представить в виде некоторой последовательности таблиц. Напомним, что рассматривается задача следующего вида: , (1) при условиях: (2) Или в допустимом виде: , (3) при условиях: (4) Составим первую симплекс-таблицу. Таблица 4
1. Выясним, имеются ли отрицательные коэффициенты в выражении (1) при переменных и или положительные в выражении (3) , то есть являются ли эти коэффициенты положительными в таблице. Если положительных коэффициентов в таблице 4 нет, то имеем первый случай, и базисное решение, отвечающее данному базису, является оптимальным. 2. Пусть в последней строке имеется положительное число, например, - . Отметим столбец, в котором оно находится, вертикальной стрелкой. Если все числа в этом столбце отрицательные, то имеем второй случай, и задача решения не имеет. 3. Пусть в столбце, отмеченном стрелкой, имеются положительные числа, то имеем третьей случай, и надо сделать шаг. Пусть, например, и , находим и , а затем выбираем из них наименьшее. Пусть это будет . Отмечаем горизонтальную строку, в которой находится число , горизонтальной стрелкой. Элемент таблицы, стоящий на пересечении отмеченных столбца и строки, называется разрешающим. 4. Перестраиваем таблицу. Для этого умножаем выделенную строку на такое число, что бы на месте разрешающего элемента появилась 1, то есть на . Полученные результаты записываем в новой таблице в той же строке. Затем к каждой из оставшихся строк таблицы 4, включая последнюю строку, прибавляем вновь полученную строку, умноженную на такие числа, чтобы в клетках отмеченного столбца появились нули. Полученные результаты записывают в новую таблицу. 5. К новой таблице применяется тот же метод. Ее анализируют на первый случай, второй случай и третий случай. В третьем случае строится еще одна таблица. Процесс продолжается до тех пор, пока не придем к первому или второму случаю.
Пример 1. Определить минимальное значение функции при условиях
Решение Запишем задачу в каноническом виде: при условиях: Расширенная матрица системы: = ~ , Таким образом, , и в системе три базисных переменных - и две свободных - . Приведем систему к допустимому виду, выразив базисные переменные через свободные: (5) Целевая функция изначально оказалась записанной только через свободные переменные: (поэтому выражения (5) нам не пригодились). Система уравнений
записана в том виде, в каком будем ее использовать при составлении таблицы. Из выражения для целевой функции получим следующее равенство (эти коэффициенты при переменных вносятся в нижнюю строку таблицы). Заполним таблицу 1. Таблица 1
В последней строке есть положительный коэффициент – это коэффициент в столбце . Выделим этот столбец стрелочкой, этот столбец называется разрешающим столбцом. (Если положительных коэффициентов в последней строке несколько, выбирают столбец с наибольшим коэффициентом). В разрешающем столбце имеются положительные числа (в строках 2 и 3 этого столбца). Находим отношение свободных членов к элементам разрешающего столбца и . Так как 2 < 5 , то выделяем горизонтальной стрелкой строку при базисной переменной . Разрешающим элементом является 1 (находится в кружочке). Заполним таблицу 2. В базисных переменных заменится на . Для этого умножаем выделенную строку на и записываем результат вместо этой строки. Таблица 2
Умножаем вторую строку таблицы 2 и складываем с соответствующими значениями первой строки таблицы 1. Результат записываем в первую строку таблице 2. В столбце при переменной появился ноль. Далее умножаем вторую строку таблицы 2 на -1 и складываем с соответствующими значениями третьей строки таблицы 1 и результат записываем в третьей строке таблицы 2. В столбце при переменной снова появляется ноль. Умножаем вторую строку таблицы 2 на -1 и складываем с соответствующими значениями четвертой строки таблицы 1 и результат записываем в четвертой строке таблицы 2. В столбце при переменной снова появился ноль. В последней строке есть положительное число – коэффициент в столбце при переменной . Отметим этот столбец вертикальной стрелкой. Положительным является также число в третьей строке, выделяем эту строку горизонтальной стрелкой. Разрешающим элементом является 3. Заполняем таблицу 3. Умножаем выделенную строку на и записываем результат вместо этой строки. Таблица 3
Третью строку таблицы умножаем на 3 и складываем с первой строкой, умножаем на 2 и складываем со второй строкой, умножаем на -1 и складываем с четвертой строкой таблицы 2. В таблице 3 последняя строка не имеет положительных чисел в последних пяти столбцах. Значит, достигнуто оптимальное решение. Базисные переменные , , . Следовательно, базисным решением являются соответствующие свободные члены в первой, второй и третьей строках. Базисное решение для свободных переменных , равно нулю. Таким образом, оптимальное решение имеет вид =4, =1, =9, =0, =0. Минимальным значением целевой функции является свободный член в последней строке Пример 2. Найти максимальное значение функции: при условиях: Решение Сведем задачу на максимум к задаче на минимум. Для этого целевую функцию умножим на (-1): . Для решения задачи симплекс-методом приведем систему уравнений к допустимому виду. Запишем расширенную матрицу системы уравнений и приведем ее к трапециевидному виду:
. Следовательно, система уравнений совместна и неопределенная. По матрице трапециевидного вида восстановим систему: Переменные , , - базисные, , - свободные. Выражаем базисные переменные через свободные: Получим систему уравнений допустимого вида. Выразим целевую функцию через свободные переменные: Таким образом, задачу можно сформулировать следующим образом: Для составления первой симплекс - таблицы запишем задачу в виде: при условиях: Заполним первую симплекс-таблицу. Таблица 1
В последней строке есть положительный коэффициент в столбце переменной . Положительным является также число в строке базисной переменной . Разрешающим элементом является 2. Строим вторую таблицу. Для этого умножаем выделенную стрелкой строку на дробь и записываем результат вместо этой строки в новую таблицу (таблица 2). Умножаем вторую строку новой таблицы на 1 и складываем с первой, умножаем на 1 и складываем с третьей, умножаем на -5 и складываем с четвертой строкой старой таблицы. Таблица 2
В новой таблице последняя строка не имеет положительных чисел в последних пяти столбцах. Значит, достигнуто оптимальное решение. Базисным решением для переменных , , являются соответствующие свободные члены. Базисное решение для свободных переменных , равно нулю. Таким образом, оптимальное решение имеет вид: =0, =1, =2, =0, =2, , . |
Последнее изменение этой страницы: 2017-03-15; Просмотров: 626; Нарушение авторского права страницы