Войти
Литература. Сочинения. География. Биология. История. Окружающий мир
  • Медведев д а в контакте. Дмитрий медведев. Участие в выборах Президента России
  • Вероника, значение имени, характер и судьба для девочек
  • Как писать сочинение (эссе) по истории в ЕГЭ
  • Проблема сохранения русского языка по тексту М
  • Алкогольный ступор. Ступор. Определение и виды этого состояния. Психоделическая литература, галлюцинозный или галлюцинаторный реализм
  • Актеры воевавшие в ВОВ - история в фотографиях — LiveJournal Известные люди участники афганской войны
  • Симплекс метод решения задач линейного программирования: типичный пример и алгоритм. Симплексный метод решения задач линейного программирования Линейное программирование симплекс метод примеры

    Симплекс метод решения задач линейного программирования: типичный пример и алгоритм. Симплексный метод решения задач линейного программирования Линейное программирование симплекс метод примеры

    Симплекс-метод – один из наиболее эффективных методов численного решения задач ЛП. Суть понятия «симплекс» заключается в следующем. Для тела в k -мерном пространстве симплексом называется множество, состоящее из k +1 вершин этого тела. Так, при k = 2, т.е. на плоскости, симплексом будут вершины треугольника; при k = 3 симплексом являются вершины четырехгранника, например тетраэдра, и т.д. Такое название методу дано по той причине, что в его основе лежит последовательный перебор вершин ОДЗП с целью определения координат той вершины, в которой функция цели имеет кстремальное значение.

    Разбивается на два основных этапа. На первом этапе находят одно из решений, удовлетворяющее системе ограничений . Системы, в которых переменных больше, чем ограничений N > m, называются неопределенными. Они приводятся к определенным системам (N = m) путем приравнивания к нулю N-m каких-либо переменных. При этом остается система m уравнений с m неизвестными, которая имеет решение, если определитель системы отличен от нуля. В симплекс-методе вводится понятие базисных переменных, или базиса. Базисом называется любой набор из m таких переменных, что определитель, составленный из коэффициентов при этих переменных в m-ограничениях, отличен от нуля. Остальные N-m переменных называются небазисными, или свободными переменными. Если принять, что все небазисные переменные равны нулю, и решать систему ограничений относительно базисных переменных, то получим базисное решение.

    В системе из m уравнений с N неизвестными общее число базисных решений при N > m определяется числом сочетаний

    Базисное решение, в котором все x i 0, i = 1,m , называется допустимым базисным решением. Таким образом, первый этап решения, используя симплекс-метод, завершается нахождением допустимого базисного решения, хотя бы и неудачного.

    На втором этапе производится последовательное улучшение найденного решения. При этом осуществляется переход от одного допустимого базисного решения к другому таким образом, чтобы значение целевой функции улучшилось. Процесс решения, используя симплекс-метод, продолжается до тех пор, пока не будет достигнуто наименьшее (или наибольшее) значение функции цели. Геометрически это означает переход по ребрам из одной вершины многогранника допустимых значений в другую по направлению к той, в которой значение функции цели достигает экстремума. Симплекс-метод дает оптимальную процедуру перебора базисных решений и обеспечивает сходимость к экстремальной точке за конечное число шагов. Используя симплекс-метод, вычисления на втором этапе ведутся по следующей схеме:

    1) базисные переменные и функция цели выражаются через небазисные переменные;

    2) по определенному правилу выбирается та из небазисных переменных, изменение значения которой способно улучшить значение F(x) , и она вводитя в базис;

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

    4) базисные переменные и функция цели выражаются через новые небазисные переменные, и повторяются операции 2) и 3).

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

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

    Пример 1. На приобретение оборудования для нового участка выделено 20 тыс. y.e. Оборудование должно быть размещено на площади, не превышающей 72 м 2 . Может быть заказано оборудование двух видов: 1) оборудование стоимостью 5 тыс. y.e., занимающее площадь 6 м 2 и дающее 8 тыс. ед. продукции за смену; 2) оборудование стоимостью 2 тыс. y.e., занимающее площадь 12 м 2 и дающее за смену 4 тыс. ед. продукции. Найти оптимальный вариант приобретения оборудования, обеспечивающий максимум общей производительности участка, используя симплекс-метод.

    Обозначим неизвестное количество оборудования первого и второго видов соответственно через x 1 и x 2 . Функция цели может быть записана следующим образом: F(x) = 8x 1 + 4x 2 (max). Ограничения по площади: 6x 1 +12x 2 ≤72; ограничения по стоимости: 5x 1 + 2x 2 ≤20 ; ограничения на знак переменных x 1 ≥0 ; x 2 ≥0.

    Разделим коэффициенты первого из ограничений на 6 и приведем ограничения к виду равенств, вводя дополнительные переменные x 3 и x 4:

    x 1 + 2x 2 + x 3 =12, (1)

    5x 1 + 2x 2 + x 4 = 20 . (2)

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

    1-й шаг. Для решения симплекс-методом выберем в качестве базисных переменных (БП) x 2 и x 4 , так как определитель, составленный из коэффициентов при этих переменных в ограничениях задачи отличен от нуля.

    Тогда x 1 и x 3 будут небазисными переменными (НП). Выразим базисные переменные и F(x) через небазисные.

    (3)

    Из второго ограничения следует, что

    x 4 = 20 - 2x 2 - 5x 1 . (4)

    С учетом выше приведенного выражения получим

    x 4 = 8 - 4x 1 + x 3 . (5)

    Тогда

    F(x) = 8x 1 + 4x 2 = 24 + 6x 1 - 2x 3 . (6)

    На каждом шаге НП приравниваются к нулю, следовательно, БП и F(x) будут равны свободным членам в соответствующих выражениях:

    x 1 = 0, x 3 = 0, x 2 = 6, x 4 = 8, F(x) = 24.

    Это решение соответствует координатам вершины A ОДЗП на рис. 1. Оптимальность решения проверяется по выражению F(x) для функции цели. Переменная x 3 входит в это выражение с отрицательным коэффициентом; если вводить x 3 в базис на следующем шаге, то она примет положительное значение, и от числа 24 некоторая величина будет вычитаться, т.е. значение F(x) уменьшится. Если же вводить в базис на следующем шаге x 1 , то значение функции цели увеличится, т.е. улучшится.

    Применяя симплекс-метод, из базиса исключают ту переменную, которая раньше обратится в нуль при введении в базис x 1 . Анализируя (3) и (5), определяем, что из базиса следует исключить x 4 . На следующем шаге местами поменяются переменные x 1 и x 4 .

    2-й шаг симплекс-метода. x 1 и x 2 – базисные переменные, x 3 и x 4 – небазисные. Выразим базисные переменные и F(x) через небазисные переменные. Из (5) следует

    x 1 =2+(1/4)x 3 -(1/4)x 4 (7)

    Рис. 1. Графическая интерпритация к примеру 1, используя симплекс-метод.

    Подставив (7) в (3), получим

    x 2 =5-(5/8)x 3 +(1/8)x 4

    Тогда F(x) = 8x 1 + 4x 2 = 36 - (1/2)x 3 -(3/4)x 4 . В результате x 3 = x 4 = 0 (как небазисные), x 1 = 2, x 2 = 5, F = 36 . Это решение соответствует координатам вершины В на рис. 1. Найденное будет оптимальным, улучшить значение F(x) нельзя, так как переменные x 3 и x 4 входят в выражение для функции цели с отрицательными коэффициентами.

    Таким образом, применяя симплекс-метод, нашли, что максимальная производительность участка 36 тыс. ед. продукции за смену будет обеспечена при закупке 2 ед. оборудования первого вида и 5 ед. оборудования второго вида. Дополнительные переменные x 3 и x 4 имеют смысл неиспользованных ресурсов. В данном примере все ресурсы по площади и по стоимости использованы полностью (x 3 = x 4 = 0).

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

    рубашка 1 рубашка 2 рубашка 3 Запасы нитки (м.) 1 9 3 96 пуговицы (шт.) 20 10 30 640 ткань ( 1 2 2 44 Прибыль (р.) 2 5 4

    Решение задачи

    Построение модели

    Через и количество рубашек 1-го, 2-го и 3-го вида, предназначенных к выпуску.

    Тогда ограничения на ресурсы будут иметь следующий вид:

    Кроме того, по смыслу задачи

    Целевая функция, выражающая получаемую прибыль:

    Получаем следующую задачу линейного программирования:

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

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

    Решение задачи симплекс-методом

    Заполняем симплексную таблицу:

    Так как мы решаем задачу на максимум – наличие в индексной строке отрицательных чисел при решении задачи на максимум свидетельствует о том, что нами оптимальное решение не получено и что от таблицы 0-й итерации необходимо перейти к следующей.

    Переход к следующей итерации осуществляем следующим образом:

    ведущий столбец соответствует

    Ключевая строка определяется по минимуму соотношений свободных членов и членов ведущего столбца (симплексных отношений):

    На пересечении ключевого столбца и ключевой строки находим разрешающий элемент, т.е. 9.

    Теперь приступаем к составлению 1-й итерации: Вместо единичного вектора вводим вектор .

    В новой таблице на месте разрешающего элемента пишем 1, все остальные элементы ключевого столбца –нули. Элементы ключевой строки делятся на разрешающий элемент. Все остальные элементы таблицы вычисляются по правилу прямоугольника.

    Ключевой столбец для 1-й итерации соответствует

    Разрешающим элементов является число 4/3. Вектор выводим из базиса и вводим вместо него вектор . Получаем таблицу 2-й итерации.

    Ключевой столбец для 2-й итерации соответствует

    Находим ключевую строку, для этого определяем:

    Разрешающим элементов является число 10/3. Вектор выводим из базиса и вводим вместо него вектор . Получаем таблицу 3-й итерации.

    БП c Б A o x 1 x 2 x 3 x 4 x 5 x 6 Симплексные 2 5 4 0 0 0 отношения 0 x 4 0 96 1 9 3 1 0 0 32/3 x 5 0 640 20 10 30 0 1 0 64 x 6 0 44 1 2 2 0 0 1 22 F j - c j 0 -2 -5 -4 0 0 0 1 x 2 5 32/3 1/9 1 1/3 1/9 0 0 32 x 5 0 1600/3 170/9 0 80/3 -10/9 1 0 20 x 6 0 68/3 7/9 0 4/3 -2/9 0 1 17 F j - c j 160/3 -13/9 0 -7/3 5/9 0 0 2 x 2 5 5 -1/12 1 0 1/6 0 -1/4 -- x 5 0 80 10/3 0 0 10/3 1 -20 24 x 3 4 17 7/12 0 1 -1/6 0 3/4 204/7 F j - c j 93 -1/12 0 0 1/6 0 7/4 3 x 2 5 7 0 1 0 1/4 1/40 -3/4 x 1 2 24 1 0 0 1 3/10 -6 x 3 4 3 0 0 1 -3/4 -7/40 17/4 F j - c j 95 0 0 0 1/4 1/40 5/4

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

    Необходимо шить 24 рубашки 1-го вида, 7 рубашек 2-го вида и 3 рубашки 3-го вида. При этом получаемая прибыль будет максимальна и составит 95 руб.

    Пример №3. Решение задачи линейного программирования симплекс методом.
    Нахождение наибольшего значения функции (искусственный базис)

    Данное решение является образцом работы программы, представленной на сайте.


    Найти наибольшее значение функции

    x 1 ≥ 0 x 2 ≥ 0

    1. Свободные члены системы должны быть неотрицательными.

    Данное условие выполнено.


    2. Каждое ограничение системы должно представлять собой уравнение.

    x 1 - 2 x 2 4
    x 1 - x 2 1
    x 1 + x 2 8
    x 1 - 2 x 2 + S 1 = 4
    x 1 - x 2 - S 2 = 1
    x 1 + x 2 + S 3 = 8

    S 1 ≥ 0, S 2 ≥ 0, S 3 ≥ 0. Введенные переменные S 1 , S 2 , S 3 , называются балансовыми переменными.


    3. Нахождение начального базиса и значения функции F, которое соответствует найденному начальному базису.


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

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

    Как осуществляется переход от одного базиса к другому?
    Запись решения удобнее вести в виде таблиц. Каждая строка таблицы эквивалентна уравнению системы. Выделенная строка состоит из коэффициентов функции (см. таблицу ниже). Это позволяет не переписывать переменные каждый раз, что существенно экономит время.
    B выделенной строке выбираем наибольший положительный коэффициент (можно выбрать любой положительный).
    Это необходимо для того, чтобы получить значение функции F не меньше имеющегося.
    Выбран столбец.
    Для положительных коэффициентов выбранного столбца считаем отношение Θ и выбираем наименьшее значение.
    Это необходимо для того, чтобы после преобразования столбец свободных членов остался положительным.
    Выбрана строка.
    Определен элемент, который будет базисным. Далее считаем.

    В нашей системе есть базис?

    x 1 - 2 x 2 + S 1 = 4
    x 1 - x 2 - S 2 = 1
    x 1 + x 2 + S 3 = 8

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

    x 1 - 2 x 2 + S 1 = 4
    x 1 - x 2 - S 2 + R 1 = 1
    x 1 + x 2 + S 3 = 8

    R 1 ≥ 0. Введенная переменная R 1 , называется искусственной переменной.

    Введем в рассмотрение функцию W и будем искать ее наименьшее значение.

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


    x 1 x 2 S 1 S 2 S 3 R 1 св. член Θ
    1 -2 1 0 0 0 4 4: 1 = 4
    1 -1 0 -1 0 1 1 1: 1 = 1
    1 1 0 0 1 0 8 8: 1 = 8
    -1 1 0 1 0 0 W - 1
    0 -1 1 1 0 -1 3
    1 -1 0 -1 0 1 1
    0 2 0 1 1 -1 7
    0 0 0 0 0 1 W - 0

    Приравниваем свободные переменные нулю. Устно находим значения базисных переменных. (см. таблицу)
    Функция W выражена через свободные переменные. Поэтому значение функции W, для данного решения, можно найти мгновенно. (см. выделенную строку таблицы)

    x 2 = 0 S 2 = 0 R 1 = 0
    x 1 = 1 S 1 = 3 S 3 = 7
    => W - 0 = 0 => W = 0

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

    - x 2 + S 1 + S 2 = 3
    x 1 - x 2 - S 2 = 1
    2 x 2 + S 2 + S 3 = 7
    F = - x 1 + 3 x 2
    F = -
    ( 1 + x 2 + S 2 )
    + 3 x 2
    = -1 + 2 x 2 - S 2

    Двумерные задачи линейного программирования решаются графически . Для случая N=3 можно рассмотреть трехмерное пространство и целевая функция будет достигать своё оптимальное значение в одной из вершин многогранника.

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

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

    Этот метод является универсальным, применимым к любой задаче линейного программирования в канонической форме . Система ограничений здесь - система линейных уравнений, в которой количество неизвестных больше количества уравнений. Если ранг системы равен r , то мы можем выбрать r неизвестных, которые выразим через остальные неизвестные. Для определенности предположим, что выбраны первые, идущие подряд, неизвестные X 1 , X 2 , ..., X r . Тогда наша система уравнений может быть записана как

    К такому виду можно привести любую совместную систему , например, методом Гаусса. Правда, не всегда можно выражать через остальные первые r неизвестных (мы это сделали для определенности записи). Однако такие r неизвестных обязательно найдутся. Эти неизвестные (переменные) называются базисными, остальные свободными.

    Придавая определенные значения свободным переменным и вычисляя значения базисных (выраженных через свободные), мы будем получать различные решения нашей системы ограничений. Таким образом, можно получить любое ее решение. Нас будут интересовать особые решения, получаемые в случае, когда свободные переменные равны нулю. Такие решения называются базисными , их столько же, сколько различных базисных видов у данной системы ограничений. Базисное решение называется допустимым базисным решением или опорным решением , если в нем значения переменных неотрицательны. Если в качестве базисных взяты переменные X 1 , X 2 , ..., X r , то решение {b 1 , b 2 ,..., b r , 0, ..., 0} будет опорным при условии, что b 1 , b 2 ,..., b r ≥ 0 .

    Симплекс-метод основан на теореме, которая называется фундаментальной теоремой симплекс-метода. Среди оптимальных планов задачи линейного программирования в канонической форме обязательно есть опорное решение ее системы ограничений. Если оптимальный план задачи единственен, то он совпадает с некоторым опорным решением. Различных опорных решений системы ограничений конечное число. Поэтому решение задачи в канонической форме можно было бы искать перебором опорных решений и выбором среди них того, для которого значение F самое большое. Но, во-первых, все опорные решения неизвестны и их нужно находить, a, во-вторых, в реальных задачах этих решений очень много и прямой перебор вряд ли возможен. Симплекс-метод представляет собой некоторую процедуру направленного перебора опорных решений. Исходя из некоторого, найденного заранее опорного решения по определенному алгоритму симплекс-метода мы подсчитываем новое опорное решение, на котором значение целевой функции F не меньше, чем на старом. После ряда шагов мы приходим к опорному решению, которое является оптимальным планом.

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

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

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

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

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

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

    Приведенная схема симплексного метода явно выражает его алгоритмический характер (характер четкого предписания о выполнении последовательных операций), что позволяет успешно программировать и реализовать этот метод на ЭВМ. Задачи же с небольшим числом переменных и ограничений могут быть решены симплексным методом вручную.

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

    Здесь для определенности записи считается, что в качестве базисных переменных можно взять переменные X 1 , X 2 , ..., X r и что при этом b 1 , b 2 ,..., b r ≥ 0 (соответствующее базисное решение является опорным).

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

    Примечание. Названия базисных переменных здесь взяты лишь для определенности записи и в реальной таблице могут оказаться другими.

    Рассмотрен пример решения задачи симплекс методом, а также пример решения двойственной задачи.

    Содержание

    Условие задачи

    Для реализации трех групп товаров коммерческое предприятие располагает тремя видами ограниченных материально-денежных ресурсов в количестве b 1 = 240, b 2 = 200, b 3 = 160 единиц. При этом для продажи 1 группы товаров на 1 тыс. руб. товарооборота расходуется ресурса первого вида в количестве a 11 = 2 единицы, ресурса второго вида в количестве a 21 = 4 единицы, ресурса третьего вида в количестве a 31 = 4 единицы. Для продажи 2 и 3 групп товаров на 1 тыс. руб. товарооборота расходуется соответственно ресурса первого вида в количестве a 12 = 3, a 13 = 6 единицы, ресурса второго вида в количестве a 22 = 2, a 23 = 4 единицы, ресурса третьего вида в количестве a 32 = 6, a 33 = 8 единиц. Прибыль от продажи трех групп товаров на 1 тыс. руб. товарооборота составляет соответственно c 1 = 4, c 2 = 5, c 3 = 4 (тыс. руб.). Определить плановый объем и структуру товарооборота так, чтобы прибыль торгового предприятия была максимальной.

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

    Решение задачи симплекс методом

    Пусть x 1 , x 2 , x 3 - количество реализованных товаров, в тыс. руб., 1, 2, 3 - ей групп, соответственно. Тогда математическая модель задачи имеет вид:

    F = 4·x 1 + 5·x 2 + 4·x 3 ->max

    0}}}{~}" title="delim{lbrace}{matrix{4}{1}{{2x_1 + 3x_2 + 6x_3= 0}}}{~}">

    Решаем симплекс методом.

    Вводим дополнительные переменные x 4 ≥ 0, x 5 ≥ 0, x 6 ≥ 0, чтобы неравенства преобразовать в равенства.

    В качестве базиса возьмем x 4 = 240; x 5 = 200; x 6 = 160.

    Данные заносим в симплекс таблицу

    Симплекс таблица № 1

    Целевая функция:

    0 · 240 + 0 · 200 + 0 · 160 = 0

    Вычисляем оценки по формуле:

    Δ 1 = 0 · 2 + 0 · 4 + 0 · 4 - 4 = - 4
    Δ 2 = 0 · 3 + 0 · 2 + 0 · 6 - 5 = - 5
    Δ 3 = 0 · 6 + 0 · 4 + 0 · 8 - 4 = - 4
    Δ 4 = 0 · 1 + 0 · 0 + 0 · 0 - 0 = 0
    Δ 5 = 0 · 0 + 0 · 1 + 0 · 0 - 0 = 0
    Δ 6 = 0 · 0 + 0 · 0 + 0 · 1 - 0 = 0

    Поскольку есть отрицательные оценки, то план не оптимален. Наименьшая оценка:

    Вводим переменную x 2 в базис.

    Определяем переменную, выходящую из базиса. Для этого находим наименьшее неотрицательное отношение для столбца x 2 .

    = 26.667

    Наименьшее неотрицательное: Q 3 = 26.667. Выводим переменную x 6 из базиса

    3-ю строку делим на 6.
    Из 1-й строки вычитаем 3-ю строку, умноженную на 3
    Из 2-й строки вычитаем 3-ю строку, умноженную на 2


    Вычисляем:

    Получаем новую таблицу:

    Симплекс таблица № 2

    Целевая функция:

    0 · 160 + 0 · 440/3 + 5 · 80/3 = 400/3

    Вычисляем оценки по формуле:

    Δ 1 = 0 · 0 + 0 · 8/3 + 5 · 2/3 - 4 = - 2/3
    Δ 2 = 0 · 0 + 0 · 0 + 5 · 1 - 5 = 0
    Δ 3 = 0 · 2 + 0 · 4/3 + 5 · 4/3 - 4 = 8/3
    Δ 4 = 0 · 1 + 0 · 0 + 5 · 0 - 0 = 0
    Δ 5 = 0 · 0 + 0 · 1 + 5 · 0 - 0 = 0
    Δ 6 = 0 · (-1)/2 + 0 · (-1)/3 + 5 · 1/6 - 0 = 5/6

    Поскольку есть отрицательная оценка Δ 1 = - 2/3, то план не оптимален.

    Вводим переменную x 1 в базис.

    Определяем переменную, выходящую из базиса. Для этого находим наименьшее неотрицательное отношение для столбца x 1 .

    Наименьшее неотрицательное: Q 3 = 40. Выводим переменную x 2 из базиса

    3-ю строку делим на 2/3.
    Из 2-й строки вычитаем 3-ю строку, умноженную на 8/3


    Вычисляем:

    Получаем новую таблицу:

    Симплекс таблица № 3

    Целевая функция:

    0 · 160 + 0 · 40 + 4 · 40 = 160

    Вычисляем оценки по формуле:

    Δ 1 = 0 · 0 + 0 · 0 + 4 · 1 - 4 = 0
    Δ 2 = 0 · 0 + 0 · (-4) + 4 · 3/2 - 5 = 1
    Δ 3 = 0 · 2 + 0 · (-4) + 4 · 2 - 4 = 4
    Δ 4 = 0 · 1 + 0 · 0 + 4 · 0 - 0 = 0
    Δ 5 = 0 · 0 + 0 · 1 + 4 · 0 - 0 = 0
    Δ 6 = 0 · (-1)/2 + 0 · (-1) + 4 · 1/4 - 0 = 1

    Поскольку отрицательных оценок нет, то план оптимален.

    Решение задачи:

    x 1 = 40; x 2 = 0; x 3 = 0; x 4 = 160; x 5 = 40; x 6 = 0; F max = 160

    То есть необходимо реализовать товар первого вида в объеме 40 тыс. руб. Товар 2-го и 3-го видов реализовывать не надо. При этом максимальная прибыль составит F max = 160 тыс. руб.

    Решение двойственной задачи

    Двойственная задача имеет вид:

    Z = 240·y 1 + 200·y 2 + 160·y 3 ->min

    Title="delim{lbrace}{matrix{4}{1}{{2y_1 + 4y_2 + 4y_3>=4} {3y_1 + 2y_2 + 6y_3>=5} {6y_1 + 4y_2 + 8y_3>=4} {y_1, y_2, y_3>= 0}}}{~}">

    Вводим дополнительные переменные y 4 ≥ 0, y 5 ≥ 0, y 6 ≥ 0, чтобы неравенства преобразовать в равенства.

    Сопряженные пары переменных прямой и двойственной задач имеют вид:

    Из последней симплекс таблицы № 3 прямой задачи, находим решение двойственной задачи:

    Z min = F max = 160;
    y 1 = Δ 4 = 0; y 2 = Δ 5 = 0; y 3 = Δ 6 = 1; y 4 = Δ 1 = 0; y 5 = Δ 2 = 1; y 6 = Δ 3 = 4;

    Y 1 = 0; y 2 = 0; y 3 = 1; Z min = 160;