Planowanie polega na wykonaniu pewnej liczby zadań w określonych przedziałach czasowych, pod pewnymi ograniczeniami. Planowanie zostało oddzielone od planowania, które również dotyczy tego samego podstawowego problemu, ponieważ rozdrobnienie skal czasowych jest różne. Harmonogramowanie jest na ogół zjawiskiem krótkoterminowym, a zatem zwykle oznacza również, że istnieje mniejsza swoboda wyboru kolejności realizacji zadań niż w przypadku planowania. Zwykle najbardziej skomplikowaną częścią harmonogramu są kontakty z ludźmi, ponieważ są oni najbardziej złożonym i ograniczonym zasobem i nie można ich powielać na żądanie! Dlatego jednym z najczęstszych danych wejściowych do silnika planowania jest personel (lub „agenta”). W tym zostanie uwzględniony unikalny klucz każdej osoby (zwykle wariant jej imienia), lista jej umiejętności, ich dostępność, model kosztów i wszelkie wyrażone przez nią preferencje. Większość z tego wydaje się zwodniczo prosta, ale w większości przypadków są to subtelności. Na przykład powinno być możliwe odniesienie umiejętności danej osoby do szerszej listy, która odnosi się do wymagań procesowych organizacji, ale wymaga to spójnego modelu danych w całym przedsiębiorstwie. Weźmy na przykład pod uwagę rosnącą tendencję do zlecania prac konserwacyjnych przy produktach konsumenckich na zewnątrz. Musi istnieć sposób, dzięki któremu ogólne umiejętności technika („okablowanie”, „testy elektryczne” itp.) oraz doświadczenie w zakresie konkretnego produktu dla dowolnego z produktów pochodzących z wielu źródeł mogą być rejestrowane i przywoływane. Pracownicy również działają pod pewnymi ograniczeniami: nie można oczekiwać, że pracownicy zatrudnieni w niepełnym wymiarze godzin przekroczą ustalone godziny. Mogą istnieć sprawiedliwe warunki przydziału nadgodzin i, prawie na pewno, ze strony kierownictwa pojawi się chęć zminimalizowania kosztów nadgodzin. Pierwsza iteracja planowania zmian jest czasami przeprowadzana anonimowo, aby osiągnąć te ograniczenia. Następnie do systemu wchodzą inne warunki i można zauważyć, że grafikowanie jest zadaniem iteracyjnym, które wymaga dobrego środowiska programistycznego, jeśli ma być pomyślnie zautomatyzowane. Zwykle wymagany jest wysoce graficzny i oparty na formularzach interfejs. W każdym razie ostateczne dostrojenie systemu zostanie wykonane z pragmatycznym wkładem kierownictwa, aby sprostać nagłym zmianom popytu lub chorobie personelu. Oczywiście planowanie siły roboczej nie ogranicza się do grafików pracy. Bardziej złożone systemy, takie jak Dispatcher ILOG [129], mogą również optymalizować trasy pojazdów, a także zarządzać załogami. Problemy związane z trasami można włączyć do opracowanego modelu i planów awaryjnych.