← 최신 논문
💻 computer science

Compact SAT and MaxSAT Encodings for Business-to-Business Meeting Scheduling with Idle-Time Balancing

이 논문은 도메인 필터링과 공유 변수를 활용하여 절(clause)의 개수와 메모리 사용량을 크게 줄이는 동시에 참가자의 유휴 시간 범위를 최소화함으로써, 기존에 발표된 MaxSAT 정식화 및 상용 솔버인 Gurobi보다 해결 효율성 측면에서 더 뛰어난 성능을 보이는 기업 간 회의 일정 수립을 위한 컴팩트한 SAT 및 MaxSAT 인코딩을 소개한다.

원저자: Long Duc Nguyen, Tuyen Van Kieu, Khanh Van To

게시일 2026-08-04
📖 4 분 읽기☕ 가벼운 읽기

원저자: Long Duc Nguyen, Tuyen Van Kieu, Khanh Van To

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 거대하고 중요한 비즈니스 컨벤션을 위한 궁극의 파티 플래너라고 상상해 보세요. 수백 명의 사람들이 일대일 미팅을 가져야 하는데, 모두의 스케줄이 제각각입니다. 어떤 방은 아주 작고 어떤 방은 매우 큽니다. 또한 특정 미팅은 다른 미팅이 시작되기 전에 반드시 완료되어야 합니다. 당신의 목표는 단순히 모두가 미팅을 갖게 하는 것이 아니라, 사람들이 미팅 사이의 대기 시간 때문에 너무 오래 지루하게 앉아 있지 않도록 만드는 것입니다. 이것이 바로 "기업 간(B2B) 미팅 스케줄링"이라는 혼란스러운 퍼즐입니다.

이 문제를 해결하기 위해 컴퓨터 과학자들은 SAT(충족 가능성 문제)라는 특별한 종류의 논리 게임을 사용합니다. SAT를 하나의 초스마트한 탐정이라고 생각해보세요. 이 탐정은 일련의 규칙들이 동시에 참이 될 수 있는지 확인합니다. 만약 당신이 탐정에게 "미팅 A는 미팅 B보다 먼저 진행되어야 하지만, 미팅 B는 미한 A보다 먼저 진행되어야 한다"라고 말한다면, 탐정은 즉시 "불가능합니다!"라고 답할 것입니다. 하지만 규칙이 까다롭더라도 가능하다면, 탐정은 유효한 스케줄을 찾아냅니다. 또 다른 버전인 MaxSAT는 단순히 유효한 스케줄을 찾는 데 그치지 않고, 사람들이 기다리는 시간을 최소화함으로써 '완벽한' 스케줄을 만들려고 노력하는 탐정입니다. 이 논문은 이러한 복잡한 비즈니스 행사를 조직할 때 어떻게 이 논리 탐정들을 더 빠르고 똑똑하게 만들 수 있는지에 대해 다룹니다.

문제: 엉킨 미팅의 그물망

비즈니스 미팅의 세계에서는 상황이 빠르게 엉망이 됩니다. 당신에게는 미팅 목록, 시간대 목록, 그리고 방 목록이 있습니다. 규칙은 엄격합니다:

  1. 중복 불가: 한 사람은 동시에 두 곳에 있을 수 없습니다.
  2. 방 용량 제한: 방은 수용 인원보다 많은 미팅을 담을 수 없습니다.
  3. 선행 관계: 어떤 미팅은 반드시 다른 미팅보다 먼저 일어나야 합니다 (예: 오후 워크숍 전의 오전 브리핑).
  4. "유휴 시간" 문제: 진짜 골칫거리는 "유휴 시간(idle time)"입니다. 만약 참가자가 오전 9시에 미팅이 있고 다음 미팅이 오전 11시라면, 그들은 2시간의 "유휴 시간"을 갖게 됩니다. 이 연구의 목표는 누군가는 몇 시간 동안 기다리고 다른 누군가는 몇 분만 기다리는 불균형을 조절하는 것입니다. 이는 공정성과 효율성에 관한 문제입니다.

기존 방식 vs 새로운 방식

연구진은 이미 꽤 괜찮은 성능을 보여주던 기존 방식(ORG-MAXSAT)을 살펴보았습니다. 하지만 그들은 기존 방식이 마치 손님과 시간의 모든 가능한 조합을 하나하나 다 적어 내려가며 파티를 준비하는 것과 같다는 점을 발견했습니다. 이는 분명히 불가능한 조합들까지도 포함하고 있어, 부피가 크고 느리며 컴퓨터 메모리를 많이 사용했습니다.

