Algorithmus Zeitplan. Wissenschaft macht einen Zeitplan

Angenommen, es gibt viele n.identische Prozessoren, designierte und m unabhängige Aufgaben
ermordet werden. Prozessoren können gleichzeitig arbeiten, und jede Aufgabe kann an jedem Prozessor ausgeführt werden. Wenn die Aufgabe in den Prozessor geladen wird, bleibt bis zum Ende der Verarbeitung dort. Task-Bearbeitungszeit. es ist auch bekannt
Organisieren Sie die Aufgabenverarbeitung, damit der gesamte Satz von Aufgaben so schnell wie möglich abgeschlossen ist.

Das System funktioniert wie folgt: Der erste veröffentlichte Prozessor hat die folgende Aufgabe aus der Liste. Wenn zwei oder mehr Prozessoren gleichzeitig freigegeben werden, ist die nächste Aufgabe aus der Liste der Prozessor mit der kleinsten Anzahl.

Beispiel. Lassen Sie dort drei Prozessoren und sechs Aufgaben geben, wobei die Ausführungszeit von jedem ist:

Betrachten Sie den Zeitplan zum ersten Moment der Zeit. T \u003d 0.Prozessor beginnt mit der Aufgabe zu handhaben Prozessor - Aufgaben und Prozessor - Aufgaben . Zentralprozessor beendet die Aufgabe. zum Zeitpunkt der Zeit
Während Prozessoren. und arbeiten Sie immer noch an ihren ursprünglichen Aufgaben. Zum T \u003d 3.zentralprozessor endet wieder die Aufgabe und beginnt mit der Aufgabe zu handhaben das endet zu der Zeit T \u003d 4.. Dann beginnt er die letzte Aufgabe zu erfüllen . Prozessoren und aufgaben beenden T \u003d 5.Aber seit der Liste L.leer, sie hören auf. Zentralprozessor vervollständigt die Ausführung der Aufgabe zum T \u003d 12.. Der überprüfte Zeitplan ist in Abb. 1 dargestellt. temporäres Diagramm bekannt als gantta-Schema.. Natürlich ist der Zeitplan nicht optimal. Sie können zum Beispiel einen Zeitplan aufnehmen, mit dem Sie alle Aufgaben erfüllen können T * \u003d 8zeiteinheiten (Abb. 2.).

Betrachten Sie nun eine andere Art von Aufgabe, einen Zeitplan für Multiprozessorsysteme aufzuarbeiten. Anstelle der Ausgabe des schnellsten Abschlusses des Setup-Set-Set von einer festen Anzahl von Prozessoren, nun werden wir nun das Problem der Mindestanzahl von Prozessoren einsetzen, die erforderlich sind, um diesen Satz von Aufgaben für eine feste Zeit zu vervollständigen . Natürlich Zeit es wird nicht weniger als die Zeit der zeitaufwändigen Aufgabe geben.

In einer solchen Formulierung entspricht die Aufgabe, den Zeitplan zu erstellen, dem nächsten Verpackungsproblem. Lassen Sie jeden Prozessor entspricht der Box größe . Lassen Sie jede Aufgabe sein entspricht der Größe der Größe gleich der Aufgabenausführung wo
Um die Aufgabe des Zeichnens eines Zeitplans zu lösen, müssen Sie einen Algorithmus erstellen, mit dem Sie alle Elemente in der Mindestanzahl der Kästchen platzieren können. Natürlich ist es unmöglich, die Kästchen oberhalb ihres Volumens auszufüllen. und Gegenstände können nicht in Teile zerquetscht werden.

Literatur

1. T. Ecke, Ch. Leiser, R. Rivest

Algorithmen: Gebäude und Analyse. M.: McSNMO, 2000.

2. d.knut Art Programmierung, Volumen 1. Grundlegende Algorithmen. Uch. Pos. M.: Ed. Haus "Williams", 2000.

3. Wirth N. Algorithmen und Datenstrukturen.: Stift. Aus dem Englischen - M.: MIR, 2001.

4. Husaanov B.s. Strukturen und Datenverarbeitungsalgorithmen. Beispiele ein

sI-Sprache. Studien. Vorteil. M: Finanzen und Statistik, 2004.

5. A. Aho, J. Chopcroft, J. Ulman, Datenstrukturen und Algorithmen M: St. Petersburg: Kiew: Williams, 2001.

Stille herrschte, das sich brach, und sei Seufzer:
- ... Im Militärdienst muss es eine Disziplin geben - niemand hätte zum Finger zu einem Finger gezogen. Unsere Oberleutnant-Makovets sagte immer: "Disziplin, Nerds, notwendig. Sei keine Disziplin, du würdest Affen, Lasili-Bäume. Militärdienst von dir, dummköpfe hirnlos, die Leute werden es tun! " Nun, nicht wahr? Stellen Sie sich das Quadrat vor, sagen Sie auf dem Karlova-Platz, und auf jedem Baum sitzt eins von einem Soldaten ohne Disziplin. Es macht mir schrecklich Angst.
Yaroslav Gashek. Abenteuer des mutigen Soldatenschweik

Zeitplanklasse, dies ist eine Kombination in Raum und Zeit der Disziplin (Betreff), Lehrer (Lehrer), Publikum und Gruppen (Untergruppen, Bach-) Studenten.

Formulierung des Problems

Ich werde kurz sein.

  • Bei der Durchführung von Klassen kann es niemanden Teilnehmer geben, zum Beispiel bei einem Treffen der Abteilung kommen die Studierenden normalerweise nicht oder die Schüler gingen an militärabteilung (Sie haben ihren eigenen Zeitplan), und um die Art von Klassen gibt es keine Disziplin, Lehrer und Publikum.
  • In der Regel ist die notwendige Anforderung die Kontinuität (Mangel an Fenstern) in den Schülern und vorzugsweise unter den Lehrern.
  • Der Zeitplan kann auf dem Semester / halben Monat seit Wochen für zwei Wochen und Numerator / Nenner (ungerade Woche / Woche) vorbereitet werden. Es gibt auch einen Zeitplan für einen Monat.
  • Die Klassen sollten im manuellen Modus ausführen können (mit anderen Wörtern im Editor). Zum Beispiel ist ein wissenschaftlicher Rat oder ein Paar des Bolshoi-Chefs und sogar eine Lektion nur ein guter Mensch.
  • Es muss ein System von Verboten für alle Teilnehmer in der Lektion geben. Zum Beispiel funktionieren nun fast alle Lehrer an der Seite (sonst werden Sie nicht leben) oder der Prüfungsfonds ist zwischen den Fakultäten aufgeteilt, und es ist unmöglich, das Mittagessen zum Teil des Publikums anzuteilen.
  • Verfügbarkeit von anspruchsvoller Wünschen der Lehrer, einer Haltung 5 Paare pro Tag, um andere Tage frei zu befreien, und andere mehr als zwei Paare pro Tag werden nicht eingesetzt, es ist überwältigt, und wenn ein Vortrag, dann ein Paar und notwendigerweise 2 oder 3 mehr.
  • Klassen in verschiedenen Gebäuden, die Zeit benötigen, um mehr als eine Pausenzeit zwischen den Klassen zu erhalten. Natürlich und natürlich und der Zustand der Minimierung von Verdrängungen.

Ausgabe. Wie aus der Formulierung ersichtlich ist, ist die Qualität des Zeitplans nur nach seiner vollständigen Zusammenstellung möglich. Folglich kann die Verwendung genetischer Algorithmen ermöglichen, eine Lösung für die gewünschte Aufgabe aufzubauen, und sogar in einem Sinne eines der Guten. In diesem Fall werden genetische Algorithmen am Anfang sehr schnell mit dem optimalen konvergnen, und es bedeutet, dass fast das Volumen der Eingabedaten nicht einschränkend sein wird.

Das Bild wird von hier aus genommen.

Genetischen Algorithmus

Reinrhetorisch wiederhole ich die Hauptstufen des genetischen Algorithmus:

  1. Stellen Sie das Zielfunktion (Fitness) für Einzelpersonen der Bevölkerung ein
  2. Erstellen Sie eine anfängliche Bevölkerung
  3. (Zyklusstart)
    1. Reproduktion (Kreuzung)
    2. Muning
    3. Berechnen Sie den Wert der Zielfunktion für alle Personen.
    4. Bildung einer neuen Generation (Auswahl)
    5. Wenn die Anschlagbedingungen durchgeführt werden, wird das Ende des Zyklus, ansonsten (der Beginn des Zyklus).

Der charakteristische Fehler der Verwendung von genetischen Algorithmen besteht darin, Gene zu wählen. Oft wird die Lösung oft als Gene ausgewählt. Die Auswahl der Gene ist das nichtrivalste und kreativste Element beim Erstellen eines genetischen Algorithmus. Ich persönlich glaube, dass die Auswahl der Gene die beiden der folgenden grundlegenden Anforderungen erfüllen sollte.

  1. Bei der Menge der Gene sollte die Entscheidung der gewünschten Aufgabe schnell und eindeutig aufgebaut werden.
  2. Bei der Kreuzung muss der Nachkomme die charakteristischen Merkmale der Eltern erben.

Kommentar. Der Satz von Genen sollte den gesamten Set (möglicherweise optimale) Lösungen des Problems geben. Grundsätzlich ist es nicht notwendig, gegenseitige Eindeutigkeit zu erfordern, reicht es aus, dass die Kartierung von Genen in den Lösungsraum ist auf der (Reizsicherheit).

Algorithmus der Zeichnungspläne

Ich werde die Gene nur selbst beschreiben, den Algorithmus, um sie auf sie aufzubauen, Kreuzung und Mutation.

Als Zeitplan eines erfahrenen Dispatchers. Das Wort erlebte bedeutet, dass der Dispatcher bereits / und der Zeitplan ist bereits zeitweise und kennt seine Engpässe. Zum Beispiel ein Mangel an großen Streaming-Publikums oder Computerklassen. Der erste Kurs, da sie viele Streaming-Vorträge und gleichzeitig Unterricht in Untergruben auf Computerklassen, Englisch / Englisch von Roll / Deutsch / Französisch usw. haben, und die Bosse erfordern, dass der erste Kurs nicht keine Fenster hat In jedem Fall. Und nicht mehr als zwei Vorträge an dem Tag und Tagen wurden einheitlich geladen. Daher setzt der erfahrene Dispatcher erste "schmale Klassen", Klassen von Boss auf ihre Nachfrage und Klassen besonders nerviger Lehrer. Verwenden Sie dann mit einem angeordneten Klassen als Skelett, um den Zeitplan schnell abzuschließen. Versuchen wir, in gewisser Weise diesen Prozess zu imitieren.

Ein Teil der Klassen sind bereits im Zeitplan, der konsequent bleibt. Eine Reihe von Berufsnummern gilt als Genom, obwohl hier prinzipiell nur die Reihenfolge der Klassen wichtig ist. Um einen Zeitplan aufzubauen, werden wir konsequent die Anzahl der Klassen entfernen und die ausgewählte Lektion in den Zeitplan setzen, um die erforderlichen Anforderungen zu erfüllen und die Zielfunktion für Studierende, Lehrer und Publikum zu maximieren (sie haben auch Beschäftigungskriterien).
Wenn die erforderlichen Anforderungen nicht befriedigen, kann der Individuum mit einem solchen Genom als nicht visuell verworfen werden. Wenn der Zeitplan nicht funktioniert, können Sie die erforderlichen Anforderungen durch eine Geldbuße in der Zielfunktion ersetzen.

Die Kreuzung kann auf verschiedene Arten organisiert werden. Zum Beispiel einer von ihnen. Lassen Sie uns folgende Gene haben

3 1 2 5 6 4 7
2 3 5 7 1 4 6

Hier ist klar, dass der Beruf 3 in beiden Genen zu Position 2 inklusive und beispielsweise von Position 2 bis zum Positionieren von 5 Intervall für 1 Klassen gefunden wird. Wir werden die folgende Tablette machen

_ * * * * _ _ für 1 Klassen
* * * _ _ _ _ für 2 Klassen
* * _ _ _ _ _ für 3 Klassen
_ _ _ _ _ * _ für 4 Klassen
_ _ * * _ _ _ für 5 Klassen
_ _ _ _ * * * für 6 Klassen
_ _ _ * * * * für 7 Klassen

hier haben Sternchen die möglichen Positionen für das Erscheinungsbild des Nachkommens markiert. Sie können aus einem oder mehreren wählen mögliche Lösungen als Nachkomme oder Nachkommen dieser Eltern. Die Entscheidung, die nachkommenden Gene auszuwählen, ist beispielsweise immer, beide Elternschaften selbst zufriedenstellen. Schreiben Sie einen Tisch durch viele mögliche Positionen neu

1 Position (2, 3)
2 Position (1, 2, 3)
3 Position (1, 2, 5)
4 Position (1, 5, 7)
5 Position (1, 6, 7)
6 Position (4, 6, 7)
7 Position (6, 7)

Um Lösungen aufzubauen, können Sie den folgenden Algorithmus verwenden. Zuerst geben wir die Anzahl der Klassen, die weniger wahrscheinlich sind. Wenn sie sie aufsteigend sortieren, dann werden wir haben
1 mal 4.
2 mal 3, 5
3 mal 2, 6
4 mal 1, 7
Folglich setzen Sie zunächst 4 Lektionen auf die 6. Position, dann 3 oder 5 in Position (1, 2) oder (3, 4). In jedem Schritt können Sie Kisten mit Übereinstimmungen werfen. Infolgedessen können Sie die folgenden Schritte zum Überkreuzung von Algorithmus erhalten

* * * * * 4 *
3 * * * * 4 *
3 * * 5 * 4 *
3 * * 5 * 4 6
3 * 2 5 * 4 6
3 * 2 5 7 4 6
3 1 2 5 7 4 6

Da es möglich ist, die richtige Reihenfolge aufzubauen, ist es besser, einen Algorithmus in Form einer einfachen Rekursion zu organisieren, um den Algorithmus zu wiederholen, d. H. Organisationen einiger Bohrung.

Mutation kann genügend einfache, zufällige Permutation der Berufsnummern organisiert werden.

Fazit

Dies ist eine Fortsetzung, in gewissem Sinne, mein Beitragsprogramm, um den Zeitplan der Klassen in der Universität und der Berechnung der Last an der Abteilung aufzuarbeiten.

Schlagen Sie die folgende Lösung erneut an (Skizze).

  • GUI auf Pyqt oder Pyside
  • POSGRESQL DBMS (Ich bin hier bereit für etwa 80%), zusätzlich gibt es noch Anwendungen und Ladungen von Lehrern, Lehrplänen und vieles mehr (zu diesem Zweck veröffentlichen Sie ein oder mehrere Themen)
  • web-Schnittstelle auf CHERRYPY + Gepard (aber er kann diskutiert werden)
  • exporte aller Berichte (Zeitpläne, Curriculum-Karten usw.) im OpenDocument-Format (GOST R ISO / IEC 26300-2010. Staatlicher Standard von Russland (01.06.2011)) über odfpy
  • zeitplan Kompilierung von Algorithmen von mir (dieses Thema dabei ist dabei)
  • von mir inszenieren
  • für interessierte Arbeit an einem gemeinsamen Kern
  • für interessierte Anpassung unter seiner eigenen Universität und der Gelegenheit, alles flexibel zu verändern, das Leben geht, und Beamte dürfen keinen Schlafsaal

Dank aller, die reagiert haben, nachdem er dieses Thema besprochen hatte, ist es möglich, es zu organisieren.

Die Zeitplanstunde reguliert den Rhythmus des Schullebens, der Arbeit und der Freizeit von Studenten und Lehrern.
Die Wirksamkeit des gesamten Bildungsprozesses hängt von seiner Qualität ab.

Akzeptanz von Lektionen und Schulplan

Der Schullehrplan muss den funktionalen Fähigkeiten der Studierenden einhalten. Volumen, Inhalt und Organisation bildungsprozess Muss einen solchen Körperzustand sicherstellen, in dem Ermüdung für die Ruhezeit völlig verschwinden würde.

Die wichtigsten Kriterien zur Schätzung von Lehren in Bezug auf die Funktionalität von Studenten - Schwierigkeit und Müde. Die Tedizalität zeichnet sich durch eine Änderung der Leistung aus, und die Schwierigkeit des Subjekts - der Akademitätsgrad, dh den Grad der Assimilation unterrichtsmaterial. Beim Erstellen eines Zeitplans ist es daher erforderlich, beide Faktoren gleichermaßen zu berücksichtigen.

In einem rechtlichen Aspekt spiegelte sich das Problem des Schaffens eines Schulzeitraums in neuen hygienischen Anforderungen an die Vorbereitung des Zeitplans wider, der auf den Daten der modernen wissenschaftlichen Forschung der Biiorimologie der mentalen Leistung und der Schwierigkeitstabelle der Themen von IG basiert . Sivkova. Für den stellvertretenden Direktor der Schule, der der Zeitplan ist, ist es jedoch wichtig, nicht nur zu wissen, wie schwierig es ist, die Kraft der Ermüdungsstunden auf ein bestimmtes Thema auf dem Gesundheitszustand bereitzustellen. Leider haben Sie keine Tischschwierigkeiten, Sivkova berücksichtigt nicht einen solchen Lernbestandteil, als Tirintigkeit der Gegenstände, die in erster Linie die Gesundheit des Schülers beeinflusst.

Moderne Studien geben eine Vorstellung von der Abhängigkeit von der Speiseheit des Subjekts von seiner Schwierigkeit, obwohl diese Indikatoren in einigen Themen erheblich unterscheiden. Diese Ideen ermöglichen es, zwei Indikatoren in einem - die Akzeptanz des Subjekts zu kombinieren. Daher Tabelle i.g. SIVKOVA kann eine Alternative angeboten werden - der Umfang der Zulässigkeit von Objekten, die die Komponenten der Schwierigkeit und Tireurigkeit des Trainings sowie die Merkmale von jedem berücksichtigen würden bildungseinrichtung und Lehrplan jeder Klasse.

Die Akzeptabilitätsskala besteht aus einer Spalte von "Rangartikeln", in denen Gegenstände hergestellt werden, deren Reihen durch die Ergebnisse der Diagnose ihrer Schwierigkeit und der Tedivität durch das Verfahren erhalten wurden expertenbewertungen. - Ihr Algorithmus ist in Anhang 1. durch seine Struktur, der vorgeschlagenen Skala konstant und entsprechend dem Inhalt der Variablen (siehe Tabelle 1) dargestellt.

Tabelle 1

Probenwaage Akzeptanz

Wie aus Tabelle 1 ersichtlich ist, besteht die Waage aus fünf Schwierigkeitengruppen. Jede Gruppe verfügt über eine Schätzung in Punkten - Dies ist eine permanente Komponente der Skala, die keine Änderungen vorbehaltlich ist. Inhalt (d. H. Eine Reihe von Elementen) jeder Gruppe kann je nach Ergebnissen der Diagnose variieren. Es ist ein variierender Teil der Waage.

In der Sekundarstufe Nr. 618 von St. Petersburg erhalten wir den folgenden Skalieren der Zulässigkeit von Objekten (siehe Tabelle 2).

Tabelle 2

Objektakzeptabilitätsskala.

Algorithmus zum Zeichnen eines Zeitplans

Da in jeder Bildungseinrichtung die Zulässigkeit von Objekten seine eigene sein wird, sollten die Leser nicht in die Eins-zu-Eins-Skala kopiert werden. Es ist ratsam, den Schwierigkeitsgrad und die Tirinität von Artikeln in Ihrer Schule von Expertenbewertungen zu diagnostizieren.

Beim Erstellen eines Zeitplans ist es außerdem sinnvoll, die Rangliste des Niveau der Arbeitskapazität von Studenten in verschiedenen Klassen in verschiedenen Unterricht in der Schulwoche in verschiedenen Klassen zu führen (siehe Anhang 2).

Wir haben einen Algorithmus zur Erstellung eines physiologisch angemessenen Zeitplans erstellt, der tatsächlich erfüllte Hygieneanforderungen berücksichtigt. Dieser Algorithmus kann verwendet werden, um ein Trainingsplan sowohl in der Schule mit einer großen Anzahl von Klassen der zweiten und dritten Schritte als auch in einer relativ kleinen Bildungseinrichtung zusammenzustellen. Der Algorithmus ist für Spezialisten gedacht, die einen Zeitplan ohne Verwendung ausmachen computer Programm.

Bei der Verwendung von automatisierten Programmen ist es ratsam, die Ausrichtung der Elemente mit dem automatisierten Programm in Stufen auf der Grundlage des vorgeschlagenen Algorithmus auszuführen. Wie die Praxis zeigt, können diese Programme nur als Zusatzwerkzeug verwendet werden für:

  • erstanordnung von Objekten mit anschließender manueller Veredelung;
  • informationen speichern und zum Drucken ausgeben.

Nach der automatisierten Verteilung von Objekten (das Programm, in der Regel, platziert 40 bis 70%), berücksichtigen Sie die Hygieneanforderungen für den Zeitplan der Lektionen fast unmöglich, da dies nicht nur erforderlich ist, um nicht nur die verbleibenden unwissenden Gegenstände zu liefern, sondern auch Um erheblich zu ändern (bis zu 60%) automatisierte Ausrichtung der Elemente auf dem Prinzip "Wenn Sie planen".

Bei Verwendung eines Computerprogramms zum Erstellen eines rationalen Zeitplanes, unter Berücksichtigung der tatsächlichen machbaren hygienischen und pädagogischen Anforderungen, müssen die Besonderheiten des Bildungseinrichtungen angerichtet werden, um Stufen mit dem oben vorgeschlagenen Algorithmus auszuführen. Gleichzeitig sollte jede Phase der Anordnung einer Gruppe von Objekten mit der manuellen Veredelung mit der Orientierung an den oben genannten Anforderungen enden. Auf diese Weise können Sie stärker einen Zeitplan erstellen und, wenn möglich, alle erforderlichen Bedingungen berücksichtigen.

Verfahren zum Ändern des Zeitplans

Schulzeitanpassung Algorithmus

Falls erforderlich, ändern Sie den Zeitplan während des Schuljahres, das häufig auftritt, Sie müssen mit dem Tabellenlayout arbeiten. Um den Zeitplan zu ändern, müssen Sie die folgenden Berechnungen und Permutationen durchführen.

Die vorgeschlagene Methode zum Erstellen des Zeitplans dauert nicht mehr als üblich, aber er ermöglicht es Ihnen, einen Zeitplan kompetent zu machen, d. H.:

  • erstellen Sie einen eigenen Umfang der Zulässigkeit von Objekten (Schwierigkeiten und Müde), um einen rationaleren Schulzeitplan zusammenzustellen;
  • um im Bereich der Sichtweise des stellvertretenden Direktors der Schule eine ausreichend große Anzahl notwendiger Informationen aufrechtzuerhalten;
  • lehren gleichmäßig täglich verteilen (vermeiden Sie unnötige Anzahl der siebten Lektionen);
  • legen Sie alle Klassen von der ersten Lektion aus, mit der Sie in einem Rhythmus trainieren können, da die Studierenden jeden Tag gleichzeitig einen Schultag beginnen werden;
  • regulieren Sie den Grad der Komplexität der Schule, abhängig von der Dynamik der wöchentlichen Leistungsfähigkeit von Schulkindern;
  • drücken Sie die Lektionen mit fast keinem "Windows" aus, entweder mit dem Mindestbetrag von ihnen, mit dem Sie den Rhythmus der Arbeit des Lehrers aufrechterhalten können, und einen günstigen Arbeitsmodus erstellen;
  • rational alternativen Objekten unterschiedlicher Fokus;
  • rational die notwendigen doppelten Lektionen anordnen;
  • Ändern Sie den Zeitplan aufgrund der Produktionsnotwendigkeit schnell und anpassen.

Zusätzlich erfordert es mit dieser Methode keine wesentliche Anzahl von Papierrohläden (zusätzliche Tabellen, insbesondere wenn in der Schule viele Klassen der zweiten und dritten Schritte (ab 30 oder mehr).

Um einen hochwertigen Zeitplan vorzubereiten, der den Fähigkeiten einer bestimmten Bildungseinrichtung entspricht, ist es erforderlich, eine eigene Diagnose des Schwierigkeitsgrades und der Abtastung von Objekten in jeder Parallel zu führen. Experten in diesem Fall sollten Studenten sein, da niemand sagen kann, was der Artikel schwierig und langweilig ist.

Kriterien der hygienischen Beurteilung des Schulzeitraums

1. Anzahl der Klassen grundschule – ______.

2. Die Anzahl der Haupt- und High-School-Klassen - ___________.

3. Gesamtklassenzimmern, die zur Durchführung von Lektionen verwendet werden - ___________.

4. Das Vorhandensein einer Akzeptanzskala für seine Bildungseinrichtung:

5. Rechnungswesen für die Übernachtungsskala der Objekte im Schulzeitplan:

6. Verteilung der Lektionen pro Tag für Studenten:

7. Alle Klassen studieren von der ersten Lektion:

8. RATIONAL Wechsel von Objekten unterschiedlicher Fokus und Komplexität:

9. Einhaltung der Bilanzierung der Studentenleistung (in wöchentlicher Dynamik):

10. Rationale Ausrichtung der Lektionen für Lehrer:

11. Maximale Anzahl von Lektionen von Lehrern pro Tag:

a) bis zu 4 Lektionen - ____ Lehrer - ______ (%);

b) 5 und 6 Lektionen - ____ Lehrer - _____ (%);

c) 7 Lektionen und mehr - in ____-Lehrern - ___ (%).

12. Methodischer Tag ist verfügbar (Geben Sie die Anzahl der Lehrer an):

a) mit Last bis zu 24 Stunden pro Woche - ____ Lehrer;

b) mit einer Belastung von 25 bis 30 Stunden pro Woche - bei ___ Lehrern;

c) mit einer Last für mehr als 30 Stunden pro Woche - bei ___ Lehrern.

  1. Bereiten Sie Sets mit Namen der Artikel von der 5. bis 11. Klasse vor.
  2. Die Studierenden verteilen Kartensätze mit Namen von Objekten und Blättern für Antworten.
  3. Setzen Sie Select-Karten mit den Namen dieser Themen vor, die in dieser Klasse untersucht werden (über ein Tagebuch).
  4. Klären Sie das Konzept von "Schwierigkeitsschwierigkeiten".
  5. Vorschlag, unabhängig voneinander die Schwierigkeit jedes Artikels durch Ranking zu bestimmen, d. H. Das Falten der Karten in der Reihenfolge des Abstiegs der Schwierigkeit des Subjekts (die Karten werden von oben nach unten hinterlegt, d. H. In erster Linie von oben - eine Karte mit dem schwierigsten Subjekt ist weniger schwierig usw.).
  6. Die daraus resultierende Ausrichtung von Elementen, um auf einem Antwortenblatt aufzunehmen.
  7. Danach zerledern und klären Sie das Konzept der "Tiriness" von Objekten.
  8. Führen Sie einen ähnlichen Ranking-Verfahren aus und schreiben Sie die resultierende Ausrichtung auf das Antwortblatt.
  9. Blätter mit Antworten zum Sammeln und Verarbeiten (siehe Form der konsolidierten Tabelle unten).

- Wo: Mk - durchschnittsnote zum Thema einer Klasse;

n - die Anzahl der Klassen in der parallel untersuchten parallel;

oder durch die Formel:

- wo: MK - die Anzahl der Punkte zum Thema einer Klasse;

n - die Anzahl der Studierenden in einer parallelen Teilnahme an der Studie.

In Parallelen der 7. Klasse gibt es beispielsweise fünf Klassen, 130 Personen nahmen an der Diagnose teil. Die Anzahl der Punkte in der russischen Sprache in Parallels betrug 469. Wir ersetzen in der Formel der Nummer:

Vgl. b. PR \u003d (469/130) \u003d 3.61 - Die durchschnittliche Punktzahl in der russischen Sprache in Parallelen von 7. Noten war 3,61, Kinder wahrnehmen dieses Objekt als ziemlich schwierig.

In gleicher Weise wird es separat durchschnittlich berechnet, wobei jedes Subjekt in der Abtastung eingesetzt wird.

Dann gibt es einen durchschnittlichen Punkt der Zulässigkeit für jedes Thema. Dafür gibt es zwei Indikatoren: die durchschnittliche Punktzahl der Schwierigkeit und der durchschnittliche Punktzahl der Tirintigkeit, und dann ist das Ergebnis in 2 unterteilt. Somit wird die durchschnittlichen Annehmlichkeitspunkte des Subjekts herausgestellt.

Basierend auf den erhaltenen Daten wird eine einzelne Tabelle der Akzeptanz von Artikeln einer bestimmten Bildungseinrichtung für jede Parallelen aufgestellt.

Zusammenfassende Tabellenformular zur Antwortverarbeitung

Anlage 2.

Range-Studienuhren während der Woche
Abhängig von der Arbeitsleistung von Studenten in verschiedenen Klassen

1 - die günstigsten Stunden; 10 - das ungünstigste.

6-7 - Ermäßigter Leistungsniveau (kleine Uhren zum leitenden Lektionen).

8-10 - Niedrige Leistung (Nebenzeiten für den leitenden Lektionen).

Wöchentlicher Lastverteiler der Lehrer

Anhang 3.

Lektionsplan-Tabellenlayout-Technologie

Um ein Layout auszuführen, müssen Sie kochen:

  • 4 Wurfkarton (Dicke 1-2 mm, Höhe - 42 cm, Breite - 22 cm; Die Höhe der Reihen beträgt 0,8 cm, die Säulenbreite ist 1 cm) *;
  • 4 Blätter mit farbigem Papier (bessere Lichttöne) Dichte 200 g / cm und Größen ähnlich der Größe der Kartonblätter;
  • breiter transparenter Scotch;
  • schließfach (BoomVinyl), um den Karton in den Ordner zu kleben (Bänder 4-5 cm breit; 49-50 cm lang);
  • pVA-Kleber (stark genug, Typ "Silac").

Algorithmus-Ausführungslayout.

1. Um die Blätter von Karton in der "Muschelschale" zu kleben:

2. Platzieren Sie auf einem Blatt Farbpapier alle notwendigen Informationen zur Vorbereitung des Zeitplans (Platzierung auf einem Kartonblatt Nr. 1); Beispiel: Tabelle mit. 27.

3. Zeichnen Sie auf den nächsten zwei Blättern farbigem Papier das Gitter, drei Tage lang auf jedem Blatt, 7 Zellen für jeden Tag (auf dem 2. und 3. Kartonblatt).

4. Auf der 4. Platte zum Zeichnen eines festen Netzes ohne Aufteilung (Zellen - ähnliche Größen).

5. Die fertigen gezeichneten Blätter sind mit Scotch bedeckt, so dass es während der Schnitte keine Pausen gibt.

6. Machen Sie Schlitze in Zellen von 0,5 bis 0,6 cm.

7. Glitzende Papierblätter an den Seitenteilen der Kartonblätter an der fertigen "Clamshell". Mock ist fertig.

