Repolode
d-krupke

d-krupke/cpsat-primer

Guía gratuita en formato de libro para aprender a modelar y resolver problemas de optimización combinatoria con el solver CP-SAT de Google OR-Tools.

Estrellas
834
Forks
69
Issues abiertos
9
Último commit
hace 2 meses

¿Qué es?

CP-SAT Primer es un tutorial gratuito, en formato de libro, para aprender a usar el solver CP-SAT de Google OR-Tools, basado en programación por restricciones y SAT, para optimización combinatoria. Está dirigido a estudiantes de informática y desarrolladores, incluye ejemplos en Python y compara CP-SAT con solvers de programación lineal entera mixta (MIP) y otras herramientas de optimización.

La primera parte abarca la instalación, un primer modelo, los fundamentos del modelado de variables, objetivos y restricciones, restricciones avanzadas como las de circuito, intervalo y reservorio, los parámetros del solver y cómo leer su registro. La segunda parte aborda aspectos prácticos de ingeniería: patrones de código para mantener el código de optimización, ejecución de trabajos de optimización a través de una API, heurísticas de búsqueda de vecindad amplia y evaluación comparativa de modelos.

Dominik Krupke, de TU Braunschweig, mantiene esta guía, publicada bajo la licencia CC-BY 4.0. También cuenta con un sitio web complementario que presenta el mismo contenido en formato de libro.

Funciones clave

  • 01Explica los fundamentos de CP-SAT: variables, objetivos y restricciones lineales y lógicas.
  • 02Explica restricciones avanzadas, como las de circuito, intervalo y no solapamiento.
  • 03Muestra cómo configurar límites de tiempo, sugerencias y paralelismo en el solver.
  • 04Enseña a interpretar el registro del solver para evaluar la calidad de una solución.
  • 05Compara CP-SAT con solvers MIP y otras técnicas de optimización.
  • 06Incluye ejemplos de código en Python y una sección sobre búsqueda de vecindad amplia.

Casos de uso

  • Aprender optimización combinatoria como estudiante de informática.
  • Pasar de un solver MIP a CP-SAT para modelos de planificación o enrutamiento.
  • Crear un servicio de optimización fácil de mantener, con CP-SAT detrás de una API.
  • Evaluar y ajustar un modelo CP-SAT para un problema de producción.

Inicio rápido

  1. 1

    Instala OR-Tools con pip

    pip install -U ortools
  2. 2

    Copia el ejemplo de Knapsack del README y ejecútalo en Python

Temas

Preguntas frecuentes

¿Qué es cpsat-primer?
Guía gratuita en formato de libro para aprender a modelar y resolver problemas de optimización combinatoria con el solver CP-SAT de Google OR-Tools. CP-SAT Primer es un tutorial gratuito, en formato de libro, para aprender a usar el solver CP-SAT de Google OR-Tools, basado en programación por restricciones y SAT, para optimización combinatoria. Está dirigido a estudiantes de informática y desarrolladores, incluye ejemplos en Python y compara CP-SAT con solvers de programación lineal entera mixta (MIP) y otras herramientas de optimización.
¿cpsat-primer es gratuito? ¿Qué licencia tiene?
cpsat-primer es open source bajo la licencia CC-BY-4.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿cpsat-primer sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de cpsat-primer fue el 6 sept 2026.
¿Para qué puedo usar cpsat-primer?
Aprender optimización combinatoria como estudiante de informática. Pasar de un solver MIP a CP-SAT para modelos de planificación o enrutamiento. Crear un servicio de optimización fácil de mantener, con CP-SAT detrás de una API. Evaluar y ajustar un modelo CP-SAT para un problema de producción.
¿Cómo se instala cpsat-primer?
Instala OR-Tools con pip: pip install -U ortools Copia el ejemplo de Knapsack del README y ejecútalo en Python
¿Dónde consigo cpsat-primer?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/d-krupke/cpsat-primer

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados