Как стать автором
Обновить

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

Условие

Фирма производит и продает два вида товаров - чулки и носки. От продажи 1 пары чулок прибыль составляет 10 руб, и 4 руб от продажи 1 пары носков. Каждое изделие последовательно обрабатывается на 3-х технологических участках с затратами времени, приведенными в таблице

Изделие

Время обработки  одного изделия, ч.

Удельная прибыль, руб

      

1 участок

2 участок

3 участок

      

чулки

0,02

     0,03

0,03

     10

носки

0,01

     0,01

0,02

     4

В следующем месяце фирма ежедневно будет располагать следующими ресурсами времени на каждом из участков - 60 ч на первом, 70 ч на втором и 100 ч на третьем.

Сколько производить продукции каждого вида чтобы прибыль была максимальной?

Теория

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

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

Основные шаги симплексного метода:

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

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

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

  4. Пересчет таблицы: Обновление симплексной таблицы, чтобы отразить изменения в базисе переменных.

  5. Проверка условия останова: Повторение шагов 2-4 до тех пор, пока не будет достигнуто оптимальное решение или определено, что решение неограничено.

Преимущества симплексного метода:

  • Способен решать большие и сложные задачи линейного программирования.

  • Эффективен в случае, когда решение существует в вершинах выпуклого многогранника.

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

Решение

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

     Определим максимальное значение целевой функции F(X) = 10x1+4x2 при следующих условиях-ограничениях:

      0,02x1+0,01x2≤60

      0,03x1+0,01x2≤70

      0,03x1+0,02x2≤100

     Для построения первого опорного плана  систему неравенств приведем к системе  уравнений путем введения дополнительных переменных (переход к канонической форме):

      0,02x1 + 0,01x2 + 1x3 + 0x4 + 0x5 = 60

      0,03x1 + 0,01x2 + 0x3 + 1x4 + 0x5 = 70

      0,03x1 + 0,02x2 + 0x3 + 0x4 + 1x5 = 100

     Матрица коэффициентов A = a(ij) этой системы уравнений  имеет вид: 

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

     Решим систему уравнений относительно базисных переменных:

     x3, x4, x5,

     Полагая, что свободные переменные равны 0, получим первый опорный план:

     х1 = (0,0,60,70,100)

 План

 Базис

 В

 x1

 x2

 x3

 x4

 x5

 0

 x3

 60

 0,01

 0,01

 1

 0

 0

   

 x4

 70

 0,03

 0,01

 0

 1

 0

   

 x5

 100

 0,03

 0,03

 0

 0

 1

Индексная строка

 F(X0)

 0

 -10

-4

 0

 0

 0

  Переходим к основному алгоритму симплекс-метода

     Итерация  №0.

     Текущий опорный план неоптимален, так как  в индексной строке находятся  отрицательные коэффициенты

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

     Вычислим  значения Di по строкам как частное от деления и из них выберем наименьшее: 

     Следовательно, 2-ая строка является ведущей:

Базис

 В

 x1

 x2

 x3

 x4

 x5

 min

 x3

 60

 0,02

 0,01

 1

0

 0

 3000

 x2

 70

 0,03

 1,01

 0

 1

 0

 7000/3

 x5

 100

 0,03

 0,02

 0

 0

 1

10000/3

 F(X2)

 0

 -10

 -4

 0

0

 0

 0

      Формируем следующую часть симплексной таблицы. Вместо переменной х4 в план 1 войдет переменная х1. Получаем новую симплекс таблицу:

Базис

 В

 x1

 x2

 x3

 x4

 x5

 x3

 40/3

0

 1/300

 1

-2/3

 0

 x1

 7000/3

1

 1/3

 0

100/3

 0

 x5

 30

0

 0,02

 0

-1

 1

 F(X2)

 0

0

 -2/3

 0

1000/3

 0

     Итерация  №1.

     Текущий опорный план неоптимален, так как  в индексной строке находятся  отрицательные коэффициенты

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

     Вычислим  значения Di по строкам как частное от деления 

     и из них выберем наименьшее: 

     Следовательно, 3-ая строка является ведущей

Базис

 В

 x1

 x2

 x3

 x4

 x5

 min

 x3

 40/3

 0

100/3

 1

 -2/3

 0

 4000

 x1

 7000/3

 1

1/3

 0

 100/3

 0

 7000

 x5

 30

 0

1/100

 0

 -1

 1

 3000

 F(X3)

 70000/3

 0

-2/3

 0

1000/3

0

 0

      Формируем следующую часть симплексной таблицы. Вместо переменной х5 в план 2 войдет переменная х2. Получаем новую симплекс таблицу:

Базис

 В

 x1

 x2

 x3

 x4

 x5

 x3

 10/3

0

0

 1

-1/3

 -1/3

 x1

 4000/3

1

 0

 0

200/3

 -100/3

 x2

 3000

0

1

 0

-100

 100

 F(X2)

 76000/3

0

0

 0

800/3

 200/3

      Конец итераций: найден оптимальный план. Индексная строка не содержит отрицательных элементов.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.