ConstraintLearning.ICNConfigType
struct ICNConfig{O <: ICNOptimizer}

A structure to hold the metric and optimizer configurations used in learning the weights of an ICN.

ConstraintLearning.ICNConfigMethod
ICNConfig(; metric = :hamming, optimizer = ICNGeneticOptimizer())

Constructor for ICNConfig. Defaults to hamming metric using a genetic algorithm.

ConstraintLearning.QUBOOptimizerType
const QUBOOptimizer = QUBOConstraints.AbstractOptimizer

An abstract type for optimizers used to learn QUBO matrices from constraints.

CompositionalNetworks.optimize!Method
CompositionalNetworks.optimize!(icn, solutions, non_sltns, dom_size, metric, optimizer::ICNGeneticOptimizer; parameters...)

Extends the optimize! method to ICNGeneticOptimizer.

CompositionalNetworks.optimize!Method
CompositionalNetworks.optimize!(icn, solutions, non_sltns, dom_size, metric, optimizer::ICNLocalSearchOptimizer; parameters...)

Extends the optimize! method to ICNLocalSearchOptimizer.

ConstraintLearning._optimize!Method
_optimize!(icn, X, X_sols; metric = hamming, pop_size = 200)

Optimize and set the weights of an ICN with a given set of configuration X and solutions X_sols.

ConstraintLearning.lossMethod
loss(x, y, Q)

Loss of the prediction given by Q, a training set y, and a given configuration x.

ConstraintLearning.make_dfMethod
make_df(X, Q, penalty, binarization, domains)

DataFrame arrangement to output some basic evaluation of a matrix Q.

ConstraintLearning.make_set_penaltyMethod
make_set_penalty(X, X̅, args...; kargs)

Return a penalty function when the training set is already split into a pair of solutions X and non solutions .

ConstraintLearning.optimize!Method
optimize!(icn, X, X_sols, global_iter, local_iter; metric=hamming, popSize=100)

Optimize and set the weights of an ICN with a given set of configuration X and solutions X_sols. The best weights among global_iter will be set.

ConstraintLearning.train!Method
train!(Q, X, penalty, η, precision, X_test, oversampling, binarization, domains)

Training inner method.

ConstraintLearning.trainMethod
train(X, penalty[, d]; optimizer = QUBOGradientOptimizer(), X_test = X)

Learn a QUBO matrix on training set X for a constraint defined by penalty with optional domain information d. By default, it uses a QUBOGradientOptimizer and X as a testing set.

ConstraintLearning.δMethod
δ(X[, Y]; discrete = true)

Compute the extrema over a collection Xor a pair of collection(X, Y)`.