2
0
mirror of https://github.com/esiur/esiur-dotnet.git synced 2025-06-27 13:33:13 +00:00
This commit is contained in:
2022-11-12 15:57:16 +03:00
parent 1637f453fb
commit 68d0ca1873
4 changed files with 52 additions and 34 deletions

View File

@ -1,12 +1,14 @@
using Esiur.Data;
using Esiur.Resource;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
namespace Esiur.Analysis.Optimization
{
@ -57,10 +59,18 @@ namespace Esiur.Analysis.Optimization
KeyValuePair<T, double>[] GetFitness()
{
var rt = new List<KeyValuePair<T, double>>();
//var rt = new List<KeyValuePair<T, double>>();
var rt = new ConcurrentBag<KeyValuePair<T, double>>();
foreach (var record in Population)
rt.Add(new KeyValuePair<T, double>( record, FitnessFunction(record)));
Parallel.ForEach(Population, record =>
{
rt.Add(new KeyValuePair<T, double>(record, FitnessFunction(record)));
});
//foreach (var record in Population)
// rt.Add(new KeyValuePair<T, double>( record, FitnessFunction(record)));
return rt.ToArray();
}