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

A

acceptMove(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.
acceptMove(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Accept the given move by applying it to the current solution.
add(E) - Method in class org.jamesframework.core.search.algo.tabu.FastLimitedQueue
Add an element at the tail of the queue, replacing the least recently added item if the queue is full.
add(StopCriterion) - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Add a stop criterion to check.
addAll(Collection<E>) - Method in class org.jamesframework.core.search.algo.tabu.FastLimitedQueue
Add the given collection of items.
AdditionMove - Class in org.jamesframework.core.search.neigh.subset
Simple subset move that adds a single ID to the current selection.
AdditionMove(int) - Constructor for class org.jamesframework.core.search.neigh.subset.AdditionMove
Create a new addition move that will add the specified ID to the current selection when being applied to a given subset solution.
addPenalizingConstraint(PenalizingConstraint<? super SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.ProblemWithData
Add a penalizing constraint to the problem.
addRejectingConstraint(Constraint<? super SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.ProblemWithData
Add a rejecting constraint to the problem.
addSearch(Search<SolutionType>) - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
Add the given search to the parallel algorithm, to be executed in parallel with the other searches.
addSearchListener(SearchListener<? super SolutionType>) - Method in class org.jamesframework.core.search.LocalSearch
Add a search listener, if not already added before.
addSearchListener(SearchListener<? super SolutionType>) - Method in class org.jamesframework.core.search.Search
Add a search listener, if it has not been added before.
addStopCriterion(StopCriterion) - Method in class org.jamesframework.core.search.Search
Adds a stop criterion used to decide when the search should stop running.
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.search.neigh.subset.AdditionMove
Apply this addition move to the given subset solution.
apply(SubsetSolution) - Method in class org.jamesframework.core.search.neigh.subset.adv.GeneralSubsetMove
Apply this move to a given subset solution.
apply(SubsetSolution) - Method in class org.jamesframework.core.search.neigh.subset.DeletionMove
Apply this deletion move to the given subset solution.
apply(SubsetSolution) - Method in class org.jamesframework.core.search.neigh.subset.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<?>, double) - 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<?>, double) - Method in class org.jamesframework.core.search.cache.SingleEvaluatedMoveCache
Cache the given evaluation, discarding any previously cached evaluations.
cacheMoveRejection(Move<?>, boolean) - Method in interface org.jamesframework.core.search.cache.EvaluatedMoveCache
Request to cache rejection (see Problem.rejectSolution(Solution)) of the neighbouring solution which is obtained by applying the given move to the current solution.
cacheMoveRejection(Move<?>, boolean) - Method in class org.jamesframework.core.search.cache.SingleEvaluatedMoveCache
Cache rejection of the given move, discarding any previously cached value.
checkedCopy(T) - Static method in class org.jamesframework.core.problems.solutions.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.FastLimitedQueue
Clear the queue.
clear() - Method in class org.jamesframework.core.search.algo.tabu.FullTabuMemory
Clear the tabu memory.
clear() - Method in class org.jamesframework.core.search.algo.tabu.IDBasedSubsetTabuMemory
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.
clearTabuMemory() - Method in class org.jamesframework.core.search.algo.tabu.TabuSearch
Clear the tabu memory.
computeDelta(double, double) - Method in class org.jamesframework.core.search.Search
Computes the amount of improvement of currentEvaluation over previousEvaluation, taking into account whether a maximization or minimization problem is being solved, where positive deltas indicate improvement.
computeHashCode() - Method in class org.jamesframework.core.problems.solutions.Solution
Compute a hash code for this solution.
computeHashCode() - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Computes a hash code in compliance with the implementation of SubsetSolution.isSameSolution(Solution), meaning that the same hash code is returned for equal subset solutions.
computePenalty(SolutionType, DataType) - Method in interface org.jamesframework.core.problems.constraints.PenalizingConstraint
Computes the penalty which is assigned to a solution.
Constraint<SolutionType extends Solution,DataType> - Interface in org.jamesframework.core.problems.constraints
Interface of a constraint that can be imposed on the solutions, based on underlying data.
contains(E) - Method in class org.jamesframework.core.search.algo.tabu.FastLimitedQueue
Checks whether the given item is contained in the queue.
copy() - Method in class org.jamesframework.core.problems.solutions.Solution
Creates a deep copy of this solution.
copy() - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Create a deep copy of this subset solution, obtained through the copy constructor, passing this as argument.
create(Problem<SolutionType>) - Method in class org.jamesframework.core.search.algo.vns.VNDFactory
Create a VND search to solve the given problem, using the list of neighbourhoods set at construction of the factory.
create(Problem<SolutionType>) - Method in interface org.jamesframework.core.util.LocalSearchFactory
Create a local search, given the problem to solve.
createEmptySubsetSolution() - Method in interface org.jamesframework.core.problems.SubsetProblem
Creates an empty subset solution in which no IDs are selected.
createEmptySubsetSolution() - Method in class org.jamesframework.core.problems.SubsetProblemWithData
Creates an empty subset solution containing the IDs of the underlying data, where none of these IDs are selected.
createRandomSolution() - Method in interface org.jamesframework.core.problems.Problem
Creates a random solution.
createRandomSolution() - Method in class org.jamesframework.core.problems.SubsetProblemWithData
Create a random solution within the allowed minimum and maximum subset size.

D

DeletionMove - Class in org.jamesframework.core.search.neigh.subset
Simple subset move that removes a single ID from the current selection.
DeletionMove(int) - Constructor for class org.jamesframework.core.search.neigh.subset.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.problems.solutions.SubsetSolution
Deselect the given ID.
deselectAll(Collection<Integer>) - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Deselect all IDs contained in the given collection.
deselectAll() - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Deselect all IDs.
DisjointMultiSwapNeighbourhood - Class in org.jamesframework.core.search.neigh.subset.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.search.neigh.subset.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.search.neigh.subset.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

EmptyLocalSearchListener<SolutionType extends Solution> - Class in org.jamesframework.core.search.listeners
An empty local search listener contains empty implementations of all methods in LocalSearchListener, acting as an easy entry point for custom search listeners which desire to listen only to a subset of events fired by a search, by overriding the corresponding empty implementations.
EmptyLocalSearchListener() - Constructor for class org.jamesframework.core.search.listeners.EmptyLocalSearchListener
 
EmptySearchListener<SolutionType extends Solution> - Class in org.jamesframework.core.search.listeners
An empty search listener contains empty implementations of all methods in SearchListener, acting as an easy entry point for custom search listeners which desire to listen only to a subset of events fired by a search, by overriding the corresponding empty implementation.
EmptySearchListener() - Constructor for class org.jamesframework.core.search.listeners.EmptySearchListener
 
equals(Object) - Method in class org.jamesframework.core.problems.solutions.Solution
Overrides default equality check by verifying whether the given object is of type Solution and subsequently calling the specific equality check Solution.isSameSolution(Solution).
equals(Object) - Method in class org.jamesframework.core.search.neigh.subset.AdditionMove
Two addition moves are considered equal if they add the same ID.
equals(Object) - Method in class org.jamesframework.core.search.neigh.subset.DeletionMove
Two deletion moves are considered equal if they remove the same ID.
equals(Object) - Method in class org.jamesframework.core.search.neigh.subset.SwapMove
Two swap moves are considered equal if they swap the same IDs.
evaluate(SolutionType, DataType) - Method in interface org.jamesframework.core.problems.objectives.Objective
Evaluates a given solution, based on some underlying data.
evaluate(SolutionType) - Method in interface org.jamesframework.core.problems.Problem
Evaluates a given solution.
evaluate(SolutionType) - Method in class org.jamesframework.core.problems.ProblemWithData
Evaluates a solution by taking into account both the score calculated by the objective function and the penalizing constraints (if any).
EvaluatedMoveCache - Interface in org.jamesframework.core.search.cache
Interface of a cache that records validity (see Problem.rejectSolution(Solution)) and evaluations (see Problem.evaluate(Solution)) of neighbours obtained by applying moves to the current solution in a neighbourhood search.
evaluateMove(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Evaluates the neighbour obtained by applying the given move to the current solution.
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

FastLimitedQueue<E> - Class in org.jamesframework.core.search.algo.tabu
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.search.algo.tabu.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.search.neigh.subset.adv
A general subset move adds and/or removes several IDs at once to/from the current selection of a subset solution.
GeneralSubsetMove(Set<Integer>, Set<Integer>) - Constructor for class org.jamesframework.core.search.neigh.subset.adv.GeneralSubsetMove
Creates a general subset move, indicating which IDs are to be added to and removed from the current selection when being applied to a given subset solution.
getAddedID() - Method in class org.jamesframework.core.search.neigh.subset.AdditionMove
Returns the added ID.
getAddedID() - Method in class org.jamesframework.core.search.neigh.subset.SwapMove
Returns the added ID.
getAddedIDs() - Method in class org.jamesframework.core.search.neigh.subset.AdditionMove
Returns an unmodifiable singleton containing the only added ID.
getAddedIDs() - Method in class org.jamesframework.core.search.neigh.subset.adv.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 class org.jamesframework.core.search.neigh.subset.DeletionMove
Returns an unmodifiable empty set, as no IDs are added.
getAddedIDs() - Method in interface org.jamesframework.core.search.neigh.subset.SubsetMove
Get the set of IDs that are added to the selection by applying this move to a subset solution.
getAddedIDs() - Method in class org.jamesframework.core.search.neigh.subset.SwapMove
Returns an unmodifiable singleton containing the only added ID.
getAllIDs() - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Returns an unmodifiable view of the set of all IDs.
getAllMoves(SolutionType) - Method in interface org.jamesframework.core.search.neigh.Neighbourhood
Get a set 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.search.neigh.subset.adv.DisjointMultiSwapNeighbourhood
Generates the set 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.search.neigh.subset.adv.MultiSwapNeighbourhood
Generates the set 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.search.neigh.subset.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.search.neigh.subset.SingleSwapNeighbourhood
Generates a set 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.
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.
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.
getCachedMoveRejection(Move<?>) - Method in interface org.jamesframework.core.search.cache.EvaluatedMoveCache
Retrieve cached rejection (see Problem.evaluate(Solution)) of the neighbouring solution which is obtained by applying the given move to the current solution, if available.
getCachedMoveRejection(Move<?>) - Method in class org.jamesframework.core.search.cache.SingleEvaluatedMoveCache
Retrieve cached rejection, if still available.
getCurrentSolution() - Method in class org.jamesframework.core.search.LocalSearch
Returns the current solution.
getCurrentSolutionEvaluation() - Method in class org.jamesframework.core.search.LocalSearch
Get the evaluation of the current solution.
getData() - Method in class org.jamesframework.core.problems.ProblemWithData
Get the underlying data.
getDeletedID() - Method in class org.jamesframework.core.search.neigh.subset.DeletionMove
Returns the deleted ID.
getDeletedID() - Method in class org.jamesframework.core.search.neigh.subset.SwapMove
Returns the deleted ID.
getDeletedIDs() - Method in class org.jamesframework.core.search.neigh.subset.AdditionMove
Returns an unmodifiable empty set, as no IDs are deleted by this move.
getDeletedIDs() - Method in class org.jamesframework.core.search.neigh.subset.adv.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 class org.jamesframework.core.search.neigh.subset.DeletionMove
Returns an unmodifiable singleton, containing the only deleted ID.
getDeletedIDs() - Method in interface org.jamesframework.core.search.neigh.subset.SubsetMove
Get the set of IDs that are removed from the selection by applying this move to a subset solution.
getDeletedIDs() - Method in class org.jamesframework.core.search.neigh.subset.SwapMove
Returns an unmodifiable singleton containing the only deleted ID.
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.SubsetData
Get the set of integer IDs corresponding to the underlying entities from which a subset is to be selected.
getL() - Method in class org.jamesframework.core.search.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.
getMaxSubsetSize() - Method in interface org.jamesframework.core.problems.SubsetProblem
The maximum size of the subset to be selected.
getMaxSubsetSize() - Method in class org.jamesframework.core.problems.SubsetProblemWithData
Get the maximum subset size.
getMaxSubsetSize() - Method in class org.jamesframework.core.search.neigh.subset.SinglePerturbationNeighbourhood
Get the maximum subset size specified at construction.
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 interface org.jamesframework.core.problems.SubsetProblem
The minimum size of the subset to be selected.
getMinSubsetSize() - Method in class org.jamesframework.core.problems.SubsetProblemWithData
Get the minimum subset size.
getMinSubsetSize() - Method in class org.jamesframework.core.search.neigh.subset.SinglePerturbationNeighbourhood
Get the minimum subset size specified at construction.
getMoveWithLargestDelta(Collection<? extends Move<? super SolutionType>>, boolean) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Given a collection of possible moves, get the move which yields the largest delta (see Search.computeDelta(double, double)) when applying it to the current solution, where only those moves leading to a valid neighbour are considered (those moves for which Problem.rejectSolution(Solution) returns false).
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 the list of neighbourhoods used to modify the current solution.
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.search.neigh.subset.AdditionMove
Always return 1, as a single ID is added.
getNumAdded() - Method in class org.jamesframework.core.search.neigh.subset.adv.GeneralSubsetMove
Returns the number of added IDs.
getNumAdded() - Method in class org.jamesframework.core.search.neigh.subset.DeletionMove
Always returns 0, as no IDs are added.
getNumAdded() - Method in interface org.jamesframework.core.search.neigh.subset.SubsetMove
Returns the number of added IDs, possibly 0.
getNumAdded() - Method in class org.jamesframework.core.search.neigh.subset.SwapMove
Always returns 1.
getNumDeleted() - Method in class org.jamesframework.core.search.neigh.subset.AdditionMove
Always returns 0, as no IDs are deleted.
getNumDeleted() - Method in class org.jamesframework.core.search.neigh.subset.adv.GeneralSubsetMove
Returns the number of removed IDs.
getNumDeleted() - Method in class org.jamesframework.core.search.neigh.subset.DeletionMove
Always returns 1, as a single ID is deleted.
getNumDeleted() - Method in interface org.jamesframework.core.search.neigh.subset.SubsetMove
Returns the number of deleted IDs, possibly 0.
getNumDeleted() - Method in class org.jamesframework.core.search.neigh.subset.SwapMove
Always return 1.
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.problems.solutions.SubsetSolution
Get the number of IDs which are currently selected.
getNumUnselectedIDs() - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Get the number of IDs which are currently unselected.
getObjective() - Method in class org.jamesframework.core.problems.ProblemWithData
Get the objective function.
getProblem() - Method in class org.jamesframework.core.search.algo.LRSubsetSearch
Returns the subset problem that is being solved.
getProblem() - Method in class org.jamesframework.core.search.Search
Get the problem being solved, as specified at construction.
getR() - Method in class org.jamesframework.core.search.algo.LRSubsetSearch
Get \(R\): the number of deletions performed in every search step.
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) - 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(SubsetSolution) - Method in class org.jamesframework.core.search.neigh.subset.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) - Method in class org.jamesframework.core.search.neigh.subset.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) - Method in class org.jamesframework.core.search.neigh.subset.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) - Method in class org.jamesframework.core.search.neigh.subset.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.
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).
getReplicas() - Method in class org.jamesframework.core.search.algo.ParallelTempering
Get the list of Metropolis replicas used by this parallel tempering algorithm.
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 a list of all searches that have been added to this parallel search for concurrent execution.
getSelectedIDs() - Method in class org.jamesframework.core.problems.solutions.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.
getTemperature() - Method in class org.jamesframework.core.search.algo.MetropolisSearch
Get the temperature \(T\) of the system.
getTemperatureScaleFactor() - Method in class org.jamesframework.core.search.algo.MetropolisSearch
Get the temperature scale factor \(k\) 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.problems.solutions.SubsetSolution
Get the total number of IDs.
getUnselectedIDs() - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Returns an unmodifiable view of the set of currently non selected IDs.
getViolatedConstraints(SolutionType) - Method in class org.jamesframework.core.problems.ProblemWithData
Returns a set of all violated constraints (both rejecting and penalizing constraints).

