Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ ЛЕКЦИИ для РИО.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.1 Mб
Скачать

3.4. Основные результаты линейного программирования

Опуская строгие математические доказательства, сформулируем основные утверждения линейного программирования.

  1. Если ограничения имеют допустимые решения, то они имеют и базисное решение.

  2. Допустимая область является выпуклым множеством.

  3. Базисные допустимые решения соответствуют вершинам выпуклого множества.

  4. Если целевая функция имеет конечный минимум, то по крайней мере одно оптимальное решение является базисным.

3.5. Симплекс – метод при заданном допустимом базисном решении

Графический метод решения невозможно применить к задачам с размерностью более трех. Предлагаемый алгоритм решения задач, разработанный Г. Данцигом, является вычислительной процедурой, представленной в алгебраической форме.

Рассмотрим сначала алгоритм решения задач подобного типа на примере, а затем сформулируем общие закономерности.

Повторим условия упражнения №7: максимизировать функцию Z=2X1+4X2 при ограничениях: X1≥0, X2≥0,3X1+4X2≤1700, X1+5X2≤1600.

В стандартной форме с неотрицательными дополнительными переменными X3 и X4 ограничения и целевая функция принимают вид

3X1+4X2+X3=1700, (34)

2X1+5X2 +X4=1600, (35)

2X1–4X2 =Z. (36)

Очевидно, что набор X1=X2=0, X3=1700, X4=1600 образует базисное решение. Функция Z, имеющая нулевое значение, выражается через небазисные переменные, которые также имеют нулевые значения. Зададим себе вопрос, каким образом можно уменьшить значение функции Z? Поскольку в уравнении целевой функции коэффициенты при X1 и X2 отрицательны, а сами X1 и X2 должны быть неотрицательны по ограничениям, то любое увеличение значений X1 и X2 будет приводить к уменьшению функции Z. Для упрощения алгоритма решения задачи увеличивается значение только одной из переменных. В качестве таковой может выступать любая, но предпочтение следует отдавать переменной с большим по модулю коэффициентом, то есть переменной X2. Однако, при увеличении значения X2 будут изменяться значения X3 и X4 в силу необходимости выполнения ограничений (34-36). Все переменные должны оставаться неотрицательными. Таким образом, существует предел увеличения X2. Поскольку 3X1+4X2+X3=1700, X3 обращается в ноль при X2=1700/4=425 (напоминаем, что X1=0). Из (35) X4=0 при X2=1600/5=320. Таким образом, X2 не может увеличиваться сверх 320, в противном случае переменные приобретают отрицательные значения.

Проведем ряд преобразований с уравнениями (34)-(36). Цель преобразований – сделать переменную X2 базисной с коэффициентом единица в уравнении (35) и исключив переменную из всех остальных уравнений.

Разделив (35) на 5, получим

2/5X1+X2+1/5X4=320 (37)

Если теперь умножить (37) на 4 и вычесть результат из (34), получим

7/5X1+X3–4/5X4=420.

Если теперь (37) умножить на (–4) и вычесть результат из выражения целевой функции (36), получим

–2/5X1+4/5X4=Z+1280.

Таким образом, ограничения и целевая функция принимают вид

7/5X1+X3–4/5X4=420, (38)

2/5X1+X2+1/5X4=320, (39)

–2/5X1+4/5X4=Z+1280. (40)

Переменная X2 исключена отовсюду, кроме (39), куда она входит с коэффициентом единица, что является канонической формой для базиса X2 и X3, представляющего базисное допустимое решение. Небазисными переменными в каноноческом виде стали X1 и X4. В данном случае их можно приравнять нулю. Теперь значение целевой функции можно уменьшить, увеличивая только X1. Для ограничения (38) X3=0 при X1=300; для ограничения (39) X2=0 при X1=800. Исходя из этого, максимальное увеличение X1 составляет 300.

Разделив (38) на коэффициент при X1=7/5, получим

X1+5/7X3–4/7X4=300. (41)

Теперь исключим X1 из другого ограничения и целевой функции, вычитая выражение (41), умноженное на 2/5 и минус 2/5, из соответствующих ограничений, получим каноническую форму задачи для базиса X1 и X2:

X1 +5/7X3– 4/7X4=300,

X2–2/7X3+ 3/7X4=200, (42)

2/7X3+ 4/7X4=Z+1400.

Дальнейшее увеличение X3 и X4 не приведет к снижению целевой функции и при X3=X4=0 функция Z имеет минимальное значение –1400 при допустимом базисном решении X1=300; X2=320.

Приведенный итерационный процесс удобно иллюстрировать так называемыми симплекс-таблицами.

Таблица 12

Итерация

Базис

Значение

X1

X2

X3

X4

0

X3

X4

1700

1600

3

2

4

50

1

*

*

1

Z

0

–2

–4

*

*

1

X3

X2

420

320

7/50

2/5

*

1

1

*

–4/5

1/5

Z

1280

–2/5

*

*

4/5

2

X1

X2

300

200

1

*

*

1

5/7

–2/5

–4/7

3/7

Z

1400

*

*

3/7

4/7

Примечание. Знаком [0] в таблице отмечены коэффициенты, которые на очередной итерации собираемся обратить в базисные переменные; знаком [*] отмечены переменные, которые должны иметь нулевое значения в отличии от тех, которые обращаются в ноль при проведении преобразований.