«Integral» 3/2017

УДК 338

Лого

ИСПОЛЬЗОВАНИЕ МАТЕМАТИЧЕСКИХ МЕТОДОВ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ДЛЯ ОПТИМИЗАЦИИ ПРОИЗВОДСТВА НА ПРЕДПРИЯТИИ РАДИОЭЛЕКТРОННОЙ ПРОМЫШЛЕННОСТИ

THE USE OF MATHEMATICAL LINEAR PROGRAMMING METHODS TO OPTIMIZE PRODUCTION AT THE PLANT OF ELECTRONIC INDUSTRY

Фёдоров Дмитрий Евгеньевич,

магистрант, Национальный исследовательский ядерный университет «МИФИ», г. Москва

E-mail: mifi93@mail.ru

Fedorov Dmitry,

graduate student, national research nuclear University «MEPhI», Moscow

E-mail: mifi93@mail.ru

Аннотация

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

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

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

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

Summary

The main area of work is the use of a mathematical method of linear programming – simplex method. Mathematical programming allows you to find the best plans for the allocation of scarce resources to achieve a specific task. The best result is achieved not at the expense of additional funds and for more effective allocation and use of available resources.

In the course of the work deals with the enterprise of electronic industry. During the current difficult political and economic situation in the country is required to reduce the share of purchased imported components to 0% and calculate the planned output according for 2015. The calculation uses the simplex method, which allows you to find the most profitable production while reducing the cost of production to maximize profit.

The obtained results have practical significance not only for specific enterprises but also for the optimization of any production from textile industry to high-tech industries.

Key words: method of mathematical linear programming, simplex method, enterprise, optimization of production and maximization of profit.

В данной статье анализируется предприятие радиоэлектронной промышленности. Основной проблемой отрасли является высокая зависимость от импортных комплектующих как в гражданском секторе, так и в военном. Была принята государственная программа «Развитие электронной и радиоэлектронной промышленности на 2013-2025 годы». Данная программа предусматривает выделение материальной поддержки на переоснащение производственных фондов, стимулирование темпов производства радиоэлектронных изделий за счет государственных заказов.

Предприятие специализируется на производстве бортовых цифровых вычислительных машин для жестких условий эксплуатации. Имеется 4 готовых продукта: система «Феникс», бцвм А-15АР, бцвм серий ЕА2164, 2165, 2166. В 2015 году себестоимость систем «Феникс» составила 112,07 млн. руб. в количестве 20 штук. БЦВМ А-15АР и серий 2164, 2165, 2166 входят в раздел «Поставка», которая составила 45,99 млн. руб., соответственно было произведено 8,13 и 31 штук.

Таблица 1.Себестоимость за 2015 год

Screenshot_1

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

Таблица 2. Плановые ключевые показатели

Screenshot_2

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

Задачей линейного программирования называется задача минимизации (максимизации) значения целевой функции (нескольких переменных), с учетом ограничений на значения этих переменных (выраженных явно, или через уравнения связи), где все зависимости являются линейными. [1]

Для начала требуется определить основные переменные.

х1, х2, х3, х4 – объемы производства таких продуктов, как система «Феникс», БЦВМ серий А-15АР, ЕА2164, 2165, 2166 соответственно.

F (x) – функция максимизация прибыли.

F (x) = 0,93x1 + 0,13x2 + 0,14x3 + 0,15x4 → max

Так как за 2015 год было произведено по заказам определённое количество единиц, то вводятся ограничения для каждого из видов. При этом изменилась себестоимость продукции, но средства на их изготовление остались те же самые.

4,67x1 ≤ 112, 07

0,66x2 + 0,73x3 + 0,76x4 ≤ 45, 99

X1 ≥ 20

X2 ≥ 8

X3 ≥ 13

X4 ≥ 31

В итоге мы имеем 6 ограничений.

Преобразуем неравенства в равенства добавлением неотрицательных переменных:

