GenXProject / GenX.jl

GenX: a configurable power system capacity expansion model for studying low-carbon energy futures. More details at : https://genx.mit.edu
https://genxproject.github.io/GenX.jl/
GNU General Public License v2.0
270 stars 114 forks source link

HiGHS parameter pruning #668

Closed sambuddhac closed 6 months ago

sambuddhac commented 6 months ago

Description

What type of PR is this? (check all applicable)

Related Tickets & Documents

Checklist

How this can be tested

Post-approval checklist for GenX core developers

After the PR is approved

sambuddhac commented 6 months ago

@JesseJenkins this PR is ready for review now. I have checked against Gurobi and CPLEX and I have included the bare minimum number of settings in configure_highs.jl to the extent those correspond to similar set of settings parameters in the other two solvers. There are some for which I couldn't find an exact same or similar counterpart. Please let me know if this list looks good, or, if we need to include or get rid of any more parameters.

JesseJenkins commented 6 months ago

@sambuddhac In HiGHS solver settings, I think we can remove also each of these:

         "infinite_cost" => 1e+20,
        "infinite_bound" => 1e+20,
        "small_matrix_value" => 1e-09,
        "large_matrix_value" => 1e+15,
        "objective_bound" => Inf,
        "objective_target" => -Inf,

Dont we need a MIP gap setting too if someone is using HiGHS for MILP (which is not recommended, but possible)? Restore these?

"mip_rel_gap" => 0.001,
"mip_abs_gap" => 1e-06,       
JesseJenkins commented 6 months ago

The Cbc default settings also don't look like ones a user would frequently set, are they? And it's missing basic ones like MIP gap setting (and Cbc is the MILP solver). Can you please check configure settings for Cbc as well?

- seconds = 1e-6
 - logLevel = 1e-6
 - maxSolutions = -1
 - maxNodes = -1
 - allowableGap = -1
 - ratioGap = Inf
 - threads = 1
sambuddhac commented 6 months ago

Yes, I can reformat the Cbc Also

sambuddhac commented 6 months ago

Ah ... yeah, forgot that we have room for doing MILP also. Okay, I'll get those in.

sambuddhac commented 6 months ago

@JesseJenkins I think now this one should look good? I am creating a separate PR for the Cbc solver. Will pass on to you for reviewing that once finished.