Типы задач линейного программирования

Общей задачей ЛП называется задача, которая формулируется следующим образом:

Найти максимальное (минимальное) значение линейной функции

Типы задач линейного программирования - student2.ru (2.1)

при условиях

Типы задач линейного программирования - student2.ru ( Типы задач линейного программирования - student2.ru ), (2.2)

Типы задач линейного программирования - student2.ru ( Типы задач линейного программирования - student2.ru ), (2.3)

Типы задач линейного программирования - student2.ru ( Типы задач линейного программирования - student2.ru ) (2.4)

где Типы задач линейного программирования - student2.ru , Типы задач линейного программирования - student2.ru , Типы задач линейного программирования - student2.ru — заданные постоянные величины и Типы задач линейного программирования - student2.ru .

Функция (2.1) называется целевой функцией (или линейной формой) задачи (2.1)-(2.4), а условия (2.2)–(2.4) — ограничениями данной задачи.

Стандартная (или симметрическая) задача ЛП состоит в определении максимума функции (2.1) при ограничениях неравенствах (2.2) и условиях (2.4), где Типы задач линейного программирования - student2.ru , т.е. имеет вид:

Типы задач линейного программирования - student2.ru ,

Типы задач линейного программирования - student2.ru ( Типы задач линейного программирования - student2.ru ), (2.5)

Типы задач линейного программирования - student2.ru , ( Типы задач линейного программирования - student2.ru ).

Каноническая (или основная) задача ЛП состоит в определении максимума функции (2.1) при ограничениях-равенствах (2.3) и условиях (2.4):

Типы задач линейного программирования - student2.ru ,

Типы задач линейного программирования - student2.ru ( Типы задач линейного программирования - student2.ru ), (2.6)

Типы задач линейного программирования - student2.ru , ( Типы задач линейного программирования - student2.ru ).

Задачу ЛП можно записать более компактно, если ввести обозначения:

Типы задач линейного программирования - student2.ru — матрица ограничений размерности ( Типы задач линейного программирования - student2.ru ),

Типы задач линейного программирования - student2.ru — вектор-столбец свободных членов,

Типы задач линейного программирования - student2.ru — вектор-строка коэффициентов целевой функции,

Типы задач линейного программирования - student2.ru — вектор переменных задачи, который в одних случаях рассматриваем как вектор-строку, а в других — вектор-столбец. Знак транспонирования вектора (строки или столбца) опускаем для сокращения записи.

Тогда стандартная задача (2.5) примет вид:

Типы задач линейного программирования - student2.ru ,

Типы задач линейного программирования - student2.ru , (2.7)

Типы задач линейного программирования - student2.ru ,

а каноническая задача (2.6) –

Типы задач линейного программирования - student2.ru ,

Типы задач линейного программирования - student2.ru , (2.8)

Типы задач линейного программирования - student2.ru .

Здесь Типы задач линейного программирования - student2.ru (или — в ином обозначении — Типы задач линейного программирования - student2.ru ) — скалярное произведение векторов c и x, т.е.

Типы задач линейного программирования - student2.ru .

Типы задач линейного программирования - student2.ru — произведение матрицы А на вектор-столбец x.

Вектор Типы задач линейного программирования - student2.ru , удовлетворяющий ограничениям задачи (2.2)–(2.4), называется допустимым решением (или планом). Обозначим множество всех допустимых планов задачи Типы задач линейного программирования - student2.ru .

Допустимый план Типы задач линейного программирования - student2.ru , доставляющий экстремум целевой функции, называется оптимальным планом (решением) задачи. Обозначим множество всех оптимальных планов Типы задач линейного программирования - student2.ru . Если множества Типы задач линейного программирования - student2.ru ‌Ø и Типы задач линейного программирования - student2.ru ‌ Ø (не пустые множества), задача ЛП разрешима, в противном случае говорят о неразрешимости этой задачи. Различают два вида неразрешимости:

— неразрешимость первого типа (НР1), если множество допустимых планов пусто ( Типы задач линейного программирования - student2.ru Ø ‌);

— неразрешимость второго типа (НР2), если целевая функция не ограничена на непустом множестве ‌ ( Типы задач линейного программирования - student2.ru Ø).‌

Любую задачу ЛП можно свести как к стандартной, так и к канонической форме, используя следующие правила:

1) чтобы перейти от минимизации к максимизации целевой функции Типы задач линейного программирования - student2.ru , следует умножить целевую функцию на (-1) и использовать равенство

Типы задач линейного программирования - student2.ru ,

т.е. задача ‌‌ Типы задач линейного программирования - student2.ru соответствует задаче

Типы задач линейного программирования - student2.ru ;

2) чтобы изменить в ограничении-неравенстве неравенство на неравенство противоположного смысла, следует умножить обе части неравенства на (–1):

Типы задач линейного программирования - student2.ru ;

3) чтобы перейти от ограничения-неравенства к равенству, нужно ввести дополнительную (слабую) переменную Типы задач линейного программирования - student2.ru :

Типы задач линейного программирования - student2.ru ,

Типы задач линейного программирования - student2.ru ;

4) чтобы перейти от ограничения-равенства к неравенству, следует заменить это равенство на два противоположных неравенства:

Типы задач линейного программирования - student2.ru ;

5) чтобы исключить свободную переменную Типы задач линейного программирования - student2.ru (т.е. такую, для которой

нет ограничения на знак), следует ввести две новые неотрицательные переменные Типы задач линейного программирования - student2.ru , Типы задач линейного программирования - student2.ru , положив

Типы задач линейного программирования - student2.ru , Типы задач линейного программирования - student2.ru , Типы задач линейного программирования - student2.ru .

Пример. Привести к каноническому виду задачу ЛП:

Типы задач линейного программирования - student2.ru ,

Типы задач линейного программирования - student2.ru

Перейдём к задаче на максимум:

Типы задач линейного программирования - student2.ru ,

введём дополнительные переменные, исключив ограничения-неравенства:

Типы задач линейного программирования - student2.ru

Исключим свободную переменную Типы задач линейного программирования - student2.ru , используя замену

Типы задач линейного программирования - student2.ru .

Окончательно получим:

Типы задач линейного программирования - student2.ru ,

Типы задач линейного программирования - student2.ru

Наши рекомендации