Problema del vendedor ambulante | Retroceso: permutación N (poda mínima)

Problema del vendedor ambulante ( TSP ): Dada una serie de ciudades y la distancia entre cada par de ciudades, resuelve el circuito más corto que visita cada ciudad una vez y regresa a la ciudad inicial.

Es un problema NP difícil en la optimización combinatoria ~


 1. Ideas

       El algoritmo de retroceso consiste en clasificar, ordenar y realizar razonablemente el recorrido completo. Obviamente, TSP pasa por diferentes ciudades una vez, y elegir el orden de paso por cada ciudad tiene un impacto en la distancia total del circuito. Por lo tanto, el espacio de solución del problema TSP es la disposición general, por lo que debemos atravesar la disposición de todos los puntos .

       La necesidad de atravesar para ordenar la situación n puntos, necesitamos seleccionar n - 1 veces, y podemos crear una disposición muy vívida del árbol de decisión : la i-ésima capa del árbol que es la i

 Debe haber (n-i + 1) opciones para la elección de posiciones. Por ejemplo, el siguiente es un árbol de decisiones que atraviesa todas las permutaciones del número 123:


Segundo, implementación de pseudocódigo

       Suponga que todos los números se almacenan inicialmente en la matriz x fuera de orden. El i-ésimo nivel en el árbol de decisión es la elección para el i-ésimo nivel. Cuando se pasa al i-ésimo nivel, se ha determinado el número de 1 ~ i-1 dígitos (almacenados en la matriz x), por lo que solo podemos elegir el i-ésimo nivel x [i] ~ x [n].

       Aquí está en realidad la operación de poda con el problema más pequeño : solo cuando el valor actual sea menor que el mínimo registrado, continuaremos al siguiente nivel de búsqueda.

backtrack(int t) {  //搜索树的第t层:确定第 t 位的选择
    if(t > n) {
        //遍历的终点
        return;
    }
    for i = t : n
        change x[i] and x[t]  //选则第 i个数为 第 t 位
        if 满足限制条件和界限条件
            backtrack(t + 1)  //继续选择下一位
        change x[i] and x[t]  //换回来哦
}

 

Supongo que te gusta

Origin blog.csdn.net/weixin_43787043/article/details/106065477
Recomendado
Clasificación