1. A method for operation of a system for determining a set of plans that best match a set of preferences, said method comprising: receiving at least one goal to be accomplished by the set of plans, where the at least one goal is received by a goal specification interface; receiving a pattern that includes preferences from at least one user, where a preference engine receives the pattern, wherein preferences include at least one of the following: an occurrence of at least one component, a non-occurrence of at least one component, an occurrence of at least one component over at least one other component, an ordering between at least two components, an existence of at least one tag in a final stream, an existence of at least one tag over at least one other tag in the final stream, and a non-existence of at least one tag in the final stream; generating a planning problem based on the received at least one goal and the received pattern, where the preference engine generates the planning problem; generating a set of plans, where at least one planner generates the set of plans, wherein the set of plans includes the top-k plans, wherein generating the set of plans includes using the preferences to determine which plans best match the preferences using for each plan found by the planner a sum of a satisfaction number for each preference with the top-k plans being the k plans with the lowest sums of satisfaction numbers, wherein the satisfaction number for each preference is modified by a multiplier representing a priority level of the preference; and providing the set of plans for selection of one plan to deploy.