26
26
#include " iterative_improvement.hpp"
27
27
#include " quantum_annealing.hpp"
28
28
#include " thermal_annealing.hpp"
29
+ #include " hill_climbing.hpp"
29
30
30
31
#include " marxan.hpp"
31
32
@@ -176,11 +177,12 @@ namespace marxan {
176
177
if (aggexist)
177
178
ClearClumps (spno, spec, pu, SMGlobal, SM_out);
178
179
180
+ computeReserveValue (puno, spno, R, pu, connections, SMGlobal, SM_out, cm, spec, aggexist, reserve, clumptype, appendLogBuffer);
181
+
179
182
appendLogBuffer << " after computeReserveValue run " << run_id << endl;
180
183
181
184
if (verbosity > 1 )
182
185
{
183
- computeReserveValue (puno, spno, R, pu, connections, SMGlobal, SM_out, cm, spec, aggexist, reserve, clumptype, appendLogBuffer);
184
186
runConsoleOutput << " Run " << run_id << " Init: " << displayValueForPUs (puno, spno, R, reserve, spec, misslevel).str ();
185
187
}
186
188
if (verbosity > 5 )
@@ -196,6 +198,7 @@ namespace marxan {
196
198
repeats, run_id, savename, misslevel,
197
199
aggexist, costthresh, tpf1, tpf2, clumptype, anneal, appendLogBuffer, rngEngine);
198
200
201
+
199
202
if (verbosity > 1 )
200
203
{
201
204
computeReserveValue (puno, spno, R, pu, connections, SMGlobal, SM_out, cm, spec, aggexist, reserve, clumptype, appendLogBuffer);
@@ -205,22 +208,21 @@ namespace marxan {
205
208
appendLogBuffer << " after thermalAnnealing run " << run_id << endl;
206
209
}
207
210
208
- if (runoptions.QuantumAnnealingOn )
211
+ if (runoptions.HillClimbingOn )
209
212
{
210
- appendLogBuffer << " before quantumAnnealing run " << run_id << endl;
213
+ appendLogBuffer << " before hill climbing run " << run_id << endl;
211
214
212
- quantumAnnealing (spno, puno, connections, R, cm, spec, pu, SMGlobal, SM_out, change, reserve,
213
- repeats, run_id, savename, misslevel,
214
- aggexist, costthresh, tpf1, tpf2, clumptype, anneal, rngEngine);
215
+ hill_climbing ( puno, spno, pu, connections, spec, SMGlobal, SM_out, R, cm, reserve, costthresh, tpf1, tpf2,
216
+ clumptype, run_id, anneal.iterations , savename, appendLogBuffer, rngEngine);
215
217
216
218
if (verbosity > 1 )
217
219
{
218
220
computeReserveValue (puno, spno, R, pu, connections, SMGlobal, SM_out, cm, spec, aggexist, reserve, clumptype, appendLogBuffer);
219
- runConsoleOutput << " Run " << run_id << " QuantumAnnealing : " << displayValueForPUs (puno, spno, R, reserve, spec, misslevel).str ();
221
+ runConsoleOutput << " Run " << run_id << " Hill climbing : " << displayValueForPUs (puno, spno, R, reserve, spec, misslevel).str ();
220
222
221
223
}
222
224
223
- appendLogBuffer << " after quantumAnnealing run " << run_id << endl;
225
+ appendLogBuffer << " after hill climbing run " << run_id << endl;
224
226
}
225
227
226
228
if (runoptions.HeuristicOn )
@@ -700,7 +702,7 @@ namespace marxan {
700
702
}
701
703
702
704
// If we are in a runmode with only CalcPenalties, we stop/exit here gracefully because we are finished.
703
- if (runoptions.HeuristicOn == 0 && runoptions.ThermalAnnealingOn == 0 && runoptions.QuantumAnnealingOn == 0 && runoptions.ItImpOn == 0 )
705
+ if (runoptions.HeuristicOn == 0 && runoptions.ThermalAnnealingOn == 0 && runoptions.HillClimbingOn == 0 && runoptions.ItImpOn == 0 )
704
706
{
705
707
appendTraceFile (" end final file output\n " );
706
708
appendTraceFile (" \n Marxan end execution\n " );
@@ -805,112 +807,112 @@ namespace marxan {
805
807
case 0 :
806
808
runoptions.CalcPenaltiesOn = 1 ;
807
809
runoptions.ThermalAnnealingOn = 1 ;
808
- runoptions.QuantumAnnealingOn = 0 ;
810
+ runoptions.HillClimbingOn = 0 ;
809
811
runoptions.HeuristicOn = 1 ;
810
812
runoptions.ItImpOn = 0 ;
811
813
break ;
812
814
case 1 :
813
815
runoptions.CalcPenaltiesOn = 1 ;
814
816
runoptions.ThermalAnnealingOn = 1 ;
815
- runoptions.QuantumAnnealingOn = 0 ;
817
+ runoptions.HillClimbingOn = 0 ;
816
818
runoptions.HeuristicOn = 0 ;
817
819
runoptions.ItImpOn = 1 ;
818
820
break ;
819
821
case 2 :
820
822
runoptions.CalcPenaltiesOn = 1 ;
821
823
runoptions.ThermalAnnealingOn = 1 ;
822
- runoptions.QuantumAnnealingOn = 0 ;
824
+ runoptions.HillClimbingOn = 0 ;
823
825
runoptions.HeuristicOn = 1 ;
824
826
runoptions.ItImpOn = 1 ;
825
827
break ;
826
828
case 3 :
827
829
runoptions.CalcPenaltiesOn = 0 ;
828
830
runoptions.ThermalAnnealingOn = 0 ;
829
- runoptions.QuantumAnnealingOn = 0 ;
831
+ runoptions.HillClimbingOn = 0 ;
830
832
runoptions.HeuristicOn = 1 ;
831
833
runoptions.ItImpOn = 0 ;
832
834
break ;
833
835
case 4 :
834
836
runoptions.CalcPenaltiesOn = 0 ;
835
837
runoptions.ThermalAnnealingOn = 0 ;
836
- runoptions.QuantumAnnealingOn = 0 ;
838
+ runoptions.HillClimbingOn = 0 ;
837
839
runoptions.HeuristicOn = 0 ;
838
840
runoptions.ItImpOn = 1 ;
839
841
break ;
840
842
case 5 :
841
843
runoptions.CalcPenaltiesOn = 0 ;
842
844
runoptions.ThermalAnnealingOn = 0 ;
843
- runoptions.QuantumAnnealingOn = 0 ;
845
+ runoptions.HillClimbingOn = 0 ;
844
846
runoptions.HeuristicOn = 1 ;
845
847
runoptions.ItImpOn = 1 ;
846
848
break ;
847
849
case 6 :
848
850
runoptions.CalcPenaltiesOn = 1 ;
849
851
runoptions.ThermalAnnealingOn = 1 ;
850
- runoptions.QuantumAnnealingOn = 0 ;
852
+ runoptions.HillClimbingOn = 0 ;
851
853
runoptions.HeuristicOn = 0 ;
852
854
runoptions.ItImpOn = 0 ;
853
855
break ;
854
856
case 7 :
855
857
runoptions.CalcPenaltiesOn = 1 ;
856
858
runoptions.ThermalAnnealingOn = 0 ;
857
- runoptions.QuantumAnnealingOn = 0 ;
859
+ runoptions.HillClimbingOn = 0 ;
858
860
runoptions.HeuristicOn = 0 ;
859
861
runoptions.ItImpOn = 0 ;
860
862
break ;
861
863
case 8 :
862
864
runoptions.CalcPenaltiesOn = 0 ;
863
865
runoptions.ThermalAnnealingOn = 1 ;
864
- runoptions.QuantumAnnealingOn = 0 ;
866
+ runoptions.HillClimbingOn = 0 ;
865
867
runoptions.HeuristicOn = 0 ;
866
868
runoptions.ItImpOn = 0 ;
867
869
break ;
868
870
case 9 :
869
871
runoptions.CalcPenaltiesOn = 0 ;
870
872
runoptions.ThermalAnnealingOn = 1 ;
871
- runoptions.QuantumAnnealingOn = 0 ;
873
+ runoptions.HillClimbingOn = 0 ;
872
874
runoptions.HeuristicOn = 0 ;
873
875
runoptions.ItImpOn = 1 ;
874
876
break ;
875
877
case 10 :
876
878
runoptions.CalcPenaltiesOn = 0 ;
877
879
runoptions.ThermalAnnealingOn = 0 ;
878
- runoptions.QuantumAnnealingOn = 0 ;
880
+ runoptions.HillClimbingOn = 0 ;
879
881
runoptions.HeuristicOn = 0 ;
880
882
runoptions.ItImpOn = 1 ;
881
883
break ;
882
884
case 11 :
883
885
runoptions.CalcPenaltiesOn = 1 ;
884
886
runoptions.ThermalAnnealingOn = 0 ;
885
- runoptions.QuantumAnnealingOn = 1 ;
887
+ runoptions.HillClimbingOn = 1 ;
886
888
runoptions.HeuristicOn = 0 ;
887
889
runoptions.ItImpOn = 0 ;
888
890
break ;
889
891
case 12 :
890
892
runoptions.CalcPenaltiesOn = 1 ;
891
893
runoptions.ThermalAnnealingOn = 0 ;
892
- runoptions.QuantumAnnealingOn = 1 ;
894
+ runoptions.HillClimbingOn = 1 ;
893
895
runoptions.HeuristicOn = 0 ;
894
896
runoptions.ItImpOn = 1 ;
895
897
break ;
896
898
case 13 :
897
899
runoptions.CalcPenaltiesOn = 0 ;
898
900
runoptions.ThermalAnnealingOn = 0 ;
899
- runoptions.QuantumAnnealingOn = 1 ;
901
+ runoptions.HillClimbingOn = 1 ;
900
902
runoptions.HeuristicOn = 0 ;
901
903
runoptions.ItImpOn = 0 ;
902
904
break ;
903
905
case 14 :
904
906
runoptions.CalcPenaltiesOn = 0 ;
905
907
runoptions.ThermalAnnealingOn = 0 ;
906
- runoptions.QuantumAnnealingOn = 1 ;
908
+ runoptions.HillClimbingOn = 1 ;
907
909
runoptions.HeuristicOn = 0 ;
908
910
runoptions.ItImpOn = 1 ;
909
911
break ;
910
912
default :
911
913
runoptions.CalcPenaltiesOn = 0 ;
912
914
runoptions.ThermalAnnealingOn = 0 ;
913
- runoptions.QuantumAnnealingOn = 0 ;
915
+ runoptions.HillClimbingOn = 0 ;
914
916
runoptions.HeuristicOn = 0 ;
915
917
runoptions.ItImpOn = 0 ;
916
918
break ;
0 commit comments