示例#1
0
 def __init__(self, obj_func=None, lb=None, ub=None, problem_size=50, batch_size=10, verbose=True,
              epoch=750, pop_size=100, bout_size=0.05):
     Root.__init__(self, obj_func, lb, ub, problem_size, batch_size, verbose)
     self.epoch = epoch
     self.pop_size = pop_size
     if bout_size < 1:                               # Number of tried with tournament selection (5% of pop_size)
         self.bout_size = int(bout_size * self.pop_size)
     else:
         self.bout_size = int(bout_size)
     self.distance = 0.05 * (self.ub - self.lb)
示例#2
0
 def __init__(self,
              objective_func=None,
              problem_size=50,
              domain_range=(-1, 1),
              log=True,
              epoch=750,
              pop_size=100):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size
示例#3
0
 def __init__(self, obj_func=None, lb=None, ub=None, verbose=True, epoch=750, pop_size=100, lamda=0.5, xichma=0.3, **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.xichma = xichma        # Weight factor
     self.lamda = lamda          # Number of the best will keep
     if lamda < 1:
         self.n_best = int(lamda * self.pop_size)
     else:
         self.n_best = int(lamda)
示例#4
0
文件: WDO.py 项目: ryan6732/mealpy
 def __init__(self, obj_func=None, lb=None, ub=None, verbose=True, epoch=750, pop_size=100,
              RT=3, g=0.2, alp=0.4, c=0.4, max_v=0.3, **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.RT = RT                # RT coefficient
     self.g = g                  # gravitational constant
     self.alp = alp              # constants in the update equation
     self.c = c                  # coriolis effect
     self.max_v = max_v          # maximum allowed speed
示例#5
0
 def __init__(self, objective_func=None, problem_size=50, domain_range=(-1, 1), log=True,
              epoch=750, pop_size=100, couple_bees=(16, 4), patch_variables=(5.0, 0.985), sites=(3, 1)):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size
     self.e_bees = couple_bees[0]                # number of bees which provided for good location and other location
     self.o_bees = couple_bees[1]
     self.patch_size = patch_variables[0]        # patch_variables = patch_variables * patch_factor (0.985)
     self.patch_factor = patch_variables[1]
     self.num_sites = sites[0]                   # 3 bees (employed bees, onlookers and scouts), 1 good partition
     self.elite_sites = sites[1]
示例#6
0
文件: SLO.py 项目: ryan6732/mealpy
 def __init__(self,
              obj_func=None,
              lb=None,
              ub=None,
              verbose=True,
              epoch=750,
              pop_size=100,
              **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
示例#7
0
文件: DE.py 项目: lamtov/mealpy
 def __init__(self,
              root_paras=None,
              epoch=750,
              pop_size=100,
              wf=0.8,
              cr=0.9):
     Root.__init__(self, root_paras)
     self.epoch = epoch
     self.pop_size = pop_size
     self.weighting_factor = wf
     self.crossover_rate = cr
示例#8
0
 def __init__(self, obj_func=None, lb=None, ub=None, verbose=True, epoch=750, pop_size=100,
              gamma=1, beta_base=1, alpha=0.2, alpha_damp=0.99, delta=0.05, m=2, **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.gamma = gamma              # Light Absorption Coefficient
     self.beta_base = beta_base      # Attraction Coefficient Base Value
     self.alpha = alpha              # Mutation Coefficient
     self.alpha_damp = alpha_damp    # Mutation Coefficient Damp Rate
     self.delta = delta              # Mutation Step Size
     self.m = m                      # Exponent
示例#9
0
文件: BSO.py 项目: ryan6732/mealpy
 def __init__(self, obj_func=None, lb=None, ub=None, verbose=True, epoch=750, pop_size=100,
              m=5, p1=0.25, p2=0.5, p3=0.75, p4=0.5, **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.m = m              # n: pop_size, m: clusters
     self.p1 = p1            # 25% percent
     self.p2 = p2            # 50% percent changed by its own (local search), 50% percent changed by outside (global search)
     self.p3 = p3            # 75% percent develop the old idea, 25% invented new idea based on levy-flight
     self.p4 = p4            # Need more weights on the centers instead of the random position
     self.m_solution = int(self.pop_size / self.m)
示例#10
0
 def __init__(self,
              root_paras=None,
              epoch=750,
              pop_size=100,
              r=0.95,
              pf=(0, 10)):
     Root.__init__(self, root_paras)
     self.epoch = epoch
     self.pop_size = pop_size
     self.r = r  # (r_min, r_max): pulse rate / emission rate
     self.pf = pf  # (pf_min, pf_max): pulse frequency
示例#11
0
 def __init__(self, obj_func=None, lb=None, ub=None, problem_size=50, batch_size=10, verbose=True,
              epoch=750, pop_size=100, n_best=5, partition=0.5, max_step_size=1.0):
     Root.__init__(self, obj_func, lb, ub, problem_size, batch_size, verbose)
     self.epoch = epoch
     self.pop_size = pop_size
     self.n_best = n_best            # how many of the best moths to keep from one generation to the next
     self.partition = partition      # The proportional of first partition
     self.max_step_size = max_step_size
     self.n_moth1 = int(ceil(self.partition * self.pop_size))     # np1 in paper
     self.n_moth2 = self.pop_size - self.n_moth1                  # np2 in paper
     self.golden_ratio = (sqrt(5) - 1) / 2.0     # you can change this ratio so as to get much better performance
示例#12
0
 def __init__(self, obj_func=None, lb=None, ub=None, problem_size=50, batch_size=10, verbose=True,
              epoch=750, pop_size=100, pc=0.98, pm=0.025, p_local=0.5, max_local_gens=10, bits_per_param=16):
     Root.__init__(self, obj_func, lb, ub, problem_size, batch_size, verbose)
     self.epoch = epoch
     self.pop_size = pop_size
     self.pc = pc
     self.pm = pm
     self.p_local = p_local
     self.max_local_gens = max_local_gens
     self.bits_per_param = bits_per_param
     self.bits_total = self.problem_size * self.bits_per_param
示例#13
0
文件: GA.py 项目: lamtov/mealpy
 def __init__(self,
              root_paras=None,
              epoch=750,
              pop_size=100,
              pc=0.95,
              pm=0.025):
     Root.__init__(self, root_paras)
     self.epoch = epoch
     self.pop_size = pop_size
     self.pc = pc
     self.pm = pm
示例#14
0
 def __init__(self,
              objective_func=None,
              problem_size=50,
              domain_range=(-1, 1),
              log=True,
              epoch=750,
              pop_size=100,
              S=2):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size
     self.S = S  # somersault factor that decides the somersault range of manta rays
示例#15
0
 def __init__(self,
              objective_func=None,
              problem_size=50,
              domain_range=(-1, 1),
              log=True,
              epoch=750,
              pop_size=100,
              fp=(0.65, 0.9)):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size
     self.fp = fp  # (fp_min, fp_max): Female Percent
示例#16
0
 def __init__(self,
              objective_func=None,
              problem_size=50,
              domain_range=(-1, 1),
              log=True,
              epoch=750,
              pop_size=100,
              wep_minmax=(1.0, 0.2)):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size
     self.wep_minmax = wep_minmax  # Wormhole Existence Probability (min and max in Eq.(3.3) paper
示例#17
0
 def __init__(self,
              objective_func=None,
              problem_size=50,
              domain_range=(-1, 1),
              log=True,
              epoch=750,
              pop_size=100,
              pp=0.05):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size  # SailFish pop size
     self.pp = pp  # the rate between SailFish and Sardines (N_sf = N_s * pp) = 0.25, 0.2, 0.1
示例#18
0
 def __init__(self, obj_func=None, lb=None, ub=None, verbose=True, epoch=750, pop_size=100,
              max_sub_iter=10, t0=1000, t1=1, move_count=5, mutation_rate=0.1,
              mutation_step_size=0.1, mutation_step_size_damp=0.99, **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.max_sub_iter = max_sub_iter    # Maximum Number of Sub-Iteration (within fixed temperature)
     self.t0 = t0                                            # Initial Temperature
     self.t1 = t1                                            # Final Temperature
     self.move_count = move_count                            # Move Count per Individual Solution
     self.mutation_rate = mutation_rate                      # Mutation Rate
     self.mutation_step_size = mutation_step_size            # Mutation Step Size
     self.mutation_step_size_damp = mutation_step_size_damp  # Mutation Step Size Damp
示例#19
0
文件: MVO.py 项目: ryan6732/mealpy
 def __init__(self,
              obj_func=None,
              lb=None,
              ub=None,
              verbose=True,
              epoch=750,
              pop_size=100,
              wep_minmax=(0.2, 1.0),
              **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.wep_minmax = wep_minmax  # Wormhole Existence Probability (min and max in Eq.(3.3) paper
示例#20
0
 def __init__(self,
              obj_func=None,
              lb=None,
              ub=None,
              verbose=True,
              epoch=750,
              pop_size=100,
              fp=(0.65, 0.9),
              **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.fp = fp  # (fp_min, fp_max): Female Percent
示例#21
0
 def __init__(self,
              obj_func=None,
              lb=None,
              ub=None,
              verbose=True,
              epoch=750,
              pop_size=100,
              pp=0.1,
              **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size  # SailFish pop size
     self.pp = pp  # the rate between SailFish and Sardines (N_sf = N_s * pp) = 0.25, 0.2, 0.1
示例#22
0
 def __init__(self,
              objective_func=None,
              problem_size=50,
              domain_range=(-1, 1),
              log=True,
              epoch=750,
              pop_size=100):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size
     self.ST = 0.8  # ST in [0.5, 1.0]
     self.PD = 0.2  # number of producers
     self.SD = 0.1  # number of sparrows who perceive the danger
示例#23
0
文件: MRFO.py 项目: ryan6732/mealpy
 def __init__(self,
              obj_func=None,
              lb=None,
              ub=None,
              verbose=True,
              epoch=750,
              pop_size=100,
              S=2,
              **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.S = S  # somersault factor that decides the somersault range of manta rays
示例#24
0
 def __init__(self,
              obj_func=None,
              lb=None,
              ub=None,
              problem_size=50,
              batch_size=10,
              verbose=True,
              epoch=750,
              pop_size=100):
     Root.__init__(self, obj_func, lb, ub, problem_size, batch_size,
                   verbose)
     self.epoch = epoch
     self.pop_size = pop_size
示例#25
0
文件: GOA.py 项目: ryan6732/mealpy
 def __init__(self,
              obj_func=None,
              lb=None,
              ub=None,
              verbose=True,
              epoch=750,
              pop_size=100,
              c_minmax=(0.00004, 1),
              **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.c_minmax = c_minmax
示例#26
0
文件: LCBO.py 项目: ryan6732/mealpy
 def __init__(self,
              obj_func=None,
              lb=None,
              ub=None,
              verbose=True,
              epoch=750,
              pop_size=100,
              **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size
     self.n1 = int(ceil(sqrt(self.pop_size)))  # n best position
     self.n2 = self.n1 + int(
         (self.pop_size - self.n1) / 2)  # 50% for both 2 group left
示例#27
0
文件: BSO.py 项目: ryan6732/mealpy
 def __init__(self, obj_func=None, lb=None, ub=None, verbose=True, epoch=750, pop_size=100,
              m=5, p1=0.2, p2=0.8, p3=0.4, p4=0.5, k=20, miu=0, xichma=1, **kwargs):
     Root.__init__(self, obj_func, lb, ub, verbose, kwargs)
     self.epoch = epoch
     self.pop_size = pop_size  # n: pop_size, m: clusters
     self.m = m
     self.p1 = p1
     self.p2 = p2
     self.p3 = p3
     self.p4 = p4
     self.k = k
     self.miu = miu
     self.xichma = xichma
     self.m_solution = int(self.pop_size / self.m)
示例#28
0
 def __init__(self,
              objective_func=None,
              problem_size=50,
              domain_range=(-1, 1),
              log=True,
              epoch=750,
              pop_size=100,
              r=0.95,
              pf=(0, 10)):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size
     self.r = r  # (r_min, r_max): pulse rate / emission rate
     self.pf = pf  # (pf_min, pf_max): pulse frequency
示例#29
0
 def __init__(self,
              objective_func=None,
              problem_size=50,
              domain_range=(-1, 1),
              log=True,
              epoch=750,
              pop_size=100):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size
     self.r1 = 2.35
     self.n1 = int(ceil(sqrt(self.pop_size)))  # n best solution
     self.n2 = int(
         (self.pop_size - self.n1) / 2)  # 50% for both 2 group left
示例#30
0
 def __init__(self,
              objective_func=None,
              problem_size=50,
              domain_range=(-1, 1),
              log=True,
              epoch=750,
              pop_size=100,
              brr=0.06,
              max_age=150):
     Root.__init__(self, objective_func, problem_size, domain_range, log)
     self.epoch = epoch
     self.pop_size = pop_size
     self.brr = brr
     self.max_age = max_age