8. Machen Sie separat mehrfarbige Tags mit einem Klassenliterarary (5. a ", 7." g "usw.), der Betrag basiert auf der Ladung von 5- oder 6 Tagen der Woche + zusätzlich zu Unterricht, in denen Klassen aufgeteilt sind die Untergruppen Taggröße: Breite - 8 mm; Höhe - 15 mm.

9. Bereiten Sie Tags mit jeder Farbe ohne Literatorenklasse auf, um die wöchentliche Belastung für jeden Lehrer zu berechnen. Abmessungen: Breite 5 mm; Höhe 12-14 mm.

Dieses Layout ist bequem in Betrieb, da alle notwendigen Informationen immer vor den Augen des stellvertretenden Direktors sind. Es kann in den Ordner gefaltet werden, was es leicht macht, zu tragen. Gleichzeitig werden die Tags in Slots gehalten.

Informationen für den Zeitplan benötigen

___________ * Kartonblatt Abmessungen sind individuell, da In jeder Schule eine andere Anzahl von Lehrern, einer anderen Betriebsart (5- und 6-tägige Schulwoche). Wir bieten Größen für den Zeitplan, der auf einer 6-tägigen Schulwoche und der Schule basiert, in der 50-55 Lehrer arbeiten.

Was Sie hier lesen, ist meistens unsinn. Trotzdem gibt es an einigen Orten, meiner Meinung nach sinnvolle Gedanken, leider passierten solche Sitze nicht so sehr und glauben nicht, es dort zu nehmen, wo die Probleme der Theorie der Zeitpläne ernst engagieren. Diejenigen, die etwas Besseres schreiben wollen, empfehlen Sie dringend, das HU-Buch zu lesen. T. "Integer Programmierung und Threads in Netzwerken", außerdem ist es wahrscheinlich wert, die Vorträge des NMIC auf der Theorie der Optimierung N.m zu lesen. Novikova (wo es im Internet ist, erinnere ich mich nicht an). Jetzt engagiert sich aktiv an den Problemen der Optimierungstheorie, so dass jemand auch an diesem Thema interessiert ist, er ist immer glücklich, kommunizieren. Schreiben [E-Mail geschützt]

Einführung acht

1. Beschreibung der technologischen Region. 10.

1.1. Das Wortlaut der Aufgabe, den Zeitplan zu erstellen. 10.

1.1.1. Allgemeine Formulierung der Aufgabe, Zeitpläne zu erstellen. 10.

1.1.2. Das Wortlaut der Aufgabe, ein Rapping in der Anwendung auf den Zeitplan der Trainingseinheiten zu erstellen. elf

1.2. Analyse der vorhandenen .. 12

1.3. Formulierung des Problems. fünfzehn

2. Entwicklung eines mathematischen Modells und der praktischen Implementierung eines Systems zur automatischen Planung. Sechszehn

2.1. Mathematisches Modell des Zeitplanes in der High School. Sechszehn

2.1.1. Bezeichnungen. Sechszehn

2.1.2. Variablen. achtzehn

2.1.3. Beschränkungen. neunzehn

2.1.4. Zielfunktion. 21.

2.2. Methoden zur Lösung der Aufgabe. 22

2.2.1. Vollständig ganzzahliger Algorithmus. 23.

2.2.2 ein direkter Algorithmus für die Ganzzahlprogrammierung. 28.

2.2.3. Technik zur Erlangung einer anfänglichen zulässigen Basis. 32.

2.3. Eigenschaften praktische Anwendung Systeme .. 36.

2.3.1. Wählen Sie Modell aus. 36.

2.3.2. Beschreibung der Eingabeinformationen. 39.

2.3.3. Entwicklung der Informationsunterstützung. 41.

2.3.4. Merkmale der Bildung von Einschränkungen des mathematischen Modells der Aufgabe, den Zeitplan zu erstellen. 44.

2.4. Programmergebnisse .. 45

2.5. Analyse der erzielten Ergebnisse. 49.

Schlussfolgerungen .. 50.

Literatur. 51.

Anhang 1. Die Fähigkeiten von Softwareprodukten von Planungssystemen. 52.

Anhang 2. Auflistung des Programmmoduls zum Lösen der Aufgabe des automatischen Designs des Zeitplans. 61.

Einführung

Die Qualität der Schulungsspezialisten an Universitäten und insbesondere der Effizienz der Verwendung von wissenschaftlichem und pädagogischem Potenzial hängt von gewissem Maße von der Ebene der Organisation des Bildungsprozesses ab.

Einer der Hauptkomponenten dieses Prozesses ist der Zeitplan der Klassen - regelt den Arbeitsrhythmus, beeinflusst die kreative Rendite von Lehrern, sodass er als Faktor für die Optimierung der Nutzung begrenzter Arbeitskräfte erhoben werden kann - ein Lehrkräfte. Die Technologie der Entwicklung des Zeitplans sollte nicht nur als arbeitsintensiver technischer Prozess, ein Objekt der Mechanisierung und Automatisierung unter Verwendung eines Computers, aber auch als Aktion der optimalen Steuerung ergriffen werden. Dies ist daher das Problem, optimale Schulungspläne an Universitäten mit offensichtlicher wirtschaftlicher Wirkung zu entwickeln. Da die Interessen der Teilnehmer am Bildungsprozess vielfältig sind, ist die Aufgabe, den Zeitplan zu erstellen, Multicriterial.

Die Aufgabe der Erstellung des Zeitplans sollte nicht nur als bestimmtes Programm in Betracht gezogen werden, das die Funktion der mechanischen Verteilung von Klassen zu Beginn des Semesters implementiert, auf dem seine (Programme) Verwendung und endet. Die wirtschaftliche Wirkung der effizienteren Nutzung von Arbeitsressourcen kann nur aufgrund der sorgfältigen Arbeit an der Verwaltung dieser Arbeitsressourcen erreicht werden. Der Zeitplan ist hier nur ein Werkzeug für ein solches Management, und für die vollständige Verwendung ist es erforderlich, dass das Programm nicht nur die Mittel kombiniert, um den optimalen Zeitplan, sondern auch Werkzeuge zusammenzustellen, um seine Optimalität bei einer Änderung in einiger Eingabe aufrechtzuerhalten Daten, die zum Zeitpunkt des Zeitplans als dauerhaft angesehen werden. Darüber hinaus ist ein optimales Management eines solchen komplexen Systems unmöglich, ohne einige statistische Informationen zu den im System auftretenden Prozesse aufzunehmen. Daher ist die Aufgabe, den optimalen Zeitplan zu erstellen, nur ein Teil eines komplexen Lernprozessmanagementsystems.

Multi-Kriterien dieser Aufgabe und der Komplexität des Objekts, für das mathematisches Modellbestimmt die Notwendigkeit einer ernsthaften mathematischen Erforschung des Objekts, um die Funktionalität der Zeitpläne kompilieren, die Algorithmen ohne erhebliche Komplikation des Modells kompilieren, und dadurch erhöht, dass der verwendete Speicher und die Zeit, um das Problem zu lösen.


1. Beschreibung der technologischen Region 1.1. Formulierung der Aufstellung der Aufstellung

Die Aufgabe der Theorie der Zeitpläne in der allgemeinen Formulierung gilt als sehr attraktiv, obwohl die Erreichung der Erreichung des sogar geringen Fortschritts in Richtung der Lösung in der Regel mit enormen Schwierigkeiten fällig ist. Trotz der Tatsache, dass viele sehr qualifizierte Spezialisten an den Aufgaben der Zeitpläne tätig waren, konnte bisher niemand erhebliche Ergebnisse erzielen. Nicht erfolgreiche Versuche, solche Ergebnisse zu erzielen, werden in der Regel nicht veröffentlicht, und dies bestimmt teilweise die Tatsache, dass die Aufgabe weiterhin die Aufmerksamkeit vieler Forscher anzieht, die eine Einfachheit der Produktion suchen.

1.1.1. Allgemeine Formulierung des Task-Kompilierungsproblems

In der allgemeinsten Formulierung ist die Aufstellung des Zeitplans wie folgt. Mit einem bestimmten Satz von Ressourcen oder Servicegeräten muss ein festes Aufgabensystem durchgeführt werden. Ziel ist es, sicherzustellen, dass die Eigenschaften der Aufgaben und Ressourcen und die auf sie auferlegten Einschränkungen einen effektiven Algorithmus für die Organisation von Aufgaben finden, die optimieren oder streben, um das gewünschte Effizienzmaß zu optimieren. Als wichtige Effizienzmaßnahmen wird die Zeitplanlänge untersucht und die durchschnittliche Verweilzeit der Aufgaben im System. Modelle dieser Aufgaben sind in Bezug auf die Tatsache deterministisch, dass alle Informationen auf der Grundlage, von deren Entscheidungen zur Bestellung vorgenommen werden, im Voraus bekannt sind.

1.1.2. Das Wortlaut der Aufgabe, ein Rapping in der Anwendung auf den Zeitplan der Trainingseinheiten zu erstellen.

Die Gesamttheorie der Zeitpläne geht davon aus, dass alle Serviergeräte (oder Prozessoren) nicht in eingesetzt werden können dieser Moment Die Zeit von mehr als einer Aufgabe ist, dass für den Zeitplan der Trainingseinheiten nicht ausreichend ist, wenn Sie als Prozessor beim Verteilen von Aufgaben, um ein Bildungspublikum zu akzeptieren. In einigen Fällen in einem Publikum können in einigen Fällen Unterricht mit mehr als einer Gruppe gleichzeitig sein, zum Beispiel allgemeine Vorträge für mehrere Threads.

Daher wurden beim Übertragen der allgemeinen THEORIE der Zeitpläne zur Planung von Schulungssitzungen die folgenden Annahmen durchgeführt:

Alle Prozessoren (dh im Falle eines Schulungsplans - das Publikum) haben eine Kapazität - eine Zahl c ≥ (1) Die Kapazität des Prozessors definiert die Anzahl der Aufgaben, die es gleichzeitig "Prozess" im Moment (in Bezug auf Die Unzulänglichkeit der Prozessoren wäre interessant, die Option zu berücksichtigen, wenn das Publikum nicht als Prozessor ist, sondern ein Lehrer, sondern als Aufgabe - ein Bach von einer oder mehreren Bildungsgruppen, mit denen es funktioniert);

Als Satz von Aufgaben für die Verteilung handeln die Schulungsaktivitäten des Lehrers mit Trainingsgruppen;

Das Zeitmodell im System ist diskret; Es wird angenommen, dass alle Verteilung während des gesamten Zeitintervalls periodisch wiederholt werden.

Alle Aufgaben werden zur gleichen Zeit durchgeführt, die pro Abtasteinheit des Zeitintervalls angenommen wird;

Die Aufgaben gehören zu Objekten, die von Trainingsgruppen und Lehrern akzeptiert werden.

Infolgedessen klingt der Wortlaut der Aufgabe, den Zeitplan der Trainingseinheiten wie folgt zu erstellen: "Für einen bestimmten Satz von Bildungsabschlussprüfern (in diesem Fall unter dem Bildungspublikum werden in diesem Fall eine große Auswahl an Räumen gehalten, in welcher Ausbildung Sitzungen werden abgehalten (von Computerpublikum bis zur Sporthalle)) und einem bestimmten Satz von Zeitintervallen (dh im Wesentlichen, Lektionen oder Trainingspaaren), bauen eine solche Verteilung von Trainingseinheiten für alle Objekte (Lehrer und Schulungsgruppen) für Welches das gewählte Optimalitätskriterium ist das Beste. "

1.2. Analyse der vorhandenen PA

Im Moment wird der Marktsektor für die Gestaltung des Klassenfahrplans durch eine Vielzahl verschiedener Softwareprodukte dargestellt. In Tabelle 1. Einige der mir bekannten sind nur einige davon.

Aufgrund von objektiven Gründen muss das System der Ausarbeitung einer Sicherheiten an der Universität (dh eine große staatliche Universität) eine Reihe von Grundfunktionen implementieren:

Buchhaltung für Lehrerwünsche;

Konsolidierung obligatorisches Publikum;

Hinweis auf wünschenswerte Publikum;

Buchhaltung des Übergangs zwischen den Korps;

Gruppen in Strömungen in jeder Totalität von Disziplinen kombinieren;

Abteilung in Untergruppen;

Nach dem Erstellen des Zeitplans ersetzen Sie ggf. Lehrer oder ändern Sie die Zeit der Klassen.

Darüber hinaus gibt es auch spezifische Anforderungen an die Funktionsfunktionen des Softwareprodukts für jede Universität.

Chancen meiner Meinung nach sind in Anhang 1 das beliebteste der russischen Softwareprodukte.

Aus der Liste der Liste entspricht vielleicht nur das methodistische Programm mehr oder weniger den erforderlichen Funktionen des Zeitplans der Zeitplanung in der Universität. Dieser Stand der Angelegenheiten lässt sich leicht erklären, dass die Schulbildung heute mehr "standardisiert" (im Sinne der Organisation des Bildungsprozesses) ist als die Universität. Eine solche Standardisierung führt zu einer großen Menge an potenziellen Markt für Softwareverkäufe und Amortisation an die Entwicklung durch den Verkauf einer großen Anzahl von Kopien des Produkts zu einem relativ niedrigen Preis.

Bei Universitäten ist die Nachfrage nach Terminierungssystemen vielleicht sogar mehr als für Schulen, der Fall ist jedoch durch die großen Besonderheiten der Organisation des Bildungsprozesses an jeder einzelnen Universität kompliziert. Erstellen einer vereinheitlichen Software ist nicht möglich, und die Kosten für das Erstellen eines spezialisierten Produkts in Entwicklern von Drittanbietern sind unangemessen groß. Darüber hinaus ist die Voraussetzung die Anwesenheit eines "etablierten" Zeitplans, der die Fähigkeit zur Ersetzung der Lehrer oder der Zeit der Klassen impliziert. Bisher erlaubt kein Softwareprodukt, dies zu tun, um dies zu tun (obwohl einige Möglichkeiten in der "Methodist" sind).

1.3. Formulierung des Problems.

Der Zweck dieser Arbeit bestand darin, ein mathematisches Modell des Zeitplans an einer Universität zu schaffen, das effizient (zu einem bestimmten Zeitpunkt und mit einem bestimmten Grad an Optimalität) ermöglicht, um die Aufgabe der automatischen Planung zu lösen und Flexibilität zu haben (geringfügige Änderungen in der Fall von Änderungen in Eingabeinformationen), um das System innerhalb einer bestimmten praktischen Aufgabe anzupassen. Bei der Vereinfachung der Aufgabe beim ersten Design des Designs wurden einige Annahmen gemacht:

Der Zeitplan besteht in der Rate von nicht mehr als zwei Paaren pro Tag (was für den Fall eines Abendlernformulars ziemlich geeignet ist);

Alle Paare werden in einem Fall gehalten.

Die Aufgabe wird in Bezug auf die lineare Programmierung gelegt;

Eine weitere Zersetzung des Modells wird nicht produziert;

Alle Modellkoeffizienten und die gewünschten Variablen sind integriert;

Die Aufgabe muss von einem der Universal (unabhängig von den ganzzahligen Werten der Koeffizienten) Methoden der ganzgerechten linearen Programmierung gelöst werden.


2. Entwicklung eines mathematischen Modells und der praktischen Implementierung des automatischen Zeitplattiersystems 2.1. Mathematisches Modell des Zeitplanes in der High School

Wir erstellen ein mathematisches Modell des Zeitplanes an der Universität in Bezug auf die lineare Programmierung. Wir stellen die Notation ein und definieren Variablen und Einschränkungen.

2.1.1. Bezeichnungen

Die Universität hat keine Trainingsgruppen, die in R-Flüsse kombiniert sind; R ist die Flussnummer, R \u003d 1, ..., R, K R - die Anzahl der Studiengruppe im Strom R, K R \u003d 1, ..., g r.

Die Spaltung von Gruppen an den Strömungen erfolgt auf der Grundlage der Prinzipien:

1. Die Verwendung von zwei Gruppen desselben geprüften Fonds für ihre Vorträge übernimmt automatisch die Räumlichkeiten von ihnen in einem Stream (davon ist davon ausgegangen, dass alle Vorträge von Trainingsgruppen zusammengehalten werden).

2. Eine Gruppe (oder ein Teil davon), als Einheit des Bildungsprozesses an einer Universität, kann verschiedene Streams eingeben, jedoch nur einmal jeder von ihnen.

3. Die Anzahl der Threads ist nicht begrenzt.

Klassen werden an Werktagen in halbviellen Abständen gehalten, die Paare aufgerufen werden.

Bezeichnen:

t - Nummer der Woche der Woche, t є t kr, wo

T kr - viele Werktage für die Gruppe K R;

j - Paarnummer, J \u003d 1, ..., J;

J - Gesamtzahl der Paare.

Mit jeder Studiengruppe K R Flow R für eine Woche, nach dem Lehrplan der Lehrpläne, werden W KR-Klassen durchgeführt, von denen S-R-Vorträge und Q-Praktikum praktisch sind. Bezeichnen:

s R ist die Anzahl der Disziplin in der Liste der Vortragsklassen für den Stream R, S R \u003d 1, ..., S R;

q KR - Die Disziplinennummer in der Liste der praktischen Ausbildung für die Gruppe K R, Q KR \u003d 1, ..., q kr.

Es wird davon ausgegangen, dass Vorträge in allen Bachgruppen gleichzeitig in einem Publikum durchgeführt werden. Wenn dann für einige Disziplin mehr als ein Beruf während der Woche durchgeführt wird, wird diese Disziplin in der Liste der Vorlesungen oder praktischen Klassen beliebig oft erwähnt, wie vom Lehrplan für jeden Fluss oder der Gruppe bereitgestellt wird.

Lehrer

Sei die Nummer (Name) des Lehrers, p \u003d 1, ..., P. Wir führen die Berücksichtigung der Werte vor und:

Die Lernlast der Lehrer ist geplant, bevor er den Zeitplan der Klassen anzieht, wodurch in diesem Zeitpunkt der Menge als angegeben betrachtet werden kann. Für jeden Lehrer p, p \u003d 1, ..., p ist seine Audit-Ladung auch Aufgabe - n P Stunden pro Woche.

Prüfungsfonds.

Jeder Fluss einnimmt, kann nur in bestimmten Publikum durchgeführt werden (z. B. praktische Informationen zur Informatik können nur in Anzeigesorten durchgeführt werden). Lassen:

(A 1 r) - viele Publikum für Vorlesungen auf dem Bach R;

(A 2 R) - viele Publikum für praktische Ausbildung auf dem Bach R;

A 1 R ist die Anzahl der Elemente des Satzes (A 1 R);

A 2 r ist die Anzahl der Elemente des Satzes (A 2 R);

Ein 1 R + A 2 R ist die Anzahl der entstehenden Publikationen von Sets (A 1 R) ∩ (A 2 R).

Der Prüfungsfonds wird vor dem Start des Zeitplans ermittelt, sodass das Set als angegeben betrachtet werden kann.

2.1.2. Variablen

Die Aufgabe, einen Zeitplan zu erzielen, besteht darin, für jede Vorlesung (im Bach) und der praktischen Klassen (in der Gruppe) des Wochentags und des Paares an diesem Tag festzulegen, unter Berücksichtigung der Implementierung der nachstehenden Einschränkungen und Minimierung eine Zielfunktion.

Wir führen die folgenden gewünschten booleschen Variablen ein:

=

Im Falle eines Zeitplans für eine Gruppe von abendlichem Lernformular J \u003d 2. Verallgemeinerung des Modells für alle Formen des Lernens, siehe, S. 669.

2.1.3. Beschränkungen

Für jede Gruppe K R müssen alle Arten von geprüften Arbeiten während der Woche durchgeführt werden:

Jeder Vortrag r und die praktische Besetzung von Q KR, für alle Streams R und alle Gruppen K R, können nicht mehr als einmal an jedem Tag t durchgeführt werden:

Wenn Variablen alle Arten von Klassen mit der Zeit ihrer Holding lingen, dann und binden Sie Zeit mit dem Namen des Lehrers.

Jeden Tag t und in jedem Paar J kann der P nicht mehr als einen Beruf auf einer Disziplin auf einem Bach oder in einer Gruppe führen:

An jedem Tag, an jedem Paar, sollte die Anzahl der Vorträge und praktische Sitzungen den in der Universität verfügbaren geprüften Fonds nicht überschreiten:

Darüber hinaus müssen für alle Sätze von Kreuzungssätzen (A 1 R) und (A 2 R) Bedingungen erfüllt sein:

Die dargestellten Beziehungen sind aus bedingungslosen Einschränkungen erschöpft, mit denen sie immer berücksichtigt werden, wenn der Zeitplan vorbereitet ist. Kann jedoch spezifische Bedingungen sein, vor allem bestimmte Arbeitstypen auf der "Top" oder auf der "niedrigeren" Woche (dh eine akademische Stunde pro Woche). Andere besondere Bedingungen sind nicht ausgeschlossen, aber sie wurden nicht in Betracht gezogen, um das Modell zu vereinfachen.

2.1.4. Zielfunktion

Um wissenschaftliche, pädagogische Arbeiten voll aufrechtzuerhalten, bereiten Sie sich auf den Unterricht vor, muss der Hochschullehrer haben freizeit. Diese Bedingung ist unzureichend, aber notwendig. Natürlich sollte er mit freier Zeit keinen "torn" -Modus haben, z. B. die "Windows" zwischen den Klassen mit Studenten, aber wenn möglich, jedoch in völlig kostenlosen Arbeitstagen. Dies entspricht der Maximierung der Audit-Ladung der Lehrer in jenen Tagen, wenn sie sie haben (siehe (5)). Gleichzeitig sind die Ansprüche auf Freizeit in den Lehrern jedoch ungleichlich, da sie ein unterschiedliches kreatives Potenzial haben. Daher ist es erforderlich, Gewichtungskoeffizienten einzuführen, durch die der entsprechende Status des Lehrers berücksichtigt werden muss - seine wissenschaftlichen Abschlüsse und Titel, der Position, der besetzten Position, der wissenschaftlichen und sozialen Tätigkeit usw. In einigen Fällen ist es auf der Grundlage von Expertenbewertungen möglich, einzelne Gewichtungskoeffizienten zu verwenden, die andere Faktoren berücksichtigen.

Wählen Sie also das Qualitätskriterium für die Vorbereitung des Klassenplans in Form, um die gewichtete Anzahl von Tagen frei von der Prüfungsarbeit für alle Lehrer zu maximieren, die unter der festen Länge der Arbeitswoche dem Maximum entspricht Gesamtverdichtung der Prüfungsbelastung.

Betrachten Sie den Ausdruck für die Größe der Auditladung pro Tag t des Lehrers P:


wo M eine willkürliche positive große Zahl ist; - die gewünschte Boulev-Variable.

Von (10) impliziert, dass wenn, dann \u003d 1, und wenn, dann \u003d 0.

Unter Berücksichtigung des oben genannten Sinnes wird das Optimierungskriterium bei zusätzlichen Einschränkungen (10) sowie das Eingeben der Gewichtskoeffizienten des Lehrers das gewünschte Optimierungskriterium ein:


Die eingeführte Zielfunktion ist nicht nur möglich. Die Einführung anderer Zielfunktionen ändert nicht die Einschränkungen des mathematischen Modells und der Methoden zur Lösung des Problems, können jedoch die Ergebnisse der Berechnungen erheblich beeinträchtigen.

2.2. Methoden zur Lösung der Aufgabe

Die Aufgabe, die lineare Zielfunktion mit einem bestimmten System von Einschränkungen zu maximieren, ist die Aufgabe der linearen Ganzzahlprogrammierung boolean, da alle Restriktionskoeffizienten aufgrund der Ermessenheit der Quelldaten des Problems bestimmt sind; Darüber hinaus können die gewünschten Variablen des mathematischen Modells nur zwei Werte dauern. Im Moment gibt es mehrere mögliche Lösungen für diese Art von Aufgabe.

Die Methoden der bestellten Indexierung und modifizierten Markierungen, die auf der Lagrangian-Zersetzung des Originalmodells basieren, werden auf einer Anzahl von Single-Line-Aufgaben beschrieben, die gemäß den Methoden zur Bestellung von Indizierungen oder modifizierten Markierungen gelöst werden. Leider erlaubt die Anzahl der Vorgänge jeder Methode keine Polynombewertung; Darüber hinaus steigt die Abmessung des Tabelles der Sets (Zwischenwerte) der Verfahren stark an, wobei die Abmessung des Problems erhöht wird, das in unserem Fall inakzeptabel ist. Es ist möglich, dass die Änderung des Zersetzungsalgorithmus für ein bestimmtes mathematisches Modell die Abmessung der Tabellen verringert, aber bisher gibt es keinen solchen Algorithmus.

In dieser Hinsicht wurden als Lösungsmethoden, die in der Modifikation des Simplex-Verfahrens für den Fall der Task der Integer-linearen Programmierung beschrieben wurden, ausgewählt. Im allgemeinen Fall erlaubt die Anzahl der Vorgänge der Simplex-Methode keine Polynomschätzung (die Taskklasse wurde sogar gezeigt, für die die Anzahl der Operationen o (de)), aber für den Fall unserer Aufgabe, der Durchschnittsnummer von Operationen ermöglicht die Polynomschätzung: o (n 3 m 1 / (n-1)) (n - die Anzahl der Variablen; M ist die Anzahl der Einschränkungen).

2.2.1. Vollständig ganzzahliger Algorithmus

Dieser Algorithmus ist vollständig integer gefunden, denn wenn die Quelltabelle aus ganzzahligen Elementen besteht, enthalten alle Tabellen, die während des Betriebs des Algorithmus erhalten werden, nur ganzzahlige Elemente. Wie eine Dual-Simplex-Methode beginnt der Algorithmus mit einem doppelt geschätzten Tisch zu arbeiten. Wenn ein I 0 (i \u003d 1, ..., n + m; a i 0 die Zielfunktionskoeffizienten ist) - nicht negative Ganzzahlen, dann wird die Aufgabe gelöst. Wenn für ein paar Reihe a i 0

Lassen Sie die Aufgabe der ganzgerechten linearen Programmierung angegeben werden:

maximieren

unter Bedingungen

Die Bedingungen (12) können als aufgenommen werden


Angenommen, für T \u003d 0 (d. H. Für die Originaltabelle) sind alle A ij Ganzzahlen und Säulen (J \u003d 1, ..., N) - lexikografisch positiv. Dann bleiben alle Säulen über den Berechnungen lexikologisch positiv.

Vor dem Festlegen der Methode, um eine zusätzliche Beschränkung der produzierenden Zeichenfolge zu erhalten, führen wir eine neue Darstellung von Zahlen ein. Lassen Sie [X] die größte Ganzzahl angeben, die X nicht überschreitet. Für jede Zahl y (positiv oder negativ) und Positiv können geschrieben werden:

wo (R y ist ein nicht negativer Gleichgewicht von yo). Insbesondere, . Daher, wenn dann R \u003d 1. wenn dann R \u003d 0 ist.

Angehobene zusätzliche Ungleichheit sollte bei jeder ganzen Lösung des Problems (12) durchgeführt werden. Betrachten Sie einige Gleichung in T-Table (Senkung der Zeilenindex) mit einem 0


wobei x die entsprechende Komponente des Vektors und die aktuellen unverbindlichen Variablen ist. Sie können X, A 0 und A J mit der oben eingeführten Darstellung (14) ausdrücken:

Substanzen (16) und (17) in (15) und die Wiederzwecke der Mitglieder erhalten:

Da und auf den Variablen X und der Anforderung von Nicht-Negativität, ist der linke Teil der Gleichung (18) immer nicht negativ. Betrachten Sie den Ausdruck auf der rechten Seite, die in lockigen Klammern abgeschlossen ist. Die Koeffizienten in diesem Ausdruck sind Ganzzahlen, und die Variablen unterliegen der Anforderung der Ganzzahl. Daher müssen alle Ausdrücke in Klammern intenger sein. Bezeichnen Sie es durch S, d. H.:

.

Eine intenale schwache Variable s ist nicht negativ. In der Tat, wenn s negativ war, d. H. Es würde Werte annehmen -1, -2, ..., dann würde die Multiplikation derjenigen das gesamte Recht der Gleichung (18) negativ machen, während die linke Seite nicht negativ ist.

Betrachten Sie zwei Fälle und. Für und . Ersetzen eines Ausdrucks für X von (15) in die Gleichung (19), erhalten wir:

Gleichung (21) muss für jede intenale Lösung des Problems (12) durchgeführt werden. Beachten Sie, dass wenn ein 0 in Gleichung (21) ist. Daher kann Gleichung (21) in der Simplex-Methode als Master-Zeichenfolge verwendet werden. Insbesondere können Sie immer recht groß wählen, so dass das vordere Element in der Leitung (21) gleich -1 ist, das die ganzzahlige Tabelle bewahrt. Die Wahl des Angemessenen wirkt sich auf die Konvergenzrate des Algorithmus aus. Zunächst beschreiben wir den Algorithmus selbst. Als anfänglich ist es notwendig, eine doppelte zulässige Lösung anzunehmen, die durch Hinzufügen des Limits von Xn + M + 1 \u003d M - X 1 - ... - XN 0 erhalten werden kann, wobei M eine ausreichend große Konstante ist, und Durchführung einer Iteration mit der zusätzlichen Linie und mit einer lexikographisch minimalen Säule, die als führend aufgenommen wird. Der Algorithmus besteht aus den folgenden Schritten:

Schritt 0 Beginnen Sie mit einer doppelt zulässigen Matrix A 0 in Gleichung (13), deren Elemente intengründer (die Matrix A 0 darf die neuroble Elemente enthalten, dafür, siehe, S. 306).

Schritt 1. Unter den Reihen mit einem I 0 0 (i \u003d 1, ..., n + m) wird die Aufgabe gelöst.)

