All Projects → 100 → Solid

100 / Solid

Licence: mit
🎯 A comprehensive gradient-free optimization framework written in Python

Programming Languages

python
139335 projects - #7 most used programming language

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
Towel
Throw in the towel.
Stars: ✭ 333 (-39.01%)
Mutual labels:  algorithm, library
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

Build Status MIT License

Solid is a Python framework for gradient-free optimization.

It contains basic versions of many of the most common optimization algorithms that do not require the calculation of gradients, and allows for very rapid development using them.

It's a very versatile library that's great for learning, modifying, and of course, using out-of-the-box.

See the detailed documentation here.


Current Features:


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].