def scriptList(listType,typeName,objectifs,chemin,d) : ''' param listType la liste de tous les chemin pour les datas d'un certain type param typeName le nom de ce certain type param objectifs les configurations d'objectifs param dossier le chemin vers le dossier dans lequel seront rangé les resultats DOIT FINIR PAR UN '/' lance le script mais pour un seul type ''' archiveL = [False] firstL = [True,False] for pathname in listType : fl = Flowshop.lecture(pathname) fl.type = typeName for config in objectifs : for first in firstL : for archive in archiveL : for i in range(30) : r.seed(i) certif = fl.certificatAlea() #Simple voisinSimple = simple.VoisinageSimple(certif) cheminSimple = fl.genereFileName(i,config[0],config[1],config[2],config[3],first,archive,voisinSimple.giveName()) (resSimple,nbEval,time) = fl.PLS([voisinSimple],archive=archive,best=(not first),first=first,trace=False,cmax=config[0],tsum=config[1],tmax=config[2],usum=config[3]) creeFichier(chemin+'/'+typeName+d[0]+'/'+cheminSimple,resSimple,nbEval,time) # Shift voisinGauche = gauche.VoisinageGauche(certif) cheminGauche = fl.genereFileName(i,config[0],config[1],config[2],config[3],first,archive,voisinGauche.giveName()) (resGauche,nbEval,time) = fl.PLS([voisinGauche],archive=archive,best=(not first),first=first,trace=False,cmax=config[0],tsum=config[1],tmax=config[2],usum=config[3]) creeFichier(chemin+'/'+typeName+d[1]+'/'+cheminGauche,resGauche,nbEval,time) # Swap voisinSwap = swap.VoisinageSwap(certif) cheminSwap = fl.genereFileName(i,config[0],config[1],config[2],config[3],first,archive,voisinSwap.giveName()) (resSwap,nbEval,time) = fl.PLS([voisinSwap],archive=archive,best=(not first),first=first,trace=False,cmax=config[0],tsum=config[1],tmax=config[2],usum=config[3]) creeFichier(chemin+'/'+typeName+d[2]+'/'+cheminSwap,resSwap,nbEval,time)
def testSimpleDataBest(pathname) : fl = Flowshop.lecture(pathname) voisinageSimple = [] for i in range(10) : voisinageSimple.append(simple.VoisinageSimple(fl.certificatAlea())) fl.PLS(voisinageSimple, trace=True,first=False) for voisin in voisinageSimple : print(voisin.certificat.permutation)
def testLecture() : fl = Flowshop.lecture("data/data/bass/bass_5_9_1.dat") print(fl)
voisinageSimple.append(simple.VoisinageSimple(fl.certificatAlea())) fl.PLS(voisinageSimple, True) for voisin in voisinageSimple : print(voisin.certificat.permutation) def testSimpleDataBest(pathname) : fl = Flowshop.lecture(pathname) voisinageSimple = [] for i in range(10) : voisinageSimple.append(simple.VoisinageSimple(fl.certificatAlea())) fl.PLS(voisinageSimple, trace=True,first=False) for voisin in voisinageSimple : print(voisin.certificat.permutation) def tesGenereFileName(fl) : for i in range(10) : print(fl.genereFileName(i,True,True,True,True,True,'shift')) print(fl.genereFileName(i,False,False,True,True,True,'shift')) print(fl.genereFileName(i,False,False,False,False,True,'shift')) fl = Flowshop.lecture("data/data/bass/bass_10_10_5.dat") certif = FlowshopCertificat.FlowshopCertificat([7, 8, 1, 5, 3, 4, 2, 0, 9, 6]) voisin = simple.VoisinageSimple(certif) print(fl.PLS([voisin],archive=False,first=True,best=False,trace=True,cmax=True,tsum=True,tmax=False,usum=False)) # testSimpleDataBest("data/data/bass/bass_10_10_1.dat") # testSimpleData("data/data/bass/bass_10_10_1.dat") # testLecture() # testOptimisationDirecteSimple(trace = True) # testOptimisationDirecteGauche(trace = True) # testDomine()