Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Methodical Documents ЗОВР / Методички / Готовцев В. М., Михайлов Е. А., Сухов В. Д / Готовцев В. М., Михайлов Е. А., Сухов В. Д..doc
Скачиваний:
99
Добавлен:
15.05.2015
Размер:
1.17 Mб
Скачать

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

Теоретические положения

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

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

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

Пример

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

Система ограничений:

x1 +3 x2  18,

2x1 + x2  16 (7)

x2  5,

3x1  21

Дополнительные условия:

x1  0, x2  0. (8)

Линейная функция:

F =2x1 + 3x2  max. (9)

Сформулированная задача имеет вполне определенный экономический смысл. Допустим, некоторая фирма, занимающаяся выпуском металлоизделий, планирует производство двух видов продукции, например, оконных решеток и металлических дверей. Для выпуска этой продукции необходимы ресурсы четырех видов, например, металлический уголок двух видов (типоразмеров), пруток и листовой металл. Фирма располагает запасами ресурсов названных видов (правые части системы ограничений): 18 погонных метров уголка первого вида, 16 погонных метров уголка второго вида, 5 квадратных метров листового материала и 21 погонный метр прутка. Необходимо составить такой план выпуска продукции (количество решеток x1 и дверей x2) из имеющихся ресурсов, который обеспечил бы получение фирме максимальной выручки.

Неравенства системы ограничений отражают условия баланса ресурсов. Так, первое неравенство показывает, что количество уголка первого вида, пошедшего в производство, не может превышать его запаса (т.е. 18 погонных метров). Коэффициенты при переменных x1 и x2 имеют следующий смысл: 1 – количество погонных метров уголка первого вида, идущее на выпуск одной оконной решетки; 3 - количество погонных метров того же уголка для выпуска одной металлической двери. Сумма в левой части неравенства показывает затраты уголка на производство продукции обоих видов.

Значение целевой функции F равно выручке предприятия от реализации произведенной продукции. Коэффициенты при переменных имеют смысл: 2 (например, 2 тысячи рублей) – выручка от реализации одной решетки; 3 – выручка от реализации одной двери.

Рассмотрим алгоритм симплексного метода. Он включает следующие действия.

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

  2. Разбить переменные задачи на две группы: основные, значения которых больше или равны нулю; неосновные, значения которых строго равны нулю. Количество основных переменных должно быть равно числу уравнений системы. Эта процедура позволяет исключить из рассмотрения неосновные переменные и получить замкнутую систему уравнений, имеющую единственное решение.

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

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

I шаг

Преобразуем неравенства системы ограничений в уравнения:

x1 + 3x2 + x3 = 18,

2x1+ x2+ x4= 16, (10)

x2+ x5 = 5,

3x1+ x6 = 21.

Полученная система состоит из 4-х уравнений и включает 6 переменных. Такая система имеет бесконечное множество решений. Для получения единственного решения необходимо, чтобы число переменных в системе было равно числу уравнений. Разделим переменные задачи на основные и неосновные. С учетом того, что значения неосновных переменных равны нулю, такая процедура позволяет получить замкнутую систему уравнений, в которой содержатся только основные переменные.

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

Этому правилу удовлетворяют дополнительные переменные x3, x4, x5, x6. В соответствии с этим переменные разделятся на две группы.

Основные переменные: x3, x4, x5, x6

Неосновные переменные: x1, x2.

Выразим основные переменные через неосновные из системы уравнений (10)

x3 = 18 - x1 - 3x2,

x4= 16 - 2x1 - x2,

x5 = 5 - x2, (11)

x6 = 21 - 3x1.

Положив не основные переменные равными нулю, т.е. x1 = 0, x2 = 0, получим базисное решение Х1 = (0; 0; 18; 16; 5; 21), которое соответствует вершине О(0; 0) многогранника допустимых решений на рис. 3. В связи с тем, что решение является допустимым, оно может быть и оптимальным. Выразим целевую функцию через неосновные переменные. Правило выбора основных переменных на первом шаге решения обеспечивает первоначальное выражение целевой функции F =2x1 + 3x. Значение целевой функции в этом случае равно нулю.

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

В связи с этим необходимо выяснить, какая из основных переменных должна перейти в разряд неосновных. Система (11) накладывает ограничения на значение переменной x2, следующие из условия неотрицательности основных переменных. Преобразуем (5) с учетом того, что переменная x1 по-прежнему остается неосновной, т.е. равной нулю.

x3 = 18 - 3x2  0,

x4= 16 - x2  0,

x5 = 5 - x2  0,

x6 = 21.

