본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 06. 08. 00:42

수리 최적화의 '해 없음'을 LLM으로 해결한다! AST를 이용한 에러 분석·자동 수정 시스템 설계

요약

수리 최적화 모델의 실행 불가능(Infeasible) 문제를 해결하기 위해 AST와 LLM을 결합한 자동 분석 및 수정 시스템을 제안합니다. AST의 메타데이터를 활용해 수리적 모순을 사용자의 의도가 담긴 자연어로 역번역하여 구체적인 수정안을 제공합니다.

핵심 포인트

  • AST 노드에 메타데이터를 부여하여 수식과 도메인 지식 연결
  • Gurobi의 IIS 정보를 의미론적 텍스트로 역번역하여 LLM 전달
  • LLM을 통한 제약 조건 완화 및 구체적인 모델 수정안 생성
  • Streamlit 기반의 코드 에디터, 구조 뷰어, 채팅 UI 통합 계획

수리 최적화의 '해 없음'을 LLM으로 해결한다! AST를 이용한 에러 분석·자동 수정 시스템 설계

서론: 수리 최적화에서의 「세만틱 갭 (Semantic Gap)」의 벽

실무 비즈니스 과제에서 수리 최적화 모델은 매우 강력하지만, 구축한 모델이 「실행 불가능 (Infeasible)」 상태가 될 경우, 그 원인 특정과 수정에는 고도의 수리적 전문 지식과 방대한 시간이 소요됩니다.

기존에는 솔버(Solver)가 기약 모순 부분 집합 (IIS, Irreducible Inconsistent Subsystem)을 추출해 주지만, 출력되는 정보는 행·열 인덱스와 같은 「순수한 수리적 모순」에 머뭅니다. 이 때문에 설계자의 의도(도메인 지식이나 업무 요건)와 수리적 에러 사이에 **세만틱 갭 (Semantic Gap)**이 발생하여 신속한 모델 수정을 방해해 왔습니다.

본 기사에서는 이 과제를 해결하기 위해 개발 중인 「다계층 중간 표현 (AST, Abstract Syntax Tree)과 LLM을 이용한 실행 불가능성 자동 분석·수정 제안 시스템」의 아키텍처 설계에 대해 해설합니다.

제안하는 시스템 아키텍처

본 시스템은 「수리적 모순」과 「사용자의 의도」를 양방향으로 연결하기 위해 다음과 같은 정보 순환 플로우로 구축되어 있습니다.

사용 중인 주요 기술 스택은 다음과 같습니다.

프론트엔드 / UI: Streamlit -
구문 분석: Lark -
최적화 솔버: Gurobi -
자연어 처리: LLM (대규모 언어 모델)

기술적 핵심 포인트

1. AST (추상 구문 트리)에 메타데이터 유지

시스템의 핵심이 되는 고안은, Lark를 사용하여 DSL (도메인 특화 언어)을 파싱할 때 생성되는 AST의 각 노드에 고유한 메타데이터를 부여하고 있다는 점입니다.

구체적으로는 수식 정보뿐만 아니라 「DSL의 행·열 정보」, 「제약 조건의 중요도」, 「완화 가능성」, 「자연어로 된 코멘트나 설명」을 유지하도록 했습니다. 이를 통해 무기질적인 수식을 의미 있는 데이터 구조로서 관리할 수 있게 되었습니다.

2. 「의미론적 역번역」을 통한 LLM과의 연계

Gurobi에서 모델이 해 없음(Infeasible) 상태가 되면, 원인이 되는 IIS (모순을 포함하는 최소 부분 집합)를 추출합니다.

여기서 앞서 언급한 AST가 활약합니다. 추출된 수리적 모순점 (IIS)과 AST의 메타데이터를 대조함으로써, 에러 내용을 사용자의 업무 의도에 맞춘 표현으로 「의미론적 역번역」합니다.

이 역번역된 텍스트와 메타데이터를 LLM에 전달함으로써, LLM은 문맥을 정확하게 해석할 수 있으며, 단순한 에러 보고가 아니라 「〇〇의 제약 조건을 이 정도 완화하면 해결됩니다」와 같은 구체적인 수정안을 자연어로 생성하는 것이 가능해집니다.

현재 진행 상황 및 향후 전망

현재는 위의 구문 분석부터 모델 구축, 에러 발생 시의 역번역 로직과 같은 백엔드 핵심 부분을 구현 중입니다.

향후에는 Python의 웹 프레임워크인 Streamlit을 사용하여 다음과 같은 3-페인(Pane) 구성의 UI를 통합할 예정입니다.

왼쪽 페인: DSL을 통한 직관적인 코드 에디터 -
중앙 페인: AST 구조와 모순 지점 (IIS)을 시각적으로 매핑하는 실시간 구조 뷰어 -
오른쪽 페인: LLM이 에러 원인을 해설하고, 대화형으로 수정을 제안·실행하는 채팅 인터페이스

사용자가 선택한 수정안을 바탕으로 AST를 국소적으로 조작·재작성하여, 안전하게 모델을 재구성하는 루프를 돌림으로써, 전문가가 아니더라도 고도의 수리 최적화를 실무에서 운용할 수 있는 세상을 목표로 하고 있습니다.

(※ 연구의 핵심이 되는 독자적인 수식 알고리즘이나 미발표 데이터에 대해서는 학술 지식재산 보호 관점에서 본 기사에서는 생략 또는 추상화하였습니다)

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0