Schritt 2. Wählen Sie (die Wahlregel wird weiter beschrieben) und schreiben Sie eine zusätzliche Zeile an der Unterseite des Tisches

Diese Zeile wird als Blei ausgewählt.

Schritt 3. Löschen Sie eine zusätzliche Zeile, um einen Schritt eines dualen Simplex-Verfahrens zu halten, und kehren Sie zu Schritt 1 zurück.

Beweis des Gliedes des Algorithmus siehe, S. 303-304.

Die Wahlregel wird wie folgt formuliert.

Schritt 0. Lassen Sie eine Zeile mit der V-Nummer erzeugt.

Schritt 1. Lassen Sie - lexikografisch minimale Säule zwischen den Säulen mit einem VJ

Schritt 2. Für jede VJ - die größte Ganzzahl, so dass (lexikologisch weniger).

Schritt 3. Lassen Sie sie und (Linie V - produzieren). Dann

.

Schritt 4. Setzen Sie einen VJ

Das oben beschriebene Element der Auswahl ermöglicht es Ihnen, ein führendes Element gleich -1 zu erstellen, während die doppelte Zulässigkeit des Tisches aufbewahrt wird und gleichzeitig die Nullspalte so weit wie möglich ist, um abzunehmen.

2.2.2 Direkter Algorithmus für Ganzzahlprogrammierung

Der Begriff "gerade" an einem ganzzahligen Programmieralgorithmus bezeichnet ein Verfahren, das zu einer optimalen Lösung führt, indem sie nacheinander "verbesserte" Lösungen empfangen. Jede dieser Lösungen ist in dem Sinne zulässig, dass er sowohl lineare Einschränkungen als auch der Zustand der Ganzzahl erfüllt. Eine der wahrscheinlichen Vorteile des Algorithmus ist die Fähigkeit, Berechnungen zu unterbrechen, bevor die optimale Lösung erhalten wird, und verwenden Sie die besten Lösungen, die als ungefähr erhalten werden. Außerdem können Sie einen direkten Algorithmus in einer Verbindung mit doppelten Algorithmen verwenden, um verschiedene Verbundalgorithmen zu erhalten, die von der Phase ausgehen können, die die induifizierbaren Lösungen der Phase ergibt, die direkt zulässige Lösungen ergibt.

Der natürliche Präzedenzfall für den direkten Algorithmus ist vollständig intenger Algorithmus, da bei dem Verfahren dieses Algorithmus eine Folge von doppelt zulässigen Integerlösungen erhalten wird. Es sollte daran erinnert werden, dass der vollständig ganzzahlige Algorithmus von Homori eine Änderung der Dual-Simplex-Methode ist. Die Hauptunterschied dieses Algorithmus ist, dass als Master-Linie verwendet wird, um die Homorie mit einem führenden Element gleich -1 zu schneiden. Dieser Clip wird aus der herstellenden Zeichenfolge erhalten, die als eine der möglichen führenden Zeilen in der Dual-Simplex-Methode definiert ist. Die Verwendung eines solchen Abschalts als führende Leitung speichert nach der Iteration die doppelte Zulässigkeit und intensische Tabelle.

Es stellt sich heraus, dass es möglich ist, das Simplex-Verfahren zu ändern, das so modifiziert werden soll, dass er einen Algorithmus erhalten kann, der die direkte Gültigkeit und Intelligenz der Tabellen behält. Um das Rechenverfahren zu beschreiben, berücksichtigen Sie die folgende Aufgabe der Ganzzahlprogrammierung:

maximieren

Angenommen, die Spalte wird als Master und String V - die Master-Leitung in der Iteration der Simplex-Methode ausgewählt, d. H. Für alle Reihen i, in der ein Is\u003e 0 ist. Bevor Sie ein Gauß-Eliminierungsverfahren in einer Simplex-Methode durchführen, fügen Sie den Griff in der Tabelle hinzu, die aus der Zeile V:

wobei j eine Vielzahl von Indizes von Nicht-Abas-Variablen in (22), s k - eine neue (basische) schwache Variable und - eine unbestimmte (temporäre) positive Konstante ist.

Beachten Sie, dass, wenn Sie \u003d A vs setzen, das Clipping (23) zwei wichtige Eigenschaften aufweist. Erstens,

Dies bedeutet, dass die direkte Gültigkeit der Tabelle gespeichert wird, wenn Sie den Clip (23) als führende Linie verwenden. Zweitens, d. H. Das Antriebselement ist 1 (wenn der Clip als führende Leitung verwendet wird). Es ist einfach zu überprüfen (indem Sie die Formeln zum Ändern der Basisvariablen studieren), dass die Umwandlung der Simplex-Tabelle mit einem einzelnen Antriebselement die ganzzahligen Elemente des Simplex-Tisches speichert.

Diese Ideen dienten als Grundlage des direkten Algorithmus in der Ganzzahlprogrammierung:

Schritt 0 Beginnen Sie aus der Säulentabelle, in der ein I 0 0 (I 1) und alle Elemente A 0 J, A IJ und A I 0 Ganzzahlen sind.

Schritt 1. Überprüfen Sie die Ausführung der Bedingungen A 0 J 0 (J 1); Wenn sie fertig sind, ist das Ende, die aktuelle Basislösung ist optimal; Wenn nicht - gehen Sie zu Schritt 2.

Schritt 2. Wählen Sie die Presenter-Spalte S mit einem 0 S 0 aus. Diese Zeichenfolge wird verwendet, um Homori abzuschneiden.

Schritt 3. Holen Sie sich ein Stück Homorie von der produzierenden Schnur und fügen Sie ihn am Boden des Tisches hinzu, d. H. Zu den Einschränkungen der Problemgleichung (23) hinzugefügt, wobei.

Schritt 4. Durchführen Sie die Konvertierung der Tabelle mit dem Clip (23) als Master-Zeichenfolge. Die schwache Variable S k in (23) werden nicht trennen. Zurück zu Schritt 1.

Beweis des Gliedes des Algorithmus siehe, S. 346-353.

Da die Wahl der produzierenden String eine Aufgabe der nicht -trivialen ist, müssen anscheinend mehrere Zeilen vorhanden sein, die als Produktion dienen können. In vorläufigen Argumenten wurde die Vorschauzeile der Simplex-Methode als Produktionslinie verwendet. Diese Linie ergibt immer einen Clip, der eine führende Zeichenfolge mit einem führenden Element ist, das einem entspricht. Anscheinend gibt es andere Linien in der Tabelle, von deren Abschalt mit den gleichen Eigenschaften erhalten werden können. Angenommen, der Schnitt wird durch die Formel erhalten:

wo wird aus der Bedingung bestimmt

Wir definieren die Set V (s) als Set von Zeilen, die den Zustand erfüllen (25).

Die folgenden zwei Regeln sind Beispiele für zulässige Regeln für die Auswahl einer produzierenden Zeichenfolge:

Regel 1.

1. Machen Sie eine serielle endliche Liste von Zeichenfolgenindizes, damit der Index jeder Zeile mindestens einmal eingegeben wird. Zu 2 gehen.

2. Wenn die Liste leer ist oder keinen einzelnen Index von v (s) enthält, kehren Sie zu 1 zurück. Andernfalls finden Sie den ersten Index V V (s) in der Liste. Wählen Sie einen String V als produzieren aus. Anzeige Index V und alle vorherigen Indizes. Zu 3.

3. Wählen Sie sequenziell einen String V aus, der in 2 genommen wird, als erzeugend, solange V V (s). Sobald sich V V (s), kehren Sie zu 2 zurück.

Regel 2.

1. Sei v t (s) die eingestellten V (s), die der T-ten Tabelle entsprechen. Wenn v t (s) mehr als ein Element enthält: vt (s) \u003d (v 1, v 2, ..., vk +2), dann als erzeugend, um eine solche Zeichenfolge auszuwählen, die in den Sets von Sets V 1 ist (S 1), V 2 (S 2), ..., V T (s) Die Saite erschien früher (nicht später) des Restes und beharrte dann bis zu V T (s); Zu 2 gehen.

2. Wählen Sie sequentiell einen String V aus, der in 1. aufgenommen wurde. Einmal zurück zu 1.

2.2.3. Technik, um eine anfängliche zulässige Basis zu erhalten

Die Lösung für jedes der oben genannten Verfahren kann nur durchgeführt werden, wenn die lineare Programmieraufgabe entweder direkt oder ein doppelt zulässiger ist. Eine solche Zulässigkeit bedeutet das Vorhandensein einer anfänglichen zulässigen Basis in der ursprünglichen Aufgabe. Wenn die Aufgabe zulässig und direkt ist, und doppelt, dann ist die erhaltene Lösung optimal. In den meisten Fällen wird es nach dem Einstellen der Aufgabe herausgestellt, dass es weder direkt oder doppelt nicht zulässig ist. Daher geben wir einen Algorithmus zur Erlangung einer anfänglichen zulässigen Basis.

Lassen Sie das Problem der linearen Programmierung in kanonischer Form aufgenommen werden:

minimieren

unter Bedingungen

Alle B i kann nicht negativ gemacht werden, multipliziert, ggf. die entsprechende Gleichung auf -1. Dann kann jeder Gleichung zugegeben werden, dass eine künstliche Variable (künstliche Variablen nicht negativ sein sollte), so dass die anfänglichen Variablen eine anfängliche Basis bilden:

Künstliche Variablen können aus schwachen Variablen erhalten werden, die zur Umwandlung von Ungleichheiten in der Gleichung verwendet werden. In der Tat, wenn die anfänglichen Einschränkungen des linearen Programmierproblems in Form von Ungleichheiten angegeben sind:

das Hinzufügen einer schwachen Variablen zu jeder Ungleichung bekommen:

Wenn B i 0, kann ich als anfängliche Basisvariablen verwendet werden.

Der Unterschied zwischen künstlichen Variablen und schwachen Variablen ist wie folgt. In der optimalen Lösung des Problems sollten alle künstlichen Variablen Null sein, da es in der ursprünglichen Aufgabe keine derartigen Variablen gibt. Andererseits ist es durchaus möglich, dass in der optimalen Lösung schwache Variablen positive Werte aufweisen. Damit künstliche Variablen gleich Null sind, können Sie die Zielfunktion wie folgt vorlegen:

wo m ich ziemlich große positive zahlen ist. Die Idee der Methode entspricht der Tatsache, dass künstliche Variablen an wissentlich große Preise angehängt werden. Dieses Verfahren führt in einer optimalen Lösung zu Nullwerten künstlicher Variablen.

Es gibt einen anderen Weg, um eine anfänglich zulässige Basis zu erhalten. In diesem Verfahren werden wie in den ersten künstlichen Variablen als anfängliche Basisvariablen verwendet. Eine neue Zielfunktion wird berücksichtigt, was eine Menge künstlicher Variablen ist. Es ist erforderlich, die Verwendung der Z-Gleichung als eine der Einschränkungen zu minimieren. Wenn das anfängliche Gleichungssystem eine zulässige Lösung hat, sollten alle künstlichen Variablen Null werden. Folglich sollte der Mindestwert Null werden. Wenn das anfängliche Gleichungssystem nicht zulässige Lösungen verfügt. Wenn, dann können Sie die Zielfunktion senken und das optimale Basisformular als anfänglich zulässige Basis verwenden, um Z. zu minimieren. In der Literatur wird ein solches Verfahren als zweiphasige Simplex-Methode bezeichnet. In der ersten Phase des Verfahrens ist eine zulässige Basis durch Minimierung, am zweiten - der Z minimiert, und die optimale Basis wird erhalten.

Betrachten Sie als Beispiel die folgende lineare Programmieraufgabe:

