  Ising machines are hardware solvers which aim to find the absolute or
approximate ground states of the Ising model. The Ising model is of fundamental
computational interest because it is possible to formulate any problem in the
complexity class NP as an Ising problem with only polynomial overhead. A
scalable Ising machine that outperforms existing standard digital computers
could have a huge impact for practical applications for a wide variety of
optimization problems. In this review, we survey the current status of various
approaches to constructing Ising machines and explain their underlying
operational principles. The types of Ising machines considered here include
classical thermal annealers based on technologies such as spintronics, optics,
memristors, and digital hardware accelerators; dynamical-systems solvers
implemented with optics and electronics; and superconducting-circuit quantum
annealers. We compare and contrast their performance using standard metrics
such as the ground-state success probability and time-to-solution, give their
scaling relations with problem size, and discuss their strengths and
weaknesses.
