Skip to content

Add HiGHS open source solver#8

Closed
pz-max wants to merge 4 commits intoPyPSA:masterfrom
pz-max:highs
Closed

Add HiGHS open source solver#8
pz-max wants to merge 4 commits intoPyPSA:masterfrom
pz-max:highs

Conversation

@pz-max
Copy link
Copy Markdown
Contributor

@pz-max pz-max commented Nov 11, 2021

No description provided.

@pz-max
Copy link
Copy Markdown
Contributor Author

pz-max commented Nov 11, 2021

I haven't really included the "basis_fn" into the code. What is the purpose of it?
Will ask fneum in a moment when testing the installation.

@pz-max
Copy link
Copy Markdown
Contributor Author

pz-max commented Nov 11, 2021

This PR needs a bit more time. The solving works though what does not work is reading out the right results.
To DO's:

  • The installation needs to be fixed to one version.
  • The solution file need to be read out correctly. While the obj. is the same for CBC, highs, glpk, the optimised capacities are different. This suggest that we need to read out the data correctly (maybe also a bug in HiGHS that was fixed in a newer version)

@pz-max pz-max mentioned this pull request Nov 11, 2021
3 tasks
@FabianHofmann
Copy link
Copy Markdown
Collaborator

I haven't really included the "basis_fn" into the code. What is the purpose of it? Will ask fneum in a moment when testing the installation.

The basis_fn is used to write out the basis of the solution (which can be used for a warmstart later), however if I remember correctly the IPM does support this (only used for simplex) so you can just ignore this.

Thanks for the PR, I can do the rest. Just need some time since I want to prioritze the PIPS first.

@pz-max
Copy link
Copy Markdown
Contributor Author

pz-max commented Nov 12, 2021

@FabianHofmann, I will solve the two points/tasks above.
Yes, I think the PIPS solver might be the most interesting one for big problems where HPC need to be used.

@pz-max
Copy link
Copy Markdown
Contributor Author

pz-max commented Nov 14, 2021

Should work now according to PyPSA/PyPSA#308 (comment)

@pz-max
Copy link
Copy Markdown
Contributor Author

pz-max commented Nov 24, 2021

Adjustments according to PyPSA/PyPSA#308. I think the HiGHS solver is close to be ready to merge. Only one thing:

In the above PR, I had to change solver_options={} so that the code works also with an undefined options dictionary. Something we might need to deal with here too. Feel free to make this change if required or let me know what you wish to see (I wasn't sure about the prefered architecture)

@FabianHofmann
Copy link
Copy Markdown
Collaborator

@pz-max thanks for the code, I made some changes to make things more light-weight. Also moved some of the docstring to the solvers.rst in the documentation. Hope your fine with the changes, see #17 (all your commits will still show up in the contribution)

FabianHofmann pushed a commit that referenced this pull request Dec 20, 2021
Add HiGHS solver (building on #8)
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.

2 participants