Задачи математического и линейного программирования. Модели линейного программирования. Нередко экономические задачи имеют не единственное решение и требуется выбрать лучшее – оптимальное из них. Моделирование таких задач сводится к задачам математического программирования (ЗМП). Математическое программирование – область математики, изучающая оптимизационные процессы посредством поиска экстремума функции при заданных ограничениях. Сформулируем в общем виде ЗМП: f x1 , x2 , , xn max min (7) при условиях g1 x1 , x2 , , xn bi , i 1, 2, , k , g1 x1 , x2 , , xn bi , i k 1, , l , (8) g1 x1 , x2 , , xn bi , i l 1, , m, x1 0, x2 0, , xn 0, (9) где f x1 , x2 , , xn – целевая функция, условия (8) – специальные ограничения, условия (9) – общие ограничения ЗМП. x1 , x2 , , xn , Точку координаты которой удовлетворяют ограничениям (8) и (9), называют допустимым решением ЗМП. Множество всех допустимых решений ЗМП называют допустимым множеством. * * * Допустимое решение x1 , x2 , , xn , удовлетворяющее соотношению (7), называют оптимальным решением ЗМП. Если в ЗМП целевая функция f x1 , x2 , , xn и функции g1 x1 , x2 , , xn , i 1, 2, , m , – линейные, то имеем общую задачу линейного программирования (ЗЛП): c1 x1 c2 x2 cn xn F max min (10) ai1 x1 ai 2 x2 ain xn bi , i 1, 2, , k , ai1 x1 ai 2 x2 ain xn bi , i k 1, , l , (11) ai1 x1 ai 2 x2 ain xn bi , i l 1, , m, x1 0, x2 0, , xn 0, (12) В зависимости от вида специальных ограничений различают следующие ЗЛП: - каноническая ЗЛП, включающая в качестве ограничений (11) только уравнения, т. е. ai1 x1 ai 2 x2 ain xn bi , i 1, 2, , m ; - стандартная ЗЛП, включающая в качестве ограничений (11) только неравенства, т. е. ai1 x1 ai 2 x2 ain xn bi , i 1, 2, , l , ai1 x1 ai 2 x2 ain xn bi , i l 1, , m. Рассмотрим следующие примеры моделей, приводимых к ЗЛП. Пример 1. Экономико-математическая модель задачи о планировании производства. На заводе имеются запасы трех видов сырья: S1 , S 2 и S 3 , из которого можно наладить производство двух видов товаров: T1 и T2 . Запасы сырья, норма его расхода на производство единицы товаров, а также прибыль от реализации единицы каждого товара приведены в таблице 1 (цифры условные). Таблица 1 Сырье Товары T1 S1 S2 S3 3 1 1 25 T2 3 2 4 34 Прибыль Запасы 126 48 72 Необходимо составить такой план производства товаров, при котором прибыль от их реализации будет максимальной. Решение. План производства зададим числами x1 и x 2 , где x i – количество единиц товара Ti , которое следует произвести i 1, 2 . Неизвестные x1 и x 2 должны удовлетворять условиям 3x1 3x2 126 или x1 2 x2 48 x1 4 x2 72 x1 0, x2 0 x1 x2 42 x1 2 x2 48 , (13) x1 4 x2 72 (14) Поясним смысл первого неравенства системы (13). В левой части записано количество сырья S1 , которое расходуется на выпуск x1 единиц товара T1 и x 2 единиц товара T2 . Это количество не должно превышать имеющегося запаса сырья S1 , т. е. 126 единиц. Аналогичный смысл имеют второе и третье неравенства системы (13). Прибыль, предприятия от реализации плана ( x1 , x 2 ) производства товаров, очевидно, составит F 25 x1 34 x2 . В интересах предприятия (15) максимизировать эту прибыль. Следовательно, чтобы составить план производства товаров, при котором прибыль от их реализации будет максимальной нужно решить стандартную ЗЛП: F 25 x1 34 x2 max при условиях (13) и (14): x1 x2 42 x 2 x 48 1 2 x1 4 x2 72 x1 0, x2 0 Пример 2. Экономико-математическая модель задачи о диете. Имеются два вида продуктов: P1 и P2 . Содержание в 1 кг питательных веществ A, B и C, ежесуточные потребности организма V в них и стоимость S 1 кг продуктов приведены в таблице 2 Таблица 2 Витамины Продукты P1 P2 V Составить такую A B C S 1 3 1 8 3 6 1 9 8 8 16 ежесуточную диету, которая обеспечивает необходимое количество питательных веществ при минимальных затратах на продукты. Решение. Пусть x1 и x2 – искомые количества продуктов P1 и P2 соответственно. Их стоимость составляет f 8 x1 16 x2 Общее количество питательного вещества A в обоих видах продуктов равно x1 3x2 . Оно должно быть не меньше 6 единиц: x1 3 x2 6 . Аналогичные неравенства составим для питательных веществ B и C: 3 x1 x2 9 и x1 8 x2 8 . Очевидно, x1 0 и x2 0 . Таким образом, получим следующую стандартную ЗЛП: f 9 x1 12 x2 min (16) x1 3x2 6 3x x 9 1 2 x 8x 8 2 1 x1 0, x2 0 (17) при условиях Геометрический метод решения задач линейного программирования. Геометрический метод решения ЗЛП – простой и наглядный способ решения стандартных ЗЛП с двумя переменными: F c1 x1 c2 x2 max min (18) при условиях ai1 x1 ai 2 x2 bi , i 1, , l , ai1 x1 ai 2 x2 bi , i l 1, , m, (19) x1 0, x2 0, Рассмотрим следующие геометрические объекты. Выпуклые множества и их свойства. Множество точек называется выпуклым, если оно вместе с произвольными двумя своими точками содержит весь отрезок, соединяющий эти точки. Справедливо утверждение: пересечение любого числа выпуклых множеств есть выпуклое множество. Каждое неравенство системы ограничений (19) геометрически определяет полуплоскость с граничной прямой ai1 x1 ai 2 x2 bi , i 1, , m , или x1 0 , или x2 0 . Поясним сказанное. Рассмотрим, например, неравенство 3x1 4 x2 12 . Посмотрим прямую L: 3x1 4 x2 12 (см. рис.2). Ï À2 B1 B2 À4 À2 B1 B2 À3 À1 À1 Ñï ðàâ. ¹ x2 3 L 0 x1 4 ÊÎÌÏÀÑ-3D LT (ñ) 1989-2007 ÇÀÎ ÀÑÊÎÍ, Ðîññèÿ. Âñå ïðàâà çàùèùåíû. Èí â. ¹ ï î äë. Ï î äï . è äàò à Âçàì . èí â. ¹ Èí â. ¹ äóáë. Ï î äï . è äàò à Рис. 2 Для того чтобы определить, какая полуплоскость удовлетворяет заданному неравенству, необходимо выбрать любую точку, не лежащую на 1< 2 < 3 F= L, и подставить ее координаты в неравенство. Если неравенство будет данная точка является допустимым решением, 2 F=и 1 полуплоскость, содержащая точку, удовлетворяет неравенству. Как правило, Подставим x1 x2 0 в заданное неравенство: 3 0 4 0 12 . Получим в качестве «пробной» берут точку O0; 0 . то выполняться, истинное утверждение. Следовательно, заданному неравенству соответствует нижняя полуплоскость (заштрихованная на рис. 2), содержащая точку O0; 0 . Полуплоскости, описываемые неравенствами (19) – выпуклые Èçì . Ëèñò ¹ äî êóì . Ï î äï . Äàò à Ðàçðàá. множества. Их пересечение – область допустимых решений ЗЛП, которая Ï ðî â. является также выпуклым множеством. Ò.êî í ò ð. Это множество называют также многоугольником Он может Í .êî í решений. ò ð. ò â. быть точкой, отрезком, лучом, ограниченным Óили неограниченным ÊÎÌÏÀÑ-3D LT V9 (íåêîììåð÷åñêàÿ âåðñèÿ) многоугольником. (Случай вырождения, когда система ограничений (19) – пустое множество и ЗЛП не имеет решения, исключается). Ввиду неравенств x1 0 и x2 0 многоугольник решений всегда находится в первом квадранте координатной плоскости Ox1 x 2 . Ê Для нахождения экстремума целевой функции F воспользуемся вектором набла - градиентом F: F F c1 , c2 . grad F , x1 x2 Он показывает направление наискорейшего изменения целевой функции F. Прямая c1 x1 c2 x2 называется линией уровня функции F. Иными словами на множестве всех точек x1 , x2 линии уровня функции F она сохраняет постоянное значение . Алгоритм решения ЗЛП геометрическим методом. 1. Строится многоугольник решений. 2. Строится вектор набла, перпендикулярно ему проводятся линии уровня и при этом учитывают, что оптимальное решение ЗЛП находится в угловой точке многоугольника решений. 3. Первая точка встречи линии уровня с многоугольником решений определяет минимум целевой функции. 4. Последняя точка встречи линии уровня с многоугольником решений определяет максимум целевой функции. 5. Если линия уровня параллельна одной из сторон многоугольника решений, то экстремум достигается во всех точках этой стороны A2 A3 . ЗЛП в этом случае имеет бесконечное множество решений. 6. Для нахождения координаты точки экстремума решают систему из двух уравнений прямых, дающих в пересечении эту точку. Пример 1. Экономико-математическая модель задачи о планировании производства. Построим многоугольник решений. С этой целью запишем уравнения границ полуплоскостей из (17) в виде x1 x1 x2 42 x1 2 x2 48 x1 4 x2 72 или x1 x2 42 42 1 x 1 x2 1 48 24 x1 x2 1 72 18 L1 L2 L3 «Пробная» точка O0; 0 удовлетворяет всем неравенствам из (17) и потому многоугольник решений OA1 A2 A3 A4 расположен в нижних полуплоскостях, порожденных прямыми L1 , L2 и L3 как показано на рис. 3 1 9 A2 координатами: x1 36 , x2 6 , являющимися решениями системы уравнений x1 x2 42 L1 x 2 x 48 L 1 2 2 L2 Подставив координаты точки A3 в целевую функцию, найдем 2 L1 Fmax 25 36 34 6 1104 1 0 x2 L3 A3 3 42 24 18 A1 L2 L1 A2 A3 0 A4 42 48 L3 72 x1 Рис. 3 Пример 2. Экономико-математическая модель задачи о диете. Построим многоугольник решений. С этой целью запишем уравнения границ полуплоскостей из (17) в виде Построим вектор набла 25, 34 . Последней точкой встречи линии x2 A уровня с многоугольником решений будет точка A3 (см. рис.3) с x1 x2 6 2 1 L1 x1 3x2 6 x 1 x2 1 L2 3x1 x2 9 или 3 9 x1 8 x2 8 x1 x2 1 L 3 8 1 «Пробная» точка O0; 0 удовлетворяет всем неравенствам из (17) и потому многоугольник решений A1 A2 A3 A4 A5 A6 расположен в верхних полуплоскостях, порожденных прямыми L1 , L2 и L3 как показано на рис. 4 Построим вектор набла 8, 16 . Первой точкой встречи линии уровня с многоугольником решений будет точка A3 (см. рис. 4) с координатами: x1 2,625 , x2 1,125 , являющимися решениями системы уравнений: L1 L2 x1 3x2 6 3x x 9 1 2 Подставив координаты точки A3 в целевую функцию, найдем f min 8 2,625 16 1,125 39 A2 9 A1 x2 L2 2 1 0 L1 L3 A3 A4 3 6 A5 8 A6 x1 Рис. 4 Симплекс-метод для решения задач линейного программирования. A3 A4 42 48 L3 72 x1 С увеличением числа неизвестных геометрический метод решения ЗЛП становится затруднительным при трех переменных и невозможным при большем числе переменных. Поэтому был разработан универсальный метод решения ЗЛП – симплекс-метод, позволяющий решать ЗЛП в канонической форме. Изложим суть симплекс-метода на примере задач с 5 неизвестными. Пусть ЗЛП приведена к виду F c0 c1 x1 c2 x2 max (20) при ограничениях: x3 p 0 p1 x1 p2 x2 x4 q 0 q1 x1 q2 x2 , x5 r0 r1 x1 r2 x2 (21) где p 0 0, q 0 0, r0 0 , x1 0, x2 0, x3 0, x4 0, x5 0 (22) Про систему ограничений (21) говорят, что она имеет допустимый вид, если одни неизвестные ( x3 , x4 , x5 ) выражаются через остальные ( x1 , x2 ), причем свободные члены этих выражений неотрицательны ( p 0 0, q 0 0, r0 0 ). Неизвестные x3 , x4 и x5 называются базисными, а неизвестные x1 , x2 – свободными. Возможны два принципиальных случая: 1 Все коэффициенты при свободных неизвестных в выражении для F неположительны: c1 0 и c2 0 . Тогда для всякого неотрицательного решения системы уравнений (21) имеем c1 x1 0 и c2 x2 0 , а потому F c0 c1 x1 c2 x2 c0 или max F c0 . Следовательно, базисное решение x1 0, x2 0, x3 p0 , x4 q0 , x5 r0 является оптимальными, т. е. задача решена. 2 Имеется свободное неизвестное, коэффициент при котором в выражении для F положителен, а все коэффициенты при этом неизвестном в уравнениях (21) – неотрицательны. Для определенности положим c1 0, p1 0, q1 0, r1 0 . Исходя из базисного решения, станем наращивать значение x1 , не меняя x2 0 . Тогда значения базисных неизвестных будут оставаться неотрицательными: x3 p 0 p1 x1 p0 0 x4 q 0 q1 x1 q0 0 , x5 r0 r1 x1 r0 0 а значение F c0 c1 x1 будет неограниченно возрастать, т.е. max F и задача решения не имеет. Решения ЗЛП редуцируются к одному из случаев 1 или 2 путем перехода к новому базису, в котором целевая функция не уменьшит своего значения для базисного решения, а новая система ограничений должна иметь допустимый вид. Преобразование базиса и перестройку целевой функции и системы ограничений называют шагом в решении ЗЛП. Таким образом, сделав нужное число шагов, решают ЗЛП (20) – (22). Применим симплекс-метод к первой задаче. I. Основная задача в примере 1 имеет вид F 25 x1 34 x2 max x1 x2 42 x 2 x 48 1 2 x 4 x 72 2 1 x1 0, x2 0 Сначала приведем ее к каноническому виду, вводя балансовые неизвестные x3 0 , x4 0 и x5 0 : x1 x2 x3 42 x1 2 x2 x4 48 x 4 x x 72 2 5 1 (23) xi 0, i 1, 5 (24) Теперь приведем (23) к допустимому виду – неизвестные x3 , x 4 и x5 выразим через x1 и x 2 , при этом свободные члены в правых частях полученных уравнений неотрицательны: x3 42 x1 x2 x4 48 x1 2 x2 x5 72 x1 4 x2 (25) Здесь x3 , x 4 и x5 – базисные неизвестные, а x1 и x 2 – свободные неизвестные. Шаг 1: положим в (25) x1 0 и x2 0 , тогда x3 42 , x4 48 , x5 72 . Получим неотрицательное решение 0, 0, 42, 48, 72 системы уравнений (25). Его называют базисным решением. Для него F 0 . Шаг 2: положим в (25) x2 0 , а x1 начнем наращивать так, чтобы x3 , x 4 и x5 оставались неотрицательными, т. е. x3 42 x1 0, x4 48 x1 0, x5 72 x1 0 . Решая неравенства, найдем эти x1 min 42; 48; 72 42 . Тогда наименьшее x3 0 . Объявив x2 неизвестными, приведем (25) к допустимому виду: x1 42 x2 x3 x4 6 x2 x3 x 30 3x x 2 3 5 (26) и x3 значение свободными Получим неотрицательное решение 42, 0, 0, 6, 30 системы уравнений (26). Для него F 25 x1 34 x2 25 42 x2 x3 34 x2 1050 9 x2 25 x3 (27) примет значение F 1050 . Сделаем выводы. Во-первых, значение F по сравнению с 1-ым шагом увеличилось. Во-вторых, в (27) коэффициент при x3 отрицательный и для дальнейшего увеличения значения F надо положить x3 0 и наращивать x 2 . Шаг 3: положим в (26) x3 0 , а x 2 начнем наращивать так, чтобы x1 , x 4 и x5 оставались неотрицательными, т. е. x1 42 x2 0, x4 6 x2 0, x5 30 3x2 0 . 30 Откуда находим наименьшее значение x2 min 42; 6; 6 . Тогда 3 x4 0 . Объявив x3 и x 4 свободными неизвестными, приведем (27) к допустимому виду: x1 36 2 x3 x4 x2 6 x3 x4 x5 12 2 x3 3x4 (28) Получили неотрицательное решение 36, 6, 0, 0, 12 системы уравнений (28). Для него F 1050 9 6 x3 x4 25 x3 1104 16 x3 9 x4 (29) примет значение F 1104 . Сделаем выводы. Во-первых, значение F по сравнению со 2-ым шагом увеличилось. Во-вторых, в (29) оба коэффициента при свободных неизвестных отрицательны и дальнейшее увеличение значения F невозможно: Fmax 1104 при x3 x4 0 . Задача решена. Учитывая экономический смысл неизвестных, приходим к выводу: предприятие получит наибольшую прибыль 1104 единиц при изготовлении 36 единиц товара T1 и 6 единиц товара T2 , при этом остатки ресурсов S1 и S 2 равны нулю ( x3 x4 0 ), а остаток ресурса S 3 равен 12 единицам. Если решается ЗЛП, в которой требуется найти минимум целевой функции, то задачу либо сводят к рассмотренной выше задаче с целевой функцией f F , либо с помощью шагов приводят к одному из двух принципиальных случаев: 1 Все коэффициенты при свободных неизвестных в выражении для F неотрицательны: c1 0 и c2 0 . Тогда базисное решение x1 0, x2 0, x3 p0 , x4 q0 , x5 r0 является решением задачи. 2 Имеется свободное неизвестное, коэффициент при котором в выражении для F (20) отрицателен, а все коэффициенты при этом неизвестном в уравнениях (21) – неотрицательны. Тогда задача решения не имеет. Применим симплекс-метод ко второй задаче, Основная задача в примере 2 имеет вид f 8 x1 16 x2 min x1 3 x2 3 x x 1 2 x1 8 x2 x1 0, 6 9 8 x2 0 Сначала приведем ее к каноническому виду, вводя балансовые неизвестные x3 0 , x4 0 и x5 0 : x1 3x2 x3 6 3x1 x2 x4 9 x 8x x 8 2 5 1 xi 0, i 1, 5 (30) (31) Приведем ограничения (30) к допустимому виду. Как показано выше, в качестве базисных неизвестных следует выбирать такие неизвестные, каждая из которых входит только в одно из уравнений системы ограничений (31), при этом нет таких уравнений системы, в которые не входит ни одна из этих неизвестных, и каждая базисная неизвестная имеет тот же знак, что и свободный член. Нетрудно видеть, что x3 , x 4 и x5 не могут быть базисными неизвестными. Действительно, x3 6 x1 3x2 x4 9 3x1 x2 x 8 x 8 x 1 2 5 (32) и знаки x3 , x 4 и x5 противоположны знакам свободных членов. Для выделения базисных неизвестных из системы ограничений (30) необходима ее перестройка. Полагая в (32) x1 0 (или x2 0 ) найдем из условий неотрицательности x3 , x 4 и x5 : x3 6 3x2 0, x4 9 x2 0, x5 8 8 x2 0 . наибольшее значение x2 max 2; 9; 1 9 . Тогда x4 0 и систему (32) запишем в виде x2 9 3x1 x4 x3 21 8 x1 3x4 x 64 23 x 8 x 1 4 5 (33) Получили систему ограничений, имеющую допустимый вид: x 2 , x3 и x5 – базисные неизвестные, x1 и x 4 – свободные неизвестные. Перейдем к процедуре шагов. Шаг 1: положим в (33) x1 0 и x4 0 , тогда получим базисное решение 0, 9, 21, 0, 64 , для которого целевая функция f 8 x1 16 x2 8 x1 16 9 3x1 x4 144 40 x1 16 x4 (34) примет значение f 144 . В (5.15) коэффициент при x 4 положительный и для дальнейшего уменьшения значения f надо положить x4 0 и наращивать x1 . Шаг 2: положим в (33) x4 0 , а x1 начнем наращивать так, чтобы x 2 , x3 и x5 оставались неотрицательными, т. е. x2 9 3x1 0, x3 21 8 x1 0, x5 64 23 x1 0 . 9 21 64 21 Откуда находим x1 min ; ; . Тогда x3 0 . Объявив x3 и 3 8 23 8 x 4 свободными неизвестными, приведем (33) к допустимому виду: 21 1 3 x x x4 1 3 8 8 8 9 3 1 x 2 x3 x 4 8 8 8 29 23 5 x5 8 8 x3 8 x 4 (35) 29 21 9 Из (35) получим базисное решение ; ; 0; 0; . Для него 8 8 8 3 21 1 f 144 40 x3 x4 16 x4 39 5 x3 x4 (36) 8 8 8 примет значение f 39 . В (36) коэффициенты при свободных неизвестных положительны и дальнейшее уменьшение значения f невозможно: f min 39 при x3 x4 0 . Задача решена. Учитывая экономический смысл неизвестных, приходим к выводу. Ежесуточная диета, обеспечивающая необходимое количество питательных веществ, состоит из x1 2,625 единиц продукта P1 , x2 1,125 единиц продукта P2 и ее минимальная стоимость F 39 единиц. При этом потребности организма в питательных веществах A и B отвечают требуемым минимальным объемам V 6 единиц и V 9 единиц соответственно (т.к. x3 0 и x4 0 ), а потребности в питательном веществе С больше требуемого минимального объема V 8 единиц на x5 3,625 единиц. В заключение рассмотрим вопрос: всегда ли после конечного числа шагов симплекс-метод закончится либо нахождением оптимального решения, либо установлением того факта, что задача не имеет решения. Ответ утвердительный и содержится в следующей теореме. Теорема. Если существует оптимальное решение ЗЛП, то существует и базисное оптимальное решение. Последнее всегда может быть получено с помощью симплекс-метода. Симплекс-таблицы для решения ЗЛП. Метод искусственного базиса (М-метод). Описанный процесс решения ЗЛП симплекс-методом довольно трудоемкий и требует выполнения однообразных преобразований. Причем с возрастанием числа неизвестных растет и число шагов. Оказывается, эти преобразования можно записать в виде последовательности однотипно заполненных таблиц, называемых симплекстаблицами. Изложим способ составления и преобразования таких таблиц на примерах первой и второй основных задач . I. Первая основная задача. Для заполнения первой симплекс-таблицы необходимо переписать целевую функцию F и систему ограничений в виде: F 25 x1 34 x2 0 x1 x2 x3 42 x1 2 x2 x4 48 x1 4 x2 x5 72 Заполним таблицу Базисные Свободные неизвестные члены x3 42 x4 48 x5 72 F 0 x1 x2 x3 x4 x5 1 1 1 –25 1 2 4 –34 1 0 0 0 0 1 0 0 0 0 1 0 В выражении для F выясняем, имеются ли в последней строке таблицы, кроме столбца «свободные члены», отрицательные числа. Если таковых нет, то задача решена. Если же есть, то выполняем преобразование: в столбце x1 имеем 25 0 (из двух отрицательных чисел –25 и –34 выбирают меньшее по модулю), над этим элементом ищем положительные числа. Если таковых нет, то задача не имеет решения. В нашем случае над –25 есть три положительных числа: 1; 1 и 1. Найдем 42 48 72 42 min , , 42 1 1 1 1 Элемент, стоящий на пересечении строки ( x3 ) и столбца ( x1 ), называем разрешающим. В нашем случае он равен 1. (Если разрешающий элемент равен числу m 1, то всю строку делят на разрешающий элемент m, чтобы получить 1). Неизвестная x1 вводится в базис, а неизвестная x3 выводится из него. Заполняем вторую симплекс-таблицу. Строка ( x3 ) из первой таблицы становится в ней строкой ( x1 ). Далее преобразуем строки ( x 4 ), ( x5 ) и (F) первой таблицы так, чтобы их элементы, стоящие в столбце ( x1 ), обратились в 0. С этой целью 1) вычтем элементы строки ( x1 ) из соответствующих элементов строки ( x 4 ), и запишем полученные результаты в строку ( x 4 ) второй таблицы; 2) вычтем элементы строки ( x1 ) из соответствующих элементов строки ( x5 ), и запишем полученные результаты в строку ( x5 ) второй таблицы; 3) умножим элементы строки ( x1 ) на 25, сложим с соответствующими элементами строки (F), и запишем полученные результаты в строку (F) второй таблицы. В результате получим следующую симплекс-таблицу Базисные Свободные неизвестные члены x1 42 x4 6 x5 30 F 1050 x1 x2 x3 x4 x5 1 0 0 0 1 1 –1 –1 25 0 1 0 0 0 0 1 0 1 3 –9 В строке (F) есть отрицательное число –9. Поэтому продолжим поиск оптимального решения. Над –9 есть три положительных числа: 1; 1 и 3. Найдем 42 6 30 6 min , , 6 1 1 3 1 Элемент, стоящий на пересечении строки ( x 4 ) и столбца ( x 2 ) разрешающий и равен 1. Неизвестная x 2 вводится в базис, а неизвестная x 4 выводится из него. Заполняем третью симплекс-таблицу. Строка ( x 4 ) из второй таблицы становится в ней строкой ( x 2 ). Далее преобразуем строки ( x1 ), ( x5 ) и (F) второй таблицы так, чтобы их элементы, стоящие в столбце ( x 2 ), обратились в 0. С этой целью 1) вычтем элементы строки ( x 2 ) из соответствующих элементов строки ( x1 ), и запишем полученные результаты в строку ( x1 ) третьей таблицы; 2) умножим элементы строки ( x 2 ) на 3, вычтем из соответствующих элементов строки ( x5 ), и запишем полученные результаты в строку ( x5 ) третьей таблицы; 3) умножим элементы строки ( x 2 ) на 9, сложим с соответствующими элементами строки (F), и запишем полученные результаты в строку (F) третьей таблицы. В результате получим следующую симплекс-таблицу Базисные Свободные неизвестные члены x1 36 x2 6 x5 12 F 1104 x1 x2 x3 x4 x5 1 0 0 0 0 1 0 0 2 –1 2 16 –1 1 –3 9 0 0 1 0 В строке (F) нет отрицательных чисел. Получили оптимальное решение: Fmax 1104 при x1 36 , x2 6 , x3 x4 0 , x5 12 . Замечание. Симплекс-таблицы удобнее «пристыковывать» друг к другу по вертикали, что позволяет не писать многократно заглавную строку II. Вторая основная задача. Для заполнения первой симплекс-таблицы перепишем целевую функцию F и систему ограничений (6.14), имеющую допустимый вид, следующим образом: F 40 x1 16 x4 144 3x1 x2 x4 9 8 x1 x3 3x4 21 23 x 8 x x 64 4 5 1 Заполним таблицу Базисные Свободные неизвестные члены x2 9 x3 21 x5 64 F 144 x2 1,125 x1 2,625 x5 3,625 F 39 x1 x2 x3 x4 x5 3 1 0 0 0 1 0 0 0 0 1 0 0 –0,375 0,125 –2,875 –5 –1 –3 –8 –16 0,125 –0,375 0,625 –1 0 0 1 0 0 0 0 0 8 23 40 0 1 0 0 В выражении для F выясняем, имеются ли в последней строке таблицы, кроме столбца «свободные члены», положительные числа. Если таковых нет, то задача решена. Если же есть, то выполняем преобразование: в столбце x1 имеем 40 0 . Над этим элементом ищем положительные числа. Если таковых нет, то задача не имеет решения. В нашем случае над 40 есть три положительных числа: 3; 8 и 23. Найдем 9 21 64 21 min , , 2,625 3 8 23 8 Элемент, стоящий на пересечении строки ( x3 ) и столбца ( x1 ) разрешающий и равен 8. Неизвестная x1 вводится в базис, а неизвестная x3 выводится из него. Все элементы строки ( x3 ) разделим на разрешающий элемент. Полученные результаты запишем в новую симплекс-таблицу в строке ( x1 ). Преобразуем строки ( x 2 ), ( x5 ) и (F) первой таблицы так, чтобы их элементы, стоящие в столбце ( x1 ), обратились в 0. С этой целью 1) умножим элементы строки ( x1 ) на 3, вычтем из соответствующих элементов строки ( x 2 ), и запишем полученные результаты в строку ( x1 ) второй таблицы; 2) умножим элементы строки ( x1 ) на 23, вычтем из соответствующих элементов строки ( x5 ), и запишем полученные результаты в строку ( x5 ) второй таблицы; 3) умножим элементы строки ( x1 ) на 40, вычтем из соответствующих элементов строки (F), и запишем полученные результаты в строку (F) второй таблицы. В строке (F) нет положительных чисел. Получили оптимальное решение: Fmin 39 при x1 2,625 , x2 1,125 , x3 x4 0 , x5 3,625 . Замечание. Первая симплекс-таблица второй основной задачи была заполнена с учетом того, что система ограничений (6.11) была предварительно сведена к допустимому виду (6.14), т.е. был найден допустимый базис. Зачастую поиск такого базиса довольно затруднителен. Рассмотрим следующий метод нахождения допустимого базиса, который называют методом искусственного базиса или М-методом. Метод искусственного базиса (М-метод). Применительно к рассматриваемой задаче М-метод заключается в следующем. В каждое уравнение системы ограничений (6.11), введем свою новую искусственную неизвестную: y1 0 , y 2 0 и y3 0 . Включим их в число базисных неизвестных и составим новую функцию цели G F M y1 y 2 y3 , где М – произвольно большое положительное число. В результате получили следующую ЗЛП, приведенную к допустимому виду G 8 x1 16 x2 M y1 y 2 y3 min y1 6 x1 3x2 x3 y 2 9 3x1 x2 x4 y 8 x 8x x 1 2 5 3 xi 0, i 1, 5, y j 0, y 1, 3 . Эту задачу называют М-задачей. Сформулируем утверждения, устанавливающие связь между решениями исходной задачи и М-задачи. 1. Если в оптимальном решении М-задачи все искусственные переменные равны 0, то соответствующие значения остальных переменных дают оптимальное решение исходной задачи (т.е. Gmin Fmin , если y1 y 2 y3 0 ). 2. Если имеется оптимальное решение М-задачи, в котором хотя бы одна из искусственных переменных отлична от 0, то исходная задача не имеет допустимого решения. 3. Если М-задача не имеет оптимального решения, то исходная задача неразрешима (т.е. если Gmin , то либо Fmin , либо нет ни одного допустимого решения). Из этих утверждений следует следующее правило решения M-задачи симплекс-методом: а) Необходимо выбирать последовательность шагов таким образом, чтобы все искусственные неизвестные y1 , y 2 , y3 вышли из базиса, т.е. стали свободными. б) В симплекс-таблице отбросив столбцы для этих неизвестных, получим симплекс-таблицу, дающую оптимальное решение исходной задачи. в) Если при решении М-задачи получена симплекс-таблица, дающее оптимальное решение, и в этой таблице хотя бы одна искусственная переменная y i входит в базис, причем в строке для y i свободный член положителен, то исходная задача не имеет ни одного допустимого решения. Составим симплекс-таблицы решаемой задачи. Базис Свобод ные ные x1 x2 x3 неизв члены ест ные y1 3 –1 6 1 y2 9 3 1 0 y3 8 1 0 8 5M 8 12 M 16 M G 23M 58 x4 x5 y1 y2 y3 0 –1 0 0 0 –1 M M 1 0 0 0 0 1 0 0 0 0 1 0 –1 0 0 –1 38 0 1 3 8 18 1 0 0 0 1 8 0 0 18 y1 y2 3 8 23 8 0 0 x2 1 18 1 11M 16 7M 6 2 0 M M M 2 2 29 23 0 1 0 0 –1 0 5 23 8 23 8 23 1 23 G y1 x1 64 23 1 8 3M 2 2 0 0 1 0 5 23 8 23 8 23 1 23 x2 G 15 23 29 M 752 23 0 1 0 0 0 1 23 3 23 0 M 5M 48 23 8M 40 23 0 58 1 23 8 5 8 –1 1 8 38 38 1 8 0 0 M 1 M 23 8 x5 29 8 0 0 x1 x2 21 8 0 1 18 3 8 98 1 0 3 8 18 0 0 G 39 0 0 –5 –1 0 M 5 1 23 3 23 47 M 12 31M 40 23 23