Prácticas de la asignatura de Algoritmos y Programación, enfocadas en el estudio de algoritmos y problemas de optimización.
Desarrollado en Python y Minizinc
- Presentación
- Grafos: Introducción
- Grafos: BFS - Shortest Path Length
- Grafo dirigido
- Grafos: DFS - Topological Sort
- Funciones generadoras
- N-Queens
- Branch and Bound: Node class
- Branch and Bound: DFS (recorrido)
- Branch and Bound: DFS
- House Robber
- Knapsack 0/1 (MEMOIZATION)
- Knapsack 0/1 (TABULATION)
- TSP 2 - Aproximado
- TSP 3/2 - Aproximado Christofides
- Algoritmo genérico: Cruce de ciclo
- Hello World
- Input and Output
- Variable de decisión
- X óptima
- Array
- Count
- Army
- Sequence
- House Robber
- Knapsack 0/1
- Knapsack con repetición
- Parejas estables (beneficio hombres)
- Parejas estables (beneficio mujeres)
- Parejas estables (maxima igualdad)
- Knapsack 0/1 limitada
- Dieta
- Dieta 2
- Planificación temporal
- Flujo máximo
- TSP trayecto parcial mínimo
- Emparejamiento perfecto de coste mínimo
- Sudoku
- Incógnitas
- Caramelos
- Palillos
- Transportistas
Ejecutar programas de Minizinc por consola:
minizinc <nombre_archivo.mzn>
-
Para mostrar todos los resultados añadimos el parámetro
-a
:minizinc <nombre_archivo.mzn> -a
-
Para establecer valores de entrada usamos el parámetro
-D
:minizinc <nombre_archivo.mzn> -D <nombre_variable> = <valor_variable> (-D <nombre_variable_siguiente> = <valor_variable_siguiente>...)