gforce.certify: FORCE optimality certificate.

Description Usage Arguments Value References Examples

View source: R/certify.R

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

1
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

1
2
3
4
5
6
7
8
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)

GFORCE documentation built on May 2, 2019, 3:44 a.m.