Esempio n. 1
0
        /// <summary>
        /// Writes all internal data to file.
        /// <para>Calling <see cref="IPopulationUpdateStrategy{TInstance,TResult}.DumpStatus"/>, terminating the program and then calling
        /// <see cref="IPopulationUpdateStrategy{TInstance,TResult}.UseStatusDump"/> needs to be equivalent to one long run.</para>
        /// </summary>
        public override void DumpStatus()
        {
            var strategyStatus = new CovarianceMatrixAdaptationStrategyStatus <PartialGenomeSearchPoint, TInstance>(
                this.OriginalIncumbent,
                this.CurrentEvaluationInstances,
                this.MostRecentSorting);

            strategyStatus.WriteToFile(this.StrategyStatusFilePath);
            this._cmaEsRunner.DumpStatus(this.ContinuousOptimizerStatusFilePath);
        }
Esempio n. 2
0
        public void OriginalIncumbentIsSetCorrectly()
        {
            var status = new CovarianceMatrixAdaptationStrategyStatus <PartialGenomeSearchPoint, TestInstance>(
                this._originalIncumbent,
                this._currentEvaluationInstances,
                this._mostRecentSorting);

            Assert.Equal(
                this._originalIncumbent,
                status.OriginalIncumbent);
        }
Esempio n. 3
0
        public override void ReadFromFileDeserializesCorrectly()
        {
            var status = new CovarianceMatrixAdaptationStrategyStatus <PartialGenomeSearchPoint, TestInstance>(
                this._originalIncumbent,
                this._currentEvaluationInstances,
                this._mostRecentSorting);

            status.WriteToFile(this.StatusFilePath);
            var deserializedStatus =
                StatusBase.ReadFromFile <CovarianceMatrixAdaptationStrategyStatus <PartialGenomeSearchPoint, TestInstance> >(this.StatusFilePath);

            // Use to string to not compare references.
            Assert.Equal(
                status.OriginalIncumbent.ToString(),
                deserializedStatus.OriginalIncumbent.ToString());
            Assert.Equal(
                status.MostRecentSorting.Select(point => point.Genome.ToString()).ToArray(),
                deserializedStatus.MostRecentSorting.Select(point => point.Genome.ToString()).ToArray());
            Assert.Equal(
                status.CurrentEvaluationInstances.Select(instance => instance.ToString()).ToArray(),
                deserializedStatus.CurrentEvaluationInstances.Select(instance => instance.ToString()).ToArray());
        }