% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/modified_crowding_distance.R
\name{modifiedCrowdingDistance}
\alias{modifiedCrowdingDistance}
\title{Calculation of Modified Crowding Distance}
\usage{
modifiedCrowdingDistance(
  object,
  epsilon,
  weights = NULL,
  normalization = "front",
  extreme_points_as_ref_dirs = FALSE
)
}
\arguments{
\item{object}{An object of class 'rnsga2', typically from a call to r-nsga2.
Must contain fitness, population, fronts, popSize, and reference_points.}

\item{epsilon}{Minimum allowed distance between solutions to avoid duplicates.}

\item{weights}{A numeric vector of weights for preference distance (default is equal weights).}

\item{normalization}{Type of normalization to apply: \code{"ever"}, \code{"front"}, or \code{"no"}.}

\item{extreme_points_as_ref_dirs}{Logical; whether to use extreme points as reference directions.}
}
\value{
A list with:
\describe{
\item{survivors}{Indices of selected individuals}
\item{indexmin}{Index of individuals with minimum scalarizing value (optional)}
\item{reference_points}{Updated reference points matrix}
}
}
\description{
A Crowded-comparison approach.
}
\details{
The crowded-comparison operator maintain diversity in the Pareto front
during multi-objective optimization. This version uses a reference point-based
normalization and preference distance strategy.
}
\references{
Kalyanmoy Deb and J. Sundar (2006). GECCO '06. doi:10.1145/1143997.1144112
}
\seealso{
\code{\link[=rnsga2]{rnsga2()}}
}
\author{
Francisco Benitez
}
