# Genetic algorithms support for optimization with julia

**URL:** <https://discourse.julialang.org/t/genetic-algorithms-support-for-optimization-with-julia/85512>\
**Category:** Optimization (Mathematical)\
**Tags:** question\
**Created:** [August 9, 2022, 1:39am UTC](https://discourse.julialang.org/t/genetic-algorithms-support-for-optimization-with-julia/85512 "2022-08-09T01:39:34Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![chenr86](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chenr86/32/36785_2.png) [@chenr86](https://discourse.julialang.org/u/chenr86)\
**Post date:** [August 9, 2022, 1:39am UTC](https://discourse.julialang.org/t/genetic-algorithms-support-for-optimization-with-julia/85512/1 "2022-08-09T01:39:34Z")

</div>

Hello,  
I’m dealing with multi-objective optimization problem. I wonder if there is any support of genetic algorithm with Julia. Besides, compared with other solvers, does GA perform well solving MOO? For example, it cost longer or shorter time?

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [August 9, 2022, 1:52am UTC](https://discourse.julialang.org/t/genetic-algorithms-support-for-optimization-with-julia/85512/2 "2022-08-09T01:52:59Z")

</div>

something like [GitHub - wildart/Evolutionary.jl: Evolutionary & genetic algorithms for Julia](https://github.com/wildart/Evolutionary.jl) ?

---

<div class="post-metadata">

**Author:** ![chenr86](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chenr86/32/36785_2.png) [@chenr86](https://discourse.julialang.org/u/chenr86)\
**Post date:** [August 9, 2022, 2:09am UTC](https://discourse.julialang.org/t/genetic-algorithms-support-for-optimization-with-julia/85512/3 "2022-08-09T02:09:27Z")

</div>

Does it work with JuMP.jl?

---

<div class="post-metadata">

**Author:** ![PeterSimon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petersimon/32/25193_2.png) [@PeterSimon](https://discourse.julialang.org/u/PeterSimon)\
**Post date:** [August 9, 2022, 2:23am UTC](https://discourse.julialang.org/t/genetic-algorithms-support-for-optimization-with-julia/85512/4 "2022-08-09T02:23:39Z")

</div>

JUMP doesn’t incorporate metaheuristic algorithms like genetic algorithm, particle swarm, etc. But check out [Metaheuristics.jl](https://github.com/jmejia8/Metaheuristics.jl), which implements many different metaheuristic algorithms, including GA, and which supports multiobjective optimization.

There is a wrapper package [Nonconvex.jl](https://github.com/JuliaNonconvex/Nonconvex.jl) that includes Metaheuristics.jl and many other algorithms, but most of the others require that the derivatives of the objective function can be calculated, unlike the metaheuristic algorithms. I’m not sure if Nonconvex supports multiple objectives.

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [August 9, 2022, 2:53am UTC](https://discourse.julialang.org/t/genetic-algorithms-support-for-optimization-with-julia/85512/5 "2022-08-09T02:53:57Z")

</div>

> Does it work with JuMP.jl?

No. See [Should you use JuMP? · JuMP](https://jump.dev/JuMP.jl/stable/should_i_use/#Black-box,-derivative-free,-or-unconstrained-optimization)

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [August 9, 2022, 12:05pm UTC](https://discourse.julialang.org/t/genetic-algorithms-support-for-optimization-with-julia/85512/6 "2022-08-09T12:05:27Z")

</div>

[http://optimization.sciml.ai/stable/](http://optimization.sciml.ai/stable/)

Optimization.jl supports a ton of algorithms. In particular it has a wrapper to Metaheuristics.jl and GAs through that:

[http://optimization.sciml.ai/stable/optimization\_packages/metaheuristics/](http://optimization.sciml.ai/stable/optimization_packages/metaheuristics/)

---

<div class="post-metadata">

**Author:** ![mohamed82008](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mohamed82008/32/18171_2.png) [@mohamed82008](https://discourse.julialang.org/u/mohamed82008)\
**Post date:** [August 9, 2022, 12:09pm UTC](https://discourse.julialang.org/t/genetic-algorithms-support-for-optimization-with-julia/85512/7 "2022-08-09T12:09:36Z")

</div>

> [@PeterSimon](#):
>
> I’m not sure if Nonconvex supports multiple objectives.

Not yet
