Repolode
d-krupke

d-krupke/cpsat-primer

Google OR-Tools의 CP-SAT solver로 조합 최적화 문제를 모델링하고 푸는 방법을 가르치는 무료 입문서입니다.

스타
834
포크
69
열린 이슈
9
마지막 커밋
2개월 전

어떤 프로젝트인가요?

CP-SAT Primer는 제약 프로그래밍과 SAT 기반 조합 최적화 solver인 Google OR-Tools의 CP-SAT solver를 익힐 수 있도록 구성한 무료 도서형 튜토리얼입니다. 컴퓨터 과학 전공 학생과 개발자를 대상으로 하며, Python 예제를 전반에 걸쳐 제공하고 CP-SAT를 혼합 정수 계획법(MIP) solver 및 다른 최적화 도구와 비교합니다.

첫 번째 파트에서는 설치, 첫 모델 만들기, 변수·목적 함수·제약 조건의 기본 모델링, circuit·interval·reservoir 제약 조건 같은 고급 제약 조건, solver 파라미터 설정, solver 로그 읽는 법을 다룹니다. 두 번째 파트에서는 유지보수하기 좋은 최적화 코드 작성 패턴, API를 통한 최적화 작업 제공, large neighborhood search 휴리스틱, 모델 벤치마킹 등 실무 엔지니어링 주제를 다룹니다.

이 입문서는 TU Braunschweig의 Dominik Krupke가 관리하며 CC-BY 4.0 라이선스로 공개되어 있습니다. 책과 같은 콘텐츠를 볼 수 있는 웹사이트도 함께 제공됩니다.

핵심 기능

  • 01변수, 목적 함수, 선형 및 논리 제약 조건 등 CP-SAT의 기초를 다룹니다.
  • 02circuit, interval, no-overlap 같은 고급 제약 조건을 설명합니다.
  • 03solver의 시간 제한, 힌트, 병렬 처리 설정 방법을 보여줍니다.
  • 04solver 로그를 해석해 해의 품질을 판단하는 방법을 알려줍니다.
  • 05CP-SAT를 MIP solver 및 다른 최적화 기법과 비교합니다.
  • 06Python 코드 예제와 large neighborhood search 섹션을 포함합니다.

활용 사례

  • 컴퓨터 과학 전공 학생이 조합 최적화를 학습할 때.
  • 스케줄링이나 라우팅 모델에 MIP solver 대신 CP-SAT를 도입할 때.
  • API 뒤에서 CP-SAT를 실행하는 유지보수하기 좋은 최적화 서비스를 구축할 때.
  • 프로덕션 문제를 위한 CP-SAT 모델을 벤치마킹하고 튜닝할 때.

빠른 시작

  1. 1

    pip으로 OR-Tools를 설치하세요

    pip install -U ortools
  2. 2

    README에서 Knapsack 예제를 복사해 Python으로 실행하세요

토픽

자주 묻는 질문

cpsat-primer은(는) 무엇인가요?
Google OR-Tools의 CP-SAT solver로 조합 최적화 문제를 모델링하고 푸는 방법을 가르치는 무료 입문서입니다. CP-SAT Primer는 제약 프로그래밍과 SAT 기반 조합 최적화 solver인 Google OR-Tools의 CP-SAT solver를 익힐 수 있도록 구성한 무료 도서형 튜토리얼입니다. 컴퓨터 과학 전공 학생과 개발자를 대상으로 하며, Python 예제를 전반에 걸쳐 제공하고 CP-SAT를 혼합 정수 계획법(MIP) solver 및 다른 최적화 도구와 비교합니다.
cpsat-primer은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
cpsat-primer은(는) CC-BY-4.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
cpsat-primer은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. cpsat-primer의 마지막 커밋은 2026년 9월 6일입니다.
cpsat-primer은(는) 어디에 사용할 수 있나요?
컴퓨터 과학 전공 학생이 조합 최적화를 학습할 때. 스케줄링이나 라우팅 모델에 MIP solver 대신 CP-SAT를 도입할 때. API 뒤에서 CP-SAT를 실행하는 유지보수하기 좋은 최적화 서비스를 구축할 때. 프로덕션 문제를 위한 CP-SAT 모델을 벤치마킹하고 튜닝할 때.
cpsat-primer는 어떻게 설치하나요?
pip으로 OR-Tools를 설치하세요: pip install -U ortools README에서 Knapsack 예제를 복사해 Python으로 실행하세요
cpsat-primer은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/d-krupke/cpsat-primer

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트