КАТЕГОРИИ: Архитектура-(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) |
Тема 3. Симплексный метод решения задач линейного программирования
Среди универсальных методов решения задач линейного программирования наиболее распространен симплексный метод (или симплекс-метод), разработанный американским ученым Дж. Данцигом. Симплекс-метод может быть применен для решения любых задач линейного программирования как вручную, так и с помощью ЭВМ. Идея метода состоит в последовательном продвижении по базисам опорных планов задачи, т.е. в последовательном улучшении планов задачи по определенному критерию, до тех пор пока не будет получено оптимальное решение. Рассмотрим последовательно процесс подготовки исходных данных и алгоритм решения задачи линейного программирования табличным симплекс -методом. Задача линейного программирования представлена в матричной форме записи:
где C= (c1,c2,….cn) –вектор-строка, A=(aij) –матрица размерности , -вектор –столбец, -вектор –столбец. Для решения ЗЛП симплекс-методом необходимо привести ее к канонической форме записи (1.9) - (1.11), причем матрица системы уравнений должна содержать единичную подматрицу размерности . Приведение ЗЛП к каноническому виду осуществляется введением в левую часть соответствующего ограничения вида (1.10) k-ой дополнительной переменной хп+k 0 со знаком «—» в случае ограничения типа и знаком «+» в случае ограничения типа . Для решения ЗЛП табличным симплекс-методом удобно использовать векторную форму записи КЗЛП, которая имеет вид:
где C= (c1,c2,….cn), X= (x1,x2,….xn) – вектор - строки, CX -скалярное произведение векторов C и X. Координаты векторов A1, A2,..., An - это коэффициенты при неизвестных х1, х2,…. хn соответственно. После приведения ЗЛП к канонической форме записи необходимо определить допустимое базисное решение. Если для определенности предположить, что первые m векторов матрицы системы составляют единичную матрицу. Тогда очевиден первоначальный опорный план = (b1,b2,….bm,0,….,0) (последние n-m компонент вектора равны нулю). Этот план определяется системой единичных векторов A1, A2,..., Aт, которые образуют базис m -мерного пространства. Положим тогда Исследование опорного плана на оптимальность, а также дальнейший вычислительный процесс удобнее вести, если условия задачи и первоначальные данные, полученные после определения исходного опорного плана, записать так, как показано в табл. 1.3. В столбце Сб этой таблицы записывают коэффициенты при неизвестных целевой функции, имеющие те же индексы, что и векторы данного базиса. В столбце B записывают положительные компоненты исходного опорного плана, в нем же в результате вычислений получают положительные компоненты оптимального плана. Столбцы векторов Aj, представляют собой коэффициенты разложения этих векторов по векторам данного базиса. В табл. 3.1 первые m строк определяются исходными данными задачи, а показатели вычисляют. В этой строке в столбце вектора B записывают значение целевой функции, которое она принимает при данном опорном плане, а в столбце вектора Aj — значение Значение z j находится как скалярное произведение Aj на вектор Сб.
Значение F0, равно скалярному произведению вектора Сб на B.
Таблица 3.1
После заполнения табл. 3.1 исходный опорный план проверяют на оптимальность. Для этого просматривают элементы (т+1)- й строки таблицы. В результате может иметь место один из следующих трех случаев: 1) 0 для j =m+1, m + 2,..., п, при ( Поэтому в данном случае числа >0 для всех j от 1 до n; 2) <0 для некоторого j, и все соответствующие этому индексу величины 0, ( 3) <0 для некоторых индексов j, и для каждого такого j по крайней мере одно из чисел - положительно. В первом случае на основании признака оптимальности исходный опорный план является оптимальным. Во втором случае целевая функция не ограничена сверху на множестве планов, а в третьем случае можно перейти от исходного плана к новому опорному плану, при котором значение целевой функции увеличится. Этот переход от одного опорного плана к другому осуществляется исключением из исходного базиса какого-нибудь из векторов и введением в него нового вектора. В качестве вектора, вводимого в базис, можно взять любой из векторов Aj, имеющий индекс j, для которого <0. Пусть, например, <0 и решено ввести в базис вектор Ak. Если получается несколько небазисных векторов, которые получают оценку <0, то в базис вводится вектор Ak, получивший наименьшую из отрицательных оценок. Для определения вектора, подлежащего исключению из базиса, находят:
Пусть этот минимум достигается при i =r. Тогда из базиса исключают вектор Ak, а число ark называют разрешающим элементом. Столбец и строку, на пересечении которых находится разрешающий элемент, называют направляющими. После выделения направляющей строки и направляющего столбца находят новый опорный план и коэффициенты разложения векторов Aj через векторы нового базиса, соответствующего новому опорному плану. Это легко реализовать, если воспользоваться методом Жордана—Гаусса. При этом можно показать, что положительные компоненты нового опорного плана вычисляются по формулам:
а коэффициенты разложения векторов Aj через векторы нового базиса, соответствующего новому опорному плану,— по формулам:
После вычисления и согласно формулам (3.9) и (3.11) их значения заносят в новую симплексную таблицу. Для использования приведенной выше процедуры симплекс-метода к минимизации линейной формы f( ) следует искать максимум функции f1( ) = - f( ), затем полученный максимум взять с противоположным знаком. Это и будет искомый минимум исходной ЗЛ П. Пример 6. Для изготовления различных изделий A, В, С и D предприятие использует три различных вида сырья. Нормы расхода сырья на производство одного изделия каждого вида, цена одного изделия A, B, С и D, а также общее количество сырья каждого вида, которое может быть использовано предприятием, приведены в табл. 3.2.
Таблица 3.2
Изделия A, B, С и D могут производиться в любых соотношениях (сбыт обеспечен), но производство ограничено выделенным предприятию сырьем каждого вида. Составить план производства изделий, при котором общая стоимость всей произведенной предприятием продукции является максимальной. Решение. Составим математическую модель задачи. Искомый выпуск изделий А обозначим через x1, изделий В — через x2, изделий С — через хз, изделий D — через х4. Поскольку имеются ограничения на выделенный предприятию фонд сырья каждого вида, переменные х1, х2, x3, х4 должны удовлетворять следующей системе неравенств: Общая стоимость произведенной предприятием продукции при условии выпуска х1, изделий А, х2 изделий В, х3 изделий С, х4 изделий D составляет: Запишем эту задачу в канонической форме. Для этого перейдем от ограничений-неравенств к ограничениям-равенствам. Введем три дополнительные переменные, в результате чего ограничения запишутся в виде системы уравнений: Эти дополнительные переменные по экономическому смыслу означают не используемое при данном плане производства количество сырья того или иного вида. Например, x4 — это неиспользуемое количество сырья I вида. А целевая функция примет вид: Поскольку среди векторов A1, A2, A3, A4, A5, A6, A7 имеются три единичных вектора, для данной задачи можно непосредственно записать опорный план. Таковым является план Х=(0; 0; 0; 0; 80; 100; 70), определяемый системой трехмерных единичных векторов A5, A6, A7, которые образуют базис трехмерного векторного пространства. Как видно, значения всех основных переменных х1, х2, х3, х4 равны нулю, а дополнительные переменные принимают свои значения в соответствии с ограничениями задачи. Эти значения переменных отвечают такому «плану», при котором ничего не производится, сырье не используется и значение целевой функции равно нулю (т. е. стоимость произведенной продукции отсутствует). Этот план, конечно, не является оптимальным. Составляем симплексную таблицу для I итерации (табл. 3.3), подсчитываем значения F0=(Сб, B), и оценки Например, оценка первого столбца Δ1=0·6+0·15+0·5-30=-30 Таблица 3.3
Как видно и из 4-й строки табл. 3.3, получается три отрицательных оценки: —30, —10, —20 и —15. Отрицательные числа не только свидетельствуют о возможности увеличения общей стоимости производимой продукции, но и показывают, на сколько увеличится эта сумма при введении в план единицы того или другого вида продукции. Так, число —10 означает, что при включении в план производства одного изделия В обеспечивается увеличение выпуска продукции на 10 руб. Если включить в план производства по одному изделию A и С, то общая стоимость изготовляемой продукции возрастет соответственно на 30 и 20 руб. Поэтому с экономической точки зрения наиболее целесообразным является включение в план производства изделий A. Это же необходимо сделать и на основании формального признака симплексного метода, поскольку минимальная отрицательная оценка; стоит в 4-й строке столбца вектора A1. Следовательно, в базис введем вектор A1. Определяем вектор, подлежащий исключению из базиса. Для этого находим Qmin по формуле (3.7): Qmin = min (80/6; 100/15; 70/5) = 100/15. Найдя число 100/15 = 6,67, мы тем самым с экономической точки зрения определили, какое количество изделий A предприятие может изготовлять с учетом норм расхода и имеющихся объемов сырья каждого вида. Так как сырья данного вида соответственно имеется 80, 100 и 70 кг, а на одно изделие A требуется затратить сырья каждого вида соответственно 6, 15 и 5 кг, то максимальное число изделий A, которое может быть изготовлено предприятием, равно min (80/6; 100/15; 70/5) = 100/15= 6,67 7, т. е. ограничивающим фактором для производства изделий A является имеющийся объем сырья II вида. С учетом его наличия предприятие может изготовить 7 изделий A. При этом сырье II вида будет полностью использовано. Следовательно, вектор A6 подлежит исключению из базиса. Столбец вектора A6 и 2-я строка являются направляющими. Составляем таблицу для II итерации (табл. 3.4). Сначала заполняем строку вектора, вновь введенного в базис, т. е. строку, номер которой совпадает с номером направляющей строки. Здесь направляющей является 2-я строка. Элементы этой строки табл. 3.4 получаются из соответствующих элементов табл. 3.3 делением их на разрешающий элемент (т. е. на 15). Таблица 3.4
1-ая строка новой II-ой симплексной таблицы 3.5 получается: (1-ая строка I-ой симплексной таблицы) -6·(2-ую строку II-ой симплексной таблицы). 3-ая строка новой II-ой симплексной таблицы 3.5 получается: (3-ая строка I-ой симплексной таблицы) -5·(2-ую строку II-ой симплексной таблицы). Значение F0= 0·40+30· +0· =200 и новый опорный план Х=(; 0; 0; 0; 40; 0; ) можно рассчитать из табл. 3.5. Рассчитав оценки, получаем что есть одна отрицательная оценка Δ3=0·(-2)+30· +0· -20=-4, что говорит о неоптимальности плана и возникает необходимость в III-ей итерации, следовательно необходимо найти Qmin= min(: )= · = , так как все остальные элементы вектора A3 меньше нуля. Таблица 3.5
Переходим к новому базису вектор A1 подлежит исключению из базиса. Столбец вектора A3 и 2-я строка являются направляющими. Составляем таблицу для III итерации Таблица 3.6
Экономический смысл решения заключается в том, что при заданных ограничениях на ресурсы и цены на изделия получается невыгодным производить изделия вида A, B и D. Общая стоимость всей произведенной предприятием продукции является максимальной при производстве изделия вида С в количестве при этом максимальная стоимость составит 250 рублей.
Пример 7. Найти симплекс-методом максимум функции при ограничениях Решение: Так как среди векторов A1, A2, A3, A4, A5, A6 имеется три единичных вектора, то для данной задачи можно непосредственно найти опорный план. Таковым является план X =(0; 0; 20; 24; 0; 18). Составляем симплексную таблицу (табл. 3. 7) и проверяем, является ли данный опорный план оптимальным. Таблица 3.7
Как видно из табл. 3.7, план не оптимален, так как есть отрицательные оценки , рассчитываем оценки Qmin, и переходим к новому опорному плану и строим новую симплексную таблицу: Таблица 3.8
Как видно из табл. 3.8, новый опорный план задачи не является оптимальным, так как в 4-й строке столбца вектора A1 стоит отрицательное число . Поскольку в столбце этого вектора нет положительных элементов, данная задача не имеет оптимального плана.
Дата добавления: 2014-12-26; Просмотров: 585; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |