КАТЕГОРИИ: Архитектура-(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) и (2). Условия (1) и (2) это пересечение полупространств и гиперплоскостей, следовательно, оно является выпуклым множеством. Выпуклое множество, состоящее из всех допустимых решений ЗЛП, называют область допустимых решений ЗЛП. Для решения ЗЛП удобно пользоваться её канонической формой. Каноническая форма ЗЛП имеет вид: . Алгоритм приведения общей ЗЛП к канонической форме состоит в следющем. 1. Добиваемся, чтобы все координаты вектора В оказались неотрицательными. Если вектор В Содержит отрицательную координату, например, , то k-ое ограничение системы умножаем на (-1). Если это ограничение было неравенством, то знак неравенства меняется на противоположный. В нашем примере система (2) примет вид: 2. В каждое k-ое ограничение системы (2) вводим новую неотрицательную переменную yk. Если неравенство было типа , то дополнительная переменная вводится в него со знаком “-”, (), а если оно было типа , - то со знаком “+”, (). В нашем случае x3=y1, x4=y2, x5=y3, (Добавлено мною. Б.Т.) В нашем примере система примет вид: Таким образом, нам удалось перейти от неравенств к равенствам. Как будто бы мы к производству 2-х видов продукции добавили ещё 3 вида с тем, чтобы на складе не осталось никаких излишков товара (например, добавленная продукция 1-го вида – набор гвоздей из излишков на складе, 2- го вида – набор шурупов из излишков и т.д.) 3. В целевую функцию z все дополнительные переменные вводятся с нулевым коэффициентом (поэтому в процессе решения и в ответе дополнительные переменные могут оказаться любыми неотрицательными числами, которые не изменяют ни условие задачи, ни целевую функцию, т.е. от наборов гвоздей и шурупов мы получаем нулевую прибыль). В нашем примере 4. Если в условии ЗЛП требовалось максимизировать целевую функцию, то вместо неё вводим новую целевую функцию , которую следует минимизировать. ЗЛП в канонической форме удобнее всего решать симплексным методом с использованием искусственного базиса. Если система линейных уравнений в системе (2) канонической формы ЗЛП содержит весь ортонормированный базис, то ЗЛП можно решить симплексным методом с помощью таблиц. Если система (2) содержит m уравнений, то ортонормированный базис состоит из векторов: . Если, например, среди векторов-столбцов в системе (2) нет вектора Ek, точтобы исправить эту «оплошность», введём в k -ое уравнение новую неотрицательную переменную wk со знаком “+” (+wk). В целевую функцию вводим эту переменную с коэффициентом М (+MWk), причём будем считать, что коэффициент М – это некоторое число, которое гораздо больше, чем любые числа, которые могут встретиться при решении задачи. Эти новые неотрицательные переменные, введенные в равенства с коэффициентом “ +1”, а в целевую функцию с запретительным коэффициентом “ М ” называют искусственными переменными, а метод решения, использующий искусственные переменные называют метод искусственного базиса. Это как будто бы мы ввели ещё один вид продукта для рациона витаминизированного питания, но цена этого продукта (это как раз М) настолько заоблачна, что гораздо выгоднее его не использовать, т.е. взять его 0 кг. Примечание Искусственные переменные неотрицательны и входят в целевую функцию с очень большим коэффициентом, поэтому любое решение с нулевой искусственной переменной буде гораздо лучше, чем при положительном её значении. Кроме того положительная искусственная переменная портит то равенство, в котором она находится. Поэтому искусственные переменные следует “выбрасывать” из условия задачи по мере того, как они перестают входить в базис. Забегая вперёд – нужно включать эту переменную в свободные, т.е. те, которые будут равны нулю в решении. В нашем примере присутствует орт Е1 (- вектор при неизвестном х3) и орт Е2 (- вектор при неизвестном х4) – см. систему (2). Чтобы в системе присутствовал весь ортонормированный базис, нам нужен ещё вектор Е3. (поскольку переменная х5 входит с коэффициентом -1, а не +1). Следовательно, нужно в третье уравнение ввести ещё одну переменную, искусственную. Назовём её х6, (это вместо w), в целевую функцию эта переменная войдёт с (очень большим) коэффициентом “ M ”. Теперь задача имеет уже 6 переменных: . В этом примере (для начала решения, впоследствии мы обязаны свободным сделать x6 за счёт какоё-то другой переменной) можно свободными переменными выбрать и приравнять к нулю:, тогда базисные переменные будут .
Условия этой задачи можно занести в таблицу, которая называется симплексной и имеет вид:
В столбце “ Базис ” записываем имена векторов, образующих ортонормированный базис, а в столбце “ Сб ” – их “цены” из верхней строки таблицы: При такой записи сразу видны ненулевые значения переменных: и легко вычислить соответствующее значение целевой функции: . Впрочем, ненулевые значения мы уже получали из системы (2), см. выше. Обсудить, как получены числа, записанные в середину таблицы. Чтобы проверить, оптимально ли найденное нами решение, нужно для каждого вектора при неизвестном вычислить оценку по формуле: . ; ; ; ; ; . С помощью вышеприведённой таблицы мы выполнили шаг решения ЗЛП симплексным методом. В результате получили х1=0; х2=0; z0=14M. Эта часть решения называется нулевым шагом или нулевой итерацией. Проверим последнюю строку симплексной таблицы, где помещены оценки всех векторов-коэффициентов системы на оптимальность. Оценка каждого вектора-столбца (Aj) симплексной таблицы вычисляется по формуле:
Дата добавления: 2014-01-07; Просмотров: 835; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |