Split a set of numbers into 2 sets, where the sum of each set is as close to one another as possible

Given a set of numbers, I’d like to split this set into 2 sets, where the sum of each set is as close to equal as possible. How would I go about doing this in a programmatic way?

Thanks in advance for any help!

EDIT: reworded for clarity perhaps?

“Given a set of integers, find a subset whose sum comes as close as possible to half the total of the entire set, without exceeding said total”

Solutions Collecting From Web of "Split a set of numbers into 2 sets, where the sum of each set is as close to one another as possible"