HiGHS#
A leading free solver that has evolved from a large-scale optimization project at the University of Edinburgh. HiGHS is open-source software to solve linear programming, mixed-integer programming, and convex quadratic programming models. The framework used by the driver supports automatic reformulation for many expression types; the modeling guide can be found here.
[Read More] [Modeling guide] [Options] [Changes] [Download HiGHS]
How to use it#
ampl: option solver highs; # change the solver
ampl: option highs_options 'option1=value1 option2=value2'; # specify options
ampl: solve; # solve the problem
How to install using amplpy:
# Install Python API for AMPL:
$ python -m pip install amplpy --upgrade
# Install AMPL & solver modules:
$ python -m amplpy.modules install highs # install HiGHS
# Activate your license (e.g., free ampl.com/ce or ampl.com/courses licenses):
$ python -m amplpy.modules activate <your-license-uuid>
How to use:
from amplpy import AMPL
ampl = AMPL()
...
ampl.solve(solver="highs", highs_options="option1=value1 option2=value2")
Learn more about what we have to offer to implement and deploy Optimization in Python.
Resources#
Solver options#
Full list of solver options:
More details on solver options: Features guide.
Retrieving solutions#
The outcome of the last optimization is stored in the AMPL parameter solve_result_num
and the relative message in
solve_result
.
display solve_result_num, solve_result;
HiGHS solve result codes can be obtained by running highs -!
or ampl: shell "highs -!";
:
0- 99 solved: optimal for an optimization problem, feasible for a satisfaction problem
100-199 solved? solution candidate returned but error likely
150 solved? MP solution check failed (option sol:chk:fail)
200-299 infeasible
300-349 unbounded, feasible solution returned
350-399 unbounded, no feasible solution returned
400-449 limit, feasible: stopped, e.g., on iterations or Ctrl-C
450-469 limit, problem is either infeasible or unbounded
470-499 limit, no solution returned
500-999 failure, no solution returned
550 failure: numeric issue, no feasible solution
For general information, see MP result codes guide.
Changelog#
- HiGHS Changelog
- 20241119
- 20240724
- 20240627
- 20240617
- 20240604
- 20240529
- 20240429
- 20240320
- 20240307
- 20240115
- 20231117
- 20231109
- 20231103
- 20231017
- 20230919
- 20230831
- 20230817
- 20230728
- 20230726
- 20230724
- 20230621
- 20230616
- 20230531
- 20230522
- 20230424
- 20230227
- 20230224
- 20230222
- 20230209
- 20230207
- 20221228
- 20221222
- 20221211
- 20221012
- 20220928
- 20220603
- 20220524