You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/installation.md
+4-24Lines changed: 4 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ HiGHS uses CMake as build system, and requires at least version
7
7
8
8
## HiGHS with HiPO
9
9
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.
11
11
12
12
#### BLAS
13
13
@@ -29,35 +29,15 @@ Note, that `[threads]` is required for HiPO.
29
29
30
30
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`.
31
31
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
53
33
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.
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.
Copy file name to clipboardExpand all lines: docs/src/solvers.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,9 +51,10 @@ HiGHS has two interior point (IPM) solvers:
51
51
within the interior point solver: select "augmented" to force the solver to use the augmented system, "normaleq" for normal
52
52
equations, or "choose" to leave the choice to the solver.
53
53
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".
57
58
58
59
Setting the option [__solver__](@ref option-solver) to "ipm" selects the HiPO solver, if the build supports it, otherwise it selects the IPX solver.
0 commit comments