- •Оглавление Введение. Экономика и математика Часть I. Линейные модели и методы в экономике.
- •Глава 1. Принятие решений в экономике
- •Глава 2. Линейное программирование. Теоретические основы и алгоритмы.
- •Глава 3. Теория двойственности в линейном программировании и ее экономические приложения.
- •Глава 4. Транспортная задача и ее приложения.
- •Глава 5. Задача целочисленного линейного программирования
- •Введение. Экономика и математика
- •Часть I. Линейные модели и методы в экономике.
- •Глава 1. Принятие решений в экономике.
- •1.1. Моделирование
- •1.2. Математическое моделирование.
- •1.3. Алгоритм исследования операции.
- •Алгоритм исследования операций.
- •1.4. Примеры исследования операции (моделирование)
- •1.5.Классификация моделей и методов исследования операций
- •Глава 2.
- •2.1. Постановки задачи линейного программирования
- •Основная задача линейного программирования (ОснЗлп)
- •Каноническая задача линейного программирования (кзлп)
- •2.2. Выпуклые множества.
- •0Пределение 2.4.
- •2.3. Теоретические основы линейного программирования
- •2.4. Графический метод и анализ решения злп
- •Проведем графический анализ решения (модели) на чувствительность.
- •2.5. Симплекс-метод решения злп.
- •Определение к-матрицы кзлп
- •Переход от одной к-матрицы злп к другой к-матрице
- •Симплекс-разность к-матрицы злп
- •Алгоритм симплекс-метода
- •2.6. Двойственный сиплекс-метод (р-метод)
- •Определение р-матрицы злп
- •Условия перехода от одной р-матрицы злп к другой
- •Решение задач р-методом
- •2.7.Метод искусственного базиса Назначение и принцип работы методов искусственного базиса
- •2.8. Модифицированный симплекс-метод Постановка задачи
- •Алгоритм модифицированного симплекс-метода
- •Решение задачи модифицированным симплекс-методом
- •2.9. Решение злп на основе Ms Excel
- •Глава 3. Теория двойственности в линейном программировании и ее экономические приложения.
- •3.1. Определение двойственной задачи:
- •3.2. Основные теоремы двойственности
- •3. 3. Экономическая интерпретация двойственности
- •Экономическое содержание теории двойственности.
- •3.4.Применение теории двойственности к решению задач. Применение теоремы 3.5 к решению дз.
- •3.5. Анализ решения злп на основе отчетов ms excel
- •2. Определите статус, ценность каждого ресурса и его приоритет при решении задачи увеличения запаса ресурсов.
- •3. Определите максимальный интервал изменения запасов каждого из ресурсов, в пределах которого структура оптимального плана, то есть номенклатура выпускаемой продукции, остается без изменения.
- •4. Определите суммарную стоимостную оценку ресурсов (себестоимость), используемых при производстве единицы каждого изделия. Производство какой продукции нерентабельно?
- •5. На сколько уменьшится стоимость выпускаемой продукции при принудительном выпуске единицы нерентабельной продукции?
- •6. На сколько можно снизить запас каждого из ресурсов, чтобы это не привело к уменьшению прибыли?
- •8. Определите оптимальное решение задачи для случая, когда вектор ресурсов задан в виде .
- •9. Определите интервалы изменения цен на каждую продукцию, при которых сохраняется оптимальный план.
- •10. На сколько нужно снизить затраты каждого вида сырья на единицу продукции, чтобы сделать производство нерентабельного изделия рентабельным?
- •11. На сколько нужно изменить запас каждого из дефицитных ресурсов, чтобы прибыль возросла на 20%?
- •3. Определите суммарную стоимостную оценку питательных веществ в единице каждого корма, использование какого вида корма нерентабельно.
- •Глава 4. Транспортная задача линейного программирования
- •0, Если безразлично, какой потребитель недополучит заявленного количества груза
- •4.3. Экономические задачи, сводящие к транспортной задаче.
- •Теорема о разрешимости транспортной задачи
- •4.4. Опорный план тз. Алгоритмы нахождения исходного плана.
- •4.4.1. Определения опорного плана тз.
- •4.4.2. Методы составления первоначальных опорных планов
- •4.5. Метод потенциалов решения транспортной задачи
- •4.6. Задача о назначениях
- •Глава 5. Задача целочисленного линейного программирования
- •5.1.Постановки и методы решения
- •5.2.Метод ветвей и границ решения целочисленных задач линейного программирования (цзлп)
- •5.3. Задача Коммивояжера.
2.3. Теоретические основы линейного программирования
Рассмотрим каноническую задачу линейного программирования (КЗЛП )
(2.22)
Будем в дальнейшем считать, что ранг матрицы А системы уравнений равен m , причем m<n.
Запишем КЗЛП в векторной форме:
(2.23)
(2.24)
(2.25)
где - j-й столбец матрицы А.
Определение 2.14. Опорным планом (ОП) задачи линейного программирования (КЗЛП) будем называть такой ее план, который является базисным решением системы линейных уравнений .
Согласно определению и предположению о том, что r(A)=m , всякому опорному плану задачи линейного программирования (как и всякому базисному решению системы линейных уравнений ) соответствует базисная подматрица В порядка m матрицы А и определенный набор m базисных переменных системы линейных уравнений .
Определение 2.15. m компонент базисного решения системы линейных уравнений , являющихся значениями соответствующих ему базисных переменных, будем называть базисными компонентами этого решения.
Отметим, что базисные компоненты опорного плана неотрицательны; остальные (n-m) его компонент равны нулю. Очевидно, что число опорных планов задачи линейного программирования конечно и не превышает . Число строго положительных компонент опорного плана не превышает m.
Определение 2.16. ОП ЗЛП, число строго положительных компонент которого равно m ( ),будем называть невырожденным ОП. В противном
случае ОП ЗЛП вырожденный.
Определение 2.17. Опорным планом ЗЛП будем называть такой план ,
что векторы , входящие в разложение
со строго положительными , линейно независимы.
Теорема 2.10.
Докажем что оба определения опорного плана равносильны.
Пусть вектор - опорный план в смысле определения (2.14) с базисными компонентами
Тогда матрица
является базисной подматрицей матрицы А и так как ее определитель отличен от нуля, векторы линейно независимы.
Следовательно, если все , то вектор является опорным планом в смысле определения (2.17).
Если же среди ровно k (k<m) строго положительных компонент, то соответствующие им k векторов линейно независимы, так как они образуют подсистему линейно независимой системы векторов, т.е. и в этом случае вектор является опорным планом в смысле определения (2.17). Обратно, пусть вектор - опорный план в смысле определения (2.17), причем его компоненты
строго положительные, а соответствующие им векторы (*) линейно независимы.
Так как векторы , то .
Пусть k=m. Тогда компоненты векторов (i=1,2,…,m) образуют базисную матрицу B матрицы A , а компоненты вектора являются его базисными компонентами. Следовательно, вектор - невырожденный опорный план ЗЛП в смысле определения (2.14).
Пусть теперь k<m. Тогда среди векторов
можно найти вектор , не входящий в систему векторов (*) и такой что если его присоединить к системе (*), то полученная система из (k+1)-ого вектора
(**)
линейно независима.
В самом деле, предположим, что система векторов (**) линейно зависима. Это означает, что в матрице А есть минор k-ого порядка равный нулю, т.е. ранг матрицы А равен k и по предположению меньше m. Получили противоречие, следовательно система векторов (**) линейно независима.
Рассуждая аналогичным образом, можно доказать, что систему векторов (*) можно дополнить до системы из m линейно независимых векторов
(***)
присоединив к ней (m-k) векторов
системы , не входящих в (*).
Компоненты векторов системы (***) образуют базисную подматрицу матрицы А, а компоненты вектора являются его базисными компонентами.
Следовательно, в этом случае вектор есть неотрицательное решение системы линейных уравнений с k<m строго положительными компонентами , т.е. вырожденным опорным планом в смысле определения (2.14).
Пример 2.4.
Пусть ограничения КЗЛП имеют вид:
Найти все ее базисные решения, указать опорные планы.
Данная задача имеет не более базисных решений. Определим базисное решение в случае, когда базисными переменными являются переменными и . Расширенную матрицу систем линейных уравнений
Преобразуем методом Жордана-Гаусса, выбирая направляющие элементы в столбцах и
Так как значения и неотрицательны, тогда данная матрица определяет опорный план
Все найденные базисные решения и соответствующие базисные подматрицы сведем в таблицу 2.1.
Табл.2.1.
№ п/п |
Набор базисных переменных системы |
Базисные подматрицы матрицы |
Расширенные матрицы |
Базисные решения |
1 |
|
|
|
(2;3;0;0) |
2 |
|
|
|
(2,5;0;1;0) |
3 |
|
|
|
(11/4;0;0;3/2) |
4 |
|
|
|
(0;-4;15;0) |
5 |
|
|
|
(0;-4;0;11) |
6 |
|
|
|
(0;0;11;-15) |
Из таблицы следует, что данная задача имеет 6 базисных решений, но только 3 опорных плана:
, ,
В параграфе 2.2. было дано определение крайней точки выпуклого множества (2.12). Теорема 2.11 устанавливает связь между понятием опорного плана ЗЛП и крайней точкой множества ее планов P.
Теорема 2.11 (о крайней точке). Опорный план ЗЛП является крайней точкой множества P и наоборот.
Доказательство.
Пусть вектор - опорный план ЗЛП, у которого компоненты строго положительные, а остальные (n-k) компонент равны нулю.
Тогда согласно определению опорного плана ЗЛП векторы линейно независимы.
Предположим, что вектор не является крайней точкой множества P, то есть существуют векторы , и такие, что
(2.26)
Векторы и - планы ЗЛП. Это означает, во-первых, что компоненты векторов и неотрицательные и вследствие (2.26) ровно k компонент вектора и ровно k компонент вектора могут быть строго положительными. Остальные (n-k) компонент каждого из векторов и равны нулю.
Во-вторых, компоненты векторов и удовлетворяют функциональным ограничениям (2.24) ЗЛП. Следовательно, имеют место слудующие равенства:
Вычитая из первого равенства второе, получим,
(2.27)
Так как векторы линейно независимы, то из (2.27) следует, что или . Последнее означает, что = .
Получили противоречие, следовательно, - крайняя точка множества P.
Обратно, пусть теперь вектор - крайняя точка множества P, строго положительными компонентами которой являются . Так как вектор - план ЗЛП, то его компоненты удовлетворяют функциональным ограничениям (2.24) задачи, то есть имеет место равенство
(2.28)
Предположим, что вектор не является опорным планом ЗЛП. Тогда согласно определению опорного плана ЗЛП векторы линейно зависимы, то есть существуют такие действительные числа, , не все равные нулю, что
(2.29)
Зададим некоторое ε>0. Умножим левую и правую части равенства (2.29) сначала на ε, затем на (-ε). Каждое из полученных равенств сложим с (2.28), в результате получим
(2.30)
(2.31)
Выберем ε настолько малым, чтобы выполнялись неравенства
(2.32)
(2.33)
Рассмотрим векторы и , у каждого из которых отличными от нуля могут быть лишь k компонент
и
соответственно, а остальные n-k компонент равны нулю.
Согласно (2.30)- (2.33) векторы и являются планами ЗЛП.
Имеем , то есть лежит внутри отрезка, соединяющего две различные точки и множества P.
Последнее означает, что - не крайняя точка множества P. Получили противоречие, следовательно, - опорный план ЗЛП.
Следствие 1. Крайняя точка множества P может иметь не более m строго положительных компонент.
Следствие 2. Число крайних точек множества P конечно не превышает .
Следствие 3. Если множество P ограниченное, то оно является выпуклым многогранником.
Теорема 2.12. (о существовании оптимального плана или решения ЗЛП) Если линейная форма ограничена сверху на непустом множестве P, то ЗЛП разрешима, то есть существует такая точка , что . (теорема Вейерштрасса)
Теорема 2.13. Если множество P не пусто, то оно имеет опорный план (или крайнюю точку).
Доказательство.
Заметим, прежде всего, что если правые части bi (i = 1,2,…,m) системы линейных уравнений равны нулю, то, так как ранг матрицы А равен m, вектор является вырожденным опорным планом задачи линейного программирования. Поэтому в дальнейшем будем предполагать, что среди bi есть отличные от нуля.
Пусть вектор - план, но не опорный план задачи линейного программирования с к строго положительными компонентами. Не нарушая общности, будем считать, что строго положительными являются первые к компонент вектора , тогда имеет место равенство
(2.34)
Так как вектор - не опорный план, то согласно определению опорного плана задачи линейного программирования векторы линейно зависимы, то есть существуют действительные числа не все равные нулю и такие, что
(2.35)
Введём обозначение
(2.36)
Изменением знака в (2.35) можно всегда добиться, чтобы μ было положительным.
У множим левую и правую части (2.35) на и полученное равенство сложим с (2.34), будем иметь
и ли, так как
(2.37)
В силу (2.36)
(2.38)
и обязательно существует такое j, для которого в соотношении (2.38) имеет место равенство.
Положим для определённости, что .
Таким образом, мы построили план задачи линейного программирования, j-я компонента которого есть , а остальные n-k+1 компонент равны нулю.
Если при этом векторы оказались линейно зависимыми, то рассуждая аналогично, получим план задачи линейного программирования, у которого k-2 строго положительных компонент и так далее до тех пор, пока не построим такой план задачи линейного программирования с l (l≤k) строго положительными компонентами, что соответствующие этим компонентам векторы будут линейно независимыми. Так по предложению среди bi есть отличные от нуля, то l≠0.
Согласно определению опорного плана ЗЛП построенный план является при l = m невырожденным, а при l<m вырожденным опорным планом задачи линейного программирования.
Теорема 2.14.Пусть векторы - планы задачи линейного программирования. Тогда вектор
(2.39)
где
(2.40)
будет решением задачи линейного программирования тогда и только тогда, когда её решением является каждый из векторов .
Доказательство.
Пусть каждый из векторов является решением задачи линейного программирования, то есть
Тогда , то есть вектор ,определяемый соотношениями (2.39) и (2.40) также является решением задачи линейного программирования.
Обратно, пусть вектор , где , является решением задачи линейного программирования.
Предположим, что среди векторов есть хотя бы один вектор , который не является решением задачи линейного программирования, то есть имеет место следующее неравенство:
(2.41)
Тогда учитывая (2.40), будем иметь
.
Получили противоречие, следовательно, каждый из векторов есть решение задачи линейного программирования.
Можно доказать следующую теорему о существовании оптимального опорного плана или опорного решения задачи линейного программирования.
Теорема 2.15. (о существовании оптимального опорного плана или опорного решения ЗЛП) Пусть вектор является решением задачи линейного программирования. Тогда существует опорный план (крайняя точка), на котором функция достигает своего глобального максимума в области P.
Доказательство.
Заметим, что так как по условию теоремы множество планов P не пусто, то согласно теореме 2.13 оно имеет хотя бы одну крайнюю точку.
Рассмотрим 2 случая:
Пусть Р – выпуклый многогранник, а - решение задачи линейного программирования. Тогда согласно теореме 2.9, точка может быть представлена в виде выпуклой линейной комбинации конечного числа крайних точек этого множества,
, , (2.42)
где - крайние точки множества Р.
Исключим из системы крайних точек те, которые входят в разложение (2.42) с коэффициентом αi=0. Пусть это будут точки
.
Тогда
, ,
т.е. выполняются условия теоремы 2.14 и, следовательно,
,
что и доказывает теорему.
Пусть Р – неограниченное множество, а - конечное решение задачи линейного программирования.
Тогда можно указать такое положительное число М, что
. (2.43)
Введём дополнительное функциональное ограничение
и рассмотрим новую задачу линейного программирования
(2.44)
при условиях
Множество планов данной задачи обозначим . Множество – ограниченное, а так как компоненты вектора удовлетворяют условиям (2.45) – (2.47) и , то является решением задачи. Следовательно, согласно доказанному в случае 1 во множестве существуют крайние точки такие, что
причём
, (2.48)
Если бы хотя бы одна крайняя точка (i=1,2,…,N) не принадлежит гиперплоскости
, (2.49)
то она является крайней точкой множества Р и теорема доказана.
Пусть все крайние точки (i=1,2,…,N) принадлежат гиперплоскости (2.49), то есть имеют место равенства
Тогда из (2.48) имеем
что противоречит условию (2.43) выбора М>0.
Теорема 2.16 (следствие теоремы 2.15). Если решение задачи линейного программирования достигается в нескольких крайних точках области Р, то оно достигается и в любой выпуклой линейной комбинации этих точек.