H

hashCode() - Method in class org.jamesframework.core.problems.solutions.Solution
Overrides default hash code computation by calling Solution.computeHashCode().
hashCode() - Method in class org.jamesframework.core.search.neigh.subset.AdditionMove
Hash code corresponding to implementation of AdditionMove.equals(Object).
hashCode() - Method in class org.jamesframework.core.search.neigh.subset.DeletionMove
Hash code corresponding to implementation of DeletionMove.equals(Object).
hashCode() - Method in class org.jamesframework.core.search.neigh.subset.SwapMove
Hash code corresponding to implementation of SwapMove.equals(Object).
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.search.algo.exh.SubsetSolutionIterator
Checks whether more subset solutions are to be generated.

I

IDBasedSubsetTabuMemory - Class in org.jamesframework.core.search.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.search.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.
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.
INVALID_DELTA - Static variable in class org.jamesframework.core.util.JamesConstants
Indicates an invalid delta (amount of improvement).
INVALID_MOVE_COUNT - Static variable in class org.jamesframework.core.util.JamesConstants
Indicates an invalid number of moves.
INVALID_STEP_COUNT - Static variable in class org.jamesframework.core.util.JamesConstants
Indicates an invalid number of steps.
INVALID_TIME_SPAN - Static variable in class org.jamesframework.core.util.JamesConstants
Used to indicate an invalid time span.
INVALID_TIMESTAMP - Static variable in class 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 the given move leads to an improvement when being applied to the current solution.
isMinimizing() - Method in class org.jamesframework.core.problems.objectives.MinMaxObjective
 
