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

Ключевые слова:
производственные процессы, методы оптимизации, генетический алгоритм, метод ветвей и границ, алгоритм Джонсона, производственная мощность
Текст
Текст (PDF): Читать Скачать

Введение

Задача планирования загрузки производственных мощностей является одной из ключевых в управлении производством, особенно в условиях высокой конкуренции и необходимости минимизации временных затрат, переналадок и простоев оборудования. Для выполнения этой задачи используются различные подходы и алгоритмы оптимизации, каждый из которых отличается своими преимуществами и недостатками. Важную роль в решении задач планирования загрузки производственных мощностей играет комбинаторика, т. к. такие задачи часто сводятся к поиску оптимального распределения ресурсов среди множества возможных вариантов. Комбинаторика – это раздел математики, который изучает дискретные структуры, методы подсчета количества различных комбинаций объектов, а также их расположение и упорядочивание [1, 2]. Комбинаторные задачи, такие как распределение работ между станками или размещение деталей с учетом временных параметров и ограничений, предполагают детальный анализ всех возможных вариантов расстановки и последовательности выполнения операций. Эти задачи часто относятся к классу NP-трудных, что означает, что найти оптимальное решение за разумное время напрямую (перебором) невозможно при больших размерностях, поэтому для решения подобных задач применяются методы комбинаторной оптимизации, такие как метод ветвей и границ, генетические алгоритмы и другие эвристические подходы, которые позволяют эффективно исследовать пространство возможных решений и находить близкие к оптимальным варианты [3]. Таким образом, задача планирования загрузки производственных мощностей становится частью более широкого класса комбинаторных задач, где основной целью является минимизация функции целей при наличии жестких ограничений.  Целью данного исследования является анализ и сравнение различных методов и алгоритмов оптимизации планирования производственных мощностей с точки зрения их применимости, точности, вычислительной сложности и адаптивности к условиям производства. Для анализа были выбраны алгоритм Джонсона, метод ветвей и границ и генетический алгоритм, поскольку они представляют различные классы подходов к решению задач оптимизации производственных процессов: алгоритм Джонсона – эффективный точный метод для двухстаночных задач, метод ветвей и границ – универсальный точный алгоритм, применимый к более широкому классу задач, а генетический алгоритм – современный эвристический метод, перспективный для задач большой размерности и динамических условий производства, что позволяет всесторонне оценить их эффективность и обосновать выбор метода в зависимости от специфики производственной среды.

 

Анализ методов планирования производственных мощностей

Рассмотрим задачу оптимизации загрузки производственных мощностей, которая формулируется следующим образом. Имеется n работ, которые должны быть выполнены на двух станках M1 и M2. Каждая работа i характеризуется временем ее выполнения на первом станке ai и временем выполнения на втором станке bi, где i = 1, 2, …, n. Каждая работа должна сначала выполниться на станке M1, а затем на станке M2. Станки могут работать параллельно, но одна работа не может начинаться на втором станке до тех пор, пока она полностью не завершена на первом. Порядок выполнения работ: P = (p1, p2, …, pn). Для решения поставленной задачи оптимизации загрузки производственных мощностей на двух станках воспользуемся алгоритмом Джонсона. Этот алгоритм позволяет эффективно находить оптимальную последовательность выполнения работ, минимизируя общее время завершения всех работ [4, 5].

Рассмотрим пример с 4 работами из табл. 1.

 

Таблица 1

Table 1

Исходные данные для четырех работ на двух станках

Source data for four jobs on two machines

Номер работы i

Станок ai, с

Станок bi, с

1

3

6

2

5

2

3

1

4

4

6

8

 

 

Шаг 1. Разделение работ Jn на множества Sn:

S1 = {J1, J3} (т. к. a1 b1 и a3 b3);

S2 = {J2, J4} (т. к. a2 > b2 и a4 > b4).

Шаг 2. Упорядочивание множеств:

S1 упорядочивается по возрастанию ai: J3, J1;

S2 упорядочивается по убыванию bi: J4, J2.

Шаг 3. Формирование последовательности: итоговая последовательность: p = (J3, J1, J4, J2).

Шаг 4. Вычисление общего времени выполнения всех работ Cmax: построим график последовательности выполнения работ на станках M1 и M2 (табл. 2).

 

