Experiments with the integration of reasoning, optimization and generalization in process planning