summaryrefslogtreecommitdiff
path: root/gi/posterior-regularisation/prjava/src/optimization/linesearch/NonNewtonInterpolationPickFirstStep.java
blob: 4b354fd9035ea3909dcfa2783c355ecefa7710ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package optimization.linesearch;

/**
 * Non newtwon since we don't always try 1...
 * Not sure if that is even usefull for newton
 * @author javg
 *
 */
public class NonNewtonInterpolationPickFirstStep extends GenericPickFirstStep{
	public NonNewtonInterpolationPickFirstStep(double initValue) {
		super(initValue);
	}
	
	public double getFirstStep(LineSearchMethod ls){
//		System.out.println("Previous step used " + ls.getPreviousStepUsed());
//		System.out.println("PreviousGradinebt " + ls.getPreviousInitialGradient());
//		System.out.println("CurrentGradinebt " + ls.getInitialGradient());
		if(ls.getPreviousStepUsed() != -1 && ls.getPreviousInitialGradient()!=0){
			double newStep = 1.01*ls.getPreviousInitialGradient()*ls.getPreviousStepUsed()/ls.getInitialGradient();
			//System.out.println("Suggesting " + newStep);
			return newStep;
			
		}
		return _initValue;
	}
	public void collectInitValues(WolfRuleLineSearch ls){
		
	}
	
	public void collectFinalValues(WolfRuleLineSearch ls){
		
	}
}