Skip to content

Commit

Permalink
Added src/solvers.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jajhall committed Sep 10, 2024
1 parent 0f31d20 commit 54b575e
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 17 deletions.
4 changes: 3 additions & 1 deletion docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
* *
* This file is part of the HiGHS linear optimization suite *
* *
* Written and engineered 2008-2023 by Julian Hall, Ivet Galabova, *
* Written and engineered 2008-2024 by Julian Hall, Ivet Galabova, *
* Leona Gottwald and Michael Feldmeier *
* *
* Available as open-source under the MIT License *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *=#
Expand Down Expand Up @@ -90,6 +91,7 @@ Documenter.makedocs(
"options/definitions.md"
],
"Parallel" => "parallel.md",
"Solvers" => "solvers.md",
"Terminology" => "terminology.md",
],
)
Expand Down
21 changes: 5 additions & 16 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,23 +54,12 @@ calls. These can be studied via the [C++ header file](https://github.com/ERGO-Co

The C interface cannot make use of the C++ structures and enums, and its methods are documented [explicitly](@ref c-api).

## Solution algorithms

For LPs, HiGHS has implementations of both the revised simplex and interior
point methods. MIPs are solved by branch-and-cut, and QPs by active set.

For LP, the novel features of the dual simplex solver are described in
_Parallelizing the dual revised simplex method_, Q. Huangfu and
J. A. J. Hall, Mathematical Programming Computation, 10 (1), 119-142,
2018 [DOI:
10.1007/s12532-017-0130-5](https://link.springer.com/article/10.1007/s12532-017-0130-5). For
the interior point solver, the reference is _Implementation of an
interior point method with basis preconditioning_, Mathematical
Programming Computation, 12, 603-635, 2020. [DOI:
10.1007/s12532-020-00181-8](https://link.springer.com/article/10.1007/s12532-020-00181-8). There
are no specific references to the techniques used in the MIP or QP
solvers.
## Solvers

For LPs, HiGHS has implementations of the revised simplex method,
interior point method, and PDLP first order method. MIPs are solved by
branch-and-cut, and QPs by active set. More information on the HiGHS
solvers is [available](@ref solvers).

## Citing HiGHS

Expand Down
46 changes: 46 additions & 0 deletions docs/src/solvers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# [Solvers](@id solvers)

## LP

HiGHS has implementations of the three main solution techniques for
LP. HiGHS will choose the most appropriate technique for a given
problem, but this can be over-ridden by setting the option
[__solver__](solver).

### Simplex

HiGHS has efficient implementations of both the primal and dual
simplex methods, although the dual simplex solver is likely to be
faster and is more robust, so is used by default. The novel features
of the dual simplex solver are described in

_Parallelizing the dual revised simplex method_, Q. Huangfu and
J. A. J. Hall, Mathematical Programming Computation, 10 (1), 119-142,
2018 [DOI:
10.1007/s12532-017-0130-5](https://link.springer.com/article/10.1007/s12532-017-0130-5).

The option [__simplex\_strategy__](simplex\_strategy) determines whether the primal solver or one of hte parallel solvers is to be used.

### Interior point

HiGHS has one interior point solver based on the preconditioned conjugate gradient method, as discussed in

_Implementation of an interior point method with basis
preconditioning_, Mathematical Programming Computation, 12, 603-635,
2020. [DOI:
10.1007/s12532-020-00181-8](https://link.springer.com/article/10.1007/s12532-020-00181-8).

This solver is serial. An interior point solver based on direct factorization is being developed.

### MIP

The HiGHS MIP solver uses established branch-and-cut techniques

### QP

The HiGHS solver for convex QP problems uses an established primal
active set method. The new interior point solver will also be able to
solve convex QP problems.



0 comments on commit 54b575e

Please sign in to comment.