Major changes in releases:
Tuning
renamed totuning
and small fixes in it, updates for Julia 1.11.
Results
fromScheduler
is extended with fieldis_local_optimum
to be able to indicate if the solution is a local optimum in respect to the current method and it therefore does not make sense to apply this method again; used within VND.
- The logging possibilities were extended by the new
Logging
- In the Python code of
Tuning
, packagejulia
is replaced by the newerjuliacall
.
- Fix in
GVNS
andLNS
: The termination condition has not been considered directly after performing the initial construction method(s).
- Fix in
GVNS
: Empty local search method list led to an infinite loop issue #5
- subdirectory
Tuning
added with examples how to use SMAC3 for tuning parameters algorithms implemented in Julia - the LNS variants now also accept new equally good solutions as new incumbents with which to continue
- bug fix in
MISPSolution.clear!
andMKPSolution.clear!
, MKP.jl polished
- all demo applications refined and moved into an own subpackage
MHLibDemos
- all symbols of submodules are now also re-exported by the main
MHLib
module - LNS/ALNS refactored,
MethodSelector
introduced to generalize LNS - all structures adapted to use type parameters instead of abstract types for elements
- used packages updated for Julia 1.9
- switched from outdated
LightGraphs.jl
toGraphs.jl
- minor documentation and code polishing
k_random_flips updated to do selection without replacement, i.e., indeed flip exactly
k` bits- hack for seeing symbols in
testrun.jl
in VSCode; separateCHANGELOG.md
- bug fix in 2-opt neighborhood search of
PermutationSolution
PermutationSolution
andSubsetVectorSolution
put into own module- some cleaning in MKP
- most import statements replaced by qualified function definitions
GraphColoring
,PermutationSolution
,SubsetVectorSolution
,TSP
,MKP
, andMISP
demos added- statistics output of method applications in scheduler
- polishing of docstrings and code
- Initial version