Таблица 2

Table 2

Последовательность выполнения работ на двух станках

The sequence of work performed on two machines

Время завершения работ, с

Станок M1

Станок M2

01

J3

14

J1

J3

410

J4

J1

1012

J2

J4

1214

J2

 

 

Общее время завершения всех работ Cmax = 14 с.

Алгоритм Джонсона минимизирует простои на станке M2, что приводит к минимальному общему времени завершения. Он гарантирует оптимальное решение для двух станков, но не применим для большего числа станков. Далее попробуем решить сформулированную ранее задачу о 2-х станках и 4-х работах методом ветвей и границ. Он используется для нахождения оптимального решения путем систематического перебора всех возможных вариантов, но с отсечением заведомо неперспективных ветвей (подмножеств решений), что позволяет сократить объем вычислений [6, 7].

Математическая формулировка метода ветвей и границ: пусть:

X – множество всех допустимых решений;

f(x) – целевая функция, которую нужно минимизировать;

x* – оптимальное решение, такое что f(x*) = min f(x).

Шаги алгоритма:

1. Инициализация:

– создать очередь подмножеств Q, начав с полного множества X;

– установить текущее лучшее решение x* = ∅ и f(x*) = + ∞.

2. Ветвление:

– извлечь подмножество Xi из очереди Q;

– разбить Xi на более мелкие подмножества Xi1, Xi2, …, Xik.

3. Оценка границ:

– для каждого подмножества Xij вычислить нижнюю и верхнюю границу;

– если нижняя граница Xij f(x*), отбросить Xij, иначе добавить Xij в очередь.

4. Завершение:

– повторять шаги 2–4, пока очередь Q не станет пустой;

– вернуть x* как оптимальное решение.

Рассмотрим данный пример с 4 работами из табл. 1.

Шаг 1. Инициализация:

множество всех возможных последовательностей: X – все перестановки из 4-х работ (24 варианта);

– текущее лучшее решение x* = Ø и f(x*) = + ∞.

Шаг 2. Ветвление. Разбиваем X на подмножества по первой работе:

X1: последовательности, начинающиеся с J1;

X2: последовательности, начинающиеся с J2;

X3: последовательности, начинающиеся с J3;

X4: последовательности, начинающиеся с J4.

Шаг 3. Оценка границ. Для каждого подмножества вычисляем нижнюю границу LB (Xn):

для X1: LB (X1) = a1 + min (b1, a2 + a3 + a4) = 3 + + min (6, 12) = 9;

для X2: LB (X2) = a2 + min (b2, a1 + a3 + a4) = 5 + + min (2, 10) = 7;

для X3: LB (X3) = a3 + min (b3, a1 + a2 + a4) = 1 + + min (4, 14) = 5;

для X4: LB (X4) = a4 + min (b4, a1 + a2 + a3) = 6 + + min (8, 9) = 14.

Шаг 4. Отсечение. Для каждого подмножества повторяем шаги 2, 3.

Шаг 5. Нахождение оптимального решения.

