[mlpack] [GSOC] Restructing Multi Objective Optimization Module
Nanubala Gnana Sai
gnanasai.n18 at iiits.in
Wed Mar 10 16:52:53 EST 2021
Greetings! Team mlpack.
I'm Nanubala Gnana Sai from the Indian Institute of Information Technology,
Sri City. My IRC-Channel ID is @jonpsy. For quite some time, I've been
contributing to mlpack, more specifically to the MOO algorithms of
ensmallen. #269 <https://github.com/mlpack/ensmallen/pull/269> #263
<https://github.com/mlpack/ensmallen/pull/263>.
During my work, I've taken references from multiple resources like Pagmo
<https://esa.github.io/pagmo2/>, pymoo <https://pymoo.org/>, DEAP
<https://deap.readthedocs.io/en/master/> and research papers. I couldn't
help but notice these *inefficiencies*
* Operators like Crossover, Mutation etc. are implemented per algorithm.
* This causes bloated coated and increases potential errors.
I really like how others, for ex: DEAP approaches this, they've implemented
all the varieties of operators on a separate module
<https://deap.readthedocs.io/en/master/tutorials/basic/part2.html> which
can be called on by the optimizer. Upon reading our style guide, I think
this fits perfectly with our *policy based *design principle.
My thoughts are, we could:
1) Create separate classes for CrossOvers, Mutations etc.
2) Use templates to access their functionality (much like the KernelType
Policy <https://www.mlpack.org/doc/stable/doxygen/kernels.html>)
During the past year, I've contributed to shogun repository extensively so
I have exposure building OOP-based structures, although admittedly I'm new
to the policy-based design principle.
During my GSOC I plan on
a) Creating policy based structuring to outsource operator functions.
b) Restructure currently implemented algorithms to fit to this principle
c) Miscellaneous: Add more multiobjective algorithms.
Suggestions and criticism are welcome!
Best
NGS
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://knife.lugatgt.org/pipermail/mlpack/attachments/20210311/0ed49a6a/attachment.htm>
More information about the mlpack
mailing list