Replies: 3 comments 2 replies
-
Thanks for the ideas. Some of these may be useful in the future, but I'm concerned that we try to write documentation on a scale that (1) isn't needed and (2) can't be maintained. My vision is of something relatively simple that allows Python users to learn how to use HiGHS, but with enough "tucked away" as a reference for experts. We don't need examples of how to use the C API. Anyone who understands C and (from the Guide) what HiGHS can do can work it out for themselves. Experts have been using HiGHS for years with no problems - just the occasional request for Options to be documented. In Diátaxis terms, the focus is very much Tutorial and Explanation for beginners, with just enough for How-to and Reference for experts The Guide shouldn't have examples in it: it's a way to find out what HiGHS can do, and is deliberately generic. Examples would dilute this. Someone wanting to use HiGHS in Python isn't going to want to look at C examples I disagree strongly that the Gurobi docs have a very nice layout and structure. All I see is a bewildering list of method names. Where do I find out what it can do? To an extent I feel the same about the C API "documentation" in HiGHS: it's just a blizzard of unordered methods. Yes, it's an achievement to extract the docstrings from the C header file into HTML, but what more information does it convey than Getting a way to run the Python code in the documentation would be great. However, @galabovaa hasn't found anything that works everywhere, so we intend to put the "live" Python examples in Colab. I did wonder about making the |
Beta Was this translation helpful? Give feedback.
-
I've fixed the Maths in https://ergo-code.github.io/HiGHS/dev/interfaces/c/#Highs_getBasisSolve-NTuple{5,%20Any} |
Beta Was this translation helpful? Give feedback.
-
It's just introductory text. I can add that the "how" is outlined below. Remember that you're utterly fluent in all the detailed things that different solvers can do. Most basic users of HiGHS won't have to use more than 10% of its functionality. I was even thinking of moving model modification to the "Advanced" part of the Guide. |
Beta Was this translation helpful? Give feedback.
-
Here are some thoughts on improving the documentation. As a general guide, we should aim for something like https://diataxis.fr.
Each of the "Interfaces" could use a tutorial that walks through a simple example, as well as some "How to" guides.
The "Terminology" section is good background explanation.
Guide
My thoughts on the guide is that it is too generic for a novice user. I think we're better off expanding the docs of each interface. For example:
This isn't helpful because it doesn't say what the tools are, how they're called, or how things differ between the interfaces.
We could keep the Guide, and have something like:
Python
Enums
to a higher level? It seems they could go with the options, since they're the same for all interfaces.C
The Gurobi docs have a very nice layout and structure: https://www.gurobi.com/documentation/10.0/refman/c_api_details.html
NULL
, etc.Julia
Other
Beta Was this translation helpful? Give feedback.
All reactions