// the designer will need to use
DesignerInfo info = new DesignerInfo(args);
// Upper Bounds
Designer designer = new Designer(info, args.designer_hints, args);
PartitionPlan initial_solution = new MostPopularPartitioner(designer, info).generate(args.designer_hints);
initial_solution.apply(args.catalog_db);
// Calculate the actual cost too while we're at it...
TimeIntervalCostModel<SingleSitedCostModel> cm = new TimeIntervalCostModel<SingleSitedCostModel>(args.catalogContext, SingleSitedCostModel.class, args.num_intervals);
cm.applyDesignerHints(args.designer_hints);