All Projects → ethz-pes → multi_objective_optimization_matlab

ethz-pes / multi_objective_optimization_matlab

Licence: BSD-2-Clause license
MATLAB Tool for Multi-Objective Optimization

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to multi objective optimization matlab

arja
Multi-Objective GP for Automated Repair of Java
Stars: ✭ 31 (+34.78%)
Mutual labels:  genetic-algorithm, multi-objective-optimization
opt4j
Modular Java framework for meta-heuristic optimization
Stars: ✭ 25 (+8.7%)
Mutual labels:  genetic-algorithm, multi-objective-optimization
naturalselection
A general-purpose pythonic genetic algorithm.
Stars: ✭ 17 (-26.09%)
Mutual labels:  genetic-algorithm
Neatron
Yet another NEAT implementation
Stars: ✭ 14 (-39.13%)
Mutual labels:  genetic-algorithm
Metaheuristics.jl
High-performance metaheuristics for optimization coded purely in Julia.
Stars: ✭ 144 (+526.09%)
Mutual labels:  multi-objective-optimization
Moo-GBT
Library for Multi-objective optimization in Gradient Boosted Trees
Stars: ✭ 63 (+173.91%)
Mutual labels:  multi-objective-optimization
VRPTW-ga
Vehicle Routing Problem with Time Windows - Genetic Algorithm solution with Python
Stars: ✭ 40 (+73.91%)
Mutual labels:  genetic-algorithm
binlex
A Binary Genetic Traits Lexer Framework
Stars: ✭ 303 (+1217.39%)
Mutual labels:  genetic-algorithm
carAI-Demo
使用浅层神经网络和遗传算法训练一个可以自动驾驶小车的Demo
Stars: ✭ 64 (+178.26%)
Mutual labels:  genetic-algorithm
geneticalgorithm2
Supported highly optimized and flexible genetic algorithm package for python
Stars: ✭ 36 (+56.52%)
Mutual labels:  genetic-algorithm
wargames
two soldiers shooting at each other, controlled by a neural network with a genetic algorithm.
Stars: ✭ 22 (-4.35%)
Mutual labels:  genetic-algorithm
Computational-Intelligence-Tutorials
This is the repository of codes written in class.
Stars: ✭ 36 (+56.52%)
Mutual labels:  genetic-algorithm
Smart-Algorithm
智能算法-遗传算法、蚁群算法、粒子群算法实现。实现版本Java,Python,MatLab多版本实现
Stars: ✭ 277 (+1104.35%)
Mutual labels:  genetic-algorithm
Genetic-Algorithm-on-K-Means-Clustering
Implementing Genetic Algorithm on K-Means and compare with K-Means++
Stars: ✭ 37 (+60.87%)
Mutual labels:  genetic-algorithm
OptimisationAlgorithms
Searching global optima with firefly algorithm and solving traveling salesmen problem with genetic algorithm
Stars: ✭ 20 (-13.04%)
Mutual labels:  genetic-algorithm
ga-openai-gym
Usage of genetic algorithms to train a neural network in multiple OpenAI gym environments.
Stars: ✭ 24 (+4.35%)
Mutual labels:  genetic-algorithm
NeuralGenetic
Building and training artificial neural networks (regression or classification) using the genetic algorithm.
Stars: ✭ 187 (+713.04%)
Mutual labels:  genetic-algorithm
GARI
GARI (Genetic Algorithm for Reproducing Images) reproduces a single image using Genetic Algorithm (GA) by evolving pixel values.
Stars: ✭ 41 (+78.26%)
Mutual labels:  genetic-algorithm
jMetalSP
A framework for Big Data Optimization with multi-objective metaheuristics
Stars: ✭ 44 (+91.3%)
Mutual labels:  multi-objective-optimization
PHP
PHP Related Projects: Like simple PHP Genetic algorithm, LDAP login , Websockets and more
Stars: ✭ 22 (-4.35%)
Mutual labels:  genetic-algorithm

MATLAB Tool for Multi-Objective Optimization

license - BSD language - MATLAB category - science status - maintained

This MATLAB tool offers different functionalities for multi-objective optimization:

  • Offer a common interface for different solvers
    • Brute force grid search (exhaustive search)
    • MATLAB single-objective genetic algorithm ('ga')
    • MATLAB multi-objective genetic algorithm ('gamultiobj')
  • Offer an abstraction layer to the MATLAB solver
    • Scaling the input variables
    • Generating and filtering initial points
    • Transforming high-level data structures ('struct') to low-level ('matrix')
    • Generating the low-level inputs required by the solvers
  • Allow vectorized and parallel evaluation of the functions
    • Divide the number of points to be evaluated into chunks
    • Evaluate the chunks with parallel computing ('parfor')
    • The points inside a chunk are evaluated in a vectorized way

Mathematically, the following optimization problems are solved:

  • Multiple variables
  • Integer variables
  • Upper and lower bounds
  • Inequality constraints
  • Equality constraints
  • Non continuous objective function
  • Single-objective or multi-objective goals

This tool is developed by the Power Electronic Systems Laboratory at ETH Zurich and is available under the BSD License. The code is also available on the ETH Data Archive.

Example

Look at the example run_example.m which generates the following results:

Adding Solvers

The code is made to take advantage of optimization methods using vectorized evaluation of the objective function. Therefore, it would be easy to add support for 'patternsearch', 'particleswarm', or 'paretosearch'. Adding support for non vectorized solvers ('fmincon', 'fminbnd', or 'fminsearch') is possible but less interesting.

Compatibility

  • Tested with MATLAB R2018b.
  • The gads_toolbox is required (for the MATLAB solvers).
  • The optimization_toolbox is required (for the MATLAB solvers).
  • The distrib_computing_toolbox is required (for parfor loops)
  • Compatibility with GNU Octave not tested but probably problematic.

Author

  • Thomas Guillod, ETH Zurich, Power Electronic Systems Laboratory - GitHub Profile

License

  • This project is licensed under the BSD License, see LICENSE.md.
  • This project is copyrighted by: (c) 2019-2020, ETH Zurich, Power Electronic Systems Laboratory, T. Guillod.
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].