대학을 졸업하고 회사에 입문한 지 어느덧 5년이 넘었습니다. 그 이후로 저는 대부분의 시간을 생산 및 공급망 계획에 바쳤습니다. 예를 들어 로트 크기 최적화 또는 SAP의 생산 레벨링과 같은 ERP 기반 모델 구현 외에도 저는 항상 이산 이벤트 시뮬레이션 모델링에 깊이 관여해 왔습니다. 여러 도구로 작업했으며 이 기사에서는 Python에서 구현한 종단 간 시뮬레이션 기반 가금류 공급망 분석 도구를 요약합니다.
시뮬레이션은 제어 논리에 대한 더 나은 이해를 촉진합니다.
이 기사에서 내가 설명한 시뮬레이션 도구는 여러 가지 방법으로 사용자에게 도움이 되었습니다.
- 공급망 전체의 기존 프로세스 및 종속성에 대한 이해도 향상
- 다양한 내부 이해관계자 그룹 간 논의를 위한 공통 참조
- 특정 정책 및 제어 흐름 조정의 영향 예측
- 종단 간 공급망 비용 투명성
- 새로운 공급망 관리자를 교육하기 위한 도구
이 도구는 지중해 지역에서 수직 통합된 가금육 가공 사업을 최적화했습니다. 가금류 사육에 대한 규제 프레임워크는 포괄적이며 규제 당국은 이 시뮬레이션 도구의 개발 및 배포에 관여하지 않았지만 비슷한 방식으로 규제 당국에 도움이 될 수 있습니다. 그러나 예를 들어 올인 올아웃 규칙(예: 돼지 생산에서도 알려짐)과 같은 규제 제약은 모델에서 고려되지 않았으며 그에 따라 구현되었습니다.
개념적 가금류 공급망 모델 설명
가금류 공급망은 여러 단계로 구성됩니다. 아래 그림은 개요를 제공합니다.
개념적 개요를 위해 강조하고 싶은 관련 엔터티는 다음과 같습니다.
- 계란 농부 . 계란을 생산하여 부화장에 공급합니다.
- 부화장 . 일련의 과정, 즉 부화, 부화 및 번식으로 알을 부화시킵니다.
- 농부 . 육추기에서 닭을 받아 농장 닭장에서 키웁니다.
- 도축장 . 닭이 도살 준비가 된 무게에 도달하면 농장 닭장에서 받거나 수집합니다.
- 육류 가공기 . 도살장 완제품 저장고에서 육류 가공용 도체 수요를 끌어옵니다.
- 대리점 . 육류 가공업체에 완제품 주문을 하고 가공육을 임시 보관했다가 시장에 재분배합니다.
- 시장 . 유통업체에 주문을 하고 가공육을 시장에서 최종 소비자에게 판매합니다.
아래 개념 모델 도면은 가금류 공급망 시뮬레이션 도구에서 고려하는 프로세스에 대한 또 다른 개요를 제공합니다.
가금류 공급망은 엄격하게 규제되는 공급망입니다. 언급한 바와 같이 규제 제약은 모델의 일부입니다. 이러한 규칙은 예를 들어 질병 확산의 위험을 줄이는 것을 목표로 하며 가금육 생산 이외의 육류 생산(예: 돼지 생산)에 공통적입니다.
제어 논리, 규정 및 정보 흐름 모델
시뮬레이션 모델 은 광범위한 제어 논리, 규칙 및 주문 관련 정보 흐름으로 구성됩니다. 아래 표는 개요를 제공합니다.
무대, 카테고리 | 설명 | 구현 |
계란 공급업체, 고객 주문 로직 | 계란 공급자는 주문 로그를 기반으로 배송됩니다. | 지정된 간격으로 계란 공급자는 오더북을 확인하고 요청된 수량을 배송합니다. |
계란 공급업체, 주문 배송 로직 | 전체 주문 수량 배송됨 | 전량 당일발송되나 지정된 운송리드타임 이후 도착 |
부화장, 재고 관리 로직 | 인큐베이터 이전에 들어오는 계란에 대한 재고 | 주문 포인트 정책은 계란 재고를 제어합니다. 수요가 지정된 수준 아래로 떨어지면 고정된 더 높은 재고 수준을 목표로 하는 계란 공급자에게 주문이 이루어집니다. |
부화장, 부화 및 부화 과정 | 인큐베이션 및 부화 블랙박스 프로세스 | 부화 및 부화에는 지정된 기간과 지정된 생산 능력이 있습니다. 또한 지정된 부화 성공률과 지정된 사망률이 있습니다. |
부화장, 육추기에서 번식 | 육추 과정은 부화 및 성공적인 부화를 따릅니다. | 병아리는 농장 닭장으로 보내지기 전에 지정된 기간 동안 육추기에 머뭅니다. 이 프로세스에 대한 사망률도 정의됩니다. |
부화장, 부화장 닭장에 무리 할당 | 병아리가 지정된 최소 시간 동안 육추기에 머문 후 농장 닭장으로 보내집니다. | 농장 닭장은 새 무리를 맞이할 준비가 되어 있어야 하며 톰과 암탉을 섞을 수 없습니다. 농장 협동 조합은 서로 다른 농장에 위치하므로 용량이 다릅니다. 닭은 용량 초과가 가장 적은 닭장에 배정되어야 합니다. |
농장 coops, 닭 성장 | 농장 닭장의 닭 성장은 닭 종 및 성별과 다릅니다. | 닭은 성별과 종에 따라 지정된 시간 동안 농장 닭장에 머뭅니다. 이 지속 시간은 도축 준비 중량까지의 닭 성장을 모델링합니다. |
닭장, 칠면조를 도살장으로 보내는 농장 | 다 자란 닭은 도살장으로 보내진다. | 닭이 도살 준비가 된 무게에 도달하면 도축장에 수용 능력이 있는 경우 보내집니다. 그렇지 않으면 그들은 농장 닭장에서 기다립니다. 그 후 농장 닭장이 소독됩니다. 이 단계에서 관련 규제 규칙을 고려하여 시뮬레이션 모델 에 포함 |
도살장, 도살 과정 | 일일 도살 과정 | 도축장은 지정된 일일 최대 생산 능력까지 닭고기를 도축합니다. |
도살장, 시체 재고 | 재고 생산, 그러나 수요 견인 재고 | 육류 가공업체는 도축장 재고에서 도체 수요를 가져옵니다. |
도축장, 수주 잔고 | 육류 가공업체는 도체 재고가 충분하지 않은 경우 도축장에 잔고를 남깁니다. | 다가오는 생산 주기에서 백로그가 충족되고 백로그 주문이 열려 있지 않은 경우에만 도체가 재고에서 생산됩니다. |
도살장, 외부 닭 구매 | 도축장 재고 및 현재 도축 공정량이 너무 적은 경우 외부 닭을 구매합니다. | 가금류 도체에 대한 수요가 도체 재고보다 많고 현재 생산 중인 외부 가금류 도체를 구매 및 도살하면 그에 따라 생산 능력을 점유합니다. 외부에서 구입한 가금류는 항상 먼저 도축됩니다. |
육류 가공업체, 시체 수요 | 도축장 도체 재고에서 가져오는 도체 수요 분포 | 다양한 수요 모델을 구현할 수 있습니다. 예를 들어 기간별 수요량을 지정하여 확정적 또는 확률적 수요 스케줄을 구현할 수 있습니다. |
위 표에 요약된 모든 논리는 매개변수화되었습니다. 관련 값은 구성 파일에서 조정 가능합니다. 이를 통해 사용자는 다양한 시나리오를 실행할 수 있으므로 공급망을 더 잘 이해할 수 있습니다.
SimPy를 사용하여 Python에서 시뮬레이션 모델 구현
지난 5년 동안 모델 개발을 하면서 이산 사건 시뮬레이션 모델링을 위해 다양한 도구와 소프트웨어를 사용해 왔습니다. 널리 사용되는 도구로는 FlexSim, simio, AnyLogic, SIEMENS Plant Simulation, VisualComponents, Simul8 등이 있습니다. 많은 상용 시뮬레이션 도구 가 존재하며 방금 언급한 모든 도구는 상용 소프트웨어입니다. 그러나이 모델 은 Python의 이산 이벤트 시뮬레이션 프레임 워크 인 SimPy 에서 개발했습니다. 이 프레임워크는 무료입니다. 하지만 그것이 제가 선택한 이유는 아닙니다.
SimPy는 순수 코드입니다. 그래픽 사용자 인터페이스(GUI)가 없습니다. 즉, 모델 개발자는 모델 구현을 위해 GUI를 사용할 수 없습니다. 또한 SimPy에는 모델 시각화가 내장되어 있지 않습니다. 즉, SimPy에서 모델을 구축하고 검증하는 것은 매우 추상적이지만 순수한 Python 코드이기 때문에 매우 유연합니다. 다양한 엔터티와 광범위한 제어 논리가 있는 공급망 모델링의 경우 SimPy를 선택하는 것이 좋습니다. 즉, 객체 지향 프로그래밍과 결합합니다. 이 경우 객체 지향 프로그래밍은 프레임워크 개발과 모든 프로세스 및 엔터티로 공급망을 모델링하는 매우 복잡한 작업의 적절한 구조화를 허용하므로 요구 사항입니다. 그러나 모델 사용자는 Python에 대해 어느 정도 이해해야 합니다.
예시적인 모델 출력 및 결과
이 섹션에서는 가금류 공급망 시뮬레이터에서 출력된 일부 예시 모델 출력을 표시합니다. 데이터는 닭 단위, 즉 단위 중립으로 수집 및 표시됩니다. 이는 관련 KPI를 계산하기 위한 견고한 기반을 제공합니다. 관련 KPI는 비용과 무게(예: 닭고기 또는 도체)일 수 있습니다. 이러한 KPI는 공급망 시뮬레이터에 몇 줄의 코드를 추가하거나 기존 코드 줄을 조정(즉, 교체)하여 필요에 따라 사용자를 위해 구현될 수 있습니다.
아래 차트는 도축장의 재고 개발, 즉 도체 재고를 보여줍니다. 재고가 너무 많으면 보유 비용이 높아지고 궁극적으로 유통 기한 및 관련 정책으로 인해 사체를 폐기해야 한다는 의미입니다.
위의 차트는 52주(시뮬레이션 기간)로 1년 동안의 도축장의 재고 증가를 보여줍니다. 이 실행에서 매주 시뮬레이션 실행이 한 번 반복되었습니다. 도축장의 재고 개발은 백로그 개발과 직결됩니다. 이 발전은 아래 그래프에서 볼 수 있습니다.
위의 차트에서 알 수 있듯이 도살장에 쌓인 도체 재고는 없습니다. 그 이유는 도살장이 항상 육류 가공업체 수요보다 뒤쳐져 상당한 적체를 초래했기 때문입니다.
도축장의 기존 수주잔량 관련 정책으로 인해 높은 수주잔량은 외부 가금류 농장에서 대량 구매 주문을 유발합니다. 외부에서 구입한 가금류는 항상 먼저 도살되기 때문에 육추기에서 상당한 재고가 발생합니다. 육추기는 농장 닭장이 정리되기를 기다리고 있으며, 이 시뮬레이션 실행에서는 이와 관련하여 용량 제약이 없습니다.
육추기 자체에는 용량 제한이 없기 때문에 부화장은 다운스트림 생산 병목 현상의 영향을 받지 않았습니다. 이는 부화장의 계란 재고를 시각화하는 아래 그래프에서 명확해집니다.
부화장의 계란 재고 개발은 시뮬레이션 실행 내내 안정적이었습니다.
가금류 공급망 시뮬레이션에 대한 최종 설명
이 기사에서는 불연속 이벤트 시뮬레이션이 가금류 공급망을 모델링하고 분석하기 위한 강력한 도구인 방법을 설명했습니다. 공급망 시뮬레이터 배포의 이점은 다양하며 모든 이점은 궁극적으로 공급망 비용 절감 및 가용성(예: 고객 만족) 향상을 목표로 합니다. 이것은 가금류 공급망에서 특히 중요합니다. 높은 재고 보유량은 예를 들어 도체 만료 및 폐기로 이어지기 때문입니다. 공급망 시뮬레이터를 배포함으로써 사용자는 기존 공급망 제어 논리 및 정책에 대해 더 잘 이해할 수 있었고 공급망 관리 팀은 효과적인 커뮤니케이션, 교육 및 분석 도구를 갖추게 되었습니다.
불연속 사건 시뮬레이션에 관심이 있다면 다음 관련 간행물에도 관심이 있을 수 있습니다.
- 링크: 이산 사건 시뮬레이션 절차 모델
- 링크: 기계 학습 및 이산 사건 시뮬레이션
- 링크: 불연속 사건 시뮬레이션을 위해 R에서 끓이기
- 링크: AnyLogic의 크레인 야드 시뮬레이션
- 링크: AnyLogic에서 부품 라우팅의 AGV 시뮬레이션
최적화 및 시뮬레이션을 전문으로하는 산업 엔지니어 (R, Python, SQL, VBA)
Leave a Reply