- •Введение
- •Часть 1. Линейное программирование
- •1.1. Построение линейных экономико-математических моделей
- •Примеры задач
- •1.2. Формы записи задач линейного программирования
- •1.3. Свойства решений задач линейного программирования
- •1.4. Геометрический смысл и графический метод решения задач линейного программирования
- •1.5. Симплексный метод решения задач линейного программирования
- •1.6. Симплексный метод с искусственым базисом
- •1.7. Элементы теории двойственности
- •А. Симметричная двойственная пара
- •В. Несимметричная двойственная пара
- •1.8. Основные теоремы двойственности
- •1.9. Транспортная задача
- •Алгоритм метода потенциалов
- •1.10. Задача об оптимальных назначениях
- •Часть 2. Нелинейное программирование
- •2.1. Дробно-линейное программирование
- •2.1.1. Постановка задачи
- •Общую задачу дробно-линейного программирования (в дальнейшем длп) обычно записывают в виде:
- •2.1.2. Графическое решение задач длп
- •2.1.3. Симплекс-метод в длп
- •2.2. Общая задача нелинейного программирования. Классификация вычислительных методов
- •Условия (1) и (2), а также
- •По постановке задачи.
- •2. По характерным чертам алгоритмов.
- •2.3. Эффективные методы одномерной минимизации
- •2.4. Графический метод решения задач нелинейного программирования
- •2.5. Методы минимизации для задач без ограничений, использующие производные
- •2.6. Методы минимизации, не использующие производные
- •2.7. Методы решения задач нелинейного программирования с ограничениями
- •2.7.1. Методы линейной аппроксимации
- •2.7.2. Понятие о методах штрафных функций
- •Список использованной литературы:
- •Содержание
- •Часть 1. Линейное программирование 3
- •Часть 2. Нелинейное программирование 47
1.6. Симплексный метод с искусственым базисом
Предположим, что мы имеем задачу линейного программирования в каноническом виде:
(1.6.1)
Часто встречается ситуация, когда матрица А системы ограничений не содержит m единичных столбцов, а преобразование ее методом Жордана-Гаусса весьма трудоемко. В этом случае рекомендуется ввести в левые части ограничений задачи так называемые искусственные переменные в таком количестве, чтобы, в совокупности с имеющимися, образовался базис из m единичных столбцов. Отметим важное отличие искусственных переменных от дополнительных, которые вводились в ограничения для преобразования неравенств в равенства: если дополнительные переменные не входили в целевую функцию, то искусственные входят в Z с очень большим положительным коэффициентом Р → +∞. Предположим, мы ввели к искусственных переменных, в результате мы переходим к так называемой Р-задаче:
(1.6.2)
Связь между решениями исходной задачи линейного программирования и Р- задачи определяется следующей ТЕОРЕМОЙ:
Если Х’’ = (х10, х20, …, хn0, xn+10 ,…, xn+k0) – оптимальное решение Р- задачи, то его первые n компонент Х’= (х10, х20, …, хn0) будут являться оптимальным решением исходной задачи.
Доказательство данной теоремы можно найти в [1]. Практическая сторона вычислений мало отличается от алгоритма симплекс-метода. Как правило, при пересчете симплекс-таблиц искусственные переменные выводятся из базиса уже на первых шагах, так как в строке оценок присутствуют Δj, содержащие Р → +∞. После исключения из базиса всех искусственных векторов задача решается обычным симплекс-методом.
Пример 1.6.1. Проиллюстрируем данный метод следующим примером. Дана задача линейного программирования:
Z = – 2x1 – 3x2 + x3 → max;
x1 – 3x2 + x3 = 1;
3x1 + 2x2 + x3 ≤ 11;
–2x1 + x2 +3x3 ≥ 13;
xj ≥ 0, j = 1, 2, 3.
Сведем задачу к каноническому виду, заменяя задачу максимизации на задачу минимизации и вводя дополнительные переменные для преобразования ограничений-неравенств в ограничения-равенства:
Z` = –Z = 2x1 + 3x2 – x3 → min;
x1 – 3x2 + x3 = 1;
3x1 + 2x2 + x3 + x4 = 11;
–2x1 + x2 + 3x3 – x5 = 13;
xj ≥ 0, j =1, … 5.
Матрица системы ограничений
1 –3 1 0 0
А = 3 2 1 1 0
– 2 1 3 0 –1
содержит только один единичный столбец, значит, для получения начального базисного решения надо ввести две искусственные переменные х6 и х7, соответственно, в первое и третье ограничения. Эти переменные войдут в целевую функцию с коэффициентом Р → +∞. Итак, решаем Р-задачу:
Z` = 2x1 + 3x2 – x3 + Рх6 + Рх7 → min;
x1 – 3x2 + x3 + х6 = 1;
3x1 + 2x2 + x3 + x4 = 11;
–2x1 + x2 + 3x3 –x5 + х7 = 13;
xj ≥ 0, j =1, … 7.
Составляем начальную симплекс-таблицу и преобразовываем ее по изложенным выше правилам:
i |
Базис |
Сбаз |
В |
c1=2 |
c2=3 |
c3= –1 |
c4=0 |
c5=0 |
c6=P |
c7=P |
КΣ |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
|
||||
1 |
A6 |
P |
1 |
1 |
–3 |
1 |
0 |
0 |
1 |
0 |
1 |
2 |
A4 |
0 |
11 |
3 |
2 |
1 |
1 |
0 |
0 |
0 |
18 |
3 |
A7 |
P |
13 |
–2 |
1 |
3 |
0 |
–1 |
0 |
1 |
15 |
m+1 |
Zj – cj |
|
14P |
–P–2 |
–2P–3 |
4P+1 |
0 |
–P |
0 |
0 |
|
i |
Базис |
Сбаз |
В |
c1=2 |
c2=3 |
c3=–1 |
c4=0 |
c5=0 |
c6=P |
c7=P |
КΣ |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
|
||||
1 |
A3 |
–1 |
1 |
1 |
–3 |
1 |
0 |
0 |
1 |
0 |
1 |
2 |
A4 |
0 |
10 |
2 |
5 |
0 |
1 |
0 |
–1 |
0 |
17 |
3 |
A7 |
P |
10 |
–5 |
10 |
0 |
0 |
–1 |
–3 |
1 |
12 |
m+1 |
Zj – cj |
|
10P–1 |
–5P–3 |
10P |
0 |
0 |
–P |
–4P–1 |
0 |
|
i |
Базис |
Сбаз |
В |
c1=2 |
c2=3 |
c3=–1 |
c4=0 |
c5=0 |
c6=P |
c7=P |
КΣ |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
|
||||
1 |
A3 |
–1 |
4 |
–1/2 |
0 |
1 |
0 |
–3/10 |
1/10 |
3/10 |
23/5 |
2 |
A4 |
0 |
5 |
9/2 |
0 |
0 |
1 |
1/2 |
½ |
–1/2 |
11 |
3 |
A2 |
3 |
1 |
–1/2 |
1 |
0 |
0 |
–1/10 |
–3/10 |
1/10 |
6/5 |
m+1 |
Zj – cj |
|
–1 |
–3 |
0 |
0 |
0 |
0 |
–1–P |
–P |
|
В последней таблице мы наблюдаем один из специальных случаев симплекс-метода: в строке оценок нет положительных чисел, однако в «небазисном» столбце А5 стоит ноль (обычно нули в строке оценок должны располагаться под базисными переменными). Эта ситуация означает, что мы достигли оптимального решения (х1 = 0; х2 = 3; х3 = 4), но оно не единственно, т. е. существует еще одна крайняя точка допустимой области L, где целевая функция достигает такого же минимального значения, именно, Z = –1. Чтобы найти координаты этой точки, надо сделать еще одно преобразование симплекс-таблицы, выбирая в качестве разрешающего столбца столбец с «небазисным» нулем, а разрешающую строку найти обычным способом. В результате получим:
i |
Базис |
Сбаз |
В |
c1=2 |
c2=3 |
c3=–1 |
c4=0 |
c5=0 |
c6=P |
c7=P |
КΣ |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
|
||||
1 |
A3 |
–1 |
7 |
11/5 |
0 |
1 |
3/5 |
0 |
2/5 |
0 |
56/5 |
2 |
A5 |
0 |
10 |
9 |
0 |
0 |
2 |
1 |
1 |
–1 |
22 |
3 |
A2 |
3 |
2 |
2/5 |
1 |
0 |
1/5 |
0 |
–1/5 |
0 |
17/5 |
m+1 |
Zj – cj |
|
–1 |
–3 |
0 |
0 |
0 |
0 |
–1–P |
–P |
|
Дальнейшие преобразования таблицы не имеют смысла, т.к. мы опять придем к предыдущему оптимальному решению.
Итак, мы получили два оптимальных решения:
Х(1)опт = (0; 1; 4) и Х(2)опт = (0; 2; 7). Общее решение задачи записывается как выпуклая линейная комбинация данных решений:
Хопт = λХ(1)опт + (1 – λ)Х(2)опт; 0 ≤ λ ≤1.
Замечание. Выше упоминалось, что одним из исходов вычислений по симплекс-методу является установление факта отсутствия допустимых решений у задачи линейного программирования. Этот случай хорошо прослеживается в методе искусственного базиса. Именно, если в какой-нибудь из симплекс-таблиц в последней, (m+1)-ой строке столбца В появится выражение, содержащее множитель Р, а все оценки оптимальности Δj окажутся неположительными, то это будет означать, что в базисе остался искусственный вектор, однако значение целевой функции нельзя уменьшить. Такое возможно лишь в случае, когда ограничения задачи противоречивы, т. е. L = Ø.
Пример 1.6.2. Рассмотрим задачу:
Z = –x1 + x2 → max;
–x1 + 2x2 ≤ 3;
–2x1 + x2 ≥ 2;
x1 + x2 ≤ 1; x1 ≥ 0; x2 ≥ 0.
Приводим задачу к каноническому виду и вводим искусственную переменную х5:
Z`= – Z = x1 – x2 + Рх5 → min;
–x1 + 2x2 + x3 = 3;
–2x1 + x2 – x4 + x5 = 2;
x1 + x2 + x6 = 1;
xj ≥ 0; j = 1, … 6.
Составляем начальную симплекс-таблицу:
i |
Базис |
Сбаз |
В |
c1=1 |
c2=–1 |
c3=0 |
c4=0 |
c5=P |
c6=0
|
КΣ |
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
|
||||
1 |
А3 |
0 |
3 |
–1 |
2 |
1 |
0 |
0 |
0 |
5 |
2 |
А5 |
P |
2 |
–2 |
1 |
0 |
–1 |
1 |
0 |
1 |
3 |
А6 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
4 |
m+1 |
Zj – cj |
|
2Р |
–2Р–1 |
Р+1 |
0 |
–P |
0 |
0 |
|
Вводим в базис А2 и выводим А6. Пересчитываем таблицу:
i |
Базис |
Сбаз |
В |
c1=1 |
c2=–1 |
c3=0 |
c4=0 |
c5=P |
c6=0
|
КΣ |
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
|
||||
1 |
А3 |
0 |
1 |
–3 |
0 |
1 |
0 |
0 |
–2 |
–3 |
2 |
А5 |
P |
1 |
–3 |
0 |
0 |
–1 |
1 |
–1 |
–3 |
3 |
А2 |
–1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
4 |
m+1 |
Zj – cj |
|
2Р |
–2Р–1 |
0 |
0 |
–P |
0 |
–Р–1 |
|
Т еперь мы видим описанную ситуацию: в последней строке нет положительных оценок, однако из базиса еще не выведена искусственная переменная. Построим область допустимых решений данной задачи:
Легко видеть, что ограничения задачи несовместны, т.е. область L не имеет ни одной допустимой точки.