Adrián Rabadán Jurado Teresa Rodríguez Ferreira
INTRODUCCIÓN -Comenzó el 9 Mayo Sourceforge -Aún se encuentra en fase Beta. Podemos encontrar bugs -Código libre y abierto -Aplicaciones prácticas -Aplicaciones educativas
DOMINIOS BOOL: -Dominio {0,1} -Estructura especialmente optimizada. DISCRETE: -Rango de enteros -Uso de memoria y coste de las operaciones O(tamaño) BOUND: -Rango de enteros -Uso de memoria y coste de las operaciones O(1) SPARSEBOUND: -Idéntico a BOUND, pero permite saltos en el rango
SECCIONES OBLIGATORIAS MINION 3 **VARIABLES** **CONSTRAINTS** **EOF**
MINION 3 **VARIABLES** # Los comentarios van desde la almohadilla hasta # el final de la línea BOOL bool BOUND b {1..3} DISCRETE d {1..3} SPARSEBOUND s {1,3,6,7} DISCRETE q[3] {0..5} BOOL matriz[2,2,2,2] EJEMPLO: VARIABLES
**SEARCH** # Esta sección es opcional VARORDER [bool,b,d, q[_]] # Por defecto en el # orden de declaración VALORDER [a,d,a,a] #Por defecto ascendente MAXIMISING bool # MINIMISING b # Ambas se aceptan tanto con ‘s’ como con ‘z’ PRINT [bool, q] #También se pueden usar PRINT ALL y PRINT NONE EJEMPLO: SEARCH
**CONSTRAINTS** eq(bool, 0) alldiff(vector) product(x, y, 12) weightedsumgeq([2,4], [b, d], 10) EJEMPLO: CONSTRAINTS
**TUPLELIST** # Formato: # Fred Minions EJEMPLO: TUPLELIST
# Se pueden repetir secciones **VARIABLES** **CONSTRAINTS** #q[3] table([q], Fred) table([q],{,, }) **EOF** Todo el texto después del **EOF** se ignora EJEMPLO: FIN DEL CÓDIGO
MINION 3 **VARIABLES** DISCRETE pigs {0..7} DISCRETE hens {0..7} **SEARCH** PRINT [[pigs], [hens]] VARORDER [pigs, hens] **CONSTRAINTS** weightedsumgeq([2,4], [hens, pigs], 22) weightedsumleq([2,4], [hens, pigs], 22) sumleq([hens, pigs], 7) sumgeq([hens, pigs], 7) **EOF** PROBLEMA DEL GRANJERO