|
Article on other languages:
|
Unter Scheduling (englisch für „Zeitplanerstellung“), auch Zeitablaufsteuerung genannt, versteht man die Erstellung eines Ablaufplanes (schedule), der Prozessen zeitlich begrenzt Ressourcen zuweist (Allokation). Scheduling findet hauptsächlich in der Betriebswirtschaftslehre und der Informatik Anwendung. In der Betriebswirtschaft legt Scheduling meist fest, welche Aufträge wann und an welchen Produktionsmaschinen ausgeführt werden, steuert also die Produktionsprozesse. In der Informatik legt Scheduling meist fest, welche Prozesse wann und wie viel Prozessorzeit und Arbeitsspeicher erhalten.
KriterienEin gutes Scheduling-Verfahren zeichnet sich dadurch aus, dass es die folgenden Kriterien optimiert:
Neben diesen allgemeinen Optimierungskriterien werden gelegentlich weitere Nebenbedingungen verlangt, z. B:
Präemptive und nicht-präemptive VerfahrenMan unterscheidet präemptive (preemptive, „vorzeitig leerende“) von nicht-präemptiven Verfahren. Ein nicht-präemptives Scheduling-Verfahren übergibt einem Prozess die benötigten Ressourcen und wartet, bis dieser die Ressourcen wieder freigibt bzw. bis dieser vollständig abgearbeitet ist und dadurch die Ressourcen wieder freigibt. Ein präemptives Verfahren kann dem Prozess Ressourcen vor Fertigstellung wieder entziehen um sie zwischenzeitlich anderen Prozessen zuzuteilen. Der Prozess wird dabei in seiner Ausführung unterbrochen (blockiert) und verharrt in seinem momentanen Zustand, bis ihm wieder Ressourcen zugeteilt werden. Spezielle Begriffe der BetriebswirtschaftslehreBetriebswirtschaftslehre und Informatik haben verschiedene Terminologien für dieselben Sachverhalte. In der Betriebswirtschaftslehre verwendet man folgende Begriffe:
Sowohl Jobs, die vor dem geplanten Fertigstellungstermin abgearbeitet werden, als auch Jobs, die ihn nicht einhalten können und erst später beendet werden, verursachen Kosten. Diese werden als "early costs" und "tardy costs" bezeichnet. Die Reihenfolge, in der ein Job mehrere Maschinen durchläuft, bezeichnet man als Weg ("route"). Bei der Lösung von Scheduling-Problemen müssen diverse Einschränkungen ("constraints") berücksichtigt werden – so werden z.B. für die Durchführung von Jobs Ressourcen (z.B. Maschinen, Monteure, Prozessoren etc.) eingesetzt, die nur in beschränktem Umfang verfügbar sind. Man unterscheidet häufig zusätzlich zwischen harten Einschränkungen ("hard constraints"), die unbedingt einzuhalten sind, und weichen Einschränkungen ("soft constraints"). Zu den harten Einschränkungen zählt u.a. das obige Beispiel und sämtlichen Einschränkungen physikalischer Natur (z.B. Rüstzeiten). Weiche Einschränkungen sind solche, die zur Optimierung der Pläne dienen, aber nicht unbedingt eingehalten werden müssen. So besteht ggf. die Möglichkeit, nach voller Auslastung der vorhandenen personellen Kapazitäten zusätzliche Kapazität in Form von Überstunden in Anspruch zu nehmen. Weitere typische Restriktionen sind die von der Planung vorgegeben Fertigstellungstermine, die aber in der Regel schwächere Einschränkungen darstellen als die ressourcenbedingten oder technischen Einschränkungen, sowie Einlastzeiten, die verhindern sollen, dass mit der Produktion begonnen wird, obwohl benötigte Materialien noch nicht vorhanden sind. Scheduling-ProblemeScheduling-Probleme werden häufig durch die Systemkonfiguration, die vorgegebenen Einschränkungen und die zugrunde liegende Zielsetzung definiert. Die einfachste Systemkonfiguration ist das Einmaschinenmodell. Es existiert nur eine Maschine, auf der Jobs eingeplant werden müssen. Das Modell ist sehr häufig anzutreffen – hat man beispielsweise eine Systemkonfiguration mit mehreren Maschinen gegeben, bei denen es aber eine einzelne Engpassmaschine gibt, so dass sich das Scheduling der anderen Maschinen nach dem Plan des Engpasses richten muss, wird das vorliegende Problem auf das single-machine Problem zurückgeführt. Durch die geringe Komplexität ist es möglich, mittels einfachen Prioritätsregeln bestimmte Ziele mit Sicherheit zu erreichen. Das Parallele Maschinenmodell ist eine Generalisierung des Einmaschinen Modells. Mehrere Maschinen desselben Typs arbeiten parallel. Ein ankommender Job kann von jeder dieser Maschinen bearbeitet werden. Oft müssen Jobs unterschiedliche Operationen an verschiedenen Maschinen durchlaufen, so dass sie unterschiedliche Wege aufweisen. Eine solche Umgebung bezeichnet man als Job Shop Modell. Job Shop Probleme treten z.B. in der Halbleiterindustrie bei der Wafer-Fertigung auf; ebenso kann man aber auch ein Krankenhaus als typisches Beispiel für ein Job Shop Modell betrachten: Die Patienten sind die Jobs, die unterschiedlichen Wegen folgend, an verschiedenen Stellen im Krankenhaus (Anmeldung, Wartezimmer, Arztraum, Röntgenraum,…) behandelt werden. Wenn alle Jobs die gleichen Maschinen in der gleichen Reihenfolge durchlaufen, d.h. wenn ihre Wege identisch sind, spricht man von einem Flow Shop Modell. Ein Flow Shop Modell ist somit ein eingeschränktes Job Shop Modell. Typische Flow Shops findet man beispielsweise in der Metallherstellungsindustrie oder der Chargen- und Fließfertigung in der Lebensmittelproduktion. Scheduling-Probleme treten an vielen Stellen in Produktionsvorgängen auf und sind in den meisten Fällen nur sehr schwierig optimal lösbar, da sie häufig in die Klasse der NP-vollständigen Probleme fallen. In der Praxis reichen aber oft gute Näherungslösungen aus. Ein häufig auftretendes und praxisrelevantes Problem stellt das single-machine early/tardy Problem dar. In einer single-machine Umgebung sollen eine Reihe Jobs auf einer Maschine eingeplant werden, so dass die auftretenden early costs und tardy costs möglichst minimal sind. Die Zielsetzung deckt sich mit dem Ziel der Just-in-time-Produktion. Dieses Problem ist NP-vollständig. Die angesprochenen Scheduling-Probleme lassen sich alle als ganzzahlige Optimierungsprobleme formulieren. Derartige Probleme versucht man vorwiegend mit sogenannten Branch and Bound-Verfahren oder dem Johnson-Algorithmus zu lösen. Scheduling in der InformatikProzess-SchedulingDer Prozess-Scheduler (dt.: Prozessverwaltung/Ressourcenzuteilung/Zeitplanung) ist Bestandteil von Betriebssystemen. Er ist für die faire Verwaltung von mehreren Prozessen zuständig, die auf einem Computer ausgeführt werden. Festplatten-SchedulingDer Festplatten-Scheduler ist für die zeitliche Verwaltung von Schreib- und Leseaufträgen des Betriebssystemes an die Festplatte verantwortlich. Der Datenbank-SchedulerIn Datenbankverwaltungssystemen verwaltet ein Scheduler die Schreib- und Lesezugriffe der einzelnen Transaktionen auf die Daten, um Verstöße gegen das ACID-Prinzip zu vermeiden. Ziele
Siehe auch: Literatur
|
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net