Red de conocimientos turísticos - Conocimientos sobre calendario chino - Resolver el problema de la mochila 0-1 utilizando el método de cola y la rama de cola prioritaria y el método enlazado respectivamente

Resolver el problema de la mochila 0-1 utilizando el método de cola y la rama de cola prioritaria y el método enlazado respectivamente

Utilice el método de rama y enlace de prioridad para diseñar un algoritmo para el problema de mochila 0/1. Domine la idea básica del método de rama y enlace y los pasos básicos del diseño del algoritmo. Preste atención al método para determinar la prioridad del nodo y la heurística. información que conduzca a encontrar la solución óptima.

Requisitos: Diseñar un algoritmo de rama y restricción para el problema de mochila 0/1, implementar el algoritmo en lenguaje C (lenguaje c) y dar los resultados del correcto funcionamiento del programa.

Nota:

1. Ordene los elementos según el valor por unidad de volumen de mayor a menor.

2. Construya el espacio de estado de la rama prioritaria y el método de restricción; Árbol, ***n capa, las dos ramas de cada nodo en la i-ésima capa representan respectivamente la toma o no del i-ésimo elemento;

3. El nodo es S, que representa instalado El volumen total de artículos cargados en la mochila, V representa el valor total de los artículos cargados en la mochila, u representa el límite superior del nodo actual, la fórmula de cálculo es la siguiente:

u=V (C-S) (vi 1/si 1)

Donde C representa el volumen total de la mochila, vi 1 representa el valor del i 1º artículo y si 1 representa el volumen del i 1º artículo.

4. Elija una estructura de datos adecuada (como un montón máximo o una matriz lineal básica) para implementar el algoritmo y generar el resultado final.