Отсюда следует: (x2  6; x2  16; x2  5). Каждое уравнение системы (11), кроме последнего, определяет максимально возможное значение x2, при котором значение соответствующей основной переменной остается неотрицательным. Последнее уравнение не накладывает ограничений на значение x2, т.к. при любом значении переменной x2 x6 = 21, т.е. неотрицательно. Условно этот факт фиксируется записью x2  .

Очевидно, что сохранение неотрицательности всех переменных возможно, если не нарушится ни одна из полученных во всех уравнениях границ. Отсюда следует, что x2 = min (6; 16; 5; ) = 5. С учетом дополнительного условия (8) интервал допустимых значений включает 0 x2  5. Однако мы заинтересованы в максимально возможном увеличении значения целевой функции, в связи с чем, выбираем наибольшее значение из указанного интервала, т.е. x2 = 5. При этом значении переменная x5 обращается в нуль и переходит в разряд неосновных. Третье уравнение системы (11), переводящее основную переменную в неосновные называется разрешающим и выделяется рамкой.

II шаг

Основные переменные: x2; x3; x4; x6.

Неосновные переменные: x1; x5.

Выразим основные переменные через неосновные, начиная с разрешающего уравнения

x2 = 5 - x5,

x3 = 18 - x1 - 3(5 - x5), (12)

x4 = 16 - 2x1 - (5 - x5),

x6 = 21 - 3x1.

После преобразования получим

x2 = 5 - x5,

x3 = 18 – x1 + 3x5 (13)

x4 = 11 - 2x1 + x5,

x6= 21 - 3x1.

Второе базисное решение Х2 = (0; 5; 3; 11; 0; 21) является допустимым и соответствует вершине А (0; 5) многоугольника на рис. 3.

Выразив целевую функцию через неосновные переменные, получим

F =2x1 + 3x2 = 2x1 + 3x2 = 2x1 + 3(5 - x5) = 15 + 2x1 - 3x5.

Значение целевой функции F2 = 15 не является максимальным, т.к. имеется возможность его увеличения переводом переменной x1 в основные. Система уравнений (13) определяет наибольшее возможное значение x1 = min(; 3; 11/2; ) = 3. Второе уравнение является разрешающим, а переменная x переходит в неосновные.

III шаг

Основные переменные: x1, x2, x4, x6.

Неосновные переменные: x3, x5.

Выражаем основные переменные через неосновные, начиная с разрешающего уравнения (из него выражается x1). После преобразований получаем

x1 = 3 - x3 + 3x5,

x2 = 5 - x5, (14)

x4 = 5 + 2x3 - 5x5,

x6 = 12 + 3x3 - 9x5.

Базисное решение Х3 = (3; 5; 0; 5; 0; 12) соответствует вершине В (3; 5;). Выражаем целевую функцию через неосновные переменные:

F = 2x1 + 3x 2= 2(3 - x3 + 3x5) + 3(5 - x5) = 21 - 2x3 + 3x5.

Третье базисное решение тоже не является оптимальным, т.к. при переменной x5 в выражении целевой функции через неосновные переменные содержится положительный коэффициент. Переводим x5 в основную переменную. При определении наибольшего возможного значения x5 обратим внимание на первое уравнение системы (12), которое не накладывает ограничений на значение переменной. При любом неотрицательном значении x5 переменная x1 будет неотрицательна. Поэтому x5 = min (; 5; 1; 12/9) = 1. Третье уравнение является разрешающим, а переменная x4 переходит в неосновные.

IV шаг

Основные переменные: x1, x2, x5, x6.

Неосновные переменные: x3, x4.

После преобразований получим

x1 = 6 + x3 - x4,

x2 = 4 - x3 + x4,

x5 = 1 + x3 - x4,

x6 = 3 - x3 + x4.

Базисное решение Х4 = (6; 4; 0; 0; 1; 3) соответствует вершине С (6; 4). Целевая функция, выраженная через неосновные переменные, имеет вид: F = 24 - x3 - x4. Это выражение не содержит положительных коэффициентов при неосновных переменных, поэтому значение F4 = F4) = 24 максимально.

Полученное решение является оптимальным решением задачи. Оно показывает, что максимальная прибыль, полученная от реализации произведенной продукции, составляет 24 денежные единицы, объем продукции 1-го вида – 6 единиц, продукции 2-го вида – 4 единицы. Дополнительные переменные x3, x4, x5, x6 показывают разницу между запасами ресурсов каждого вида и их потреблением, т.е. остатки ресурсов. При оптимальном плане производства x3 = x4 = 0, т.е. ресурсы первого и второго видов израсходованы полностью, а ресурсы третьего и четвертого видов имеют остатки, равные соответственно 1 и 3 единицам.

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