Changes in version 0.3.1 (2026-05-04) - Separate documentation of pareto_rank() to its own page. - Fix potential undefined behavior in is_nondominated(). Changes in version 0.3.0 (2026-05-03) - r2_exact() implements the exact computation of the R2 indicator for bi-objective solution sets. - hypervolume() is significantly faster for more than four dimensions (Andreia P. Guerreiro). - hypervolume() now handles 1D inputs and provides a clear error for 0D inputs (#58). - Add GPGame and targeted packages to Benchmarks. - is_nondominated(), filter_dominated() and pareto_rank() use a significantly faster algorithm by Kung et al. for dimensions larger than 3. - generate_ndset(): New shapes "inverted-simplex" and "concave-simplex". Shape "convex-simplex" is now equivalent to generate_ndset(..., method="simplex")^2, which is slightly more uniform than the previous approach. - The default method of hv_approx() is now "Rphi-FWE+", which is typically as accurate as the other methods, but significantly faster. Changes in version 0.2.0 (2026-01-11) - pareto_rank() is faster in 3D. - HV3D+ is slightly faster with repeated coordinates (#41). - igd(), igd_plus(), avg_hausdorff_dist() are faster. - Fix wrong values returned by epsilon_mult() when mixing minimization and maximization. - Fix documentation of epsilon_additive() (@leandrolanzieri) - hypervolume() uses the inclusion-exclusion algorithm for small inputs of up to 15 points, which is significantly faster. Changes in version 0.1.10 (2025-11-25) - mooocore now requires R >= 4.1. - is_nondominated(): Fix wrong assert (#38). Changes in version 0.1.9 (2025-11-01) - hv_contributions() ignores dominated points by default. Set ignore_dominated=FALSE to restore the previous behavior. The 3D case uses the HVC3D algorithm. - New function any_dominated(). - New function generate_ndset() to generate random nondominated sets with different shapes. - New article: "Benchmarks" - New article: "Computing Multi-Objective Quality Metrics" - New article: "Sampling Random Nondominated Sets" - is_nondominated(), any_dominated() and pareto_rank() now handle single-objective inputs correctly (#27) (#29). - is_nondominated() and filter_dominated() are faster for dimensions larger than 3. - is_nondominated() and filter_dominated() are now stable in 2D and 3D with keep_weakly=FALSE, that is, only the first of duplicated points is marked as nondominated. Changes in version 0.1.8 (2025-07-15) - Document the EAF and Vorob'ev expectation and deviation in more detail. - New function hv_approx(). - Function hv_contributions() is much faster for 2D inputs. - New article "Approximating the hypervolume". - New datasets DTLZLinearShape.8d.front.60pts.10 and ran.10pts.9d.10. Changes in version 0.1.7 (2025-06-05) - hypervolume() now uses the HV3D+ algorithm for the 3D case and the HV4D+ algorithm for the 4D case. For dimensions larger than 4, the recursive algorithm uses HV4D+ as the base case, which is significantly faster. - read_datasets() is significantly faster for large files. - is_nondominated() and filter_dominated() are faster for 3D inputs. Changes in version 0.1.6 (2025-05-13) - Fix parallel build in CRAN. Changes in version 0.1.5 (2025-05-11) - Rename vorobT() and vorobDev() to vorob_t() and vorob_dev() to be consistent with other function names. Changes in version 0.1.2 (2024-09-18) - Fix more warnings and problems that only show in CRAN. Changes in version 0.1.1 - Fix problems that only show in CRAN. Changes in version 0.1.0 (2024-07-28) - Initial version uploaded to CRAN.