베트남 VNU 공과대학교 연구팀은 이를 압축된 버전으로 만들기 위해 결심했습니다. 그들은 문제를 축소하기 위해 세 가지 주요 기술을 도입했습니다:

  1. "사전 검사" 필터 (도메인 필터링): 컴퓨터 탐정에게 퍼즐을 풀라고 요청하기 전에, 스마트한 필터를 먼저 추가했습니다. 이 필터는 규칙을 살펴보고 불가능한 옵션들을 즉시 제외합니다. 예를 들어, 어떤 미팅이 오후 2시에 끝나는 미팅 이후에 반드시 진행되어야 한다면, 필터는 즉시 오후 2시 이전의 시간대들을 가능성 목록에서 제거합니다. 이는 책상 위의 잡동사니를 치워 특정 펜을 찾기 쉽게 만드는 것과 같습니다. 그들은 이 필터가 유효한 솔루션을 버리지 않으면서 오직 쓰레기만을 제거한다는 것을 증명했습니다.
  2. "공유 계단" (희소 공유 접미사 인코딩): "먼저 일어나야 한다"는 규칙을 다룰 때, 기존 방식은 모든 미팅 쌍에 대해 별도의 노트를 작성했습니다. 미팅이 100개라면 수천 개의 노트가 필요했습니다. 새로운 방식은 이러한 노트들이 많은 부분에서 같은 내용을 말하고 있다는 점에 주목했습니다. "미팅 A 이전에 B", "미팅 A 이전에 C", "미팅 A 이전에 D"를 각각 따로 적는 대신, 그들은 공유된 "계단" 형태의 논리를 만들었습니다. 그들은 유사한 상황을 위해 변수를 재사용하는데, 이는 모든 자물쇠마다 새 열쇠를 만드는 대신 여러 문에 사용할 수 있는 마스터 키 하나를 사용하는 것과 같습니다.
  3. "공정성" 점수 (유휴 시간 균형): 단순히 사람들이 가진 휴식 횟수를 세는 대신, 그들은 새로운 방식으로 "유휴 시간"을 측정했습니다. 그들은 한 사람의 첫 번째 미팅부터 마지막 미팅까지의 시간을 살펴보았습니다. 만약 누군가 9시와 11시에 미팅이 있다면, 그들의 "범위(span)"는 2시간입니다. 만약 미팅이 하나뿐이라면 유휴 시간은 0입니다. 목표는 가장 바쁜 사람의 유휴 시간과 가장 한가한 사람의 유휴 시간 사이의 차이를 최소화하는 것입니다.

연구 결과

연구진은 새로운 "압축형" 방식을 기존 방식 및 Gurobi와 같은 매우 강력한 상용 소프트웨어와 비교하여 126개의 공식 테스트 케이스와 미팅이 더 많은 100개의 추가 "스트레스 테스트" 케이스를 대상으로 테스트했습니다.

결과는 매우 인상적이었습니다:

  • 더 작은 크기: 새로운 방식은 컴퓨터가 체크해야 할 논리적 "절(clause, 규칙)"의 수를 평균 40.3% 줄였습니다.
  • 적은 메모리: 피크 메모리 사용량을 55.9% 줄였습니다. 동일한 퍼즐을 푸는 데 절반의 RAM만 필요하다고 상상해 보세요.
  • 더 빠른 속도: 문제를 해결하는 총 시간이 14.0% 감소했습니다.
  • 필터링의 힘: "사전 검사" 필터 하나만 사용해도 변수의 수를 24.1%, 규칙의 수를 16.2% 줄였습니다.
  • 공유의 힘: "공유 계단" 기술은 스케줄이 얼마나 붐비느냐에 따라 규칙의 수를 **0.5%에서 5.5%**까지 더 줄였습니다.

결론

가장 흥표한 부분은 그들의 새로운 압축형 SAT 및 MaxSAT 방식이 126개의 공식 테스트 케이스를 모두 해결할 수 있었다는 점입니다. 더욱이, 중앙값 시간 기준으로 선도적인 상용 솔버인 Gurobi보다 더 빠르게 해결했습니다. CPLEX나 CP Optimizer와 같은 다른 상용 도구들이 시간 제한 내에 모든 케이스를 해결하는 데 어려움을 겪은 반면, 새로운 SAT 기반 접근 방식은 이를 모두 처리해냈습니다.

이 논문이 세상의 모든 스케줄링 문제를 영원히 해결했다고 주장하는 것은 아니지만, 규칙을 정리하고 작업을 더 똑똑하게 공유함으로써 컴퓨터가 우리의 바쁜 삶을 조직하는 데 훨씬 더 나은 능력을 갖출 수 있음을 분명히 보여주었습니다. 이는 거대하고 엉킨 미팅의 매듭을, 모두가 공평한 시간을 나누어 갖고 아무도 복도에서 너무 오래 기다리지 않는 깔끔하고 균형 잡힌 스케줄로 바꾸어 놓았습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →