본문으로 건너뛰기

의사결정 노드

한눈에 보기

의사결정 노드는 분석 결과를 받아 「무엇을 할지」를 고르는 단계입니다. 가장 많이 사용하는 것은 조건에 맞는 데이터와 아닌 데이터를 둘로 나누는 조건 분기이고, 일정 최적화·다목적 최적화·가상 시뮬레이션처럼 계산으로 답을 찾는 노드가 함께 있습니다. 팔레트의 「최적 결정」 묶음에 4종이 있습니다.

무엇을 하는 노드인가​

분석 노드는 「불량률이 3.2%다」, 「Cpk가 1.1이다」 같은 사실을 내놓습니다. 현장에서 필요한 것은 그다음 판단입니다. 기준을 넘었으면 알림을 보낼지, 승인을 받을지, 그냥 기록만 할지. 의사결정 노드는 이 판단을 파이프라인 안에 규칙이나 계산으로 넣어 두는 단계입니다.

판단 방식노드쓰임새
규칙조건 분기기준을 넘은 데이터만 다른 처리로 보낼 때
제약 충족 계산일정 최적화지켜야 할 조건을 모두 만족하는 일정·배치를 찾을 때
다목적 계산다목적 최적화비용과 품질처럼 서로 부딪히는 목표의 균형점을 찾을 때
What-If 계산가상 시뮬레이션조건을 바꾸면 결과가 어떻게 달라지는지 미리 볼 때

노드 목록​

조건 분기 (IF/ELSE)​

행마다 조건을 검사해 조건을 충족한 행과 충족하지 않은 행을 서로 다른 출력으로 내보냅니다.

  • 입력: 표 데이터
  • 출력: 조건 충족(표 데이터), 조건 미충족(표 데이터)
  • 주요 설정: 분기 조건 — 항목·연산자·값을 고르는 조건 편집기로 만듭니다
  • 조건을 하나도 넣지 않으면 모든 행이 「조건 충족」 출력으로 나갑니다.

일정 최적화​

지켜야 할 조건을 모두 만족하면서 목표에 가장 가까운 일정이나 배치를 찾습니다(제약 충족 문제, CSP).

  • 입력: 입력 데이터(표 데이터, 필수), 조건 데이터(JSON, 선택)
  • 출력: 최적 결과(JSON)
  • 주요 설정: 최적화 목표(비용 최소·납기 최단·설비 가동률 최대), 계산 시간 제한(초, 기본 30), 지켜야 할 조건(이름·유형[최대값·최소값·같음·범위]·값)
  • 조건을 동시에 만족할 수 없으면 해가 없다는 결과를 냅니다.

다목적 최적화​

여러 목표를 동시에 따져, 어느 한 목표를 더 좋게 하려면 다른 목표를 양보해야 하는 조합들(파레토 해)을 찾습니다(NSGA-II).

  • 입력: 입력 데이터(표 데이터)
  • 출력: 최적 조합들(JSON), 전체 결과(표 데이터)
  • 주요 설정: 최적화 목표들(이름·방향[최소화·최대화]), 탐색 범위(기본 100), 반복 횟수(기본 200)

가상 시뮬레이션​

기준 데이터에서 조건 값을 바꿔 가며 결과가 어떻게 달라지는지 시나리오별로 계산합니다.

  • 입력: 기준 데이터(모든 형식)
  • 출력: 시나리오 결과(JSON)
  • 주요 설정: 변경할 조건(이름·최소값·최대값·간격), 시뮬레이션 방식(확률 기반 Monte Carlo·이벤트 기반·수학 공식 기반), 시뮬레이션 횟수(기본 1000)
  • 결과에는 조건별 민감도 순위와 결과가 크게 나빠지는 위험 시나리오 표시가 함께 담깁니다.

앞뒤로 무엇을 연결하나​

  • 앞: 데이터 처리 노드의 집계 결과, SPC 노드의 판정 결과, ML 추론 노드의 예측 결과처럼 판단의 근거가 되는 표 데이터.
  • 뒤: 조건 분기의 두 출력에는 각각 다른 액션을 연결합니다. 흔한 구성은 「조건 충족 → 알림 보내기 또는 승인 대기」, 「조건 미충족 → MES 기록」입니다. 최적화·시뮬레이션의 JSON 결과는 승인 대기, 알림 보내기, **외부 알림(웹훅)**으로 보내 사람이 보고 채택하게 합니다.

사용 예: 불량률 기준 초과 시 승인 후 조치​

  1. MySQL 노드로 전일 생산 실적을 가져와 합계/평균과 계산식 노드로 라인별 불량률을 만듭니다.
  2. 조건 분기 노드를 연결하고 분기 조건을 「불량률 이상(≥) 2」로 만듭니다.
  3. 「조건 충족」 출력을 승인 대기 노드에 연결합니다. 승인자는 품질팀장, 승인 요청 제목은 「불량률 기준 초과 라인 조치 승인」으로 둡니다.
  4. 승인 대기의 「승인」 출력을 MES 기록 노드에 연결해 승인 결과(승인자·승인 시각·요청 제목)를 남깁니다.
  5. 「조건 미충족」 출력은 대시보드 차트 노드로 보내 정상 라인 현황만 차트 데이터로 만듭니다.

실무 팁​

  • 기준값은 한곳에서 관리한다. 같은 기준을 여러 조건 분기에 흩어 넣으면 기준이 바뀔 때 일부만 고쳐지기 쉽습니다. 기준이 같은 판단은 한 파이프라인의 한 노드에 모읍니다.
  • 두 출력을 모두 연결한다. 조건 미충족 쪽을 비워 두면 그 데이터는 어디에도 기록되지 않습니다. 기록만 하더라도 연결해 두면 나중에 판단 근거를 추적할 수 있습니다.
  • 최적화 결과는 제안으로 다룬다. 일정 최적화·다목적 최적화 결과를 생산 계획에 바로 쓰기 전에 승인 대기 노드를 거쳐 계획 담당자가 확인하게 합니다.
  • 계산 시간 제한을 둔다. 조건이 많은 일정 최적화는 계산이 길어질 수 있습니다. 스케줄 실행 간격보다 짧게 시간 제한을 정합니다.
  • 결과 행 수를 확인한다. 실행 로그에 조건 충족·미충족 행 수가 남습니다. 한쪽이 늘 0이면 조건이나 항목 형식(문자로 저장된 숫자)을 먼저 봅니다.

관련 문서​