🎒 Representaciones para el problema de la mochila

Explora cómo diferentes representaciones (binaria, entera, continua y permutaciones) afectan la forma de codificar y evaluar soluciones para el problema de la mochila. Cada representación tiene sus propias ventajas y desventajas, y es importante entender cómo evaluar correctamente una solución según la representación elegida.

Capacidad
50 kg
Peso usado
0 kg
Valor total
$0
Estado
Listo
Capacidad de la mochila 0%

🎒 Mochila

Los objetos seleccionados aparecerán aquí

📦 Objetos disponibles (15 items)

Haz clic en un objeto para seleccionarlo/deseleccionarlo

💻 Representación actual: Binaria

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Cada posición representa si un objeto está incluido (1) o no (0) en la mochila.

✓ Ventajas

  • Simple y directa
  • Fácil de implementar
  • Espacio de búsqueda claro

✗ Desventajas

  • No permite cantidades múltiples
  • Puede generar soluciones inválidas

📝 Pseudocódigo para evaluar una solución dada la representación

función evaluar_solución(solución, items, capacidad):
    peso_total = 0
    valor_total = 0
    
    para i desde 0 hasta longitud(solución) - 1:
        si solución[i] == 1:
            peso_total += items[i].peso
            valor_total += items[i].valor
    
    si peso_total > capacidad:
        retornar INVÁLIDA  // o penalizar
    
    retornar valor_total

Este pseudocódigo muestra cómo evaluar una solución en la representación actual.

💡 ¿Cómo funciona?

Haz clic en los objetos para seleccionarlos o usa los botones para generar soluciones automáticas. Cambia entre diferentes representaciones para ver cómo afectan la codificación y evaluación de soluciones. Con 15 objetos disponibles, encontrar la combinación óptima es un verdadero desafío.