protected override void PerformMove() { IVRPMove move = VRPMoveParameter.ActualValue as IVRPMove; VRPMoveMaker moveMaker = move.GetMoveMaker(); moveMaker.VRPMoveParameter.ActualName = VRPMoveParameter.Name; IAtomicOperation op = this.ExecutionContext.CreateOperation(moveMaker); op.Operator.Execute((IExecutionContext)op, CancellationToken); }
public override IOperation InstrumentedApply() { IVRPMove move = VRPMoveParameter.ActualValue as IVRPMove; VRPMoveEvaluator moveEvaluator = move.GetMoveEvaluator(); moveEvaluator.VRPMoveParameter.ActualName = VRPMoveParameter.Name; OperationCollection next = new OperationCollection(base.InstrumentedApply()); next.Insert(0, ExecutionContext.CreateOperation(moveEvaluator)); return(next); }
public override IOperation Apply() { IVRPMove move = VRPMoveParameter.ActualValue as IVRPMove; ITabuMaker moveTabuMaker = move.GetTabuMaker(); (moveTabuMaker as IVRPMoveOperator).VRPMoveParameter.ActualName = VRPMoveParameter.Name; OperationCollection next = new OperationCollection(base.Apply()); next.Insert(0, ExecutionContext.CreateOperation(moveTabuMaker)); return(next); }
public override IOperation Apply() { IVRPMove move = VRPMoveParameter.ActualValue as IVRPMove; ITabuChecker tabuChecker; if (UseAspirationCriterion.Value) { tabuChecker = move.GetSoftTabuChecker(); } else { tabuChecker = move.GetTabuChecker(); } (tabuChecker as IVRPMoveOperator).VRPMoveParameter.ActualName = VRPMoveParameter.Name; OperationCollection next = new OperationCollection(base.Apply()); next.Insert(0, ExecutionContext.CreateOperation(tabuChecker)); return(next); }