Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Линейная Алгебра: лекция 29.doc
Скачиваний:
11
Добавлен:
04.11.2018
Размер:
282.11 Кб
Скачать

2. Общая и каноническая задачи линейного программирования.

Рассмотренные в предыдущем параграфе задачи являются частными случаями общей задачи линейного программирования (ОЗЛП). Сформулируем ее:

Дана система m линейных уравнений и неравенств с n переменными:

(*)

(где вместо «?» может стоять любой из знаков ; сj,aij – численные коэффициенты при переменных ) и функция F = c1x1+c2x2+…+cnxn. Функция F называется целевой функцией ( а также линейной функцией, линейной формой или функцией цели ), а система (*) – системой ограничений данной задачи.

Любые m переменных системы m линейных уравнений с n переменными (m<n) называются основными ( или базисными ), если определитель матрицы коэффициентов при них отличен от нуля. Тогда остальные n-m переменных называются неосновными ( или свободными).

Решить задачу – найти значения переменных Х=( х12,…,хn ), для которых выполняются все требования задачи. Оптимальным решением (или оптимальным планом) задачи линейного программирования называется решение Х=( х12,…,хn ) системы ограничений, при котором целевая функция принимает оптимальное (максимальное или минимальное) значение. Базисным решением системы m линейных уравнений с n переменными называется решение, в котором все (n-m) неосновных переменных равны нулю. Базисное решение, в котором хотя бы одна из основных переменных равна нулю называется вырожденным. Допустимое базисное решение иначе еще называется опорным планом.

Стандартной ( или симметричной ) задачей линейного программирования называется задача определения максимума целевой функции F, при условии, что система ограничений состоит из одних неравенств вида , числа bi – положительные.

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

Любую задачу линейного программирования можно записать в виде канонической задачи. Нахождение минимума целевой функции F, можно заменить нахождением максимума функции –F. Ограничение – неравенство исходной задачи, имеющее вид , можно преобразовать в ограничение – равенство добавлением к его левой части дополнительной неотрицательной переменной (называемой балансовой или выравнивающей). Ограничение – неравенство исходной задачи, имеющее вид , можно преобразовать в ограничение – равенство вычитанием из его левой части дополнительной неотрицательной переменной.

Упражнения.

В нижеследующих задачах составить экономико-математические модели.

  1. Для озеленения периметра площади, длина которого 125 м. могут быть использованы георгины, бегонии и астры. На один погонный метр может быть высажено или 2 куста георгинов, или 6 кустов бегонии или 10 кустов астр. Стоимость куста георгинов 2 руб, клубня бегонии – 1 руб, куста астры – 20 коп. Имеется в распоряжении 55 кустов георгинов, 320 клубней бегонии и 520 кустов астр. Найти количество растений каждого вида для обеспечения озеленения с наименьшей суммарной стоимостью цветов, при условии, что количество погонных метров, засаженных астрами и бегониями должно быть одинаковым.

  2. Для откорма крупного рогатого скота необходимо составить диету, пользуясь набором из трех видов кормов: сена, силоса и концентратов, запасы которых ограничены и соответственно составляют 20 кг, 25 кг и 10 кг в расчете на один день. В ежедневном рационе должно содержаться не менее 20 кормовых единиц, не менее 2000 ед. белка и не менее 100 г кальция. В 1 кг сена содержится 0,5 кормовых ед., 40 ед. белка и 5 ед. кальция. Для силоса содержание этих веществ составляет: 0,2; 10 и 4 соответственно, а для концентратов: 1, 200 и 3. Найти самую дешевую диету, если известно, что 1 кг сена стоит 2 р., силоса 1р, концентратов – 4р.

  3. На приобретение оборудования для нового производственного участка имеются капиталовложения 50 т.р., а для его размещения выделена площадь в 74 м2. Можно приобрести оборудование трех видов. Единица оборудования первого вида занимает 9м2 и стоит 6 т.р. Для оборудования 2 и 3-го видов эти данные таковы: 4м2 и 3 т.р., 3м2 и 1 т.р. Прибыль от единицы нового оборудования составляет 5,2 и 1т.р. соответственно. Сколько нужно приобрести нового оборудования каждого вида, чтобы получить наибольшую прибыль и при этом полностью израсходовать выделенные капиталовложения ?

  4. Сухогруз грузоподъемностью 1500 т. может принять груз пяти наименований A,B,C,D,E общим объемом не более 500 м3. Вес в тоннах и объем в м2 единицы каждого вида груза составляет 50,100,70,90,60 тонн; 45,30,25,45,40. Стоимость ед.груза A - 1,5 т.р., В – 2 т.р., С – 1,3 т.р., D – 1,8 т.р., Е – 1,5 т.р. Загрузить судно грузом максимальной стоимости, если С15 ед.