isMinimizing() - Method in interface org.jamesframework.core.problems.objectives.Objective
Check whether the objective is minimizing.
isMinimizing() - Method in interface org.jamesframework.core.problems.Problem
Indicates whether scores are being minimized or maximized.
isMinimizing() - Method in class org.jamesframework.core.problems.ProblemWithData
Indicates whether the underlying objective is minimizing.
isSameSolution(Solution) - Method in class org.jamesframework.core.problems.solutions.Solution
Checks whether this solution is conceptually equal to an other, given solution.
isSameSolution(Solution) - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Checks if the given solution is also a subset solution which is conceptually equal to this subset solution.
isSatisfied(SolutionType, DataType) - Method in interface org.jamesframework.core.problems.constraints.Constraint
Checks whether a given solution satisfies the imposed constraint, based on the given underlying data.
isSorted() - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Indicates whether IDs are stored in sorted sets.
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 SubsetSolution>, SubsetSolution) - Method in class org.jamesframework.core.search.algo.tabu.IDBasedSubsetTabuMemory
A move is considered tabu if any involved ID (added or deleted) 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.

J

JamesConstants - Class in org.jamesframework.core.util
Global container defining constants used across the framework.
JamesConstants() - Constructor for class org.jamesframework.core.util.JamesConstants
 
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 with some 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.util
Interface of a local search factory used to create any local search.
LocalSearchListener<SolutionType extends Solution> - Interface in org.jamesframework.core.search.listeners
Extends the general search listener interface with a local search specific callback, fired when the current solution has been modified.
LRSubsetSearch - Class in org.jamesframework.core.search.algo
LR subset search is a greedy local search heuristic for subset selection.
LRSubsetSearch(SubsetProblem, int, int) - Constructor for class org.jamesframework.core.search.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.search.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 with 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.
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.
MinMaxObjective<SolutionType extends Solution,DataType> - Class in org.jamesframework.core.problems.objectives
Abstract objective that handles minimization/maximization settings.
MinMaxObjective() - Constructor for class org.jamesframework.core.problems.objectives.MinMaxObjective
By default, objectives are maximizing.
modifiedCurrentSolution(LocalSearch<? extends SolutionType>, SolutionType, double) - Method in class org.jamesframework.core.search.listeners.EmptyLocalSearchListener
 
