Exemple #1
0
def testQuestion4_2():
    '''On verifie la resolution du probleme'''
    g = pointsAleatoires(20, 200)
    gtest = graphe.reseau2(g)
    tournee = gtest.sommets[0:6]
    (cout, itineraire) = gtest.voyageurDeCommerceNaif(tournee)
    gtest.traceItineraire(itineraire)
    graphique.affiche(gtest, (3., 2.), 200.)
Exemple #2
0
def testQuestion3_2():
    '''
    On compare les resultats de dijkstra sur deux memes reseaux routiers,
    l'un ayant le carburant comme cout et l'autre le temps.
    '''
    g_carb = pointsAleatoires(100, 200)
    graphe.reseau2(g_carb)
    g_temps = copy.deepcopy(g_carb)
    for a in g_carb.aretes:
        a.fixeCarburantCommeCout()
    g_carb.dijkstra(g_carb.sommets[0])
    g_carb.traceArbreDesChemins()
    graphique.affiche(g_carb, (3., 2.), 100., blocage=False)
    for a in g_temps.aretes:
        a.fixeTempsCommeCout()
    g_temps.dijkstra(g_temps.sommets[0])
    g_temps.traceArbreDesChemins()
    graphique.affiche(g_temps, (3., 2.), 100.)
Exemple #3
0
def testQuestion3_4():
    '''On affiche un graphe ou le chemin optimal est colore'''
    g = pointsAleatoires(100, 100)
    gtest = graphe.reseau2(g)
    gtest.fixeCarburantCommeCout()
    gtest.dijkstra(gtest.sommets[0])
    arrivee = gtest.sommets[60]
    chemin_opti = gtest.cheminOptimal(arrivee)
    gtest.colorieChemin(chemin_opti, (1., 0., 1.))
    graphique.affiche(gtest, (3., 2.), 100.)
Exemple #4
0
def testQuestion4_1():
    '''On teste le fonctionnement de matriceCout'''
    g = pointsAleatoires(100, 100)
    gtest = graphe.reseau2(g)
    tournee = [gtest.sommets[int(random.random() * 100)] for i in range(6)]
    res = gtest.matriceCout(tournee)
    print(res)
    afficher = input("Appuyer sur v pour afficher le graphe : "
                     )  #pour afficher la matrice de cout avant le graphe
    if afficher == "v":
        graphique.affiche(gtest, (3., 2.), 100.)
Exemple #5
0
def testQuestion4_3():
    '''On evalue le temps de calcul en fonction du nombre de villes a visiter.'''
    g = pointsAleatoires(100, 200)
    gtest = graphe.reseau2(g)
    parametres = range(3, 15)

    def prepare(n):
        return [
            gtest.sommets[int(random.random() * 100)] for i in range(1, n + 1)
        ]

    plt.plot(
        parametres,
        graphe.chronometre(gtest.voyageurDeCommerceNaif, prepare, parametres),
        'b')
    plt.show()
Exemple #6
0
 def prepare(n):
     return (graphe.reseau2(pointsAleatoires(n, 150)))