optimization updates
[debian/openrocket] / src / net / sf / openrocket / gui / dialogs / optimization / OptimizationWorker.java
index b7d184457018a57e089b5af1cdb209cba8455151..eda1f9ae9637cae8369e7ab6f7429a5e6c1c3c20 100644 (file)
@@ -15,6 +15,7 @@ import net.sf.openrocket.optimization.general.ParallelExecutorCache;
 import net.sf.openrocket.optimization.general.ParallelFunctionCache;
 import net.sf.openrocket.optimization.general.Point;
 import net.sf.openrocket.optimization.general.multidim.MultidirectionalSearchOptimizer;
+import net.sf.openrocket.optimization.general.onedim.GoldenSectionSearchOptimizer;
 import net.sf.openrocket.optimization.rocketoptimization.OptimizableParameter;
 import net.sf.openrocket.optimization.rocketoptimization.OptimizationGoal;
 import net.sf.openrocket.optimization.rocketoptimization.RocketOptimizationFunction;
@@ -90,7 +91,11 @@ public abstract class OptimizationWorker extends Thread implements OptimizationC
                cache = new ParallelExecutorCache(1);
                cache.setFunction(function);
                
-               optimizer = new MultidirectionalSearchOptimizer(cache);
+               if (modifiers.length == 1) {
+                       optimizer = new GoldenSectionSearchOptimizer(cache);
+               } else {
+                       optimizer = new MultidirectionalSearchOptimizer(cache);
+               }
        }