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

2.1. Постановка задачи линейного программирования.

Математическая модель задачи – это отражение оригинала в виде функций, уравнений, неравенств, цифр и т.д.

Задача линейного программирования соответствует частному случаю общей модели, когда соотношение, описывающее критерий эффективности и пространство стратегий линейны по контролируемым переменным – стратегиям.

Любая задача линейного программирования включает:

1. Целевую функцию (линейную форму), максимум или минимум (оптимум) которой требуется найти.

2. Ограничения в виде системы линейных уравнений (неравенств).

3. Требование не отрицательности переменных.

Стандартная формулировка общей задачи линейного программирования выглядит так: требуется найти экстремальное значение показателя эффективности (целевой функции)

(1.9)

при линейных ограничительных условиях, накладываемых на элементы решения:

(1.10)

………………………………………

, (1.11)

где аij, bi, cj — заданные числа.

Условие (1.11) необязательно, но его всегда при необходи­мости можно добиться. Обозначение { говорит о том, что в конкретном ограничении возможен один из знаков: или .

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

Общей формой записи задачи линейного программирования называют задачу максимизации или минимизации линейной функции

f = max (min) (2.1.)

при линейных ограничениях

и при условиях

,

, , (2.3.)

где J1 J2 =( j= ) и аij, bi, cj — постоянные числа.

Симметричной формой записи задачи линейного программирования называют задачу максимизации линейной функции (2.1.), при линейных ограничениях (2.2.), когда все ограничения имеют смысл неравенства вида «≤» и все переменные неотрицательны, т.е.

f = max (2.4.)

(2.5.)

(2.6.)

Канонической формой записи задачи линейного программирования называют задачу максимизации линейной функции (2.1.), при линейных ограничениях (2.2.), когда все ограничения имеют смысл равенства и все переменные неотрицательны, т.е.

f = max (2.7.)

(2.8.)

(2.9.)

На практике часто приходится одну форму записи задачи линейного программирования преобразовывать в другую. При этом пользуются следующими соображениями:

  1. При необходимости задачу максимизации можно заменить задачей минимизации и наоборот. Экстремум этих функций достигается в одной и той же точке, т.е. min f = - max ( -f ). После решения задачи max ( -f ) необходимо изменить на противоположный знак оптимума функции.

  2. Если на какую-либо переменную не наложено условие неотрицательности (например хк), то её можно заменить разностью двух новых неотрицательных переменных (хки xк’’), т.е. хкк’–xк’’.

  3. Любое ограничение неравенство задачи линейной оптимизации вида “ ”, можно преобразовать в равенство добавлением к его левой части дополнительной неотрицательной переменной, а неравенство, вида “ ” ― вычитанием из его левой части дополнительной неотрицательной переменной.

В экономических задачах дополнительные переменные всегда имеют определенный, практический смысл.

Известно, что система "m" уравнений с "n" переменными может быть как совместной, так и несовместной, а уравнения системы как зависимыми, так и независимыми. В дальнейшем условимся, что все "m" уравнений системы линейно не зависимы. Совместная система "m" уравнений с "n" неизвестными имеет бесконечное множество всевозможных решений.

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

Основные теоремы линейного программирования

Теорема 1. Множество всех допустимых решений, системы ограничений задачи линейного программирования, является выпуклым.

Теорема 2. Если задача линейного программирования имеет оптимальное решение, то оно совпадает с одной (двумя) из угловых точек множества допустимых решений.

Пример. Найти максимум функции

F=X1-X2

п ри ограничениях:

3X1+2X2<=14

X1-4X2<=0

3X1-X2>=0

-X1+X2<=2

X1,X2>=0

Найдём оптимальное решение поставленной задачи геометрическим способом. Для этого в системе координат Х12 построим множество допустимых решений, используя систему неравенств. Убедимся в справедливости теоремы 1. На рисунке 1 множество допустимых решений пред­ставляет собой замкнутый выпуклый четырехугольник с вершинами О D, В,С. Функция "F" может принимать различные значения из области допустимых значений, т.е. Х12

Меняя величину "а", получим семейство параллельных прямых. Теорема 2. утверждает, что максимум или минимум функции F достигается в одной из вершин области допустимых решений. Убедимся в этом, последовательно подставляя координаты вершин в выражение целевой функции F. Максимум будет в точке С с координатами X1=4, Х2=1 и значение его равно 3 (4-1=3).

Рис. 2.1.

Теорема 3. Каждому допустимому базисному решению задачи линейного программирования соответствует угловая точка, области допустимых решений системы ограничений и наоборот.

Вернемся к задаче. Систему ограничений сведем к системе уравнений, добавив в левую часть неравенств дополнительные переменные.

З Х1+2Х23=14

X1-4X2+X4=0

-3X1+X2+X5=0

-X1+X2+X6=2

Система четырех независимых уравнений с шестью переменными имеет множество решении. Найдем некоторые базисные решения.

1. Положим Х12=0. Подставляя эти значения в систему уравнений, получим базисное решение (0,0,14,0,0,2).Оно допустимо, т.к. Х1, Х2, Х3, Х4, Х5, Х6 больше нуля и вырождено, т.к. Х45=0.

2. Найдем теперь второе базисное решение, полагая X1=X6=0. Подставим эти значения в систему уравнений и, решая эту систему относительно оставшихся неизвестных переменных, получим второе базисное решение (0,2,10,8,-2,0).Оно не допустимо, т.к. Х5=-2 отрицательно.

3. Третье базисное решение получим аналогичным способом, полагая Х34=0. Базисное решение (4,1,0,0,11,5) допустимо и соответствует решению, полученному геометрическим способом (вершина С).

Таким же образом можно найти все базисные решения, выбрать среди них допустимые, подставляя значения X1 и Х2 в целевую функцию, получить значения функции и среди этих значений выбрать максимальное. Очевидно, что для данной задачи число базисных решений будет равно числу сочетаний из шести по четыре, а именно: С46=15. В общем случае количество базисных решений равно

Cmn=n!/m!(n-m)! (2.3)

Замечание. Если в угловой точке соответствуют два, три и более базисных решений, то все они будут вырожденными.

Следствие из теоремы 1 и теоремы 2 оптимальное решение задачи линейного программирования, заданной ограничениями - уравнениями совпадает с допустимым базисным решением системы ограничений.

Замечание. Если система ограничений задачи линейного программирования задана в виде системы линейных неравенств, с двумя переменными или число переменных превышает число уравнений на два, то такая задача может быть решена геометрически.

Что Вы должны знать:

(вопросы для самоконтроля)

  1. Из чего состоит задача линейного программирования?

  2. Какие параметры являются заданными в задаче линейного программирования, и какие надо найти?

  3. Какова формулировка первой теоремы линейного программирования?

  4. Какое решение является допустимым решением задачи линейного программирования?

  5. Что позволяет определить вторая теорема линейного программирования?

  6. Какие задачи линейного программирования решаются геометрическим способом?

  7. В каком случае оптимальное решение не является единственным?

  8. В каких случаях задача линейного программирования не имеет решения, решение стремится к бесконечности?