ArticleslgStudy

computer science

HiGHS optimization solver

HiGHS optimization solver is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand HiGHS optimization solver rather than just read about it. In short: HiGHS is open-source software to solve linear programming (LP), mixed-integer programming (MIP), and convex quadratic programming (QP) models. Written in C++ and published under an MIT license, HiGHS provides programming interfaces to C, Python, Julia, Rust, R, JavaScript, Fortran, and C#.

HiGHS optimization solver — main illustration
HiGHS optimization solver — illustration

Key takeaways

  • HiGHS optimization solver belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect HiGHS optimization solver to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of HiGHS optimization solver from memory before moving on to harder problems.

Reference excerpt

HiGHS is open-source software to solve linear programming (LP), mixed-integer programming (MIP), and convex quadratic programming (QP) models. Written in C++ and published under an MIT license, HiGHS provides programming interfaces to C, Python, Julia, Rust, R, JavaScript, Fortran, and C#. It has no external dependencies. A convenient thin wrapper to Python is available via the highspy PyPI package. HiGHS is also callable via NuGet. Although generally single-threaded, some solver components can utilize multi-core architectures and, from Version 1.10.0, can run its first order LP solver on NVIDIA GPUs. HiGHS is designed to solve large-scale models and exploits problem sparsity. Its performance relative to commercial and other open-source software is reviewed periodically using industry-standard benchmarks. The term HiGHS may also refer to both the underlying project and the small team leading the software development.

History HiGHS is based on solvers written by PhD students from the Optimization and Operational Research Group  in the School of Mathematics at the University of Edinburgh. Its origins can be traced back to late 2016, when Ivet Galabova combined her LP presolve with Julian Hall's simplex crash procedure and Huangfu Qi's dual simplex solver to solve a class of industrial LP problems faster than the best open-source solvers at that time. Since then, a C++ API and other language interfaces have been developed, and modelling utilities and other categories of solver have been added. In early‑2022, the GenX and PyPSA open energy system modelling projects endorsed a funding application for the HiGHS solver in an effort to reduce their community reliance on proprietary libraries.

Solvers

Simplex HiGHS has implementations of the primal and dual revised simplex method for solving LP problems, based on techniques described by Hall and McKinnon (2005), and Huangfu and Hall (2015, 2018). These include the exploitation of hyper-sparsity when solving linear systems in the simplex implementations and, for the dual simplex solver, exploitation of multi-threading. The simplex solver's performance relative to commercial and other open-source software is regularly reported using industry-standard benchmarks.

Interior point HiGHS has an interior point method implementation for solving LP problems, based on techniques described by Schork and Gondzio (2020). It is notable for solving the Newton system iteratively by a preconditioned conjugate gradient method, rather than directly, via an LDL* decomposition. The interior point solver's performance relative to commercial and other open-source software is regularly reported using industry-standard benchmarks. Version 1.12 saw the introduction of an interior point method implementation for solving LP problems, based on techniques described by Zanetti and Gondzio (2025). This optional feature is named HiPO and is dependent on the BLAS library.

Mixed integer programming HiGHS has a branch-and-cut solver for MIP problems. Its performance relative to commercial and other open-source software is regularly reported using industry-standard benchmarks.

Quadratic programming HiGHS has an active set solver for convex quadratic programming (QP) problems.

Applications using HiGHS HiGHS can be used as a stand‑alone solver library in bespoke applications, but numerical computing environments, optimization programming packages, and domain‑specific numerical analysis projects are starting to incorporate the software into their systems also.

Numerical computing support As powerful open‑source software under active development, HiGHS is increasingly being adopted by application software projects that provide support for numerical analysis. The SciPy scientific library, for instance, uses HiGHS as its LP solver  from release 1.6.0  and the HiGHS MIP solver for discrete optimization from release 1.9.0. As well as offering an interface to HiGHS, the JuMP modelling language for Julia  also describes the specific use of HiGHS in its user documentation. The MIP solver in the NAG library is based on HiGHS , and HiGHS is the default LP and MIP solver in the MathWorks Optimization Toolbox .

Open energy system models HiGHS is now also used by some domain‑specific applications, including one open energy system modeling environment. The web‑based version of the PyPSA European multi‑sector model deploys the HiGHS solver by default from February 2022. The GridCal project developing research‑oriented power systems software added optional support for HiGHS in February 2022. In early 2026, Open Energy Transition undertook some domain‑specific benchmarking.

See also List of optimization software Mathematical optimization Numerical benchmarking Simplex method

External links GitHub repository Software documentation

References

Illustrations

HiGHS optimization solver illustration

Worked examples

Example 1 — a first encounter with HiGHS optimization solver

Start with the simplest possible case. Write down what HiGHS optimization solver claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to HiGHS optimization solver before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about HiGHS optimization solver ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of HiGHS optimization solver

In research
HiGHS optimization solver appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses HiGHS optimization solver in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
HiGHS optimization solver is common in secondary-school and first-year university syllabi. It links to neighbouring topics Free software programmed in C++, Linear programming, Mathematical optimization software, so understanding it makes those chapters shorter.
In everyday life
Look for HiGHS optimization solver outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study HiGHS optimization solver in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what HiGHS optimization solver means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain HiGHS optimization solver out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is HiGHS optimization solver in simple terms?

HiGHS is open-source software to solve linear programming (LP), mixed-integer programming (MIP), and convex quadratic programming (QP) models. Written in C++ and published under an MIT license, HiGHS provides programming interfaces to C, Python, Julia, Rust, R, JavaScript, Fortran, and C#.

Why does HiGHS optimization solver matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study HiGHS optimization solver?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on HiGHS optimization solver.

Tags

  • Free software programmed in C++
  • Linear programming
  • Mathematical optimization software
  • Optimization algorithms and methods
  • Software using the MIT license

Keep exploring