Currently job artifacts in CI/CD pipelines on LRZ GitLab never expire. Starting from Wed 26.1.2022 the default expiration time will be 30 days (GitLab default). Currently existing artifacts in already completed jobs will not be affected by the change. The latest artifacts for all jobs in the latest successful pipelines will be kept. More information: https://gitlab.lrz.de/help/user/admin_area/settings/continuous_integration.html#default-artifacts-expiration

Commit 73604bc0 authored by Benedikt Zoennchen's avatar Benedikt Zoennchen
Browse files

introduce our own Nelder-Mead implementation into the master branch.

parent 3c3420a1
Pipeline #116179 passed with stages
in 193 minutes and 56 seconds
......@@ -33,7 +33,7 @@
"org.vadere.state.attributes.models.AttributesOSM" : {
"stepCircleResolution" : 4,
"numberOfCircles" : 1,
"optimizationType" : "NELDER_MEAD_CIRCLE",
"optimizationType" : "NELDER_MEAD",
"varyStepDirection" : false,
"movementType" : "ARBITRARY",
"stepLengthIntercept" : 0.4625,
......
......@@ -46,7 +46,7 @@
"createMethod" : "HIGH_ACCURACY_FAST_MARCHING",
"potentialFieldResolution" : 0.1,
"obstacleGridPenalty" : 0.1,
"targetAttractionStrength" : 1.0,
"targetAttractionStrength" : 2.0,
"timeCostAttributes" : {
"standardDeviation" : 0.7,
"type" : "UNIT",
......
......@@ -15,6 +15,7 @@ import java.util.stream.Stream;
/**
* Implementation of the 1-dimensional Nelder-Mead. The algorithm walks on the circle.
* Multiple simplexes can be solved in parallel (default).
*
* @author Benedikt Zoennchen
*/
......@@ -30,11 +31,6 @@ public class NelderMead1D {
*/
private final VCircle evalArea;
/**
* the evaluation function which is optimized.
*/
private final Function<IPoint, Double> eval;
/**
* a simplex instance converges if the area of the triangle is smaller than <tt>threshold</tt> and
*/
......@@ -79,7 +75,6 @@ public class NelderMead1D {
@NotNull final Collection<Pair<Double, Double>> simplexes){
this.evalArea = evalArea;
this.eval = eval;
this.threshold = threshold;
this.simplices = simplexes.stream().map(s -> new Simplex1D(eval, s.getLeft(), s.getRight(), evalArea, minimize, NelderMead2D.MAX_VAL)).collect(Collectors.toList());
this.iterationCount = 0;
......@@ -101,7 +96,7 @@ public class NelderMead1D {
}
// second run
simplices.stream().forEach(s -> s.restart(evalArea.getRadius() / 10.0));
/*simplices.stream().forEach(s -> s.restart(evalArea.getRadius() / 10.0));
iterationCount = 0;
while (!hasConverged() && iterationCount < NMAX) {
......@@ -113,7 +108,7 @@ public class NelderMead1D {
logger.warn("max iteration reached!");
}
logger.debug("iterations: " + overallIterations);
logger.debug("iterations: " + overallIterations);*/
}
......
......@@ -15,6 +15,7 @@ import java.util.stream.Stream;
/**
* Implementation of the 2-dimensional Nelder-Mead.
* Multiple simplexes can be solved in parallel (default).
*
* @author Benedikt Zoennchen
*/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment