void ProcessDecisionsIntoDgv(SeasonPlannerDecision[] spDecisions, int _initialRaceId, SeasonPlannerFullLine spFull) { dtSeasonPlanner.Clear(); int initialRaceId = _initialRaceId; spDecisions = spDecisions.Where(x => x != null).ToArray(); for (int raceIndex = initialRaceId; raceIndex < 17; raceIndex++) { spFull.spDecisions = spDecisions[raceIndex - initialRaceId]; //spDecisions[j - initialRaceId]; spFull.spTable.SeasonRaceNumber = raceIndex; spFull = SpHelper.ProcessSeasonPlanner(spFull); WriteSpFullToDgv(spFull); } }
SeasonPlannerResult GetBestDecisionThread3(int initialRaceId, SeasonPlannerFullLine spFull, Random random) { SeasonPlannerDecision[] spDecisions = new SeasonPlannerDecision[17]; SeasonPlannerDecision[] bestSpDecisions = new SeasonPlannerDecision[17]; //Generate and test spDecision for (int j = initialRaceId; j < 17; j++) { spDecisions[j - initialRaceId] = SpHelper.GenerateRandomDecisionValues(random); spFull.spDecisions = spDecisions[j - initialRaceId]; spFull.spTable.SeasonRaceNumber = j; spFull = SpHelper.ProcessSeasonPlanner(spFull); } SeasonPlannerResult spDecBal = new SeasonPlannerResult(); spDecBal.spDecisions = (SeasonPlannerDecision[])spDecisions.Clone(); spDecBal.random = random; spDecBal.finalPoints = spFull.spTab.CurrentPoints; spDecBal.finalBalanceM = spFull.spTable.BalanceAfterRaceM; return(spDecBal); }