Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify defaults settings for Gurobi #736

Open
filippopecci opened this issue Aug 9, 2024 · 0 comments
Open

Modify defaults settings for Gurobi #736

filippopecci opened this issue Aug 9, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@filippopecci
Copy link
Collaborator

GenX currently sets these default settings for Gurobi:

default_settings = Dict("Feasib_Tol" => 1e-6,
        "Optimal_Tol" => 1e-4,
        "Pre_Solve" => -1,
        "AggFill" => -1,
        "PreDual" => -1,
        "TimeLimit" => Inf,
        "MIPGap" => 1e-3,
        "Crossover" => -1,
        "Method" => -1,
        "BarConvTol" => 1e-8,
        "NumericFocus" => 0,
        "OutputFlag" => 1)

Given that GenX models have large sizes in most cases (and are quite sparse) we should set as default method the Barrier algorithm. Also, when using the Barrier method, we should not set feasibility and optimality tolerances, and just use BarConvTol, which applies to both feasibility and optimality - as explained here (slide 38). So I suggest we change the defaults to:

default_settings = Dict("MIPGap" => 1e-3,
        "Crossover" => 0,
        "Method" => 2,
        "BarConvTol" => 1e-6,
        "OutputFlag" => 1)

The user is always free to change more options when setting up the gurobi_settings.yml file, but this should be our basic configuration.

@filippopecci filippopecci added the enhancement New feature or request label Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants