**MNT10 실습가이드 - AI 기반 정비인력 부하율 예측·공정균형** 구 분 **실습가이드 [교육용가상자료]** **1. 실습 개요** 본 실습은 교육용 가상 지역의 긴급 정비 요청과 이동정비반 자료로 정비인력 부하율 예측·공정 균형 분석과 출동 우선순위 도구를 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(MNT10_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다. | **과제** | MNT10 AI 기반 정비인력 부하율 예측·공정균형 | | --- | --- | | **난이도·유형** | 고급 / 데이터분석형 | | --- | --- | | **예상 소요시간** | 미션 10개, 총 28.5시간 | | --- | --- | | **준비물** | MNT10_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 | | --- | --- | **2. 진행 방법** - 정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 요청 생성·모의 함수가 빠져 오류가 난다). - 실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 같은 값이 나오지만, 처리 시간(초·ms)은 실행 환경에 따라 달라진다. - 도전 과제는 코드 상단의 파라미터(가중치 W, 경보 기준시간, 승인 지연, 가상 단가 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다. - 그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다. - 실제 부대 위치·장비·정비 실적은 입력하지 않는다. 출동 순서 변경과 재배치는 정비대대장 승인 사항이며, 금액은 가정 단가에 따른 상대 비교값이다. **3. 미션 진행 요약** | **미션** | **난이도·시간** | **핵심 확인 결과** | | --- | --- | --- | | **M1. 야전 긴급 정비 요청(고장 위치, 장비 중요도, 고장 유형) 데이터셋 스키마 정의** | 초급 1.5시간 | 피처 24개(목표 20개 이상), 정상 샘플 20건 오류 0건 | | **M2. 이동정비반 보유 장비/공구 및 출동 가능 상태 정보 전처리 모듈 구현** | 초급~중급 2시간 | 정합성 검증 10/10 통과(통과율 100%) | | **M3. 거리 기준 1차 이동정비반 배정 Baseline 알고리즘 구현** | 중급 2.5시간 | Baseline 핵심장비 평균 도착 3.13h, MT5 평균 부하율 1.36 | | **M4. 장비 작전 중요도, 정비 소요 시간, 이동 경로를 종합한 최적 출동 우선순위 추천 엔진 고도화** | 중급 3시간 | 파생 피처 18개, 평균 MAPE 12.5%(목표 25% 이하) | | **M5. 출동 지연 위험도 및 현장 수리 가능성 신뢰도 점수 산출 모듈 개발** | 중급~고급 3.5시간 | MAE 83.9%·RMSE 82.4% 개선, R2 0.975 | | **M6. 야전 정비 요청 현황 및 이동정비반 관제 대시보드 UI 구현** | 중급~고급 3시간 | 상위 3개 인자 자동 산출률 100%(356건) | | **M7. 긴급 출동 순서 변경 및 정비반 재배치를 위한 정비대대장 HITL 승인 체계 설계** | 고급 3.5시간 | 가동중단 비용 19.1% 절감(목표 15% 이상), 자동 승인 0건 | | **M8. 동시 20개소 긴급 정비 요청 발생 모의 출동 스케줄링 스트레스 테스트** | 고급 3시간 | 동시 20개소 처리+화면 약 0.2~0.3초(목표 2초 이내), 경보 정확도 100% | | **M9. AAR 기반 출동 우선순위 배정 오류 분석 및 가중치 매트릭스 재튜닝** | 고급 3시간 | 4시간 초과 8건, 원인 전부 정비반 부하 집중 | | **M10. 야전 이동정비반 긴급 출동 우선순위 배정 및 경로 최적화 도구 통합 완성** | 최고급 3.5시간 | 재학습 정상 실행(도전자 MAPE 10.0%로 교체), 자체 점검 8/8 통과 | **미션 1. 야전 긴급 정비 요청(고장 위치, 장비 중요도, 고장 유형) 데이터셋 스키마 정의** | **난이도·시간** | 초급 · 1.5시간 | | --- | --- | | **진행 순서** | 1) M1 코드를 실행해 데이터 딕셔너리(요청·정비반·결과)와 피처 수를 확인한다. 2) 업무 프로세스 맵의 단계별 담당·입력·출력을 정리한다. 3) 오류 주입 결과에서 각 오류가 어떤 규칙에 걸렸는지 표로 정리한다. | | --- | --- | | **확인할 결과** | 피처 24개(목표 20개 이상), 정상 샘플 20건 오류 0건 주입 오류 5건(범위·형식·허용값·누락·자료형) 모두 검출 | | --- | --- | | **도전 과제** | 요청 묶음에 '요청 부대 가용 정비공 수(unit_mechanics, 0~20)' 필드를 추가하고 범위 밖 값을 넣어 검출되는지 확인한다. | | --- | --- | | **제출물** | 스키마·딕셔너리 코드, 도메인 분석서(프로세스 맵·예측 대상) | | --- | --- | **미션 2. 이동정비반 보유 장비/공구 및 출동 가능 상태 정보 전처리 모듈 구현** | **난이도·시간** | 초급~중급 · 2시간 | | --- | --- | | **진행 순서** | 1) M2 코드를 실행해 정제 규칙 10종별 처리 건수를 확인한다. 2) R10(긴급 불출 보존)이 일반 이상값과 어떻게 구분되는지 설명한다. 3) 정제 전후 기술통계 표로 인원·연료·좌표의 변화를 정리한다. | | --- | --- | | **확인할 결과** | 정합성 검증 10/10 통과(통과율 100%) 중복 12건 제거, 긴급 불출 예외 15건 보존 | | --- | --- | | **도전 과제** | KNNImputer의 이웃 수를 바꿔(예: 5 → 2) 보정값과 정제 후 평균이 어떻게 달라지는지 확인한다. | | --- | --- | | **제출물** | 정제 모듈 코드, 정제 품질 보고서(규칙·건수·전후 통계) | | --- | --- | **미션 3. 거리 기준 1차 이동정비반 배정 Baseline 알고리즘 구현** | **난이도·시간** | 중급 · 2.5시간 | | --- | --- | | **진행 순서** | 1) M3 코드를 실행해 Baseline의 도착시간·부하율·이동시간을 확인한다. 2) EDA 차트 8종에서 정비반 부하 집중과 지연 분포를 찾는다. 3) 상관분석과 파레토 A등급으로 핵심 발견점 3가지를 쓴다. | | --- | --- | | **확인할 결과** | Baseline 핵심장비 평균 도착 3.13h, MT5 평균 부하율 1.36 유의 피처 5개, EDA 차트 8종 | | --- | --- | | **도전 과제** | make_requests의 per_day를 14로 늘려 Baseline의 과부하 일수와 지연 상관이 어떻게 변하는지 확인한다. | | --- | --- | | **제출물** | EDA 코드, EDA 요약 리포트(차트·상관·파레토·핵심 발견점) | | --- | --- | **미션 4. 장비 작전 중요도, 정비 소요 시간, 이동 경로를 종합한 최적 출동 우선순위 추천 엔진 고도화** | **난이도·시간** | 중급 · 3시간 | | --- | --- | | **진행 순서** | 1) M4 코드를 실행해 파생 피처 수와 시계열 교차검증 MAPE를 확인한다. 2) Baseline과 추천 엔진의 비교표에서 핵심장비 도착시간·부하율 편차·총 이동을 비교한다. 3) 추천 예시 표로 우선순위 점수가 어떻게 정해졌는지 설명한다. | | --- | --- | | **확인할 결과** | 파생 피처 18개, 평균 MAPE 12.5%(목표 25% 이하) 핵심장비 평균 도착 38.7% 단축, 부하율 편차 0.365 → 0.143 | | --- | --- | | **도전 과제** | W0의 balance를 0으로 바꿔 부하율 편차와 총 이동시간이 어떻게 달라지는지 확인한다. | | --- | --- | | **제출물** | 피처·모델 코드, Baseline 대비 성능 비교표 | | --- | --- | **미션 5. 출동 지연 위험도 및 현장 수리 가능성 신뢰도 점수 산출 모듈 개발** | **난이도·시간** | 중급~고급 · 3.5시간 | | --- | --- | | **진행 순서** | 1) M5 코드를 실행해 기준모델과 앙상블의 MAE·RMSE·R2를 비교한다. 2) 지연 위험도 등급별 실제 지연 비율을 확인한다. 3) 현장 수리 가능성 점수 구간별 실제 비율로 보정 상태를 판단한다. | | --- | --- | | **확인할 결과** | MAE 83.9%·RMSE 82.4% 개선, R2 0.975 현장 수리 AUC 0.762, 구간별 실제 비율 0.34 → 0.63 → 0.83 | | --- | --- | | **도전 과제** | 앙상블 비율(GBM:RF)을 0.7:0.3으로 바꾸고 Hold-out 성능 변화를 비교한다. | | --- | --- | | **제출물** | 모델 코드, Hold-out 성능 보고서, 점수 등급 기준 | | --- | --- | **미션 6. 야전 정비 요청 현황 및 이동정비반 관제 대시보드 UI 구현** | **난이도·시간** | 중급~고급 · 3시간 | | --- | --- | | **진행 순서** | 1) M6 코드를 실행해 상위 3개 인자 자동 산출률과 산출 시간을 확인한다. 2) 대시보드 6개 그림에서 과부하 정비반과 핵심장비 대기 요청을 찾는다. 3) 자연어 설명 예시를 읽고 정비 담당자가 취할 조치를 적는다. | | --- | --- | | **확인할 결과** | 상위 3개 인자 자동 산출률 100%(356건) 구성요소 6종, 22일차 전 정비반 과부하 경보 | | --- | --- | | **도전 과제** | 배경 표본 수(Xh.sample 30)를 10으로 줄여 설명이 얼마나 달라지는지, 계산 시간과의 교환 관계를 확인한다. | | --- | --- | | **제출물** | XAI·대시보드 코드, 대시보드 캡처, XAI 리포트(설명 예시 5건) | | --- | --- | **미션 7. 긴급 출동 순서 변경 및 정비반 재배치를 위한 정비대대장 HITL 승인 체계 설계** | **난이도·시간** | 고급 · 3.5시간 | | --- | --- | | **진행 순서** | 1) M7 코드를 실행해 기본 계획·HITL·전부 적용(비교용)의 비용지수를 비교한다. 2) 변경 제안의 승인·반려·무응답 건수와 반려 사유를 확인한다. 3) 승인 지연 민감도와 요청 급증 시나리오 결과를 정리한다. | | --- | --- | | **확인할 결과** | 가동중단 비용 19.1% 절감(목표 15% 이상), 자동 승인 0건 결정 로깅률 100%, 감사 로그 변조 탐지 | | --- | --- | | **도전 과제** | commander의 구역 이탈 기준을 45km에서 30km로 줄여 승인 건수와 비용 절감률이 어떻게 바뀌는지 확인한다. | | --- | --- | | **제출물** | 시뮬레이터 코드, 승인 체계 설계서(기준·흐름·로그), 민감도 분석표 | | --- | --- | **미션 8. 동시 20개소 긴급 정비 요청 발생 모의 출동 스케줄링 스트레스 테스트** | **난이도·시간** | 고급 · 3시간 | | --- | --- | | **진행 순서** | 1) M8 코드를 실행해 4개 상황(20·40·60개소, 정비반 불가, 손상 데이터)의 결과표를 확인한다. 2) 처리+화면 시간, 경보 정확도, 유실 건수를 목표와 비교한다. 3) 놓친 경보·헛경보 원인과 기능 축소 운용 기준을 정리한다. | | --- | --- | | **확인할 결과** | 동시 20개소 처리+화면 약 0.2~0.3초(목표 2초 이내), 경보 정확도 100% 전 상황 유실 0건, 손상 요청 수동 확인 분리 | | --- | --- | | **도전 과제** | ALERT_H를 3시간으로 줄여 경보 수와 경보 정확도가 어떻게 변하는지 확인한다. | | --- | --- | | **제출물** | 스트레스 시험 코드, 결과표, 기능 축소 운용 기준 | | --- | --- | **미션 9. AAR 기반 출동 우선순위 배정 오류 분석 및 가중치 매트릭스 재튜닝** | **난이도·시간** | 고급 · 3시간 | | --- | --- | | **진행 순서** | 1) M9 코드를 실행해 핵심장비 4시간 초과 사례와 원인 분류를 확인한다. 2) Baseline·현행·재튜닝 비교표로 가중치 재튜닝 효과를 정리한다. 3) 3대 정량 효과 지표와 AAR 결론(운영 조치)을 ROI 보고서에 옮긴다. | | --- | --- | | **확인할 결과** | 4시간 초과 8건, 원인 전부 정비반 부하 집중 절감액 15,317만원(가상), 도착 40.2% 단축, 초과근무 146인·h 감소 | | --- | --- | | **도전 과제** | PRICE의 차량 운행 단가를 5에서 20으로 올려 재튜닝된 가중치가 어떻게 달라지는지 확인한다. | | --- | --- | | **제출물** | AAR·재튜닝 코드, ROI 분석 보고서(지표·로드맵) | | --- | --- | **미션 10. 야전 이동정비반 긴급 출동 우선순위 배정 및 경로 최적화 도구 통합 완성** | **난이도·시간** | 최고급 · 3.5시간 | | --- | --- | | **진행 순서** | 1) M10 코드를 실행해 재학습 결과(챔피언·도전자 MAPE, 교체 여부)를 확인한다. 2) 자체 점검 통과 수와 운영 문서 작성률을 확인한다. 3) 출력된 브리핑 요약으로 5분 분량 정비대대장 브리핑 자료를 만든다. | | --- | --- | | **확인할 결과** | 재학습 정상 실행(도전자 MAPE 10.0%로 교체), 자체 점검 8/8 통과 운영 문서 7개 장 100%, 핵심장비 도착 3.50h → 1.95h | | --- | --- | | **도전 과제** | CONFIG의 retrain_tolerance를 0으로 바꾸고, 도전자가 근소하게 나쁠 때 교체되지 않는지 확인한다. | | --- | --- | | **제출물** | 통합 코드, 운영 지침서, 재학습 파이프라인 설명, 브리핑 자료 | | --- | --- | **4. 최종 점검표** | **점검 항목** | **확인** | | --- | --- | | 미션 1~10 코드가 모두 오류 없이 실행되었다 | ( ) | | 각 미션의 확인할 결과를 기록했다 | ( ) | | 도전 과제 결과와 이유를 기록했다 | ( ) | | 브리핑 수치가 실행 결과와 일치한다 | ( ) | | 실제 부대 위치·장비·정비 실적을 사용하지 않았다 | ( ) | | 출동 순서 변경·재배치는 정비대대장 승인 사항으로 설계했다 | ( ) |