Skip to content

Use HiGHS solver by default, with Big M, and End-of-Life for v1 and v2#575

Merged
Bill-Becker merged 16 commits intomasterfrom
develop
Apr 1, 2024
Merged

Use HiGHS solver by default, with Big M, and End-of-Life for v1 and v2#575
Bill-Becker merged 16 commits intomasterfrom
develop

Conversation

@Bill-Becker
Copy link
Copy Markdown
Collaborator

@Bill-Becker Bill-Becker changed the title Use HiGHS solver by default and on production, End-of-Life for V1 and V2 on NREL servers Use HiGHS solver by default, End-of-Life for v1 and v2 Mar 30, 2024
@Bill-Becker Bill-Becker changed the title Use HiGHS solver by default, End-of-Life for v1 and v2 Use HiGHS solver by default, with Big M, and End-of-Life for v1 and v2 Mar 30, 2024
@Bill-Becker Bill-Becker requested review from adfarth and zolanaj March 30, 2024 15:00
Copy link
Copy Markdown
Collaborator

@zolanaj zolanaj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This builds locally and I was able to run test_job_endpoint just as a quick check. Thanks @Bill-Becker!

Comment thread CHANGELOG.md Outdated
- See updates from REopt.jl v0.44.0: https://github.com/NREL/REopt.jl/releases/tag/v0.44.0
- HiGHS, Cbc, and SCIP solvers use Big M notation constraints only in REopt.jl
#### Deprecated
- End-of-Life for v1 and v2 of the API for external/public interfacing from NREL servers
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Bill-Becker should we include a bit more detail about what this means for users? E.g., Will users no longer be able to access results using v1 and v2 endpoints, or just will no longer be able to post to these endpoints?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made a discussion forum post about this, and added a link in both the API response error message and in the Changelog in 089153d

Comment thread reoptjl/models.py
solver_name = models.TextField(
blank=True,
default=SOLVERS.XPRESS,
default=SOLVERS.HIGHS,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might not be critical for this PR, but if you use an empty string (below) for the solver_name input, it does not automatically select HiGHS and the error under "messages" is just Unexpected Error...

post_1["Settings"]["solver_name"] = '' or ""

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, yeah I'll punt on this for now. I don't think the user would enter an empty string accidentally in most cases.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My proposal is (i) agreeing to punt for now, and (ii) making a fix for this on the REopt.jl side to allow empty strings as input which default to HiGHS longer-term.

Copy link
Copy Markdown
Collaborator

@adfarth adfarth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Bill-Becker this look good to me! I just had two minor comments that could be worth addressing depending on priority. I spun up this branch locally and tested all of the solvers as well as the error messages from the v1 and v2 endpoints.

@Bill-Becker
Copy link
Copy Markdown
Collaborator Author

@Bill-Becker this look good to me! I just had two minor comments that could be worth addressing depending on priority. I spun up this branch locally and tested all of the solvers as well as the error messages from the v1 and v2 endpoints.

Thanks Amanda! I addressed one of the two items, and punted on the other.

@Bill-Becker Bill-Becker merged commit 98f0fb0 into master Apr 1, 2024
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.

3 participants