1. A computer implemented system for developing an optimized workforce schedule for a plurality of agents, each with a combination of defined skills and belonging to a skill group with agents having the same skills, to serve one or more contact types such as telephone calls, email, and other interaction media, a plurality of tour types with defined scheduling rules, located at one or more contact centers each with its own operating hours and time zones, comprising the steps of: (a) acquiring agent requirements, b r h , for each contact type, and for each period and day to be scheduled by a computer; (b) acquiring tour, shift, days-off, and break scheduling rules, agent skill groups, agent availability, and objective criterion to be optimized and its parameters by a computer; (c) formulating the constraints and objective function of a Mixed Integer Programming (MILP) model with the tour types and associated scheduling rules including consistent and non-consistent daily start time requirements, a plurality of relief and lunch breaks each with a duration of one or more planning periods and a break window during which the break must be started and completed, agent requirements for a plurality of contact types and for each period to be scheduled, a plurality of agent skills and skill groups, agent availability, and agent costs by a computer; wherein formulating the constraints and objective function of the MILP model comprises: Minimize 
 Σ jεJ Σ 1εQLk Σ k∈QKj C j k1 Q j k1 +Σ jεJ Σ k∈QKj Σ nεFk Σ h Σ iεQIk c j knhi QX j knhi +Σ rεR Σ t∈Th Σ h P r ht S r ht (c1) Subject to 
 Σ jεMr e jr G jr ht +S r ht −O r ht =b r ht , rεR, tεT h , h= 1,. .. , 7,  (c2) 
 f j ht ( QX, QU, QW, QV )−Σ r∈Nj G jr ht =0 , jεJ, tεT h , h= 1,. .. , 7,  (c3) 
 QX j knhi =Σ t∈QB1knih QU j kniht , jεJ, nεFk, iεQI k , k∈QK j , h= 1,. .. , 7,  (c4) 
 QX j knhi =Σ t∈QB2knih QW j kniht , jεJ, nεFk, iεQI k , k∈QK j , h= 1,. .. , 7,  (c5) 
 QX j knhi =Σ t∈QB3knih QV j kniht , jεJ, nεFk, iεQI k , k∈QK j , h= 1,. .. , 7,  (c6) 
 Σ 1εQLk A k1h Q j k1 =Σ nεFk Σ iεQIk QX j knhi , jεJ, k∈QK j , h= 1,. .. , 7,  (c7) 
 Σ 1εQLk Q j k1 <QD j k max , jεJ, k∈QK j ,  (c8) 
 QX j knhi , Q j k1 , QU j kniht , QW j kniht , and QV j kniht >0 and integer for all j, k, n, i, h, t , and G jr ht , S r ht , and O r ht >0 for all j, r, h , and t, (c9) where, in constraint (c3), 
 f j ht ( QX, QU, QW, QV )=Σ k∈QKj Σ nεFk Σ iεQIk a kniht QX j knhi −Σ k∈QKj Σ nεFk Σ iεQT1knht QU j kniht −Σ k∈QKj Σ nεFk Σ iεQT2knht ( QW j kniht +QW j knih(t−1) )−Σ k∈QKj Σ nεFk Σ iεQT3knht QV j kniht , jεJ, tεT h , h= 1,. .. , 7,  (c10) where F k is the set of shift lengths specified for tour k; J is the set of all skill groups; R is the set of all contact groups; T h is the set of all planning periods in day h; OI k is the set of daily start times for tour k; QK j is the set of all possible tours including both requiring and not requiring consistent daily start times for scheduling agents in skill group j; when a tour requires consistent daily start times, a pseudo tour is defined for each start time of the tour with the same tour, shift, break, and work and non-work rules, and included in QI k and QK j ; QL k is the set of all allowed work day patterns for the agents assigned to tour k; only the work patterns satisfying the work and non-work day rules specified for tour k are included in QL k ; QB1 knih is the set of planning periods on day h during which an agent assigned to tour k and shift length n with a daily start time of i may start his/her first relief break and complete within the time window specified for this tour group, shift length, start time, and day; QB2 knih is the set of planning periods on day h during which an agent assigned to tour k and shift length n with a daily start time of i may start his/her lunch break and complete within the time window specified for this tour group, shift length, start time, and day; QB3 knih is the set of planning periods on day h during which an agent assigned to tour k and shift length n with a daily start time of i may start his/her second relief break and complete within the time window specified for this tour group, shift length, start time, and day; QT1 knht is the set of daily start times for shift length n for tour k for which period t on day h is a first relief break start period; QT2 knht is the set of daily start times for shift length n for tour k for which period t on day h is a lunch break start period; QT3 knht is the set of daily start times for shift length n for tour k for which period t on day h is a second relief break start period; M r is the set of skill groups that can serve contact type r; Nj is the set of contact types that skill group j is qualified to provide service; a kniht is equal to one when period t on day h is in the shift span (that is, a work or a break period) of agents assigned to tour k who have a daily start time of i and shift length n on day h, and zero otherwise; A k1h is equal to one when day h is a work day for agents assigned to tour k and work pattern 1, and zero otherwise; C j k1 is the weekly cost of assigning an agent in skill group j to tour k with work pattern of 1; c j knhi is the daily wage paid in addition to the weekly cost of C j k1 to agents in skill group j assigned to tour type k with a daily shift length of n and start time of i on day h; b r ht is the number of agents with the highest skill proficiency to serve contact type rεR required in period t on day h; P r ht is the per-unit penalty cost for allocating fewer than the number of agents with skill to serve contact type rεR required b r ht , in period t on day h; e jr is the relative efficiency of an agent from skill group j in serving contact type r with respect to an agent with the highest skill proficiency (100% efficiency level) for contact type r, e jr ε[0, 1]; QD j k max is the maximum number of agents available in skill group j to assign to tour k; where decision variables whose values are determined by a solution to the MILP model are defined as: shift variables: QX j knhi is the number of agents in skill group j assigned to tour k and shift length n with a daily starting time of i on day h; break variables: QU j kniht is the number of agents in skill group j assigned to tour k and shift length n with a daily start time of i and starting their first relief breaks in period t on day h; QW j kniht is the number of agents in skill group j assigned to tour k and shift length n with a daily start time of i and starting their lunch breaks in period t on day h; when a tour has more than one lunch break to be scheduled during a shift, then a set of break variables and constraints are defined for each lunch break type in the same manner with QW j kniht variables and constraints (c5), and included in constraint (c3); a lunch break variable may be two or more periods long; a lunch break variable will appear in all periods on the left hand side of (c3) with a negative sign during which the agents assigned to the associate break start time will be on break; QV j kniht is the number of agents in skill group j assigned to tour k and shift length n with a daily start time of i and starting their second relief breaks in period t on day h; when a tour has more than two relief breaks to be scheduled during a shift, then a set of break variables and constraints are defined for each break type in the same manner with QU j kniht and QV j kniht variables and constraints (c4) and (c6), and included in constraint (c3) A relief break variable may be one or more periods long; a relief break variable will appear in all periods on the left hand side of (c3) with a negative sign during which the agents assigned to that break start time will be on break; work pattern variables: Q j k1 is the number of agents in skill group j assigned to tour k with a work pattern of 1; allocation variables: G jr ht is the number of agents from skill group j scheduled and not on a break in planning period t on day h, and allocated to contact type r; shortage variables: S r ht is the total agent shortages on the left hand side of constraint (c2) in meeting the required number of agents, b r ht , with skill to serve contact type rεR in planning period t on day h; excess variables: O r ht is the total overstaffing on the left hand side of constraint (c2) in excess of the required number of agents, b r ht , with skill to serve contact type rεR in planning period t on day h; variable sets QX={QX j knhi : j∈J, n∈F k , k∈QK j , i∈I k , h=1,. .. , 7} is the set of shift variables QX j knhi ; QU, QW, and QV are defined similar to the set QX to include, respectively, the first relief break, lunch, and second relief break variables (e.g. the set QU includes QU j kniht , QW includes QW j kniht ) for skill groups in J, nεF k , k∈QK j , i∈I k , h=1,. .. , 7, and t∈QB1 knih for QU, t∈QB2 knih for QW, and t∈QB3 knih for QV; to facilitate the presentation of function (c10), planning period index (t−1) is used; if (t−1) is in one day and planning period t in the next day, planning period and day indexes are adjusted accordingly; for example, if a planning period is 15 minutes long and period 96 is starting period for a lunch break variable on day h, then the second planning period for this variable is not period 97, which is in the next day, but period 1 of day (h+1); likewise if (h+1) is beyond the end of the scheduling period, schedules “wrap around” and agent availabilities appear in the first of the scheduling period; if some tours have four or more break types to be scheduled, one set for each break type is defined in the same manner with QU, QW, and QV; the function f j ht (QX, QU, QW, QV) includes the decision variables for skill group j in QX, and the sets of break variables (e.g. QU, QW, QV) only, and G={G jr ht : j∈J, r∈R, t∈T h , h=1,. .. , 7} is the set of variables G jr ht ; (d) obtaining the Linear Programming (LP) relaxation of the MILP model in the Branch and Cut (B&C) algorithm by relaxing all integrality constraints on the decision variables, solving the LP relaxation, and stopping the B&C algorithm with an optimal solution to the MILP model when the optimal solution of the LP relaxation satisfies all integrality constraints by a computer; (e) calling the Rounding Algorithm (RA) consisting of the following steps by a computer when the solution to the LP relaxation of the MILP model violating some integrality constraints is found by the B&C algorithm: i. Obtaining the values of the decision variables in the optimal solution found for the LP relaxation of the MILP model; ii. Rounding the fractional values of decision variables in QX, QU, QW, QV, and G down, and weekly tour variables QX, and work pattern variables Q j k1 down when their fractional part is less than or equal to 0.50, and up if greater than 0.50, provided the agent availability constraints on the maximum number of agents available are not violated; iii. Scheduling additional shifts by increasing the values of decision variable in QX if additional shifts are needed to satisfy the number of work days required by tour scheduling rules for each agent, and to have a shift scheduled for every agent who will be working on a given day based on the work patterns Q j k1 scheduled; iv. Scheduling additional daily breaks when the number of breaks of each type is not sufficient to satisfy break scheduling rules for a tour for each day, daily shift length and start time, and unscheduling breaks when there are more breaks scheduled than required by a tour for a day, shift length and start time, due to rounding; v. Computing the left side of constraint (c2) using the values determined in steps (1-iv) for the decision variables, subtracting the right side from the left side of constraint (c2, and determining agent shortages S r ht , when the difference is negative, and excesses O r ht , when the difference is positive, for each contact type and planning period; vi. Computing scheduled agent availability for all skill groups and planning periods in (c10), comparing them with the agent allocations to different contact types by the rounded values of allocation variables G, and adjusting the values of the associated allocation, G, shortage, S r ht , and excess, O r ht , variables to make agent allocations equal to scheduled agent availability in (c10) and satisfy (c2); vii. Checking the solution constructed in steps (i) through (vi) to determine if all agent requirements are met in every planning period and, when all requirements are met, eliminating all redundant agent tour schedules that do not create agent shortages in any period when removed by lowering the values of related shift, break, and work pattern variables and stopping with the integer feasible solution found; viii. Continuing to step (xii) with an integer feasible solution with agent shortages when agent requirements for some contact types are not met in all periods and all available agents in constraint (c8) who can serve these contact types are scheduled; ix. Continuing to step (x) when there are agents available to schedule when left hand side of (c8) is less than its right hand side for one or more skill groups and there shortages in some periods for some contact types served by these skill groups; x. finding all periods in which some contact types have shortages, finding an agent with skills needed, from a skill group for which the left side of (c8) is less than its right side, together with a complete tour schedule with work and non-work days, daily shift start times and shift lengths, daily break times to reduce the agent shortages for one or more contact types, and adding them to the solution by increasing the values of the corresponding decision variables by one to include the newly added agent tour schedule, and continuing to step (xii) when all agent requirements are met; xi. repeating steps (viii), (ix), and (x) until all agent requirements are met, or agent requirements for some contact types are not met in all periods and all available agents in constraint (c8) who can serve these contact types are scheduled; xii. Examining the tours scheduled in the integer feasible solution found and eliminating redundant tours that do not create new agent shortages in any period when removed by lowering the values of related shift, break, and work pattern variables; (f) applying the RA algorithm to the solution found for the LP relaxation of the MILP model (current node) by the B&C algorithm when it violates one or more integrality conditions and, when a solution better than the best integer solution known is found by the RA algorithm, passing it to the B&C algorithm by a computer.