Линейная производственная задача

 

 

 

               





Линейная  производственная задача

 

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

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

Примем следующие  обозначения:

  i         – номер группы оборудования (i=1,2, … , m); 

 j         – номер вида изделия (j=1,2, … , n);

aij       – норма времени на обработку единицы i-го изделия на j-ой группе оборудования;

bi –  действительный фонд времени работы i-й группы оборудования;

xi – планируемое количество единиц  j-го изделия;

(x1, x2, … , xn) – искомый план производства.

 

+

Какова бы ни была производственная программа (x1, x2, … , xn), ее компоненты должны удовлетворять условию, что суммарное время обработки всех изделий на данной группе оборудования не должно превышать фонда времени работы этой группы оборудования. На обработку x1 единиц первого изделия на i-й группе оборудования будет затрачено ai1x1 единиц времени, на обработку x2 единиц второго изделия на той же группе оборудования будет затрачено ai2x2 единиц времени и т.д. Необходимое время на обработку всех x1, x2, … , xn изделий на i-й группе оборудования будет равно сумме

 

 

Эта сумма  не может превышать фонд времени  работы i-й группы оборудования, т.е. должна быть £ bi. Выписывая такие условия для всех m групп оборудования, получаем:

         (1)

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

                                   x1 ³0, x2,³0,…, xn³0.

                          (2)

Обозначим через сj прибыль на единицу j-го изделия. При плане производства       (х1, х2, …, хn) прибыль предприятия будет равна:

 

z = c1x1 + c2x2 + … + cnxn.    (3)

 

 

Мы хотим составить производственную программу  (х1, х2, …, хn) так, чтобы функция (3) приняла наибольшее значение при выполнении всех других условий.


9


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

Исходные  параметры задачи могут быть представлены в виде технологической матрицы  A затрат ресурсов на единицу продукции каждого вида, вектора B объемов ресурсов и вектора C удельной прибыли:

 

, 
, C=(c1, …, cn)

 

Удельные прибыли


Норма расхода

Запасы ресурсов

Заданы  удельные прибыли, нормы расхода  и запасы ресурсов и компьютер  решает поставленную задачу симплекс-методом.


 

26

35

18

30

 

2

5

1

4

126

3

0

7

2

84

2

1

4

0

75

         

 

  (4), (5), (6)

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

Математическая модель задачи:

найти производственную программу

                                     (x1, x2, x3, x4)    (7)

максимизирующую прибыль

 

                       Z = 26∙x1+35∙x2+18∙x3+30∙x4→max      (8)

при ограничениях по ресурсам

 

2∙x1+5∙x2+1∙x3+4∙x4≤126

                                3∙x1+0∙x2+7∙x3+2∙x4≤84

                              2∙x1+1∙x2+4∙x3+0∙x4≤75                       (9)

где по смыслу задачи

                                   x1 ³ 0,  x2 ³ 0, x3 ³ 0,  x4 ³ 0.                                  (10)   

 

 

Получили задачу на условный экстремум. Для ее решения систему неравенств (9) при помощи дополнительных неотрицательных  неизвестных х5, х6, х7 заменим системой линейных алгебраических уравнений

 

Z=26∙x1+35∙x2+18∙x3+30∙x4+0∙x5+0∙x6+0∙x7→max

2∙x1+5∙x2+1∙x3+4∙x4+1∙x5=126

3∙x1+0∙x2+7∙x3+2∙x4+      1∙x6=84                  (11)

2∙x1+1∙x2+4∙x3+0∙x4+            1∙x7=75

где дополнительные переменные имеют  смысл остатков соответствующих  ресурсов. Среди всех решений системы  уравнений (11), удовлетворяющих условию  неотрицательности

х1³0, х2³0, … , х5³0, … , х7³0.      (12)

надо найти то решение, при котором  функция (8) примет наибольшее значение.

 

Воспользуемся тем, что правые части  всех уравнений системы (11) неотрицательны, а сама система имеет предпочитаемый вид – дополнительные переменные являются базисными. Приравняв к  нулю свободные переменные х1, х2, х3, х4, получаем базисное неотрицательное решение

11


     x1=0, x2=0, x3=0, x4=0, x5=126, x6=84, x7=75   (13)


первые четыре компоненты которого определяют производственную программу

                                       x1=0, x2=0, x3=0, x4=0    (14)

по которой мы пока ничего не производим.

 

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

 

     (15)

 

Мы пока сохраняем  в общем решении х1=х2=х3=0 и увеличиваем только х4. При этом значения базисных переменных должны оставаться неотрицательными, что приводит к системе неравенств

    или             т.е.  х2 £ 126/5

 

 

