Esempio n. 1
0
        float OptimisePrime(PaceParameterCollection PaceParameters, int primeStints, int optionStints, int lapsInRace)
        {
            int   l             = lapsInRace;
            float optionD       = PaceParameters.PaceParameters[PaceParameterType.OptionDegradation];
            float primeD        = PaceParameters.PaceParameters[PaceParameterType.PrimeDegradation];
            float delta         = PaceParameters.PaceParameters[PaceParameterType.TyreDelta];
            float optimumLength = 0;

            optimumLength += (l * optionD / (float)optionStints) + (delta) + (primeD / 2) - (optionD / 2);
            optimumLength /= ((primeD) + (optionD * (float)primeStints / (float)optionStints));

            return(optimumLength);
        }
Esempio n. 2
0
        /// <summary>
        /// Starts a strategy from driver data and stint information and optimises the strategy
        /// </summary>
        /// <param name="NoOfStints">The number of stints to complete</param>
        /// <param name="PrimeStints">The number of prime tyre stints to be completed</param>
        /// <param name="_driverIndex">The index of the driver who is completing the stint</param>
        public Strategy(int NoOfStints, int PrimeStints, PaceParameterCollection PaceParameters, int DriverIndex)
        {
            this.DriverIndex = DriverIndex;
            int primeStints  = PrimeStints;
            int optionStints = NoOfStints - PrimeStints;

            int trackIndex = Data.RaceIndex;

            t = Data.Tracks[trackIndex];
            this.PaceParameters = PaceParameters;

            lapsInRace = Data.GetRaceLaps();
            lapTimes   = new float[lapsInRace];

            SetStintLengths(lapsInRace, primeStints, optionStints);

            SetupStrategyStints(NoOfStints, primeStints);
            PopulateAllStints();
            UpdateStrategyParameters();
        }
Esempio n. 3
0
 public void SetPaceParameters(PracticeTimesCollection PracticeTimes)
 {
     this.PracticeTimes = PracticeTimes;
     PaceParameters     = new PaceParameterCollection(PracticeTimes);
 }
Esempio n. 4
0
 public void SetPaceParameters()
 {
     PaceParameters = new PaceParameterCollection(this.PracticeTimes);
 }