title: Pareto optimization - non-dominated points
body: <p>I wrote an algorithm that returns a list similar to that which nsga2 returns. 
  (nsga2 of package "mco" (<a href="http://cran.r-project.org/web/packages/mco/mco.pdf" rel="nofollow">pdf</a>))</p>
  
  <p>The algorithm can not itself recognize if a point is non-dominated. Some of the points it returns are dominated and it only contains the points and their values, not the logic-vector that nsga2 returns.</p>
  
  <p><em>I am trying to get the non-dominated points (not their values).</em></p>
  
  <p>With nsga2's result you can use paretoSet() to get the values, however that depends on that the logic-vector has been precomputed during nsga2.</p>
  
  <p>I also looked at paretoFront()/paretoFilter() of "mco" and nondominated_points() of package "emoa" (<a href="http://cran.r-project.org/web/packages/emoa/emoa.pdf" rel="nofollow">pdf</a>), however they only work with the values, there is no way to get the points.</p>
  
  <p>One way to solve this would be to accept the values, and then for every value go through the points, look if it has that value and if so add it to a list. But I think there has to exist a function that returns the points.</p>
  
  <p>To reproduce this you could use:</p>
  
  <pre><code>res = nsga2(func, 3, 2, lower.bounds=rep(0, 5), upper.bounds=rep(1, 5))
  res$pareto.optimal = NULL
  points = paretoSet(res) # points will be empty because res does 
                          # not have the logic vector
  </code></pre>