Лекция 3_опт-нов.ppt
- Количество слайдов: 14
Лекция 3
Линейное программирование Общая постановка задачи линейного программирования Общей задачей линейного программирования называется задача, которая состоит в определении максимального (минимального) значения функции (1) при условиях (2) (3) (4) , где aij, bi, cj - заданные постоянные величины и k ≤ m. Функция (1) называется целевой функцией (или линейной формой) задачи (1 -4), а условия (2 -4) – ограничениями данной задачи. Стандартной (или симметричной) задачей линейного программирования называется задача, которая состоит в определении максимального значения функции (1) при выполнении условий (2) и (4), где k = m и l = n. Канонической (или основной) ЗЛП называется задача, которая состоит в определении максимального значения функции (1) при выполнении условий (3) и (4), где k = 0 и l = n.
Переход от одной формы записи ЗЛП к другой 1. В случае, когда требуется найти минимум функции z = c 1 x 1 + c 2 x 2 +… + cnxn можно перейти к нахождению максимума функции z 1 = - z = - c 1 x 1 - c 2 x 2 -… - cnxn , где min z =max(-z 1). 2. Ограничение-неравенство ai 1 x 1 + ai 2 x 2 + … + ainxn ≤ bi преобразуется в ограничениеравенство добавлением к его левой части дополнительной неотрицательной переменной ai 1 x 1 + ai 2 x 2 + … + ainxn + xn+1 =bi , а ограничение-неравенство ai 1 x 1 + ai 2 x 2 + … + ainxn + xn+1 ≥bi - в ограничение-равенство вычитанием дополнительной неотрицательной переменной : ai 1 x 1 + ai 2 x 2 + … + ainxn - xn+1 = bi. 3. Каждое уравнение системы ограничений ai 1 x 1 + ai 2 x 2 + … + ainxn = bi можно записать в виде двух неравенств: ai 1 x 1 + ai 2 x 2 + … + ainxn ≤ bi , ai 1 x 1 + ai 2 x 2 + … + ainxn ≥ bi , либо ai 1 x 1 + ai 2 x 2 + … + ainxn ≤ bi , -ai 1 x 1 - ai 2 x 2 - … - ainxn ≤ -bi ,
Формы записи канонической ЗЛП Рассмотрим задачу в канонической форме. Она состоит в определении максимального значения функции z = c 1 x 1 + c 2 x 2 +… + cnxn при ограничениях a 11 x 1 + a 12 x 2 + … + a 1 nxn = b 1 a 21 x 1 + a 22 x 2 + … + a 2 nxn = b 2. . . . . am 1 x 1 + am 2 x 2 + … + amnxn = bm x 1≥ 0, x 2 ≥ 0 , … , xn ≥ 0. ЗЛП имеет несколько форм записи: векторную, матричную, с помощью знаков суммирования. 1. Векторная форма записи. Необходимо максимизировать линейную функцию z = CX → max при ограничениях (5) A 1 x 1+A 2 x 2+…+Anxn = A 0 , X ≥ 0, где С = (c 1, c 2, … , cn) , X = (x 1, x 2, … , xn), где векторы … состоят из коэффициентов при неизвестных и свободных членов (векторы m-мерные).
2. Матричная форма записи. Необходимо максимизировать линейную функцию z = CX → max при ограничениях AX = A 0 X ≥ 0, где С = (c 1, c 2, … , cn) , , 3. Запись с помощью знаков суммирования. при ограничениях , i = 1, 2, … , m xj ≥ 0, j = 1, 2, …, n. .
Определение 1. Планом или допустимым решением ЗЛП называется вектор X=(x 1, x 2, …, xn), удовлетворяющий условиям (2) - (4). Определение 2. План X=(x 1, x 2, …, xn) называется опорным, если векторы Ai, (i=1, 2, …, m), входящие в разложение (5), с положительными коэффициентами xi, являются линейно независимыми. Так как Ai являются m-мерными, то из определения опорного плана следует, что число его положительных компонент не может превышать m. Определение 3. Опорный план называется невырожденным, если он содержит m положительных компонент, в противном случае он вырожденный. Определение 4. Оптимальным планом или оптимальным решением задачи линейного программирования называется план, доставляющий наибольшее (наименьшее) значение линейной функции (функции цели).
Выпуклые множества Определение 1. Угловыми точками выпуклого множества называются точки, не являющиеся выпуклой комбинацией двух различных точек множества. Примеры. Угловыми точками треугольника являются его вершины, круга – точки окружности. Таким образом, выпуклое множество может иметь конечное или бесконечное число угловых точек. Определение 2. Выпуклым многоугольником называется выпуклое замкнутое ограниченное множество на плоскости, имеющее конечное число угловых точек. Угловые точки многоугольника называются его вершинами. Определение 3. Опорной прямой выпуклого многоугольника называется прямая, имеющая с многоугольником, расположенном по одну сторону от нее, хотя бы одну общую точку. Пример. Прямые MN и FQ - опорные к многоугольнику ABCDE. M F B C A E D N Q
Геометрическая интерпретация ЗЛП Рассмотрим задачу линейного программирования в виде: (6) z = CX → min при ограничениях (7) A 1 x 1+A 2 x 2+…+Anxn ≤ A 0 (8) xj ≥ 0 (j = 1, 2, …, n). Совокупность чисел x 1, x 2, …, xn, удовлетворяющих ограничениям (7)-(8) называется решением. Если система неравенств (7) при условии (8) имеет хотя бы одно решение, она называется совместной, в противном случае – несовместной. Если в системе (7)-(8) положить n=2, то получим a 11 x 1 + a 12 x 2 ≤ b 1 Предположим, что эта система совместна. Каждое a 21 x 1 + a 22 x 2 ≤ b 2 неравенство этой системы геометрически определяет полуплоскость с граничной прямой ai 1 x 1 + ai 2 x 2 = bi. . . am 1 x 1 + am 2 x 2 ≤ bm Условия неотрицательности определяют полуплоскости x 1≥ 0, x 2 ≥ 0. с граничными прямыми x 1 = 0, x 2 = 0. Так как система совместна, то полуплоскости, как выпуклые множества, пересекаясь, образуют общую часть, которая является выпуклым множеством, и представляет собой совокупность точек, координаты каждой из которых являются решением данной системы. x 2 Совокупность этих точек называется многоугольником решений. Он может быть точкой, отрезком, лучом, многоугольником, неограниченной многоугольной областью. x 1
Если n > 2 , то каждое неравенство определяет полупространство n-мерного пространства с граничной гиперплоскостью ai 1 x 1 + ai 2 x 2 + … + ainxn = bi , а условия неотрицательности – полупространства с граничными гиперплоскостями xj = 0. Если система ограничений совместна, то она образует общую часть n-мерного пространства, называемую многогранником решений. Таким образом, геометрически задача линейного программирования представляет собой отыскание такой точки многогранника решений, координаты которой доставляют линейной функции минимальной значение, причем допустимыми решениями служат все точки многогранника решений. Свойства решений ЗЛП Теорема 1. Множество всех планов ЗЛП выпукло. Теорема 2. Линейная функция ЗЛП достигает своего минимального значения в угловой точке многогранника решений. Если линейная функция принимает минимальное значение более, чем в одной угловой точке, то она достигает того же значения в любой точке, являющейся выпуклой линейной комбинацией этих точек. (Т. е. , если есть решение, то оно либо одно, либо бесчисленное множество). Теорема 3. Если система векторов A 1, A 2, …, Ak (k ≤ n) в разложении (5) линейно независима и такова, что A 1 x 1+A 2 x 2+…+Akxk = A 0, где xj ≥ 0, то точка X=(x 1, x 2, …, xk, 0, …, 0) является угловой точкой многогранника решений. (Здесь X- n-мерный вектор, последние n-k компонент которого равны 0. )
Теорема 4. Если X=(x 1, x 2, …, xn) – угловая точка многогранника решений, то векторы в разложении (5), соответствующие положительным xj , являются линейно независимыми. Следствие 1. Так как векторы A 1, A 2, …, An имеют размерность m, то угловая точка многогранника решений имеет не более, чем m положительных компонент xi> 0. Следствие 2. Каждой угловой точке многогранника решений соответствует k ≤ m линейно независимых векторов системы A 1, A 2, …, An. Не теряя общности, можно предположить, что система векторов A 1, A 2, …, An ЗЛП всегда содержит m линейно независимых векторов. Если при решении частной задачи это свойство не очевидно, то первоначальную систему векторов дополняют m линейно независимыми векторами, затем находят решение расширенной задачи. Таким образом, если линейная функция задачи линейного программирования ограничена на многограннике решений, то: 1) существует такая угловая точка многогранника решений, в которой линейная функция ЗЛП достигает своего оптимума; 2) каждый опорный план соответствует угловой точке многогранника решений. Поэтому для решения ЗЛП необходимо исследовать только угловые точки многогранника решений, то есть только опорные планы.
Графический метод решения ЗЛП применяется в основном при решении задач двумерного пространства и только некоторых случаях - задач трехмерного пространства. Пусть требуется найти максимальное значение функции (1) z = c 1 x 1 + c 2 x 2 при условиях (2) a 11 x 1 + a 12 x 2 ≤ b 1 a 21 x 1 + a 22 x 2 ≤ b 2 ………………… am 1 x 1 + am 2 x 2 ≤ bm (3) x 1 ≥ 0 , x 2 ≥ 0. Каждое из неравенств (2), (3) определяет полуплоскость соответственно с граничными прямыми ai 1 x 1 + ai 2 x 2 = bi (i = 1, 2, …, m) , x 1 = 0, x 2 = 0. Если система (2), (3) совместна, то область ее решений есть множество точек, принадлежащих всем указанным полуплоскостям. Область допустимых решений задачи (1)(3) является выпуклое множество, которое называется многоугольником решений. Таким образом, исходная задача линейного программирования состоит в нахождении такой точки многоугольника решений, в которой целевая функция z принимает максимальное значение.
Графический метод решения ЗЛП включает следующие этапы. 1. Строят прямые, уравнения которых получаются в результате замены в ограничениях (2)-(3) знаков неравенств на знаки точных равенств. 2. Находят полуплоскости, определяемые каждым из ограничений задачи. 3. Находят многоугольник решений. 4. Строят вектор c = (c 1, c 2). 5. Строят прямую c 1 x 1 + c 2 x 2 = const (const=0). 6. Передвигают прямую c 1 x 1 + c 2 x 2 = 0 в направлении вектора с , в результате чего либо находят точку (точки), в которой целевая функция принимает максимальное (минимальное) значение, либо устанавливают неограниченность сверху функции на множестве планов. 7. Определяют координаты точки максимума (минимума) функции и вычисляют значение целевой функции в этой точке. В зависимости от вида многоугольника решений и направления вектора c = (c 1, c 2) возможны следующие случаи. Многоугольник решений ограничен: x 2 E A Целевая функция x 2 Максимальное D в точке А принимает B значение целевая
Многоугольник решений не ограничен: x 2 z сверху, c 0 Линейная функция x 2 не ограничена на многоугольнике решений как сверху, так и снизу. Прямая z не является опорной. Прямая z становится опорной Линейная функция ограничена c x 1 но не ограничена снизу 0 x 2 z x 1 x 2 z z c c 0 x 1 Линейная функция ограничена снизу, но не ограничена сверху. 0 x 1 Линейная функция ограничена снизу и сверху.
Пример графического решения ЗЛП Найти максимальное значение линейной функции z = -x 1 + x 2 → max при ограничениях x 1 +2 x 2 ≤ 2 x 1 – x 2 ≤ 1 x 1 ≥ 0 , x 2 ≥ 0. Решение. 1. Построим граничные прямые: x 1 +2 x 2 = 2 x 1 – x 2 = 1 и x 1 = 0 x 2 = 0 x 1=0 x 2=1 x 1=0 x 2=-1 x 2=0 x 1=2 x 2=0 x 1=1. 2. Определим, какую полуплоскость определяет каждое неравенство. Пересечение полуплоскостей образует многоугольник решений OABC. 3. Построим радиус-вектор c (-1, 1) и через точку 0 проведем прямую z , перпендикулярную вектору с. 4. Построенную прямую z перемещаем параллельно самой себе в направлении вектора с. Опорной по отношению к многоугольнику решений эта прямая становится в точке А, где функция принимает максимальное значение. Точка А лежит на пересечении прямых OA и AB. Для определения ее координат решим систему уравнений x 1 + 2 x 2 = 2 x 1= 0 откуда получим оптимальный план x 1=0, x 2=1, то есть A(0, 1). Подставляя значения x 1 и x 2 в линейную функцию, получим zmax= -0+1 = 1. x 2 z
Лекция 3_опт-нов.ppt