Автор: Пользователь скрыл имя, 12 Мая 2013 в 23:37, курсовая работа
Под двойственной задачей понимается вспомогательная задача линейного программирования, формулируемая с помощью определённых правил непосредственно из условий прямой задачи. Заинтересованность в определении оптимального решения прямой задачи путём решения двойственной к ней задачи обусловлена тем, что вычисления при решении ДЗ могут оказаться менее сложными. Трудоёмкость вычислений при решении ЗЛП в большей степени зависит от числа ограничений, а не от количества переменных. Целью курсового проекта является изучить литературу по выбранной теме и научиться применять на практике симплекс – метод для решения прямой и двойственной задачи линейного программирования, а также решить двойственную задачу линейного программирования с помощью программы MS Excel.
Введение
Под двойственной задачей понимается вспомогательная задача линейного программирования, формулируемая с помощью определённых правил непосредственно из условий прямой задачи. Заинтересованность в определении оптимального решения прямой задачи путём решения двойственной к ней задачи обусловлена тем, что вычисления при решении ДЗ могут оказаться менее сложными. Трудоёмкость вычислений при решении ЗЛП в большей степени зависит от числа ограничений, а не от количества переменных.
Целью курсового проекта является изучить литературу по выбранной теме и научиться применять на практике симплекс – метод для решения прямой и двойственной задачи линейного программирования, а также решить двойственную задачу линейного программирования с помощью программы MS Excel.
Курсовой проект состоит из введения, двух глав и заключения.
В первой главе рассматриваются основные понятия и предложения теории двойственности ЗЛП, виды математических моделей двойственных задач и их экономическая интерпретация.
Во второй главе рассматривается решение двойственной задачи с помощью программы MS Excel.
1. Двойственность в линейном программировании
1.1 Прямые и двойственные задачи линейного программирования
С экономической точки зрения двойственную задачу можно интерпретировать так: какова должна быть цена единицы каждого из ресурсов, чтобы при заданных количествах ресурсов bi и величинах стоимости единицы продукции Cj минимизировать общую стоимость затрат? А исходную задачу определим следующим, образом: сколько и какой продукции xj(j =1,2,…, n) необходимо произвести, чтобы при заданных стоимостях Cj (j=1,2,…, n) единицы продукции и размерах имеющихся ресурсов bi(i=1,2,…, n) максимизировать выпуск продукции в стоимостном выражении. Большинство задач линейного программирования изначально определяются как исходные или двойственные задачи. Сделав вывод можно говорить о паре двойственных задач линейного программирования.
Каждой задаче линейного программирования можно определенным образом сопоставить некоторую другую задачу (линейного программирования), называемую двойственной или сопряженной по отношению к исходной или прямой задаче. Дадим определение двойственной задачи по отношению к общей задаче линейного программирования, состоящей, как мы уже знаем, в нахождении максимального значения функции:
F=c1x1+c2x2+…cnxn
при условиях
Сравнивая две сформулированные задачи, видим, что двойственная задача составляется согласно следующим правилам:
1. Целевая функция исходной задачи задается на максимум, а целевая функция двойственной на минимум.
2. Матрица
составленная из коэффициентов при неизвестных в системе ограничений исходной задачи, и аналогичная матрица
в двойственной задаче получаются друг из друга транспонированием (т.е. заменой строк столбцами, а столбцов – строками).
3. Число переменных в двойственной задаче равно числу ограничений в системе исходной задачи, а число ограничений в системе двойственной задачи – числу переменных в исходной задаче.
4. Коэффициентами при неизвестных в целевой функции двойственной задачи являются свободные члены в системе исходной задачи, а правыми частями в соотношениях системы двойственной задачи – коэффициенты при неизвестных в целевой функции исходной задачи.
5. Если переменная xj исходной задачи может принимать только лишь положительные значения, то j-е условие в системе двойственной задачи является неравенством вида «>». Если же переменная xj может принимать как положительные, так и отрицательные значения, то 1 – соотношение в системе представляет собой уравнение. Аналогичные связи имеют место между ограничениями исходной задачи и переменными двойственной задачи. Если i – соотношение в системе исходной задачи является неравенством, то i-я переменная двойственной задачи . В противном случае переменная уj может принимать как положительные, так и отрицательные значения.
Двойственные пары задач обычно подразделяют на симметричные и несимметричные. В симметричной паре двойственных задач ограничения прямой задачи и соотношения двойственной задачи являются неравенствами вида « «. Таким образом, переменные обеих задач могут принимать только лишь неотрицательные значения.
Двойственная задача
тесно связана задачей
Рассмотрим задачу использования ресурсов. У предприятия есть t видов ресурсов в количестве bi (i=1, 2,…, m) единиц, из которых выпускается n видов продукции. На изготовление 1 ед. i-й продукции тратится aij ед. t-гo ресурса, ее стоимость составляет Cj ед. Необходимо определить план выпуска продукции, обеспечивающий ее максимальный выпуск в стоимостном выражении. Примем за xj (j=1,2,…, n) количество ед. j-й продукций и составляет максимальное значение линейной функции
Z=C1x1+C2x2+ … +Cnxn
Определим ресурсы, которые потребуются для изготовления товара. Обозначим за единицу стоимости ресурсов единицу стоимости выпускаемого товара. А через уi (j=1,2,…, m) стоимость единицы i-го ресурса. Т.е. стоимость всех затраченных ресурсов, которые используются для изобретения единицы j-й продукции, составляет. Цена израсходованных ресурсов не должна превышать цены окончательного товара.
1.2 Основы теоремы двойственности
1.2.1. Несимметричные двойственные задачи
Система ограничений исходной задачи в несимметричных двойственных задачах определяется как равенство. Двойственная же задача задается, как неравенство, причем переменные могут быть и отрицательными. Что бы проще понимать постановку задачи будем интерпретировать ее в матричной форме.
Сформулируем двойственную задачу. Необходимо определить матрицу-строку Y=(y1, y2,…, ym), которая максимизирует линейную функцию f=YA0 и удовлетворяет ограничениям
YA>С (1.1)
Сформулируем исходную задачу. Определить матрицу-столбец X=(x1, x2,…, xn), которая минимизирует линейную функцию Z=СХ и. удовлетворяет ограничениям
AX=A0,Х>0 (1.2)
Как в исходной так и в двойственной задачах А=(aij) – матрица коэффициентов системы ограничений, A0=(b1, b2,…, bm) – матрица-столбец, C=(c1, c2,…, cn) – матрица-строка. Теорема двойственности устанавливает связь между оптимальными планами пары двойственных задач.
Теорема двойственности гласит: если из пары двойственных задач одна обладает оптимальным планом, то и другая имеет решение, причем для экстремальных значений линейных функций выполняется соотношение minZ =maxf. Если линейная функция одной из задач не ограничена, то другая не имеет решения
Доказательство.
Будем считать, что исходная задача имеет оптимальный план. План определен симплексным методом. Можно считать, что конечный базис состоит из т первых векторов A1, A2,…, Am.
Будем считать, что D является матрицей, составленной из компонент векторов конечного базиса A1, A2., Am Приведенная выше таблица состоит из коэффициентов разложения векторов A1, A2,…, An исходной системы по векторам базиса. В этой таблице каждому вектору A j соответствует вектор Xj.
Используя соотношения (1.3) и (1.4), получаем:
(1.5) A=D, D-1A=
(1.6) A0 =DX*; D-1A0 =X
(1.7) min Z= C*X*,
(1.8) = C* – C > 0,
где С=(C1, C2,…, Cm), С=(C1, C2,…, Cm, Cm +1,…, Cn), a=(CX1–C1; СХ2 – С2,…, CXn–Cn)=(Z1–С; Z2-C2;…, Zn–Cn) – вектор, компоненты которого неположительны, так как они совпадают с Zj–Cj>0, соответствующими оптимальному плану.
Оптимальный план исходной задачи имеет вид X=D-1А0, поэтому оптимальный план двойственной задачи ищем в виде
(1.9) Y = C*D-1
Покажем, что Y* действительно план двойственной задачи. Для этого ограничения (1.2) запишем в виде неравенства YA-С>0, в левую часть которого подставим Y*. Тогда на основании (1.9), (1.5) и (1.8) получим
YА–С=С*D-1А–С=С-С>0, откуда находим Y*A>С
Так как Y* удовлетворяет ограничениям (1.2), то это и есть план двойственной задачи. При этом плане значение линейной функции двойственной задачи f(Y)=Y*A0.Учитывая соотношения (1.9), (1.6) и (1.7), имеем
(1.10) f (Y) = Y*A0=C * D-1A0= C*X = minZ(X)
Таким образом, значение линейной функции двойственной задачи от Y численно равно минимальному значению линейной функции исходной задачи
Докажем теперь, что Y* является оптимальным планом. Умножим (1.1) на любой план Y двойственной задачи, а (1.2) – на любой план X исходной задачи: YAX=YA0=f(Y), YAX>СХ=Z(X), отсюда следует, что для любых планов Х и Y выполняется неравенство
(1.11) f(Y)>Z(X)
Этим же соотношением связаны и экстремальные значения maxf(Y)>minZ(Х). Из последнего неравенства заключаем, что максимальное значение линейной функции достигается только в случае, если maxf(Y)=minZ(X), но это значение f(Y) достигает при плане Y, следовательно, план Y – оптимальный план двойственной задачи.
Аналогично можно доказать, что если двойственная задача имеет решение, то исходная также обладает решением и имеет место соотношение maxf(Y)=minZ(X)
Для доказательства второй части теоремы допустим, что линейная функция исходной задачи не ограничена снизу. Тогда из (1.11) следует, что f(Y) – Y. Это выражение лишено смысла, следовательно, двойственная задача не имеет решений.
Аналогично предположим, что линейная функция двойственной задачи не ограничена сверху. Тогда из (1.11) получаем, что Z(X)+Y. Это выражение также лишено смысла, поэтому исходная задача не имеет решений.
Доказанная теорема позволяет при решении одной из двойственных задач находить оптимальный план другой. Здесь матрица-строка С = (0; 1; 0; –1; – 3, 0), матрица-столбец
1 1 2 0 -1 1 0
A 0 = 2 A = 0 -4 1 2 -1 0
3 0 3 0 0 1 1
1 0 0
2 -4 3
A «’ = 0 1 0
-1 2 0
1 -1 0
0 0 1
Двойственная задача. Найти максимальное значение линейной функции f=y1+2y2+5y3 при ограничениях
y1> 0
2y1 – 4y2 + 3y3 > 1,
y2 > 0,
(-y1) + 2y2 >(-1),
y1 – y2 + y3 = -3, y3 > 0
Оптимальный план исходной задачи X = (0; 1/3; 0; 11/3; 4; 0), при котором получим Zmin= -46/3. Используя эту итерацию, найдем оптимальный план двойственной задачи. Согласно теореме двойственности оптимальный план двойственной задачи находится из соотношения Y= C*D-1, где матрица D-1 - матрица, обратная матрице, составленной из компонент векторов, входящих в последний базис, при котором получен оптимальный план исходной задачи. В последний базис входят векторы A5, A4, A2; значит,
1 -1 2
D = (A 5, A 4, A 2) = -1 2 -4
1 0 3
Обратная матрица D -1 образована из коэффициентов, стоящих в столбцах A1, A3, A6 четвертой итерации:
2 1 0
D -1 = -1/3 1/3 2/3
-2/3 -1/3 1/3
Из этой же итерации следует С = (–3; –1; 1). Таким образом
2 1 0
Y=С*D-1 =(-3; – 1; 1) -1/3 1/3 2/3
-2/3 1/3 1/3
Y=(-19/3; – 11/3; – 1/3),
т.е. yi =С*Хi, где Хi – коэффициенты разложения последней итерации, стоящие в столбцах векторов первоначального единичного базиса.
Итак, i-ю двойственную переменную можно получить из значения оценки (m+1) – й строки, стоящей против соответствующего вектора, входившего в первоначальный единичный базис, если к ней прибавить соответствующее значение коэффициента линейной функции:
у1 =–19/3+0=–19/3; y2 =-11/3+0=-11/3; у3 =-1/3+0=-1/3
При этом плане maxf=-46/3
Разновидностью двойственных задач линейного, программирования являются двойственные симметричные задачи, в которых система ограничений как исходной, так и двойственной задач задается неравенствами, причем на двойственные переменные налагается условие неотрицательности.
Информация о работе Двойственность в линейном программировании