From 86a322fb073911a1a2b04a523f47f510d8818733 Mon Sep 17 00:00:00 2001
From: Mauricio Zambrano-Bigiarini <hzambran@users.noreply.github.com>
Date: Sat, 22 Sep 2012 07:00:45 +0000
Subject: [PATCH] NAMESPACE: new test functions added (ssphere, srosenbrock,
 srastrigin, sgriewank, sackley)

---
 NAMESPACE     | 10 ++++++++--
 NEWS          |  4 ++++
 R/PSO_v2012.R |  4 ++--
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/NAMESPACE b/NAMESPACE
index 1370a8c..af189c8 100755
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -42,13 +42,19 @@ export(hydroPSO,
        read_results,
        verification,
        wquantile,
-       rosenbrock,
        sphere,
+       rosenbrock,
        rastrigrin, # wrong name, only used for backward compatibility
        rastrigin,
        griewank,
        schafferF6,
-       ackley
+       ackley,
+       ssphere,
+       srosenbrock,       
+       srastrigin,
+       sgriewank,
+       #schafferF6,
+       sackley
       )
       
 S3method(params2ecdf, matrix)
diff --git a/NEWS b/NEWS
index 158d6a0..473710b 100755
--- a/NEWS
+++ b/NEWS
@@ -35,6 +35,10 @@ NEWS/ChangeLog for hydroPSO
                             -) TVc1.type    : 'non-linear'    ->  'linear' (no effect, because 'use.TVc1=FALSE' by default)
                             -) TVc2.type    : 'non-linear'    ->  'linear' (no effect, because 'use.TVc2=FALSE' by default)
                             -) TVlambda.type: 'non-linear'    ->  'linear' (no effect, because 'use.TVlambda=FALSE' by default)
+
+        o 'test_functions': -) new benchmark functions: shifted sphere ('ssphere'), shifted Rosenbrock ('srosenbrock'), shifted Rastrigin ('srastrigin'), 
+                               shifted Griewank ('sgriewank') and shifted Ackley ('sackley') 
+       
         
 0.1-58	14-Sep-2012
         o 'hydroPSO'      : -) 'random.update' is now ONLY used when 'best.update="async". In hydroPSO 0.1-57 'random.update' was set to TRUE 
diff --git a/R/PSO_v2012.R b/R/PSO_v2012.R
index 757ac78..2e01260 100755
--- a/R/PSO_v2012.R
+++ b/R/PSO_v2012.R
@@ -537,7 +537,7 @@ position.update.and.boundary.treatment <- function(x, v, x.MinMax, boundary.wall
  if ( length(byd.min.pos) > 0) { 
     if ( boundary.wall == "absorbing") {     
        x.new[byd.min.pos] <- x.min[byd.min.pos]
-       v.new[byd.min.pos] <- -0.0*v[byd.min.pos]      
+       v.new[byd.min.pos] <- -0.5*v[byd.min.pos]      
     } else if ( boundary.wall == "reflecting") {    
            x.new[byd.min.pos] <- 2*x.min[byd.min.pos] - x.new[byd.min.pos] 
            v.new[byd.min.pos] <- v[byd.min.pos]
@@ -555,7 +555,7 @@ position.update.and.boundary.treatment <- function(x, v, x.MinMax, boundary.wall
  if ( length(byd.max.pos) > 0 ) {	 
     if ( boundary.wall == "absorbing") { 
        x.new[byd.max.pos] <- x.max[byd.max.pos]
-       v.new[byd.max.pos] <- -0.0*v[byd.max.pos] 
+       v.new[byd.max.pos] <- -0.5*v[byd.max.pos] 
     } else if ( boundary.wall == "reflecting") {
            x.new[byd.max.pos] <- 2*x.max[byd.max.pos] - x.new[byd.max.pos] 
            v.new[byd.max.pos] <- v[byd.max.pos]
-- 
GitLab