create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / optimization / rocketoptimization / goals / ValueSeekGoal.java
1 package net.sf.openrocket.optimization.rocketoptimization.goals;
2
3 import net.sf.openrocket.optimization.rocketoptimization.OptimizationGoal;
4
5
6 /**
7  * An optimization goal that seeks for a specific function value.
8  * The method returns the Euclidic distance from the desired value.
9  * 
10  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
11  */
12 public class ValueSeekGoal implements OptimizationGoal {
13         
14         private final double goal;
15         
16         /**
17          * Sole constructor.
18          * 
19          * @param goal  the function value to optimize towards.
20          */
21         public ValueSeekGoal(double goal) {
22                 this.goal = goal;
23         }
24         
25         @Override
26         public double getMinimizationParameter(double value) {
27                 return Math.abs(value - goal);
28         }
29         
30 }