minimieren

unter Bedingungen

wo alles b i nicht negativ ist.

Wenn Sie künstliche Variablen und eine neue Zielfunktion eingeben, erhalten wir die Aufgabe:

minimieren

,

unter Bedingungen

Wenn Sie alle Gleichungen bestreiten, die B i, von -Form, erhalten wir:

-Z.

wo das System (26) relativ diagonal ist Die erste Phase des Simplex-Verfahrens wird unter Bedingungen (26) minimiert. Auf dem Z-Zeichen werden Einschränkungen nicht überlagert. Sobald die künstliche Variable zu einem unbiologischen und seinem Koeffizienten zu einem unbiologischen Koeffizienten ist, ist die Variable selbst und die entsprechende Vektorsäulensäule von weiteren Berechnungen ausgeschlossen.

2.3. Merkmale der praktischen Implementierung des Systems

In der Praxis ist es nicht sehr praktisch, mit Informationen in der Form zu arbeiten, in der er im mathematischen Modell definiert ist. Daher definieren wir zunächst mit der Methode der Organisation von Daten oder dem Datenmodell.

2.3.1. Modell auswählen

Das Datenmodell ist ein Satz von Vereinbarungen zu den Methoden und Mitteln einer formalisierten Beschreibung von Objekten und deren Verbindungen, die sich auf die Automatisierung von Systemprozessen beziehen. Die Art des Modells und die Arten von Datenstrukturen, die darin eingesetzt werden, spiegelt das Konzept der Organisation und Verarbeitung von Daten wider, die in der dBMS verwendeten Daten verwendet werden, die das Modell unterstützt, oder in der Programmiersprache, die ein Anwendungsverarbeitungsprogramm erstellt.

Als Teil der Lösung der Aufgabe ist es notwendig, ein solches Datenmodell zu erstellen, in dem die Menge an unterstützenden Informationen minimal wäre, es gab eine grundlegende Möglichkeit des Multiplayer-Zugriffs auf Daten und würde bereitgestellt werden hohes Niveau Datenschutz.

Derzeit gibt es drei Hauptansätze für die Bildung eines Datenmodells: Hierarchie, Netzwerk und Relational.

Hierarchische Organisation Organisation.

Die hierarchische Datenbank besteht aus einem geordneten Bäumen. Genauer gesagt, von einem bestellten Satz mehrerer Instanzen einer Art von Holz. Die Art des Holzs besteht aus einem "Root" -Typ der Aufzeichnung und einem geordneten Satz von null oder mehr Arten von Träger (jeder davon ist eine Art Holztyp). Die Art des gesamten Holzes ist ein hierarchisch organisierter Satz von Aufzeichnungsarten.

Unterstützt automatisch die Integrität der Referenzen zwischen den Vorfahren und Nachkommen. Die Hauptregel: Kein Nachkomme kann ohne Ihren Elternteil existieren. Beachten Sie, dass ähnlich, dass die Integrität auf den Verbindungen zwischen den nicht in einer Hierarchie enthaltenen Datensätze nicht unterstützt wird.

Netzwerkmethode der Organisation

Der Netzwerkansatz der Datenorganisation ist eine Ausdehnung von hierarchischen. In hierarchischen Strukturen muss der Nachkommeerrekord genau einen Vorfahren haben; In der Netzwerkstruktur von Daten kann ein Nachkomme eine beliebige Anzahl von Vorfahren haben.

Die Netzwerkdatenbank besteht aus einem Satz von Datensätzen und einem Satz von Verbindungen zwischen diesen Datensätzen, und wenn wir genauer gesagt, aus dem Satz von Instanzen jedes Typs aus dem Datenbanksatz von Aufzeichnungsarten und Set von Instanzen von Instanzen von jedem Typ von einem angegebenen Satz von Kommunikationstypen.

Die Art der Kommunikation wird für zwei Arten von Aufzeichnungen bestimmt: Vorfahren und Nachkundet. Ein Beispiel der Art der Kommunikation besteht aus einem Fall der Art der Ahnenaufzeichnung und einem angeordneten Satz von Instanzen des Typaufzeichnungstyps. Für diese Art von Kommunikation müssen die folgenden zwei Bedingungen mit der Art der Aufzeichnung des Vorfahrens P und der Art des Aufzeichnungstyps C durchgeführt werden.

1. Jede Instanz des Typs P ist der Vorfahren nur in einem Fall L;

2. Jede Instanz C ist ein Nachkommen nicht mehr als in einem Fall L.

Relational-Methode der Organisation

Die wichtigsten Nachteile der hierarchischen und Netzwerktypen von Datenmodellen sind:

1. Zu schwierig zu bedienen;

2. Tatsächlich ist das Wissen der physischen Organisation erforderlich;

3. Angewandte Systeme hängen von dieser Organisation ab.

4. Ihre Logik wird mit den Details des Zugriffs auf die Datenbank überlastet.

Die häufigste Interpretation des relationalen Datenmodells gehört anscheinend anschließend, was in fast allen Büchern (mit verschiedenen Klarstellungen) wiedergibt. Nach dem Datum besteht das relationale Modell aus drei Teilen, die unterschiedliche Aspekte des relationalen Ansatzes beschreiben: das Strukturteil, das Manipulationsteil und das ganzheitliche Teil.

Im strukturellen Teil des Modells ist es festgelegt, dass die einzige Struktur der in der relationalen Datenbank verwendeten Daten nörzige n-arous Haltung ist.

Bei der Manipulation des Modells werden zwei grundlegende Mechanismen zur Manipulation der Relations-Datenbank genehmigt - relationaler Algebra und relationaler Kalkül. Der erste Mechanismus basiert hauptsächlich auf der klassischen Theorie der Sätze (mit einigen Klarstellungen), und der zweite ist auf der klassischen logischen Vorrichtung der Berechnung der Erstbestellungen von Erstbestellungen. Die Hauptfunktion des Manipulationsteils des relationalen Modells besteht darin, das Zusammenhang mit einer bestimmten Sprache relationaler Datenbanken sicherzustellen: Die Sprache wird als relational bezeichnet, wenn er nicht weniger ausdrucksstark und mit einem relationalen Algebra oder relationalen Kalkül hat.

Schließlich werden in dem integralen Bestandteil des relationalen Datenmodells zwei grundlegende Integritätsanforderungen erfasst, die in einem relationalen DBMS aufrechterhalten werden müssen. Die erste Anforderung wird als Anforderung der Integritätsintegrität bezeichnet. Die zweite Anforderung wird als Anforderung der Integrität auf den Links bezeichnet.

Nach der vorläufigen Analyse des mathematischen Modells des Systems und der Methoden der Datenorganisation sowie der auf dem Softwaremarkt zur Verfügung stehenden Organisation (hierarchische und Netzwerkmethoden der Organisation übernehmen Sie einen offensichtlichen Ansatz für die Organisation von Daten und heute sind solche dbms (z. B. Jasmin oder Informix Dynamic Server), aber im Moment der Entwicklung der Möglichkeit ihrer Verwendung war es nicht, gleichzeitig sehr "leistungsstarke" relationale DBMs (z. B. Oracle 8I)) die Wahl wurde zugunsten der relationalen Methode zur Organisation der Speicherung von Daten gemacht.

2.3.2. Beschreibung der Eingabeinformationen

Alle Informationen, die zur Lösung der Aufgabe erforderlich sind, werden bis zu den Iterationen der Methoden zur Lösung der Aufgabe des Zeitplans festgelegt. Um zu vereinfachen, wird angenommen, dass die angegebenen Informationen während des gesamten Zeitraums konstant sind, für den der Zeitplan erstellt wird.

Ohne einen gewissen Grad an gemeinsamer Aufgabe zu verlieren, ist es möglich, einen bestimmten Satz von Eingangsdaten zu ermitteln, die für die Bildung von Einschränkungen erforderlich sind und das Problem lösen, und gleichzeitig für alle Sorten der praktischen Implementierung des Systems üblich. Aufgrund der Besonderheiten der Aufgabe (die Möglichkeit der relativ einfachen Anpassung des mathematischen Modells für den Fall einer praktischen Umsetzung innerhalb einer bestimmten Universität) wurden die Formen von Dokumenten der Eingabeinformationen nicht entwickelt. Eingabedetails sind in Tabelle 2 beschrieben.

Tabelle 2. Beschreibung der Eingabedetails

Name der Voraussetzungen Charakteristische Voraussetzungen

eingabedokumente

Eine Art Max. Länge Richtigkeit

Nachname, Vorname, Patronymie des Lehrers;

Kontakt Telefonlehrer;

Akademischer Grad;

Stipendium;

Gruppenname;

Numerische Zusammensetzung der Gruppe;

Der Name des lesbaren Kurs;

Anzahl der Prüfstunden;

Publikumsnummern;

Informationen über das Publikum;

Der Name des vom Lehrer gelesenen Subjekts;

Die Anzahl der Gruppe, in der der Subjekt gelesen wird;

Informationen zu den Publikum, in denen das Subjekt gelesen wird.

Zusätzlich zu diesen Daten werden für ein mathematisches Modell einige andere zusätzliche Daten erforderlich, die nach der Analyse der Eingabeinformationen programmgesteuert erhalten werden können.

2.3.3. Entwicklung der Informationsunterstützung

Wir werden die Quellinformationen analysieren, um die Zusammensetzung und Struktur der Information für die anschließende Formalisierung und den Bau des Informations- und Logikdatenmodells (ILM) zu bestimmen. Das obige mathematische Modell sowie zusätzliche Informationen aus der Beschreibung des Themenbereichs ermöglichen es, die Rolle der Details in miteinander verbundenen Informationen in den im Dokument enthaltenen Informationen zu ermitteln. Auf der Grundlage einer solchen Analyse werden wir die funktionalen Abhängigkeiten der Details gemäß den Empfehlungen und Anforderungen der Datennormalisierung feststellen, wonach sie die Normalisierung selbst durchführen. Das Ziel der Normalisierung ist die Reduzierung der Datenredundanz (jedoch nicht unbedingt beseitigt). Manchmal soll jedoch einige Datenredundanz die Effizienz des Programms erhöhen. Lassen Sie uns die Definition von drei Formen der Datenbanknormalisierung angeben.

Der Tisch ist im ersten normale Form (1NF) Wenn ein primärer Schlüssel aufweist, sind alle Attribute einfache Datentypen und es gibt keine wiederholenden Attribute. Zur Übereinstimmung von 1NF müssen Attributdomänen atomare Werte sein und sollten nicht wiederholte Attributgruppen sein. Alle wiederkehrenden Attributgruppen müssen an einen neuen Tisch übertragen werden.

Die Tabelle befindet sich in der zweiten Normalform (2NF), wenn es sich in der ersten Normalform befindet, und jedes Nennerattribut ist vollständig von der Primärschlüssel abhängig (d. H. In 2NF muss jedes nexian-Attribut vollständig von den primären Schlüsselfeldern abhängen).

Der Tisch befindet sich in der dritten Normalform (3NF), wenn er sich in 2nf befindet und keine transitiven Abhängigkeiten enthält. Transitive Abhängigkeiten sind die Funktionsbeziehung zwischen nicht selektiven Attributen. Jedes nicht selektive Attribut, das funktionell von einem anderen nicht selektiven Attribut derselben Tabelle abhängt, erzeugt eine transitive Abhängigkeit und muss in eine andere Tabelle verschoben werden.

Die daraus resultierenden funktionalen Abhängigkeiten sind recht trivial und fließen offensichtlich vom mathematischen Modell aus, so dass in der zukünftigen Beschreibung sie nicht gegeben werden. Auch in der weiteren Präsentation werden Zwischengrade der Normalisierung abgesenkt. Daher stellen wir nur das endgültige infologische Modell der Datenbank vor (siehe Abb. 1.).


Abb.1. Infologische Modell-Datenbank-Task-Konfigurationsaufgabe




2.3.4. Merkmale der Bildung von Einschränkungen des mathematischen Modells der Erziehungszeitplanung

Ausarbeitung von Einschränkungen (1) - (7) des mathematischen Modells des Zeitplanzeichnungsproblems ist eine ausreichende triviale Task, die mit einfachen SQL-Anforderungen gelöst und keine Voranalyse von Eingabeinformationen erfordert. Daher konzentrieren wir uns nur auf die Einschränkungen des Formulars (8).

Beachten Sie, dass im mathematischen Modell des Systems das lesbare Objekt "gebunden" ist, nicht zu einem bestimmten Publikum des Verhaltens, sondern zu einigen Publikums. Die Ausrichtung bestimmter Publikumsnummern wird nach der Lösung der Aufgabe ausgeführt. Die Einschränkungen des Formulars (8) machen nur sinnvoll, wenn sich die Sätze des Publikums interessieren. Im mathematischen Modell des Systems wird vorgeschlagen, alle einzigartigen kreuzenden Paare in Form von Einschränkungen zu berücksichtigen. Die Anzahl dieser Schnittpunkte kann groß sein, was zu einer Vielzahl zusätzlicher Einschränkungen führen kann, die die Geschwindigkeit von Optimierungsalgorithmen negativ beeinflussen kann. Es ist jedoch möglich, die Anzahl der zusätzlichen Beschränkungen erheblich zu reduzieren.

Betrachten Sie den Fall einer linearen Anordnung von Kreuzungssätzen (siehe Abb. 2.).

Abb.2. Lineare Kreuzungssätze.

Bei einem solchen Satz von Publikum für die Durchführung von Klassen gesamtzahl Die Einschränkungen des Formulars (8) sind n-1, wobei n die Anzahl der Sätze ist. Die oben beschriebene Anordnung von Kreuzungssätzen kann linear bezeichnet werden, da sich gleichzeitig n Kreuzungssätze in der Linie befinden. Sie können den Fall in Betracht ziehen, wenn die Sätze in willkürlicher Weise überschritten werden (siehe Abb. 3.).

Abb. 3. Willkürlich kreuzende Sets.

Die Anzahl der Einschränkungen des Formulars (8) kann in diesem Fall reduziert werden, indem diese Einschränkungen durch Analogie mit dem Fall einer linearen Anordnung von Sätzen durchgeführt werden kann. Dazu ist es notwendig, anzunehmen, dass beispielsweise die Sätze B und D, die mit einem eingestellt sind, ein Satz sind, den Bereich der Kreuzung eines solchen Satzes mit einem Satz A bestimmen, danach dieselben Aktionen ausführen mit dem resultierenden Schnittbereich.

Lesen Sie mehr darüber, S. 210.

2.4. Die Ergebnisse des Programms

