Есть предприятие, на котором производится продукция различного ассортимента. На производство поступают заказы от клиентов на изготовление определенного типа и объема продукции. Предполагается, что портфель заказов и их стоимость известны перед началом планирования. Каждый заказ имеет свою технологическую карту производства, т.е. последовательность операций от сырья до получения готовой продукции. Операции по обработке материала выполняются на оборудовании, которое предназначено для выполнения определенного типа операций (может быть указано несколько типов операций для одного оборудования). Промежуточный продукт производственной цепи называется полуфабрикатом. Прежде чем приступить к следующей операции на оборудовании необходимо произвести операцию переналадки оборудования (переключения оборудования на другую операцию, подготовка к обработке нового полуфабриката, очистка оборудования и т.д.). Кроме того, необходимо учитывать время перемещения полуфабрикатов продукции между цехами.
Построить расписание производства заказов таким образом, чтобы максимизировать выручку производства на фиксированном промежутке времени (30 дней).
- Если режим работы оборудования соответствует mode_0, то одновременно на этом оборудовании может выполнятся только одна операция;
- Перед каждой операцией по обработке полуфабрикатов необходимо произвести переналадку;
- Операции переналадки и обработки полуфабриката не могут происходить одновременно;
- Заказ может состоять из нескольких конечных продуктов. Частичное выполнение заказа к отчетной дате добавляет 0 ед. к выручке;
- Каждый конечный продукт в заказе имеет последовательность технологических операций, которую нельзя нарушать;
- Перемещение, переналадка и обработка полуфабриката не могут выполняться одновременно для одного полуфабриката.
- При планировании не учитываются потери сырья в процессе производства. Таким образом, масса готовой продукции равна массе исходного сырья.
- Оборудование работает без перерывов. Таким образом, технологические перерывы и регламентные процедуры не учитываются при планировании.
- Не все заказы должны быть запланированы.
- Скачать файлы из репозитория
- Установить следующие пакеты: pandas 1.3.4, ortools 9.1.9490
- Запустить расчет из командной строки: python FLOW.py