solver.post(precedence(carpentry, 3, roofing, solver));
solver.post(precedence(ceiling, 3, roofing, solver));
solver.post(precedence(roofing, 1, windows, solver));
solver.post(precedence(windows, 1, painting, solver));
solver.post(precedence(roofing, 1, facade, solver));
solver.post(precedence(plumbing, 8, facade, solver));
solver.post(precedence(roofing, 1, garden, solver));
solver.post(precedence(plumbing, 8, garden, solver));
solver.post(precedence(facade, 2, objective, solver));
solver.post(precedence(garden, 1, objective, solver));
solver.post(precedence(painting, 2, objective, solver));