3. Свойства задачи линейного программирования

Прежде чем мы перейдем к перечислению свойств задачи линейного программирования рассмотрим понятия «выпуклая линейная комбинация точек» и «выпуклое множество точек».

Определение 1: Точка Х называется выпуклой линейной комбинацией точек Х12,…Хn, если выполняются условия:

Очевидно, что при n=2 выпуклой линейной комбинацией двух точек является соединяющий их отрезок.

Определение 2: Множество точек называется выпуклым, если оно вместе с любыми своими двумя точками содержит их произвольную выпуклую линейную комбинацию.

Определение 3: Выпуклое замкнутое множество точек пространства (плоскости), имеющее конечное число угловых точек, называется выпуклым многогранником (многоугольником), если оно ограниченное, и выпуклой многогранной (многоугольной) областью, если оно неограниченное.

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

Перечислим свойства задачи линейного программирования. Рассмотрим каноническую задачу, в которой система ограничений есть система уравнений. Для нее справедливы следующие утверждения:

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

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

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

Как следствие всех свойств, мы получаем практический вывод: оптимум линейной функции задачи линейного программирования следует искать среди конечного числа её допустимых базисных решений.

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

Геометрический метод – самый простой и наглядный метод решения задач линейного программирования. Он позволяет быстро и легко получить ответ. Но к сожалению, он имеет недостатки, не позволяющие применять его широко:

  1. весьма ограниченная область применения ( для двух неизвестных ), что делает его бесполезным для практической работы;

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

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

Рассмотрим геометрический метод решения на примере. Пусть нам нужно решить следующую задачу: найти максимум функции F=2x1-6x2 при ограничениях:

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

х12=2; -х1+2х2=4; х1+2х2=8; х1=0; х2=0.

Каждая прямая делит плоскость на две полуплоскости. Полуплоскость, отвечающую нужному неравенству, выбираем подстановкой координат точек в соответствующее неравенство. Если после подстановки координат точки в неравенство оно становится верным, то нам нужна та полуплоскость, из которой была взята точка. Если же после подстановки координат точки в неравенство оно стало неверным, то нам нужна противоположная полуплоскость. В итоге получим выпуклый многоугольник ABCD, удовлетворяющий заданной системе неравенств.

Рис.1.

Из множества точек ABCD нужно выбрать такую точку, для которой значение целевой функции F=2x1-6x2 будет наибольшим. Заметим, что графиком целевой функции будет прямая, перпендикулярная вектору , расположенная тем дальше от начала координат, чем больше значение F. Отсюда следует, что максимальное значение целевой функции будет достигаться в одной из угловых точек, а именно в той, через которую проходит прямая, перпендикулярная вектору и находящаяся на наибольшем удалении от начала координат в направлении вектора . В данном случае это точка D(8,0). В этой точке достигается оптимальное (максимальное) значение целевой функции F=2x1-6x2=16.

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

Из рассмотренного графического способа решения задач линейного программирования на плоскости следует, что возможны, в зависимости от вида области допустимых решений, следующие случаи:

  1. оптимальное решение единственно. Прямая F=Fmax имеет одну общую точку с ОДР ( рис.2, F – достигает максимума в точке С );

  2. оптимальных решений бесконечное множество. Прямая F=Fmax совпадает с одной из прямых ограничений. В этом случае каждая точка этой прямой является оптимальным решением ( рис.3, F – достигает максимума в каждой точке отрезка ВС);

  3. оптимального решения не существует по причине неограниченности целевой функции ( рис.4 );

  4. оптимального решения не существует по причине противоречивости системы ограничений ( ОДР является пустым множеством ) (рис 5).

Рис.2 Рис.3

Рис.4 Рис.5

Если мы перефразируем свойства задач линейного программирования для данного метода, то получим:

  1. оптимальное решение, если оно существует, лежит на границе ОДР;

  2. если решение единственно, то оно достигается в одной из вершин ОДР;

  3. если решений множество, они достигаются на одной из сторон выпуклого многоугольника ОДР ( в том числе и в двух вершинах );

  4. решение, лежащее в одной из вершин ОДР, является опорным, а сама вершина – опорной точкой.

  5. для того, чтобы найти оптимальное решение, в принципе достаточно перебрать все вершины ОДР ( опорные точки ) и выбрать из них ту, где функция F принимает наибольшее значение.