Линейное и динамическое программирование
Другие рефераты
Задача линейного оптимального планирования - один из важнейших математических инструментов, используемых в экономике. Рассмотрим предприятие, которое из 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 |C |B |H |48 |30 |29 |10 |0 |0 |0 | | | | |x1 |x2 |x3 |x4 |x5 |x6 |x7 | |0 |x5 |198 |3 |2 |4 |3 |1 |0 |0 | |0 |x6 |96 |2 |3 |1 |2 |0 |1 |0 | |0 |x7 |228 |6 |5 |1 |0 |0 |0 |1 | | | |0 |-48 |-30 |-29 |-10 |0 |0 |0 | Если все оценочные коэффициенты (серый цвет) неотрицательны, то получено оптимальное решение: базисные переменные равны свободным членам, остальные равны 0. Если же есть отрицательный оценочный коэффициент, то находят самый малый из них. Если в столбце коэффициентов над ним нет положительных, то задача не имеет решения. Задача оптимального планирования не может быть таковой, поэтому ищут минимальное отношение свободных членов столбца Н к положительным коэффициентам указанного xj. В пересечении строки и столбца получаем разрешающий элемент и затем строим новую таблицу. Таблица N 2 |C |B |H |48 |30 |29 |10 |0 |0 |0 | | | | |x1 |x2 |x3 |x4 |x5 |x6 |x7 | |0 |х5 |84 |0 |-Ѕ |31/2 |3 |1 |0 |-3/6 | |0 |x6 |20 |0 |11/3 |2/3 |2 |0 |1 |-2/6 | |48 |х1 |38 |1 |5/6 |1/6 |0 |0 |0 |1/6 | | | |1824 |0 |10 |-21 |-10 |0 |0 |-8 | Таблица N 3 |C |B |H |48 |30 |29 |10 |0 |0 |0 | | | | |x1 |x2 |x3 |x4 |x5 |x6 |x7 | |29 |х3 |24 |0 |-1/7 |1 |6/7 |2/7 |0 |-1/7 | |0 |x6 |4 |0 |13/7 |0 |13/7 |-4/21 |1 |-5/21 | |48 |х1 |34 |1 |6/7 |0 |-1/7 |-1/21 |0 |4/21 | | | |2328 |0 |7 |0 |8 |6 |0 |5 | Оптимальное решение (производственная программа): 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 |C |B |H |48 |30 |29 |10 |0 |0 |0 | | | | |x1 |x2 |x3 |x4 |x5 |x6 |x7 | |29 |х3 |24 |0 |-1/7 |1 |6/7 |2/7 |0 |-1/7 | |0 |x6 |4 |0 |13/7 |0 |13/7 |-4/21 |1 |-5/21 | |48 |х1 |34 |1 |6/7 |0 |-1/7 |-1/21 |0 |4/21 | | | |2328 |0 |7 |0 |8 |6 |0 |5 | Решение одной из пары двойственных задач можно найти, зная только ответ к другой задаче и пользуясь 2-й теоремой двойственности: если i-e ограничение одной из пары двойственных задач на компонентах оптимального решения есть строгое неравенство, то оптимальное значение i-й переменной другой задачи равно 0, или, что то же самое - если оптимальное значение j-й переменной одной задачи строго положительно, то j-e ограничение другой из пары двойственных задач на компонентах оптимального решения есть равенство. Важен экономический смысл двойственных оценок. Двойственная оценка, например, третьего ресурса у3=5 показывает, что добавление одной единицы третьего ресурса обеспечит прирост прибыли на 5 единиц. Расшивка "узких мест" производства Таблица N 3 |C |B |H |48 |30 |29 |10 |0 |0 |0 | | | | |x1 |x2 |x3 |x4 |x5 |x6 |x7 | |29 |х3 |24 |0 |-1/7 |1 |6/7 |2/7 |0 |-1/7 | |0 |x6 |4 |0 |13/7 |0 |13/7 |-4/21 |1 |-5/21 | |48 |х1 |34 |1 |6/7 |0 |-1/7 |-1/21 |0 |4/21 | | | |2328 |0 |7 |0 |8 |6 |0 |5 | При выполнении оптимальной производственной программы первый и третий ресурсы используются полностью, тем самым они образуют "узкие места" производства. Будем их заказывать дополнительно. Пусть Т=( 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 у предприятия будет новая
| | скачать работу |
Другие рефераты
|