- 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).
- 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.
- 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.
- 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
-
- 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.