После полного перебора и отсечения неперспективных ветвей находим оптимальную последовательность. В данном примере это P = (J3, J1, J4, J2c Cmax = 14.

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

Теперь перейдем к решению той же задачи с использованием генетического алгоритма. Генетический алгоритм воспроизводит принципы естественного отбора и эволюции, чтобы находить оптимальные решения. Суть метода состоит в формировании популяции возможных решений, их отборе, скрещивании и мутации, что позволяет улучшать качество последующих поколений [8–10].

В данном случае хромосома представляет собой последовательность выполнения работ. Например, для 4-х работ хромосома может выглядеть так (3, 1, 4, 2), что означает порядок выполнения: J3, J1, J4, J2.

Фенотип – это общее время завершения всех работ (Cmax) для данной последовательности. Вычисляется путем моделирования выполнения работ на станках M1 и M2.

Операторы генетического алгоритма:

селекция – выбор родительских хромосом с вероятностью, обратно пропорциональной их Cmax;

– скрещивание – создание потомков из двух родительских хромосом;

– мутация – случайное изменение порядка работ в хромосоме.

Критерии остановки:

– достижение максимального числа поколений;

– нахождение решения с Cmax, не превышающим заданное значение.

Пошаговое решение:

Шаг 1. Инициализация. Создаем начальную популяцию из 4-х хромосом:

C1 = [1, 2, 3, 4], Cmax = 20;

C2 = [1, 2, 3, 4], Cmax = 14;

C3 = [1, 2, 3, 4], Cmax = 22;

C4 = [1, 2, 3, 4], Cmax = 23.

Шаг 2. Селекция. Вычисляем вероятности выбора хромосом:

Выбираем две хромосомы для скрещивания C2 и C1.

Шаг 3. Скрещивание. Применяем частично отображаемое скрещивание:

C1 = [1, 2, 3, 4], Cmax = 20;

C2 = [3, 1, 4, 2], Cmax = 14;

C3 = [3, 4, 1, 2], Cmax = 16;

C4 = [1, 2, 3, 4], Cmax = 20.

Шаг 4. Проверка критериев остановки. Если достигнуто максимальное число поколений, завершаем алгоритм. Лучшее решение: (3, 1, 4, 2) с Cmax = 14.

Генетический алгоритм нашел оптимальную последовательность (3, 1, 4, 2) с общим временем завершения Cmax = 14. Это совпадает с решением, полученным алгоритмом Джонсона и методом ветвей и границ.

 

Результаты эксперимента

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

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

 

Таблица 3

Table 3

Сравнение алгоритмов

Comparison of algorithms

Количество работ

Время обработки, c

Вероятность ошибки, %

Тип алгоритма

Алгоритм Джонсона

10

0,0001

0

Точный

32

0,0002

100

0,0013

Метод ветвей и границ

10

15

0

Точный

32

900

100

более 900

Генетический алгоритм

10

0,17

1

Приближенный

32

0,39

3

100

1,2

5

 

 

Алгоритм Джонсона применим лишь для специфических случаев с двумя станками и ограниченным числом заданий, поэтому его использование ограничено. Для задач с небольшим числом работ, где n < 10, оптимальным выбором может стать метод ветвей и границ, который гарантирует нахождение точного решения. Для задач с большим числом работ, где n > 10, предпочтительнее использовать генетический алгоритм, поскольку он обеспечивает приемлемую точность при значительно меньших затратах времени по сравнению с методом ветвей и границ.

 

Заключение

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

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

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

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

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

1. Алексеев О. Г. Основы комбинаторики: учеб. М.: Наука, 1995. 456 с.

2. Аллаберенов С. А. Комбинаторика и ее роль в дискретной математике // Вестн. науки. 2024. Т. 5. № 9 (78). С. 419–423.

3. Гэри М. Р., Джонсон Д. С. Компьютеры и трудно-решаемость: руководство по теории NP-полноты. М.: Мир, 1982. 416 с.

4. Джавадов А. А. Теория расписаний и алгоритм Джонсона // Журн. математ. кибернетики. Ташкент: Мир математики, 1966. № 2. С. 25–32.

5. Андреева И. А. Обзор эвристических алгоритмов для решения задачи Джонсона // Программно-техническое обеспечение автоматизированных систем: материалы Всерос. молодеж. науч.-практ. конф. (Барнаул, 23 ноября 2023 г.). Барнаул: Изд-во Алтайс. гос. техн. ун-та им. И. И. Ползунова, 2023. С. 8–12.

6. Шемчук Г. Д. Эвристические алгоритмы в программировании: метод ближайшего соседа и метод ветвей и границ // Научному прогрессу – творчество молодых. 2024. № 1. С. 796–798.

7. Клоков С. А. Метод ветвей и границ для решения задачи о коммивояжёре // Молодой ученый. 2021. № 2 (344). С. 21–23.

8. Мельников Б. Ф. Генетические алгоритмы: основы и приложения. М.: Физматлит, 2008. 320 с.

9. Загинайло М. В. Генетический алгоритм как эффективный инструмент эволюционных алгоритмов // Инновации. Наука. Образование. 2020. № 22. С. 513–518.

10. Сохраби М. Алгоритм генетической инженерии (GEA): эффективный метаэвристический алгоритм для решения задач комбинаторной оптимизации // Автома-тика и телемеханика. 2024. № 3. С. 23–37.


Войти или Создать
* Забыли пароль?