1. A method of solving a discrete optimization problem using an analog optimization device, the method comprising: receiving an objective function and at least one constraint corresponding to the discrete optimization problem; converting the objective function into a first set of inputs for the analog optimization device; converting the at least one constraint into a second set of inputs for the analog optimization device; generating a third set of inputs wherein the thirds set of inputs is at least indicative of at least one penalty coefficient; processing the first set of inputs, the second set of inputs and the third set of inputs with the analog optimization device; and reading out a final state of the analog optimization device wherein at least a portion of a solution to the discrete optimization problem corresponds to the final state of the analog optimization device.