public void Start()
 {
     if (!loaded)
     {
         printToConsole("Nothing has been loaded. Call Load() before Start().");
         return;
     }
     optimizer.Prepare();
     lastTimespan = TimeSpan.Zero;
     optimizer.Start();
 }
Example #2
0
        public void Start()
        {
            if ((ExecutionState != ExecutionState.Prepared) && (ExecutionState != ExecutionState.Paused))
            {
                throw new InvalidOperationException(string.Format("Start not allowed in execution state \"{0}\".", ExecutionState));
            }
            if (Optimizers.Count == 0)
            {
                return;
            }

            experimentStarted = true;
            experimentStopped = false;
            IOptimizer optimizer = Optimizers.FirstOrDefault(x => (x.ExecutionState == ExecutionState.Prepared) || (x.ExecutionState == ExecutionState.Paused));

            if (optimizer != null)
            {
                // a race-condition may occur when the optimizer has changed the state by itself in the meantime
                try { optimizer.Start(); }
                catch (InvalidOperationException) { }
            }
        }