{{ n.inc ? '+' : '−' }}{{ items[n.depth - 1].i }} {{ nodeTitle(n) }} {{ n.label }} {{ money(n.profit) }} / {{ money(n.bound) }} peso {{ n.weight }} / {{ capacity }} {{ currentStep.order[n.id] }} {{ MARKS[markOf(n)] }}
{{ draftError }}
📥 Pendientes ({{ STRATEGIES[strategy].struct }})
nodovalor / cota
(vacía)
{{ nodes[id].label }} sale {{ money(nodes[id].profit) }} / {{ money(nodes[id].bound) }}

En el orden en que van a salir.

★ Mejor
mejor = {{ fmtBest(currentStep.best) }}
mejorSolucion = {{ currentStep.bestId === null ? '—' : fmtChosen(nodes[currentStep.bestId]) }}
Generados: {{ visibleNodes.length }} de {{ maxNodes }} nodos posibles
📋 Seguimiento por paso
Paso Sale Valor / cota Peso mejor Qué pasa
(todavía no salió ningún nodo)
{{ row.label }} {{ money(row.profit) }} / {{ money(row.bound) }} {{ row.weight }} {{ fmtBest(row.best) }}{{ row.star ? ' ★' : '' }} {{ row.what }}
💻 Pseudocódigo
{{ line }}
🧩 Funciones para la mochila 0/1
ipwp/w
{{ it.i }}{{ money(it.p) }}{{ it.w }}{{ fmtNum(it.p / it.w) }}

En el orden del árbol · W = {{ capacity }}

HijosDe(nodo)incluir o no incluir el siguiente ítem
EsFactible(nodo)peso ≤ {{ capacity }}
EsSolucion(nodo)siempre: toda selección factible es una solución
Valor(nodo)el beneficio
Cota(nodo)beneficio + mochila fraccionaria con los ítems que faltan: se toman por p/w de mayor a menor, enteros mientras entren, y del primero que no entra la fracción que cabe (0 si es infactible)
🔍 Explicación
{{ currentStep.badge.icon }} {{ currentStep.badge.text }}

Paso {{ currentStepIndex + 1 }} de {{ steps.length }}

⏱️ Complejidad:
{{ h }}
{{ r[0] }}

Leyenda
  • {1, !2} incluye el ítem 1 y no el 2; abajo, valor / cota y peso / W
  • En pendientes
  • Nodo que acaba de salir
  • Ya salió
  • Mejor solución hasta ahora (★)
  • Nodo seleccionado con un clic (o en su paso de la tabla): su paso queda resaltado
  • 3 Paso en que salió de pendientes
  • ✗ Infactible (peso > W)
  • ✂ Poda por cota (cota ≤ mejor)