diff options
author | Todor Balabanov <todor.balabanov@gmail.com> | 2019-05-15 19:54:21 +0300 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2019-06-03 15:53:30 +0200 |
commit | 90ace7be71d41257e29a28fa2e7c0adf8f84050d (patch) | |
tree | 2e7fee4022c5ae79c42f65a82f09f5630ae31b98 /nlpsolver | |
parent | 7bf2515fc48ed0d4c436aef298fa9c35e573352b (diff) |
Range for DE scaling factor was implemented.
Change-Id: I5b8d3cd69a6138d7eebf37c299626019b32d639a
Reviewed-on: https://gerrit.libreoffice.org/72373
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'nlpsolver')
3 files changed, 13 insertions, 6 deletions
diff --git a/nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/behavior/DEGTBehavior.java b/nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/behavior/DEGTBehavior.java index 645318341108..0e68f856d912 100644 --- a/nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/behavior/DEGTBehavior.java +++ b/nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/behavior/DEGTBehavior.java @@ -41,7 +41,10 @@ public class DEGTBehavior extends AbsGTBehavior implements ILibEngine { private static final int DVNum = 2; //scale constant: (0, 1.2], normally be 0.5 - public double FACTOR = 0.5; + public double MIN_FACTOR = 0.5; + + //scale constant: (0, 1.2], normally be 0.5 + public double MAX_FACTOR = 0.5; //crossover constant: [0, 1], normally be 0.1 or 0.9 public double CR = 0.9; @@ -70,7 +73,7 @@ public class DEGTBehavior extends AbsGTBehavior implements ILibEngine { delta += (i % 2 == 0 ? +1D : -1D) * differenceVectors[i].getLocation()[index]; } - trialVector[index] = globalVector[index] + FACTOR * delta; + trialVector[index] = globalVector[index] + RandomGenerator.doubleRangeRandom(MIN_FACTOR, MAX_FACTOR) * delta; } @Override diff --git a/nlpsolver/src/com/sun/star/comp/Calc/NLPSolver/DEPSSolverImpl.java b/nlpsolver/src/com/sun/star/comp/Calc/NLPSolver/DEPSSolverImpl.java index 716a79b79438..2e5c38d0d179 100644 --- a/nlpsolver/src/com/sun/star/comp/Calc/NLPSolver/DEPSSolverImpl.java +++ b/nlpsolver/src/com/sun/star/comp/Calc/NLPSolver/DEPSSolverImpl.java @@ -59,7 +59,8 @@ public final class DEPSSolverImpl extends BaseEvolutionarySolver super(context, "DEPS Evolutionary Algorithm"); registerProperty(m_agentSwitchRate); - registerProperty(m_factor); + registerProperty(m_minFactor); + registerProperty(m_maxFactor); registerProperty(m_CR); registerProperty(m_c1); registerProperty(m_c2); @@ -102,7 +103,8 @@ public final class DEPSSolverImpl extends BaseEvolutionarySolver private final PropertyInfo<Double> m_agentSwitchRate = new PropertyInfo<Double>("AgentSwitchRate", 0.5, "Agent Switch Rate (DE Probability)"); // --DE - private final PropertyInfo<Double> m_factor = new PropertyInfo<Double>("DEFactor", 0.5, "DE: Scaling Factor (0-1.2)"); + private final PropertyInfo<Double> m_minFactor = new PropertyInfo<Double>("DEFactorMin", 0.5, "DE: Min Scaling Factor (0-1.2)"); + private final PropertyInfo<Double> m_maxFactor = new PropertyInfo<Double>("DEFactorMax", 0.5, "DE: Max Scaling Factor (0-1.2)"); private final PropertyInfo<Double> m_CR = new PropertyInfo<Double>("DECR", 0.9, "DE: Crossover Probability (0-1)"); // --PS private final PropertyInfo<Double> m_c1 = new PropertyInfo<Double>("PSC1", 1.494, "PS: Cognitive Constant"); @@ -126,7 +128,8 @@ public final class DEPSSolverImpl extends BaseEvolutionarySolver agents[i].setPbest(m_library.getSelectedPoint(i)); DEGTBehavior deGTBehavior = new DEGTBehavior(); - deGTBehavior.FACTOR = m_factor.getValue(); + deGTBehavior.MIN_FACTOR = m_minFactor.getValue(); + deGTBehavior.MAX_FACTOR = m_maxFactor.getValue(); deGTBehavior.CR = m_CR.getValue(); PSGTBehavior psGTBehavior = new PSGTBehavior(); diff --git a/nlpsolver/src/locale/NLPSolverCommon_en_US.properties b/nlpsolver/src/locale/NLPSolverCommon_en_US.properties index 3f8baf0d43d7..84262674ddb9 100644 --- a/nlpsolver/src/locale/NLPSolverCommon_en_US.properties +++ b/nlpsolver/src/locale/NLPSolverCommon_en_US.properties @@ -15,7 +15,8 @@ NLPSolverCommon.Properties.EnhancedSolverStatus=Show enhanced solver status #DEPS NLPSolverCommon.Properties.AgentSwitchRate=Agent Switch Rate (DE Probability) -NLPSolverCommon.Properties.DEFactor=DE: Scaling Factor (0-1.2) +NLPSolverCommon.Properties.DEFactorMin=DE: Min Scaling Factor (0-1.2) +NLPSolverCommon.Properties.DEFactorMax=DE: Max Scaling Factor (0-1.2) NLPSolverCommon.Properties.DECR=DE: Crossover Probability (0-1) NLPSolverCommon.Properties.PSC1=PS: Cognitive Constant NLPSolverCommon.Properties.PSC2=PS: Social Constant |