0,93x1 + 0,13x2+ 0,14x3 + 0,15x4 + 0x5 + 0x6 + 0x7 + 0x8 + 0x9 + 0x10 → max

0x2+ 0x3 + 0x4 + 1x5 + 0x6 + 0x7 + 0x8 + 0x9 + 0x10 = 112, 07

0,66x2+ 0,73x3 + 0,76x4 + 0x5 + 1x6 + 0x7 + 0x8 + 0x9 + 0x10 = 45, 99

0x2+ 0x3 + 0x4 + 0x5 + 1x6 — 1x7 + 0x8 + 0x9 + 0x10 = 20

1x2+ 0x3 + 0x4 + 0x5 + 1x6 + 0x7 — 1x8 + 0x9 + 0x10 = 8

0x2+ 1x3 + 0x4 + 0x5 + 1x6 + 0x7 — 1x8 — 1x9 + 0x10 = 13

0x2+ 0x3 + 1x4 + 0x5 + 1x6 + 0x7 — 1x8 — 1x9 — 1x10 = 31

X4, x5, x6, x7, x8, x9, x10 ≥ 0

Так как количество базисных векторов должен быть 6, то добавляем искусственные переменные, а в целевую функцию добавляем эти переменные, умноженные на − M, где M, очень большое число:

0,93x1 + 0,13x2+ 0,14x3 + 0,15x4 + 0x5 + 0x6 + 0x7 + 0x8 + 0x9 + 0x10 – Mx11 – Mx12 – Mx13 – Mx14 → max

4,67x1 + 0x2+ 0x3 + 0x4 + 1x5 + 0x6 + 0x7 + 0x8 + 0x9 + 0x10 + 0x11 + 0x12 + 0x13 + 0x14 = 112, 07

0x1 + 0,66x2+ 0,73x3 + 0,76x4 + 0x5 + 1x6+ 0x7 + 0x8 + 0x9 + 0x10 + 0x11 + 0x12 + 0x13 + 0x14 = 45, 99

1x1 + 0x2+ 0x3 + 0x4 + 0x5 + 0x6 — 1x7 + 0x8 + 0x9 + 0x10 + 0x11 + 0x12 + 0x13 + 0x14 = 20

0x1 + 1x2+ 0x3 + 0x4 + 0x5 + 0x6 + 0x7 — 1x8 + 0x9 + 0x10 + 0x11 + 0x12 + 0x13 + 0x14 = 8

0x1 + 0x2+ 1x3 + 0x4 + 0x5 + 0x6 + 0x7 + 0x8 — 1x9 + 0x10 + 0x11 + 0x12 + 0x13 + 0x14 = 13

0x1 + 0x2+ 0x3 + 1x4 + 0x5 + 0x6 — 1x7 + 0x8 + 0x9 — 1x10 + 0x11 + 0x12 + 0x13 + 0x14 = 31

x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14 ≥ 0

Матрица коэффициентов A=│aij│ системы уравнений имеет вид:

Таблица 3. Матрица коэффициентов

Screenshot_3

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

Таблица 4. Правая часть ограничений системы

Screenshot_4

Составляем симплексную таблицу. В столбец x0 записывается правая часть ограничений. С правой стороны записывается матрица коэффициентов A. Последние две строки − это целевая функция, умноженная на −1 и разделенная на две части. Последняя строка − строка с искусственными переменными:

Таблица 5. Ввод новых переменных

Screenshot_5

Базисные векторы x5, x6, x11, x12, x13, x14, следовательно, все элементы в столбцах x5, x6, x11, x12, x13, x14, ниже горизонтальной линии должны быть нулевыми.

Обнулим все элементы столбца x11, кроме ведущего элемента. Для этого сложим строку 8 со строкой 3, умноженной на -1. Обнулим все элементы столбца x12, кроме ведущего элемента. Для этого сложим строку 8 со строкой 4, умноженной на -1. Обнулим все элементы столбца x13, кроме ведущего элемента. Для этого сложим строку 8 со строкой 5, умноженной на -1. Обнулим все элементы столбца x14, кроме ведущего элемента. Для этого сложим строку 8 со строкой 6, умноженной на -1.