Mit der praktischen Umsetzung des Systems wurde besonderes Augenmerk auf die Aufgabe, die "Kern" -Systemmethoden zur Lösung des Problems und der Verfahren zur Bildung von Einschränkungen zu schreiben. Da die Aufgaben nicht eingestellt waren, um ein komplettes kommerzielles Handelsprodukt zu schreiben, wurde der Schnittstellenteil zum Zweck des Testens des Kerns geschrieben, um den Kern zu testen und die Grenzwerte der Anwendbarkeit von Algorithmen zu bestimmen, wodelt es daher das Minimum der Funktionalität und enthält nicht die Eingabevordepräsentation Module.

Der Kern des Systems und des Schnittstellenteils wurde auf Delphi 6.0 geschrieben. Verfahren zum Lösen und Algorithmen für die Bildung von Einschränkungen werden unter Verwendung von objektorientierten Technologien geschrieben, mit dem sie sie leicht in weitere Modifikationen des Systems einkapseln können, ohne dass die Integrität der Wechselwirkung verschiedener Algorithmen verletzt wird. Der Text der Objekte der Problemlösungsmethoden ist in Anhang 2. Die Datenbank wurde auf dem Oracle 8i DBMS implementiert, die Anforderungen an ihn werden in PL / SQL ausgeführt.

Die Quelldaten der Aufgaben werden in den Datenbanktabellen mit Anforderungsformularen aufgezeichnet. Eine dieser Formen ist in Fig. 4 gezeigt. 3.

Abb. 3. Form der ersten Daten

Die infolge der Lösung des Problems erhaltenen Daten reichen nicht aus, um den Zeitplan der Klassen unmittelbar nach der Lösung des Problems auszugeben, daher wurde das Datenpostverarbeitungsmodul geschrieben. Der endgültige Zeitplan der Klassen wird als Tabelle angezeigt, von der ein Beispiel sehen. vier.

Feige. 4. Beispiel Zeitplan der Klassen

Die Problemlösungsalgorithmen wurden auf verschiedenen Proben der Quelldaten getestet. Die Prüfung wurde auf einem Computer mit einem Intel Pentium 350 MHz-Prozessor durchgeführt, der Oracle 8i DBMS wurde auf einem Zweiprozessor-Server installiert: 2 CPU Intel Pentium II 350 MHz, RAM 384 MB; Eine Verbindungskapazität von bis zu 100 MBit / s wurde als Kommunikationskanal verwendet. Als Testquelldaten, als echte Daten zu Gruppen, Lehrern und lesbaren Themen des Abends des CHSU für 1999/2000 akademische Jahreund zufällig gebildete Quelldaten (lesbare Probanden bestimmten zufällig das Publikum für den leitenden Klassen). Im Durchschnitt wurde es von 5 bis 10 Tests für jede Testgröße der Quelldaten hergestellt. Infolgedessen werden die in Tabelle 2. in Abbildung 5. ein Diagramm der mittleren Zeit der Lösung des Problems von der Anzahl der lesbaren Elemente und der Anzahl der Gruppen angegeben.

2.5. Analyse der erzielten Ergebnisse

Analysieren der erhaltenen Daten können einige Schlussfolgerungen über die Funktionalität der Lösungsalgorithmen und das mathematische Modell, ihre Mängel und Anwendungen erfolgen.

Erstens enthält das verwendete mathematische Modell "zusätzliche" Einschränkungen, dessen Vorhandensein auf ein lineares Integer-Modell zurückzuführen ist, daneben, dass jeweils auf dem Strom lesbar ist (der Strom kann aus einer Gruppe bestehen) wird in Übereinstimmung mit 12 (für die Fall von Ereignissen) von Variablen, von denen jedes eine boolesche Variable ist. Zweitens erhöht sich die Zeit, um das Problem zu lösen, stark mit zunehmenden Eingabedaten. Dies ist auf einen starken Anstieg der Anzahl von Variablen und Einschränkungen des Modells zurückzuführen, wodurch die Abmessung der Arrays zunimmt, und dementsprechend die Zeit, das Problem zu lösen. Drittens deckt formalisierte mathematische Task nur die Aufgabe ab, den Zeitplan für Studierende des Abendschulungen zu erstellen, ohne die Übergänge zwischen den Korps zu berücksichtigen. Buchhaltung zusätzliche Anforderungen Es erhöht die Anzahl der Einschränkungen des Problems, was die Geschwindigkeit der Lösungsalgorithmen negativ beeinflusst.

Wir legen auf die zunehmende Unterschiede zwischen dem minimalen und dem Durchschnittswert des Problems der Lösung des Problems aufmerksam aufmerksam, da die Abmessung des Problems zunimmt. Dieser Unterschied entspricht, wie "erfolgreiche" (am besten optimalste) die anfängliche zulässige grundlegende Lösung des Problems gefunden hat. Daher kann die Zeit, das Problem zu lösen, erheblich reduziert werden kann, "gut", um eine ursprüngliche Basis zulässige Lösung zu finden. Um eine solche Lösung zu suchen, ist es am besten, Heuristik- und Zersetzungsalgorithmen zu verwenden.


Die Schlussfolgerungen während der Arbeit wurden das mathematische Modell des Zeitplans an der Universität für den Fall einer abendlichen Schulungsform ohne Übergänge zwischen den Gehäuse, Methoden zur Lösung der Aufgabe der Aufgabe ausgewählt, ausgewählt und ein Modell zum Speichern der Quelldaten von Die Aufgabe wurde entwickelt. Das Source Dataspeichermodell, das Modell des mathematischen Formalisierungsmodells und die Lösungsmethoden wurden als Softwaremodule implementiert. Die Betriebsgeschwindigkeit der Algorithmen wurde auf den heterogenen Sätzen von Quelldaten getestet, wodurch die Möglichkeiten und Anwendungsbereiche der Algorithmen bestimmt wurden.

Auf der Grundlage von Testergebnissen wurde festgestellt, dass durch die Betriebsgeschwindigkeit die Problemlösungsalgorithmen stark vom Volumen der Eingabeinformationen und der anfänglichen zulässigen Basislösung abhängen und daher heuristisch erheblich minderwertig und diskutieren. Im Falle der heuristischen Lösung von IT (Lösungen) kann die Optimalität (oder Erreichen eines globalen Maximums) nur mit vollständiger Suche nach allen möglichen Optionen nachgewiesen werden (es ist klar, dass in diesem Fall die Öffnungszeit des Algorithmus sein wird Sehr groß), daher werden iterationen von heuristischen Algorithmen beim Erreichen eines maximalen (nicht gesagten, lokalen oder globalen) Werts beendet. Die Lösung eines solchen Algorithmus kann nahe an dem optimalen, aber nicht optimalen Bereich sein. Um ein globales Maximum zu erreichen, ist es in diesem Fall möglich, ein in der Arbeit betrachtetes Lösungsverfahren zu verwenden, da das Optimum in mehreren Iterationen der beschriebenen Lösungsmethoden erreicht werden kann.


LITERATUR

1. Lagosa B.A., Petropavlovskaya A.V. Ein Komplex von Modellen und Methoden zur Optimierung des Klassenplans in der Universität // Wirtschaft und Matte. Methoden. 1993. T. 29. Vol. vier.

2. HU T. INTEGER-Programmierung und Threads in Netzwerken. M.: MIR, 1979.

3. Lebedev S.s. Änderung der Bieger-Methode teilweise integer lineare Programmierung // Wirtschaft und Matte. Methoden. 1994. T. 30. Vol. 2

4. Lebedev S.S., Zaslavsky A.A. Verwenden einer speziellen Methode von Filialen und Grenzen, um ein ganzzahliges verallgemeinertes Transportproblem // Wirtschaft und Matte zu lösen. Methoden. 1995. T. 31. Vol. 2

5. Zaslavsky A.A. Mit der Strategie von Strategien von Variablen in gemeinsame Aufgaben Ganzzahl lineare Programmierung // Wirtschaft und Matte. Methoden. 1997. T. 33. Ausgabe 2

6. Lebedev S.S. Auf der Methode der Bestellung der Indexierung in der Ganzzahl linearer Programmierung // Wirtschaft und Matte. Methoden. 1997. T. 33. Ausgabe 2

7. Lebedev S.s., Zaslavsky A.A. Modifizierte Methode Methode zur Programmierung boolescher Aufgaben // Wirtschaft und Matte. Methoden. 1998. T. 34. Vol. vier.

8. Zaslavsky A.A. Kombinierte Methode zur Lösung von Problemen von Rucksack / / Economy und Matte. Methoden. 1999. T. 35. Vol. einer.

Anhang 1. Die Fähigkeiten von Softwareprodukten von Planungssystemen.

VONstatus Author-2 + ist für eine schnelle und bequeme Vorbereitung von Klassenplänen vorgesehen und begleitet sie während des gesamten Schuljahres.
ABERZweiter 2 + - universalsystem.. Es gibt mehrere Versionen des Programms, das für Bildungseinrichtungen entworfen wurde:

Ausführung und Spezialisierung (mathematisch, sprachlich usw.) von Schulen, Lyceums, Gymnasium;

Technische Schulen, Hochschulen und Hochschulen;

Universitäten mit einem pädagogischen Gebäude;

Universitäten mit mehreren Bildungsgebäuden (unter Berücksichtigung der Bewegung zwischen Gehäusen).

ABERMit dem zweiten 2 + können Sie es ermöglichen, es ermöglichen, es ermöglichen, es ermöglichen, es ermöglichen, die Herausforderungen des Zeitplans leicht schnell zu automatisieren. Das System hilft dabei, leicht zu stoppen, zu kopect und press in Form von bequemen und visuellen Dokumenten:

Pascript-Klassenklassen (Trainingsgruppen);

Zeitpläne der PHPES;

Zeitplan des Publikums (Schränke);

Bildungspläne;

Tarif.

ABERDer zweite 2 + hat ein Tauben-Design und DPUs. Das Programm ist ziemlich leicht zu lernen. Es gibt ein detailliertes Handbuch, das alle Möglichkeiten und Möglichkeiten beschreibt, mit dem Programm zu arbeiten.
P.roGram arbeitet auf allen IBM-kompatiblen Computern, beginnend mit 486DX mit 4 MB RAM (und höher) dauert die Festplatte etwa 1 MB. Betriebssystem: MS DOS oder Windows 95/98.
IMarbeitsbrauer hängt von der Größe der Bildungseinrichtung und der Macht des Computers ab. Vollständige Berechnung und Optimierung des mittelschweren Schulzeitplans (30 Klassen, 60 Lehrer, zwei Schichten) steigen etwa 15 Minuten auf einem Celeron-400-Computer.

P.das ROGRAM zeichnet sich durch einen einzigartigen und sehr leistungsstarken Algorithmus aus, um den Zeitplan zu bauen und zu optimieren. Der resultierende automatische Zeitplan erfordert praktisch keine manuelle Raffinesse, dh auch bei sehr komplexen und harten Einschränkungen werden alle möglichen Klassen automatisch platziert. Wenn es unlösliche Widersprüche in den Quelldaten gibt, können sie mit einer speziellen Analyseeinheit erfasst und eliminiert werden.

ABERDie zweite 2 + erlaubt:

Optimieren Sie die "Windows" im Zeitplan;

Berücksichtigen Sie den erforderlichen Tagenbereich / Stunden für Klassen und Lehrer.

Optimal, um die Klassenklassen (Publikum) unter Berücksichtigung der Merkmale von Klassen, Gegenständen, Plexibilien und der Kapazität der Schränke berücksichtigen;

Berücksichtigen Sie die Happotes und Wünsche von Vollzeit-Spezialisten und Teilzeitmitgliedern;

Einfach verbinden ("Sprinkl") mehrere Klassen (Trainingsgruppen) in den Kontaktströmen von Kontakten von Klassen;

Seitenklassen Vorfälle von Freundsprache, Physische Kultur, TPU, Informatik (und andere Themen) für jede Anzahl von Untergruppen (bis zu zehn!);

Geben Sie (neben den wichtigsten Priestern) spezielle Pumps und Wahlfächer ein;

Optimität und Uniformen des Zeitplans optimieren.

2. System "Zeitplan" ver 4.0 Moskau - Lintech

Es ist notwendig, umgehend zu beachten, dass das Programm "Zeitplan" auf die Zusammenstellung des Schulzeitplans ausgerichtet ist, die Nutzung von Universität und Hochschulen ist nur mit einigen Reservierungen möglich. Die Planung erfolgt im Rahmen der Bedingungen der Bedingungen der Bedingungen, die auf den anfänglichen Dateneintrittsschritten ermittelt werden. Die vollständige Liste der möglichen Bedingungen ist unten angegeben:

- ÜBERdie maximale Unterrichtsnummer ist gebunden - d. H. Die Anzahl der Lektionen, maximal zulässig pro Tag;

- R.avomerity-Verteilung der Ladung der Lehrer zwischen Plantagen;

- R.avtomerität der Last der Klasse der Klassen zwischen den Zeitplanstielen;

- ZUoNROP-Fenster im Lehrplan der Lehrer;

