コード例 #1
0
 private void HandleBatchRunIndividualEvaluated(EvaluatedIndividualEventArgs e)
 {
     if (e.AverageSpeed > 0)
     {
         batchRunIndividualEvaluatedInfo += "Average individual: ";
         batchRunIndividualEvaluatedInfo += "[";
         for (int ii = 0; ii < e.AverageIndividualSpeedIndex.Count - 1; ii++)
         {
             batchRunIndividualEvaluatedInfo += e.AverageIndividualSpeedIndex[ii].ToString("0") + " ";
         }
         batchRunIndividualEvaluatedInfo += e.AverageIndividualSpeedIndex[e.AverageIndividualSpeedIndex.Count - 1].ToString("0") + "]" + ", ";
         batchRunIndividualEvaluatedInfo += "Index: " + e.SpeedProfileIndex.ToString("0").PadLeft(12) + ", ";
         batchRunIndividualEvaluatedInfo += "Average speed: " + (e.AverageSpeed * 3.6).ToString("0.0").PadLeft(4) + ", ";
         batchRunIndividualEvaluatedInfo += "Fitness: " + e.Fitness.ToString("0.00000").PadLeft(9) + ", ";
         batchRunIndividualEvaluatedInfo += "================================= \r\n";
     }
     else
     {
         batchRunIndividualEvaluatedInfo += e.Fitness.ToString("0.00000").PadLeft(9) + ", ";
         batchRunIndividualEvaluatedInfo += "[";
         for (int ii = 0; ii < e.AverageIndividualSpeedIndex.Count - 1; ii++)
         {
             batchRunIndividualEvaluatedInfo += e.AverageIndividualSpeedIndex[ii].ToString("0") + " ";
         }
         batchRunIndividualEvaluatedInfo += e.AverageIndividualSpeedIndex[e.AverageIndividualSpeedIndex.Count - 1].ToString("0") + "]" + ", ";
         batchRunIndividualEvaluatedInfo += e.SpeedProfileIndex.ToString("0").PadLeft(12) + "\r\n";
     }
 }
コード例 #2
0
 private void ThreadSafeHandleBatchRunIndividualEvaluated(object sender, EvaluatedIndividualEventArgs e)
 {
     if (InvokeRequired)
     {
         this.Invoke(new MethodInvoker(() => HandleBatchRunIndividualEvaluated(e)));
     }
     else
     {
         HandleBatchRunIndividualEvaluated(e);
     }
 }
 private void OnNewBestIndividualFound(List <int> individualSpeedIndexList, long speedProfileIndex, double averageSpeed,
                                       double fitness, OptimizableStructure individual, int individualIndexInGeneration, int generationIndex, bool isIndividualFeasible)
 {
     if (NewBestIndividualFound != null)
     {
         EvaluatedIndividualEventArgs e = new EvaluatedIndividualEventArgs(individualSpeedIndexList, speedProfileIndex, averageSpeed, fitness,
                                                                           individual, individualIndexInGeneration, generationIndex, isIndividualFeasible);
         EventHandler <EvaluatedIndividualEventArgs> handler = NewBestIndividualFound;
         handler(this, e);
     }
 }