Solid package¶
Submodules¶
Solid.EvolutionaryAlgorithm module¶
-
class
Solid.EvolutionaryAlgorithm.
EvolutionaryAlgorithm
(crossover_rate, mutation_rate, max_steps, max_fitness=None)[source]¶ Bases:
object
Conducts evolutionary algorithm
-
best_fitness
= None¶
-
best_member
= None¶
-
crossover_rate
= None¶
-
cur_steps
= None¶
-
fitnesses
= None¶
-
max_fitness
= None¶
-
max_steps
= None¶
-
mutation_rate
= None¶
-
population
= None¶
-
-
Solid.EvolutionaryAlgorithm.
random
() → x in the interval [0, 1).¶
Solid.GeneticAlgorithm module¶
-
class
Solid.GeneticAlgorithm.
GeneticAlgorithm
(crossover_rate, mutation_rate, max_steps, max_fitness=None)[source]¶ Bases:
object
Conducts genetic algorithm
-
best_fitness
= None¶
-
best_member
= None¶
-
crossover_rate
= None¶
-
cur_steps
= None¶
-
fitnesses
= None¶
-
max_fitness
= None¶
-
max_steps
= None¶
-
mutation_rate
= None¶
-
population
= None¶
-
-
Solid.GeneticAlgorithm.
random
() → x in the interval [0, 1).¶
Solid.HarmonySearch module¶
-
class
Solid.HarmonySearch.
HarmonySearch
(hms, hmcr, par, fw, max_steps, max_score=None)[source]¶ Bases:
object
Conducts harmony search
-
best
= None¶
-
cur_steps
= None¶
-
fw
= None¶
-
hmcr
= None¶
-
hms
= None¶
-
max_score
= None¶
-
max_steps
= None¶
-
memory
= None¶
-
par
= None¶
-
run
(verbose=True)[source]¶ Conducts harmony search
Parameters: verbose – indicates whether or not to print progress regularly Returns: best state and objective function value of best state
-
scores
= None¶
-
-
Solid.HarmonySearch.
random
() → x in the interval [0, 1).¶
Solid.ParticleSwarm module¶
-
class
Solid.ParticleSwarm.
ParticleSwarm
(swarm_size, member_size, lower_bound, upper_bound, c1, c2, c3, max_steps, min_objective=None)[source]¶ Bases:
object
Conducts particle swarm optimization
-
best
= None¶
-
c1
= None¶
-
c2
= None¶
-
c3
= None¶
-
cur_steps
= None¶
-
global_best
= None¶
-
lower_bound
= None¶
-
max_steps
= None¶
-
member_size
= None¶
-
min_objective
= None¶
-
pos
= None¶
-
run
(verbose=True)[source]¶ Conducts particle swarm optimization
Parameters: verbose – indicates whether or not to print progress regularly Returns: best member of swarm and objective function value of best member of swarm
-
scores
= None¶
-
swarm_size
= None¶
-
upper_bound
= None¶
-
vel
= None¶
-
-
Solid.ParticleSwarm.
random
() → x in the interval [0, 1).¶
-
Solid.ParticleSwarm.
uniform
(low=0.0, high=1.0, size=None)¶ Draw samples from a uniform distribution.
Samples are uniformly distributed over the half-open interval
[low, high)
(includes low, but excludes high). In other words, any value within the given interval is equally likely to be drawn by uniform.- low : float or array_like of floats, optional
- Lower boundary of the output interval. All values generated will be greater than or equal to low. The default value is 0.
- high : float or array_like of floats
- Upper boundary of the output interval. All values generated will be less than high. The default value is 1.0.
- size : int or tuple of ints, optional
- Output shape. If the given shape is, e.g.,
(m, n, k)
, thenm * n * k
samples are drawn. If size isNone
(default), a single value is returned iflow
andhigh
are both scalars. Otherwise,np.broadcast(low, high).size
samples are drawn.
- out : ndarray or scalar
- Drawn samples from the parameterized uniform distribution.
randint : Discrete uniform distribution, yielding integers. random_integers : Discrete uniform distribution over the closed
interval[low, high]
.random_sample : Floats uniformly distributed over
[0, 1)
. random : Alias for random_sample. rand : Convenience function that accepts dimensions as input, e.g.,rand(2,2)
would generate a 2-by-2 array of floats, uniformly distributed over[0, 1)
.The probability density function of the uniform distribution is
anywhere within the interval
[a, b)
, and zero elsewhere.When
high
==low
, values oflow
will be returned. Ifhigh
<low
, the results are officially undefined and may eventually raise an error, i.e. do not rely on this function to behave when passed arguments satisfying that inequality condition.Draw samples from the distribution:
>>> s = np.random.uniform(-1,0,1000)
All values are within the given interval:
>>> np.all(s >= -1) True >>> np.all(s < 0) True
Display the histogram of the samples, along with the probability density function:
>>> import matplotlib.pyplot as plt >>> count, bins, ignored = plt.hist(s, 15, normed=True) >>> plt.plot(bins, np.ones_like(bins), linewidth=2, color='r') >>> plt.show()
Solid.SimulatedAnnealing module¶
-
class
Solid.SimulatedAnnealing.
SimulatedAnnealing
(initial_state, temp_begin, schedule_constant, max_steps, min_energy=None, schedule=’exponential’)[source]¶ Bases:
object
Conducts simulated annealing algorithm
-
adjust_temp
= None¶
-
best_energy
= None¶
-
best_state
= None¶
-
cur_steps
= 0¶
-
current_energy
= None¶
-
current_state
= None¶
-
current_temp
= None¶
-
initial_state
= None¶
-
max_steps
= None¶
-
min_energy
= None¶
-
run
(verbose=True)[source]¶ Conducts simulated annealing
Parameters: verbose – indicates whether or not to print progress regularly Returns: best state and best energy
-
start_temp
= None¶
-
-
Solid.SimulatedAnnealing.
random
() → x in the interval [0, 1).¶
Solid.StochasticHillClimb module¶
-
class
Solid.StochasticHillClimb.
StochasticHillClimb
(initial_state, temp, max_steps, max_objective=None)[source]¶ Bases:
object
Conducts stochastic hill climb
-
best_objective
= None¶
-
best_state
= None¶
-
cur_steps
= 0¶
-
current_state
= None¶
-
initial_state
= None¶
-
max_objective
= None¶
-
max_steps
= None¶
-
run
(verbose=True)[source]¶ Conducts hill climb
Parameters: verbose – indicates whether or not to print progress regularly Returns: best state and best objective function value
-
temp
= None¶
-
-
Solid.StochasticHillClimb.
random
() → x in the interval [0, 1).¶
Solid.TabuSearch module¶
-
class
Solid.TabuSearch.
TabuSearch
(initial_state, tabu_size, max_steps, max_score=None)[source]¶ Bases:
object
Conducts tabu search
-
best
= None¶
-
cur_steps
= None¶
-
current
= None¶
-
initial_state
= None¶
-
max_score
= None¶
-
max_steps
= None¶
-
run
(verbose=True)[source]¶ Conducts tabu search
Parameters: verbose – indicates whether or not to print progress regularly Returns: best state and objective function value of best state
-
tabu_list
= None¶
-
tabu_size
= None¶
-
-
Solid.TabuSearch.
random
() → x in the interval [0, 1).¶