Дадим х4 наибольшее значение х2 =126/5 , которое она может принять при нулевых значениях других свободных неизвестных, и подставим его в (15). Получаем для системы уравнений (11) частное неотрицательное решение

х1=0, х2=126/5, х3=0, х4=0; x5=0 ; x6=84; x7= 249/5  (16)

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

 

 

а разрешающим элементом будет  а12=5. Применив известные формулы исключения, получаем для системы уравнений (11) новый предпочитаемый эквивалент



          2/5x1      +   x2   + 1/5x3 + 4/5x4  + 1/5x5 = 126/5

       3x1 + 7x3 +2x4 + x6 = 84                                           (17)

           8/5x1  +  19/5x3 – 4/5x4 -1/5x5 +x7 = 249/5

      

 

 

Приравняв к  нулю свободные переменные х1, х2, х3, х7, получаем базисное неотрицательное решение, совпадающее с (16), причем первые четыре компоненты его определяют новую производственную программу

  х1=0, х2=126/5, х3=0, х4=0.                   (18)

1


Исследуем, является ли эта программа наилучшей, т.е. обеспечивает ли она наибольшую прибыль. Для этого выразим функцию  прибыли (8) через новые свободные  переменные х1, х2, х3, х7.


 

             (19)

 

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

 

       (20)

и исключаем х1 из всех уравнений системы (17), кроме первого уравнения. Получим следующий предпочитаемый эквивалент системы условий, который определит для системы (11) новое базисное неотрицательное решение и уже третью производственную программу, для исследования которого нам придется выразить функцию (19) через новые свободные переменные, удалив оттуда переменную х1, ставшую базисной. Мы видели выше, как это делается (удаляли х4 из (8)).

 

 

Важно обратить внимание на то, что эти удаления можно выполнить очень просто. Представим соотношение (8) в виде уравнения

-26∙x1-35∙x2-18∙x3-30∙x4= 0 – z      (21)

и припишем его к системе (11). Получается вспомогательная система уравнений

2x1+5x2+x3+4x4 + x5=126

                                3x1+7x3+2x4 + x6=84

                2x1+x2+4x3 + x7=75

 

                -26x1-35x2-18x3-30x4= 0 – z  (22)

 

Напомним, что разрешающую неизвестную  в системе (11) мы выбрали х2. Этой переменной в последнем уравнении системы (22) отвечает наименьший отрицательный коэффициент D2=-35. Затем мы нашли разрешающий элемент а12=5 и исключили неизвестную х2 из всех уравнений системы (11), кроме третьего. Далее нам пришлось х2 исключать и из функции (8). Теперь это можно сделать очень просто, если посмотреть на систему уравнений (22). Очевидно, достаточно умножить первое уравнение системы (22) на 7 и прибавить к четвертому; получим

-12х1 - 11х3 – 2x4 + 7х5 = 882 – z     (23)


Таким образом, мы преобразовывали  вспомогательную систему уравнений (22) к виду


    2/5x1      +   x2   + 1/5x3 + 4/5x4  + 1/5x5 = 126/5

    

    3x1 + 7x3 +2x4 + x6 = 84                                          

                                                                            (24)

    8/5x1  +  19/5x3 – 4/5x4 -1/5x5 +x7 = 249/5

     

     -12x1   -   11x3  - 2x4  + 7x5 = 882 - z

 


Первые  три уравнения этой системы представляют некоторый предпочитаемый эквивалент (17) системы уравнений (11) и определяют базисное неотрицательное решение (16) и производственную программу (18), а из последнего уравнения системы (24) получается выражение (19) функции  цели через свободные переменные. Очевидно, если имеется хотя бы один отрицательный коэффициент Dj при какой-нибудь переменной xj в последнем уравнении системы (24), то производственная программа не является наилучшей и можно далее продолжать процесс ее улучшения. С помощью (19) мы выяснили, что следует начинать производить продукцию первого вида, т.е. фактически мы нашли в последнем уравнении системы (24) наименьший отрицательный коэффициент


min(Dj<0) = min(-12, -11, -2) = -12 = D1  

и решили перевести свободную переменную х1  в число базисных, для чего, согласно (20)определили разрешающее уравнение и указали разрешающий элемент а11=2/5.

Учитывая сказанное выше, теперь мы будем преобразовывать не систему (17), а всю вспомогательную систему (24), по формулам исключения. Эта система  преобразуется к виду



  x2  -  11/5x3 + 8/15 x4  + 1/5x5   - 2/5 x6  = 14

                x1 +  7/3x2 + 2/3x3      + 1/3 x6  + x7 = 13                    (25)

                 1/5x3 – 28/15x4 – 1/5x5 – 8/5x6 + x7 = 5

                  17x3   + 6x4  + 7x5 +   4x6 = 1218 - z

 

 

 