Таблица 6. Шаг 0

Screenshot_6

Шаг 1: запишем текущий опорный план:

X = │0  0  0  0  112.07  45.99  0  0  0  0  20  8  13  31│

Данный опорный план не является оптимальным, так как в последней строке есть отрицательные элементы. Самый большой по модулю отрицательный элемент (-1.), следовательно, в базис входит вектор x1. Определяем, какой вектор выходит из базиса. Для этого вычисляем min (ai,0 /ai,1), при ai,1>0, i=1,…6. min(112.07:4.67, 20.:1.)=20. соответствует строке 3. Из базиса выходит вектор x11. Сделаем исключение Гаусса для столбца x1, учитывая, что ведущий элемент соответствует строке 3. Обнулим все элементы этого столбца, кроме ведущего элемента. Для этого сложим строки 1, 7, 8 со строкой 3, умноженной на -4.67, 0.93, 1, соответственно.

Симплекс таблица примет следующий вид:

Таблица 7. Шаг 1

Screenshot_7

Шаг 2:

Запишем текущий опорный план:

X = │20  0  0  0  18.67  45.99  0  0  0  0  0  8  13  31│

Данный опорный план не является оптимальным, так как в последней строке есть отрицательные элементы. Самый большой по модулю отрицательный элемент (-1.), следовательно, в базис входит вектор x2. Определяем, какой вектор выходит из базиса. Для этого вычисляем min (ai,0 /ai,2), при ai,2>0,i=1,…6. min(45.99:0.66, 8.:1.)=8. соответствует строке 4. Из базиса выходит вектор x12. Сделаем исключение Гаусса для столбца x2, учитывая, что ведущий элемент соответствует строке 4. Обнулим все элементы этого столбца, кроме ведущего элемента. Для этого сложим строки 2, 7, 8 со строкой 4, умноженной на -0.66, 0.13, 1, соответственно.

Симплекс таблица примет следующий вид:

Таблица 8. Шаг 2

Screenshot_8

Шаг 3:

Запишем текущий опорный план:

X = │20  8  0  0  18.67  45.71  0  0  0  0  0  0  13  31│

Данный опорный план не является оптимальным, так как в последней строке есть отрицательные элементы. Самый большой по модулю отрицательный элемент (-1.), следовательно, в базис входит вектор x4. Определяем, какой вектор выходит из базиса. Для этого вычисляем min (ai,0 /ai,4), при ai,4>0,i=1,…6. min(31.22:0.76, 31.:1.)=31. соответствует строке 6. Из базиса выходит вектор x14. Сделаем исключение Гаусса для столбца x4, учитывая, что ведущий элемент соответствует строке 6. Обнулим все элементы этого столбца, кроме ведущего элемента. Для этого сложим строки 2, 7, 8 со строкой 6, умноженной на -0.76, 0.15, 1, соответственно.

Симплекс таблица примет следующий вид:

Таблица 9. Шаг 3

Screenshot_9

Шаг 4:

Запишем текущий опорный план:

X = │20  8  13  0  18.67  31.22  0  0  0  0  0  0  0  31│

Данный опорный план не является оптимальным, так как в последней строке есть отрицательные элементы. Самый большой по модулю отрицательный элемент (-1.), следовательно, в базис входит вектор x4. Определяем, какой вектор выходит из базиса. Для этого вычисляем min (ai,0 /ai,4), при ai,4>0, i=1…6. min (31.22: 0.76, 31:1) = 31. соответствует строке 6. Из базиса выходит вектор x14. Сделаем исключение Гаусса для столбца x4, учитывая, что ведущий элемент соответствует строке 6. Обнулим все элементы этого столбца, кроме ведущего элемента. Для этого сложим строки 2, 7, 8 со строкой 6, умноженной на -0.76, 0.15, 1, соответственно.

