evojax
fast-cma-es
evojax | fast-cma-es | |
---|---|---|
11 | 12 | |
786 | 103 | |
2.3% | - | |
4.6 | 7.2 | |
7 months ago | 6 months ago | |
Jupyter Notebook | Python | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
evojax
-
[P] EvoTorch 0.4.0 dropped with GPU-accelerated implementations of CMA-ES, MAP-Elites and NSGA-II.
Awesome results! Would love to see a comparison with other accelerated evolution methods (eg https://github.com/google/evojax)
-
Online courses on statistics and multi-objective optimization
For which problems do you want to apply multiple-objective optimization? What are the objectives? https://mml-book.github.io/ is only about single objective optimization (including constraints). Multi objective reinfocement learning (https://arxiv.org/pdf/1908.08342.pdf) is not really MO-optimization. Machine learning optimization frameworks like https://github.com/google/evojax support single objective optimization and quality-diversity (MAP-elites), but not MO-optimization.
-
Question on how to model a "discontinuous" action space
population based algos dont care about differentiability https://github.com/google/evojax https://github.com/RobertTLange/evosax https://github.com/nnaisense/evotorch https://github.com/uber-research/PyTorch-NEAT
- Should I pursue Evolutionary Strategies?
-
Performance of Evolutionary Algorithms for Machine Learning
Googles evojax project shows that evolutionary algorithms may be applied in the machine learning domain. And https://github.com/google/jax provides means to implement these algorithms to be deployed on CPUs/GPUs or even TPUs. But some questions remain unanswered:
-
[D] What's your favorite unpopular/forgotten Machine Learning method?
Check out EvoJAX if you haven't seen it! Recently released for neuroevolution
- EvoJAX: Hardware-Accelerated Neuroevolution
- Show HN: EvoJAX: Hardware-Accelerated Neuroevolution
-
[P] EvoJAX: Hardware-Accelerated Neuroevolution
Code for https://arxiv.org/abs/2202.05008 found: https://github.com/google/evojax
fast-cma-es
-
Optimization problem with complex constrain
essentially the accumulated value of the portfolio after 50 years not clear to me how this can be linear - looks quite "exponential" without knowing the details. Can you exploit the "has to be greater than 0" condition to simplify the constraint into a linear one? "because at each time step there will be a decision" probably means the answer is "no". But don't overestimate the complexity of nonlinear optimizaiton (see for instance https://github.com/dietmarwo/fast-cma-es/blob/master/tutorials/CryptoTrading.adoc ), most of the complexity is hidden in the algorithm itself not visible for the user.
-
what methods can be used to solve a TP-BVP with variable control?
What about combining a fast numerical integrator like https://github.com/esa/torchquad or https://github.com/AnyarInc/Ascent with a fast parallel CMA-ES implementation like https://github.com/dietmarwo/fast-cma-es/blob/master/fcmaes/cmaescpp.py ? A numerical integrator allows you to implement variable control and a fast non-derivative optimizer can solve any related optimization problem.
-
Quality Diversity Optimization for Expensive Simulations
A new tutorial how to apply QD-optimization to expensive simulations: https://github.com/dietmarwo/fast-cma-es/blob/master/tutorials/Diversity.adoc .
-
New Fast Python CVT MAP-Elites + CMA-ES implementation
There is a new implementation of Python CVT MAP-Elites + CMA-ES available. It is presented at https://github.com/dietmarwo/fast-cma-es/blob/master/tutorials/MapElites.adoc applying it to ESAs very hard Cassini2 space mission planning optimization benchmark.
-
Performance of Evolutionary Algorithms for Machine Learning
I tried to answer these questions in EvoJax.adoc
-
Optimization for Quantum Computer Simulations
Here https://github.com/dietmarwo/fast-cma-es/blob/master/tutorials/Quant.adoc is a new tutorial how to apply optimization in the context of simulated quantum algorithms. It is based on https://qiskit.org/textbook/ch-applications/vqe-molecules.html#Example-with-a-Single-Qubit-Variational-Form but provides more reliable methods utilizing parallelism. This makes not much sense (yet) when the backend is a real quantum computer, but most simulators scale bad when using multi-threading or an GPU. So it is better to switch parallelism off for the simulation and utilize the better scaling parallel optmization provides, specially if a modern many-core CPU is available.
-
Transaction and Payment Optimization Problem
https://github.com/dietmarwo/fast-cma-es/blob/master/examples/subset.py implements the problem using parallel continuous optimization collecting different optimal solutions. Not much faster than GLPK_MI, but utilizing modern many-core CPUs when you are looking for a list of alternative solutions. Increase the number of retrys when you want more solutions.
-
A new fast local search heuristic for a location problem
Do you mind if I apply the generic optimization approach shown here: https://github.com/dietmarwo/fast-cma-es/blob/master/tutorials/OneForAll.adoc to this problem to compare results? I see you collected a huge number of benchmark instances. Are there solutions proven to be optimal availabe for these?
- New generic method to solve MMKP and VRPTW
-
29 Python real world optimization tutorials
using Python you may get some inspiration here: https://github.com/dietmarwo/fast-cma-es/blob/master/tutorials/Tutorials.adoc
What are some alternatives?
evotorch - Advanced evolutionary computation library built directly on top of PyTorch, created at NNAISENSE.
optiseek - An open source collection of single-objective optimization algorithms for multi-dimensional functions.
cuml - cuML - RAPIDS Machine Learning Library
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)
PyTorch-NEAT
ExpensiveOptimBenchmark - Benchmarking Surrogate-based Optimisation Algorithms on Expensive Black-box Functions
Multi-UAV-Task-Assignment-Benchmark - A Benchmark for Multi-UAV Task Allocation of an Extended Team Orienteering Problem
Taskflow - A General-purpose Parallel and Heterogeneous Task Programming System
LightGBM - A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
pycma - Python implementation of CMA-ES
Ascent - A fast and flexible C++ simulation engine and differential equation solver.
torchquad - Numerical integration in arbitrary dimensions on the GPU using PyTorch / TF / JAX