Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Nature Inspired Optimization Algorithms

License

NotificationsYou must be signed in to change notification settings

salar-shdk/nia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NIA is a python package for Nature Inspired Optimization Algorithms which makes optimization process easy and fast.

Instalation

CheckNIA's PyPI page or simply install it using pip:

pip install nia

Usage

Solve Ackley problem using Genetic Algorithm:

fromnia.algorithmsimportGeneticAlgorithmfromnia.problemsimportackleynia=GeneticAlgorithm(cost_function=ackley,lower_bond=[-5,-5],upper_bond=[5,5],                                )nia.run()print(nia.message);

output:

quit criteria reached best answer is: [-0.02618036 -0.03615453] and best fitness is: 0.0006327163637145361 iteration : 11

Plot:

Result gif

Customization:

fromnia.algorithmsimportGeneticAlgorithm# Specific selection, crossover and muttion algorithms are available under related sub-packages.fromnia.selectionsimportTournamentfromnia.crossoversimportRandomSBXfromnia.mutationsimportUniformimportnumpyasnpdefackley(X):x=X[0]y=X[1]return-20*np.exp(-0.2*np.sqrt(0.5* (x**2+y**2)))-np.exp(0.5*        (np.cos(2*np.pi*x)+np.cos(2*np.pi*y)))+np.e+20deflog(ga):print(ga.best)lower=np.array([-5,-5])upper=np.array([5,5])nia=GeneticAlgorithm(cost_function=ackley,iteration_function=log,lower_bond=lower,upper_bond=upper,quit_criteria=0.0001,num_variable=2,num_population=20,max_iteration=100,crossover=RandomSBX(2),mutation=Uniform(0.05),selection=Tournament(20)                                )nia.run()print(nia.message);

output

max iteration reached best answer so far: [-0.02618036 -0.03615453] with best fitness: 0.1786046633597529 iteration : 99

Supported Algorithms :

  • Genetic algorithm (GeneticAlgorithm)
  • Differential Evolution
  • Evolutionary Programming
  • Artificial Immune System
  • Clonal Selection Algorithm
  • Biogeography-based
  • Symbiotic Organisms Search
  • Ant Colony Optimization
  • Artificial Bee Colony (ArtificialBeeColony)
  • Moth Flame Optimization Algorithm
  • Cuckoo Search
  • Green Herons Optimization Algorithm
  • Bat Algorithm
  • Whale Optimization Algorithm
  • Krill Herd
  • Fish-swarm Algorithm
  • Grey Wolf Optimizer
  • Shuffle frog-leaping Algorithm
  • Cat Swarm Optimization
  • Flower Pollination Algorithm
  • Invasive Weed Optimization
  • Water Cycle Algorithm
  • Teaching–Learning-Based Optimization
  • Particle Swarm Optimization (ParticleSwarmOptimization)
  • Simulated Annealing Algorithm
  • Gravitational Search Algorithm
  • Big Bang - Big Crunch

Supported Selection Operators :

  • Rank (Rank)
  • Tournament (Tournament)

Supported Cross Over Operators :

  • K-Point (KPoint)
  • SBX (SBX)
  • Random SBX (RandomSBX)

Supported Mutation Operators :

  • Uniform (Uniform)

[8]ページ先頭

©2009-2025 Movatter.jp