ometah-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[oMetah-devel] ometah/experiment interface.py metahtest.py


From: Jean-Philippe Aumasson
Subject: [oMetah-devel] ometah/experiment interface.py metahtest.py
Date: Fri, 10 Jun 2005 02:28:42 -0400

CVSROOT:        /cvsroot/ometah
Module name:    ometah
Branch:         
Changes by:     Jean-Philippe Aumasson <address@hidden> 05/06/10 06:28:42

Modified files:
        experiment     : interface.py metahtest.py 

Log message:
        * bug in getHeader fixed

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/experiment/interface.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/experiment/metahtest.py.diff?tr1=1.11&tr2=1.12&r1=text&r2=text

Patches:
Index: ometah/experiment/interface.py
diff -u ometah/experiment/interface.py:1.1 ometah/experiment/interface.py:1.2
--- ometah/experiment/interface.py:1.1  Thu Jun  9 12:43:20 2005
+++ ometah/experiment/interface.py      Fri Jun 10 06:28:42 2005
@@ -175,5 +175,10 @@
             self.log('ERROR : cannot write file [Interface.copyToDisk]\n')
         wfd.close()
         return xfile
-                
 
+    def moveLog(self):
+        """ move the log file to the new path value """
+        src = "./%s" % (self.__logfile)
+        tar = "%s/" % (self.__path)
+        # TODO !!!!!!!!!!!!
+        # !!! pas de os.cp / os.mv ??? ...fchdir ?
Index: ometah/experiment/metahtest.py
diff -u ometah/experiment/metahtest.py:1.11 ometah/experiment/metahtest.py:1.12
--- ometah/experiment/metahtest.py:1.11 Thu Jun  9 15:36:10 2005
+++ ometah/experiment/metahtest.py      Fri Jun 10 06:28:42 2005
@@ -40,7 +40,7 @@
 
 W Organisation fichiers (arborescence ? noms fichiers ? clé/ID unique ? ..?)
 
-Interface pour N runs, en plottant le nécessaire à chaque fois...
+W Interface pour N runs, en plottant le nécessaire à chaque fois...
 1000 < N < 100 000
 
 D renommer fonctions de plot selon les conventions
@@ -52,7 +52,7 @@
 
 D setBitmap & co comme méthodes d'interface, et noms de fichiers par défaut 
(nom pb, etc...)
 
-récupérer infos sur le problème à partir du header XML, et instancier un 
Header à remplir selon les vars parsées
+D récupérer infos sur le problème à partir du header XML, et instancier un 
Header à remplir selon les vars parsées
 
 plottage de distribution : distrib pour chaque iteration, et pas pour 
l'ensemble...superposition des distributions ?
 -> distrib pour optima
@@ -71,6 +71,8 @@
 
 passer directements les coodronnées lues en float, au lieu de le faire au 
plotting -> économies de float()
 
+renommer logfile et sortie XML APRES, because on ne connaît pas encore le 
titre (nom pb + algo)
+
 /----
 
 NOTES
@@ -175,44 +177,53 @@
         self.__header__ = Header()
 
         # Exceptions !
+        try:
+            # 1 remplir problem, et l'instancier avant
+            probl = self.__getRootElement().getElementsByTagName('problem')[0]
+
+            self.__header__.problem.key = 
self.__getText(probl.getElementsByTagName('key')[0])
+            self.__header__.problem.name = 
self.__getText(probl.getElementsByTagName('name')[0])
+            self.__header__.problem.description = 
self.__getText(probl.getElementsByTagName('description')[0])
+            self.__header__.problem.dimension = 
int(self.__getText(probl.getElementsByTagName('dimension')[0]))
+            self.__header__.problem.reference = 
self.__getText(probl.getElementsByTagName('reference')[0])
+
+            optimums = probl.getElementsByTagName('optimums')[0]
+            for point in optimums.getElementsByTagName('point'):
+                if point.nodeType == point.ELEMENT_NODE:
+                    p = Point()
+                    p.value = 
self.__getText(point.getElementsByTagName('values')[0])
+                    p.coords = 
self.__getList(point.getElementsByTagName('solution'))
+                    self.__header__.problem.optimum.append(p)
+                    bounds = probl.getElementsByTagName('bounds')[0]
+                    mini = bounds.getElementsByTagName('minimums')[0]
+                    for point in mini.getElementsByTagName('point'):
+                        if point.nodeType == point.ELEMENT_NODE:
+                            p = Point()
+                            p.coords = 
self.__getList(point.getElementsByTagName('solution'))
+                            self.__header__.problem.min_bound.append(p)
+                            maxi = bounds.getElementsByTagName('maximums')[0]  
      