Первые три уравнения системы (25) представляют некоторый предпочитаемый эквивалент системы уравнений (11) и  определяют базисное неотрицательное  решение системы условий рассматриваемой  задачи

x1=28, x2=14, x3=0, x4=0, x5=0, x6=0, x7=5   (26)

т.е. определяют производственную программу

x1=28,  x2=14, x3=0, x4=0    (27)

и остатки ресурсов:

первого вида х5=0

второго вида х6=0       (28)

третьего вида х7=5

В последнем уравнении системы (25) среди коэффициентов при неизвестных  в левой части уравнения нет  ни одного отрицательного. Если из этого  уравнения выразить функцию цели z через остальные неотрицательные переменные

z = 1218 - 17x3   - 6x4  - 7x5  -   4x6      (29)

то становится совершенно очевидным (в силу того, что все xj³0), что прибыль будет наибольшей тогда, когда

x5=0, x6=0, x3=0, x4=0     (30)

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

zmax = 1218      (31)

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

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

 

Сб

Хб

Н

С1

С2

С3

С4

С5

С6

С7

α

       

Х1

Х2

Х3

Х4

Х5

Х6

Х7

 

1

С5

Х5

В5

а11

а12

а13

а14

1

0

0

 

2

С6

Х6

В6

а21

a22

a23

a24

0

1

0

 

3

C7

X7

B7

a31

a32

a33

a34

0

0

1

 

4

 

Z

Z0

D1

D2

D3

D4

0

0

0

 

            

Подставив соответствующие значения из (1) и (3), имеем :

 

 

Сб

Xб

Н

26

35

18

30

0

0

0

α

       

Х1

Х2

Х3

Х4

Х5

Х6

Х7

 

1

0

Х5

126

2

5*

1

4

1

0

0

25min

2

0

Х6

84

3

0

7

2

0

1

0

-

3

0

Х7

75

2

1

4

0

0

0

1

75

4

–

–

0

-26

-35

-18

-30

0

0

0

 
                       

1

35

Х2

126/5

2/5

1

1/5

4/5

1/5

0

0

63

2

0

Х6

84

3*

0

7

2

0

1

0

28min

3

0

Х7

249/5

8/5

0

19/5

-4/5

-1/5

0

1

31

4

–

–

882

-12

0

-11

2

7

0

0

 
                       

1

35

Х2

14

0

1

-11/5

8/15

1/5

-2/15

0

 

2

26

Х1

28

1

0

7/3

2/3

0

1/3

0

 

3

0

Х7

5

0

0

1/15

-28/15

-1/5

-8/15

1

 

4

–

–

1218

0

0

17

6

7

4

0

 

 

Пояснения к таблицам.

Хб- базисная переменная;

Н -  значение переменной при равных нулю значениях небазисных переменных.

aij* - разрешающий элемент.

Z=Сб*Gj-Cj; Gj=(а1j, a2j, a3j)

Пояснения к решению задачи. Алгоритм решения.

Просматриваем значения 4-й строки. Если все Dj ³ 0 ,то решение задачи оптимально.

Если какие-либо Dj < 0, находим min(Dj < 0) = Dк.

Хк включаем в число базисных переменных.

Отыскиваем переменную исключаемую  из базиса :

находим min(H/Gj) = H2/G2 (для всех Gj > 0);

Х5 исключаем из числа базисных переменных.

Строим новую симплексную таблицу, преобразуя исходную.

Возвращаемся в пункт 1.

 

Опорный план первой симплексной таблицы.

X=(0, 0, 0, 0, 126, 84, 75)

Этот опорный  план отражает производство, при котором  ничего не выпускается, сырьё не используется и стоимость произведённой продукции  равна 0.

В строке оценочных  коэффициентов имеются отрицательные  значения, которые показывают на сколько увеличится прибыль от производства продукции при включении в план производства одной единицы продукции того или иного вида. Например, число –26 означает, что включение в план производства единицы изделий первого вида позволит увеличить прибыль на 26 денежных единиц. Наиболее выгодным в данной задаче  будет внедрение в производство второго вида продукции, так как ему соответствует максимальная прибыль 35 денежных единиц. Поэтому x2 становится базисной неизвестной и запускается вторая технология. Так же определяем технологию, которую надо исключить из производства. Ограничивающим фактором буде объём сырья второго вида, так как из него можно произвести наименьшее количество продукции первого вида, так как ему соответствует наименьшее α равное 25.

 

Опорный план второй симплексной таблицы.

X=(0, 126/5, 0, 0, 0, 84, 249/5)

Стоимость продукции  при таком плане производства z=882 денежных единиц.