modifiedCurrentSolution(LocalSearch<? extends SolutionType>, SolutionType, double) - Method in interface org.jamesframework.core.search.listeners.LocalSearchListener
Fired whenever a new current solution has been adopted.
Move<SolutionType extends Solution> - Interface in org.jamesframework.core.search.neigh
Interface of a move that can be applied to a generic solution type.
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.search.neigh.subset.adv
A subset neighbourhood that generates moves performing up to \(k\) multiple simultaneous swaps of selected and unselected IDs, where \(k\) is specified when creating the neighbourhood.
MultiSwapNeighbourhood(int) - Constructor for class org.jamesframework.core.search.neigh.subset.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.search.neigh.subset.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, double) - Method in class org.jamesframework.core.search.listeners.EmptySearchListener
 
newBestSolution(Search<? extends SolutionType>, SolutionType, double) - Method in interface org.jamesframework.core.search.listeners.SearchListener
Fired when the search has found a new best solution.
next() - Method in interface org.jamesframework.core.search.algo.exh.SolutionIterator
Generate the next solution.
next() - Method in class org.jamesframework.core.search.algo.exh.SubsetSolutionIterator
Generate the next subset solution.

O

Objective<SolutionType extends Solution,DataType> - Interface in org.jamesframework.core.problems.objectives
Interface of a general objective used to evaluate solutions, using some underlying data.
org.jamesframework.core.exceptions - package org.jamesframework.core.exceptions
Custom James runtime exceptions.
org.jamesframework.core.problems - package org.jamesframework.core.problems
Problem specification.
org.jamesframework.core.problems.constraints - package org.jamesframework.core.problems.constraints
Constraint interfaces, used for problem specification.
org.jamesframework.core.problems.datatypes - package org.jamesframework.core.problems.datatypes
Available data types, used for problem specification.
org.jamesframework.core.problems.objectives - package org.jamesframework.core.problems.objectives
Objective interface and utilities, used for problem specification.
org.jamesframework.core.problems.solutions - package org.jamesframework.core.problems.solutions
Solution modelling.
org.jamesframework.core.search - package org.jamesframework.core.search
Abstract search templates, including both general searches and neighbourhood searches.
org.jamesframework.core.search.algo - package org.jamesframework.core.search.algo
Actual search implementations (non self-contained searches and their related components are implemented in separate subpackages).
org.jamesframework.core.search.algo.exh - package org.jamesframework.core.search.algo.exh
Exhaustive search and related components.
org.jamesframework.core.search.algo.tabu - package org.jamesframework.core.search.algo.tabu
Tabu search and related components, including tabu memory specification.
org.jamesframework.core.search.algo.vns - package org.jamesframework.core.search.algo.vns
Variable neighbourhood searches.
org.jamesframework.core.search.cache - package org.jamesframework.core.search.cache
Caches used by searches for efficient solution 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
General neighbourhood and move specification.
org.jamesframework.core.search.neigh.subset - package org.jamesframework.core.search.neigh.subset
Neighbourhoods and moves for subset selection.
org.jamesframework.core.search.neigh.subset.adv - package org.jamesframework.core.search.neigh.subset.adv
Advanced subset selection neighbourhoods.
org.jamesframework.core.search.stopcriteria - package org.jamesframework.core.search.stopcriteria
Stop criteria used by searches.
org.jamesframework.core.util - package org.jamesframework.core.util
General utilities.

