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

HiGHS parameter pruning #668

Merged
merged 7 commits into from
Apr 3, 2024
Merged

Conversation

sambuddhac
Copy link
Collaborator

@sambuddhac sambuddhac commented Mar 25, 2024

Description

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

  • Feature
  • Bug Fix
  • Documentation Update
  • Code Refactor
  • Performance Improvements

Related Tickets & Documents

Checklist

  • Code changes are sufficiently documented; i.e. new functions contain docstrings and .md files under /docs/src have been updated if necessary.
  • The latest changes on the target branch have been incorporated, so that any conflicts are taken care of before merging. This can be accomplished either by merging in the target branch (e.g. 'git merge develop') or by rebasing on top of the target branch (e.g. 'git rebase develop'). Please do not hesitate to reach out to the GenX development team if you need help with this.
  • Code has been tested to ensure all functionality works as intended.
  • CHANGELOG.md has been updated (if this is a 'notable' change).
  • I consent to the release of this PR's code under the GNU General Public license.

How this can be tested

Post-approval checklist for GenX core developers

After the PR is approved

  • Check that the latest changes on the target branch are incorporated, either via merge or rebase
  • Remember to squash and merge if incorporating into develop

Gotten rid of further non-essential parameters
Re-introduced crossover
@sambuddhac
Copy link
Collaborator Author

@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
Copy link
Collaborator

@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
Copy link
Collaborator

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
Copy link
Collaborator Author

Yes, I can reformat the Cbc Also

@sambuddhac
Copy link
Collaborator Author

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

Removed infinite bound, infinite cost, objective bound, objective target, small matrix and large matrix values.
Re-introduced MIP rel gap and MIP abs gap
@sambuddhac
Copy link
Collaborator Author

@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.

@sambuddhac sambuddhac merged commit 782f6ab into release/0.4.0 Apr 3, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reduce default settings for solvers to minimum
2 participants