Двойственная задача линейного программирования
Линейное программирование.
Задача линейного оптимального планирования - один из важнейших математических инструментов, используемых в экономике. Рассмотрим предприятие, которое из m видов ресурсов производит n видов продукции. Примем следующие обозначения: i - номер группы ресурса (i=1,2,..., m); j - номер вида продукции (j=1,2,..., n); aij - количество единиц i-го ресурса, расходуемое на производство одной единицы j-го вида продукции; bij - запасы i-ro ресурса; xi — планируемое количество единиц j-й продукции; cj -прибыли от реализации одной единицы j-го вида продукции; X=(x1, x2,…, xn) - искомый план производства, называется допустимым если имеющихся ресурсов достаточно. называется допустимым если имеющихся ресурсов достаточно. Рассматриваемая задача состоит в нахождении допустимого плана, дающего максимальную прибыль из всех допустимых решения подобных задач, называемых задачами линейного программирования. Предположим, что предприятие может выпускать четыре вид продукции, используя для этого три вида ресурсов. Известна технологически матрица А затрат любого ресурса на единицу каждой продукции, вектор В объемов ресурсов и вектор С удельной прибыли
48 30 29 10 удельные прибыли
нормы расхода 3 2 4 3 198 2 3 1 2 96 6 5 1 0 228 запасы ресурсов Обозначим х1, х2, х3, х4 - число единиц 1-й, 2-й, 3-й, 4-й продукции, которые планируем произвести. При этом можно использовать только имеющиеся запасы ресурсов. Целью является получение максимальной прибыли. Получаем следующую математическую модель оптимального планирования: L(x1,x2,x3,x4)=48xl+30x2+29x3+10x4 àmax 3х1+2х2+4х3+3х4≤198 2х1+3х2+1х3+2х4≤96 6х1+5х2+1х3+0х4≤228 xj≥0, jєN4 Для решения полученной задачи в каждое неравенство добавим неотрицательную переменную. После этого неравенства превратятся в равенства, в силу этого добавляемые переменные называются базисными. Получается задача ЛП на максимум, все переменные неотрицательны, все ограничения есть равенства и есть базисный набор переменных: х5 - в 1-м равенстве, х6 - во 2-м и х7 - в 3-м. Теперь можно запускать симплекс-метод.
L(x1,x2,x3,x4)=48xl+30x2+29x3+10x4 àmax 3х1+2х2+4х3+3х4+x5 =198 2х1+3х2+х3+2х4 +x6 =96 6х1+5х2+х3 +x7=228 xj≥0, jєN7
Таблица N 1
Если все оценочные коэффициенты (серый цвет) неотрицательны, то получено оптимальное решение: базисные переменные равны свободным членам, остальные равны 0. Если же есть отрицательный оценочный коэффициент, то находят самый малый из них. Если в столбце коэффициентов над ним нет положительных, то задача не имеет решения. Задача оптимального планирования не может быть таковой, поэтому ищут минимальное отношение свободных членов столбца Н к положительным коэффициентам указанного xj. В пересечении строки и столбца получаем разрешающий элемент и затем строим новую таблицу. Таблица N 2
Таблица N 3
Оптимальное решение (производственная программа): Xоpt=(34; 0; 22; 0); максимум целевой функции равен 2328. Значение переменной с номером i большим 4-х есть остаток (i-4)-ro ресурса. 'Гак как все оценочные коэффициенты неотрицательны, то получено оптимальное решение: базисные переменные равны свободным членам, остальные равны 0.
Следует обратить внимание на экономический смысл элементов последней строки последней симплексной таблицы. Например, коэффициент Δ2=7 при переменной х2 показывает, что если произвести одну единицу продукции второго вида (она не входит в оптимальную производственную программу), то прибыль уменьшится на 7 единиц. Заметим, что в рассматриваемом примере линейной производственной задачи возможна самопроверка результата. Воспользуемся тем, что в оптимальной производственной программе х2=0, х4=0. Предположим, что вторую и четвертую продукции мы не намеревались выпускать с самого начала. Рассмотрим задачу с оставшимися двумя переменными, сохранив их нумерацию. Математическая модель задачи будет выглядеть следующим образом:
L(x1,x3)=48xl+29x3 àmax 3х1+4х3≤198 2х1+ х3 ≤ 96 6х1+ х3≤228 x1≥0, x3≥0 Задачу линейного программирования с двумя переменными можно решить графически. Возьмем на плоскости систему координат: ось OX3 направим горизонтально и вправо, ось OХ1 -вертикально и вверх. Каждое ограничение задачи, раз оно линейное нестрогое неравенство, графически изображается полуплоскостью, граничная прямая которой соответствует уже не неравенству, а равенству. Допустимое множество задачи является пересечением всех этих полуплоскостей и есть выпуклый многоугольник. Вторая из двух основных теорем линейного программирования гласит: Если экстремум целевой функции достигается на допустимом множестве, то функция принимает его в какой-то вершине многоугольника-допустимого множества. Исходя из этой теоремы, найти искомый экстремум можно просто перебрав вершины многоугольника и определив ту, в которой значение функции экстремально. Чаще делают по-другому: строят линию уровня целевой функции и двигают ее параллельно в направлении экстремума, стараясь уловить последнюю точку пересечения линии с допустимым множеством.
Двойственная задача линейного программирования
Задача линейного оптимального планирования - исходная в своей паре симметричных двойственных задач. Вообще же другая задача в двойственной паре строится так:
1)меняется тип экстремума целевой функции (mах на min и наоборот); 2)коэффициенты целевой функции одной задачи становятся свободными членами другой задачи; 3)свободные члены одной задачи становятся коэффициентами целевой функции двойственной задачи; 4)тип неравенств меняется (≤ на ≥ и наоборот); 5) каждый столбец одной задачи порождает строку ограничений другой задачи и наоборот. В матрично-векторном виде обе задачи выглядят так: исходная задача двойственная задача L=(c,x)àmax Z=(b,y)àmin Ax≤b, x≥0 Ya≥c, y≥0,
L(x1,x2,x3,x4)=48xl+30x2+29x3+10x4 àmax Z(y1,y2,y3,y4)=198yl+96y2+228y3 à min 3х1+2х2+4х3+3х4≤198 3y1+2y2+6y3≥48 2х1+3х2+1х3+2х4≤96 2y1+3y2+5y3≥30 6х1+5х2+1х3+0х4≤228 4y1+ y2 + y3≥29 xj≥0, jєN4 3y1+2y2≥10 yj≥0, jєN3
Решение полученной задачи легко найти с помощью второй основной теоремы двойственности, согласно которой для оптимальных решений X(x1, x2, x3, x4) и Y(y1, y2, y3) пары двойственных задач необходимо и достаточно выполнение условий:
x1(3y1+2y2+6y3-48)=0 y1 (3х1+2х2+4х3+3х4)-198=0 x2(2y1+3y2+5y3-30)=0 y2 (2х1+3х2+1х3+2х4)-96=0 x3(4y1+1y2+1y3-29)=0 y3 (6х1+5х2+1х3+0х4)-228=0 x4(3y1+2y2+0y3-10)=0 В решении исходной задачи х1>0, х3>0, поэтому 3y1+2y2+6y3-48=0 4y1+1y2+1y3-29=0 Учитывая, что второй ресурс был избыточным и, согласно теореме двойственности его оценка равна нулю – y2=0, то приходим к системе: 3y1+6y3-48=0 4y1+1y3-29=0 из которой следует, что y1=6; y3=5. Таким образом получили двойственные оценки ресурсов: y1=6; y2=0; y3=5; общая оценка всех ресурсов Z=198y1+228y3=2328. Заметим, что полученное решение содержалось в последней строке последней симплексной таблицы исходной задачи Таблица N 3
Решение одной из пары двойственных задач можно найти, зная только ответ к другой задаче и пользуясь 2-й теоремой двойственности: если i-e ограничение одной из пары двойственных задач на компонентах оптимального решения есть строгое неравенство, то оптимальное значение i-й переменной другой задачи равно 0, или, что то же самое - если оптимальное значение j-й переменной одной задачи строго положительно, то j-e ограничение другой из пары двойственных задач на компонентах оптимального решения есть равенство. Важен экономический смысл двойственных оценок. Двойственная оценка, например, третьего ресурса у3=5 показывает, что добавление одной единицы третьего ресурса обеспечит прирост прибыли на 5 единиц. Расшивка "узких мест" производства
Таблица N 3
При выполнении оптимальной производственной программы первый и третий ресурсы используются полностью, тем самым они образуют "узкие места" производства. Будем их заказывать дополнительно. Пусть Т=(t1,t2,t3) - вектор дополнительных объемов ресурсов. Так как мы будем использовать найденные двойственные оценки ресурсов, то должно выполняться условие H+Q-lТ≥0, где Н - значения базисных переменных в последней симплексной таблице, а Q-1 - обращенный базис, который образуют столбцы при балансовых переменных в этой таблице. Задача состоит в том, чтобы найти вектор Т, максимизирующий суммарный прирост прибыли W=6t1+5 t3 при условии сохранения двойственных оценок ресурсов (и, следовательно, ассортимента выпускаемой продукции), предполагая, что можно получить дополнительно не более 1/3 первоначального объема ресурсов каждого вида. 24 2/7 0 -1/7 t1 0 4 + -4/21 1 -5/21 0 ≥ 0 34 -1/21 0 4/21 t3 0
t1 198 0 ≤ 1/3 96 t3 228 t1≥0, t3≥0.
W=6t1+5t3 àmax -2/7 t1 + 1/7 t3 ≤ 24 4/21 t1 + 5/21 t3 ≤ 4 1/21 t1 - 4/21 t3 ≤ 34 t1≤198/3, t3≤228/3. t1≥0, t3≥0.
Как видно, после графического решения (График 2) программа расшивки приобретает вид: t1=21, t2=0, t3=0 С новым количеством ресурсов: 198+21 219 b' = 96+0 = 96 228+0 228 у предприятия будет новая производственная программа. Найдем h'=Q-1 b'
5/28 0 -1/7 219 30 àx3 -4/7 1 -1/7 96 = 0 àx6 -3/28 0 2/7 228 33 àx1 Теперь новая производственная программа имеет вид: X'оpt=(33;0;30;0). При этом второй ресурс был использован полностью. 219 При наличии ресурсов b' = 96 производство наиболее выгодно, так как 228 достигается max прибыль с использованием всех ресурсов. Также обратим внимание на то, что производство продукции 1–го вида при заказе дополнительных ресурсов необходимо будет уменьшить на 15 единиц, а производство продукции 3–го вида – увеличить на единицу. ΔLmax=(Y,t)=6·21=126, где Y=(6;0;5); t(21;0;0) L'max= ΔLmax+ Lmax=126+2328=2454. Этот результат можно проверить, подставив значения х1 и х3 в первоначальную целевую функцию: L'max=48xl+30x2+29x3+10x4=31·37+41·21=1147+861=2454. Транспортная задача
Транспортная задача формулируется следующим образом. Однородный продукт, сосредоточенный в т пунктах производства (хранения) в количествах a1, а2,..., аm единиц, необходимо распределить между п пунктами потребления, которым необходимо соответственно b1, b2, ,…, bn единиц. Стоимость перевозки единицы продукта из i-ro пункта отправления в j-й пункт назначения равна cij и известна для всех маршрутов. Необходимо составить план перевозок, при котором запросы всех пунктов потребления были бы удовлетворены за счет имеющихся продуктов в пунктах производства и общие транспортные расходы по доставке продуктов были минимальными. Обозначим через xij количество груза, планируемого к перевозке от i-ro поставщика j-му потребителю. При наличии баланса производства и потребления
математическая модель транспортной задачи будет выглядеть так: найти план перевозок X=(xij), xij³0, iÎNm, jÎNn минимизирующий общую стоимость всех перевозок
при условии, что из любого пункта производства вывозится весь продукт , iÎNm
и любому потребителю доставляется необходимое количество груза , jÎNn
Для решения транспортной задачи чаще всего применяется метод потенциалов. Пусть исходные данные задачи имеют вид А(а1,а2,а3)=(40;45;70); В(b1,b2,b3)=(48;30;29;40); 3 6 4 3 С= 2 3 1 3 6 5 1 4 Общий объем производства Sai=40+45+70=155 больше, чем требуется всем потребителям Sbj=48+30+29+40=147, т.е. имеем открытую модель транспортной задачи. Для превращения ее в закрытую вводим фиктивный пункт потребления с объемом потребления 155-147=8 единиц, причем тарифы на перевозку в этот пункт условимся считать равными нулю, помня, что переменные, добавляемые к левым частям неравенств для превращения их в уравнения, входят в функцию цели с нулевыми коэффициентами. Первое базисное допустимое решение легко построить по правилу "северо-западного угла". Таблица 1
Обозначим через m(p1, p2,…, pm, q1, q2,…, qn) вектор симплексных множителей или потенциалов. Тогда Dij=mAij-cij, iÎNm, jÎNn, откуда следует Dij=pi+qj-cij, iÎNm, jÎNn Положим, что p1=0. Остальные потенциалы находим из условия, что для базисных клеток Dij=0. В данном случае получаем D11=0, p1+q1-c11=0, 0+q1-3=0, q1=3 D21=0, p2+q1-c21=0, p2+3-2=0, p2= -1 D23=0, p2+q3-c23=0, -1+q3-1=0, q3=2 аналогично, получим: q2=4, р3=-1, q4=5, q5=1. Затем вычисляем оценки всех свободных клеток: D12=p1+q2-c12=0+4-6= -2 D13=p1+q3-c13=0+2-4=-2 D14=2; D15=1; D24=1; D25=0; D31= -4; D32= -2 Находим наибольшую положительную оценку: mах(Dij >0)=2=D14, Для найденной свободной клетки 14 строим цикл пересчета - замкнутую ломаную линию, соседние звенья которой взаимно перпендикулярны, сами звенья параллельны строкам и столбцам таблицы, одна из вершин находится в данной свободной клетке, а все остальные - в занятых клетках. Это будет 14-34-33-23-21-11. Производим перераспределение поставок вдоль цикла пересчета:
rmax=7 Получаем второе базисное допустимое решение: Таблица 2
Находим новые потенциалы. Новые оценки: D12= -2; D13= -4; D15= -1; D23= -2; D24= -1; D25= -2; D31= -2; D32=0. Поскольку все Dij£0 решение является оптимальным: 33 0 0 7 Xоpt1 = 15 30 0 0 0 0 29 33 Однако, так как оценка клетки D32=0, делаем вывод о наличие другого возможного оптимального решения. Для его нахождения строим цикл пересчета клетки 32: 32-22-21-11-14-34, производим перераспределение:
Таблица 3
Находим новые потенциалы. Получаем рi и qj соответственно равные потенциалам первого базисного оптимального решения (см. табл. 2). Исходя из этого Dmax=D32, однако элемент с индексом 32 уже присутствует в базисе, поэтому пересчет не имеет смысла. Таким образом получаем второе и последнее базисное оптимальное решение: 3 0 0 37 Xоpt2 = 45 0 0 0 0 30 29 3
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|