예제 #1
0
        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);
        }
예제 #2
0
        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);
        }