1. A method of solving a discrete optimization problem using a quantum computer, 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 quantum computer; converting the at least one constraint into a second set of inputs for the quantum computer; categorizing the constraints as either linear constraints or non-linear constraints, and wherein there are at least two constraints and the second set of inputs is comprised of a first subset of linear constraint inputs and a second subset of non-linear constraint inputs; 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 quantum computer; and reading out a final state of the quantum computer wherein at least a portion of a solution to the discrete optimization problem corresponds to the final state of the quantum computer.