[Top][All Lists]
[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)
- [oMetah-devel] ometah/experiment interface.py metahtest.py,
Jean-Philippe Aumasson <=