1. A method of interpreting an image comprising: finding a configuration of multiple variables which optimizes an objective function with a factorizable upper bound, where factorizable means that the upper bound is, or can be manipulated into the form of a sum of non-interacting parts or a product of non-negative interacting parts by: applying an iterative algorithm that relies on efficient dynamic ordering of elements known as candidate configurations, in a priority queue, in a descending order of an upper bound score.