и
выбор средств технологического оснащения
[1.1
– 1.13, 1.14, 1.24, 1.25, 1.43, 1.46 – 1.48]
Выбор обработки
отдельных поверхностей детали и
последовательность выполнения операций
выбирают исходя из требований рабочего
чертежа и с учётом размеров, массы
изделия, вида и способа получения
исходной заготовки.
Вначале по заданным
рабочим чертежом точности и шероховатости
обрабатываемой поверхности намечают
способ её окончательной обработки. При
этом следует руководствоваться
справочными таблицами экономической
точности и шероховатости обработки.
Затем по известным свойствам исходной
заготовки выбирают способ первичной
(черновой) обработки поверхности. Зная
способы окончательной и первичной
обработки, намечают промежуточные
способы обработки, при этом каждый
последующий способ должен быть точнее
предыдущего.
После того, как
намечена последовательность обработки
отдельных поверхностей, составляют
маршрут обработки заготовки, выбирая
из большого числа возможных вариантов
решения оптимальный.
Цель
технологического маршрута – дать общий
план обработки заготовки при изготовлении
детали, наметить содержание и
последовательность ТП.
При установлении
общей последовательности обработки
рекомендуется учитывать следующие
положения:
-каждая последующая
операция должна уменьшать погрешности
и улучшать качество поверхности;
-в первую очередь
следует обрабатывать поверхности,
которые будут служить чистовой
технологической базой для последующих
операций, а затем следует обрабатывать
поверхности, с которых снимается
наибольший слой материала;
-вначале следует
производить операции, при которых
возможно появление брака из-за внутренних
дефектов заготовки;
Обработка остальных
поверхностей ведётся в последовательности,
обратной их точности: чем точнее должна
быть поверхность, тем позже она
обрабатывается;
-ТП
изготовления детали завершается
обработкой той поверхности, которая
является наиболее точной и имеет
наибольшее значение для эксплуатации
изделия;
-технический
контроль назначают после тех стадий
обработки, где наиболее вероятно
появление брака, перед сложными и
дорогостоящими операциями и после
окончания изготовления детали.
Операции
ТП изготовления детали целесообразно
располагать в следующей последовательности:
-обработка базовых
поверхностей;
-черновая обработка;
-получистовая
обработка;
-чистовая обработка;
-термическая
(химико-термическая) обработка;
-отделочная
обработка.
Конкретный
единичный ТП изготовления детали может
не содержать некоторых из перечисленных
выше групп операций. Однако общая
последовательность обработки в целом
должна сохраняться.
При
составлении конкретного технологического
маршрута изготовления детали необходимо
руководствоваться типовыми ТП изготовления
деталей данного типа. Типовые ТП являются
информационной основой для разработки
единичных ТП, поэтому необходимо изучать
их построения, приводимые в технической
литературе.
В
некоторых случаях, прежде чем принять
решение о методах и последовательности
обработки, необходимо произвести расчёты
экономической эффективности отдельных
вариантов и выбрать наиболее рациональные
из них для данных условий производства.
Методика расчётов приводится в работах
[1.46, 1.47, 1.48].
После составления
технологического маршрута обработки
выбирают структуру операций, уточняют
способы установки и закрепления
заготовки, содержание и последовательность
выполняемых переходов.
При
разработке единичного ТП и структуры
операций необходимо стремиться к
концентрации обработки, то есть
объединению в одной операции максимального
(целесообразного в данных условиях)
числа переходов, выполняемых одновременно
на одном рабочем месте. Применение ТП
с концентрацией обработки приводит к
сокращению числа рабочих мест. Более
высокая стоимость оборудования
используемого в ТП, разработанном на
принципе концентрации операций
(многоинструментальные, многопозиционные
полуавтоматы и автоматы, многооперационные
станки с ЧПУ и т.п.), как правило, окупается
за счёт повышения производительности
труда.
После определения
последовательности и содержания
технологических операций выбирают
средства технологического оснащения:
технологическое оборудование, в том
числе контрольное и испытательное;
технологическую оснастку, в том числе
инструменты и средства контроля; средства
механизации и автоматизации производственных
процессов.
Выбор
модели станка определяется, прежде
всего, его возможностью обеспечить
точность и качество обработки. Если эти
требования можно обеспечить обработкой
на различных станках, модель станка
выбирают с учётом рекомендаций работ
[1.25]:
-соответствие
размеров станка габаритам изготавливаемых
деталей;
-соответствующей
мощности станка;
-возможности
механизации и автоматизации процесса
изготовления
детали;
-наименьшей
себестоимости изготовления детали;
-реальной возможности
приобретения станка;
-необходимости
использования имеющегося оборудования.
Выбор технологического
оборудования должен быть обоснован
экономическими расчётами.
Затем для каждой
операции с учётом конкретной модели
станка и способа установки и закрепления
заготовки выбирают необходимые станочные
приспособления, режущий, измерительный
и вспомогательный инструмент и
обосновывают его применение, определяют
средства механизации и автоматизации.
Последовательность
и содержание операций технологического
процесса сборки изделия и рекомендации
по выбору средств технологического
оснащения приведены в работе [1.13].
В этом разделе
пояснительной записки приводятся
результаты работы по проектированию
технологии обработки: обосновывается
разработанный технологический процесс
и изменение, внесённые в него по сравнению
с базовым вариантом; выбор оборудования,
оснастки; приводятся расчёты по
обоснованию выбора вариантов и т.д.
Недопустимо
давать просто описание ТП (перечень
операций и оборудования) без соответствующих
пояснений и обоснований.
Конкретные сведения
о ТП, приведённыё в приложении 3, должны
быть внесены в:
–
маршрутное описание ТП изготовления
детали или сборки изделия, оформленное
в виде маршрутных карт согласно ГОСТ
3.1118-82;
– операционное
описание ТП изготовления детали или
сборки изделия, содержащее:
– операционные
карты, по ГОСТ 3.1404-86;
– карты эскизов,
по ГОСТ 3.1105-84;
– операционные
карты технического контроля, по ГОСТ
3.1502-82;
-ведомость
технологического оснащения, по ГОСТ
3.1122-84.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Первые достоверно известные технологические процессы были разработаны в древнем Шумере – на глиняной табличке клинописью был описан по операциям порядок приготовления пива.
С тех пор способы описания технологий производства продуктов питания, инструментов, домашней утвари, оружия и украшений – всего, что изготавливало человечество, многократно усложнились и усовершенствовались. Современный технологический процесс может состоять из десятков, сотен и даже тысяч отдельных операций, он может быть многовариантным и ветвиться в зависимости от различных условий. Выбор той или иной технологии- это непросто выбор тех или иных станков, инструмента и оснастки. Нужно также обеспечить соответствие требованиям технических условий, плановых и финансовых показателей.
Определение и характеристика
ГОСТ дает научно строгое, но сформулированное слишком сухим и наукообразным языком определение технологического процесса. Если же говорить о понятии технологического процесса более понятным языком, то технологический процесс – это совокупность выстроенных в определенном порядке операций. Он направлен на превращение сырья и заготовок в конечные изделия. Для этого с ними совершают определенные действия, обычно выполняемые механизмами. Технологический процесс не существует сам по себе, а является важнейшей частью более общего производственного процесса, включающего в себя в общем случае также процессы контрактации, закупки и логистики, продажи, управления финансами, административного управления и контроля качества. Технологи на предприятии занимают весьма важное положение. Они являются своего рода посредниками между конструкторами, создающими идею изделия и выпускающими его чертежи, и производством, которому предстоит воплощать эти идеи и чертежи в металл, дерево, пластмассу и другие материалы. При разработке техпроцесса технологи работают в тесном контакте не только с конструкторами и производством, но и с логистикой, закупками, финансами и службой контроля качества. Именно техпроцесс и является той точкой, в которой сходятся требования всех этих подразделений и находится баланс между ними. Описание технологического процесса должно содержаться в таких документах, как:
- Маршрутная карта — описание высокого уровня, в нем перечислены маршруты перемещения детали или заготовки от одного рабочего места к другому или между цехами.
- Операционная карта – описание среднего уровня, более подробное, в нем перечислены все операционные переходы, операции установки-съемки, используемые инструменты.
- Технологическая карта – документ самого низкого уровня, содержит самое подробное описание процессов обработки материалов, заготовок, узлов и сборок, параметры этих процессов, рабочие чертежи и используемая оснастка .
Технологическая карта даже для простого на первый взгляд изделия может представлять собой довольно толстый том. Для сравнения и измерения технологических процессов серийного производства применяются следующие характеристики:
- Цикл технологической операции – длительность (измеряется в секундах, часах, днях, месяцах) операции, повторяющейся с определенной периодичностью. Отсчитывается от момента начала операции до момента ее окончания. Длительность цикла не зависит от числа заготовок или деталей, обрабатываемых одномоментно.
- Такт выпуска изделия – промежуток времени, через который выпускается это изделие. Рассчитывается как отношение времени, за которое выпускается определенное количество изделий, к этому количеству. Так, если за 20 минут было выпущено 4 изделия, то такт выпуска будет равен 20/4=5 минут/штуку .
- Ритм выпуска – величина, обратная такту, определяется как число изделий, выпускаемых в единицу времени (секунду, час, месяц и т.п.).
В дискретном производстве такие характеристики технологических процессов не находят применения ввиду малой повторяемости изделий и больших сроков их выпуска. Производственная программа – представляет собой список названий и учетных номеров выпускаемых изделий, причем для каждой позиции приводится объемы и сроки выпуска. Производственная программа предприятия складывается из производственных программ его цехов и участков. Она содержит:
- Перечень выпускаемых изделий с детализацией типов, размеров, количества.
- Календарные планы выпуска с привязкой к каждой контрольной дате определенного объема выпускаемых изделий.
- Количество запасных частей к каждой позиции в рамках процесса поддержки жизненного цикла изделий.
- Подробную конструкторско-технологическую документацию, трехмерные модели, чертежи, деталировки и спецификации.
- Техусловия на производство и методики управления качеством, включая программы и методики испытаний и измерений.
Производственная программа является разделом общего бизнес-плана предприятия на каждый период планирования.
Виды техпроцессов
Классификация техпроцессов проводится по нескольким параметрам. По критерию частоты повторения при производстве изделий технологические процессы подразделяют на:
- единичный технологический процесс, создается для производства уникальной по конструктивным и технологическим параметрам детали или изделия;
- типовой техпроцесс, создается для некоторого количества однотипных изделий, схожих по своим конструктивным и технологическим характеристикам. Единичный техпроцесс, в свою очередь, может состоять из набора типовых техпроцессов. Чем больше типовых техпроцессов применяется на предприятии, тем меньше затраты на подготовку производства и тем выше экономическая эффективность предприятия;
- групповой техпроцесс подготавливается для деталей, различных конструктивно, но сходных технологически.
По критерию новизны и инновационности различают такие виды технологических процессов, как:
- Типичные. Основные технологические процессы используют традиционные, проверенные конструкции, технологии и операции обработки материалов, инструмента и оснастки.
- Перспективные. Такие процессы используют самые передовые технологии, материалы, инструменты, характерные для предприятий – лидеров отрасли.
По критерию степени детализации различают следующие виды технологических процессов:
- Маршрутный техпроцесс исполняется в виде маршрутной карты, содержащей информацию верхнего уровня: перечень операций, их последовательность, класс или группа используемого оборудования, технологическая оснастка и общая норма времени.
- Пооперационный техпроцесс содержит детализированную последовательность обработки вплоть до уровня переходов, режимов и их параметров. Исполняется в виде операционной карты.
Пооперационный техпроцесс был разработан во время Второй Мировой войны в США в условиях нехватки квалифицированной рабочей силы. Детальные и подробные описания каждой стадии технологического процесса позволили привлечь к работе людей, не имевших производственного опыта и в срок выполнить большие военные заказы. В условиях мирного времени и наличия, хорошо обученного и достаточно опытного производственного персонала использование такого вида технологического процесса ведет к непроизводительным расходам. Иногда возникает ситуация, в которой технологи старательно издают толстые тома операционных карт, служба технической документации тиражирует их в положенном числе экземпляров, а производство не открывает эти талмуды. В цеху рабочие и мастера за многие годы работы накопили достаточный опыт и приобрели достаточно высокую квалификацию для того, чтобы самостоятельно выполнить последовательность операций и выбрать режимы работы оборудования. Таким предприятиям имеет смысл подумать об отказе от операционных карт и замене их маршрутными. Существуют и другие классификации видов технологических процессов.
Этапы ТП
В ходе конструкторско-технологической подготовки производства различают такие этапы написания технологического процесса, как:
- Сбор, обработка и изучение исходных данных.
- Определение основных технологических решений.
- Подготовка технико-экономического обоснования (или обоснования целесообразности).
- Документирование техпроцесса.
Трудно с первого раза найти технологические решения, обеспечивающие и плановые сроки, и необходимое качество, и плановую себестоимость изделия. Поэтому процесс разработки технологии – это процесс многовариантный и итеративный. Если результаты экономических расчетов неудовлетворительны, то технологи повторяют основные этапы разработки технологического процесса до тех пор, пока не достигнут требуемых планом параметров.
Сущность технологического процесса
Процессом называют изменение состояния объекта под воздействием внутренних или внешних по отношению к объекту условий. Внешними факторами будут механические, химические, температурные, радиационные воздействия, внутренними – способность материала, детали, изделия сопротивляться эти воздействиям и сохранять свою исходную форму и фазовое состояние. В ходе разработки техпроцесса технолог подбирает те внешние факторы, под воздействием которых материал заготовки или сырья изменит свою форму, размеры или свойства таким образом, чтобы удовлетворять :
- техническим спецификациям на конечное изделие;
- плановым показателям по срокам и объемам выпуска изделий;
- финансово-экономическим показателям, заложенным в бизнес-план предприятия.
За долгое время были выработаны основные принципы построения технологических процессов.
Принцип укрупнения операций
В этом случае в рамках одной операции собирается большее число переходов. С практической точки зрения такой поход позволяет улучшить точность взаимного расположения осей и обрабатываемых поверхностей. Такой эффект достигается за счет выполнения всех объединяемых в операцию переходов за одну остановку на станок или многокоординатный обрабатывающий центр. Подход также упрощает внутреннюю логистику и снижает внутрицеховые расходы за счет снижения числа установок и наладок режимов работы оборудования.
Особенно важно это для крупногабаритных и сложных деталей, установка которых отнимает много времени.
Принцип применяется при работе на револьверных и многорезцовых токарных станках, многокоординатных обрабатывающих центрах.
Принцип расчленения операций
Операция разбивается на ряд простейших переходов, наладка режимов работы обрабатывающего оборудования выполняется единожды, для первой детали серии, далее оставшиеся детали проходят обработку на тех же режимах. Такой подход эффективен при больших размерах серий и относительно несложной пространственной конфигурации изделий. Принцип дает существенный эффект снижения относительной трудоемкости за счет улучшенной организации рабочих мест, совершенствования у рабочих навыка однообразных движений по постановке-снятию заготовок, манипуляций с инструментом и оборудованием. Абсолютное число установок при этом растет, но сокращается время на настройку режимов оборудования, за счет чего и достигается положительный результат.
Чтобы получить этот положительный эффект, технологу придется позаботиться о применении специализированной оснастки и приспособлений, позволяющих быстро и, главное, точно устанавливать и снимать заготовку. Размер серии также должен быть значительным.
Обработка дерева и металла
На практике одну и ту же деталь, одного и того же размера и веса, из одного и того же материала можно изготовить разными, иногда сильно отличающимися друг от друга методами. На этапе конструкторско-технологической подготовки производства конструкторы и технологи совместно прорабатывают несколько вариантов описания технологического процесса, изготовления и последовательности обработки изделия. Эти варианты сравниваются по ключевым показателям, насколько полно они удовлетворяют:
- техническим условиям на конечный продукт ;
- требованиям производственного плана, срокам и объемам отгрузки;
- финансово-экономическим показателям, заложенным в бизнес-план предприятия.
На следующем этапе проводится сравнение этих вариантов, из них выбирается оптимальный. Большое влияние на выбор варианта оказывает тип производства.
В случае единичного, или дискретного производства вероятность повторения выпуска одной и той же детали невелика. В этом случае выбирается вариант с минимальными издержками на разработку и создание специальной оснастки, инструмента и приспособлений, с максимальным задействованием универсальных станков и настраиваемой оснастки. Однако исключительные требования к точности соблюдения размеров или к условиям эксплуатации, таким, как радиация ил высоко агрессивные среды, могут вынудить применять и специально изготовленную оснастку, и уникальные инструменты. При серийном же выпуске процесс производства разбивается на выпуск повторяющихся партий изделий. Технологический процесс оптимизируют с учетом существующего на предприятии оборудования, станком и обрабатывающих центров. Оборудование при этом снабжают специально разработанной оснасткой и приспособлениями, позволяющими сократить непроизводительные потери времени хотя бы на несколько секунд.
В масштабе всей партии эти секунды сложатся вместе и дадут достаточный экономический эффект. Станки и обрабатывающие центры подвергают специализации, за станком закрепляют определенные группы операций. При массовом производстве размеры серий весьма высоки, а выпускаемые детали достаточно долгий срок не подвергаются конструктивным изменениям. Специализация оборудования заходит еще дальше. В этом случае технологически и экономически оправдано закрепление за каждым станком одной и той же операции на все время выпуска серии, а также изготовление спецоснастки и применение отдельного режущего инструмента и средств измерений и контроля.
Оборудование в этом случае физически перемещают в цеху, располагая его в порядке следования операций в технологическом процессе
Средства выполнения технологических процессов
Технологический процесс существует сначала в головах технологов, далее он фиксируется на бумаге, а на современных предприятиях – в базе данных программ, обеспечивающих процесс управления жизненным циклом изделия (PLM). Переход на автоматизированные средства хранения, написания, тиражирования и проверки актуальности технологических процессов- это не вопрос времени, в вопрос выживания предприятия в конкурентной борьбе. При этом предприятиям приходится преодолевать сильное сопротивление высококвалифицированных технологов строй школы, привыкших за долгие годы писать техпроцессы от руки, а потом отдавать их на перепечатку. Современные программные средства позволяют автоматически проверять упомянутые в техпроцессе инструмент, материалы и оснастку на применимость и актуальность, повторно использовать ранее написанные техпроцессы целиком или частично. Они повышают производительность труда технолога и существенно снижают риск человеческой ошибки при написании техпроцесса.
Для того чтобы из идей и расчетов технологический процесс превратился в реальность, необходимы физические средства его выполнения.
Технологическое оборудование предназначено для установки, закрепления, ориентации в пространстве и подачи в зону обработки сырья, заготовок, деталей, узлов и сборок. В зависимости от отрасли производства сюда входят станки, обрабатывающие центры, реакторы, плавильные печи, кузнечные прессы, установки и целые комплексы. Оборудование обладает длительным сроком использования и может изменять свои функции в зависимости от использования той или иной технологической оснастки. Технологическая оснастка включает в себя инструмент, литейные формы, штампы, приспособления для установки и снятия детали, для облегчения доступа рабочих к зоне выполнения операций.
Оснастка дополняет основное оборудование, расширяя его функциональность. Она имеет более короткий срок использования и иногда специально изготавливается для конкретной партии изделий или даже для одного уникального изделия. При разработке технологии следует шире применять универсальную оснастку, применимую для нескольких типоразмеров изделия. Особенно это важно на дискретных производствах, где стоимость оснастки не распределяется на всю серию, а целиком ложится на себестоимость одного изделия. Инструмент предназначен для оказания непосредственного физического воздействия на материал заготовки с целью доведения ее формы размеров, физических, химических и других параметров до заданных в технических условиях.
Технолог при выборе инструмента должен принимать во внимание не только цену его покупки, но и ресурс и универсальность. Часто бывает, что более дорогой инструмент позволяет без его замены выпустить в несколько раз больше продукции, чем дешевый аналог. Кроме того, современный универсальный и высокоскоростной инструмент позволит также сократить время машинной обработки, что также прямо ведет к снижению себестоимости. С каждым годом технологи приобретают все больше экономических знаний и навыков, и написание техпроцесса из дела чисто технологического превращается в серьезный инструмент повышения конкурентоспособности предприятия.
Последовательность – выполнение – технологическая операция
Cтраница 1
Последовательность выполнения технологических операций непроизвольна, поскольку из-за технологических ограничений одни технологические операции необходимо выполнять до начала других. Вместе с тем этот порядок не обязательно строго задается, так как технология допускает большое число вариантов последовательности выполнения операции, а следовательно, и различные варианты ее закрепления за рабочими.
[1]
Последовательность выполнения технологических операций при покрытии пористым хромом поршневых колец разного диаметра несколько различна.
[3]
Монтаж элементов здания ( последовательность выполнения технологических операций от начала стадии подъема грузов до их окончательной установки в проектное положение и закрепления) должен выполняться в соответствии с разработанной для данного здания технологией.
[4]
В технологических картах определяются последовательность выполнения технологических операций для определенного вида работ, количество потребных ресурсов, составы бригад, их оснащение и производительность, размещение и переходы исполнителей, технико-экономические показатели работы бригад и звеньев.
[5]
В зависимости от числа и последовательности выполнения технологических операций или переходов различают штампы простого, совмещенного и последовательного действия.
[6]
В данной главе приводится краткое содержание последовательности выполнения технологических операций на специализированных поточных линиях ремонта блоков цилиндров двигателей и при поточно-постовой организации ремонта шатунов, балок передних мостов, кожухов задних мостов, при разборке автомобилей и их основных агрегатов и узлов, а также при сборке основных агрегатов.
[8]
В автоматических линиях с жестким единичным циклом последовательность выполнения технологических операций жестко задана конструкцией и обрабатываемые детали транспортируются прерывисто с постоянной скоростью и постоянным ритмом.
[9]
На основе анализа чертежей и технических условий намечается последовательность выполнения технологических операций, которая может быть различной. При этом максимально сокращают число установов заготовки, количество переходов и операций применением передовых методов обработки, стремятся всемерно облегчить труд человека созданием наиболее удобных и безопасных условий работы, внедрением механизации и автоматизации производственных процессов.
[10]
При разборке и сборке агрегатов особое внимание необходимо уделить последовательности выполнения технологических операций, что в дальнейшем обеспечит высокое качество разборочно-сборочных работ.
[11]
При разборке и сборке агрегатов особое внимание необходимо уделить последовательности выполнения технологических операций, что в дальнейшем обеспечит высокое качество разборочно-сборочпых работ.
[12]
При разборке и сборке агрегатов особое внимание необходимо уделить последовательности выполнения технологических операций, что в дальнейшем обеспечит высокое качество разборочно-сборочных работ.
[13]
Технологический маршрут типового технологического процесса является общим и предусматривает последовательность выполнения технологических операций устранения всех дефектов, содержащихся на условной обобщенной детали.
[14]
Технологическая модель предприятия определяет: методы изготовления продукции; порядок и последовательность выполнения технологических операций; комплекс режимов их выполнения; комплекс материальных ресурсов; затраты времени на изготовление продукции на всех стадиях технологического процесса по принятой номенклатуре и готовой программе производства.
[15]
Страницы:
1
2
3
4
Планирование производственных операций
Время на прочтение
14 мин
Количество просмотров 5.8K
Недавно столкнулся с интересной задачей в интернете. Компания BIA Technologies организовала конкурс для математиков, в рамках которого предлагалось решить реальную прикладную задачу, а именно — построить оптимальное расписание производственных заданий для предприятия на горизонт планирования в 30 дней. Я решил поучаствовать в конкурсе, так как данный вызов показался мне интересным, плюс у меня уже был за плечами опыт реализации подобных задач на практике. В этой статье я хотел поделиться с вами результатами и продемонстрировать лучшие, на мой взгляд, подходы к решению таких задач.
Одной из первых публикаций по тематике оптимального распределения ресурсов и планирования производственных операций с использованием математических методов является работа Л.В. Канторовича – «Математические методы организации и планирования производства». Работа вышла в издательстве Ленинградского Государственного Университета в 1939 г. тиражом 1000 экземпляров и представляет расширенную стенограмму доклада, сделанного Л. В. Канторовичем в мае 1939 г. Эта работа содержит изложение нового математического аппарата, впоследствии получившего название «линейного программирования».
Канторович в своей работе призывал к активному внедрению новейшей техники и научной организации производства, а именно применению научных концепций в составлении оптимальных планов. Вот одна из цитат:
«Существуют два пути повышения эффективности работы цеха, предприятия и целой отрасли промышленности. Один путь — это различные улучшения в технике, т. е. новые приспособления в отдельном станке, изменение технологического процесса, нахождение новых, лучших видов сырья. Другой путь, пока гораздо меньше используемый, — это улучшение в организации производства и планировании.»
В то время (в далеком 1939 году) Л.В. Канторович прозорливо предполагал, что математические методы будут активно использоваться для решения таких задач как: вопросы наилучшего распределения работы станков и механизмов, максимального уменьшения отходов, наилучшего использования сырья и местных материалов, топлива, транспорта и пр. За свои работы и инновационные подходы Л.В. Канторович удостоился множества премий и наград. В 1975 году он стал лауреатом премии по экономике памяти Альфреда Нобеля «за вклад в теорию оптимального распределения ресурсов».
Я упомянул одну из его первых работ не случайно, так как содержащиеся в ней примеры по своей сути очень похожи на конкурсное задание, которое мне предстояло решить.
«Чтобы прояснить характер задач, которые мы будем иметь в виду, приведу один очень простой пример, не требующий никаких специальных методов для решения, так как оно ясно само собой»
Л.В. Канторович мог решить данный пример в уме, о чем и заявляет в своей статье, но мы не нобелевские лауреаты, поэтому я подготовил программу, которая решит её за нас. Для решения данного примера, а также конкурсной задачи я использовал Google OR-Tools. OR-Tools – это бесплатный набор инструментов с открытым исходным кодом, который предназначен для решения задач линейного программирования, смешанно-целочисленного программирования и программирования в ограничениях. Далее предлагаю перейти уже непосредственно к постановке задачи, формулировку я сохранил авторскую.
Пример 1. Фрезерная работа при обработке деталей металлических изделий может осуществляться на разных станках — фрезерных, револьверных — более усовершенствованных, и револьверном автомате. Для определенности я рассмотрю такой вопрос. Имеется три фрезерных станка, три револьверных и один автомат. Изделие — я рассмотрю очень простой случай — состоит из двух деталей.
Выработка по каждой детали такая. За рабочий день на фрезерном станке можно изготовить 10 первых деталей либо 20 вторых; на револьверном — 20 первых либо 30 вторых; на автомате — 30 первых либо 80 вторых. При этом, если мы учтем все количество станков (фрезерных и револьверных по три, а автомат один), то за рабочий день по желанию мы можем изготовить первых деталей на каждой группе станков 30 + 60 + 30, на всех станках 120, вторых деталей 60 + 90 + 80 (табл. 1).
Необходимо составить оптимальный план производства на один рабочий день, а именно — распределить операции по оборудованию таким образом, чтобы максимизировать выпуск комплектных изделий. Напомню, что каждое готовое изделие состоит из двух деталей. В данном случае не учитываются:
-
Переналадка оборудования. Требуется для того, чтобы на одном оборудовании появилась возможность изготавливать новый вид продукции. Данная операция также затрачивает временные ресурсы.
-
Время на перемещение деталей.
-
Перерывы в работе оборудования.
-
Наличие сырья и сопутствующие расходные материалы для изготовления продукции.
-
Операции по сборке готовых изделий.
Стоит отметить, что все расчеты предполагалось вести вручную, а именно обучать инженеров на местах, и учет таких детальных нюансов неизбежно превратил бы весь процесс планирования в тяжелейшую рутину. В 1939 году человечество не могло и мечтать о тех возможностях, которыми мы обладаем сейчас.
Автор предлагает выполнить два расчета. Первый вариант — это производить одинаковое количество деталей для каждой группы станков, если не стараться решить задачу на максимум, а добиваться только комплектности. Во втором случае решается задача на максимизацию выпуска комплектных деталей. Работа распределяется на то оборудование, которое максимально эффективно может производить определенный вид деталей. При этом разбивку необходимо произвести таким образом, чтобы получилось одинаковое число первых и вторых деталей.
Математическая формулировка:
Индексы:
e – идентификатор оборудования
p – индекс детали
Параметры:
Переменные:
Целевая функция:
Ограничения:
1) Задаем границы изменения значений переменных.
2) Сумма времени, затраченного на производство деталей для каждого станка, не должна превышать времени, доступного в одном рабочем дне.
3) Обеспечение комплектности финального продукта. Сумма производства деталей каждого типа равны.
import collections
from ortools.linear_solver import pywraplp
import pandas as pd
import math
model = pywraplp.Solver.CreateSolver('CLP')
# Данные для расчета
data = [['frez_1','frez','prod_1',10], ['frez_1','frez','prod_2',20],
['frez_2','frez','prod_1',10], ['frez_2','frez','prod_2',20],
['frez_3','frez','prod_1',10], ['frez_3','frez','prod_2',20],
['rev_1','rev','prod_1',20], ['rev_1','rev','prod_2',30],
['rev_2','rev','prod_1',20], ['rev_2','rev','prod_2',30],
['rev_3','rev','prod_1',20], ['rev_3','rev','prod_2',30],
['avt_1','avt','prod_1',30], ['avt_1','avt','prod_2',80],]
init_data = pd.DataFrame(data, columns =['EQUIP_ID', 'EQUIP_TYPE', 'PROD_ID', 'OUTPUT']).reset_index()
equip_dict = init_data.EQUIP_ID.unique()
equip_type_dict = init_data.EQUIP_TYPE.unique()
prod_dict = init_data.PROD_ID.unique()
type_equip_prod_dict = init_data.groupby(['EQUIP_TYPE','PROD_ID']).size().reset_index().rename(columns={0:'COUNT'})
# Переменные
vars_list = collections.defaultdict(list)
# Блок ограничений
equipment_cons = collections.defaultdict(list)
equality_cons = []
first_case_cons = collections.defaultdict(list)
# Целевая функция
objective = []
# Суммарный объем производства
equipment_type_production = collections.defaultdict(list)
total_production = collections.defaultdict(list)
for index, row in init_data.iterrows():
time_var = model.NumVar(lb=0, ub=1, name=f"fraction_day_{row['EQUIP_ID']}_{row['PROD_ID']}")
vars_list[row['EQUIP_ID'],row['PROD_ID']].append(time_var)
equipment_cons[row['EQUIP_ID']].append(time_var)
objective.append(time_var*row['OUTPUT'])
if row['PROD_ID'] == 'prod_1':
equality_cons.append(time_var*row['OUTPUT'])
first_case_cons[row['EQUIP_TYPE']].append(time_var*row['OUTPUT'])
else:
equality_cons.append(-1*time_var*row['OUTPUT'])
first_case_cons[row['EQUIP_TYPE']].append(-1*time_var*row['OUTPUT'])
# Блок ограничений
#2) Сумма времени, затраченного на производство деталей для каждого станка, не должна превышать времени, доступного в одном рабочем дне.
for equip_id in equip_dict:
model.Add(sum(equipment_cons[equip_id]) <= 1)
#3) Обеспечение комплектности финального продукта. Сумма производства деталей каждого типа равны.
model.Add(sum(equality_cons) == 0)
#4) Ограничение для "равного выпуска" продукции. Сумма производства каждого типа деталей для каждого типа оборудования равны.
# for equip_type in equip_type_dict:
# model.Add(sum(first_case_cons[equip_type]) == 0)
# Целевая функция
model.Maximize(sum(objective))
# Запуск расчета
model.EnableOutput()
model.Solve()
# Выгрузка результатов
for index, row in init_data.iterrows():
time = round(vars_list[row['EQUIP_ID'],row['PROD_ID']][0].solution_value(),2)
total_production[row['PROD_ID']].append(math.floor(time*row['OUTPUT']))
equipment_type_production[row['EQUIP_TYPE'],row['PROD_ID']].append(math.floor(time*row['OUTPUT']))
for index, row in type_equip_prod_dict.iterrows():
print('Тип оборудования',row['EQUIP_TYPE'],'Деталь',row['PROD_ID'],'Выработка',sum(equipment_type_production[row['EQUIP_TYPE'],row['PROD_ID']]))
for prod_id in prod_dict:
print('Деталь',prod_id,'Суммарный объем выпуска',sum(total_production[prod_id]))
Оборудование |
Тип оборудования |
Детали |
Время на операции (равный выпуск) |
Время на операции (оптимум) |
Выпуск в день |
Равный выпуск |
Выпуск (оптимум) |
frez_1 |
Фрезерные |
Деталь_1 |
1 |
1 |
10 |
10 |
10 |
Деталь_2 |
0 |
0 |
20 |
0 |
0 |
||
frez_2 |
Деталь_1 |
1 |
1 |
10 |
10 |
10 |
|
Деталь_2 |
0 |
0 |
20 |
0 |
0 |
||
frez_3 |
Деталь_1 |
0 |
0.67 |
10 |
0 |
6 |
|
Деталь_2 |
1 |
0.33 |
20 |
20 |
6 |
||
rev_1 |
Револьверные |
Деталь_1 |
0.8 |
1 |
20 |
16 |
20 |
Деталь_2 |
0.2 |
0 |
30 |
6 |
0 |
||
rev_2 |
Деталь_1 |
1 |
1 |
20 |
20 |
20 |
|
Деталь_2 |
0 |
0 |
30 |
0 |
0 |
||
rev_3 |
Деталь_1 |
0 |
1 |
20 |
0 |
20 |
|
Деталь_2 |
1 |
0 |
30 |
30 |
0 |
||
avt_1 |
Автомат |
Деталь_1 |
0.73 |
0 |
30 |
21 |
0 |
Деталь_2 |
0.27 |
1 |
80 |
21 |
80 |
||
Суммарный объем выпуска комплектных изделий |
77 |
86 |
Даже для такого маленького примера обнаруживается потенциал для оптимизации: за счет изменения стратегии составления плана производства удалось получить увеличение выработки на 11%.
На практике приходится иметь дело с более сложными случаями, когда необходимо найти оптимальное распределение операций на десятках видах различного оборудования. Иногда требуется составлять поминутные планы операций, учитывать рабочие смены, праздники, выходные, весь комплекс логистических ограничений. Просто угадать или подобрать по здравому смыслу оптимальное решение вряд ли получится. То есть приходится анализировать и перебирать миллионы или даже миллиарды вариантов потенциальных возможностей.
Данный пример легко решается с помощью конвенциональных методов линейного программирования, однако конкурсный пример уже не так прост. В постановке задачи имеется 78 единиц оборудования, на 67-ми из которых возможно производить только один продукт в выбранный момент времени. Всего на предприятие поступило 543 заказа, которые включают в себя 1058 вложенных подзаказов. Каждый подзаказ, в свою очередь, состоит из комплекта промежуточных продуктов. В общем за месяц необходимо произвести 11630 операций с привязкой к необходимому типу оборудования. Промежуточные продукты могут быть выполнены на нескольких типах оборудования с различным временем обработки. Необходимо распределить операции таким образом, чтобы максимизировать прибыль предприятия на горизонте планирования в 30 дней, при этом длительность операций выражена в минутах.
Задачи составления оптимального расписания широко исследованы в литературе, в связи с тем, что относительно простая математическая формулировка приводит к примерам, которые достаточно сложно решить до оптимальности. Одним из самых часто используемых критериев для оптимизации является минимизация периода изготовления продукции или минимизация временного интервала между началом первой операции и завершением последней. Имеем набор заданий и набор доступного оборудования. Каждое задание представляет из себя последовательность операций, которые необходимо назначить на оборудование, при этом операции, назначенные на каждое оборудование, не должны пересекаться между собой во времени при соблюдении строго порядка выполнения. Для решения данной задачи было принято решение использовать не традиционные методы математического моделирования, а программирование в ограничениях, из-за её комбинаторной структуры. Программирование в ограничениях является декларативной парадигмой, позволяющей выразить многие сложнейшие прикладные задачи с помощью ограничений, т.е. позволяет задать логические взаимозависимости между переменными, а также стратегию поиска. Данная парадигма широко используется для решения задач планирования производственных операций, а также для некоторых задач комбинаторной оптимизации, которые нельзя легко линеаризовать и решить с помощью традиционных методов математического программирования.
Постановка конкурсной задачи
Есть предприятие, на котором производится продукция различного ассортимента. На производство поступают заказы от клиентов на изготовление определенного типа и объема продукции. Предполагается, что портфель заказов и их стоимость известны перед началом планирования. Каждый заказ имеет свою технологическую карту производства, т.е. последовательность операций от сырья до получения готовой продукции. Операции по обработке материала выполняются на оборудовании, которое предназначено для выполнения определенного типа операций (может быть указано несколько типов операций для одного оборудования). Промежуточный продукт производственной цепи называется полуфабрикатом. Прежде чем приступить к следующей операции на оборудовании, необходимо произвести операцию переналадки оборудования (переключения оборудования на другую операцию, подготовка к обработке нового полуфабриката, очистка оборудования и т.д.). Кроме того, необходимо учитывать время перемещения полуфабрикатов продукции между цехами.
Для наглядности на Рисунке 1 приведен пример сборки простого заказа order_1. Для его изготовления необходимо собрать на линиях производства (line_1, line_2, line_3) все предварительные заготовки-полуфабрикаты на оборудовании. На одной линии находится оборудование, которое выполняет схожие операции. Как видно из рисунка, для изготовления order_1 необходимо предварительно реализовать сборку suborder_3. Прежде чем приступить к производству suborder_3, необходимо изготовить suborder_2 и переместить его от оборудования equipment_5 или equipment_6 до equipment_4. Аналогично, для производства suborder_2 необходимо произвести suborder_1 и переместить его на equipment_5 или equipment_6. Как было сказано выше — таких заказов всего 543.
Рис. 1. Пример последовательности выполнения заказа.
Каждую операцию на оборудовании можно выразить с помощью интервальных переменных. Интервальная переменная включает в себя следующие атрибуты: начало, завершение, длительность и интенсивность. За начало и завершение интервальной переменной отвечают целочисленные переменные, длительность выражается константой, а интенсивность в самом простейшем варианте определяет существование интервальной переменной и выражается через бинарную переменную.
Возвращаясь к примеру, проиллюстрированному на рисунке 1, можно сказать, что в математической модели существуют интервальные переменные для всех возможных комбинаций «оборудование -> подзаказ». Например, подзаказ suborder_1 может быть выполнен на оборудовании equipment 1, equipment 2, equipment 3, то есть для подзаказа suborder_1 необходимо создать три интервальных переменных, при этом выполнить мы можем только одну из них. То есть сумма бинарных переменных, отвечающих за их существование должны быть меньше либо равны единице. Точно в такой же логике мы создаем две переменные для подзаказа suborder_2. Но теперь возникает следующая проблема: необходимо создать связку данных переменных, а именно задать очередность их выполнения. Для выполнения данного ограничения достаточно сказать, что начало выполнения переменной для подзаказа suborder_2 должно быть больше или равно, чем завершение выполнения переменной для подзаказа suborder_1 при условии их существования. Вот так просто кирпичик за кирпичиком мы выстраиваем логику составления оптимального расписания.
Ограничения
-
Если режим работы оборудования соответствует mode_0, то одновременно на этом оборудовании может выполняться только одна операция;
-
Перед каждой операцией по обработке полуфабрикатов необходимо произвести переналадку;
-
Операции переналадки и обработки полуфабриката не могут происходить одновременно;
-
Заказ может состоять из нескольких конечных продуктов. Частичное выполнение заказа к отчетной дате добавляет 0 ед. к выручке;
-
Каждый конечный продукт в заказе имеет последовательность технологических операций, которую нельзя нарушать;
-
Перемещение, переналадка и обработка полуфабриката не могут выполняться одновременно для одного полуфабриката.
Допущения
-
При планировании не учитываются потери сырья в процессе производства. Таким образом, масса готовой продукции равна массе исходного сырья.
-
Оборудование работает без перерывов. Таким образом, технологические перерывы и регламентные процедуры не учитываются при планировании.
-
Не все заказы должны быть запланированы.
Для того, чтобы подступиться к решению данного примера, первым делом нужно подготовить и сгруппировать входные данные, чтобы упростить дальнейшую работу с созданием ограничений и выстраиванием логических взаимозависимостей.
-
Длительность каждой интервальной переменной выражаем через сумму: длительность = время на переоснастку + время изготовления, так как перед каждой операцией по обработке полуфабрикатов необходимо произвести переналадку, и операции переналадки и обработки полуфабриката не могут происходить одновременно.
-
Старт и завершение операции равны 0, если интервальная переменная не используется
self.model.Add(self.all_tasks[ORDER_ID, SUBORDER_ID,SUBPRODUCT_ID,EQUIPMENT_ID,EQUIPMENT_MODE].end == 0).OnlyEnforceIf(
self.all_tasks[ORDER_ID, SUBORDER_ID,SUBPRODUCT_ID,EQUIPMENT_ID,EQUIPMENT_MODE].present.Not())
self.model.Add(self.all_tasks[ORDER_ID, SUBORDER_ID,SUBPRODUCT_ID,EQUIPMENT_ID,EQUIPMENT_MODE].start == 0).OnlyEnforceIf(
self.all_tasks[ORDER_ID, SUBORDER_ID,SUBPRODUCT_ID,EQUIPMENT_ID,EQUIPMENT_MODE].present.Not())
-
Каждый конечный продукт в заказе имеет последовательность технологических операций, которую нельзя нарушать.
self.model.Add(sum (equip_present[FROM_ORDER_ID, FROM_SUBORDER_ID,FROM_SUBPRODUCT_ID]) ==
sum (equip_present[TO_ORDER_ID, TO_SUBORDER_ID,TO_SUBPRODUCT_ID]))
self.model.Add(sum (task_start[TO_ORDER_ID, TO_SUBORDER_ID,TO_SUBPRODUCT_ID]) >=
sum (task_end[FROM_ORDER_ID, FROM_SUBORDER_ID,FROM_SUBPRODUCT_ID]))
Первое ограничение из данного блока необходимо для фиксирования последовательности выполнения и выбора оптимального оборудования. Второе ограничение говорит о том, что время старта последующей операции должно быть больше или равно времени завершения предыдущей операции.
-
Добавляем стандартное NoOverlap ограничение для оборудования, если режим работы оборудования соответствует mode_0, то одновременно на этом оборудовании может выполнятся только одна операция.
for machine in self.all_machines:
self.model.AddNoOverlap(machine_to_intervals[machine])
-
Для того, чтобы учесть время на перемещение между цехами, необходимо заранее подготовить группы подзаказов, для которых существуют дополнительные ограничения на длительность перемещения. Если связанные в последовательность операции выполняются и принадлежат данной группе, то время начала последующей операции должно быть больше или равно, чем время завершения предыдущей операции плюс время на перемещения между цехами.
decision.append(task_present_move[FROM_ORDER_ID, FROM_SUBORDER_ID,FROM_SUBPRODUCT_ID,FROM_EQUIPMENT_ID][0])
decision.append(task_present_move[TO_ORDER_ID, TO_SUBORDER_ID,TO_SUBPRODUCT_ID,TO_EQUIPMENT_ID][0])
self.model.Add(task_start_move[TO_ORDER_ID, TO_SUBORDER_ID,TO_SUBPRODUCT_ID,TO_EQUIPMENT_ID] >=
task_end_move[FROM_ORDER_ID, FROM_SUBORDER_ID,FROM_SUBPRODUCT_ID,FROM_EQUIPMENT_ID] + [MOVE_TIME]).OnlyEnforceIf(
decision)
Далее на диаграмме Гантта представлен оптимальный расчет:
Код решения: https://github.com/AntonNester/Job_Shop_Competition_Case/
Составление оптимальных, практически применимых расписаний является нетривиальной задачей, которая требует согласования множества параметров и процессов. Все они образуют сложную структуру взаимосвязей, которую необходимо отражать в математических моделях. Как правило, на практике разрабатывается целый комплекс математических моделей для каждого из таких процессов. Например, в конкурсной задаче мы рассчитали только назначение задач на оборудование, однако такое расписание может оказаться не выполнимым на практике по многим причинам: из-за нехватки комплектующих, недостатка в рабочей силе, финансовых проблем и т.д. Таким образом, результаты расчета текущей математической модели будут во многом предопределены результатами предыдущих, и/или параллельных с ней математических моделей.
Как вы уже могли заметить, для решения нетривиальных и объемных задач сегодня требуется более сложный подход и грамотно подобранный инструментарий. Во времена Канторовича даже самый умный математик, имея в руках только ручку и бумагу, вряд ли смог бы найти оптимальное решение для подобной задачи. Но благодаря современным инструментам и солверам, которые есть сейчас (многие из которых есть в свободном доступе бесплатно), даже самые сложные задачи легко поддаются решению. Главное, что требуется – найти для себя понятный подход к ее решению, а это – уже чистое творчество. Самое главное – не бояться экспериментировать.
Составьте последовательность технологических операций выполнения работы
fd dg
Ученик
(73),
на голосовании
8 лет назад
учитывая, что периферийное оборудование не подключено к персональному компьютеру. Перечислите все способы переноса фотографий с цифрового фотоаппарата на персональный компьютер. 1.На цифровом фотоаппарате имеется три снимка. Требуется перенести часть изображения со второго и третьего снимка на первый и распечатать полученное в результате изображение.
Голосование за лучший ответ