Package es.urjc.etsii.grafo.improve
Class Improver<S extends Solution<S,I>,I extends Instance>
java.lang.Object
es.urjc.etsii.grafo.improve.Improver<S,I>
- Type Parameters:
S
- Solution classI
- Instance class
- Direct Known Subclasses:
FlippyFlopImprover
,Improver.NullImprover
,Improver.SequentialImprover
,LocalSearch
,SimulatedAnnealing
,VND
Any method that improves a given solution is called an Improver. The classical example, but not limited to, is a local search.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
objective
-
-
Constructor Details
-
Improver
Initialize common improver fields, to be called by subclasses- Parameters:
objective
- MAXIMIZE to maximize scores returned by the given move, MINIMIZE for minimizing
-
-
Method Details
-
improve
Improves a model.Solution Iterates until we run out of time, or we cannot improve the current es.urjc.etsii.grafo.solution any further- Parameters:
solution
- model.Solution to improve- Returns:
- Improved s
-
nul
Create a no operation improve method Returns the solution immediately without executing any operation- Type Parameters:
S
- Solution classI
- Instance class- Returns:
- Null improve method
-
serial
-
serial
@SafeVarargs public static <S extends Solution<S,I>, Improver<S,I extends Instance> I> serial(Improver<S, I>... improvers) -
getObjective
-