gforce.certify {GFORCE}R Documentation

FORCE optimality certificate.

Description

Given a proposed integer solution to the K-means SDP relaxation, this function attempts to construct a solution to the dual problem with matching objective value.

Usage

gforce.certify(sol, D, eps1 = 0.01, eps2 = 10^-7, Y_T_min = 0.01)

Arguments

sol

vector of length d. This contains the assignment of variables or points to clusters.

D

d x d matrix.

eps1

a scalar. It controls the stopping condition for the dual solution search.

eps2

a scalar. It controls the infeasibility tolerance for the dual solution to allow for numerical imprecision.

Y_T_min

a scalar. THe smallest Y_T that the function can return. Must be greater than 0.

Value

An object with the following components:

Y_T

a numeric. The value of the variable Y_T in the dual solution found.

Y_a

a d dimensional numeric vector. The value of the variable Y_a in the dual solution found.

feasible

an integer. 1 signifies that sol is optimal, 0 otherwise.

References

C. Eisenach and H. Liu. Efficient, Certifiably Optimal High-Dimensional Clustering. arXiv:1806.00530, 2018.

Examples

K <- 5
n <- 50
d <- 50
dat <- gforce.generator(K,d,n,3,graph='scalefree')
sig_hat <- (1/n)*t(dat$X)%*%dat$X
gam_hat <- gforce.Gamma(dat$X)
D <- diag(gam_hat) - sig_hat
dual_cert <- gforce.certify(dat$group_assignments,D)


[Package GFORCE version 0.1.4 Index]