Значение в столбцах данной симплексной  таблицы показывают соотношение  выпуска определённых видов продукции, либо затраты ресурсов при дополнительном вводе в производство какого-либо вида продукции. Например, число 4/5 показывает, на сколько единиц надо уменьшить  выпуск второй продукции, чтобы внедрить в производство одну единицу четвёртой  продукции.

Прирост прибыли  при внедрении одной единицы  первого вида продукции составит  12 денежных единиц.

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

 

Опорный план третьей симплексной таблицы.

X=(28, 14, 0, 0, 0, 0, 5)

При данном плане производства достигается  прибыль в размере 1218 денежных единиц.

Этот план не предполагает выпуска  третьей и четвёртой продукции.

Все  Dj ³ 0 следовательно, план оптимален.

Выводы.

Оптимальная производственная программа  имеет вид :

Х1=28, Х2=14, Х3=0, Х4=0, или Х=(28,14,0,0).

Максимальная прибыль равна  Zmax=1218.

Использование ресурсов:

     1-й и 2-ий ресурс  используется полностью (Х5=0,Х6=0), а 3-ый ресурс имеет остаток Х7=7 единиц.

При выполнении производственной программы 1-й и 2-ий ресурсы используются полностью, то есть образуют  “узкие места производства”.

 

 

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

 

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

Теперь представим себе, что возникла новая ситуация. Знакомый предприниматель  П (Петров), занимающийся производством каких-то других видов продукции, но с использованием трех таких же видов ресурсов, какие имеются у нас, предлагает нам "уступить" по определенным ценам все имеющиеся у нас ресурсы и обещает платить у1 рублей за каждую единицу первого ресурса, у2 руб – второго, у3 руб – третьего. Возникает вопрос: при каких ценах у1, у2, у3 мы можем согласиться с предложением П.

Величины у1, у2, у3 принято называть расчетными, или двойственными, оценками ресурсов. Они прямо зависят от условий, в которых действует наше предприятие.

Напомним, что в нашей задаче технологическая матрица А, вектор объемов ресурсов В и вектор удельной прибыли С имели вид

Для производства единицы продукции  первого вида мы должны затратить,

 как видно  из матрицы А, 2 единицы ресурса первого вида, 3 единицы ресурса второго вида и 2 единицы третьего (элементы первого столбца матрицы). В ценах у1, у2, у3 наши затраты составят 2у1 + 3у2 + 2у3, т.е. столько заплатит предприниматель П за все ресурсы, идущие на производство единицы первой продукции. На рынке за единицу первой продукции мы получили бы прибыль 26 руб. Следовательно, мы можем согласиться с предложением П только в том случае, если он заплатит не меньше

2у1 + 3у2 + 2у3 ³ 26.

Аналогично, во втором столбце матрицы А указаны затраты различных ресурсов на производство единицы продукции второго вида. В ценах П эти затраты составят 3у1 + 5у2 + у3, а на рынке за единицу продукции второго вида мы получили бы прибыль 14 рублей. Поэтому перед предпринимателем П мы ставим условие

5у1  + у3 ³ 35

и т.д. по всем видам продукции.

Учтем, что  за все имеющиеся у нас ресурсы  нам должны заплатить                        126у1 + 84у2 + 75у3 рублей. При поставленных нами условиях предприниматель П будет искать такие значения величин у1, у2, у3, чтобы эта сумма была как можно меньше. Подчеркнем, что здесь речь идет не о ценах,  по которым мы когда-то приобретали эти ресурсы, а об этих ценах, которые существенно зависят от применяемых нами технологий, объемов ресурсов и от ситуации на рынке.

16


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


у(у1, y2, y3)

минимизирующий общую оценку всех ресурсов

 

                                                f =  126y1 + 84y2  +75y3                           (1)

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

 

(2)



    2y1 + 3y2 + 2y3 ³ 26


5y1  +   y3 ³ 35

y1   + 7y2  + 4y3  ³ 18

4y1 + 2y2 +   ³ 30

 причем оценки  ресурсов не могут быть отрицательными

                  y10,  y20,  y30.                          (3)

Решение полученной задачи легко найти  с помощью второй основной теоремы    двойственности,  согласно     которой     для     оптимальных решений   (х1, х2, х3, х4)    и   (y1, y2, y3) пары двойственных задач необходимо и достаточно выполнение условий

 



x 1 (2y1 + 3y2 + 2y3 - 26) = 0         y1 (2x1+5x2+x3+x4-126) = 0



x 2 (5y1  +  y3 - 35) = 0         y2 (3x1+7x3+2x4-84) = 0


x 3 (y1 + 7y2 + 4y3  - 18) = 0         y3 (2x1+x2+4x3-75) = 0         .