Open
Description
Providing a warm start with a set of ordered hubs (which implies a ring) is not functional yet.
See benders_rrsp.jl
:
if length(pars.warm_start) > 0
# TODO: warm start currently in developpement
warm_hubs = parse.(Int, split(pars.warm_start, "-")[1:end-1])
@show warm_hubs
y_warm = zeros(Bool, n)
for i in V
if i in warm_hubs
set_start_value(y[i], true)
y_warm[i] = true
else
set_start_value(y[i], false)
end
end
x_warm = zeros(Bool, n, n)
x′_warm = zeros(Bool, n, n)
for i in V
for j ∈ i+1:n
set_start_value(x[i, j], false)
end
end
for i ∈ 1:length(warm_hubs)-1
set_start_value(x[mima(warm_hubs[i], warm_hubs[i+1])...], true)
x_warm[mima(warm_hubs[i], warm_hubs[i+1])...] = true
end
for i ∈ 2:length(warm_hubs)-1
if warm_hubs[i] in tildeV
x′_warm[mima(warm_hubs[i-1], warm_hubs[i+1])...] = true
end
end
if warm_hubs[end] in tildeV
x′_warm[mima(warm_hubs[end-1], 1)...] = true
end
set_start_value(x[1, warm_hubs[end]], true)
x_warm[1, warm_hubs[end]] = true
set_start_value(λ, 0)
set_start_value(offset, bar_offset)
end
Ideally, the user could provide the following parameters and the ring as a warm-start:
pars = SolverParameters(
solve_mod = BranchBendersCut(), # ILP, or BranchBendersCut
F = 7, # total failing time F in days per year, see [`PhD manuscript`](https://theses.hal.science/tel-04319443)
sp_solve = Poly(),
o_i = 0, # opening costs
s_ij = Euclidian(), # star costs
r_ij = Euclidian(), # ring costs
alpha = 3, # See [Labbé et al., 2004](ttps://doi.org/10.1002/net.10114)
backup_factor = 0.01, # backup_factor c'=0.01c and d'=0.01c
writeresults = false, # output results locally, html or no output ""
plotting = false, # plot_results (to debug)
tildeV = 100, # uncertain nodes set
warmstart = [1,2,3,4,5,6,7,8,9,10] # TODO: code it, here, a warm start of the 10 first nodes as a ring
log_level = 1, # console output log_level
redirect_stdio = false, # redirecting_stdio to output file
use_blossom = false, # use blossom inequalities (not functional yet)
ucstrat = true, # use user cut
)
Metadata
Metadata
Assignees
Labels
No labels