Задачи линейного программирования.
Задачей линейного программирования называется задача исследования операций, математическая модель которой имеет вид: f(X) = å СjXj ® max(min); å aij xj = bi, iÎI, IÍM = {1, 2,…m}; å aij xj £ bi, iÎM; Xj³0, jÎJ, JÍN = {1, 2,…n}. При этом система линейных уравнений и неравенств, определяющая допустимое множество решений задачи W, называется системой ограничений задачи линейного программирования, а линейная функция f(X) называется целевой функцией или критерием оптимальности. Любую задачу линейного программирования можно свести к задаче линейного программирования в канонической форме. Для этого в общем случае нужно уметь сводить задачу максимизации к задаче минимизации; переходить от ограничений неравенств к ограничениям равенств и заменять переменные, которые не подчиняются условию неотрицательности. Максимизация некоторой функции эквивалентна минимизации той же функции, взятой с противоположным знаком, и наоборот. Правило приведения задачи линейного программирования к каноническому виду состоит в следующем: 1) если в исходной задаче требуется определить максимум линейной функции, то следует изменить знак и искать минимум этой функции; 2) если в ограничениях правая часть отрицательна, то следует умножить это ограничение на -1; 3) если среди ограничений имеются неравенства, то путем введения дополнительных неотрицательных переменных они преобразуются в равенства; 4) если некоторая переменная Хk не имеет ограничений по знаку, то она заменяется (в целевой функции и во всех ограничениях) разностью между двумя новыми неотрицательными переменными:: Xk = X`k – Xl, гдеl – свободный индекс, X`k ³ 0, Xk ³ 0.
3.2. Постановка задачи линейного программирования Под термином «транспортные задачи» понимается широкий круг задач не только транспортного характера. Общим для них является, как правило, распределение ресурсов, находящихся у m производителей (поставщиков), но n потребителям этих ресурсов. На автомобильном транспорте часто встречаются следующие задачи, относящиеся к транспортным: · прикрепление потребителей ресурса к производителям; · привязка пунктов отправления к пунктам назначения; · взаимная привязка грузопотоков прямого и обратного направлений; · отдельные задачи оптимальной загрузки промышленного оборудования; · оптимальное распределение объемов выпуска промышленной продукции между заводами-изготовителями. Транспортным задачам присущи следующие особенности: · распределению подлежат однородные ресурсы; · условия задачи описываются только уравнениями; · все переменные выражаются в одинаковых единицах измерения; · во всех уравнениях коэффициенты при неизвестных равны единице; · каждая неизвестная встречается только в двух уравнениях системы ограничений. Транспортные задачи могут решаться симплекс-методом.
3.3. Решение транспортной задачи
Начальное распределение выберем по методу наименьших стоимостей. Порядок заполнения клеток: (3,1), (1,2), (4,3). (2,4), (1,5), (1,4), (3,5), (4,5) Суммарные затраты: f(x) = 6´18+7´15+8´32+8´5+8´40+7´10+14´7+16´13=1107 Рассмотрим процесс нахождения потенциалов для данного распределения. Положим, Ui=0 Þ V2=U1+C12=7; V5=U1+C15=7=U3+14=U4+16 Þ U3= -7, U4= -9; V3=U4+C43= -1; V4=U2+8=U1+8 Þ U2=U1=0; V4=8. Найдем оценки: dij=(Ui+cij)-Vj:
11 0 15 0 0 (dij) = 13 1 11 0 8 0 -4 4 -3 0 8 -6 0 -5 0 Данный план не является оптимальным, т.к. есть отрицательные оценки. Построим контур перераспределения для клетки (4,2). Наименьшая поставка в вершине контура со знаком “-” равна 13, поэтому проведем перераспределение поставок, уменьшив поставки в клетках со знаком “-” на 13 и увеличив поставки в клетках со знаком “+” на 13. результаты поставлены в таблице 2.
Суммарные затраты: f(x) = 6´18+7´2+10´13+8´32+8´5+8´40+7-23+14-7=1127 Положим U1=0 V2 = U1+C12=7=U4+10 Þ U4 = -3 V3 = U4+8=5; V4=U1+8=8=U2+8 Þ U2=0 V5 = U1+7= 7 = U3+14 Þ U3= -7 V1 = U3+6= -1 dij = (Ui+Cij)-Vj
9 0 9 0 0 (dij) = 11 1 5 0 8 0 -3 -2 -3 0 14 0 0 1 6
Наличие отрицательных оценок свидетельствует о том, что план не является оптимальным. Построим контур перераспределения для клетки (3,2). Наименьшая поставка в вершине контура со знаком “-” равна 2. Произведем перераспределение поставок. Результаты представим в таблице 3.
Суммарные затраты: f(x) = 6´18+10´2+10´13+8´32+8´5+8´40+7´25+14´7=1119 Положим, U1=0 Þ V4=8, V5=7; V4=U2+8 Þ U2=0 V5 = U3+14 Þ U3= 7-14= -7; V1= -7+6= -1; V2= -7+10= +3 V2=U4+10 Þ U4=3-10= -7; v3= -7+8=1 9 4 13 0 0 (dij) = 13 5 9 0 8 2 0 2 -3 0 10 0 0 -3 2
Наличие отрицательных оценок свидетельствует о том, что план не является оптимальным. Построим контур перераспределения для клетки (3,4). Наименьшая поставка в клетке со знаком “-” равна 5. Произведем перераспределение поставок результаты представим в таблице 4.
Суммарные затраты: f(x) = 7´30+8´40+6´18+10´2+12´5+10´13+8´32=1104 U1=0 Þ V5= 7; U2=0 Þ V4=8=U3+12 Þ U3=-4 Þ V1= 6-4=2, V2=10-4=+6=U4+10; V3= -4+8= +4 8 1 10 0 0 (dij) = 10 2 6 0 8 0 0 2 0 3 10 0 0 0 5
Матрица оценок (dij) не содержат отрицательных величин Þ данный план является оптимальным, т.к. С34 = 0, а клетка (3,4) не является запятой, то данный план не является единственным. Стоимость перевозок по этому плану, как было рассчитано ранее, равна f(x) = 1104.
3.6. Симплекс-метод решения задач линейного программирования.
Симплекс-метод позволяет отказаться от метода перебора при решении задач линейной оптимизации, является основным численным методом решения задач линейного программирования и позволяет за меньшее число шагов, чем в методе перебора, получить решение.
Реализация алгоритма симплекс-метода.
1. Записать задачу в канонической форме: заменить все ограничения-неравенства с положительной правой; 2. Разделить переменные на базисные и свободные: перенести свободные переменные в правую часть ограничений-неравенств. 3. Выразить базисные переменные через свободные: решить систему линейных уравнений (ограничений-неравенств) – относительно базисных переменных; 4. Проверить неотрицательность базисных переменных: убедиться в неотрицательности свободных членов в выражениях для базисных переменных. Если это не так, вернуться к пункту 2, выбирая другой вариант разделения переменных на базисные и свободные. 5. Выразить функцию цели через свободные переменные: базисные переменные, входящие в функцию, выразить через свободные переменные; 6. Вычислить полученное базисное решение и функцию цели на нем: приравнять к 0 свободные переменные; 7. проанализировать формулу функции цели: если все коэффициенты свободных переменных положительны (отрицательны), то найденное базисное решение будет минимально (максимально) и задача считается решенной; 8. Определить включаемую в базис и исключаемую из базиса переменные: если не все коэффициенты при свободных переменных в функции цели положительны (отрицательны), то следует выбрать свободную переменную, входящую в функцию цели с максимальным по модулю отрицательным (положительным) коэффициентом, и увеличивать ее до тех пор, пока какая-нибудь из базисных переменных не станет равной 0. Свободную переменную рассматриваем как новую базисную переменную (включаемую в базис), а базисную переменную рассматриваем как новую базисную переменную (исключаемую из базиса); 9. Используя новое разделение переменных на базисное и свободное, вернуться к пункту 3 и повторять все этапы до тех пор, пока не будет найдено оптимальное решение. В заключение отметим, что определение оптимального решения распадается на два этапа: · Нахождение какого-либо допустимого решения с положительным свободным членом; · Определение оптимального решения, дающего экстрему целевой функции.
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (178)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |