public override double EvaluateMove(Permutation permutation, TranslocationMove move, PackingShape binShape, ReadOnlyItemList <PackingItem> items) { // uses full evaluation TranslocationManipulator.Apply(permutation, move.Index1, move.Index2, move.Index3); var solution = DecoderParameter.ActualValue.Decode(permutation, binShape, items); return(SolutionEvaluatorParameter.ActualValue.Evaluate(solution)); }
public abstract double EvaluateMove(TSol encodedSolutionCandidate, TMove move, PackingShape binShape, ReadOnlyItemList <PackingItem> items, bool useStackingConstraints);
public override double EvaluateMove(Permutation permutation, Swap2Move move, PackingShape binShape, ReadOnlyItemList <PackingItem> items, bool useStackingConstraints) { // uses full evaluation Swap2Manipulator.Apply(permutation, move.Index1, move.Index2); var solution = DecoderParameter.ActualValue.Decode(permutation, binShape, items, useStackingConstraints); return(SolutionEvaluatorParameter.ActualValue.Evaluate(solution)); }