A method of dynamically scheduling a workforce includes obtaining workforce
requirements, attributes and employee preferences, determining a workforce
schedule based on the workforce requirements and attributes, determining a
schedule value based on workforce requirements and employee preferences,
and iteratively modifying the workforce schedule, determining a schedule
value based on workforce requirements and preferences for the modified
workforce schedule, and comparing schedule values to determine a best
workforce schedule.