cid#1489772 UR: Uninitialized read of field in constructor
pass in SearchPoint to initialize pbest_t before it is then passed to setMemPoints setMemPoints sets the pbest_t variable of AbsGTBehavior so calling setPbest on AbsGTBehavior subclasses after calling that doesn't do anything so drop it, and then DEPSAgent.setPbest isn't needed anymore Change-Id: Id4fdc770cefc0f801218dc9bf51a6dc5b1e25d5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120115 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
parent
8d8450f0c1
commit
5c299f0112
3 changed files with 6 additions and 13 deletions
|
@ -72,7 +72,8 @@ public class DEPSAgent {
|
||||||
|
|
||||||
private double switchP = 0.5;
|
private double switchP = 0.5;
|
||||||
|
|
||||||
public DEPSAgent(ProblemEncoder encoder, DEGTBehavior deGTBehavior, PSGTBehavior psGTBehavior, double switchP, IGoodnessCompareEngine comparer) {
|
public DEPSAgent(ProblemEncoder encoder, DEGTBehavior deGTBehavior, PSGTBehavior psGTBehavior,
|
||||||
|
double switchP, IGoodnessCompareEngine comparer, SearchPoint pbest) {
|
||||||
this.switchP = switchP;
|
this.switchP = switchP;
|
||||||
|
|
||||||
problemEncoder = encoder;
|
problemEncoder = encoder;
|
||||||
|
@ -82,6 +83,7 @@ public class DEPSAgent {
|
||||||
trailPoint = problemEncoder.getFreshSearchPoint();
|
trailPoint = problemEncoder.getFreshSearchPoint();
|
||||||
pold_t = problemEncoder.getFreshSearchPoint();
|
pold_t = problemEncoder.getFreshSearchPoint();
|
||||||
pcurrent_t = problemEncoder.getFreshSearchPoint();
|
pcurrent_t = problemEncoder.getFreshSearchPoint();
|
||||||
|
pbest_t = pbest;
|
||||||
|
|
||||||
this.deGTBehavior = deGTBehavior;
|
this.deGTBehavior = deGTBehavior;
|
||||||
this.deGTBehavior.setMemPoints(pbest_t, pcurrent_t, pold_t);
|
this.deGTBehavior.setMemPoints(pbest_t, pcurrent_t, pold_t);
|
||||||
|
@ -94,12 +96,6 @@ public class DEPSAgent {
|
||||||
qualityComparator = comparer;
|
qualityComparator = comparer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPbest(SearchPoint pbest) {
|
|
||||||
pbest_t = pbest;
|
|
||||||
deGTBehavior.setPbest(pbest_t);
|
|
||||||
psGTBehavior.setPbest(pbest_t);
|
|
||||||
}
|
|
||||||
|
|
||||||
private AbsGTBehavior getGTBehavior() {
|
private AbsGTBehavior getGTBehavior() {
|
||||||
if (RandomGenerator.doubleZeroOneRandom() < switchP) {
|
if (RandomGenerator.doubleZeroOneRandom() < switchP) {
|
||||||
return deGTBehavior;
|
return deGTBehavior;
|
||||||
|
|
|
@ -35,10 +35,6 @@ abstract public class AbsGTBehavior implements ILibEngine {
|
||||||
socialLib = lib;
|
socialLib = lib;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPbest(SearchPoint pbest) {
|
|
||||||
pbest_t = pbest;
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract public void setMemPoints(SearchPoint pbest, BasicPoint pcurrent, BasicPoint pold);
|
abstract public void setMemPoints(SearchPoint pbest, BasicPoint pcurrent, BasicPoint pold);
|
||||||
|
|
||||||
abstract public void generateBehavior(SearchPoint trailPoint, ProblemEncoder problemEncoder);
|
abstract public void generateBehavior(SearchPoint trailPoint, ProblemEncoder problemEncoder);
|
||||||
|
|
|
@ -141,8 +141,9 @@ public final class DEPSSolverImpl extends BaseEvolutionarySolver
|
||||||
psGTBehavior.weight = m_weight.getValue();
|
psGTBehavior.weight = m_weight.getValue();
|
||||||
psGTBehavior.setLibrary(m_library);
|
psGTBehavior.setLibrary(m_library);
|
||||||
|
|
||||||
agents[i] = new DEPSAgent(m_problemEncoder, deGTBehavior, psGTBehavior, m_agentSwitchRate.getValue(), m_specCompareEngine);
|
agents[i] = new DEPSAgent(m_problemEncoder, deGTBehavior, psGTBehavior,
|
||||||
agents[i].setPbest(m_library.getSelectedPoint(i));
|
m_agentSwitchRate.getValue(), m_specCompareEngine,
|
||||||
|
m_library.getSelectedPoint(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
//Learn:
|
//Learn:
|
||||||
|
|
Loading…
Reference in a new issue