diff --git a/external_dependencies/boost b/external_dependencies/boost
index 0792dde1c543aba10d66d634f923e6993f9699d3..03d255a85568f504c301a66b58edad30ae3f211d 160000
--- a/external_dependencies/boost
+++ b/external_dependencies/boost
@@ -1 +1 @@
-Subproject commit 0792dde1c543aba10d66d634f923e6993f9699d3
+Subproject commit 03d255a85568f504c301a66b58edad30ae3f211d
diff --git a/src/LearningMethods/GradientDescent.cpp b/src/LearningMethods/GradientDescent.cpp
index 0a013b01b315a2bfc5001d41e23e29a0a0ebfd3c..6c547da05175a00230ca663dddf6feecd467189c 100644
--- a/src/LearningMethods/GradientDescent.cpp
+++ b/src/LearningMethods/GradientDescent.cpp
@@ -106,6 +106,7 @@ void GradientDescent::optimize( ErrorFunction &ef ) {
 
         for(i = 0; i < gradient_current->size(); ++i){
             (*params_prev)[i] = (*params_current)[i] - gamma * (*gradient_current)[i];
+//            (*params_prev)[i] *= 0.95;
         }
 
         /* switcheroo */
diff --git a/src/examples/net_test_pde_1.cpp b/src/examples/net_test_pde_1.cpp
index 53142b46836eff657672994b9fcb28bac6bfa96e..458ae93246df5679748b3131e515eafb81a57dad 100644
--- a/src/examples/net_test_pde_1.cpp
+++ b/src/examples/net_test_pde_1.cpp
@@ -241,8 +241,8 @@ void test_pde(double accuracy, size_t n_inner_neurons, size_t train_size, double
     solver_01.set_error_function( 1, ErrorFunctionType::ErrorFuncMSE, &ds_t );
     solver_01.set_error_function( 2, ErrorFunctionType::ErrorFuncMSE, &ds_x );
 
-    optimize_via_particle_swarm( solver_01, alpha_00, max_iters, n_particles );
-    export_solution( n_test_points, te, ts, solver_01 , alpha_00, alpha_01, alpha_20, "particle_" );
+//    optimize_via_particle_swarm( solver_01, alpha_00, max_iters, n_particles );
+//    export_solution( n_test_points, te, ts, solver_01 , alpha_00, alpha_01, alpha_20, "particle_" );
 
 
     optimize_via_gradient_descent( solver_01, accuracy );
@@ -261,9 +261,9 @@ int main() {
     std::cout << "Expressing solution as y(x, t) = sum over [a_i / (1 + exp(bi - wxi*x - wti*t))], i in [1, n], where n is the number of hidden neurons" <<std::endl;
     std::cout << "********************************************************************************************************************************************" <<std::endl;
 
-    unsigned int n_inner_neurons = 4;
-    unsigned int train_size = 50;
-    double accuracy = 1e-3;
+    unsigned int n_inner_neurons = 6;
+    unsigned int train_size = 20;
+    double accuracy = 1e-2;
     double ds = 0.0;
     double de = 1.0;
 
@@ -271,8 +271,8 @@ int main() {
     double ts = ds;
     double te = de + 0;
 
-    size_t particle_swarm_max_iters = 1000;
-    size_t n_particles = 50;
+    size_t particle_swarm_max_iters = 100;
+    size_t n_particles = 10;
     test_pde(accuracy, n_inner_neurons, train_size, ds, de, test_size, ts, te, particle_swarm_max_iters, n_particles);
 
     return 0;