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>
This commit is contained in:
committed by
Tomaž Vajngerl
parent
7bf2515fc4
commit
90ace7be71
Vendored
+5
-2
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user