정확도를 유지하면서 연산자 수를 줄여 ONNX 모델을 최적화하고 추론 속도 향상을 목표로 하는 Python 툴킷입니다.
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
pip으로 OR-Tools를 설치하세요
pip install -U ortools - 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 통계는 매일 갱신됩니다.
관련 프로젝트
Windows 10/11을 정리하고 최적화 및 커스터마이징하며, 앱을 제거하고 autounattend.xml 파일을 생성하는 유틸리티입니다.
42가지 설정, 설정 패널, 시작 프로그램·예약 작업·정리 도구를 갖춘 무료 오픈소스 Windows 최적화 도구
GPU에서 삼각형 메시를 더 빠르게 렌더링하고 메시 저장 및 전송 용량을 줄이는 C/C++ 라이브러리입니다.
LLM이 코드를 반복적으로 변형하고 점수를 매겨 더 나은 알고리즘을 찾는 오픈소스 진화형 코딩 에이전트로, AlphaEvolve 접근법을 구현합니다.
APK를 더 작고 빠르게 만들도록 .dex 파일을 재작성하는 Android 앱용 바이트코드 최적화 도구입니다.