A schedule or a timetable, as a basic time-management tool, consists of a list of times at which possible tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order in which such things are intended to take place. The process of creating a schedule — deciding how to order these tasks and how to commit resources between the variety of possible tasks — is called scheduling,[1] [2] and a person responsible for making a particular schedule may be called a scheduler. Making and following schedules is an ancient human activity.[3]
Some scenarios associate this kind of planning with learning life skills.[4] [5] Schedules are necessary, or at least useful, in situations where individuals need to know what time they must be at a specific location to receive a specific service, and where people need to accomplish a set of goals within a set time.
Schedules can usefully span both short periods, such as a daily or weekly schedule, and long-term planning for periods of several months or years.[6] They are often made using a calendar, where the person making the schedule can note the dates and times at which various events are planned to occur. Schedules that do not set forth specific times for events to occur may instead list algorithmically an expected order in which events either can or must take place.
In some situations, schedules can be uncertain, such as where the conduct of daily life relies on environmental factors outside human control.[7] People who are vacationing or otherwise seeking to reduce stress and achieve relaxation may intentionally avoid having a schedule for a certain period of time.[8]
Certain kinds of schedules reflect information that is generally made available to the public, so that members of the public can plan certain activities around them. These may include things like:
An internal schedule is a schedule that is only of importance to the people who must directly abide by it. It has been noted that "groups often begin with a schedule imposed from the outside, but effective groups also develop an internal schedule that sets goals for the completion of micro-tasks".[9] Unlike schedules for public events or publicly available amenities, there is no need to go to the time and effort of publicizing the internal schedule. To the contrary, an internal schedule may be kept confidential as a matter of security or propriety.
An example of an internal schedule is a workplace schedule, which lists the hours that specific employees are expected to be in a workplace, ensure sufficient staffing at all times while in some instances avoiding overstaffing. A work schedule for a business that is open to the public must correspond to the hours of operation of the business, so that employees are available at times when customers are able to use the services of the business. One common method of scheduling employees to ensure the availability of appropriate resources is a Gantt chart. Another example of an internal schedule is the class schedule of an individual student, indicating what days and times their classes will be held.
See main article: Schedule (project management). A schedule may also involve the completion of a project with which the public has no interaction public prior to its completion. In project management, a formal schedule will often be created as an initial step in carrying out a specific project, such as the construction of a building, development of a product, or launch of a program. Establishing a project management schedule involves listing milestones, activities, and deliverables with intended start and finish dates, of which the scheduling of employees may be an element.[10] A production process schedule is used for the planning of the production or the operation, while a resource schedule aids in the logistical planning for sharing resources among several entities.
In such cases, a schedule "is obtained by estimating the duration of each task and noting any dependencies amongst those tasks".[2] Dependencies, in turn, are tasks that must be completed in order to make other tasks possible, such as renting a truck before loading materials on the truck (since nothing can be loaded until the truck is available for things to be loaded on).[2] Scheduling of projects, therefore, requires the identification of all of the tasks necessary to complete the project, and the earliest time at which each task can be completed.[2] In creating a schedule, a certain amount of time is usually set aside as a contingency against unforeseen days. This time is called scheduling variance,[11] or float,[12] and is a core concept for the critical path method.
Scheduling is important as an internal process in computer science, wherein a database transaction schedule is a list of actions from a set of transactions in databases, and scheduling is the way various processes are assigned in computer multitasking and multiprocessing operating system design. This kind of scheduling is incorporated into the computer program, and the user may be completely unaware of what tasks are being carried out and when. Scheduling operations and issues in computing may include:
Wireless networks should have a flexible service architecture to integrate different types of services on a single air-interface because terminals have different service requirements. On top of the flexible service architecture, effective quality of service (QoS) management schemes are also needed. Therefore, wireless resources need to be shared among all terminals carefully and it is desirable to schedule the usage of wireless resources as efficiently as possible, while maximizing the overall network performance.[13]
The scheduling of resources, usually subject to constraints, is the subject of several problems that are in the area of research known as operations research, usually in terms of finding an optimal solution or method for solving.
For example, the nurse scheduling problem is concerned with scheduling a number of employees with typical constraints such as rotation of shifts, limits on overtime, etc. The travelling salesman problem is concerned with scheduling a series of journeys to minimize time or distance. Some of these problems may be solved efficiently with linear programming, but many scheduling problems require integer variables. Although efficient algorithms exist to give integer solutions in some situations (see network flow models), most problems that require integer solutions cannot yet be solved efficiently.
Scheduling is useful in transportation planning. The important components of transportation improvement proposals include (a) comprehensive evaluations of the scope of work to be completed, (b) reasonably accurate cost estimates for finishing the task, and (c) a feasible project schedule. If any of these factors are not accurately defined, then there is a strong possibility of unexpected difficulties. Poor scoping and/or scheduling may result in serious budget problems, delays and cancellations of transportation improvements, and sometimes even a domino effect that can negatively impact the entire area's transportation planning.[14]
In an educational institution, a timetable must be established that refers students and teachers to classrooms each hour. The challenge of constructing this schedule for larger institutions was addressed by Gunther Schmidt and Thomas Ströhlein in 1976.[15] They formalized the timetable construction problem, and indicated an iterative process using logical matrices and hypergraphs to obtain a solution.