esa / pagmo

A C++ / Python platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model. State of the art optimization algorithms are included. A common interface is provided to other optimization frameworks/algorithms such as NLOPT, SciPy, SNOPT, IPOPT, GSL
GNU General Public License v3.0
268 stars 87 forks source link

Extend NSGA II to the integer part [sf#15] #15

Closed darioizzo closed 10 years ago

darioizzo commented 10 years ago

Originally created by darioizzo on 2013-04-09 19:15:04.

The version implemented in PaGMO of NSGA II only accepts a problem with no integer part.

The original NSGA II algorithm also deals with the integer part.

It is rather straight forward to extend the algorithm so that it accepts also integer problems. First, the nsga2::mutate and nsga2::crossover method need to be implemented (following the original implementation of Deb). Then the nsga2::evolve method needs minor modifications as to accept and operate also on the integer part

darioizzo commented 10 years ago

Originally posted by darioizzo on 2013-04-09 19:15:34.

Diff:


--- old
+++ new
@@ -2,4 +2,4 @@

 The original NSGA II algorithm also deals with the integer part.

-It is rather straight forward to extend the algorithm so that it accepts also integer problems. First, the nsga2::mutate and nsga2::crossover method need to be implemented (following the original implementation of Deb). Then the nsga2::evolve method nedds minor modification as to accept and operate also on the integer part
+It is rather straight forward to extend the algorithm so that it accepts also integer problems. First, the nsga2::mutate and nsga2::crossover method need to be implemented (following the original implementation of Deb). Then the nsga2::evolve method needs minor modifications as to accept and operate also on the integer part
darioizzo commented 10 years ago

Originally posted by darioizzo on 2013-04-15 08:49:08.

darioizzo commented 10 years ago

Originally posted by darioizzo on 2013-04-15 08:49:52.

darioizzo commented 10 years ago

Originally posted by mjainit on 2013-04-24 21:20:03.

Here I am attaching a patch. I have extended NSGA-2 for the integer problems. This patch also includes implementation of ZDT5 problem, A Multi-objective Integer problem. I have also done some relevant changes in PyGMO.

Waiting for a review.

darioizzo commented 10 years ago

Originally posted by mmarcusx on 2013-04-25 09:25:57.

I changed some minor details and added documentation + tests to the patch. It is now incorporated into the development branch. Good work!

darioizzo commented 10 years ago

Originally posted by mmarcusx on 2013-04-25 09:26:22.