Python-инструментарий для оптимизации моделей ONNX: сокращает число операторов, стремясь сохранить точность и ускорить инференс.
d-krupke/cpsat-primer
Бесплатное учебное пособие в формате книги по моделированию и решению задач комбинаторной оптимизации с помощью CP-SAT solver из Google OR-Tools.
- Звёзды
- 834
- Форки
- 69
- Открытые issues
- 9
- Последний коммит
- 2 месяца назад
Что это?
CP-SAT Primer — бесплатное учебное пособие в формате книги, которое помогает освоить CP-SAT solver из Google OR-Tools — решатель для комбинаторной оптимизации, основанный на constraint programming и SAT. Материал рассчитан на студентов компьютерных наук и разработчиков, содержит примеры на Python и сравнивает CP-SAT с решателями mixed integer programming (MIP) и другими инструментами оптимизации.
В первой части рассматриваются установка, создание первой модели, основы моделирования переменных, целевых функций и ограничений, продвинутые ограничения — circuit, interval и reservoir, параметры решателя и чтение его логов. Во второй части разбираются практические инженерные темы: паттерны для разработки поддерживаемого кода оптимизации, запуск задач оптимизации через API, эвристики large neighborhood search и бенчмаркинг моделей.
Пособие поддерживает Dominik Krupke из TU Braunschweig. Оно распространяется по лицензии CC-BY 4.0; к нему прилагается сайт, на котором тот же материал представлен в формате книги.
Ключевые возможности
- 01Рассматривает основы CP-SAT: переменные, целевые функции, линейные и логические ограничения.
- 02Объясняет продвинутые ограничения, такие как circuit, interval и no-overlap.
- 03Показывает, как задавать лимиты времени, подсказки и параллелизм в решателе.
- 04Учит анализировать логи решателя, чтобы оценивать качество решения.
- 05Сравнивает CP-SAT с решателями MIP и другими методами оптимизации.
- 06Содержит примеры кода на Python и раздел о large neighborhood search.
Сценарии использования
- Изучение комбинаторной оптимизации в рамках обучения на факультете компьютерных наук.
- Переход с решателя MIP на CP-SAT для моделей планирования или маршрутизации.
- Разработка поддерживаемого сервиса оптимизации на CP-SAT с API.
- Бенчмаркинг и настройка модели CP-SAT для производственной задачи.
Быстрый старт
- 1
Установите OR-Tools с помощью pip
pip install -U ortools - 2
Скопируйте пример Knapsack из README и запустите его на Python
Темы
Частые вопросы
- Что такое cpsat-primer?
- Бесплатное учебное пособие в формате книги по моделированию и решению задач комбинаторной оптимизации с помощью CP-SAT solver из Google OR-Tools. CP-SAT Primer — бесплатное учебное пособие в формате книги, которое помогает освоить CP-SAT solver из Google OR-Tools — решатель для комбинаторной оптимизации, основанный на constraint programming и SAT. Материал рассчитан на студентов компьютерных наук и разработчиков, содержит примеры на Python и сравнивает CP-SAT с решателями mixed integer programming (MIP) и другими инструментами оптимизации.
- cpsat-primer можно использовать бесплатно? Какая у него лицензия?
- cpsat-primer распространяется с открытым исходным кодом под лицензией CC-BY-4.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- cpsat-primer всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в cpsat-primer — 6 сент. 2026 г..
- Для чего можно использовать cpsat-primer?
- Изучение комбинаторной оптимизации в рамках обучения на факультете компьютерных наук. Переход с решателя MIP на CP-SAT для моделей планирования или маршрутизации. Разработка поддерживаемого сервиса оптимизации на CP-SAT с API. Бенчмаркинг и настройка модели CP-SAT для производственной задачи.
- Как установить cpsat-primer?
- Установите OR-Tools с помощью pip: pip install -U ortools Скопируйте пример Knapsack из README и запустите его на Python
- Где скачать cpsat-primer?
- Исходный код и инструкции по установке — на GitHub: https://github.com/d-krupke/cpsat-primer
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Утилита для Windows 10/11: удаляет лишние приложения, оптимизирует и настраивает систему, а также создает файлы autounattend.xml.
Бесплатный инструмент с открытым исходным кодом для оптимизации Windows: 42 настройки, панель параметров и инструменты для управления автозагрузкой и задачами, а также для очистки системы.
Библиотека C/C++ для оптимизации треугольных сеток: ускоряет их рендеринг на GPU и уменьшает размер хранения и передачи.
Эволюционный агент для генерации кода с открытым исходным кодом: он итеративно изменяет и оценивает программы с помощью LLM, чтобы находить более эффективные алгоритмы, реализуя подход AlphaEvolve.
Оптимизатор байткода Android-приложений, который переписывает .dex-файлы, уменьшая размер APK и повышая скорость работы.