Skip to content

Commit 0d84127

Browse files
committed
Fix documentation
1 parent 2296b3c commit 0d84127

File tree

3 files changed

+9
-28
lines changed

3 files changed

+9
-28
lines changed

docs/src/installation.md

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ HiGHS uses CMake as build system, and requires at least version
77

88
## HiGHS with HiPO
99

10-
HiGHS does not have any external dependencies, however, the new interior point solver HiPO uses BLAS and Metis. At the moment HiPO is optional and can be enabled via CMake. To build HiPO, you need to have Metis and BLAS installed on your machine. Please follow the instructions below.
10+
HiGHS does not have any external dependencies, however, the new interior point solver HiPO uses BLAS. At the moment HiPO is optional and can be enabled via CMake. To build HiPO, you need to have BLAS installed on your machine. Please follow the instructions below.
1111

1212
#### BLAS
1313

@@ -29,35 +29,15 @@ Note, that `[threads]` is required for HiPO.
2929

3030
To specify explicitly which BLAS vendor to look for, `BLA_VENDOR` coud be set in CMake, e.g. `-DBLA_VENDOR=Apple` or `-DBLA_VENDOR=OpenBLAS`. Alternatively, to specify which BLAS library to use, set `BLAS_LIBRARIES` to the full path of the library e.g. `-DBLAS_LIBRARIES=/path_to/libopenblas.so`.
3131

32-
#### Metis
33-
There are some known issues with Metis so the recommented version is in [this fork](https://github.com/galabovaa/METIS/tree/521-ts), branch 521-ts. This is version 5.2.1 with several patches for more reliable build and execution. Clone the repository with
34-
```
35-
git clone https://github.com/galabovaa/METIS.git
36-
cd METIS
37-
git checkout 521-ts
38-
```
39-
40-
Then build with
41-
```
42-
cmake -S. -B build \
43-
-DGKLIB_PATH=/path_to_METIS_repo/GKlib \
44-
-DCMAKE_INSTALL_PREFIX=path_to_installs_dir
45-
cmake --build build
46-
cmake --install build
47-
```
48-
49-
On Windows, do not forget to specify configuration type
50-
```
51-
cmake --build build --config Release
52-
```
32+
#### External ordering heuristics
5333

54-
If you compile HiGHS with 64-bit integers (HIGHSINT64=ON), then Metis must also be compiled with 64-bit integers.
34+
HiPO also relies on a fill-reducing ordering heuristic. HiGHS includes the source code of Metis, AMD and RCM, three open-source ordering heuristics. Their source code is already part of the HiGHS library, so there is no need to link them. In particular, there is no need to have Metis installed separately, as in previous versions of HiPO. These source codes can be found in extern/metis, extern/amd, extern/rcm, together with the respective license files. Notice that the HiGHS source code is MIT licensed. However, if you build HiGHS with HiPO support, then libhighs and the HiGHS executables are licensed Apache 2.0, due to the presence of Metis and AMD.
5535

5636
### HiPO
5737

5838
To install HiPO, on Linux and MacOS, run
5939
```
60-
cmake -S. -B build -DHIPO=ON -DMETIS_ROOT=path_to_installs_dir
40+
cmake -S. -B build -DHIPO=ON
6141
```
6242
On Windows, you also need to specify the path to OpenBLAS. If it was installed with vcpkg as suggested above, add the path to `vcpkg.cmake` to the CMake flags, e.g.
6343
```

docs/src/options/definitions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@
434434
- Type: string
435435
- Default: "both"
436436

437-
## hipo\_ordering
437+
## [hipo\_ordering](@id option-hipo-ordering)
438438
- HiPO matrix reordering: "metis", "amd", "rcm" or "choose"
439439
- Type: string
440440
- Default: "choose"

docs/src/solvers.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,10 @@ HiGHS has two interior point (IPM) solvers:
5151
within the interior point solver: select "augmented" to force the solver to use the augmented system, "normaleq" for normal
5252
equations, or "choose" to leave the choice to the solver.
5353

54-
HiPO uses Metis internally to reorder the Newton system matrix. In case of large fill-in in the factorisation, two alternatives are available for users to try:
55-
* Setting the [hipo\_metis\_no2hop](@ref option-hipo-metis-no2hop) option to "true" may improve the quality of the ordering in some cases.
56-
* Linking the Metis library from branch 510-ts in [this fork](https://github.com/galabovaa/METIS/tree/510-ts), instead of branch 521-ts, may improve the quality of the ordering in some cases. This is available only if HiGHS is compiled from source.
54+
The option [hipo\_ordering](@ref option-hipo-ordering) can be used to select the fill-reducing heuristic to use during the factorisation:
55+
* Nested dissection, obtained setting the option [hipo\_ordering](@ref option-hipo-ordering) to "metis".
56+
* Approximate mininum degree, obtained setting the option [hipo\_ordering](@ref option-hipo-ordering) to "amd".
57+
* Reverse Cuthill-McKee, obtained setting the option [hipo\_ordering](@ref option-hipo-ordering) to "rcm".
5758

5859
Setting the option [__solver__](@ref option-solver) to "ipm" selects the HiPO solver, if the build supports it, otherwise it selects the IPX solver.
5960

0 commit comments

Comments
 (0)