Compute a \(k\)-medoids partition of a dissimilarity object.
kmedoids(x, k)An object of class "kmedoids" representing the obtained
  partition, which is a list with the following components.
the class ids of the partition.
the indices of the medoids.
the value of the criterion function of the partition.
a dissimilarity object inheriting from class
    "dist", or a square matrix of pairwise
    object-to-object dissimilarity values.
an integer giving the number of classes to be used in the partition.
Let \(d\) denote the pairwise object-to-object dissimilarity matrix
  corresponding to x.  A \(k\)-medoids partition of x is
  defined as a partition of the numbers from 1 to \(n\), the number of
  objects in x, into \(k\) classes \(C_1, \ldots, C_k\) such
  that the criterion function
  \(L = \sum_l \min_{j \in C_l} \sum_{i \in C_l} d_{ij}\)
  is minimized.
This is an NP-hard optimization problem.  PAM (Partitioning Around
  Medoids, see Kaufman & Rousseeuw (1990), Chapter 2) is a very popular
  heuristic for obtaining optimal \(k\)-medoids partitions, and
  provided by pam in package cluster.
kmedoids is an exact algorithm based on a binary linear
  programming formulation of the optimization problem (e.g., Gordon &
  Vichi (1998), [P4']), using lp from package
  lpSolve as solver.  Depending on available hardware resources
  (the number of constraints of the program is of the order \(n^2\)),
  it may not be possible to obtain a solution.
L. Kaufman and P. J. Rousseeuw (1990). Finding Groups in Data: An Introduction to Cluster Analysis. Wiley, New York.
A. D. Gordon and M. Vichi (1998). Partitions of partitions. Journal of Classification, 15, 265--285. tools:::Rd_expr_doi("10.1007/s003579900034").