Exemplo n.º 1
0
        private static void RunFireworks2012()
        {
            // 1. Define a problem to solve
            Problem problem = Sphere.Create();

            // 2. Setup algorithm stop condition
            CounterStopCondition stopCondition = new CounterStopCondition(10000);

            problem.QualityCalculated += stopCondition.IncrementCounter;

            // 3. Initialize algorithm run settings
            FireworksAlgorithmSettings2012 settings = new FireworksAlgorithmSettings2012
            {
                LocationsNumber = 8,
                ExplosionSparksNumberModifier    = 50.0,
                ExplosionSparksNumberLowerBound  = 0.04,
                ExplosionSparksNumberUpperBound  = 0.8,
                ExplosionSparksMaximumAmplitude  = 40.0,
                SpecificSparksNumber             = 8,
                SpecificSparksPerExplosionNumber = 1,
                FunctionOrder  = 2,
                SamplingNumber = 5
            };

            // 4. Instantiate desired implementation of the algorithm (per 2012 paper in this case)
            IFireworksAlgorithm fwa2012 = new FireworksAlgorithm2012(problem, stopCondition, settings);

            // 5. Finally, find a solution
            Solution solution = fwa2012.Solve();
        }
Exemplo n.º 2
0
        private FireworksAlgorithm GetFireworksAlgorithm()
        {
            CounterStopCondition testStopCondition = new CounterStopCondition(1);

            testProblem.QualityCalculated += testStopCondition.IncrementCounter;

            FireworksAlgorithmSettings testFireworksAlgoritmSetting = new FireworksAlgorithmSettings
            {
                LocationsNumber = 1,
                ExplosionSparksNumberModifier    = 1,
                ExplosionSparksNumberLowerBound  = 0.04,
                ExplosionSparksNumberUpperBound  = 0.8,
                ExplosionSparksMaximumAmplitude  = 0.5,
                SpecificSparksNumber             = 1,
                SpecificSparksPerExplosionNumber = 1
            };

            return(new FireworksAlgorithm(testProblem, testStopCondition, testFireworksAlgoritmSetting));
        }