100 / Solid
Licence: mit
🎯 A comprehensive gradient-free optimization framework written in Python
Stars: ✭ 546
Programming Languages
python
139335 projects - #7 most used programming language
Labels
Projects that are alternatives of or similar to Solid
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 (-73.99%)
Mutual labels: optimization, genetic-algorithm, machine-learning-algorithms, optimization-algorithms
Pagmo2
A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
Stars: ✭ 540 (-1.1%)
Mutual labels: artificial-intelligence, genetic-algorithm, optimization-algorithms, optimization
Ojalgo
oj! Algorithms
Stars: ✭ 336 (-38.46%)
Mutual labels: algorithm, optimization-algorithms, optimization
Pyswarms
A research toolkit for particle swarm optimization in Python
Stars: ✭ 742 (+35.9%)
Mutual labels: algorithm, optimization-algorithms, optimization
Hackerrank
This is the Repository where you can find all the solution of the Problems which you solve on competitive platforms mainly HackerRank and HackerEarth
Stars: ✭ 68 (-87.55%)
Mutual labels: artificial-intelligence, algorithm, machine-learning-algorithms
Pygmo2
A Python platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
Stars: ✭ 134 (-75.46%)
Mutual labels: artificial-intelligence, optimization-algorithms, optimization
Jenetics
Jenetics - Genetic Algorithm, Genetic Programming, Evolutionary Algorithm, and Multi-objective Optimization
Stars: ✭ 616 (+12.82%)
Mutual labels: artificial-intelligence, genetic-algorithm, optimization
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 (+411.17%)
Mutual labels: artificial-intelligence, genetic-algorithm, optimization
Mlkit
A simple machine learning framework written in Swift 🤖
Stars: ✭ 144 (-73.63%)
Mutual labels: artificial-intelligence, machine-learning-algorithms, genetic-algorithm
geneal
A genetic algorithm implementation in python
Stars: ✭ 47 (-91.39%)
Mutual labels: optimization, genetic-algorithm, optimization-algorithms
Hyperparameter Optimization Of Machine Learning Algorithms
Implementation of hyperparameter optimization/tuning methods for machine learning & deep learning models (easy&clear)
Stars: ✭ 516 (-5.49%)
Mutual labels: machine-learning-algorithms, genetic-algorithm, optimization
Machine learning basics
Plain python implementations of basic machine learning algorithms
Stars: ✭ 3,557 (+551.47%)
Mutual labels: algorithm, machine-learning-algorithms
Fbp
FBP项目全称FootBallPrediction,历经9个月完成的足球比赛预测项目。项目结合大数据+机器学习,不断摸索开发了一个程序。程序根据各大公司赔率多维度预测足球比赛结果(包含胜和不胜)。机器学习用的是自己建立的“三木板模型”算法,已在国家期刊发表论文并被万方数据库收录,详见_ML_文件。目前准确率可达80%。该项目在自己创建的微信群里已经吸引了很多人,附件为群讨论截图,并且每天均有部分人根据预测结果参考投注竞彩,参考的人都获得了相应的收益。 现在想通过认识更多的有识之士,一起探索如何将项目做大做强,找到合伙人,实现共赢。希望感兴趣的同仁联系本人,微信号acredjb。公众号AI金胆(或AI-FBP),每天都有程序预测的足球比赛。程序优势请看Advantages和README文件。程序3.0版本:(第三轮目前13中12) 8月10日:13让负(正确) 8月11日:27让负(正确) 8月12日:11让负(正确) 8月13日:6胜(不正确) 8月14日:25让负(正确) 8月15日:无预测 8月16日:1胜(正确) 8月17日:6让负(正确) 8月18日:16胜(正确) 8月19日:34让负(正确) ... 1.0版本(第一轮为11中9) 2.0版本(第二轮13中11).
Stars: ✭ 337 (-38.28%)
Mutual labels: algorithm, machine-learning-algorithms
Perceptron
A flexible artificial neural network builder to analyse performance, and optimise the best model.
Stars: ✭ 370 (-32.23%)
Mutual labels: artificial-intelligence, machine-learning-algorithms
Delaunay Triangulation
C++ version the delaunay triangulation
Stars: ✭ 339 (-37.91%)
Mutual labels: algorithm, library
Algowiki
Repository which contains links and resources on different topics of Computer Science.
Stars: ✭ 3,886 (+611.72%)
Mutual labels: artificial-intelligence, algorithm
Algorithmsanddatastructure
Algorithms And DataStructure Implemented In Python & CPP, Give a Star 🌟If it helps you
Stars: ✭ 400 (-26.74%)
Mutual labels: algorithm, machine-learning-algorithms
Optim
OptimLib: a lightweight C++ library of numerical optimization methods for nonlinear functions
Stars: ✭ 411 (-24.73%)
Mutual labels: optimization-algorithms, optimization
Car Simulator
Autonomous car simulator (based on JavaScript & WebGL) implemented by fuzzy control system, genetic algorithm and particle swarm optimization.
Stars: ✭ 335 (-38.64%)
Mutual labels: artificial-intelligence, genetic-algorithm
Solid is a Python framework for gradient-free optimization.
optimization algorithms that do not require the calculation of gradients, and allows for very rapid development using them.
It contains basic versions of many of the most commonIt's a very versatile library that's great for learning, modifying, and of course, using out-of-the-box.
here.
See the detailed documentationCurrent Features:
- Genetic Algorithm
- Evolutionary Algorithm
- Simulated Annealing
- Particle Swarm Optimization
- Tabu Search
- Harmony Search
- Stochastic Hill Climb
Usage:
pip install solidpy
- Import the relevant algorithm
- Create a class that inherits from that algorithm, and that implements the necessary abstract methods
- Call its
.run()
method, which always returns the best solution and its objective function value
Example:
from random import choice, randint, random
from string import lowercase
from Solid.EvolutionaryAlgorithm import EvolutionaryAlgorithm
class Algorithm(EvolutionaryAlgorithm):
"""
Tries to get a randomly-generated string to match string "clout"
"""
def _initial_population(self):
return list(''.join([choice(lowercase) for _ in range(5)]) for _ in range(50))
def _fitness(self, member):
return float(sum(member[i] == "clout"[i] for i in range(5)))
def _crossover(self, parent1, parent2):
partition = randint(0, len(self.population[0]) - 1)
return parent1[0:partition] + parent2[partition:]
def _mutate(self, member):
if self.mutation_rate >= random():
member = list(member)
member[randint(0,4)] = choice(lowercase)
member = ''.join(member)
return member
def test_algorithm():
algorithm = Algorithm(.5, .7, 500, max_fitness=None)
best_solution, best_objective_value = algorithm.run()
Testing
To run tests, look in the tests
folder.
Use pytest; it should automatically find the test files.
Contributing
Feel free to send a pull request if you want to add any features or if you find a bug.
Check the issues tab for some potential things to do.
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].