summaryrefslogtreecommitdiff
path: root/nlpsolver
diff options
context:
space:
mode:
Diffstat (limited to 'nlpsolver')
-rw-r--r--nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/DEPSAgent.java33
-rw-r--r--nlpsolver/src/com/sun/star/comp/Calc/NLPSolver/DEPSSolverImpl.java4
2 files changed, 23 insertions, 14 deletions
diff --git a/nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/DEPSAgent.java b/nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/DEPSAgent.java
index 7a6077a725c4..b3e5f310031f 100644
--- a/nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/DEPSAgent.java
+++ b/nlpsolver/ThirdParty/EvolutionarySolver/src/net/adaptivebox/deps/DEPSAgent.java
@@ -38,6 +38,7 @@ import net.adaptivebox.deps.behavior.PSGTBehavior;
import net.adaptivebox.global.RandomGenerator;
import net.adaptivebox.goodness.IGoodnessCompareEngine;
import net.adaptivebox.knowledge.ILibEngine;
+import net.adaptivebox.knowledge.Library;
import net.adaptivebox.knowledge.SearchPoint;
import net.adaptivebox.problem.ProblemEncoder;
import net.adaptivebox.space.BasicPoint;
@@ -71,21 +72,31 @@ public class DEPSAgent implements ILibEngine {
private double switchP = 0.5;
- public DEPSAgent(ProblemEncoder encoder, DEGTBehavior deGTBehavior, PSGTBehavior psGTBehavior, double switchP, IGoodnessCompareEngine comparer) {
- problemEncoder = encoder;
+ public DEPSAgent(ProblemEncoder encoder, DEGTBehavior deGTBehavior, PSGTBehavior psGTBehavior, double switchP, IGoodnessCompareEngine comparer, Library lib) {
+ setProblemEncoder(encoder);
- trailPoint = problemEncoder.getFreshSearchPoint();
- pold_t = problemEncoder.getFreshSearchPoint();
- pcurrent_t = problemEncoder.getFreshSearchPoint();
+ this.switchP = switchP;
- this.switchP = switchP;
+ deGTBehavior.setLibrary(lib);
+ psGTBehavior.setLibrary(lib);
+ setGTBehavior(deGTBehavior);
+ setGTBehavior(psGTBehavior);
+ this.deGTBehavior = deGTBehavior;
+ this.psGTBehavior = psGTBehavior;
- setGTBehavior(deGTBehavior);
- setGTBehavior(psGTBehavior);
- this.deGTBehavior = deGTBehavior;
- this.psGTBehavior = psGTBehavior;
+ qualityComparator = comparer;
+ }
- qualityComparator = comparer;
+ public void setLibrary(Library lib) {
+ deGTBehavior.setLibrary(lib);
+ psGTBehavior.setLibrary(lib);
+ }
+
+ public void setProblemEncoder(ProblemEncoder encoder) {
+ problemEncoder = encoder;
+ trailPoint = problemEncoder.getFreshSearchPoint();
+ pold_t = problemEncoder.getFreshSearchPoint();
+ pcurrent_t = problemEncoder.getFreshSearchPoint();
}
public void setSpecComparator(IGoodnessCompareEngine comparer) {
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 edba08936d39..20cf9286e91a 100644
--- a/nlpsolver/src/com/sun/star/comp/Calc/NLPSolver/DEPSSolverImpl.java
+++ b/nlpsolver/src/com/sun/star/comp/Calc/NLPSolver/DEPSSolverImpl.java
@@ -131,16 +131,14 @@ public final class DEPSSolverImpl extends BaseEvolutionarySolver
deGTBehavior.MIN_FACTOR = Math.min(m_minFactor.getValue(), m_maxFactor.getValue());
deGTBehavior.MAX_FACTOR = Math.max(m_minFactor.getValue(), m_maxFactor.getValue());
deGTBehavior.CR = m_CR.getValue();
- deGTBehavior.setLibrary(m_library);
PSGTBehavior psGTBehavior = new PSGTBehavior();
psGTBehavior.c1 = m_c1.getValue();
psGTBehavior.c2 = m_c2.getValue();
psGTBehavior.CL = m_CL.getValue();
psGTBehavior.weight = m_weight.getValue();
- 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, m_agentSwitchRate.getValue(), m_specCompareEngine, m_library);
agents[i].setPbest(m_library.getSelectedPoint(i));
}