An expert system is used to recommend a customized solution for a
customer. The expert system includes a set of scenarios each of which
includes default facts and is associated with a detailed rule base that
when applied in isolation to the default facts fully determines a
prototype solution. A particular scenario is selected from the set based
at least on user input. A customized solution is generated by applying
the detailed rule base associated with the particular scenario to facts
based at least on the user input and any default facts of the particular
scenario that complement and do not conflict with the facts that are
based at least on the user input. The customized solution is iteratively
refined.