Ejemplo n.º 1
0
	def setUp(self):
		self.de_custom = (10, DifferentialEvolutionAlgorithm(D=10, NP=40, nFES=1000, F=0.5, CR=0.9, benchmark=MyBenchmark()))
		self.de_griewank = (40, DifferentialEvolutionAlgorithm(NP=10, D=40, nFES=1000, CR=0.5, F=0.9, benchmark='griewank'))
		self.de_rand1 = (10, DifferentialEvolutionAlgorithm(nFES=1000, D=10, CrossMutt=CrossRand1))
		self.de_best1 = (10, DifferentialEvolutionAlgorithm(nFES=1000, D=10, CrossMutt=CrossBest1))
		self.de_rand2 = (10, DifferentialEvolutionAlgorithm(nFES=1000, D=10, CrossMutt=CrossRand2))
		self.de_best2 = (10, DifferentialEvolutionAlgorithm(nFES=1000, D=10, CrossMutt=CrossBest2))
		self.de_curr2rand1 = (10, DifferentialEvolutionAlgorithm(nFES=1000, D=10, CrossMutt=CrossCurr2Rand1))
		self.de_curr2best1 = (10, DifferentialEvolutionAlgorithm(nFES=1000, D=10, CrossMutt=CrossCurr2Best1))
Ejemplo n.º 2
0
def plot_example(D=10, nFES=50000, seed=None, optType=OptimizationType.MINIMIZATION, optFunc=MinMB):
	task = TaskConvPlot(D=D, nFES=nFES, nGEN=10000, optType=optType, benchmark=optFunc())
	algo = DifferentialEvolutionAlgorithm(NP=40, F=0.5, CR=0.9, seed=seed, task=task)
	best = algo.run()
	logger.info('%s %s' % (best[0], best[1]))
	input('Press [enter] to continue')
Ejemplo n.º 3
0
def simple_example(runs=10, D=10, nFES=50000, seed=None, optType=OptimizationType.MINIMIZATION, optFunc=MinMB):
	for i in range(runs):
		algo = DifferentialEvolutionAlgorithm(D=D, NP=40, nFES=nFES, F=0.5, CR=0.9, seed=seed + 1 if seed != None else seed, optType=optType, benchmark=optFunc())
		Best = algo.run()
		logger.info('%s %s' % (Best[0], Best[1]))
Ejemplo n.º 4
0
 def setUp(self):
     self.de_custom = DifferentialEvolutionAlgorithm(
         10, 40, 10000, 0.5, 0.9, MyBenchmark())
     self.de_griewank = DifferentialEvolutionAlgorithm(
         10, 40, 10000, 0.5, 0.9, 'griewank')
Ejemplo n.º 5
0
import logging
from NiaPy.algorithms.basic import DifferentialEvolutionAlgorithm

logging.basicConfig()
logger = logging.getLogger('examples')
logger.setLevel('INFO')

# For reproducive results
random.seed(1234)


class MyBenchmark(object):
    def __init__(self):
        self.Lower = -5.12
        self.Upper = 5.12

    def function(self):
        def evaluate(D, sol):
            val = 0.0
            for i in range(D):
                val = val + sol[i] * sol[i]
            return val
        return evaluate


for i in range(10):
    Algorithm = DifferentialEvolutionAlgorithm(10, 40, 10000, 0.5, 0.9, MyBenchmark())
    Best = Algorithm.run()

    logger.info(Best)