All Projects → jacobwilliams → pikaia

jacobwilliams / pikaia

Licence: other
Modern Fortran Edition of the Pikaia Genetic Algorithm

Programming Languages

fortran
972 projects

Projects that are alternatives of or similar to pikaia

ForBES
Generic and efficient MATLAB solver for nonsmooth optimization problems
Stars: ✭ 19 (-34.48%)
Mutual labels:  optimization, numerical-optimization
Solid
🎯 A comprehensive gradient-free optimization framework written in Python
Stars: ✭ 546 (+1782.76%)
Mutual labels:  optimization, genetic-algorithm
Geneticalgorithmpython
Source code of PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).
Stars: ✭ 435 (+1400%)
Mutual labels:  optimization, genetic-algorithm
modest-py
FMI-compliant Model Estimation in Python
Stars: ✭ 40 (+37.93%)
Mutual labels:  optimization, genetic-algorithm
Fantasy Basketball
Scraping statistics, predicting NBA player performance with neural networks and boosting algorithms, and optimising lineups for Draft Kings with genetic algorithm. Capstone Project for Machine Learning Engineer Nanodegree by Udacity.
Stars: ✭ 146 (+403.45%)
Mutual labels:  optimization, genetic-algorithm
dfogn
DFO-GN: Derivative-Free Optimization using Gauss-Newton
Stars: ✭ 20 (-31.03%)
Mutual labels:  optimization, numerical-optimization
Pagmo2
A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
Stars: ✭ 540 (+1762.07%)
Mutual labels:  optimization, genetic-algorithm
Hyperparameter Optimization Of Machine Learning Algorithms
Implementation of hyperparameter optimization/tuning methods for machine learning & deep learning models (easy&clear)
Stars: ✭ 516 (+1679.31%)
Mutual labels:  optimization, genetic-algorithm
Eaopt
🍀 Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution)
Stars: ✭ 718 (+2375.86%)
Mutual labels:  optimization, genetic-algorithm
Jenetics
Jenetics - Genetic Algorithm, Genetic Programming, Evolutionary Algorithm, and Multi-objective Optimization
Stars: ✭ 616 (+2024.14%)
Mutual labels:  optimization, genetic-algorithm
bio ik
MoveIt kinematics_base plugin based on particle optimization & GA
Stars: ✭ 104 (+258.62%)
Mutual labels:  optimization, genetic-algorithm
geneal
A genetic algorithm implementation in python
Stars: ✭ 47 (+62.07%)
Mutual labels:  optimization, genetic-algorithm
goga
Go evolutionary algorithm is a computer library for developing evolutionary and genetic algorithms to solve optimisation problems with (or not) many constraints and many objectives. Also, a goal is to handle mixed-type representations (reals and integers).
Stars: ✭ 39 (+34.48%)
Mutual labels:  optimization, genetic-algorithm
osqp
The Operator Splitting QP Solver
Stars: ✭ 929 (+3103.45%)
Mutual labels:  optimization, numerical-optimization
Pymoo
NSGA2, NSGA3, R-NSGA3, MOEAD, Genetic Algorithms (GA), Differential Evolution (DE), CMAES, PSO
Stars: ✭ 547 (+1786.21%)
Mutual labels:  optimization, genetic-algorithm
Scikit Opt
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)
Stars: ✭ 2,791 (+9524.14%)
Mutual labels:  optimization, genetic-algorithm
zoofs
zoofs is a python library for performing feature selection using a variety of nature-inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics-based to Evolutionary. It's easy to use , flexible and powerful tool to reduce your feature size.
Stars: ✭ 142 (+389.66%)
Mutual labels:  optimization, genetic-algorithm
REopt Lite API
The model for the REopt API, which is used as the back-end for the REopt Webtool (reopt.nrel.gov/tool), and can be accessed directly via the NREL Developer Network (https://developer.nrel.gov/docs/energy-optimization/reopt/v1)
Stars: ✭ 53 (+82.76%)
Mutual labels:  optimization
optimizer-api
Unified API for multiple optimizer engines
Stars: ✭ 26 (-10.34%)
Mutual labels:  optimization
Flappy-Bird-Genetic-Algorithms
Use genetic algorithms to train flappy bird
Stars: ✭ 83 (+186.21%)
Mutual labels:  genetic-algorithm

pikaia

Pikaia: Modern Fortran Edition of the PIKAIA Genetic Algorithm

Status

GitHub release CI Status codecov last-commit

Overview

This is a refactoring of the PIKAIA unconstrained optimization code from the High Altitude Observatory. The original code is public domain and was written by Paul Charbonneau & Barry Knapp. The new code differs from the old code in the following respects:

  • The original fixed-form source (FORTRAN 77) was converted to free-form source.
  • The code is now object-oriented Fortran 2003/2008. All user interaction is now through the pikaia_class.
  • All real variables are now double precision.
  • The original random number generator was replaced with MT19937-64 (64-bit Mersenne Twister).
  • There are various new options (e.g., a convergence window with a tolerance can be specified as a stopping condition, and the user can specify a subroutine for reporting iterations).
  • Mapping the variables to be between 0 and 1 now occurs internally, rather than requiring the user to do it.
  • Can now include an initial guess in the initial population.
  • Some OpenMP support has been added.

Compiling

The library can be built with the Fortran Package Manager using the provided fpm.toml file like so:

fpm build --release

To use Pikaia within your fpm project, add the following to your fpm.toml file:

[dependencies]
pikaia = { git="https://github.com/jacobwilliams/pikaia.git" }

Or to use a specific version:

[dependencies]
pikaia = { git="https://github.com/jacobwilliams/pikaia.git", tag = "1.0.1" }

The mersenne-twister-fortran library is required to compile Pikaia. FPM will automatically download this library.

Examples

  • An example use of Pikaia can be found here.

Documentation

  • The API documentation for the current master branch can be found here. This is generated by processing the source files with FORD. Note that the shell script will also generate these files automatically in the doc folder, assuming you have FORD installed.
  • The original Pikaia documentation (for v1.2) can be found here.

See also

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].