+                            for point in maxi.getElementsByTagName('point'):
+                                if point.nodeType == point.ELEMENT_NODE:
+                                    p = Point()
+                                    p.coords = 
self.__getList(point.getElementsByTagName('solution'))
+                                    self.__header__.problem.min_bound.append(p)
+
+        except:
+            self.__interface.log('ERROR : XML exploration error for <problem> 
[XMLParser.getHeader]\n')
+
+        try:
+            # 2 idem pour metaheur
+            metah = 
self.__getRootElement().getElementsByTagName('metaheuristic')[0]
+            self.__header__.metah.key = 
self.__getText(metah.getElementsByTagName('key')[0])
+            self.__header__.metah.name = 
self.__getText(metah.getElementsByTagName('name')[0])
+            self.__header__.metah.family = 
self.__getText(metah.getElementsByTagName('family')[0])
+            self.__header__.metah.acronym = 
self.__getText(metah.getElementsByTagName('accronym')[0])
+            self.__header__.metah.description = 
self.__getText(metah.getElementsByTagName('description')[0])
+            self.__header__.metah.reference = 
self.__getText(metah.getElementsByTagName('reference')[0])
+        except:
+            self.__interface.log('ERROR : XML exploration error for 
<metaheuristic> [XMLParser.getHeader]\n')
 
-        # 1 remplir problem, et l'instancier avant
-        probl = self.__getRootElement().getElementsByTagName('problem')[0]
-        self.__header__.problem.key = 
self.__getText(probl.getElementsByTagName('key')[0])
-        self.__header__.problem.name = 
self.__getText(probl.getElementsByTagName('name')[0])
-        self.__header__.problem.description = 
self.__getText(probl.getElementsByTagName('description')[0])
-        self.__header__.problem.dimension = 
int(self.__getText(probl.getElementsByTagName('dimension')[0]))
-        self.__header__.problem.reference = 
self.__getText(probl.getElementsByTagName('reference')[0])
-        optimums = probl.getElementsByTagName('optimums')[0]
-        for point in optimums.getElementsByTagName('point'):
-            if point.nodeType == point.ELEMENT_NODE:
-                p = Point()
-                p.value = 
self.__getText(point.getElementsByTagName('values')[0])
-                p.coords = 
self.__getList(point.getElementsByTagName('solution'))
-                self.__header__.problem.optimum.append(p)
-        bounds = probl.getElementsByTagName('bounds')[0]
-        mini = bounds.getElementsByTagName('minimums')[0]
-        for point in mini.getElementsByTagName('point'):
-            if point.nodeType == point.ELEMENT_NODE:
-                p = Point()
-                p.coords = 
self.__getList(point.getElementsByTagName('solution'))
-                self.__header__.problem.min_bound.append(p)
-        maxi = bounds.getElementsByTagName('maximums')[0]        
-        for point in maxi.getElementsByTagName('point'):
-            if point.nodeType == point.ELEMENT_NODE:
-                p = Point()
-                p.coords = 
self.__getList(point.getElementsByTagName('solution'))
-                self.__header__.problem.min_bound.append(p)
-        
-        # 2 idem pour metaheur
-        metah = 
self.__getRootElement().getElementsByTagName('metaheuristic')[0]
-        self.__header__.metah.key = 
self.__getText(metah.getElementsByTagName('key')[0])
-        self.__header__.metah.name = 
self.__getText(metah.getElementsByTagName('name')[0])
-        self.__header__.metah.family = 
self.__getText(metah.getElementsByTagName('family')[0])
-        self.__header__.metah.acronym = 
self.__getText(metah.getElementsByTagName('accronym')[0])
-        self.__header__.metah.description = 
self.__getText(metah.getElementsByTagName('description')[0])
-        self.__header__.metah.reference = 
self.__getText(metah.getElementsByTagName('reference')[0])
-
+        return self.__header__
 
     
 class Problem:
@@ -250,16 +261,15 @@
 class Header:
     """ for additional informations in XML file """
 
-    problem = None
-    metah = None
-        
+    problem = Problem()
+    metah = Metaheuristic()
+
     def __init__(self):
-        problem = Problem()
-        metah = Metaheuristic()
+        pass
     
     def toString(self):
         """ to generate a file name for the interface """
-        s = self.__problem.name + "_" + self.__metah.name;
+        s = "%s_%s " % (self.problem.name, self.metah.acronym)
         return s
 
 class Point:
@@ -331,22 +341,23 @@
     pointsList = parser.getPoints()
     intfc.log('getting points list : getPoints() ...  OK\n')
 
-    # TODO
-    #header = parser.getHeader()
-    #print header.toString()
-
+    # get header informations
+    header = parser.getHeader()
+    title =  header.toString()
+    
+    """
     intfc.setBitmapOutput(filename = 'valuesDistribHist')    
     intfc.plotValuesIterationsDistribHist(pointsList, __HIST_BREAKS)    
     r.dev_off()
     intfc.log('outputing results : plotValuesIterationsDistribHist(...)  ...  
OK\n')
-
+    """
     """ # plotValues for each point
     setBitmapOutput(filename = intfc.datedFileName('values', '.png'))    
     intfc.plotValuesIterationsGraph(pointsList, 1)
     r.dev_off()
     interface.log('outputing results : plotValues(...)  ...  OK\n')
     """
-
+    """
     intfc.setBitmapOutput(filename = 'valuesBoxes')
     intfc.plotValuesIterationsBoxes(pointsList, 10)
     r.dev_off()
@@ -356,7 +367,7 @@
     intfc.plotValuesIterationsStdGraph(pointsList, 10)
     r.dev_off()
     intfc.log('outputing results : plotValuesIterationsStdGraph(...)  ...  
OK\n')
-     
+    """
     slog = "\n[ End at " + time.ctime() + " ] \n"
     intfc.log(slog)
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]