Алгоритм определения даты завершения заказа

PG81
Дата: 21.05.2020 21:50:07
Исходные данные
Есть 4 этапа производства каждого товара, которые выполняются последовательно
-Фрезеровка, шлифовка, покраска, упаковка
У каждого товара есть определенное время выполнения для каждого этапа
На каждом этапе может быть несколько потоков
получается товары поступают на производство и нужно понять когда будет изготовлен товар или группа товаров
Как вот это в ручную должно работать представление есть, а в алгоритм как-то не складывается это все.
Наверняка это не новая задача, и возможно обсуждалась.
Или подскажите как найти похожую тему или коротко опишите алгоритм.
В приложенной картинке для примера, как я вижу в итоге должна строится диаграмма ганта
mad_nazgul
Дата: 22.05.2020 05:30:59
PG81,

Не истины ради, а флейма для.

Посмотрите [url=&list=PLm6zCN_KJCrXXiDWoIczR7B9n73wPX2wn]Максима Дорофеева[/url]
МодальноеОкно
Дата: 22.05.2020 10:48:57
PG81
Или подскажите как найти похожую тему или коротко опишите алгоритм.


алгоритмы календарного планирования производства
PG81
Дата: 22.05.2020 12:23:32
МодальноеОкно,

пасеба
PG81
Дата: 22.05.2020 12:23:50
mad_nazgul,

пасеба
ViPRos
Дата: 22.05.2020 23:17:15
не могу мимо :)
Garya
Дата: 23.05.2020 16:45:21
PG81,

Основа - в теории расписаний и в теории массового обслуживания, то есть, в математическом аппарате. Проблема в том, что при реализации концепций теории расписаний "в лоб" алгоритм получается высокой вычислительной сложности. Поэтому многие, кто решают подобные задачи (в отдельных ERP или в MES-системах), как правило, используют специфические алгоритмы, выдающие решение, с высокой вероятностью близкое к оптимальному (не гарантируется, что оптимальное), но имеющее более низкую вычислительную сложность.
Вычислительная сложность может повышаться в силу наличия дополнительных параметров, которые вы не озвучили, но которые, возможно, все-таки следует учитывать. В частности, на операции "покраска", если эту операцию выполняет автомат, можно производить покраску одновременно нескольких деталей. Они могут быть разной формы, но по объему они должны помещаться в красильную камеру и окрашываться в один цвет.
Если покраска в красильной камере производится разных партий, то перед покраской в другой цвет может потребоваться дополнительная процедура очистки красильной камеры. Поэтому детали, окрашиваемые в один цвет, желательно сгруппировать таким образом, чтобы дополнительную операцию очистки камеры требовалось проводить как можно режже.
Помимо последовательности операций как таковой могут иметь значение приоритеты (какие заказы должны продвигаться быстрее, а какие медленнее), степень загрузки оборудования ресурсов. В частности, график рабочего времени оборудования и/или персонала с учетом плана ТОиР, графика рабочего времени персонала и т.п.

Относительно простые и одновременно эффективные алгоритмы реализуются в концепции канбан. Хотя эта концепция не всегда позволяет учесть дополнительные параметры. Курите расчеты по размеру канбан-партий и канбан-контейнеров. Основа - вытягивание.

Если нужно учесть две категории приоритетов, определяемые по "бутылочному горлышку" (узкому месту, которые хорошо выявляется), к канбан можно добавить элементы "барабан-веревка-буфер" из "Теории Ограничений" (TOC Э.Голдратта). Если больше двух, то этот вариант уже без существенной модификации не прокатит.

В ERP-системе SyteLine можно было задействовать алгоритм APS (Advanced Planning System), которая реализовывала составление расписаний с некоторыми дополнительными ограничениями и параметрами. Но этот алгоритм был запатентован и детали его тщательно скрывались. Как и в некоторых MES-системах, в которых имеется возможность задать большую кучу ограничений, дополнительных условий и приоритетов.

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