Core
From CometPublic
[edit] LocalSolver
Supported interfaces: Interfaces#Store
class LocalSolver implements Store {
LocalSolver::LocalSolver();
LocalSolver::LocalSolver(Tracer);
void checkpoint(boolean);
void delay(boolean);
void atomic(boolean);
void pushNode();
void popNode();
Store getStore();
void probe(boolean);
int getCPUTime();
void close();
void setDeterministic();
void setAtomic();
void resetAtomic();
void show();
void graphviz(string);
void post(Constraint);
Checkpoint getCheckpoint();
int get(Solution,var{int});
void post(Invariant);
void add(Constraint);
void add(FloatConstraint);
void add(Objective);
void add(FloatObjective);
}
[edit] Pool
class Pool {
Pool::Pool();
Event receive(Solution);
Solution getBest();
Solution extractBest();
void add(Solution);
int getSize();
}
[edit] Solution
class Solution {
Solution::Solution(Store);
Solution::Solution(Store,int);
Solution::Solution(Store,float);
void restore();
void restore(Store);
int getValue();
float getFloatValue();
}
[edit] Checkpoint
class Checkpoint {
Checkpoint::Checkpoint(Store);
Checkpoint::Checkpoint(Tracer);
int getSize();
void restore();
void restore(Store);
}
[edit] Tracer
class Tracer {
Tracer::Tracer();
void addAction(Closure,Closure);
Checkpoint getCheckpoint();
}
[edit] Selectors
[edit] NeighborSelector
class NeighborSelector {
boolean accept(int);
void insert(int,Closure);
boolean accept(float);
void insert(float,Closure);
boolean hasMove();
Closure getMove();
}
[edit] AllNeighborsSelector
Supported interfaces: Interfaces#Neighborhood Super class: #NeighborSelector
class AllNeighborsSelector implements Neighborhood extends NeighborSelector {
boolean accept(int);
void insert(int,Closure);
boolean accept(float);
void insert(float,Closure);
boolean hasMove();
Closure getMove();
int getSize();
Closure getMove(int);
void reset();
AllNeighborsSelector::AllNeighborsSelector(Closure);
AllNeighborsSelector::AllNeighborsSelector();
}
[edit] MinNeighborSelector
Supported interfaces: Interfaces#Neighborhood Super class: #NeighborSelector
class MinNeighborSelector implements Neighborhood extends NeighborSelector {
boolean accept(int);
void insert(int,Closure);
boolean accept(float);
void insert(float,Closure);
boolean hasMove();
Closure getMove();
float getMin();
int getIntMin();
MinNeighborSelector::MinNeighborSelector(Closure);
MinNeighborSelector::MinNeighborSelector();
}
[edit] MinRandomNeighborSelector
Supported interfaces: Interfaces#Neighborhood Super class: #NeighborSelector
class MinRandomNeighborSelector implements Neighborhood extends NeighborSelector {
boolean accept(int);
void insert(int,Closure);
boolean accept(float);
void insert(float,Closure);
boolean hasMove();
Closure getMove();
float getMin();
int getIntMin();
Closure getRandomMove();
MinRandomNeighborSelector::MinRandomNeighborSelector(Closure);
MinRandomNeighborSelector::MinRandomNeighborSelector();
}
[edit] KMinNeighborSelector
Supported interfaces: Interfaces#Neighborhood Super class: #NeighborSelector
class KMinNeighborSelector implements Neighborhood extends NeighborSelector {
boolean accept(int);
void insert(int,Closure);
boolean accept(float);
void insert(float,Closure);
boolean hasMove();
Closure getMove();
float getMin();
int getIntMin();
KMinNeighborSelector::KMinNeighborSelector(int);
}
[edit] MaxNeighborSelector
Supported interfaces: Interfaces#Neighborhood Super class: #NeighborSelector
class MaxNeighborSelector implements Neighborhood extends NeighborSelector {
boolean accept(int);
void insert(int,Closure);
boolean accept(float);
void insert(float,Closure);
boolean hasMove();
Closure getMove();
float getMax();
int getIntMax();
MaxNeighborSelector::MaxNeighborSelector(Closure);
MaxNeighborSelector::MaxNeighborSelector();
}
[edit] KMaxNeighborSelector
Supported interfaces: Interfaces#Neighborhood Super class: #NeighborSelector
class KMaxNeighborSelector implements Neighborhood extends NeighborSelector {
boolean accept(int);
void insert(int,Closure);
boolean accept(float);
void insert(float,Closure);
boolean hasMove();
Closure getMove();
float getMax();
int getIntMax();
KMaxNeighborSelector::KMaxNeighborSelector(int);
}
[edit] MinHeapNeighborSelector
Supported interfaces: Interfaces#Neighborhood
Super class: #NeighborSelector
class MinHeapNeighborSelector implements Neighborhood extends NeighborSelector {
boolean accept(int);
void insert(int,Closure);
boolean accept(float);
void insert(float,Closure);
boolean hasMove();
Closure getMove();
float getMin();
int getIntMin();
MinHeapNeighborSelector::MinHeapNeighborSelector(int);
MinHeapNeighborSelector::MinHeapNeighborSelector();
}
[edit] IntSelector
class IntSelector {
boolean accept(int);
void insert(int,int);
void tryInsert(int,int);
boolean accept(float);
void insert(float,int);
void tryInsert(float,int);
int hasValue();
int getValue();
}
[edit] AllIntSelector
Super class: #IntSelector
class AllIntSelector extends IntSelector {
boolean accept(int);
void insert(int,int);
void tryInsert(int,int);
boolean accept(float);
void insert(float,int);
void tryInsert(float,int);
int hasValue();
int getValue();
int getSize();
int getValue(int);
AllIntSelector::AllIntSelector();
}
[edit] MinIntSelector
Super class: #IntSelector
class MinIntSelector extends IntSelector {
boolean accept(int);
void insert(int,int);
void tryInsert(int,int);
boolean accept(float);
void insert(float,int);
void tryInsert(float,int);
int hasValue();
int getValue();
float getMin();
int getIntMin();
MinIntSelector::MinIntSelector();
}
[edit] KMinIntSelector
Super class: #IntSelector
class KMinIntSelector extends IntSelector {
boolean accept(int);
void insert(int,int);
void tryInsert(int,int);
boolean accept(float);
void insert(float,int);
void tryInsert(float,int);
int hasValue();
int getValue();
float getMin();
int getIntMin();
KMinIntSelector::KMinIntSelector(int);
}
[edit] MaxIntSelector
Super class: #IntSelector
class MaxIntSelector extends IntSelector {
boolean accept(int);
void insert(int,int);
void tryInsert(int,int);
boolean accept(float);
void insert(float,int);
void tryInsert(float,int);
int hasValue();
int getValue();
float getMax();
int getIntMax();
MaxIntSelector::MaxIntSelector();
}
[edit] KMaxIntSelector
Super class: #IntSelector
class KMaxIntSelector extends IntSelector {
boolean accept(int);
void insert(int,int);
void tryInsert(int,int);
boolean accept(float);
void insert(float,int);
void tryInsert(float,int);
int hasValue();
int getValue();
float getMax();
int getIntMax();
KMaxIntSelector::KMaxIntSelector(int);
}
[edit] Distributions
[edit] UniformDistribution
class UniformDistribution {
int get();
int get(int);
UniformDistribution::UniformDistribution(range);
UniformDistribution::UniformDistribution();
}
[edit] ZeroOneDistribution
class ZeroOneDistribution {
float get();
ZeroOneDistribution::ZeroOneDistribution();
}
[edit] RandomPermutation
class RandomPermutation {
int get();
void reset();
RandomPermutation::RandomPermutation(range);
}
[edit] ExponentialDistribution
class ExponentialDistribution {
boolean accept(float);
ExponentialDistribution::ExponentialDistribution();
}

