diff --git a/src/jl/SitingHeuristics.jl b/src/jl/SitingHeuristics.jl
index d18958fff55768dcd340767c42fd64f465a2418e..99449f35ccb5c2fcf5921fd261e23a492ca5de35 100644
--- a/src/jl/SitingHeuristics.jl
+++ b/src/jl/SitingHeuristics.jl
@@ -1,5 +1,6 @@
 using PyCall
 using Dates
+using Random
 
 include("optimisation_models.jl")
 include("MCP_heuristics.jl")
@@ -27,15 +28,32 @@ function main_MIRSA(index_dict, deployment_dict, D, c, N, I, E, T_init, R, run)
 
     x_sol, LB_sol, obj_sol = Array{Float64, 2}(undef, R, L), Array{Float64, 1}(undef, R), Array{Float64, 2}(undef, R, I)
     x_init = solve_MILP_partitioning(D, c, n_partitions, index_dict, "Gurobi")
+    
+    for r = 1:R
+      println("Run ", r, "/", R)
+      x_sol[r, :], LB_sol[r], obj_sol[r, :] = simulated_annealing_local_search_partition(D, c, n_partitions, N, I, E, x_init, T_init, index_dict)
+    end
+
+  elseif run == "RSSA"
+
+    x_sol, LB_sol, obj_sol = Array{Float64, 2}(undef, R, L), Array{Float64, 1}(undef, R), Array{Float64, 2}(undef, R, I)
+    x_init = zeros(Int64, L)
+    ind_set = [l for l in 1:L]
+    n_while = n_partitions[1]
+
+    while n_while > 0
+      loc = sample(ind_set)
+      deleteat!(ind_set, findall(x->x==loc, ind_set))
+      x_init[loc] = 1
+      n_while -= 1
+    end
+
+    x_init = convert.(Float64, x_init)
 
-    t1 = now()
     for r = 1:R
       println("Run ", r, "/", R)
       x_sol[r, :], LB_sol[r], obj_sol[r, :] = simulated_annealing_local_search_partition(D, c, n_partitions, N, I, E, x_init, T_init, index_dict)
     end
-    t2 = now()
-    dt = (t2 - t1)/R
-    println(dt)
 
   else
     println("No such run available.")