summaryrefslogtreecommitdiff
path: root/nlpsolver
diff options
context:
space:
mode:
authorTodor Balabanov <todor.balabanov@gmail.com>2019-05-15 19:54:21 +0300
committerTomaž Vajngerl <quikee@gmail.com>2019-06-03 15:53:30 +0200
commit90ace7be71d41257e29a28fa2e7c0adf8f84050d (patch)
tree2e7fee4022c5ae79c42f65a82f09f5630ae31b98 /nlpsolver
parent7bf2515fc48ed0d4c436aef298fa9c35e573352b (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')
-rw-r--r--nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/behavior/DEGTBehavior.java7
-rw-r--r--nlpsolver/src/com/sun/star/comp/Calc/NLPSolver/DEPSSolverImpl.java9
-rw-r--r--nlpsolver/src/locale/NLPSolverCommon_en_US.properties3
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