Симплекс таблица примет следующий вид:

Таблица 10. Шаг 4

Screenshot_10

Шаг 5:

Запишем текущий опорный план:

X = │20  8  13  31  18.67  7.66  0  0  0  0  0  0  0  31│

Данный опорный план не является оптимальным, так как в последней строке есть отрицательные элементы. Самый большой по модулю отрицательный элемент (-0.93), следовательно, в базис входит вектор x7. Определяем, какой вектор выходит из базиса. Для этого вычисляем min (ai,0 /ai,7), при ai,7>0, i=1…6. min (18.67: 4.67) =3.99 соответствует строке 1. Из базиса выходит вектор x5. Сделаем исключение Гаусса для столбца x7, учитывая, что ведущий элемент соответствует строке 1. Обнулим все элементы этого столбца, кроме ведущего элемента. Для этого сложим строки 3, 7 со строкой 1, умноженной на 0.21, 0.2, соответственно. Далее делим строку с ведущим элементом на ведущий элемент.

Симплекс таблица примет следующий вид:

Таблица 11. Шаг 5

Screenshot_11

Шаг 6:

Запишем текущий опорный план:

X = │23.99  8  13  31  0  7.66  3.99  0  0  0  0  0  0  0│

Данный опорный план не является оптимальным, так как в последней строке есть отрицательные элементы. Самый большой по модулю отрицательный элемент (-0.15), следовательно, в базис входит вектор x10. Определяем, какой вектор выходит из базиса. Для этого вычисляем min (ai,0 /ai,10), при ai,10>0, i=1…6. min (7.66: 0.76) =10.07 соответствует строке 2. Из базиса выходит вектор x6. Сделаем исключение Гаусса для столбца x10, учитывая, что ведущий элемент соответствует строке 2. Обнулим все элементы этого столбца, кроме ведущего элемента. Для этого сложим строки 6, 7 со строкой 2, умноженной на 1.31, 0.2, соответственно. Далее делим строку с ведущим элементом на ведущий элемент.

Симплекс таблица примет следующий вид:

Таблица 12. Шаг 6

Screenshot_12

Шаг 7:

Запишем текущий опорный план:

X = │23.99  8  13  41.07  0  0  3.99  0  0  10.07  0  0  0  0│

Текущий опорный план является оптимальным, так как в строках 7−8 под переменными X1, x2, x3, X4, x5, x6, x7, x8, x9, x10 нет отрицательных элементов.

Записываем конечное решение:

X1 = 23, 99, x2 = 8, x3 = 13, x4 = 41, 07

Значение целевой функции в данной точке:

F(x) = 0,934*23, 99+0,132*8+0,146*13+0,152*41, 07 = 31, 61

В итоге следует произвести 23шт. – систем «Феникс», 8 шт. – БЦВМ А-15Р, 13 шт. – БЦВМ серий ЕА 2164, 2165, 41шт. – БЦВМ серии ЕА2166. В совокупности предприятию это принесет максимальную чистую прибыль в размере 31,61 млн. руб. Все изделия будут выполнены только на основе отечественной элементной базе, что сэкономит деньги государству. Если данные мероприятия реализуется, не исключено, что производить продукцию будут в более масштабных объемах, что принесет дополнительную прибыль.

 

Список литературы

  1. Коротков М., Основы линейного программирования 2003г.
  2. Э.В. Киселева, Математическое программирование, 2002 г.
  3. Киселева Е.В., Построение математических моделей целочисленного линейного программирования. Примеры и задачи, 2012 г.
  4. Гераськин М.И., Линейное программирование, 2014 г.
  5. Правительство России – Об утверждении государственной программы Российской Федерации [Электронный ресурс]. – Режим доступа: http://government.ru/docs/3345/
  6. Хохлов С.В., Радиоэлектронная промышленность в 2014-2015 годах: итоги, задачи и направления развития.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *