ometah-devel
[Top][All Lists]
Advanced

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

[oMetah-devel] ometah ./ometah.pws common/itsPoint.cpp common/...


From: Johann
Subject: [oMetah-devel] ometah ./ometah.pws common/itsPoint.cpp common/...
Date: Thu, 26 May 2005 04:55:43 -0400

CVSROOT:        /cvsroot/ometah
Module name:    ometah
Branch:         
Changes by:     Johann <address@hidden> 05/05/26 08:55:43

Modified files:
        .              : ometah.pws 
        common         : itsPoint.cpp itsPoint.hpp 
        doc            : makefile 
        interface      : ometah.cpp 
        metaheuristic  : itsEstimationOfDistribution.cpp 
                         itsMetaheuristic.cpp 

Log message:
        * a sorting method for point samples
        * first step on intensification for EDA

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/ometah.pws.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/itsPoint.cpp.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/common/itsPoint.hpp.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/doc/makefile.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/interface/ometah.cpp.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/metaheuristic/itsEstimationOfDistribution.cpp.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/ometah/ometah/metaheuristic/itsMetaheuristic.cpp.diff?tr1=1.12&tr2=1.13&r1=text&r2=text

Patches:
Index: ometah/common/itsPoint.cpp
diff -u ometah/common/itsPoint.cpp:1.2 ometah/common/itsPoint.cpp:1.3
--- ometah/common/itsPoint.cpp:1.2      Fri Mar 11 10:23:36 2005
+++ ometah/common/itsPoint.cpp  Thu May 26 08:55:43 2005
@@ -1,5 +1,5 @@
 /***************************************************************************
- * $Id: itsPoint.cpp,v 1.2 2005/03/11 10:23:36 nojhan Exp $
+ * $Id: itsPoint.cpp,v 1.3 2005/05/26 08:55:43 nojhan Exp $
  * Author : Johann Dréo <address@hidden>
  ****************************************************************************/
 
@@ -18,7 +18,8 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
-
+#include <iostream>
+using namespace std;
 #include "itsPoint.hpp"
 
 //! Get the solution vector
@@ -44,3 +45,57 @@
 {
   this->values = values;
 }
+
+
+
+bool isValueSmaller(itsPoint p1, itsPoint p2, int dimension)
+{
+    return (p1.getValues()[dimension] < p2.getValues()[dimension]);
+}
+
+
+bool isValueGreater(itsPoint p1, itsPoint p2, int dimension)
+{
+    return (p1.getValues()[dimension] > p2.getValues()[dimension]);
+}
+
+
+bool isValueEqual(itsPoint p1, itsPoint p2, int dimension)
+{
+    return (p1.getValues()[dimension] == p2.getValues()[dimension]);
+}
+
+
+vector<itsPoint> sortOnValues(vector<itsPoint> vec, int dimension)
+{
+    if( vec.size() <= 1) {
+        return vec;
+    
+    } else {
+        // cut
+        unsigned int cent = vec.size()/2;
+    
+        vector<itsPoint> v1(vec.begin(),vec.begin()+cent);
+        vector<itsPoint> v2(vec.begin()+cent,  vec.end());
+        // sort
+        vector<itsPoint> vec1 = sortOnValues(v1, dimension);
+        vector<itsPoint> vec2 = sortOnValues(v2, dimension);
+        
+        // merge
+        vector<itsPoint> res;
+        unsigned int k=0;
+    
+        for(unsigned int i=0; i<vec1.size(); i++) {
+            while( k<vec2.size() && isValueSmaller(vec2[k],vec1[i],dimension) 
) {
+                res.push_back(vec2[k]);
+                k++;
+            }
+            res.push_back(vec1[i]);
+        }
+        while(k<vec2.size()) {
+            res.push_back(vec2[k]);
+            k++;
+        }
+        return res;
+    }
+}
Index: ometah/common/itsPoint.hpp
diff -u ometah/common/itsPoint.hpp:1.5 ometah/common/itsPoint.hpp:1.6
--- ometah/common/itsPoint.hpp:1.5      Fri Mar 11 10:23:36 2005
+++ ometah/common/itsPoint.hpp  Thu May 26 08:55:43 2005
@@ -1,5 +1,5 @@
 /***************************************************************************
- * $Id: itsPoint.hpp,v 1.5 2005/03/11 10:23:36 nojhan Exp $
+ * $Id: itsPoint.hpp,v 1.6 2005/05/26 08:55:43 nojhan Exp $
  * Author :  Walid TFAILI <address@hidden>
  ****************************************************************************/
 
@@ -23,6 +23,7 @@
 #define ITSPOINT
  
 #include <vector>
+#include <functional>
 
 using namespace std;
  
@@ -51,5 +52,20 @@
   //! Set the value vector
   void setValues(vector<double> values);
 };
- 
+
+//! Check if a point has a smaller value than another one for a given dimension
+bool isValueSmaller(itsPoint p1, itsPoint p2, int dimension=0);
+
+//! Check if a point has a greater value than another one for a given dimension
+bool isValueGreater(itsPoint p1, itsPoint p2, int dimension=0);
+
+//! Check if a point has an equal value than another one for a given dimension
+bool isValueEqual(itsPoint p1, itsPoint p2, int dimension=0);
+
+//! Sort a vector on values for a given dimension
+/*!
+    It uses a merge sorting algorithm
+*/
+vector<itsPoint> sortOnValues(vector<itsPoint> vec, int dimension);
+
 #endif
Index: ometah/doc/makefile
diff -u ometah/doc/makefile:1.3 ometah/doc/makefile:1.4
--- ometah/doc/makefile:1.3     Fri Feb 18 13:53:16 2005
+++ ometah/doc/makefile Thu May 26 08:55:43 2005
@@ -1,9 +1,14 @@
 SPLIT="+1"
 
 
-all: dia tex
+all: png eps tex
 
-dia: interface_main.dia classes_main.dia principles_main.dia
+png: interface_main.dia classes_main.dia principles_main.dia
+       dia -t png interface_main.dia
+       dia -t png classes_main.dia
+       dia -t png principles_main.dia
+
+eps: interface_main.dia classes_main.dia principles_main.dia
        dia -t eps interface_main.dia
        dia -t eps classes_main.dia
        dia -t eps principles_main.dia
Index: ometah/interface/ometah.cpp
diff -u ometah/interface/ometah.cpp:1.13 ometah/interface/ometah.cpp:1.14
--- ometah/interface/ometah.cpp:1.13    Wed May 25 15:33:16 2005
+++ ometah/interface/ometah.cpp Thu May 26 08:55:43 2005
@@ -1,5 +1,5 @@
 /***************************************************************************
- *  $Id: ometah.cpp,v 1.13 2005/05/25 15:33:16 nojhan Exp $
+ *  $Id: ometah.cpp,v 1.14 2005/05/26 08:55:43 nojhan Exp $
  *  Copyright : Université Paris 12 Val-de-Marne
  *  Author : Johann Dréo <address@hidden>
  ****************************************************************************/
@@ -148,8 +148,8 @@
     cout << "PROBLEM" << endl << setProblem.item()->getInformations();
     cout << endl;*/
     
-    setMetaheuristic.item()->addDebugKey("bounds");
     setMetaheuristic.item()->setLogLevel(2);
+    setMetaheuristic.item()->setSampleSize(3);
 
     setMetaheuristic.item()->start();
 
Index: ometah/metaheuristic/itsEstimationOfDistribution.cpp
diff -u ometah/metaheuristic/itsEstimationOfDistribution.cpp:1.12 
ometah/metaheuristic/itsEstimationOfDistribution.cpp:1.13
--- ometah/metaheuristic/itsEstimationOfDistribution.cpp:1.12   Wed May 25 
15:33:16 2005
+++ ometah/metaheuristic/itsEstimationOfDistribution.cpp        Thu May 26 
08:55:43 2005
@@ -1,7 +1,5 @@
 /***************************************************************************
- *  itsMetaheuristic.hpp 
- *   
- *  $Id: itsEstimationOfDistribution.cpp,v 1.12 2005/05/25 15:33:16 nojhan Exp 
$
+ *  $Id: itsEstimationOfDistribution.cpp,v 1.13 2005/05/26 08:55:43 nojhan Exp 
$
  *  Author : Johann Dréo <address@hidden>
  ****************************************************************************/
 
@@ -23,14 +21,15 @@
  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
  
-
-
+#include <iostream>
+#include <vector>
+#include <algorithm>
 
 #include "itsEstimationOfDistribution.hpp"
 #include "../common/matrix.hpp"
 #include "../common/random.hpp"
-
-#include <vector>
+#include "../common/itsPoint.hpp"
+#include "../common/string.hpp"
 
 using namespace std;
 
@@ -106,8 +105,7 @@
 
 void itsEstimationOfDistribution::intensification()
 {
-    // sort the sample
-    // select the selectRatio% best points
+    vector<itsPoint> sortedSample = sortOnValues(this->sample,0);
 }
 
 string itsEstimationOfDistribution::getDistribution()
Index: ometah/metaheuristic/itsMetaheuristic.cpp
diff -u ometah/metaheuristic/itsMetaheuristic.cpp:1.12 
ometah/metaheuristic/itsMetaheuristic.cpp:1.13
--- ometah/metaheuristic/itsMetaheuristic.cpp:1.12      Wed May 25 15:33:16 2005
+++ ometah/metaheuristic/itsMetaheuristic.cpp   Thu May 26 08:55:43 2005
@@ -120,10 +120,9 @@
     // one more iteration
     iterationsCurrent++;
   
-    //TESTS
-    //string msg = itoa(iterationsCurrent);
+    // log
     ostringstream msg;
-    msg << iterationsCurrent;
+    msg << "iteration " << iterationsCurrent;
     printLog("iterations", msg.str() );
   }
 }
Index: ometah/ometah.pws
diff -u ometah/ometah.pws:1.12 ometah/ometah.pws:1.13
--- ometah/ometah.pws:1.12      Wed May 25 15:33:15 2005
+++ ometah/ometah.pws   Thu May 26 08:55:43 2005
@@ -1,10 +1,10 @@
 
 [filenumbers]
-0=195
-1=56
-2=83
-3=195
-4=80
+0=108
+1=1
+2=84
+3=67
+4=153
 5=27
 6=1
 7=56
@@ -31,8 +31,11 @@
 clean before build=false
 
 [filelist]
-0=/home/nojhan/travail/openMetaheuristic/source/ometah/problem/itsProblem.cpp
-1=/home/nojhan/travail/openMetaheuristic/source/ometah/interface/ometah.cpp
+0=/home/nojhan/travail/openMetaheuristic/source/ometah/metaheuristic/itsEstimationOfDistribution.cpp
+1=/home/nojhan/travail/openMetaheuristic/source/ometah/metaheuristic/itsEstimationOfDistribution.hpp
+2=/home/nojhan/travail/openMetaheuristic/source/ometah/common/itsPoint.cpp
+3=/home/nojhan/travail/openMetaheuristic/source/ometah/common/itsPoint.hpp
+4=/home/nojhan/travail/openMetaheuristic/source/ometah/interface/ometah.cpp
 
 [Project Tree]
 0=0




reply via email to

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