# Library for multi objective optimization NSGA II

**URL:** <https://discourse.julialang.org/t/library-for-multi-objective-optimization-nsga-ii/1247>\
**Category:** Optimization (Mathematical)\
**Created:** [January 2, 2017, 2:19pm UTC](https://discourse.julialang.org/t/library-for-multi-objective-optimization-nsga-ii/1247 "2017-01-02T14:19:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![abhijeetpanda12](https://avatars.discourse-cdn.com/v4/letter/a/a587f6/32.png) [@abhijeetpanda12](https://discourse.julialang.org/u/abhijeetpanda12)\
**Post date:** [January 2, 2017, 2:19pm UTC](https://discourse.julialang.org/t/library-for-multi-objective-optimization-nsga-ii/1247/1 "2017-01-02T14:19:42Z")

</div>

Hello everyone,  
I have few queries, could you please help me out  
I wish to write a Julia library for solving multi-objective optimization problems using NSGA II.  
Presently I am working on this as a part of my research and I would be very happy to contribute to the Julia community.  
I am very new to software development and I have the least idea on how to build a package.I have read the Julia Documentation but I want to know the how-to process of building Julia Packages and if there is anything I need to learn for this.  
Thank you

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [January 2, 2017, 2:33pm UTC](https://discourse.julialang.org/t/library-for-multi-objective-optimization-nsga-ii/1247/2 "2017-01-02T14:33:33Z")

</div>

You basically

1. create a skeleton with `PkgDev.generate`,
2. put the code in `src/`, the tests in `test/`, etc,
3. keep developing it, preferably testing the functionality along the way,
4. make it available on Github,
5. enable the automated coverage and testing tools,
6. add documentation,
7. when it is stable enough, you announce it.

Julia packages are pretty lightweight, more like conventions than rigorously enforced structures at this point. But the conventions do make sense.

You could look at some example packages in your problem domain, eg `Optim.jl`, to see how it is organized.

---

<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:** [January 2, 2017, 4:20pm UTC](https://discourse.julialang.org/t/library-for-multi-objective-optimization-nsga-ii/1247/3 "2017-01-02T16:20:28Z")

</div>

This is a little old but if you replace `Pkg` with `PkgDev` in most places it should still be relevant.

> **[Finalizing Your Julia Package: Documentation, Testing, Coverage, and...](http://www.stochasticlifestyle.com/finalizing-julia-package-documentation-testing-coverage-publishing/)**
>
> In this tutorial we will go through the steps to finalizing a Julia package. At this point you have some functionality you wish to share with the world... what do you do? You want to have documentation, code testing each time you commit (on all the...

---

<div class="post-metadata">

**Author:** ![blegat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/blegat/32/217090_2.png) [@blegat](https://discourse.julialang.org/u/blegat)\
**Post date:** [January 2, 2017, 9:28pm UTC](https://discourse.julialang.org/t/library-for-multi-objective-optimization-nsga-ii/1247/4 "2017-01-02T21:28:47Z")

</div>

You might want to check out the [MultiJuMP package](https://github.com/anriseth/MultiJuMP.jl).

---

<div class="post-metadata">

**Author:** ![abhijeetpanda12](https://avatars.discourse-cdn.com/v4/letter/a/a587f6/32.png) [@abhijeetpanda12](https://discourse.julialang.org/u/abhijeetpanda12)\
**Post date:** [January 3, 2017, 2:34am UTC](https://discourse.julialang.org/t/library-for-multi-objective-optimization-nsga-ii/1247/5 "2017-01-03T02:34:12Z")

</div>

@Tamas_Papp Thank you, I will definitely follow the steps  
@ChrisRackauckas The blog you mentioned is perfectly what I needed, thank you very much.  
@blegat the MultiJuMP package will help me to code my problem, Thank you  
Julia Community is very encouraging 🙂
