package opt; import shared.Instance; import shared.Trainer; /** * An abstract class for optimzation algorithms * @author Andrew Guillory gtg008g@mail.gatech.edu * @version 1.0 */ public abstract class OptimizationAlgorithm implements Trainer { /** * The problem to optimize */ private OptimizationProblem op; /** * Make a new optimization algorithm * @param op the problem to optimize */ public OptimizationAlgorithm(OptimizationProblem op) { this.op = op; } /** * Get an optimization problem * @return the problem */ public OptimizationProblem getOptimizationProblem() { return op; } /** * Get the optimal data * @return the data */ public abstract Instance getOptimal(); }