2008-11-26 21 views
38

Buscando consejos, tutoriales, libros y otros recursos para comenzar con la Programación de restricciones.Comenzar con la Programación de restricciones

+0

[Documentación OptaPlanner] (https://docs.optaplanner.org/latestFinal/optaplanner-docs/ html_single /) contiene una explicación sobre los algoritmos de búsqueda local como Tabu Search, Simulated Annealing y Late Acceptance, así como otros algoritmos como Branch y Bound.También explica cómo pensar acerca de la puntuación (difícil vs suave, ponderación, positivo vs negativo, pareto, etc.) –

Respuesta

17

Hay un montón de material excelente disponible en la web una vez que entra en la ranura, pero los siguientes enlaces son buenos puntos de partida (los que yo he usado).

Programming with Constraints: An Introduction - (Course website)
Programming with Constraints: An Introduction - (Google book)
Online Guide to Constraint Programming
CSP Tutorial (4C Outreach Programme)

+1

Agregué un enlace que encontré. Espero que esté bien. Es mejor tener una respuesta correcta completa. – pek

4

Recomiendo comenzar con mozart. Es un lenguaje de programación de restricciones de código abierto y el sitio tiene una gran cantidad de documentación que lo ayudará a comenzar.

+0

Este enlace parece estar roto ahora. ¿Se actualizará pronto? –

6

Tal vez pueda echar un vistazo a una introducción al course en la Universidad de Saarland sobre la programación de restricciones. No usan mozart como dr_pepper, sino Gecode. Gecode es un lenguaje de seguimiento de mozart, implementado en parte por las mismas personas.

+0

Gecode en realidad no es un lenguaje sino un framework C++. Sin embargo, Gecode también admite MiniZinc, que es un lenguaje de modelado. – tunnuz

+0

El curso anterior está completo y con buenas diapositivas. Para obtener un resultado más rápido, visión general: consulte prolog (el idioma de facto) tuts: http://www.doc.gold.ac.uk/~mas02gw/prolog_tutorial/prologpages/index.html#menu – tinmarino

3

Aquí hay otro enlace a un sitio web en el supuesto Constraint Programming.

Anteriormente el curso utilizó Mozart/Oz para las evaluaciones, pero ahora ha sido reemplazado por Gecode.

+0

Tu primer enlace está muerto. – sloth

+0

Actualización para el primer enlace: https://www.kth.se/social/course/ID2204/ – boutta

8

Reglas de manejo de restricciones (CHR) es un lenguaje para desarrollar solucionadores de restricciones propios (específicos del problema). Mira esto:

Allí se encuentran enlaces a

  • WebCHR línea de demostración (originalmente desarrollado en la LMU Munich, ahora embellecido en Uni Ulm)
  • Varias implementaciones para Prolog (na turally) y Haskell, así como un prototipo (desafortunadamente no mantenido) para Java (JCK).
+1

https://dtai.cs.kuleuven.be/CHR/ – user2023370

+0

Enlace actualizado, gracias! – BenC

+0

También hay [una implementación de CHR para JavaScript] (http://chrjs.net/). –

3

le sugiero que busque adicionalmente en la siguiente página web de programación con restricciones maintaned por Håkan Kjellerstrand (también conocido como Hakank) en Hakank's Homepage

+0

Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. –

+0

La pregunta es para pedir referencias. Mi respuesta de referencia es un enlace. Solo mira todas las otras respuestas. Son similares a los míos porque la pregunta es pedir respuestas como esta. –

+0

Esto es fuera de tema ... –

Cuestiones relacionadas