Skip navigation links
A B C D E F G H I J L M N O P R S T U V W 

A

AbstractSubsetMove - Class in org.jamesframework.core.subset.neigh.moves
Abstract subset move that contains general behaviour such as AbstractSubsetMove.equals(Object) and AbstractSubsetMove.hashCode().
AbstractSubsetMove() - Constructor for class org.jamesframework.core.subset.neigh.moves.AbstractSubsetMove
 
accept(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.algo.tabu.TabuSearch
Overrides acceptance of a move to update the tabu memory by registering the newly visited solution.
accept(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Accept the given move by applying it to the current solution.
add(StopCriterion) - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Add a stop criterion to check.
add(E) - Method in class org.jamesframework.core.util.FastLimitedQueue
Add an element at the tail of the queue, replacing the least recently added item if the queue is full.
addAll(Collection<E>) - Method in class org.jamesframework.core.util.FastLimitedQueue
Add the given collection of items.
AdditionMove - Class in org.jamesframework.core.subset.neigh.moves
Simple subset move that adds a single ID to the current selection.
AdditionMove(int) - Constructor for class org.jamesframework.core.subset.neigh.moves.AdditionMove
Create a new addition move that will add the specified ID to the current selection when being applied to a given subset solution.
addMandatoryConstraint(Constraint<? super SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.GenericProblem
Add a mandatory constraint to the problem.
addPenalizingConstraint(PenalizingConstraint<? super SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.GenericProblem
Add a penalizing constraint to the problem.
addPenalizingValidation(Object, PenalizingValidation) - Method in class org.jamesframework.core.problems.objectives.evaluations.PenalizedEvaluation
Add a penalty expressed by a penalizing validation object.
addSearch(Search<SolutionType>) - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
Add the given search, to be executed in parallel with the other searches.
addSearchListener(SearchListener<? super SolutionType>) - Method in class org.jamesframework.core.search.Search
Add a search listener.
addStopCriterion(StopCriterion) - Method in class org.jamesframework.core.search.Search
Adds a stop criterion used to decide when the search should stop running.
addValidation(Object, Validation) - Method in class org.jamesframework.core.problems.constraints.validations.UnanimousValidation
Add a validation object.
apply(SolutionType) - Method in interface org.jamesframework.core.search.neigh.Move
Apply this move to the given solution.
apply(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.moves.AdditionMove
Apply this addition move to the given subset solution.
apply(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.moves.DeletionMove
Apply this deletion move to the given subset solution.
apply(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.moves.GeneralSubsetMove
Apply this move to a given subset solution.
apply(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.moves.SwapMove
Apply this swap move to a given subset solution.
assertIdle(String) - Method in class org.jamesframework.core.search.Search
Asserts that the search is currently idle, more precisely that its status is equal to SearchStatus.IDLE.

B

BasicParallelSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo
A basic parallel search runs several (heterogeneous) searches in parallel and keeps track of the best solution found by any of these searches.
BasicParallelSearch(Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.BasicParallelSearch
Creates a new basic parallel search, specifying the problem to solve.
BasicParallelSearch(String, Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.BasicParallelSearch
Creates a new basic parallel search, specifying the problem to solve and a custom search name.

C

cacheMoveEvaluation(Move<?>, Evaluation) - Method in interface org.jamesframework.core.search.cache.EvaluatedMoveCache
Request to cache the evaluation (see Problem.evaluate(Solution)) of the neighbouring solution which is obtained by applying the given move to the current solution.
cacheMoveEvaluation(Move<?>, Evaluation) - Method in class org.jamesframework.core.search.cache.SingleEvaluatedMoveCache
Cache the given evaluation, discarding any previously cached evaluations.
cacheMoveValidation(Move<?>, Validation) - Method in interface org.jamesframework.core.search.cache.EvaluatedMoveCache
Request to cache the validation (see Problem.validate(Solution)) of the neighbouring solution which is obtained by applying the given move to the current solution.
cacheMoveValidation(Move<?>, Validation) - Method in class org.jamesframework.core.search.cache.SingleEvaluatedMoveCache
Cache validation of the given move, discarding any previously cached value.
checkedCopy(T) - Static method in class org.jamesframework.core.problems.sol.Solution
Creates a checked deep copy of the given solution with specific type T (a subclass of Solution).
clear() - Method in class org.jamesframework.core.search.algo.tabu.FullTabuMemory
Clear the tabu memory.
clear() - Method in interface org.jamesframework.core.search.algo.tabu.TabuMemory
Clears the tabu memory.
clear() - Method in interface org.jamesframework.core.search.cache.EvaluatedMoveCache
Clears all cached values.
clear() - Method in class org.jamesframework.core.search.cache.SingleEvaluatedMoveCache
Clear all cached values.
clear() - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Remove all stop criteria.
clear() - Method in class org.jamesframework.core.subset.algo.tabu.IDBasedSubsetTabuMemory
Clear the tabu memory.
clear() - Method in class org.jamesframework.core.util.FastLimitedQueue
Clear the queue.
clearSearchListeners() - Method in class org.jamesframework.core.search.Search
Remove all search listeners.
clearStopCriteria() - Method in class org.jamesframework.core.search.Search
Removes all stop criteria.
clearTabuMemory() - Method in class org.jamesframework.core.search.algo.tabu.TabuSearch
Clear the tabu memory.
computeDelta(Evaluation, Evaluation) - Method in class org.jamesframework.core.search.Search
Computes the amount of improvement of currentEvaluation over previousEvaluation, taking into account whether evaluations are being maximized or minimized.
Constraint<SolutionType extends Solution,DataType> - Interface in org.jamesframework.core.problems.constraints
Interface of a constraint that can be imposed on the solutions of a problem.
contains(E) - Method in class org.jamesframework.core.util.FastLimitedQueue
Checks whether the given item is contained in the queue.
copy() - Method in class org.jamesframework.core.problems.sol.Solution
Creates a deep copy of this solution.
copy() - Method in class org.jamesframework.core.subset.SubsetSolution
Create a deep copy of this subset solution, obtained through the copy constructor.
create(Problem<SolutionType>) - Method in interface org.jamesframework.core.factory.LocalSearchFactory
Create a local search, given the problem to solve.
create(Problem<SolutionType>, Neighbourhood<? super SolutionType>, double) - Method in interface org.jamesframework.core.factory.MetropolisSearchFactory
Create a Metropolis search, given the problem to solve, the applied neighbourhood and the desired temperature.
create(Problem<SolutionType>) - Method in interface org.jamesframework.core.factory.SearchFactory
Create a search, given the problem to solve.
create(Random, DataType) - Method in interface org.jamesframework.core.problems.sol.RandomSolutionGenerator
Generate a random solution.
createEmptySubsetSolution() - Method in class org.jamesframework.core.subset.SubsetProblem
Creates an empty subset solution in which no IDs are selected.
createRandomSolution(Random) - Method in class org.jamesframework.core.problems.GenericProblem
Delegates to the contained random solution generator.
createRandomSolution(Random) - Method in interface org.jamesframework.core.problems.Problem
Creates a random solution using the given source of randomness.
createRandomSolution() - Method in interface org.jamesframework.core.problems.Problem
Creates a random solution, using a default source of randomness.

D

DeletionMove - Class in org.jamesframework.core.subset.neigh.moves
Simple subset move that removes a single ID from the current selection.
DeletionMove(int) - Constructor for class org.jamesframework.core.subset.neigh.moves.DeletionMove
Create a new deletion move, specifying the ID that will be removed from the selection when this moves is applied to a given subset solution.
deselect(int) - Method in class org.jamesframework.core.subset.SubsetSolution
Deselect the given ID.
deselectAll(Collection<Integer>) - Method in class org.jamesframework.core.subset.SubsetSolution
Deselect all IDs contained in the given collection.
deselectAll() - Method in class org.jamesframework.core.subset.SubsetSolution
Deselect all IDs.
DisjointMultiAdditionNeighbourhood - Class in org.jamesframework.core.subset.neigh.adv
A subset neighbourhood that generates moves which simultaneously add a fixed number of items to the selection.
DisjointMultiAdditionNeighbourhood(int) - Constructor for class org.jamesframework.core.subset.neigh.adv.DisjointMultiAdditionNeighbourhood
Creates a disjoint multi addition neighbourhood that simultaneously adds a fixed number of IDs to the selection.
DisjointMultiAdditionNeighbourhood(int, int) - Constructor for class org.jamesframework.core.subset.neigh.adv.DisjointMultiAdditionNeighbourhood
Creates a disjoint multi addition neighbourhood that simultaneously adds a fixed number of IDs to the selection, taking into account that the subset size may not exceed the given maximum.
DisjointMultiAdditionNeighbourhood(int, int, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.adv.DisjointMultiAdditionNeighbourhood
Creates a disjoint multi addition neighbourhood that simultaneously adds a fixed number of IDs to the selection, taking into account that the subset size may not exceed the given maximum and that the given set of fixed IDs are not allowed to be selected.
DisjointMultiDeletionNeighbourhood - Class in org.jamesframework.core.subset.neigh.adv
A subset neighbourhood that generates moves which simultaneously remove a fixed number of items from the selection.
DisjointMultiDeletionNeighbourhood(int) - Constructor for class org.jamesframework.core.subset.neigh.adv.DisjointMultiDeletionNeighbourhood
Creates a disjoint multi deletion neighbourhood that simultaneously removes a fixed number of IDs from the selection.
DisjointMultiDeletionNeighbourhood(int, int) - Constructor for class org.jamesframework.core.subset.neigh.adv.DisjointMultiDeletionNeighbourhood
Creates a disjoint multi deletion neighbourhood that simultaneously removes a fixed number of IDs from the selection, taking into account that the subset size may not drop below the given minimum.
DisjointMultiDeletionNeighbourhood(int, int, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.adv.DisjointMultiDeletionNeighbourhood
Creates a disjoint multi deletion neighbourhood that simultaneously removes a fixed number of IDs from the selection, taking into account that the subset size may not drop below the given minimum and that the given set of fixed IDs are not allowed to be deselected.
DisjointMultiSwapNeighbourhood - Class in org.jamesframework.core.subset.neigh.adv
A subset neighbourhood that generates moves performing a fixed number of simultaneous swaps of selected and unselected IDs.
DisjointMultiSwapNeighbourhood(int) - Constructor for class org.jamesframework.core.subset.neigh.adv.DisjointMultiSwapNeighbourhood
Creates a multi swap neighbourhood without fixed IDs, indicating the number of (simultaneous) swaps performed by any generated move.
DisjointMultiSwapNeighbourhood(int, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.adv.DisjointMultiSwapNeighbourhood
Creates a multi swap neighbourhood with a given set of fixed IDs which are not allowed to be swapped.
dispose() - Method in class org.jamesframework.core.search.Search
Dispose this search, upon which all of its resources are released.

E

equals(Object) - Method in class org.jamesframework.core.problems.sol.Solution
Overrides default Object.equals(Object) to be abstract so that all extending solution types are required to provide an appropriate implementation that compares solutions by value instead of by reference.
equals(Object) - Method in class org.jamesframework.core.subset.neigh.moves.AbstractSubsetMove
Two subset moves are considered equal if they respectively remove and add the same sets of IDs.
equals(Object) - Method in class org.jamesframework.core.subset.SubsetSolution
Checks whether the given other object represents the same subset solution.
evaluate(SolutionType) - Method in class org.jamesframework.core.problems.GenericProblem
Evaluates a solution by taking into account both the evaluation calculated by the objective function and the penalizing constraints (if any).
evaluate(Move<? super SolutionType>, SolutionType, Evaluation) - Method in class org.jamesframework.core.problems.GenericProblem
Evaluate a move (delta evaluation) by taking into account both the evaluation of the modified solution and the penalizing constraints (if any).
evaluate(SolutionType, DataType) - Method in interface org.jamesframework.core.problems.objectives.Objective
Evaluates a given solution using the given data.
evaluate(Move<? super ActualSolutionType>, ActualSolutionType, Evaluation, DataType) - Method in interface org.jamesframework.core.problems.objectives.Objective
Evaluates a move that will be applied to the current solution of a local search (delta evaluation).
evaluate(SolutionType) - Method in interface org.jamesframework.core.problems.Problem
Evaluates a given solution.
evaluate(Move<? super SolutionType>, SolutionType, Evaluation) - Method in interface org.jamesframework.core.problems.Problem
Evaluates a move that will be applied to the current solution of a local search (delta evaluation).
evaluate(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Evaluates a move to be applied to the current solution.
EvaluatedMoveCache - Interface in org.jamesframework.core.search.cache
Interface of a cache that stores validations (see Problem.validate(Solution)) and evaluations (see Problem.evaluate(Solution)) of neighbours obtained by applying moves to the current solution in a neighbourhood search.
Evaluation - Interface in org.jamesframework.core.problems.objectives.evaluations
Interface of a solution evaluation produced by a problem definition.
ExhaustiveSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo.exh
The exhaustive search algorithm evaluates every solution generated by the given solution iterator and selects the best one.
ExhaustiveSearch(Problem<SolutionType>, SolutionIterator<? extends SolutionType>) - Constructor for class org.jamesframework.core.search.algo.exh.ExhaustiveSearch
Create an exhaustive search algorithm to solve the given problem, using the given solution iterator to generate possible solutions, with default search name "ExhaustiveSearch".
ExhaustiveSearch(String, Problem<SolutionType>, SolutionIterator<? extends SolutionType>) - Constructor for class org.jamesframework.core.search.algo.exh.ExhaustiveSearch
Create an exhaustive search algorithm to solve the given problem, using the given solution iterator to generate possible solutions, with a custom search name.

F

FAILED(double) - Static method in class org.jamesframework.core.problems.constraints.validations.SimplePenalizingValidation
Creates a simple penalizing validation indicating that the validation failed, where the given strictly positive penalty is assigned.
FAILED - Static variable in class org.jamesframework.core.problems.constraints.validations.SimpleValidation
Constant simple validation indicating that the validation failed (SimpleValidation.passed() returns false).
FastLimitedQueue<E> - Class in org.jamesframework.core.util
A fast queue with limited size that replaces the least recently added items if it is full, and which never contains duplicates of the same item.
FastLimitedQueue(int) - Constructor for class org.jamesframework.core.util.FastLimitedQueue
Creat a new instance with given size limit.
FullTabuMemory<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo.tabu
Full tabu memory that stores deeps copies of recently visited solutions and declares a move tabu if applying it to the current solution yields a neighbouring solution which is currently contained in the memory.
FullTabuMemory(int) - Constructor for class org.jamesframework.core.search.algo.tabu.FullTabuMemory
Creates a full tabu memory with specified size.

G

GeneralSubsetMove - Class in org.jamesframework.core.subset.neigh.moves
A general subset move may simultaneously add and/or remove several IDs to/from the current selection of a subset solution.
GeneralSubsetMove(Set<Integer>, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.moves.GeneralSubsetMove
Creates a general subset move, indicating which IDs are to be added to and deleted from the current selection when being applied to a given subset solution.
generateRandomInitialSolution() - Method in class org.jamesframework.core.search.algo.tabu.TabuSearch
Updates the tabu memory if a random initial solution is generated.
generateRandomInitialSolution() - Method in class org.jamesframework.core.search.LocalSearch
Generates a random initial solution.
GenericProblem<SolutionType extends Solution,DataType> - Class in org.jamesframework.core.problems
A generic problem is fully based on delegation of its responsabilities, by separating data from the objective, constraints (if any) and random solution generation.
GenericProblem(DataType, Objective<? super SolutionType, ? super DataType>, RandomSolutionGenerator<? extends SolutionType, ? super DataType>) - Constructor for class org.jamesframework.core.problems.GenericProblem
Creates a new generic problem with given data, objective and random solution generator.
getAddCandidates(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.SubsetNeighbourhood
Infer the set of IDs that may be added to the selection in the given subset solution.
getAddedID() - Method in class org.jamesframework.core.subset.neigh.moves.AdditionMove
Returns the added ID.
getAddedID() - Method in class org.jamesframework.core.subset.neigh.moves.SwapMove
Returns the added ID.
getAddedIDs() - Method in class org.jamesframework.core.subset.neigh.moves.AdditionMove
Returns an unmodifiable singleton containing the only added ID.
getAddedIDs() - Method in class org.jamesframework.core.subset.neigh.moves.DeletionMove
Returns an unmodifiable empty set, as no IDs are added.
getAddedIDs() - Method in class org.jamesframework.core.subset.neigh.moves.GeneralSubsetMove
Returns an unmodifiable view of the set of IDs added to the selection when applying this move to a subset solution.
getAddedIDs() - Method in interface org.jamesframework.core.subset.neigh.moves.SubsetMove
Get the set of IDs that are added to the selection when applying this move to a subset solution.
getAddedIDs() - Method in class org.jamesframework.core.subset.neigh.moves.SwapMove
Returns an unmodifiable singleton containing the only added ID.
getAllIDs() - Method in class org.jamesframework.core.subset.SubsetSolution
Returns an unmodifiable view of the set of all IDs.
getAllMoves(SolutionType) - Method in interface org.jamesframework.core.search.neigh.Neighbourhood
Get a list of all moves that can be applied to the given solution to transform it into each of the neighbouring solutions contained in this specific neighbourhood.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiAdditionNeighbourhood
Generates the list of all possible moves that perform \(k\) additions, where \(k\) is the fixed number specified at construction.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiDeletionNeighbourhood
Generates the list of all possible moves that perform \(k\) deletions, where \(k\) is the fixed number specified at construction.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiSwapNeighbourhood
Generates the list of all possible moves that perform exactly \(k\) swaps, where \(k\) is the desired number of swaps specified at construction.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.adv.MultiAdditionNeighbourhood
Generates the list of all possible moves that perform 1 up to \(k\) additions, where \(k\) is the maximum number of additions specified at construction.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.adv.MultiDeletionNeighbourhood
Generates the list of all possible moves that perform 1 up to \(k\) deletions, where \(k\) is the maximum number of deletions specified at construction.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.adv.MultiSwapNeighbourhood
Generates the list of all possible moves that perform 1 up to \(k\) swaps, where \(k\) is the maximum number of swaps specified at construction.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.SingleAdditionNeighbourhood
Generates a list of all possible addition moves that add a single ID to the selection of a given subset solution.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.SingleDeletionNeighbourhood
Generates a list of all possible deletion moves that remove a single ID from the selection of a given subset solution.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.SinglePerturbationNeighbourhood
Generate all valid swap, deletion and addition moves that transform the given subset solution into a neighbour within the minimum and maximum allowed subset size.
getAllMoves(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.SingleSwapNeighbourhood
Generates a list of all possible swap moves that transform the given subset solution by removing a single ID from the current selection and replacing it with a new ID which is currently not selected.
getBestMove(Collection<? extends Move<? super SolutionType>>, boolean, Predicate<? super Move<? super SolutionType>>...) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Get the best valid move among a collection of possible moves.
getBestSolution() - Method in class org.jamesframework.core.search.Search
Returns the best solution found so far.
getBestSolutionEvaluation() - Method in class org.jamesframework.core.search.Search
Get the evaluation of the best solution found so far.
getBestSolutionValidation() - Method in class org.jamesframework.core.search.Search
Get the validation of the best solution found so far.
getCachedMoveEvaluation(Move<?>) - Method in interface org.jamesframework.core.search.cache.EvaluatedMoveCache
Retrieve the cached evaluation (see Problem.evaluate(Solution)) of the neighbouring solution which is obtained by applying the given move to the current solution, if available.
getCachedMoveEvaluation(Move<?>) - Method in class org.jamesframework.core.search.cache.SingleEvaluatedMoveCache
Retrieve a cached evaluation, if still available.
getCachedMoveValidation(Move<?>) - Method in interface org.jamesframework.core.search.cache.EvaluatedMoveCache
Retrieve the cached validation (see Problem.validate(Solution)) of the neighbouring solution which is obtained by applying the given move to the current solution, if available.
getCachedMoveValidation(Move<?>) - Method in class org.jamesframework.core.search.cache.SingleEvaluatedMoveCache
Retrieve a cached validation, if still available.
getConstraintValidation() - Method in class org.jamesframework.core.subset.validations.SubsetValidation
Get the validation object produced when checking the general mandatory constraints (may be null).
getCurrentSolution() - Method in class org.jamesframework.core.search.LocalSearch
Get the current solution.
getCurrentSolutionEvaluation() - Method in class org.jamesframework.core.search.LocalSearch
Get the evaluation of the current solution.
getCurrentSolutionValidation() - Method in class org.jamesframework.core.search.LocalSearch
Get the validation of the current solution.
getData() - Method in class org.jamesframework.core.problems.GenericProblem
Get the underlying data.
getDeletedID() - Method in class org.jamesframework.core.subset.neigh.moves.DeletionMove
Returns the deleted ID.
getDeletedID() - Method in class org.jamesframework.core.subset.neigh.moves.SwapMove
Returns the deleted ID.
getDeletedIDs() - Method in class org.jamesframework.core.subset.neigh.moves.AdditionMove
Returns an unmodifiable empty set, as no IDs are deleted by this move.
getDeletedIDs() - Method in class org.jamesframework.core.subset.neigh.moves.DeletionMove
Returns an unmodifiable singleton, containing the only deleted ID.
getDeletedIDs() - Method in class org.jamesframework.core.subset.neigh.moves.GeneralSubsetMove
Returns an unmodifiable view of the set of IDs removed from the selection when applying this move to a subset solution.
getDeletedIDs() - Method in interface org.jamesframework.core.subset.neigh.moves.SubsetMove
Get the set of IDs that are removed from the selection when applying this move to a subset solution.
getDeletedIDs() - Method in class org.jamesframework.core.subset.neigh.moves.SwapMove
Returns an unmodifiable singleton containing the only deleted ID.
getEvaluation() - Method in class org.jamesframework.core.problems.objectives.evaluations.PenalizedEvaluation
Get the original unpenalized evaluation.
getID() - Method in class org.jamesframework.core.search.Search
Get the unique ID that has been assigned to this search.
getIDs() - Method in interface org.jamesframework.core.problems.datatypes.IntegerIdentifiedData
Get the set of all integer IDs corresponding to an item in the data set.
getL() - Method in class org.jamesframework.core.subset.algo.LRSubsetSearch
Get \(L\): the number of additions performed in every search step.
getLocalSearchFactory() - Method in class org.jamesframework.core.search.algo.vns.VariableNeighbourhoodSearch
Get the factory used to create instances of the local search algorithm which is applied to modify solutions obtained after shaking.
getMandatoryConstraints() - Method in class org.jamesframework.core.problems.GenericProblem
Get mandatory constraints (unmodifiable view).
getMaxAdditions() - Method in class org.jamesframework.core.subset.neigh.adv.MultiAdditionNeighbourhood
Get the maximum number of additions performed by generated moves.
getMaxDeletions() - Method in class org.jamesframework.core.subset.neigh.adv.MultiDeletionNeighbourhood
Get the maximum number of deletions performed by generated moves.
getMaxSubsetSize() - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiAdditionNeighbourhood
Get the maximum subset size specified at construction.
getMaxSubsetSize() - Method in class org.jamesframework.core.subset.neigh.adv.MultiAdditionNeighbourhood
Get the maximum subset size specified at construction.
getMaxSubsetSize() - Method in class org.jamesframework.core.subset.neigh.SingleAdditionNeighbourhood
Get the maximum subset size.
getMaxSubsetSize() - Method in class org.jamesframework.core.subset.neigh.SinglePerturbationNeighbourhood
Get the maximum subset size specified at construction.
getMaxSubsetSize() - Method in class org.jamesframework.core.subset.SubsetProblem
Get the maximum subset size.
getMaxSwaps() - Method in class org.jamesframework.core.subset.neigh.adv.MultiSwapNeighbourhood
Get the maximum number of swaps performed by generated moves.
getMinDelta() - Method in class org.jamesframework.core.search.Search
Get the minimum improvement in evaluation of a new best known solution over the previous best known solution, found during the current (or last) run.
getMinSubsetSize() - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiDeletionNeighbourhood
Get the minimum subset size specified at construction.
getMinSubsetSize() - Method in class org.jamesframework.core.subset.neigh.adv.MultiDeletionNeighbourhood
Get the minimum subset size specified at construction.
getMinSubsetSize() - Method in class org.jamesframework.core.subset.neigh.SingleDeletionNeighbourhood
Get the minimum subset size.
getMinSubsetSize() - Method in class org.jamesframework.core.subset.neigh.SinglePerturbationNeighbourhood
Get the minimum subset size specified at construction.
getMinSubsetSize() - Method in class org.jamesframework.core.subset.SubsetProblem
Get the minimum subset size.
getName() - Method in class org.jamesframework.core.search.Search
Get the name that has been assigned to this search.
getNeighbourhood() - Method in class org.jamesframework.core.search.SingleNeighbourhoodSearch
Get the neighbourhood used to modify the current solution.
getNeighbourhoods() - Method in class org.jamesframework.core.search.MultiNeighbourhoodSearch
Get list of applied neighbourhoods (unmodifiable).
getNumAcceptedMoves() - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Get the number of moves accepted during the current (or last) run.
getNumAdded() - Method in class org.jamesframework.core.subset.neigh.moves.AdditionMove
Always return 1, as a single ID is added.
getNumAdded() - Method in class org.jamesframework.core.subset.neigh.moves.DeletionMove
Always returns 0, as no IDs are added.
getNumAdded() - Method in class org.jamesframework.core.subset.neigh.moves.GeneralSubsetMove
Returns the number of added IDs.
getNumAdded() - Method in interface org.jamesframework.core.subset.neigh.moves.SubsetMove
Returns the number of added IDs, possibly 0.
getNumAdded() - Method in class org.jamesframework.core.subset.neigh.moves.SwapMove
Always returns 1.
getNumAdditions() - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiAdditionNeighbourhood
Get the fixed number of additions performed by generated moves.
getNumDeleted() - Method in class org.jamesframework.core.subset.neigh.moves.AdditionMove
Always returns 0, as no IDs are deleted.
getNumDeleted() - Method in class org.jamesframework.core.subset.neigh.moves.DeletionMove
Always returns 1, as a single ID is deleted.
getNumDeleted() - Method in class org.jamesframework.core.subset.neigh.moves.GeneralSubsetMove
Returns the number of removed IDs.
getNumDeleted() - Method in interface org.jamesframework.core.subset.neigh.moves.SubsetMove
Returns the number of deleted IDs, possibly 0.
getNumDeleted() - Method in class org.jamesframework.core.subset.neigh.moves.SwapMove
Always return 1.
getNumDeletions() - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiDeletionNeighbourhood
Get the fixed number of deletions performed by generated moves.
getNumRejectedMoves() - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Get the number of moves rejected during the current (or last) run.
getNumSelectedIDs() - Method in class org.jamesframework.core.subset.SubsetSolution
Get the number of IDs which are currently selected.
getNumSwaps() - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiSwapNeighbourhood
Get the fixed number of swaps performed by generated moves.
getNumUnselectedIDs() - Method in class org.jamesframework.core.subset.SubsetSolution
Get the number of IDs which are currently unselected.
getObjective() - Method in class org.jamesframework.core.problems.GenericProblem
Get the objective function.
getOrderOfIDs() - Method in class org.jamesframework.core.subset.SubsetSolution
Get the comparator according to which the IDs are ordered, as specified at construction.
getPenalizingConstraints() - Method in class org.jamesframework.core.problems.GenericProblem
Get penalizing constraints (unmodifiable view).
getPenalizingValidation(Object) - Method in class org.jamesframework.core.problems.objectives.evaluations.PenalizedEvaluation
Retrieve the penalizing validation object corresponding to the given key.
getPenalty() - Method in interface org.jamesframework.core.problems.constraints.validations.PenalizingValidation
Get the assigned penalty.
getPenalty() - Method in class org.jamesframework.core.problems.constraints.validations.SimplePenalizingValidation
Get the assigned penalty.
getProblem() - Method in class org.jamesframework.core.search.Search
Get the problem being solved, as specified at construction.
getProblem() - Method in class org.jamesframework.core.subset.algo.LRSubsetSearch
Returns the subset problem that is being solved.
getR() - Method in class org.jamesframework.core.subset.algo.LRSubsetSearch
Get \(R\): the number of deletions performed in every search step.
getRandom() - Method in class org.jamesframework.core.search.Search
Get the dedicated random generator used by this search.
getRandomElement(Set<? extends T>, Random) - Static method in class org.jamesframework.core.util.SetUtilities
Select a random element from a given set (uniformly distributed).
getRandomMove(SolutionType, Random) - Method in interface org.jamesframework.core.search.neigh.Neighbourhood
Generates a move that transforms the given solution into a random neighbour contained in this specific neighbourhood.
getRandomMove(SolutionType) - Method in interface org.jamesframework.core.search.neigh.Neighbourhood
Generates a random move, using a default source of randomness.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiAdditionNeighbourhood
Generates a move for the given subset solution that selects a random subset of currently unselected IDs.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiDeletionNeighbourhood
Generates a move for the given subset solution that deselects a random subset of currently selected IDs.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.adv.DisjointMultiSwapNeighbourhood
Generates a move for the given subset solution that removes a random subset of \(k\) IDs from the current selection and replaces them with an equally large random subset of the currently unselected IDs, where \(k\) is the number of swaps specified at construction.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.adv.MultiAdditionNeighbourhood
Generates a move for the given subset solution that adds a random subset of currently unselected IDs to the selection.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.adv.MultiDeletionNeighbourhood
Generates a move for the given subset solution that deselects a random subset of currently selected IDs.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.adv.MultiSwapNeighbourhood
Generates a move for the given subset solution that removes a random subset of IDs from the current selection and replaces them with an equally large random subset of the currently unselected IDs.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.SingleAdditionNeighbourhood
Generates a random addition move for the given subset solution that adds a single ID to the selection.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.SingleDeletionNeighbourhood
Generates a random deletion move for the given subset solution that removes a single ID from the selection.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.SinglePerturbationNeighbourhood
Generates a random swap, deletion or addition move that transforms the given subset solution into a neighbour within the minimum and maximum allowed subset size.
getRandomMove(SubsetSolution, Random) - Method in class org.jamesframework.core.subset.neigh.SingleSwapNeighbourhood
Generates a random swap move for the given subset solution that removes a single ID from the set of currently selected IDs, and replaces it with a random ID taken from the set of currently unselected IDs.
getRandomSolutionGenerator() - Method in class org.jamesframework.core.problems.GenericProblem
Get the random solution generator.
getRandomSubset(Set<? extends T>, int, Random, Collection<T>) - Static method in class org.jamesframework.core.util.SetUtilities
Selects a random subset of a specific size from a given set (uniformly distributed).
getRandomSubset(Set<? extends T>, int, Random) - Static method in class org.jamesframework.core.util.SetUtilities
Selects a random subset of a specific size from a given set (uniformly distributed).
getRemoveCandidates(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.SubsetNeighbourhood
Infer the set of IDs that may be removed from the selection in the given subset solution.
getReplicaSteps() - Method in class org.jamesframework.core.search.algo.ParallelTempering
Get the number of steps performed by each replica in every iteration of the global parallel tempering algorithm, before considering solution swaps.
getRuntime() - Method in class org.jamesframework.core.search.Search
Get the runtime of the current (or last) run, in milliseconds.
getSearches() - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
Get an unmodifiable view of the list of all searches that have been added to this parallel search for concurrent execution.
getSearchListeners() - Method in class org.jamesframework.core.search.Search
Retrieve search listeners (unmodifiable view).
getSelectedIDs() - Method in class org.jamesframework.core.subset.SubsetSolution
Returns an unmodifiable view of the set of currently selected IDs.
getSolution() - Method in exception org.jamesframework.core.exceptions.SolutionModificationException
Returns the solution that was being modified when this exception occurred.
getStatus() - Method in class org.jamesframework.core.search.Search
Get the current search status.
getStatusLock() - Method in class org.jamesframework.core.search.Search
Returns a lock to be acquired when executing blocks of code that can not be interrupted by a status update.
getSteps() - Method in class org.jamesframework.core.search.Search
Get the number of completed steps during the current (or last) run.
getStepsWithoutImprovement() - Method in class org.jamesframework.core.search.Search
Get the number of consecutive steps completed during the current (or last) run, without finding any further improvement.
getTabuMemory() - Method in class org.jamesframework.core.search.algo.tabu.TabuSearch
Get the tabu memory.
getTemperature() - Method in class org.jamesframework.core.search.algo.MetropolisSearch
Get the temperature \(T\) of the system.
getTimeWithoutImprovement() - Method in class org.jamesframework.core.search.Search
Get the amount of time elapsed during the current (or last) run, without finding any further improvement (in milliseconds).
getTotalNumIDs() - Method in class org.jamesframework.core.subset.SubsetSolution
Get the total number of IDs.
getUnselectedIDs() - Method in class org.jamesframework.core.subset.SubsetSolution
Returns an unmodifiable view of the set of currently non selected IDs.
getValidation(Object) - Method in class org.jamesframework.core.problems.constraints.validations.UnanimousValidation
Retrieve the validation object corresponding to the given key.
getValue() - Method in interface org.jamesframework.core.problems.objectives.evaluations.Evaluation
Get the double value of this evaluation, expressing the solution quality.
getValue() - Method in class org.jamesframework.core.problems.objectives.evaluations.PenalizedEvaluation
Get the penalized value.
getValue() - Method in class org.jamesframework.core.problems.objectives.evaluations.SimpleEvaluation
Get the double value specified at construction.
getViolatedConstraints(SolutionType) - Method in class org.jamesframework.core.problems.GenericProblem
Returns a collection of all violated constraints (both mandatory and penalizing).

H

hashCode() - Method in class org.jamesframework.core.problems.sol.Solution
Overrides default Object.hashCode() to be abstract so that all extending solution types are required to provide a hash code computation that is consistent with the implementation of Solution.equals(Object).
hashCode() - Method in class org.jamesframework.core.subset.neigh.moves.AbstractSubsetMove
Hash code corresponding to implementation of AbstractSubsetMove.equals(Object).
hashCode() - Method in class org.jamesframework.core.subset.SubsetSolution
Computes a hash code that is consistent with the implementation of SubsetSolution.equals(Object) meaning that the same hash code is returned for equal subset solutions.
hasNext() - Method in interface org.jamesframework.core.search.algo.exh.SolutionIterator
Indicates whether there are more solutions to be generated.
hasNext() - Method in class org.jamesframework.core.subset.algo.exh.SubsetSolutionIterator
Checks whether more subset solutions are to be generated.
hasNext() - Method in class org.jamesframework.core.util.SubsetIterator
Checks whether more subsets are to be generated.

I

IDBasedSubsetTabuMemory - Class in org.jamesframework.core.subset.algo.tabu
An ID based subset tabu memory keeps track of recently added and deleted IDs (recently applied moves) and does not allow that these IDs are added nor deleted to/from the current solution as long as they are contained in the limited size tabu memory.
IDBasedSubsetTabuMemory(int) - Constructor for class org.jamesframework.core.subset.algo.tabu.IDBasedSubsetTabuMemory
Creates an ID based subset tabu memory with specified size.
incNumAcceptedMoves(long) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Increase the number of accepted moves with the given value.
incNumRejectedMoves(long) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Increase the number of rejected moves with the given value.
IncompatibleDeltaEvaluationException - Exception in org.jamesframework.core.exceptions
Exception thrown when a delta evaluation is not compatible with the type of moves generated by the applied neighbourhood(s).
IncompatibleDeltaEvaluationException() - Constructor for exception org.jamesframework.core.exceptions.IncompatibleDeltaEvaluationException
Creates a new instance without detail message.
IncompatibleDeltaEvaluationException(String) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleDeltaEvaluationException
Constructs an instance with the specified detail message.
IncompatibleDeltaEvaluationException(Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleDeltaEvaluationException
Constructs an instance with the specified cause.
IncompatibleDeltaEvaluationException(String, Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleDeltaEvaluationException
Constructs an instance with the specified detail message and cause.
IncompatibleDeltaValidationException - Exception in org.jamesframework.core.exceptions
Exception thrown when a delta validation is not compatible with the type of moves generated by the applied neighbourhood(s).
IncompatibleDeltaValidationException() - Constructor for exception org.jamesframework.core.exceptions.IncompatibleDeltaValidationException
Creates a new instance without detail message.
IncompatibleDeltaValidationException(String) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleDeltaValidationException
Constructs an instance with the specified detail message.
IncompatibleDeltaValidationException(Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleDeltaValidationException
Constructs an instance with the specified cause.
IncompatibleDeltaValidationException(String, Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleDeltaValidationException
Constructs an instance with the specified detail message and cause.
IncompatibleSearchListenerException - Exception in org.jamesframework.core.exceptions
Exception thrown when an incompatible search listener is attached to a search.
IncompatibleSearchListenerException() - Constructor for exception org.jamesframework.core.exceptions.IncompatibleSearchListenerException
Creates a new instance without detail message.
IncompatibleSearchListenerException(String) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleSearchListenerException
Constructs an instance with the specified detail message.
IncompatibleSearchListenerException(Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleSearchListenerException
Constructs an instance with the specified cause.
IncompatibleSearchListenerException(String, Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleSearchListenerException
Constructs an instance with the specified detail message and cause.
IncompatibleStopCriterionException - Exception in org.jamesframework.core.exceptions
Exception thrown when an incompatible stop criterion is attached to a search.
IncompatibleStopCriterionException() - Constructor for exception org.jamesframework.core.exceptions.IncompatibleStopCriterionException
Creates a new instance without detail message.
IncompatibleStopCriterionException(String) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleStopCriterionException
Constructs an instance with the specified detail message.
IncompatibleStopCriterionException(Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleStopCriterionException
Constructs an instance with the specified cause.
IncompatibleStopCriterionException(String, Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleStopCriterionException
Constructs an instance with the specified detail message and cause.
IncompatibleTabuMemoryException - Exception in org.jamesframework.core.exceptions
Exception thrown when an incompatible tabu memory is used for tabu search.
IncompatibleTabuMemoryException() - Constructor for exception org.jamesframework.core.exceptions.IncompatibleTabuMemoryException
Creates a new instance without detail message.
IncompatibleTabuMemoryException(String) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleTabuMemoryException
Constructs an instance with the specified detail message.
IncompatibleTabuMemoryException(Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleTabuMemoryException
Constructs an instance with the specified cause.
IncompatibleTabuMemoryException(String, Throwable) - Constructor for exception org.jamesframework.core.exceptions.IncompatibleTabuMemoryException
Constructs an instance with the specified detail message and cause.
init() - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
When the search is initialized, it is verified whether at least one subsearch has been added and all subsearches are initialized as well (in parallel).
init() - Method in class org.jamesframework.core.search.algo.ParallelTempering
When initializing a parallel tempering search, the replicas are initialized as well (in parallel).
init() - Method in class org.jamesframework.core.search.LocalSearch
When the search is initialized, a random initial solution is generated if none has been specified or generated before.
init() - Method in class org.jamesframework.core.search.NeighbourhoodSearch
When a neighbourhood search is initialized, the number of accepted and rejected moves is (re)set to zero.
init() - Method in class org.jamesframework.core.search.Search
Initializes and/or validates the search.
init() - Method in class org.jamesframework.core.subset.algo.LRSubsetSearch
When the search is initialized, and no custom initial solution has been set, an empty or full subset solution is created depending on whether \(L \gt R\) or \(R \gt L\), respectively.
IntegerIdentifiedData - Interface in org.jamesframework.core.problems.datatypes
Interface of a data set in which each item is identified using a unique integer ID.
INVALID_DELTA - Static variable in interface org.jamesframework.core.util.JamesConstants
Indicates an invalid delta (amount of improvement).
INVALID_MOVE_COUNT - Static variable in interface org.jamesframework.core.util.JamesConstants
Indicates an invalid number of moves.
INVALID_STEP_COUNT - Static variable in interface org.jamesframework.core.util.JamesConstants
Indicates an invalid number of steps.
INVALID_TIME_SPAN - Static variable in interface org.jamesframework.core.util.JamesConstants
Used to indicate an invalid time span.
INVALID_TIMESTAMP - Static variable in interface org.jamesframework.core.util.JamesConstants
Used to indicate an invalid timestamp, for example belonging to an event which has not yet occurred.
isImprovement(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Checks whether applying the given move to the current solution yields a valid improvement.
isMinimizing() - Method in class org.jamesframework.core.problems.GenericProblem
Indicates whether the underlying objective is minimizing.
isMinimizing() - Method in interface org.jamesframework.core.problems.objectives.Objective
Check whether the produced evaluations are to be minimized.
isMinimizing() - Method in interface org.jamesframework.core.problems.Problem
Indicates whether scores are being minimized or maximized.
isTabu(Move<? super SolutionType>, SolutionType) - Method in class org.jamesframework.core.search.algo.tabu.FullTabuMemory
Verifies whether the given move is tabu by applying it to the current solution and checking if the obtained neighbour is currently contained in the tabu memory.
isTabu(Move<? super SolutionType>, SolutionType) - Method in interface org.jamesframework.core.search.algo.tabu.TabuMemory
Indicates whether the given move is tabu, considering the current solution to which it will be applied and the current state of the tabu memory.
isTabu(Move<? super SubsetSolution>, SubsetSolution) - Method in class org.jamesframework.core.subset.algo.tabu.IDBasedSubsetTabuMemory
A move is considered tabu if any involved ID (added or deleted) is currently contained in the tabu memory.

J

JamesConstants - Interface in org.jamesframework.core.util
Global container defining constants used across the framework.
JamesRuntimeException - Exception in org.jamesframework.core.exceptions
Common super class of all runtime exceptions thrown by the James framework.
JamesRuntimeException() - Constructor for exception org.jamesframework.core.exceptions.JamesRuntimeException
Creates a new instance without detail message.
JamesRuntimeException(String) - Constructor for exception org.jamesframework.core.exceptions.JamesRuntimeException
Constructs an instance with the specified detail message.
JamesRuntimeException(Throwable) - Constructor for exception org.jamesframework.core.exceptions.JamesRuntimeException
Constructs an instance with the specified cause.
JamesRuntimeException(String, Throwable) - Constructor for exception org.jamesframework.core.exceptions.JamesRuntimeException
Constructs an instance with the specified detail message and cause.

L

LocalSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search
Local searches are searches that start from an initial solution and modify this solution in an attempt to improve it.
LocalSearch(Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.LocalSearch
Create a new local search to solve the given problem, with default name "LocalSearch".
LocalSearch(String, Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.LocalSearch
Create a new local search to solve the given problem, with a custom name.
LocalSearchFactory<SolutionType extends Solution> - Interface in org.jamesframework.core.factory
Factory used to create a local search given the problem to be solved.
LRSubsetSearch - Class in org.jamesframework.core.subset.algo
LR subset search is a greedy local search heuristic for subset selection.
LRSubsetSearch(SubsetProblem<?>, int, int) - Constructor for class org.jamesframework.core.subset.algo.LRSubsetSearch
Create an LR subset search, given the subset problem to solve and a value for \(L \ge 0\) and \(R \ge 0\), \(L \ne R\).
LRSubsetSearch(String, SubsetProblem<?>, int, int) - Constructor for class org.jamesframework.core.subset.algo.LRSubsetSearch
Create an LR subset search, given the subset problem to solve, a value for \(L \ge 0\) and \(R \ge 0\), \(L \ne R\), and a custom search name.

M

MaxRuntime - Class in org.jamesframework.core.search.stopcriteria
Stop criterion that limits runtime of a search run.
MaxRuntime(long, TimeUnit) - Constructor for class org.jamesframework.core.search.stopcriteria.MaxRuntime
Create a stop criterion to limit the runtime of a search run.
MaxSteps - Class in org.jamesframework.core.search.stopcriteria
Stop criterion that limits the number of steps of a search run.
MaxSteps(long) - Constructor for class org.jamesframework.core.search.stopcriteria.MaxSteps
Create a stop criterion to limit the number of steps of a search run.
MaxStepsWithoutImprovement - Class in org.jamesframework.core.search.stopcriteria
Stop criterion that limits the number of steps without finding any improvement during a search run.
MaxStepsWithoutImprovement(long) - Constructor for class org.jamesframework.core.search.stopcriteria.MaxStepsWithoutImprovement
Create a stop criterion to limit the number of steps without finding any improvement during a search run.
MaxTimeWithoutImprovement - Class in org.jamesframework.core.search.stopcriteria
Stop criterion that limits the time without finding any improvement during a search run.
MaxTimeWithoutImprovement(long, TimeUnit) - Constructor for class org.jamesframework.core.search.stopcriteria.MaxTimeWithoutImprovement
Create a stop criterion to limit the time without finding any improvement during a search run.
MetropolisSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo
Metropolis search (fixed temperature).
MetropolisSearch(Problem<SolutionType>, Neighbourhood<? super SolutionType>, double) - Constructor for class org.jamesframework.core.search.algo.MetropolisSearch
Creates a new Metropolis search, specifying the problem to solve, the applied neighbourhood and the temperature.
MetropolisSearch(String, Problem<SolutionType>, Neighbourhood<? super SolutionType>, double) - Constructor for class org.jamesframework.core.search.algo.MetropolisSearch
Creates a new Metropolis search, specifying the problem to solve, the applied neighbourhood and temperature, and a custom search name.
MetropolisSearchFactory<SolutionType extends Solution> - Interface in org.jamesframework.core.factory
Factory used to create a Metropolis search, given the problem to be solved, the applied neighbourhood and the desired temperature.
MinDelta - Class in org.jamesframework.core.search.stopcriteria
Stop criterion that imposes a minimum delta (amount of improvement in evaluation) when finding a new best solution during a search run, compared to the previous best known solution.
MinDelta(double) - Constructor for class org.jamesframework.core.search.stopcriteria.MinDelta
Create a stop criterion that imposes a minimum evaluation delta when finding a new best solution during a search run.
Move<SolutionType extends Solution> - Interface in org.jamesframework.core.search.neigh
Interface of a move that can be applied to a generic solution type.
MultiAdditionNeighbourhood - Class in org.jamesframework.core.subset.neigh.adv
A subset neighbourhood that generates moves which simultaneously add up to \(k\) items to the selection, where \(k\) is specified at construction (or unlimited).
MultiAdditionNeighbourhood() - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiAdditionNeighbourhood
Creates a multi addition neighbourhood that may add an unlimited number of IDs to the selection.
MultiAdditionNeighbourhood(int) - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiAdditionNeighbourhood
Creates a multi addition neighbourhood that may simultaneously add up to the specified number of IDs to the selection.
MultiAdditionNeighbourhood(int, int) - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiAdditionNeighbourhood
Creates a multi addition neighbourhood that may simultaneously add up to the specified number of IDs to the selection, taking into account that the given maximum subset size can not be exceeded.
MultiAdditionNeighbourhood(int, int, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiAdditionNeighbourhood
Creates a multi addition neighbourhood that may simultaneously add up to the specified number of IDs to the selection, taking into account that the given maximum subset size can not be exceeded and that the given set of fixed IDs are not allowed to be selected.
MultiDeletionNeighbourhood - Class in org.jamesframework.core.subset.neigh.adv
A subset neighbourhood that generates moves which simultaneously remove up to \(k\) items from the selection, where \(k\) is specified at construction (or unlimited).
MultiDeletionNeighbourhood() - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiDeletionNeighbourhood
Creates a multi deletion neighbourhood that may remove an unlimited number of IDs from the selection.
MultiDeletionNeighbourhood(int) - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiDeletionNeighbourhood
Creates a multi deletion neighbourhood that may simultaneously remove up to the specified number of IDs from the selection.
MultiDeletionNeighbourhood(int, int) - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiDeletionNeighbourhood
Creates a multi deletion neighbourhood that may simultaneously remove up to the specified number of IDs from the selection, taking into account that the subset size may not drop below the given minimum.
MultiDeletionNeighbourhood(int, int, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiDeletionNeighbourhood
Creates a multi deletion neighbourhood that may simultaneously remove up to the specified number of IDs from the selection, taking into account that the subset size may not drop below the given minimum and that the given set of fixed IDs are not allowed to be deselected.
MultiNeighbourhoodSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search
Abstract neighbourhood search that uses multiple neighbourhoods to modify the current solution.
MultiNeighbourhoodSearch(Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>) - Constructor for class org.jamesframework.core.search.MultiNeighbourhoodSearch
Create a new multi neighbourhood search, specifying the problem to be solved and the neighbourhoods used to modify the current solution.
MultiNeighbourhoodSearch(String, Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>) - Constructor for class org.jamesframework.core.search.MultiNeighbourhoodSearch
Create a new multi neighbourhood search, specifying the problem to be solved, the neighbourhoods used to modify the current solution, and a custom search name.
MultiSwapNeighbourhood - Class in org.jamesframework.core.subset.neigh.adv
A subset neighbourhood that generates moves performing up to \(k\) simultaneous swaps of selected and unselected IDs, where \(k\) is specified when creating the neighbourhood (or unlimited).
MultiSwapNeighbourhood() - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiSwapNeighbourhood
Creates a multi swap neighbourhood that may perform an unlimited number of swaps.
MultiSwapNeighbourhood(int) - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiSwapNeighbourhood
Creates a multi swap neighbourhood without fixed IDs, indicating the desired maximum number of (simultaneous) swaps performed by any generated move.
MultiSwapNeighbourhood(int, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.adv.MultiSwapNeighbourhood
Creates a multi swap neighbourhood with a given set of fixed IDs which are not allowed to be swapped.

N

Neighbourhood<SolutionType extends Solution> - Interface in org.jamesframework.core.search.neigh
Interface of a neighbourhood that generates moves to transform a given solution into a neighbouring solution.
NeighbourhoodSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search
A neighbourhood search is a specific kind of local search in which the current solution is repeatedly modified by applying moves, generated by one or more neighbourhoods, that transform this solution into a similar, neighbouring solution.
NeighbourhoodSearch(Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.NeighbourhoodSearch
Create a new neighbourhood search to solve the given problem, with default name "NeighbourhoodSearch".
NeighbourhoodSearch(String, Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.NeighbourhoodSearch
Create a new neighbourhood search to solve the given problem, with a custom name.
newBestSolution(Search<? extends SolutionType>, SolutionType, Evaluation, Validation) - Method in interface org.jamesframework.core.search.listeners.SearchListener
Fired when the search has found a new best solution.
newCurrentSolution(LocalSearch<? extends SolutionType>, SolutionType, Evaluation, Validation) - Method in interface org.jamesframework.core.search.listeners.SearchListener
Fired by local searches only, when a new current solution has been adopted.
next() - Method in interface org.jamesframework.core.search.algo.exh.SolutionIterator
Generate the next solution.
next() - Method in class org.jamesframework.core.subset.algo.exh.SubsetSolutionIterator
Generate the next subset solution.
next(Collection<T>) - Method in class org.jamesframework.core.util.SubsetIterator
Fill the given collection with the items from the next subset.
next() - Method in class org.jamesframework.core.util.SubsetIterator
Generate the next subset in a newly allocated LinkedHashSet.

O

Objective<SolutionType extends Solution,DataType> - Interface in org.jamesframework.core.problems.objectives
Interface of an objective function that evaluates solutions using underlying data.
org.jamesframework.core.exceptions - package org.jamesframework.core.exceptions
Custom James runtime exceptions.
org.jamesframework.core.factory - package org.jamesframework.core.factory
Miscellaneous factory interfaces.
org.jamesframework.core.problems - package org.jamesframework.core.problems
High-level problem specification.
org.jamesframework.core.problems.constraints - package org.jamesframework.core.problems.constraints
Constraint interfaces.
org.jamesframework.core.problems.constraints.validations - package org.jamesframework.core.problems.constraints.validations
Validation interfaces and predefined implementations.
org.jamesframework.core.problems.datatypes - package org.jamesframework.core.problems.datatypes
Predefined data types.
org.jamesframework.core.problems.objectives - package org.jamesframework.core.problems.objectives
Interfaces of objectives and produced evaluations.
org.jamesframework.core.problems.objectives.evaluations - package org.jamesframework.core.problems.objectives.evaluations
Evaluation interface and predefined implementations.
org.jamesframework.core.problems.sol - package org.jamesframework.core.problems.sol
Solution related components.
org.jamesframework.core.search - package org.jamesframework.core.search
High-level search templates.
org.jamesframework.core.search.algo - package org.jamesframework.core.search.algo
Algorithm implementations.
org.jamesframework.core.search.algo.exh - package org.jamesframework.core.search.algo.exh
Exhaustive search and components.
org.jamesframework.core.search.algo.tabu - package org.jamesframework.core.search.algo.tabu
Tabu search and components (including tabu memory specification).
org.jamesframework.core.search.algo.vns - package org.jamesframework.core.search.algo.vns
Variable neighbourhood searches and components.
org.jamesframework.core.search.cache - package org.jamesframework.core.search.cache
Caches used by searches for efficient move evaluation and validation.
org.jamesframework.core.search.listeners - package org.jamesframework.core.search.listeners
Search listeners.
org.jamesframework.core.search.neigh - package org.jamesframework.core.search.neigh
Neighbourhoods and components.
org.jamesframework.core.search.status - package org.jamesframework.core.search.status
Search status.
org.jamesframework.core.search.stopcriteria - package org.jamesframework.core.search.stopcriteria
Stop criteria.
org.jamesframework.core.subset - package org.jamesframework.core.subset
Predefined subset problem.
org.jamesframework.core.subset.algo - package org.jamesframework.core.subset.algo
Specific subset sampling algorithms.
org.jamesframework.core.subset.algo.exh - package org.jamesframework.core.subset.algo.exh
Exhaustive search components for subset selection.
org.jamesframework.core.subset.algo.tabu - package org.jamesframework.core.subset.algo.tabu
Tabu search components for subset selection.
org.jamesframework.core.subset.neigh - package org.jamesframework.core.subset.neigh
Subset selection neighbourhoods.
org.jamesframework.core.subset.neigh.adv - package org.jamesframework.core.subset.neigh.adv
Advanced subset selection neighbourhoods.
org.jamesframework.core.subset.neigh.moves - package org.jamesframework.core.subset.neigh.moves
Subset moves generated by the provided subset neighbourhoods.
org.jamesframework.core.subset.validations - package org.jamesframework.core.subset.validations
Subset validation objects.
org.jamesframework.core.util - package org.jamesframework.core.util
General utilities.

P

ParallelTempering<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo
The parallel tempering algorithm uses several Metropolis search replicas with different temperatures in a given range, where good solutions are pushed towards cool replicas for the sake of convergence, while bad solutions are pushed towards hot replicas in an attempt to find further improvements.
ParallelTempering(Problem<SolutionType>, Neighbourhood<? super SolutionType>, int, double, double) - Constructor for class org.jamesframework.core.search.algo.ParallelTempering
Creates a new parallel tempering algorithm, specifying the problem to solve, the neighbourhood used in each replica, the number of replicas, and the minimum and maximum temperature.
ParallelTempering(Problem<SolutionType>, Neighbourhood<? super SolutionType>, int, double, double, MetropolisSearchFactory<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.ParallelTempering
Creates a new parallel tempering algorithm, specifying the problem to solve, the neighbourhood used in each replica, the number of replicas, the minimum and maximum temperature, and a custom Metropolis search factory.
ParallelTempering(String, Problem<SolutionType>, Neighbourhood<? super SolutionType>, int, double, double, MetropolisSearchFactory<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.ParallelTempering
Creates a new parallel tempering algorithm, specifying the problem to solve, the neighbourhood used in each replica, the number of replicas, the minimum and maximum temperature, a custom search name, and a custom Metropolis search factory.
PASSED - Static variable in class org.jamesframework.core.problems.constraints.validations.SimplePenalizingValidation
Constant simple penalizing validation indicating that the validation passed successfully (SimplePenalizingValidation.passed() returns true and no penalty is assigned).
passed() - Method in class org.jamesframework.core.problems.constraints.validations.SimplePenalizingValidation
Get the boolean value specified at construction, indicating whether the corresponding solution passed validation.
PASSED - Static variable in class org.jamesframework.core.problems.constraints.validations.SimpleValidation
Constant simple validation indicating that the validation passed successfully (SimpleValidation.passed() returns true).
passed() - Method in class org.jamesframework.core.problems.constraints.validations.SimpleValidation
Get the boolean value specified at construction, indicating whether the corresponding solution passed validation.
passed() - Method in class org.jamesframework.core.problems.constraints.validations.UnanimousValidation
A unanimous validation passed if and only if all contained validations passed.
passed() - Method in interface org.jamesframework.core.problems.constraints.validations.Validation
Check whether the corresponding solution passed validation.
passed(boolean) - Method in class org.jamesframework.core.subset.validations.SubsetValidation
Check whether the subset solution passed validation.
passed() - Method in class org.jamesframework.core.subset.validations.SubsetValidation
Check whether the subset solution passed validation, taking into account both its size and the general mandatory constraint validations (if not null).
PenalizedEvaluation - Class in org.jamesframework.core.problems.objectives.evaluations
A penalized evaluation consists of an original evaluation and a number of penalizing validations.
PenalizedEvaluation(Evaluation, boolean) - Constructor for class org.jamesframework.core.problems.objectives.evaluations.PenalizedEvaluation
Create a new penalized evaluation, given the original evaluation.
PenalizingConstraint<SolutionType extends Solution,DataType> - Interface in org.jamesframework.core.problems.constraints
Interface of a penalizing constraint that assigns a penalty to a solution's evaluation if it does not satisfy the constraint.
PenalizingValidation - Interface in org.jamesframework.core.problems.constraints.validations
Interface of a validation produced by a penalizing constraint.
PipedLocalSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo
A piped local search consists of a composition of other local search \(S_1, ..., S_n\).
PipedLocalSearch(Problem<SolutionType>, List<LocalSearch<SolutionType>>) - Constructor for class org.jamesframework.core.search.algo.PipedLocalSearch
Creates a new piped local search, specifying the problem to solve and a list of local searches to be executed in the pipeline, in the given order.
PipedLocalSearch(String, Problem<SolutionType>, List<LocalSearch<SolutionType>>) - Constructor for class org.jamesframework.core.search.algo.PipedLocalSearch
Creates a new piped local search, specifying the problem to solve, a list of local searches to be executed in the pipeline in the given order, and a custom search name.
Problem<SolutionType extends Solution> - Interface in org.jamesframework.core.problems
Interface of a problem with a generic solution type.

R

RandomDescent<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo
Basic random descent algorithm.
RandomDescent(Problem<SolutionType>, Neighbourhood<? super SolutionType>) - Constructor for class org.jamesframework.core.search.algo.RandomDescent
Creates a new random descent search, specifying the problem to solve and the neighbourhood used to modify the current solution.
RandomDescent(String, Problem<SolutionType>, Neighbourhood<? super SolutionType>) - Constructor for class org.jamesframework.core.search.algo.RandomDescent
Creates a new random descent search, specifying the problem to solve, the neighbourhood used to modify the current solution, and a custom search name.
RandomSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo
The random search algorithm iteratively samples a random solution and checks whether a new best solution has been found, in every search step.
RandomSearch(Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.RandomSearch
Create a random search, given the problem to solve.
RandomSearch(String, Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.RandomSearch
Create a random search, given the problem to solve and a custom search name.
RandomSolutionGenerator<SolutionType extends Solution,DataType> - Interface in org.jamesframework.core.problems.sol
A random solution generator creates random solutions of a specific type, given some data.
ReducedVariableNeighbourhoodSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo.vns
Reduced variable neighbourhood search (RVNS) algorithm.
ReducedVariableNeighbourhoodSearch(Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>) - Constructor for class org.jamesframework.core.search.algo.vns.ReducedVariableNeighbourhoodSearch
Creates a new reduced variable neighbourhood search, specifying the problem to solve and the neighbourhoods used to modify the current solution.
ReducedVariableNeighbourhoodSearch(String, Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>) - Constructor for class org.jamesframework.core.search.algo.vns.ReducedVariableNeighbourhoodSearch
Creates a new reduced variable neighbourhood search, specifying the problem to solve, the neighbourhoods used to modify the current solution, and a custom search name.
ReducedVariableNeighbourhoodSearch(String, Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>, boolean) - Constructor for class org.jamesframework.core.search.algo.vns.ReducedVariableNeighbourhoodSearch
Creates a new reduced variable neighbourhood search, specifying the problem to solve, the neighbourhoods used to modify the current solution, and a custom search name; also, it is indicated whether neighbourhoods should be applied cyclically or not (by default, they are).
registerVisitedSolution(SolutionType, Move<? super SolutionType>) - Method in class org.jamesframework.core.search.algo.tabu.FullTabuMemory
A newly visited solution is registered by storing a deep copy of this solution in the full tabu memory.
registerVisitedSolution(SolutionType, Move<? super SolutionType>) - Method in interface org.jamesframework.core.search.algo.tabu.TabuMemory
Register a newly visited solution in the tabu memory.
registerVisitedSolution(SubsetSolution, Move<? super SubsetSolution>) - Method in class org.jamesframework.core.subset.algo.tabu.IDBasedSubsetTabuMemory
Registers an applied subset move by storing all involved IDs (added or deleted) in the tabu memory.
reject(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Reject the given move.
remove(StopCriterion) - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Remove a stop criterion.
remove() - Method in class org.jamesframework.core.util.FastLimitedQueue
Retrieves and removes the head of the queue, or returns null if the queue is empty.
removeMandatoryConstraint(Constraint<? super SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.GenericProblem
Remove a mandatory constraint.
removePenalizingConstraint(PenalizingConstraint<? super SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.GenericProblem
Remove a penalizing constraint.
removeSearch(Search<SolutionType>) - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
Remove the given search.
removeSearchListener(SearchListener<? super SolutionType>) - Method in class org.jamesframework.core.search.Search
Remove the given search listener.
removeStopCriterion(StopCriterion) - Method in class org.jamesframework.core.search.Search
Removes a stop criterion.
RouletteSelector - Class in org.jamesframework.core.util
Simulates selection based on a roulette wheel where all items have a weight expressing the size of their section of the wheel.
RouletteSelector() - Constructor for class org.jamesframework.core.util.RouletteSelector
 
run() - Method in class org.jamesframework.core.search.Search
Equivalent to calling Search.start().

S

Search<SolutionType extends Solution> - Class in org.jamesframework.core.search
General abstract search used to solve a problem with the specified solution type.
Search(Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.Search
Creates a search to solve the given problem, with default search name "Search".
Search(String, Problem<SolutionType>) - Constructor for class org.jamesframework.core.search.Search
Creates a search to solve the given problem, with a custom search name.
searchDisposed() - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
When disposing a basic parallel search, each of the searches that have been added to the parallel algorithm are disposed and the thread pool used for concurrent search execution is released.
searchDisposed() - Method in class org.jamesframework.core.search.algo.ParallelTempering
When disposing a parallel tempering search, it will dispose each contained Metropolis replica and will shut down the thread pool used for concurrent execution of replicas.
searchDisposed() - Method in class org.jamesframework.core.search.algo.PipedLocalSearch
When disposing a piped local search, all searches in the pipeline are also disposed.
searchDisposed() - Method in class org.jamesframework.core.search.Search
This method is called when a search is disposed, immediately before the search status is updated.
SearchException - Exception in org.jamesframework.core.exceptions
Exception thrown during search, whenever a fatal error occurs.
SearchException() - Constructor for exception org.jamesframework.core.exceptions.SearchException
Creates a new instance without detail message.
SearchException(String) - Constructor for exception org.jamesframework.core.exceptions.SearchException
Constructs an instance with the specified detail message.
SearchException(Throwable) - Constructor for exception org.jamesframework.core.exceptions.SearchException
Constructs an instance with the specified cause.
SearchException(String, Throwable) - Constructor for exception org.jamesframework.core.exceptions.SearchException
Constructs an instance with the specified detail message and cause.
SearchFactory<SolutionType extends Solution> - Interface in org.jamesframework.core.factory
Factory used to create a search given the problem to be solved.
SearchListener<SolutionType extends Solution> - Interface in org.jamesframework.core.search.listeners
Interface of a search listener that can be attached to any search with the specified solution type (or a subtype).
searchShouldStop(Search<?>) - Method in class org.jamesframework.core.search.stopcriteria.MaxRuntime
Checks whether the maximum runtime has been reached for the given search.
searchShouldStop(Search<?>) - Method in class org.jamesframework.core.search.stopcriteria.MaxSteps
Checks whether the maximum number of steps has been reached for the given search.
searchShouldStop(Search<?>) - Method in class org.jamesframework.core.search.stopcriteria.MaxStepsWithoutImprovement
Checks whether the maximum number of steps without finding improvement has been reached for the given search.
searchShouldStop(Search<?>) - Method in class org.jamesframework.core.search.stopcriteria.MaxTimeWithoutImprovement
Checks whether the maximum time without finding improvements has been reached for the given search.
searchShouldStop(Search<?>) - Method in class org.jamesframework.core.search.stopcriteria.MinDelta
Checks whether the minimum delta observed during the current run of the given search is still above the required minimum.
searchShouldStop(Search<?>) - Method in interface org.jamesframework.core.search.stopcriteria.StopCriterion
Checks the stop condition for a given search.
searchStarted(Search<? extends SolutionType>) - Method in interface org.jamesframework.core.search.listeners.SearchListener
Fired when the search has started.
searchStarted() - Method in class org.jamesframework.core.search.Search
This method is called when a search run is started.
SearchStatus - Enum in org.jamesframework.core.search.status
Enumeration of possible search statuses.
searchStep() - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
This algorithm consists of a single search step only, in which (1) the contained subsearches are executed in parallel, (2) the main search waits until they terminate and (3) the main search stops.
searchStep() - Method in class org.jamesframework.core.search.algo.exh.ExhaustiveSearch
In every search step it is verified whether there are more solution to be generated using the solution iterator.
searchStep() - Method in class org.jamesframework.core.search.algo.MetropolisSearch
Creates a random neighbour of the current solution and accepts it as the new current solution if it is valid and either improves the current solution or \[ e^{\frac{\Delta E}{T}} > R(0,1) \] where \(\Delta E\) is the difference between the evaluation of the neighbour and that of the current solution, \(T\) is the temperature, and \(R(0,1)\) is a random number in the interval \([0,1]\) sampled using the search's dedicated random generator.
searchStep() - Method in class org.jamesframework.core.search.algo.ParallelTempering
In each search step, every replica performs several steps after which solutions of adjacent replicas may be swapped.
searchStep() - Method in class org.jamesframework.core.search.algo.PipedLocalSearch
Executes all local searches in the pipeline, where the best solution of the previous search is used as initial solution for the next search.
searchStep() - Method in class org.jamesframework.core.search.algo.RandomDescent
Creates a random neighbour of the current solution and accepts it if it improves over the current solution.
searchStep() - Method in class org.jamesframework.core.search.algo.RandomSearch
In every search step, a random solution is created and the best solution might be updated accordingly.
searchStep() - Method in class org.jamesframework.core.search.algo.SteepestDescent
Investigates all neighbours of the current solution and adopts the best one as the new current solution, if it is an improvement.
searchStep() - Method in class org.jamesframework.core.search.algo.tabu.TabuSearch
In every step, all neighbours of the current solution are inspected and the best valid, non tabu neighbour is adopted as the new current solution, if any.
searchStep() - Method in class org.jamesframework.core.search.algo.vns.ReducedVariableNeighbourhoodSearch
Samples a random neighbour of the current solution, using the k-th neighbourhood, and accepts it as the new current solution if it is an improvement.
searchStep() - Method in class org.jamesframework.core.search.algo.vns.VariableNeighbourhoodDescent
Investigates all neighbours of the current solution, using the k-th neighbourhood, and adopts the best one as the new current solution, if it is an improvement.
searchStep() - Method in class org.jamesframework.core.search.algo.vns.VariableNeighbourhoodSearch
Performs a step of VNS.
searchStep() - Method in class org.jamesframework.core.search.Search
This method is iteratively called while the search is running and should be implemented in every specific search according to the corresponding search strategy.
searchStep() - Method in class org.jamesframework.core.subset.algo.LRSubsetSearch
In every search step, the \(L\) best additions and \(R\) best deletions of a single item are performed.
searchStopped(Search<? extends SolutionType>) - Method in interface org.jamesframework.core.search.listeners.SearchListener
Fired when the search has stopped.
searchStopped() - Method in class org.jamesframework.core.search.Search
This method is called when a search run has completed.
select(int) - Method in class org.jamesframework.core.subset.SubsetSolution
Select the given ID.
select(List<E>, List<Double>, Random) - Static method in class org.jamesframework.core.util.RouletteSelector
Select an item from a given list by roulette selection, where each item has a weight expressing the size of its section of the roulette wheel.
selectAll(Collection<Integer>) - Method in class org.jamesframework.core.subset.SubsetSolution
Select all IDs contained in the given collection.
selectAll() - Method in class org.jamesframework.core.subset.SubsetSolution
Select all IDs.
setCurrentSolution(SolutionType) - Method in class org.jamesframework.core.search.algo.ParallelTempering
Set a custom current solution, of which a copy is set as the current solution in each replica.
setCurrentSolution(SolutionType) - Method in class org.jamesframework.core.search.algo.tabu.TabuSearch
Updates the tabu memory when a custom current/initial solution is set.
setCurrentSolution(SolutionType) - Method in class org.jamesframework.core.search.LocalSearch
Sets the current solution prior to execution or in between search runs.
setCurrentSolution(SolutionType, Evaluation, Validation) - Method in class org.jamesframework.core.search.LocalSearch
Sets the current solution given that it has already been evaluated and validated.
setCycleNeighbourhoods(boolean) - Method in class org.jamesframework.core.search.algo.vns.ReducedVariableNeighbourhoodSearch
Indicates whether neighbourhoods should be applied cyclically or not, when all neighbourhoods have been successively applied without finding any improvements.
setData(DataType) - Method in class org.jamesframework.core.problems.GenericProblem
Set new underlying data.
setData(DataType) - Method in class org.jamesframework.core.subset.SubsetProblem
Set new data.
setEvaluatedMoveCache(EvaluatedMoveCache) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Sets a custom evaluated move cache, which is used to avoid repeated evaluation or validation of the same move from the same current solution.
setLocalSearchFactory(LocalSearchFactory<SolutionType>) - Method in class org.jamesframework.core.search.algo.vns.VariableNeighbourhoodSearch
Set a custom factory to create instances of the local search algorithm to be applied to modify solutions obtained after shaking.
setMaxSubsetSize(int) - Method in class org.jamesframework.core.subset.SubsetProblem
Set the maximum subset size.
setMinSubsetSize(int) - Method in class org.jamesframework.core.subset.SubsetProblem
Set the minimum subset size.
setNeighbourhood(Neighbourhood<? super SolutionType>) - Method in class org.jamesframework.core.search.algo.ParallelTempering
Set the same neighbourhood for each replica.
setNeighbourhood(Neighbourhood<? super SolutionType>) - Method in class org.jamesframework.core.search.SingleNeighbourhoodSearch
Sets the neighbourhood used to modify the current solution.
setNeighbourhoods(List<? extends Neighbourhood<? super SolutionType>>) - Method in class org.jamesframework.core.search.MultiNeighbourhoodSearch
Sets the list of neighbourhoods used to modify the current solution.
setObjective(Objective<? super SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.GenericProblem
Set the objective function.
setPeriod(long, TimeUnit) - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Set the period between consecutive stop criterion checks.
setRandom(Random) - Method in class org.jamesframework.core.search.Search
Set custom random generator.
setRandomSolutionGenerator(RandomSolutionGenerator<? extends SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.GenericProblem
Set random solution generator.
setReplicaSteps(long) - Method in class org.jamesframework.core.search.algo.ParallelTempering
Sets the number of steps performed by each replica in every iteration of the global parallel tempering algorithm, before considering solution swaps.
setStopCriterionCheckPeriod(long, TimeUnit) - Method in class org.jamesframework.core.search.Search
Instructs the search to check its stop criteria at regular intervals separated by the given period.
setTabuMemory(TabuMemory<SolutionType>) - Method in class org.jamesframework.core.search.algo.tabu.TabuSearch
Set the tabu memory.
setTemperature(double) - Method in class org.jamesframework.core.search.algo.MetropolisSearch
Set the temperature (\(T > 0\)).
SetUtilities - Class in org.jamesframework.core.util
Contains some utility functions for manipulating sets.
SetUtilities() - Constructor for class org.jamesframework.core.util.SetUtilities
 
SimpleEvaluation - Class in org.jamesframework.core.problems.objectives.evaluations
A simple evaluation object that wraps a double value.
SimpleEvaluation(double) - Constructor for class org.jamesframework.core.problems.objectives.evaluations.SimpleEvaluation
Create a simple evaluation with given double value.
SimplePenalizingValidation - Class in org.jamesframework.core.problems.constraints.validations
A simple penalizing validation object that wraps a boolean value, indicating whether the corresponding solution passed validation, and a double value, indicating the assigned penalty if the solution did not pass validation.
SimplePenalizingValidation(boolean, double) - Constructor for class org.jamesframework.core.problems.constraints.validations.SimplePenalizingValidation
Create a simple penalizing validation with a given boolean value, indicating whether the corresponding solution passed validation, and an assigned penalty.
SimpleValidation - Class in org.jamesframework.core.problems.constraints.validations
A simple validation object that merely wraps a boolean value indicating whether the corresponding solution passed validation.
SimpleValidation(boolean) - Constructor for class org.jamesframework.core.problems.constraints.validations.SimpleValidation
Create a simple validation with a given boolean value, indicating whether the corresponding solution passed validation.
SingleAdditionNeighbourhood - Class in org.jamesframework.core.subset.neigh
A subset neighbourhood that generates addition moves only (see AdditionMove).
SingleAdditionNeighbourhood() - Constructor for class org.jamesframework.core.subset.neigh.SingleAdditionNeighbourhood
Create a single addition neighbourhood without maximum subset size.
SingleAdditionNeighbourhood(int) - Constructor for class org.jamesframework.core.subset.neigh.SingleAdditionNeighbourhood
Create a single addition neighbourhood with a given limit on the number of selected items (maximum subset size).
SingleAdditionNeighbourhood(int, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.SingleAdditionNeighbourhood
Create a single addition neighbourhood with a limit on the number of selected items (subset size) and a given set of fixed IDs which are not allowed to be selected.
SingleDeletionNeighbourhood - Class in org.jamesframework.core.subset.neigh
A subset neighbourhood that generates deletion moves only (see DeletionMove).
SingleDeletionNeighbourhood() - Constructor for class org.jamesframework.core.subset.neigh.SingleDeletionNeighbourhood
Create a single deletion neighbourhood without minimum subset size.
SingleDeletionNeighbourhood(int) - Constructor for class org.jamesframework.core.subset.neigh.SingleDeletionNeighbourhood
Create a single deletion neighbourhood with a given minimum subset size.
SingleDeletionNeighbourhood(int, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.SingleDeletionNeighbourhood
Create a single deletion neighbourhood with a given minimum subset size and a set of fixed IDs which are not allowed to be deselected.
SingleEvaluatedMoveCache - Class in org.jamesframework.core.search.cache
A single move cache only stores the last evaluation and validation that were offered to the cache.
SingleEvaluatedMoveCache() - Constructor for class org.jamesframework.core.search.cache.SingleEvaluatedMoveCache
Create an empty single evaluated move cache.
SingleNeighbourhoodSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search
Abstract neighbourhood search that uses a single neighbourhood to modify the current solution.
SingleNeighbourhoodSearch(Problem<SolutionType>, Neighbourhood<? super SolutionType>) - Constructor for class org.jamesframework.core.search.SingleNeighbourhoodSearch
Create a new single neighbourhood search, specifying the problem to be solved and the neighbourhood used to modify the current solution.
SingleNeighbourhoodSearch(String, Problem<SolutionType>, Neighbourhood<? super SolutionType>) - Constructor for class org.jamesframework.core.search.SingleNeighbourhoodSearch
Create a new single neighbourhood search, specifying the problem to be solved, the neighbourhood used to modify the current solution, and a custom search name.
SinglePerturbationNeighbourhood - Class in org.jamesframework.core.subset.neigh
A subset neighbourhood that generates swap moves (see SwapMove), addition moves (see AdditionMove) and deletion moves (see DeletionMove).
SinglePerturbationNeighbourhood() - Constructor for class org.jamesframework.core.subset.neigh.SinglePerturbationNeighbourhood
Creates a new single perturbation neighbourhood without size limits.
SinglePerturbationNeighbourhood(int, int) - Constructor for class org.jamesframework.core.subset.neigh.SinglePerturbationNeighbourhood
Creates a new single perturbation neighbourhood with given minimum and maximum subset size.
SinglePerturbationNeighbourhood(int, int, Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.SinglePerturbationNeighbourhood
Creates a new single perturbation neighbourhood with given minimum and maximum subset size, providing a set of fixed IDs which are not allowed to be added, deleted nor swapped.
SingleSwapNeighbourhood - Class in org.jamesframework.core.subset.neigh
A subset neighbourhood that generates swap moves only (see SwapMove).
SingleSwapNeighbourhood() - Constructor for class org.jamesframework.core.subset.neigh.SingleSwapNeighbourhood
Creates a basic single swap neighbourhood.
SingleSwapNeighbourhood(Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.SingleSwapNeighbourhood
Creates a single swap neighbourhood with a given set of fixed IDs which are not allowed to be swapped.
size() - Method in class org.jamesframework.core.util.FastLimitedQueue
Get the number of items contained in the queue.
sizeLimit() - Method in class org.jamesframework.core.util.FastLimitedQueue
Get the size limit of the queue.
Solution - Class in org.jamesframework.core.problems.sol
Represents an abstract solution.
Solution() - Constructor for class org.jamesframework.core.problems.sol.Solution
 
SolutionCopyException - Exception in org.jamesframework.core.exceptions
Exception thrown when failing to create a deep copy of a solution.
SolutionCopyException() - Constructor for exception org.jamesframework.core.exceptions.SolutionCopyException
Creates a new instance without detail message.
SolutionCopyException(String) - Constructor for exception org.jamesframework.core.exceptions.SolutionCopyException
Constructs an instance with the specified detail message.
SolutionCopyException(Throwable) - Constructor for exception org.jamesframework.core.exceptions.SolutionCopyException
Constructs an instance with the specified cause.
SolutionCopyException(String, Throwable) - Constructor for exception org.jamesframework.core.exceptions.SolutionCopyException
Constructs an instance with the specified detail message and cause.
SolutionIterator<SolutionType extends Solution> - Interface in org.jamesframework.core.search.algo.exh
Interface of a generic solution iterator that iterates through a collection of solutions.
SolutionModificationException - Exception in org.jamesframework.core.exceptions
Exception thrown when trying to apply an invalid modification to a solution.
SolutionModificationException(Solution) - Constructor for exception org.jamesframework.core.exceptions.SolutionModificationException
Creates a new instance without detail message.
SolutionModificationException(String, Solution) - Constructor for exception org.jamesframework.core.exceptions.SolutionModificationException
Constructs an instance with the specified detail message.
SolutionModificationException(Throwable, Solution) - Constructor for exception org.jamesframework.core.exceptions.SolutionModificationException
Constructs an instance with the specified cause.
SolutionModificationException(String, Throwable, Solution) - Constructor for exception org.jamesframework.core.exceptions.SolutionModificationException
Constructs an instance with the specified detail message and cause.
start() - Method in class org.jamesframework.core.search.algo.PipedLocalSearch
General start method is overriden so that search is automatically disposed when Search.start() returns.
start() - Method in class org.jamesframework.core.search.Search
Starts a search run and returns when this run has finished.
startChecking() - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Start checking the stop criteria, in a separate background thread.
statusChanged(Search<? extends SolutionType>, SearchStatus) - Method in interface org.jamesframework.core.search.listeners.SearchListener
Fired when the search enters a new status.
SteepestDescent<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo
Steepest descent algorithm, also referred to as hill climbing.
SteepestDescent(Problem<SolutionType>, Neighbourhood<? super SolutionType>) - Constructor for class org.jamesframework.core.search.algo.SteepestDescent
Creates a new steepest descent search, specifying the problem to solve and the neighbourhood used to modify the current solution.
SteepestDescent(String, Problem<SolutionType>, Neighbourhood<? super SolutionType>) - Constructor for class org.jamesframework.core.search.algo.SteepestDescent
Creates a new steepest descent search, specifying the problem to solve, the neighbourhood used to modify the current solution, and a custom search name.
stepCompleted(Search<? extends SolutionType>, long) - Method in interface org.jamesframework.core.search.listeners.SearchListener
Fired when the search has completed a step.
stop() - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
When requesting to stop a basic parallel search, this request is propagated to each contained search.
stop() - Method in class org.jamesframework.core.search.algo.PipedLocalSearch
When requesting to stop a piped local search, this request is propagated to each search in the pipeline.
stop() - Method in class org.jamesframework.core.search.Search
Requests the search to stop.
stopChecking() - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Instructs the stop criterion checker to stop checking.
StopCriterion - Interface in org.jamesframework.core.search.stopcriteria
Interface of a stop criterion that may be attached to a search to terminate it when a certain condition is met.
StopCriterionChecker - Class in org.jamesframework.core.search.stopcriteria
A stop criterion checker is responsible for checking the stop criteria of a given search, while this search is running.
StopCriterionChecker(Search<?>) - Constructor for class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Create a stop criterion checker dedicated to checking the stop criteria of the given search.
stopCriterionSatisfied() - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Check whether at least one stop criterion is satisfied.
SubsetIterator<T> - Class in org.jamesframework.core.util
A subset iterator generates all possible subsets of a given set, within the imposed size range.
SubsetIterator(Set<T>, int, int) - Constructor for class org.jamesframework.core.util.SubsetIterator
Create a subset iterator that generates all subsets of the given set, within the imposed size range.
SubsetIterator(Set<T>, int) - Constructor for class org.jamesframework.core.util.SubsetIterator
Create a subset iterator that generates all subsets of the given set, with a fixed size.
SubsetMove - Interface in org.jamesframework.core.subset.neigh.moves
General interface of a subset move that adds a number of IDs to the selection and/or removes a number of IDs.
SubsetNeighbourhood - Class in org.jamesframework.core.subset.neigh
Abstract subset neighbourhood.
SubsetNeighbourhood(Set<Integer>) - Constructor for class org.jamesframework.core.subset.neigh.SubsetNeighbourhood
Initialize abstract subset neighbourhood with a given set of fixed IDs that are not allowed to be selected or deselected.
SubsetProblem<DataType extends IntegerIdentifiedData> - Class in org.jamesframework.core.subset
High-level subset problem consisting of data, an objective and possibly some constraints (see GenericProblem).
SubsetProblem(DataType, Objective<? super SubsetSolution, ? super DataType>, int, int, Comparator<Integer>) - Constructor for class org.jamesframework.core.subset.SubsetProblem
Creates a new subset problem with given data, objective and minimum/maximum subset size.
SubsetProblem(DataType, Objective<? super SubsetSolution, ? super DataType>, int, int, boolean) - Constructor for class org.jamesframework.core.subset.SubsetProblem
Creates a new subset problem with given data, objective and minimum/maximum subset size.
SubsetProblem(DataType, Objective<? super SubsetSolution, ? super DataType>, int, int) - Constructor for class org.jamesframework.core.subset.SubsetProblem
Creates a new subset problem with given data, objective and minimum/maximum subset size.
SubsetProblem(DataType, Objective<? super SubsetSolution, ? super DataType>, int) - Constructor for class org.jamesframework.core.subset.SubsetProblem
Creates a subset problem with fixed subset size.
SubsetProblem(DataType, Objective<? super SubsetSolution, ? super DataType>) - Constructor for class org.jamesframework.core.subset.SubsetProblem
Creates a subset problem without subset size limits.
SubsetSolution - Class in org.jamesframework.core.subset
High-level subset solution modeled in terms of IDs of selected items.
SubsetSolution(Set<Integer>) - Constructor for class org.jamesframework.core.subset.SubsetSolution
Creates a new subset solution given the set of all IDs, each corresponding to an underlying entity, from which a subset is to be selected.
SubsetSolution(Set<Integer>, Set<Integer>) - Constructor for class org.jamesframework.core.subset.SubsetSolution
Creates a new subset solution given the set of all IDs, and the set of currently selected IDs.
SubsetSolution(Set<Integer>, boolean) - Constructor for class org.jamesframework.core.subset.SubsetSolution
Creates a new subset solution given the set of all IDs, each corresponding to an underlying entity, from which a subset is to be selected.
SubsetSolution(Set<Integer>, Set<Integer>, boolean) - Constructor for class org.jamesframework.core.subset.SubsetSolution
Creates a new subset solution given the set of all IDs, and the set of currently selected IDs.
SubsetSolution(Set<Integer>, Comparator<Integer>) - Constructor for class org.jamesframework.core.subset.SubsetSolution
Creates a new subset solution given the set of all IDs, each corresponding to an underlying entity, from which a subset is to be selected.
SubsetSolution(Set<Integer>, Set<Integer>, Comparator<Integer>) - Constructor for class org.jamesframework.core.subset.SubsetSolution
Creates a new subset solution given the set of all IDs, and the set of currently selected IDs.
SubsetSolution(SubsetSolution) - Constructor for class org.jamesframework.core.subset.SubsetSolution
Copy constructor.
SubsetSolutionIterator - Class in org.jamesframework.core.subset.algo.exh
A subset solution iterator generates all possible subsets within a given size range, given a set of IDs from which to select.
SubsetSolutionIterator(Set<Integer>, int, int) - Constructor for class org.jamesframework.core.subset.algo.exh.SubsetSolutionIterator
Create a subset solution iterator that generates all subsets within the given size range, sampled from the given set of IDs.
SubsetSolutionIterator(Set<Integer>, int) - Constructor for class org.jamesframework.core.subset.algo.exh.SubsetSolutionIterator
Create a subset solution iterator that generates all subsets with a fixed size, sampled from the given set of IDs.
SubsetValidation - Class in org.jamesframework.core.subset.validations
Represents a validation of a subset solution.
SubsetValidation(boolean, Validation) - Constructor for class org.jamesframework.core.subset.validations.SubsetValidation
Create a subset validation.
SwapMove - Class in org.jamesframework.core.subset.neigh.moves
Simple subset move that removes a single ID from the current selection and replaces it with a new ID which was previously not selected.
SwapMove(int, int) - Constructor for class org.jamesframework.core.subset.neigh.moves.SwapMove
Creates a new swap move with specified IDs to add to and remove from the current selection when being applied to a given subset solution.

T

TabuMemory<SolutionType extends Solution> - Interface in org.jamesframework.core.search.algo.tabu
Interface of tabu memory which is used by tabu search and keeps track of recently visited solutions, properties of those solutions and/or recent modifications made to the current solution.
TabuSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo.tabu
Tabu search algorithm.
TabuSearch(Problem<SolutionType>, Neighbourhood<? super SolutionType>, TabuMemory<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.tabu.TabuSearch
Creates a new tabu search, specifying the problem to solve, the neighbourhood used to modify the current solution and the applied tabu memory.
TabuSearch(String, Problem<SolutionType>, Neighbourhood<? super SolutionType>, TabuMemory<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.tabu.TabuSearch
Creates a new tabu search, specifying the problem to solve, the neighbourhood used to modify the current solution, the applied tabu memory and a custom search name.
toString() - Method in exception org.jamesframework.core.exceptions.SolutionModificationException
Extend string representation to include solution that was being modified.
toString() - Method in class org.jamesframework.core.problems.constraints.validations.SimplePenalizingValidation
Get a string representation of the validation object.
toString() - Method in class org.jamesframework.core.problems.constraints.validations.SimpleValidation
Get a string representation of the validation object.
toString() - Method in class org.jamesframework.core.problems.constraints.validations.UnanimousValidation
Get a string representation of the validation object.
toString() - Method in class org.jamesframework.core.problems.objectives.evaluations.PenalizedEvaluation
Get a string representation that contains both the penalized and unpenalized evaluation, where the latter is only included if penalties have actually been assigned.
toString() - Method in class org.jamesframework.core.problems.objectives.evaluations.SimpleEvaluation
Get a string representation of the assigned value.
toString() - Method in class org.jamesframework.core.search.Search
Returns a string representation of the search, formatted as "%name(%id)".
toString() - Method in class org.jamesframework.core.search.stopcriteria.MaxRuntime
 
toString() - Method in class org.jamesframework.core.search.stopcriteria.MaxSteps
 
toString() - Method in class org.jamesframework.core.search.stopcriteria.MaxStepsWithoutImprovement
 
toString() - Method in class org.jamesframework.core.search.stopcriteria.MaxTimeWithoutImprovement
 
toString() - Method in class org.jamesframework.core.search.stopcriteria.MinDelta
 
toString() - Method in class org.jamesframework.core.subset.SubsetSolution
Creates a formatted string containing the selected IDs.
toString() - Method in class org.jamesframework.core.subset.validations.SubsetValidation
Get a string representation of the validation object.

U

UnanimousValidation - Class in org.jamesframework.core.problems.constraints.validations
A unanimous validation object is used to combine validations produced by a number of constraints.
UnanimousValidation() - Constructor for class org.jamesframework.core.problems.constraints.validations.UnanimousValidation
Create an empty unanimous validation object.
undo(SolutionType) - Method in interface org.jamesframework.core.search.neigh.Move
Undo this move after it has been applied to the given solution.
undo(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.moves.AdditionMove
Undo this addition move after it has been successfully applied to the given subset solution, by removing the newly added ID from the selection.
undo(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.moves.DeletionMove
Undo this deletion move after it has been successfully applied to the given subset solution, by re-adding the deleted ID to the selection.
undo(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.moves.GeneralSubsetMove
Undo this move after it has been successfully applied to the given subset solution, by removing all added IDs and adding all removed IDs.
undo(SubsetSolution) - Method in class org.jamesframework.core.subset.neigh.moves.SwapMove
Undo this swap move after it has been successfully applied to the given subset solution, by removing the newly added ID and re-adding the deleted ID.
updateBestSolution(SolutionType) - Method in class org.jamesframework.core.search.Search
Checks whether a new best solution has been found and updates it accordingly.
updateBestSolution(SolutionType, Evaluation, Validation) - Method in class org.jamesframework.core.search.Search
Checks whether a new best solution has been found and updates it accordingly, given that the solution has already been evaluated and validated.
updateCurrentAndBestSolution(SolutionType) - Method in class org.jamesframework.core.search.LocalSearch
Update the current and best solution during search.
updateCurrentAndBestSolution(SolutionType, Evaluation, Validation) - Method in class org.jamesframework.core.search.LocalSearch
Update the current and best solution during search, given that the respective solution has already been evaluated and validated.
updateCurrentSolution(SolutionType) - Method in class org.jamesframework.core.search.LocalSearch
Update the current solution during search.
updateCurrentSolution(SolutionType, Evaluation, Validation) - Method in class org.jamesframework.core.search.LocalSearch
Update the current solution during search, given that it has already been evaluated and validated.
updateCurrentSolution(SolutionType, Evaluation, Validation) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
When updating the current solution in a neighbourhood search, the evaluated move cache is cleared because it is no longer valid for the new current solution.

V

validate(SolutionType, DataType) - Method in interface org.jamesframework.core.problems.constraints.Constraint
Validates a solution given the underlying data.
validate(Move<? super ActualSolutionType>, ActualSolutionType, Validation, DataType) - Method in interface org.jamesframework.core.problems.constraints.Constraint
Validates a move that will be applied to the current solution of a local search (delta validation).
validate(SolutionType, DataType) - Method in interface org.jamesframework.core.problems.constraints.PenalizingConstraint
Validates a solution given the underlying data.
validate(Move<? super ActualSolutionType>, ActualSolutionType, Validation, DataType) - Method in interface org.jamesframework.core.problems.constraints.PenalizingConstraint
Validates a move that will be applied to the current solution of a local search (delta validation).
validate(SolutionType) - Method in class org.jamesframework.core.problems.GenericProblem
Validate a solution by checking all mandatory constraints.
validate(Move<? super SolutionType>, SolutionType, Validation) - Method in class org.jamesframework.core.problems.GenericProblem
Validate a move by checking all mandatory constraints (delta validation).
validate(SolutionType) - Method in interface org.jamesframework.core.problems.Problem
Validates a solution.
validate(Move<? super SolutionType>, SolutionType, Validation) - Method in interface org.jamesframework.core.problems.Problem
Validates a move that will be applied to the current solution of a local search (delta validation).
validate(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Validates a move to be applied to the current solution.
validate(SubsetSolution) - Method in class org.jamesframework.core.subset.SubsetProblem
Validate a subset solution.
validate(Move<? super SubsetSolution>, SubsetSolution, Validation) - Method in class org.jamesframework.core.subset.SubsetProblem
Validate a move to be applied to the current subset solution of a local search (delta validation).
Validation - Interface in org.jamesframework.core.problems.constraints.validations
Interface of a solution validation produced by a problem definition.
validSize() - Method in class org.jamesframework.core.subset.validations.SubsetValidation
Check whether the subset solution has a valid size.
valueOf(String) - Static method in enum org.jamesframework.core.search.status.SearchStatus
Returns the enum constant of this type with the specified name.
values() - Static method in enum org.jamesframework.core.search.status.SearchStatus
Returns an array containing the constants of this enum type, in the order they are declared.
VariableNeighbourhoodDescent<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo.vns
Variable neighbourhood descent algorithm.
VariableNeighbourhoodDescent(Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>) - Constructor for class org.jamesframework.core.search.algo.vns.VariableNeighbourhoodDescent
Creates a new variable neighbourhood descent search, specifying the problem to solve and the neighbourhoods used to modify the current solution.
VariableNeighbourhoodDescent(String, Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>) - Constructor for class org.jamesframework.core.search.algo.vns.VariableNeighbourhoodDescent
Creates a new variable neighbourhood descent search, specifying the problem to solve, the neighbourhoods used to modify the current solution, and a custom search name.
VariableNeighbourhoodSearch<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo.vns
Variable neighbourhood search (VNS) algorithm.
VariableNeighbourhoodSearch(Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>, List<? extends Neighbourhood<? super SolutionType>>) - Constructor for class org.jamesframework.core.search.algo.vns.VariableNeighbourhoodSearch
Creates a new variable neighbourhood search, specifying the problem to solve, the neighbourhoods used for shaking and the neighbourhoods used by the default variable neighbourhood descent algorithm applied after shaking.
VariableNeighbourhoodSearch(Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>, LocalSearchFactory<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.vns.VariableNeighbourhoodSearch
Creates a new variable neighbourhood search, specifying the problem to solve, the neighbourhoods used for shaking, and a factory to create instances of a custom local search algorithm \(L\) to be applied after shaking.
VariableNeighbourhoodSearch(String, Problem<SolutionType>, List<? extends Neighbourhood<? super SolutionType>>, LocalSearchFactory<SolutionType>) - Constructor for class org.jamesframework.core.search.algo.vns.VariableNeighbourhoodSearch
Creates a new variable neighbourhood search, specifying the problem to solve, the neighbourhoods used for shaking in VNS, a factory to create instances of a custom local search algorithm \(L\) to be applied to modify solutions obtained after shaking, and a custom search name.

W

WITH_VALUE(double) - Static method in class org.jamesframework.core.problems.objectives.evaluations.SimpleEvaluation
Creates a simple evaluation with the specified value.
A B C D E F G H I J L M N O P R S T U V W 
Skip navigation links

Copyright © 2016. All rights reserved.