- P.das ROGRAM berücksichtigt die Tatsache, dass Klassen willkürlich vereinigt und zerquetscht (Klassen können in Ströme kombiniert werden, in kleinere Untergruppen, und diese Untergruppen können wiederum als Grundlage für die Kombination in größere Gruppen dienen. Beispiel: In der Schule № № 1859 Es gibt 2 Senior Class, aber in jedem dieser Klassen gibt es zwei Untergruppen zur Spezialisierung, Klassen auf allgemeinen Bildungsunterlagen werden sofort für die gesamte Klasse durchgeführt, und die Spezialisierungspunkte sind separat. Da die Untergruppen auf Spezialisierung zu klein sind , und Lehrer fehlen, nach einigen Themen. Untergruppen 11a und 11b können auch kombiniert werden (zum Beispiel in.

- N.aity von ein paar Schichten - In diesem Fall müssen einzelne Klassen spätestens später als die ersten Schaltgruppen kommen, außerdem wird es durch die Windows-Steuerung im Zeitplan der Lehrer kompliziert, wenn die Lehrer in beiden Schichten arbeiten - in diesem Fall, Im Zeitplan dieser Lehrer müssen ihre Klassen um die Kreuzungsschicht "ziehen".

- W.das Wort der bindenden Lehrer an das Publikum - einzelne Lehrer haben "ihr" Publikum, in dem alle ihre Klassen durchgeführt werden;

- N.anis "Floating" -Verschicht - wenn die Startzeit der ersten Lektion definitiv nicht definiert ist, weil Je nach Freigabe verwandter Klassen, Lehrer, Publikationen ist es dynamisch gebildet;

- ZUonTROL-Ziel-Zeitplaneintrag (Klasse, Lehrer, Publikum) zum zulässigen Arbeitsbereich (in der temporären Grenzkarte). Für einen Lehrer in der temporären Restriktionskarte werden beispielsweise methodische Tage in der Regel angedeutet, manchmal einige Lektionsnummern - kurz gesagt, diese Positionen werden angezeigt, dass die Installation von Klassen mit der Beteiligung dieses Objekts unmöglich ist;

- N.die Aisia von kombinierten Gegenständen - Typ "Inm. / Informatics" "Informatics / Labor" usw. - wenn die Klasse in Untergruppen unterteilt ist;

- W.das Wort verbindlicher Objekte an das Publikum - leitende Klassen zu einzelnen Fächern ist nur in einem streng definierten Publikum oder der Liste der Publikum (körperliche Bildung, Arbeit usw.) möglich.

- VONwenn Sie den Zeitplan verlassen, berücksichtigen Sie den Umstand, dass es in einigen Themen keine ganze Klasse gibt, sondern auch seine Untergruppe. Dass eine andere Untergruppe zu dieser Zeit nicht in der Schule ging, können solche Klassen nur die ersten oder letzten Lektionen im Klassenplan eingesetzt werden.

- “IMum Parallels "- für einige Lehrer zu halten, ist es notwendig, die Tatsache zu berücksichtigen, dass langfristige Schulungen für Klassen (z. B. Chemiekurse) erforderlich ist. In diesem Fall versucht der Zeitplan des Lehrers, Parallelblöcke zu liefern, für Beispiel, erste Sorten, dann 7 usw. oder beim Verteilen zwischen Tagen, der Klassen in verschiedenen Parallelen für verschiedene Tage verbreitet;

- UNDnORDOD, wenn er einen Zeitplan erstellt, muss er berücksichtigt werden, dass Nuance, dass der Zeitplan in einigen Fächern im Voraus bekannt ist, in diesem Fall solche Klassen als inkonsistent (fixiert) eingeführt werden;

- ZUoNROPOL Verbotene Kombinationen von Objekten pro Klasse-Zeitplan - Zum Beispiel ist es unerwünscht, " sportunterricht"Und" Arbeiter "wurde am selben Tag durchgeführt;

- IMerfüllen Sie die Bedingungen der erforderlichen Sequenzen von Objekten - wenn es erforderlich ist, die Installation von Klassengruppen zu gewährleisten, in dem die Klassen in eine bestimmte Sequenz gehen müssen, beispielsweise Physik-Astronomie usw.;

- N.anis-Klassen, die an das Publikum gebunden sind - der Großteil der Klassen für solche Klassen wird in diesem Publikum durchgeführt, mit Ausnahme derjenigen Klassen, für die ein spezialisiertes Publikum erforderlich ist;

- N.die Enden der Anordnung der Klassen an einzelnen Themen von zwei Klassen in einer Reihe ("Paare", "Schriftsteller"), und diese Bedingung kann starr sein (in keinem Fall, um die "Schriftsteller" der Klassen zu brechen) und kann bevorzugt sein (Wenn es unmöglich ist, zwei Klassen zu verschieben, kann "Funken" gebrochen werden);

Der Umstand wird berücksichtigt, wenn in einigen Fächern die Ausrichtung nur durch einzelne Berufe zulässig ist.

3. Das System "Methodist"

In zwei Versionen hergestellt.

Version virtuell.

Release ohne ein automatisches Zeitplan-Kompilierungsmodul. Features Version Virtual:

Schnellsuche in den Listen von Lehrern, Publikum, Klassen (Gruppen), Disziplinen, Gehäuse;

Referenzinformationen für jede gefundene Liste der gefundenen Liste (Publikumkapazität, alle AUD. Hüllen X, Adresse und Tel. Lehrer, Liste der Abteilungen, Anzahl der Stunden auf Disziplin, studienlast Lehrer und Mn. DR.);

Kontrolle und die Möglichkeit der Umverteilung von Stunden zwischen Wochen auf jedem Disziplinkonto. Gruppen;

Automatische Überprüfung möglicher Dateneintrittsfehler (Einhaltung der Gesamtbetrag der Stunden und nach Art der Klassen, die Unordnung von Lehrern in Untergruppen, des Budgets der Gruppe der Gruppe und des Lehrers, der Takt inkonsistent in Flussgruppen und Mn. Andere );

Die Fähigkeit zur systematisierten Speicherung (und Schnellsuche) zusätzliche (nicht obligatorisch für den Kompilieren eines Zeitplans) von Informationen: Fotos von Lehrern, Kuratoren von Trainingsgruppen ( coole Führer), Daten zu Vertretern von Elternausschüssen, Posts, wissenschaftlichen Abschlüssen und Titeln, die für das Publikum verantwortlich sind, ...

Der schnelle Erhalt der vollständigen Informationen über die Kombination von Faktoren (alle Flussgruppen, alle Disziplinen des Lehrers X, die die Last an Wochen und Arten von Klassen hinweisen, die Disziplinen in der Computerklasse durchführen dürfen, persönliche Wünsche für die Berufe eines Lehrers, eine Liste festlicher Termine in der syrischen Gruppe und MN. Dr.);

Möglichkeit, einen fertigen Zeitplan mit der Überprüfung der Änderungen in der Richtigkeit der Änderungen (AUD., Gruppen / Untergruppen, ...) anzuzeigen, zu drucken und zu bearbeiten

Zu jeder Zeit können Sie ein Zeitplanbildungsmodul für vorbereitete Daten bestellen.

Der Zeitplan wird auf Ihrem Computer ausgebildet, um die Einstellungen, Steuerung, Änderungen usw. zu ändern, usw. (ohne die Möglichkeit, Stunden, Disziplinen, Lehrer, ...);

Wenn der Bedarf an einem Minor (bis zu 10%) Änderungen in den Quelldaten (Fehlern, plötzliche Ergänzungen erkannt werden), ist es möglich, das Zeitplanbildungsmodul gegen eine geringe Gebühr erneut zu bestellen.

Zu jeder Zeit können Sie zur Version des Standards gehen.

Methodist - Standard.

Neben den Fähigkeiten von Virtual beinhalten:

Automatisches Bild-Kompilierungsmodul;

Verteilung und Kontrolle der Trainingslast;

Strukturierung einer Folge der Disziplin (Vorlesungen - 2 Stunden, praktisch - 4 Stunden, Labor ...);

Zeitplan für jede Art von Bildungseinrichtung erstellen: Wöchentlich oder Semester (von 1 bis 23 Wochen);

Bilanzierung zur Kombination von Gruppen (Klassen) in Streams und / oder Partitionierung in Untergruppen;

Konsolidierung des speziellen Publikums (Computerklassen, Kategorien, Pool, ...);

Buchhaltung der Beschäftigung von Lehrern und Publikum (Partition, Verwendung einer gemeinsamen Schulungsbasis);

Übergangszeit zwischen Rümpfen

Wochenenden und Feiertage sind üblich und für einzelne Schulungsgruppen (nationaler, religiöser Feiertage);

Angabe der Gründe für den "erfolglosen Termin" der Klassen (vom Publikum besetzt, wird der Lehrer an den unerwünschten Wochentag ernannt) mit der Möglichkeit ihrer "manuellen" Korrektur;

Die Möglichkeit einer mehrfachen automatischen "Verbesserung" des Zeitplans;

Die Möglichkeit, die Bedeutung der in der Vorbereitung des Zeitplans berücksichtigten Faktoren zu ändern;

Die Möglichkeit der Einführung von Lehrerprioritäten - Grad ihrer individuellen Wünsche;

Einschränkungen auf die Funktionalität der "Methodist":

Mehrere Zeitpläne sind auf die maximale Anzahl von Lektionen pro Tag - 7 beschränkt.

Die Klassen beginnen immer mit der ersten Lektion / Paare (falls erforderlich, das erste Paar von "freien Klassen" zu ernennen);

Die Änderung der Zeit wird nicht berücksichtigt (zum Beispiel, um die Möglichkeit des Übergangs zwischen Rümpfen) zu überprüfen;

"Der Komplexitätsniveau" von Klassen für ihre rationale Verteilung der Woche wird nicht berücksichtigt (obwohl es indirekt möglich ist);

Die Dauer der Berufe ist konstant (es ist unmöglich, 30 Minuten lang einen Zeitplan aufzuarbeiten. Lektion in der jüngeren und 45 min. - In der High School).

Anhang 2. Auflisten von Software-Modullösungen, um den automatischen Zeitplan zu lösen

typ MyArray \u003d Anordnung von echtem Array;

MyArray_x \u003d Array of Longint;

prozedur Step_Dual_Simplex (Var A: MyArray; M, N, I1, J1: Ganzzahl);

(erzeugt einen Schritt des dualen Simplex-Verfahrens,

leitungselement - a)

var i, j: ganzgere;

b, B1: Array von Real;

Setzlänge (B, M); Setzlänge (B1, N);

für i: \u003d 0 bis m-1 do b [i]: \u003d a;

für i: \u003d 0 bis n-1 do b1 [i]: \u003d a;

für i: \u003d 0 bis m-1 do

für j: \u003d 0 bis n-1 beginnen

wenn (i \u003d I1) und (j \u003d J1) dann A: \u003d 1 / b

wenn (i \u003d I1) dann A: \u003d B1 [J] / B

wenn (j \u003d J1) dann A: \u003d - B [I] / B

sonst a: \u003d a-b [i] * b1 [j] / b;

für i: \u003d 0 bis n-1 do a: \u003d 0; A: \u003d - 1;

Finalize (B); Finalize (B1);

funktion Lexikogr_few (A: MyArray; M, N: Ganzzahl; I, I1: Ganzzahl): Boolean;

(Erste Spalte lexikologisch kleiner als der zweite)

Lexikogr_few: \u003d false;

während (a \u003d a) und (j

fUNCTION FIND_NU (A: MyArray; M, N: Ganzzahl; I, I1: Ganzzahl): Longint;

(I - Der Index der lexikographisch minimalen Säule)

während (a \u003d a) und (j

if (j 0) dann find_nu: \u003d runde (int (a / a));

prozedur full_integer_simplex (var x: myArray_x; A: MyArray; M, N: Ganzzahl);

(Vollständig ganzzahliger Algorithmus des Problems der linearen Ganzzahl

programmierung,

siehe HU T. "Integer Programmierung und Threads in Netzwerken", S. 300-309, S. 300-309,

a - Matrixgröße M + N + 2 * N + 1, Analog:

Es ist erforderlich, maximal zu finden

z \u003d - 10x1 - 14x2 - 21x3

2x1 + 2x2 + 7x3\u003e \u003d 14

8x1 + 11x2 + 9x3\u003e \u003d 12

9x1 + 6x2 + 3x3\u003e \u003d 10,

die Prozedur kehrt den Vektor X zurück, dessen erste M-Komponente der gewünschten Lösung,

wenn die letzte Komponente des Vektors \u003d 1, dann existieren die Lösungen nicht oder it \u003d unendlich)

var I, I1: Ganzzahl;

während (i \u003d 0) do inc (i); (String produzieren)

während (j \u003d 0) do inc (j);

für i1: \u003d 1 bis n-1 tun, wenn (a

mindestsäule)

(Wahl des Alpha)

(Writeln (I, ", j); readln;)

für i1: \u003d 1 bis n-1 tun, wenn a

j1: \u003d FIND_NU (A, M, N, J, I1);

if (j1\u003e 0) und (-a / j1\u003e alfa) dann alfa: \u003d - a / j1;

(Writeln (Alfa, "", I, "", j); readln;)

(Abschneide homori zu erhalten)

für i1: \u003d 0 bis n-1 tun, wenn A\u003e 0 dann A: \u003d Runde (int (a / agfa))

a: \u003d Runde (int (a / afa));

wenn frac (a / a / afa) 0 dann A: \u003d A-1;

STEP_DUAL_SIMPLEX (A, M, N, M-1, J);

bis (i\u003e \u003d m-1) oder (j\u003e \u003d n);

für i: \u003d 0 bis m-1 do x [i]: \u003d runde (a);

wenn j\u003e \u003d n dann x: \u003d 1 else x: \u003d 0;

prozedur Step_One_Simplex (Var A: MyArray; M, N, I: Ganzzahl);

vAR I1, I2: Ganzzahl;

(Ein Schritt einer direkten Ganzzahlmethode (Erzeugung einer Zeichenfolge - der letzte

i - produzierende Spalte))

für i1: \u003d 0 bis m-2 do a: \u003d a / (- a);

für i2: \u003d 0 bis n-1 do

für i1: \u003d 0 bis m-2 do

wenn i2i dann A: \u003d A + A * A;

prozedur Direct_inteGer_Simplex (Var x: myArray_x; A: MyArray; M, N: Ganzzahl);

(Ein direkter Integer-Algorithmus für die Aufgaben der ganzgerechten linearen Programmierung,

siehe HU T. "Ganzzahl Programmierung und Threads in Netzwerken", S. 344-370,

a - Matrixgröße M + N + 3 * N + 1 von Analogie:

es ist erforderlich, maximieren zu können

z \u003d x1 + x2 + x3

4x1 + 5x2 + 2x3

dann die Matrix und wird aussehen:

10 1 1 1 - In dieser Zeile ist die erste Zahl die rauhen MAX-Summen von Nicht-Bacon-Variablen

0 0 0 0 - Gomorie Cutoff String

der Algorithmus funktioniert nur bei a\u003e \u003d 0

gibt den Vektor x - auf dem Standort einer einzelnen Matrix die gewünschte Lösung zurück,

wenn in der letzten Komponenteneinheit - Fehler während der Berechnungen)

var i, j, i1, j1: integer;

b, B1, B2: Array von Byte;

Setzlänge (B, M); Setzegthre (B1, M);

für i: \u003d 0 bis m-1 do b1 [i]: \u003d 0;

(Überprüfung der Optimierungsbedingungen)

für j: \u003d 1 bis n-1 tun, wenn a

während Bool beginnt

(Suche nach einer produzierenden Spalte)

bool: \u003d false; j1: \u003d 0;

für j: \u003d 1 bis n-1 beginnen

wenn ein\u003e 0 dann

für i: \u003d 0 bis m-3 do a: \u003d a / a;

wenn nicht BOOL, beginne dann J1: \u003d j; bool: \u003d true; ende sonst, wenn lexikogr_few (A, m, n, j, j1)

(Suche nach einer produzierenden Zeichenfolge)

für j: \u003d 1 bis n-1 do

wenn ein\u003e 0 dann

für i: \u003d 0 bis m-3 do a: \u003d a * a;