A computer-implemented method for optimizing control of a process includes a computer receiving a process definition and a collection of elements to be arranged in a way that optimizes the utility of the process; initializing the process using a collection of discrete elements (stops, events, work orders, tasks, locations, etc.), and producing a solution for the collection by inserting the elements into the solution using the Minimum Insertion Heuristic; modifying the order of the elements to be inserted and continuing the process to produce solutions with better scores; and continuing to produce solutions based on improving the order of insertion until the process is determined to be sufficiently optimized.