P

ParallelTempering<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo
Parallel tempering algorithm which 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(String, 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, the minimum and maximum temperature, and a custom search name.
PenalizingConstraint<SolutionType extends Solution,DataType> - Interface in org.jamesframework.core.problems.constraints
Interface of a penalizing constraint, which assigns a certain penalty to a solution which does not satisfy the 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.
ProblemWithData<SolutionType extends Solution,DataType> - Class in org.jamesframework.core.problems
Represents an abstract problem that separates data from the objective and possible constraints.
ProblemWithData(Objective<? super SolutionType, ? super DataType>, DataType) - Constructor for class org.jamesframework.core.problems.ProblemWithData
Creates a new abstract problem with given objective and data.

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.
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(SubsetSolution, Move<? super SubsetSolution>) - Method in class org.jamesframework.core.search.algo.tabu.IDBasedSubsetTabuMemory
Registers an applied subset move by storing all involved IDs (added or deleted) in the 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.
rejectMove() - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Indicate that a move was rejected.
rejectSolution(SolutionType) - Method in interface org.jamesframework.core.problems.Problem
Indicates whether the given solution should be rejected during search, regardless of its evaluation.
rejectSolution(SolutionType) - Method in class org.jamesframework.core.problems.ProblemWithData
Checks whether any of the specified rejecting constraints are violated.
rejectSolution(SubsetSolution, boolean) - Method in interface org.jamesframework.core.problems.SubsetProblem
Checks whether the given subset solution is to be rejected, possibly ignoring its current size.
rejectSolution(SubsetSolution) - Method in class org.jamesframework.core.problems.SubsetProblemWithData
Checks whether the given subset solution is rejected.
rejectSolution(SubsetSolution, boolean) - Method in class org.jamesframework.core.problems.SubsetProblemWithData
Checks whether the given subset solution is rejected.
remove() - Method in class org.jamesframework.core.search.algo.tabu.FastLimitedQueue
Retrieves and removes the head of the queue, or returns null if the queue is empty.
remove(StopCriterion) - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Remove a stop criterion.
removePenalizingConstraint(PenalizingConstraint<? super SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.ProblemWithData
Remove a penalizing constraint.
removeRejectingConstraint(Constraint<? super SolutionType, ? super DataType>) - Method in class org.jamesframework.core.problems.ProblemWithData
Remove a rejecting constraint.
removeSearch(Search<SolutionType>) - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
Remove the given search from the parallel algorithm, if it had been added before.
removeSearchListener(SearchListener<? super SolutionType>) - Method in class org.jamesframework.core.search.LocalSearch
Remove the given search listener.
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<E> - Class in org.jamesframework.core.util
A selection object which simulates a roulette wheel where all items have a weight expressing the size of their section of the wheel.
RouletteSelector(Random) - Constructor for class org.jamesframework.core.util.RouletteSelector
Create a roulette selector.
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 to DISPOSED.
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.
SearchListener<SolutionType extends Solution> - Interface in org.jamesframework.core.search.listeners
Interface of a listener which may be attached to a search with the specified solution type (or a more specific solution type).
searchShouldStop(Search<?>) - Method in class org.jamesframework.core.search.stopcriteria.MaxRuntime
Checks whether the maximum runtime has been exceeded for the given search.
searchShouldStop(Search<?>) - Method in class org.jamesframework.core.search.stopcriteria.MaxSteps
Checks whether the maximum number of steps has been exceeded 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 exceeded 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 exceeded 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() - Method in class org.jamesframework.core.search.algo.BasicParallelSearch
When the search is started, it is verified whether at least one subsearch has been added.
searchStarted() - Method in class org.jamesframework.core.search.algo.LRSubsetSearch
When the search is started for the first time, 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, to be repeatedly modified during search.
searchStarted(Search<? extends SolutionType>) - Method in class org.jamesframework.core.search.listeners.EmptySearchListener
 
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.LocalSearch
When the search is started, a random initial solution is generated if none has been specified.
searchStarted() - Method in class org.jamesframework.core.search.NeighbourhoodSearch
When a neighbourhood search is started, the number of accepted and rejected moves is reset to zero.
searchStarted() - Method in class org.jamesframework.core.search.Search
This method is called when a search run is started, to perform initialization and/or validation of the search configuration.
SearchStatus - Enum in org.jamesframework.core.search
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.LRSubsetSearch
In every search step, the \(L\) best additions and \(R\) best deletions of a single item are performed.
searchStep() - Method in class org.jamesframework.core.search.algo.MetropolisSearch
Creates a random neighbour of the current solution and accepts it if it improves over the current solution, or if \[ e^{\frac{\Delta E}{kT}} > 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 of the system, \(k\) is a constant scale factor, and \(R(0,1)\) is a random number in the interval \([0,1]\).
searchStep() - Method in class org.jamesframework.core.search.algo.ParallelTempering
Perform a search step, in which every replica performs several steps and 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.
searchStopped(Search<? extends SolutionType>) - Method in class org.jamesframework.core.search.listeners.EmptySearchListener
 
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 and may be used to perform some finalization.
select(int) - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Select the given ID.
select(List<E>, List<Double>) - 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 share of the roulette wheel.
selectAll(Collection<Integer>) - Method in class org.jamesframework.core.problems.solutions.SubsetSolution
Select all IDs contained in the given collection.
selectAll() - Method in class org.jamesframework.core.problems.solutions.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 passed to 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.
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.ProblemWithData
Set new underlying data.
setData(DataType) - Method in class org.jamesframework.core.problems.SubsetProblemWithData
Set new subset data, verifying that the data is not null.
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.
setMaximizing() - Method in class org.jamesframework.core.problems.objectives.MinMaxObjective
Turn this objective into a maximizing objective.
setMaxSubsetSize(int) - Method in class org.jamesframework.core.problems.SubsetProblemWithData
Set the maximum subset size.
setMinimizing() - Method in class org.jamesframework.core.problems.objectives.MinMaxObjective
Turn this objective into a minimizing objective.
setMinSubsetSize(int) - Method in class org.jamesframework.core.problems.SubsetProblemWithData
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<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.ProblemWithData
Set a new objective function.
setPeriod(long, TimeUnit) - Method in class org.jamesframework.core.search.stopcriteria.StopCriterionChecker
Set the period between consecutive stop criterion checks.
setReplicaSteps(int) - 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\)).
setTemperatureScaleFactor(double) - Method in class org.jamesframework.core.search.algo.MetropolisSearch
Set the temperature scale factor \(k > 0\).
setTemperatureScaleFactor(double) - Method in class org.jamesframework.core.search.algo.ParallelTempering
Set the same temperature scale factor \(k > 0\) for each replica.
SetUtilities - Class in org.jamesframework.core.util
Contains some utility functions for manipulating sets.
SetUtilities() - Constructor for class org.jamesframework.core.util.SetUtilities
 
SingleEvaluatedMoveCache - Class in org.jamesframework.core.search.cache
A single move cache only stores the last evaluation and validity 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.search.neigh.subset
A subset neighbourhood that generates swap moves (see SwapMove), addition moves (see AdditionMove) and deletion moves (see DeletionMove).
SinglePerturbationNeighbourhood(int, int) - Constructor for class org.jamesframework.core.search.neigh.subset.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.search.neigh.subset.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.search.neigh.subset
A subset neighbourhood that generates swap moves only (see SwapMove).
SingleSwapNeighbourhood() - Constructor for class org.jamesframework.core.search.neigh.subset.SingleSwapNeighbourhood
Creates a basic single swap neighbourhood.
SingleSwapNeighbourhood(Set<Integer>) - Constructor for class org.jamesframework.core.search.neigh.subset.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.search.algo.tabu.FastLimitedQueue
Get the number of items contained in the queue.
sizeLimit() - Method in class org.jamesframework.core.search.algo.tabu.FastLimitedQueue
Get the size limit of the queue.
Solution - Class in org.jamesframework.core.problems.solutions
Represents an abstract solution.
Solution() - Constructor for class org.jamesframework.core.problems.solutions.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 class org.jamesframework.core.search.listeners.EmptySearchListener
 
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 class org.jamesframework.core.search.listeners.EmptySearchListener
 
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.
SubsetData - Interface in org.jamesframework.core.problems.datatypes
Represents data that corresponds to a subset selection problem.
SubsetMove - Interface in org.jamesframework.core.search.neigh.subset
General interface of a subset move that adds a number of IDs to the selection and/or removes a number of IDs.
SubsetProblem - Interface in org.jamesframework.core.problems
Interface of a subset problem with solution type SubsetSolution, extending the general Problem interface.
SubsetProblemWithData<DataType extends SubsetData> - Class in org.jamesframework.core.problems
Represents a subset problem with data of a given data type, implementing the interface SubsetData, and with solution type SubsetSolution.
SubsetProblemWithData(Objective<? super SubsetSolution, ? super DataType>, DataType, int, int, boolean) - Constructor for class org.jamesframework.core.problems.SubsetProblemWithData
Creates a new subset problem with given objective, data and minimum/maximum subset size.
SubsetProblemWithData(Objective<? super SubsetSolution, ? super DataType>, DataType, int, int) - Constructor for class org.jamesframework.core.problems.SubsetProblemWithData
Creates a new subset problem with given objective, data and minimum/maximum subset size.
SubsetProblemWithData(Objective<? super SubsetSolution, ? super DataType>, DataType, int) - Constructor for class org.jamesframework.core.problems.SubsetProblemWithData
Creates a subset problem with fixed subset size.
SubsetSolution - Class in org.jamesframework.core.problems.solutions
Implements a generic subset solution based on IDs of selected entities.
SubsetSolution(Set<Integer>) - Constructor for class org.jamesframework.core.problems.solutions.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.problems.solutions.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.problems.solutions.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.problems.solutions.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.problems.solutions.SubsetSolution
Copy constructor.
SubsetSolutionIterator - Class in org.jamesframework.core.search.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.search.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.search.algo.exh.SubsetSolutionIterator
Create a subset solution iterator that generates all subsets with a fixed size, sampled from the given set of IDs.
SwapMove - Class in org.jamesframework.core.search.neigh.subset
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.search.neigh.subset.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.solutions.SubsetSolution
Creates a nicely formatted, human readable string containing the selected IDs.
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
 

U

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.search.neigh.subset.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.search.neigh.subset.adv.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.search.neigh.subset.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.search.neigh.subset.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, double) - Method in class org.jamesframework.core.search.Search
Checks whether a new best solution has been found and updates it accordingly, assuming that the given solution is not rejected by the problem (see Problem.rejectSolution(Solution) and has already been evaluated.
updateCurrentAndBestSolution(SolutionType) - Method in class org.jamesframework.core.search.LocalSearch
Update the current and best solution during search.
updateCurrentAndBestSolution(SolutionType, double) - Method in class org.jamesframework.core.search.LocalSearch
Update the current and best solution during search, given that the new current solution has already been evaluated.
updateCurrentAndBestSolution(SolutionType, double, boolean) - Method in class org.jamesframework.core.search.LocalSearch
Update the current and best solution during search, given that the new current solution has already been evaluated.
updateCurrentSolution(SolutionType, double) - Method in class org.jamesframework.core.search.LocalSearch
Update the current solution during search, given that it has already been evaluated.
updateCurrentSolution(SolutionType, double) - 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

validateMove(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.algo.tabu.TabuSearch
Overrides validation of moves so that it is verified whether the move is not tabu.
validateMove(Move<? super SolutionType>) - Method in class org.jamesframework.core.search.NeighbourhoodSearch
Validates the neighbour obtained by applying the given move to the current solution.
valueOf(String) - Static method in enum org.jamesframework.core.search.SearchStatus
Returns the enum constant of this type with the specified name.
values() - Static method in enum org.jamesframework.core.search.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 VND local search algorithm.
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 in VNS, and a factory to create instances of a custom local search algorithm \(L\) to be applied to modify solutions obtained 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.
VNDFactory<SolutionType extends Solution> - Class in org.jamesframework.core.search.algo.vns
A VND factory creates a variable neighbourhood descent search, where the list of neighbourhoods to apply are set upon construction of the factory.
VNDFactory(List<? extends Neighbourhood<? super SolutionType>>) - Constructor for class org.jamesframework.core.search.algo.vns.VNDFactory
Create a new VND factory, given the list of neighbourhoods to apply.
A B C D E F G H I J L M N O P R S T U V 
Skip navigation links

Copyright © 2014. All rights reserved.