From 761079b59fa13322089d9529d89684fb4a8688bb Mon Sep 17 00:00:00 2001 From: plaa Date: Fri, 12 Aug 2011 19:53:00 +0000 Subject: [PATCH 1/1] optimization bug fixes git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@151 180e2498-e6e9-4542-8430-84ac67f01cd8 --- ChangeLog | 4 ++++ ReleaseNotes | 8 ++++++++ build.properties | 2 +- build.xml | 3 ++- .../dialogs/optimization/GeneralOptimizationDialog.java | 5 ++--- .../general/multidim/MultidirectionalSearchOptimizer.java | 3 --- .../general/onedim/GoldenSectionSearchOptimizer.java | 3 --- .../modifiers/AbstractSimulationModifier.java | 1 - .../rocketoptimization/modifiers/GenericModifier.java | 5 ++++- 9 files changed, 21 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 71e4ddcf..b1435b8b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-08-12 Sampo Niskanen + + * Released version 1.1.7 + 2011-08-08 Sampo Niskanen * Enhanced one-dimensional optimization algorithm diff --git a/ReleaseNotes b/ReleaseNotes index b0c4eeec..9eb4dfdb 100644 --- a/ReleaseNotes +++ b/ReleaseNotes @@ -1,3 +1,11 @@ +OpenRocket 1.1.7 (2011-08-12): +------------------------------- + +This release contains automatic rocket design optimization +functionality. However, be cautious when using it and take the +results with a grain of salt. + + OpenRocket 1.1.6 (2011-07-22): ------------------------------- diff --git a/build.properties b/build.properties index c99946b5..b321d08e 100644 --- a/build.properties +++ b/build.properties @@ -1,7 +1,7 @@ # The OpenRocket build version -build.version=1.1.7pre +build.version=1.1.7 # The source of the package. When building a package for a specific diff --git a/build.xml b/build.xml index c716a528..0ebe4709 100644 --- a/build.xml +++ b/build.xml @@ -63,6 +63,7 @@ + @@ -86,7 +87,7 @@ - + diff --git a/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java b/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java index de5ad2ca..0ef35e2e 100644 --- a/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java +++ b/src/net/sf/openrocket/gui/dialogs/optimization/GeneralOptimizationDialog.java @@ -559,7 +559,7 @@ public class GeneralOptimizationDialog extends JDialog { label = new JLabel(trans.get("status.evalCount")); - tip = trans.get("status.evalCount"); + tip = trans.get("status.evalCount.ttip"); label.setToolTipText(tip); sub.add(label, "gapright unrel"); @@ -832,10 +832,9 @@ public class GeneralOptimizationDialog extends JDialog { Point newPoint = latest.getNewPoint(); FunctionEvaluationData pointValue = evaluationHistory.get(newPoint); - if (pointValue != null) { + if (pointValue != null && pointValue.getParameterValue() != null) { bestValue = pointValue.getParameterValue().getValue(); } else { - log.error("History does not contain point " + newPoint); bestValue = Double.NaN; } diff --git a/src/net/sf/openrocket/optimization/general/multidim/MultidirectionalSearchOptimizer.java b/src/net/sf/openrocket/optimization/general/multidim/MultidirectionalSearchOptimizer.java index d50618a3..d4d04fc9 100644 --- a/src/net/sf/openrocket/optimization/general/multidim/MultidirectionalSearchOptimizer.java +++ b/src/net/sf/openrocket/optimization/general/multidim/MultidirectionalSearchOptimizer.java @@ -111,9 +111,6 @@ public class MultidirectionalSearchOptimizer implements FunctionOptimizer, Stati functionExecutor.compute(expansion); // Check reflection acceptance - System.err.println("stepsize = " + step); - System.err.println("Simplex = " + simplex); - System.err.println("Reflection = " + reflection); log.debug("Computing reflection"); functionExecutor.waitFor(reflection); diff --git a/src/net/sf/openrocket/optimization/general/onedim/GoldenSectionSearchOptimizer.java b/src/net/sf/openrocket/optimization/general/onedim/GoldenSectionSearchOptimizer.java index 853ffbf5..906eea57 100644 --- a/src/net/sf/openrocket/optimization/general/onedim/GoldenSectionSearchOptimizer.java +++ b/src/net/sf/openrocket/optimization/general/onedim/GoldenSectionSearchOptimizer.java @@ -107,7 +107,6 @@ public class GoldenSectionSearchOptimizer implements FunctionOptimizer, Statisti */ guessAC = section1(a, c); guessBD = section2(b, d); - System.err.println("Queueing " + guessAC + " and " + guessBD); if (Double.isNaN(fd) || fa < fd) { guessedAC = true; functionExecutor.compute(guessAC); @@ -200,11 +199,9 @@ public class GoldenSectionSearchOptimizer implements FunctionOptimizer, Statisti } if (guessAC != null) { - System.err.println("Aborting " + guessAC); functionExecutor.abort(guessAC); } if (guessBD != null) { - System.err.println("Aborting " + guessBD); functionExecutor.abort(guessBD); } diff --git a/src/net/sf/openrocket/optimization/rocketoptimization/modifiers/AbstractSimulationModifier.java b/src/net/sf/openrocket/optimization/rocketoptimization/modifiers/AbstractSimulationModifier.java index f680dda7..46c167d4 100644 --- a/src/net/sf/openrocket/optimization/rocketoptimization/modifiers/AbstractSimulationModifier.java +++ b/src/net/sf/openrocket/optimization/rocketoptimization/modifiers/AbstractSimulationModifier.java @@ -106,7 +106,6 @@ public abstract class AbstractSimulationModifier implements SimulationModifier { * @return the value in SI units */ protected double toBaseValue(double value) { - System.out.println("value=" + value + " minValue=" + minValue + " maxValue=" + maxValue); return MathUtil.map(value, 0.0, 1.0, minValue, maxValue); } diff --git a/src/net/sf/openrocket/optimization/rocketoptimization/modifiers/GenericModifier.java b/src/net/sf/openrocket/optimization/rocketoptimization/modifiers/GenericModifier.java index ec931108..07724c8f 100644 --- a/src/net/sf/openrocket/optimization/rocketoptimization/modifiers/GenericModifier.java +++ b/src/net/sf/openrocket/optimization/rocketoptimization/modifiers/GenericModifier.java @@ -1,7 +1,9 @@ package net.sf.openrocket.optimization.rocketoptimization.modifiers; import net.sf.openrocket.document.Simulation; +import net.sf.openrocket.logging.LogHelper; import net.sf.openrocket.optimization.general.OptimizationException; +import net.sf.openrocket.startup.Application; import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.util.BugException; import net.sf.openrocket.util.MathUtil; @@ -15,6 +17,7 @@ import net.sf.openrocket.util.Reflection.Method; * @author Sampo Niskanen */ public abstract class GenericModifier extends AbstractSimulationModifier { + private static final LogHelper log = Application.getLogger(); private final double multiplier; @@ -79,7 +82,7 @@ public abstract class GenericModifier extends AbstractSimulationModifier { throw new OptimizationException("BUG: getModifiedObject() returned null"); } double siValue = toBaseValue(scaledValue) / multiplier; - System.out.println("Setting setter=" + setter + " modifiable=" + modifiable + " siValue=" + siValue + "scaledValue=" + scaledValue); + log.verbose("Setting setter=" + setter + " modifiable=" + modifiable + " siValue=" + siValue + "scaledValue=" + scaledValue); setter.invoke(modifiable, siValue); } -- 2.30.2