From 343614b344b94dda2790eac743e4beb58d2619ea Mon Sep 17 00:00:00 2001
From: David Radu <dcradu@uliege.be>
Date: Wed, 14 Jul 2021 14:18:50 +0200
Subject: [PATCH] fixed bug on reading params for CROSS runs

---
 config_model.yml                 | 4 ++--
 src/jl/cross_validation_tools.jl | 4 ++--
 src/main.py                      | 4 +++-
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/config_model.yml b/config_model.yml
index 1766d34..cd35411 100644
--- a/config_model.yml
+++ b/config_model.yml
@@ -63,8 +63,8 @@ siting_params:
       no_years_train: 5
       no_years_test: 5
       no_experiments: 50
-      no_runs_per_experiment: 10
+      no_runs_per_experiment: 1
       criterion: 'max'
       method: 'custom' # 'k_fold'
-      algorithm: 'ga'
+      algorithm: 'mirsa'
 
diff --git a/src/jl/cross_validation_tools.jl b/src/jl/cross_validation_tools.jl
index d4d7b3b..f2e08df 100644
--- a/src/jl/cross_validation_tools.jl
+++ b/src/jl/cross_validation_tools.jl
@@ -261,7 +261,7 @@ function mirsa(D::Array{Float64, 2}, c::Float64, n::Int64, N::Int64, I::Int64, E
 
   # Solve Mixed-Integer Relaxation
 
-  MILP_model = Model(optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => 3600., "MIPGap" => 0.05))
+  MILP_model = Model(optimizer_with_attributes(Gurobi.Optimizer, "TimeLimit" => 3600., "MIPGap" => 0.05, "LogToConsole" => 0))
 
   @variable(MILP_model, x[1:L], Bin)
   @variable(MILP_model, 0 <= y[1:W] <= 1)
@@ -413,7 +413,7 @@ function randomised_greedy_algorithm(D::Array{Float64,2}, c::Float64, n::Int64,
 end
 
 
-function greedy_algorithm(D::Array{Float64,2}, c::Float64, n::Float64)
+function greedy_algorithm(D::Array{Float64,2}, c::Float64, n::Int64)
 
   W, L = size(D)
   n = convert(Int64, n)
diff --git a/src/main.py b/src/main.py
index e783da9..62f3228 100644
--- a/src/main.py
+++ b/src/main.py
@@ -26,6 +26,7 @@ def parse_args():
     parser.add_argument('--run_RAND', type=bool, default=False)
     parser.add_argument('--run_CROSS', type=bool, default=False)
     parser.add_argument('--LS_init_algorithm', type=str, default=None)
+    parser.add_argument('--CROSS_method', type=str, default=None)
     parser.add_argument('--CROSS_algorithm', type=str, default=None)
     parser.add_argument('--train', type=int, default=None)
     parser.add_argument('--test', type=int, default=None)
@@ -92,6 +93,7 @@ if __name__ == '__main__':
     siting_parameters['solution_method']['GRED_STO']['set'] = args['run_GRED_STO']
     siting_parameters['solution_method']['GRED_STO']['p'] = args['p']
     siting_parameters['solution_method']['RAND']['set'] = args['run_RAND']
+    siting_parameters['solution_method']['CROSS']['method'] = args['CROSS_method']
     siting_parameters['solution_method']['CROSS']['algorithm'] = args['CROSS_algorithm']
     siting_parameters['solution_method']['CROSS']['no_years_train'] = args['train']
     siting_parameters['solution_method']['CROSS']['no_years_test'] = args['test']
@@ -250,7 +252,7 @@ if __name__ == '__main__':
         else:
             bal = 'unbalanced'
 
-        output_folder = init_folder(model_parameters, c, suffix=f"_CROSS_{params['algorithm']}_{bal}")
+        output_folder = init_folder(model_parameters, c, suffix=f"_CROSS_{params['method']}_{params['algorithm']}_{bal}")
 
         pickle.dump(obj_train, open(join(output_folder, 'obj_train.p'), 'wb'))
         pickle.dump(obj_test, open(join(output_folder, 'obj_test.p'), 'wb'))
-- 
GitLab