import java.util.Random;

public abstract class SLSearcher 
{
    protected Random random = new Random();
    protected Annealable state;
    protected Annealable bestState;
    protected double bestEnergy;

    public SLSearcher(Annealable initState) {
	state = initState;
	bestState = (Annealable) state.clone();
	bestEnergy = bestState.energy();
    }
    
    public abstract Annealable search(int iterations);
}

	
	
