A struct to hold the volatile state of each step of the annealing algorithm.
@type item_list() :: list()
@type t() :: %Annealing.Material{ energy: float(), items: item_list(), temperature: float() }