CH434822A - Programmiereinrichtung für eine Datenverarbeitungsvorrichtung - Google Patents

Programmiereinrichtung für eine Datenverarbeitungsvorrichtung

Info

Publication number
CH434822A
CH434822A CH644563A CH644563A CH434822A CH 434822 A CH434822 A CH 434822A CH 644563 A CH644563 A CH 644563A CH 644563 A CH644563 A CH 644563A CH 434822 A CH434822 A CH 434822A
Authority
CH
Switzerland
Prior art keywords
sep
column
access time
matrix
memory
Prior art date
Application number
CH644563A
Other languages
English (en)
Inventor
Vincent Slee Patrick
Joyce Harris Pauline Margaret
Original Assignee
British Petroleum Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GB19464/62A external-priority patent/GB1039142A/en
Priority claimed from GB19463/62A external-priority patent/GB1039141A/en
Application filed by British Petroleum Co filed Critical British Petroleum Co
Publication of CH434822A publication Critical patent/CH434822A/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Description


      Programmiereinrichtung    für eine Datenverarbeitungsvorrichtung    Die Erfindung betrifft eine Programmiereinrichtung  für eine Datenverarbeitungsvorrichtung, welche Spei  cheranordnungen mit kürzerer und längerer     Zugriffzeit     und ein Rechenwerk umfasst, zur Steuerung der Daten  verarbeitungsvorrichtung zur Lösung eines in Form  von Gruppen von Datendarstellungen in der Speicher  anordnung mit längerer     Zugriffzeit    gespeicherten Sy  stems von simultanen linearen Funktionen.  



  Diese linearen Funktionen können simultane lineare  Funktionen in Form von Gleichungen und/oder Un  gleichungen sein, welche die funktionellen Beziehungen  zwischen mehreren Variablen beschreiben, beispielsweise  in einer Produktionseinrichtung, wie z. B. einer Raffine  rie, die Beziehungen zwischen Grössen, die das Produk  tionsergebnis beeinflussen.  



  Solche Funktionen werden im allgemeinen durch  eine unbegrenzte Zahl von Lösungen befriedigt. Durch  entsprechende lineare Programmierung eines Digital  rechengerätes lässt sich eine spezielle Lösung dieser  Funktionen mit speziellen Werten für ihre Variablen  ermitteln, welche für ein gegebenes Kriterium eine  optimale Lösung darstellt. Charakterisieren die Funk  tionen die Beziehungen zwischen Grössen, welche das  Produktionsergebnis     einer    Produktionseinrichtung be  stimmen, so erhält man mit den speziellen Werten der  optimalen Lösung ein im Sinne des vorgegebenen Krite  riums optimales Produktionsergebnis.  



  Zur Lösung eines solchen Systems von     linearen     Funktionen wird üblicherweise das     Digitalrechengerät     nach dem      Simplex -Programm    programmiert. Dieses        Simplex -Programm    ist zusammen mit seinen Varian  ten im Buch      Introduction    to Linear     Programming      von     Garvin,    herausgegeben von     MeGraw        Hill,    New  York 1960, beschrieben.  



  Bei der      Simplex -ProgrammierungwirddieGruppe     der simultanen linearen Funktionen in Form einer ersten  Matrix oder Ausgangsmatrix zusammengefasst und in  einem geeigneten Speicher der Recheneinrichtung ge  speichert, wobei die Elemente der Matrix in Spalten und  in Zeilen angeordnet sind und die einzelnen Spalten    diejenigen Elemente enthalten, die den einzelnen     Varia-          beln    des Systems der linearen Funktionen zugeordnet  sind. Bei einer beispielsweisen Anwendung wird der  Rechner durch das      Simplex -Programm    folgender  massen gesteuert:  1. Der Rechner tastet oder liest nacheinander die  Spalten und die Elemente in jeder Spalte der ersten  Matrix ab, um ein Element festzustellen, welches eine  vorher bestimmte Bedingung erfüllt.

   Die Spalte, in  welcher dieses Element festgestellt wird, wird als     Leit-          spalte    gespeichert; die Zeile, welcher das     festgestellte     Element angehört, ist die     Leitzeile.    Leitzeile und     Leit-          spalte    bestimmen einen Leitpunkt der Matrix.  



  2. Der Rechner führt die Rechenoperationen über  die ganze erste Matrix durch, z. B. eine Wiederholung,  welche Lesen und Verarbeiten der gesamten ersten  Matrix umfasst, wobei die gespeicherte Leitspalte zur  Erstellung einer zweiten Matrix benutzt wird, welche  gespeichert wird. Die in Frage kommenden Rechen  operationen umfassen im     allgemeinen    arithmetische  Operationen, welche mit dem     Leitpunkt-Wert    und den  Werten der anderen Elemente der Matrix auf Grund  bestimmter Operationsbefehle durchgeführt werden.  



  3. Die resultierende zweite Matrix wird im Rechner  auf gleiche Weise behandelt wie die erste; wird beim  Lesen der zweiten Matrix eine Leitspalte gefunden, so  wird diese gespeichert und eine zweite Wiederholung  über die genannte zweite Matrix durchgeführt, um eine  dritte Matrix zu erhalten usw. Dieses Vorgehen wird mit  weiteren Wiederholungen     fortgesetzt,    bis eine Matrix  erhalten wird, welche keine Leitspalten mehr enthält.  Diese letzte Matrix ist die Lösungsmatrix, welche die  Werte der verschiedenen Variablen für die gesuchte  optimale Lösung enthält.  



  Das      Simplex -Programm    ist zwar relativ einfach,  hat jedoch den Nachteil, dass der Rechner nicht voll aus  genützt wird. Es entstehen beträchtliche Zeitverluste  dadurch, dass schneller arbeitende Teile des Rechners  erst nach Beendigung der Funktionsabläufe von lang  samer arbeitenden Teilen mit ihrem Funktionsablauf      beginnen können. Dieser Nachteil des      Simplex -Pro-          gramms    ist besonders bedeutsam im Hinblick auf die  Tatsache, dass die heutigen     Optimalisierungsaufgaben     derart umfangreich sind und so viele Variablen enthal  ten, dass es mehrere Tage oder     sogar    Wochen dauern  kann, bis mit einem Rechner die Lösung einer gestellten  Aufgabe erhalten wird.

   Da bei Rechenmaschinen, welche  zur Lösung solcher Aufgaben brauchbar sind, die Miete  bis 3500 Franken pro Betriebsstunde kostet, können bei  der Lösung von umfangreichen Aufgaben die Mietkosten  für die Rechenmaschine Hunderttausende von Franken  betragen. Dabei ist allerdings zu berücksichtigen, dass  eine Aufgabe, welche mit einer Rechenmaschine in  beispielsweise vier Stunden gelöst werden kann, zu ihrer  Lösung 130 Jahre erfordern würde, wenn sie von Hand  ausgerechnet werden müsste, und     somit    ohne Rechen  maschine praktisch nicht gelöst werden könnte.  



  Die vorliegende Erfindung ermöglicht eine wesent  liche Reduzierung der Rechenzeit, die zur Lösung eines  Systems von linearen Funktionen benötigt wird und  beruht auf der Entdeckung, dass bei der Berechnung der  Lösungsmatrix eines Systems von linearen Funktionen  jedesmal dann eine Wiederholung vorzeitig beendet und  eine neue Wiederholung begonnen werden kann, wenn  im Verlauf der ersten Wiederholung eine neue Leitspalte  festgestellt wird und dass durch die Durchführung dieser  teilweise zusammenfallenden Wiederholungen die Lö  sungsmatrix erhalten wird.  



  Nachfolgend wird ein Ausführungsbeispiel der Er  findung an Hand der beiliegenden Zeichnungen beschrie  ben. In den Zeichnungen zeigen:       Fig.    1 ein vereinfachtes Blockschema einer Daten  verarbeitungsvorrichtung,       Fig.    2 ein ausführlicheres Blockschema der Daten  verarbeitungsvorrichtung,       Fig.    3 ein     Programmflussdiagramm    einer     Program-          miereinrichtung    nach der vorliegenden Erfindung und       Fig.    4 einen Teil eines Lochstreifens.  



  An zwei Beispielen von linearen Programmierungs  aufgaben, von denen die eine die Lösung einer Gruppe  von simultanen linearen Gleichungen mit einer einzigen  Lösung und die andere die     Maximalisierung    der Lösung  einer Gruppe von simultanen linearen Ungleichungen       betrifft,    soll im folgenden an Hand von manuell durch  zuführenden Rechenschritten gezeigt werden, wie diese  Aufgaben durch einen einfachen sich wiederholenden  Rechenvorgang, durch das      Simplex -Verfahren    und  durch eine Programmiereinrichtung nach der Erfindung  gelöst werden, wobei im letzten Fall die Schritte an  gegeben sind, nach welchen die Programmiereinrichtung  der Erfindung die Datenverarbeitungsvorrichtung zur  Lösung der genannten Aufgaben steuert.  



  <I>Beispiel 1</I>  Das erste Beispiel betrifft die Lösung einer Gruppe  von vier simultanen linearen Gleichungen mit vier  Variablen. Dieses erste Beispiel hat keine praktische  Bedeutung und soll lediglich das Verständnis für die  Arbeitsweise der Programmiereinrichtung nach der Er  findung erleichtern, bevor auf die zweite, ein praktisches  Problem darstellende Aufgabe eingegangen wird.

   Die  Aufgabe ist, die Lösungen für w, x, y und z in den  nachfolgenden Gleichungen zu finden:  
EMI0002.0016     
  
    2w <SEP> + <SEP> x <SEP> - <SEP> 3y <SEP> + <SEP> 3z <SEP> - <SEP> 11
<tb>  w <SEP> - <SEP> 3x <SEP> + <SEP> y <SEP> + <SEP> z <SEP> - <SEP> 6
<tb>  w <SEP> - <SEP> 2x <SEP> + <SEP> 2y <SEP> + <SEP> 4z <SEP> - <SEP> 27
<tb>  2w- <SEP> x <SEP> + <SEP> 2y- <SEP> z <SEP> - <SEP> 7       Der erste Schritt zur Lösung dieser Aufgabe nach  der einfachen Wiederholungsmethode ist die Aufstellung  der Matrix dieser Gleichungen:

    
EMI0002.0017     
  
    w <SEP> x <SEP> y <SEP> z <SEP> Q
<tb>  R1 <SEP> 2 <SEP> 1 <SEP> -3 <SEP> 3 <SEP> 11
<tb>  Ri <SEP> 1 <SEP> -3 <SEP> 1 <SEP> 1 <SEP> 6
<tb>  R3 <SEP> 1 <SEP> -2 <SEP> 2 <SEP> 4 <SEP> 27
<tb>  R4 <SEP> 2 <SEP> -1 <SEP> 2 <SEP> -1 <SEP> 7       Wie ersichtlich, enthalten die ersten vier Spalten  dieser Ausgangsmatrix nur die Koeffizienten der Varia  blen, wobei die Anordnung so getroffen ist, dass die  Koeffizienten aller Variablen jeder Gleichung in einer  Zeile liegen und die Koeffizienten jeder der Variablen  die ersten vier Spalten und die Werte der vier Gleichun  gen die fünfte Spalte bilden. Diese Matrix ist nun in eine  Einheitsmatrix umzuformen, in welcher jeder Wert in  der fünften Spalte den Wert einer Variablen bedeutet.

    Dies kann erreicht werden, indem jede Spalte der Reihe  nach als Leitspalte benützt und auf alle Spalten der  Matrix angewendet wird.  



  Mit der Spalte w als erste Leitspalte wird die Stelle       R1    der Spalte w auf Eins reduziert, die Stellen     R2,        R3     und     R4    auf Null zurückgeführt und alle anderen  Spalten der Matrix umgerechnet, dies führt auf eine  zweite Matrix von folgender Form:

    
EMI0002.0022     
  
    w <SEP> x <SEP> y <SEP> z <SEP> Q
<tb>  R1 <SEP> 1 <SEP> 1/2 <SEP> -3/2 <SEP> 3/2 <SEP> 1 <SEP> 1/2
<tb>  R#, <SEP> 0 <SEP> -7/2 <SEP> 5/2 <SEP> -1/2 <SEP> 1/2
<tb>  R3 <SEP> 0 <SEP> -5/2 <SEP> 7/2 <SEP> 5/2 <SEP> 4 <SEP> 3/2
<tb>  R4 <SEP> 0 <SEP> -2 <SEP> 5 <SEP> -4 <SEP> -4       Diese zweite Matrix wurde erhalten durch Division  aller Werte in der Zeile     R1    der Ausgangsmatrix mit  dem     Leitpunktwert.    Alle übrigen Werte wurden durch  die folgenden Regeln erhalten, welche für die Behand  lung einer Matrix allgemeine Gültigkeit haben:  Um den Wert eines bestimmten Punktes in der  zweiten Matrix zu erhalten, bildet man in der Ausgangs  matrix ein fiktives Rechteck mit dem Leitpunkt und  dem korrespondierenden Punkt als diagonal gegenüber  liegende Ecken.

   Der Wert des bestimmten Punktes in  der neuen Matrix ist dann gegeben durch den Wert des  korrespondierenden Punktes in der Ausgangsmatrix ab  züglich des Produktes der Werte der zwei diagonal  gegenüberliegenden Ecken des Rechteckes, welche den  Leitpunkt nicht enthalten, dividiert durch den Wert des  Leitpunktes.  



  Um also den Wert des Punktes     R@y    in der zweiten  Matrix zu finden, bildet man das fiktive Rechteck mit  den Ecken     Riw,        Rly,        R3y    und     R3w    in der Ausgangs  matrix.

   In Anwendung der vorstehenden Regel ergibt  sich der Wert für den Punkt     R3y    der zweiten Matrix zu:  
EMI0002.0031     
    Durch Anwendung der genannten Regeln auf die  zweite Matrix wird mit der Spalte x als Leitspalte und      dem Punkt     Rex    als Leitpunkt ein zweiter Wieder  holungsablauf durchgeführt und eine dritte Matrix von  folgender Form erhalten:

    
EMI0003.0002     
  
    w <SEP> x <SEP> y <SEP> z <SEP> Q
<tb>  R, <SEP> 1 <SEP> 0 <SEP> -8/7 <SEP> 10/7 <SEP> 39/7
<tb>  R2 <SEP> 0 <SEP> 1 <SEP> -5/7 <SEP> 1/7 <SEP> -1/7
<tb>  R3 <SEP> 0 <SEP> 0 <SEP> 12/7 <SEP> 20/7 <SEP> 148/7
<tb>  R4 <SEP> 0 <SEP> 0 <SEP> 25/7 <SEP> -26/7 <SEP> -30/7       Durch Anwendung der gleichen Regeln wird mit der  Spalte y als Leitspalte und dem Punkt     R3y    als     Leit-          punkt    ein dritter Wiederholungsablauf durchgeführt und  eine vierte Matrix     erhalten:     
EMI0003.0007     
  
    w <SEP> x <SEP> y <SEP> z <SEP> Q
<tb>  R1 <SEP> 1 <SEP> 0 <SEP> 0 <SEP> 10/3 <SEP> 59/3
<tb>  R2 <SEP> 0 <SEP> 1 <SEP> 0 <SEP> 4/3 <SEP> 26/3
<tb>  R:

  1 <SEP> 0 <SEP> 0 <SEP> 1 <SEP> 5/3 <SEP> 37/3
<tb>  R4 <SEP> 0 <SEP> 0 <SEP> 0 <SEP> -29/3 <SEP> -145/3       Schliesslich werden dieselben Regeln mit der Spalte w  als Leitspalte und dem Punkt     R4z    als Leitpunkt bei  einem vierten Wiederholungsablauf angewendet und die  nachfolgende fünfte Matrix erhalten:  
EMI0003.0009     
  
    w <SEP> x <SEP> y <SEP> z <SEP> Q
<tb>  R1 <SEP> 1 <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 3
<tb>  R" <SEP> 0 <SEP> 1 <SEP> 0 <SEP> 0 <SEP> 2
<tb>  R3 <SEP> 0 <SEP> 0 <SEP> 1 <SEP> 0 <SEP> 4
<tb>  R4 <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 1 <SEP> 5       Diese fünfte Matrix ist die Einheitsmatrix und stellt  die Lösungsmatrix dar. Da in der Zeile     R,    der Koeffi  zient von w gleich Eins ist und diejenigen von x, y und z  gleich Null sind, ist w = 3.

   Aus den gleichen Gründen  ist     x=2,y=4undz=5.     



  Bei der eben beschriebenen     Simplex-Methode    müs  sen somit vier Wiederholungsabläufe durchgeführt wer  den, um die Einheitsmatrix zu erhalten, wobei die Spal  ten der Reihe nach als Leitspalten benutzt werden und  die Leitpunkte der Leitspalten jeweils in einer anderen  Zeile liegen.  



  Die Methode, nach welcher die     Programmiereinrich-          tung    nach der Erfindung eine Datenverarbeitungsvor  richtung steuert, wird als      Polyplex -Methode    bezeich  net. Diese Methode ist nicht für die manuelle Durch  führung geeignet, aber zur Erläuterung wird sie nach  stehend schrittweise erklärt.

   Um das gleiche Problem wie  vorstehend zu lösen, fängt man ebenfalls mit der Auf  stellung der Ausgangsmatrix an:  
EMI0003.0016     
  
    w <SEP> x <SEP> y <SEP> z <SEP> Q
<tb>  R, <SEP> 2 <SEP> 1 <SEP> -3 <SEP> 3 <SEP> 11
<tb>  R2 <SEP> 1 <SEP> -3 <SEP> 1 <SEP> 1 <SEP> 6
<tb>  R:3 <SEP> 1 <SEP> -2 <SEP> 2 <SEP> 4 <SEP> 27
<tb>  R <SEP> 2 <SEP> -1 <SEP> 2 <SEP> -1 <SEP> 7       Bei der     Polyplex-Methode    wird zur Lösung dieser  Aufgabe nur ein     Polyplex-Wiederholungsablauf    benötigt.

    Durch diesen einzigen Wiederholungsablauf wird aus  der Ausgangsmatrix die nachstehende Matrix erhalten:  
EMI0003.0019     
  
    w <SEP> x <SEP> y <SEP> z <SEP> Q
<tb>  R1 <SEP> 2 <SEP> 1/2 <SEP> -8/7 <SEP> 10/3 <SEP> 3
<tb>  R2 <SEP> 1 <SEP> -7/2 <SEP> -5/7 <SEP> 4/3 <SEP> 2
<tb>  R3 <SEP> 1 <SEP> -5/2 <SEP> 12/7 <SEP> 5/3 <SEP> 4
<tb>  R4 <SEP> 2 <SEP> -2 <SEP> 25/7 <SEP> -29/3 <SEP> 5       Die Spalte w dieser neuen     Matrix    wurde durch  Wiederanschrift der Spalte w der     Ausgangsmatrix    er  halten.  



  Die Spalte x der neuen Matrix wurde erhalten durch  Anwendung der genannten Rechenregeln auf die Spalte  x der Ausgangsmatrix mit der Spalte w als Leitspalte  und dem Punkt     Rlw    als     Leitpunkt.     



  Die     Spalte    y der neuen Matrix wurde erhalten durch  Anwendung der Rechenregeln auf die Spalte y der Aus  gangsmatrix mit der Spalte w als Leitspalte und dem  Punkt     Rlw    als Leitpunkt und Anwendung der Rechen  regeln auf das Ergebnis mit der Spalte x der neuen  Matrix als Leitspalte und dem Punkt     Rex    als     Leit-          punkt.     



  Die Spalte z der neuen     Matrix    wurde erhalten durch  Anwendung der     Rechenregeln    auf die Spalte z der Aus  gangsmatrix mit der Spalte w als Leitkolonne und dem  Punkt     Rlw    als Leitpunkt, Anwendung der     Regeln,    auf  das Ergebnis mit der Spalte x der neuen     Matrix    als  Leitspalte und dem Punkt     Rex    als Leitpunkt und  Anwendung der Regeln auf dieses Ergebnis mit der  Spalte y der neuen Matrix als Leitspalte und dem  Punkt     R3y    als Leitpunkt.  



  Die Spalte Q der neuen Matrix wurde durch analoge  Anwendung der Rechenregeln auf die Spalte Q der       Ausgangsmatrix    mit den Spalten w, x, y und z der  neuen Matrix als     Leitspalten    erhalten. Wie ein Vergleich  zeigt, werden für w, x, y und z dieselben Resultate  erhalten wie bei Anwendung der früher beschriebenen  Methode. Es ist jedoch ersichtlich, dass wenig gewonnen  wird, wenn die     Polyplex-Methode    von Hand     durch-          geführt    wird, da jeder Schritt schriftlich festgehalten  werden müsste und nicht nur gestützt auf das Gedächtnis  ausgeführt werden könnte.

   Immerhin ist aber die     Poly-          plex-Methode    bei Verwendung einer Rechenmaschine  erheblich schneller als die vorher beschriebene Methode.  



  In     Fig.    1 ist ein vereinfachtes Blockschema einer  Datenverarbeitungsvorrichtung dargestellt, welche aus  einem Rechenwerk 10 und einem Speicherwerk 11 be  steht, die durch Leitungen 12 und 13 miteinander ver  bunden sind. Bei der praktischen Durchführung eines  Rechnungsablaufs zur Herstellung einer     Lösungsmatrix     für eine Gruppe von linearen Funktionen     wird    ein  grosser Teil der Rechenzeit für die Übertragung der  Daten vom Speicherwerk 11 auf das Rechenwerk 10,  in welchem sie verarbeitet werden, und     für    die Rück  übertragung der verarbeiteten Daten in das Speicher  werk benötigt.  



  Nachstehend     wird    der     Datenfluss    in der Daten  verarbeitungsvorrichtung zur Lösung des vorstehend  behandelten Problems bei der bekannten Methode und  bei der     Polyplex-Methode    betrachtet.  



  Bei Anwendung der bekannten Methode     wird    im  Speicherwerk 11 der Datenverarbeitungsvorrichtung die  Ausgangsmatrix gespeichert. Dann wird die Spalte w der       Matrix    vom Speicherwerk 11 über die Leitung 12 auf  das Rechenwerk 10 übertragen und im Rechenwerk an  einer ersten Stelle, welche der Leitspalte zugeordnet ist,  und an einer     zweiten    Stelle, welche der Spalte,     mit     welcher gerechnet werden soll, zugeordnet ist, gespei-           chert.    Dann     wird    im Rechenwerk aus der Spalte w mit  sich selbst als Leitspalte die Spalte w der zweiten     Matrix     berechnet und über die Leitung 13 in das Speicherwerk  übertragen.

   Dann wird die Spalte x der     Ausgangsmatrix     vom     Speicherwerk    11 über die     Leitung    12 in das  Rechenwerk 10 übertragen, dort die Rechnung mit der  Spalte w als Leitspalte durchgeführt und das Resultat  über die Leitung 13 in das Speicherwerk zurückgegeben.  Dieser Vorgang     wird    für jede Spalte wiederholt, bis die  zweite Matrix im Speicherwerk 11 gespeichert ist.  



  Wenn im Speicherwerk die zweite Matrix gespei  chert ist,     wird    die Spalte x dieser     Matrix    vom Speicher  werk auf das Rechenwerk übertragen und an der Stelle,  welche der Leitspalte     zugeordnet    ist, gespeichert. Der  Reihe nach wird dann jede Spalte der zweiten     Matrix     in das Rechenwerk übertragen und die berechneten  Spalten in das Speicherwerk zurückgegeben, bis in  diesem die dritte Matrix gespeichert ist. Dieser Vorgang       wird    wiederholt, bis im Speicherwerk die fünfte Matrix  gespeichert ist, welche die     Lösungsmatrix    ist. Die Auf  gabe ist dann gelöst und die Resultate können an der  Vorrichtung abgelesen werden.  



  Um die gestellte Aufgabe nach der     Polyplex-Me-          thode    zu lösen,     wird    im Speicherwerk 11 ebenfalls die  Ausgangsmatrix gespeichert. Die Spalte w wird dann  über die Leitung 12 vom Speicherwerk auf das Rechen  werk übertragen und an einer ersten Stelle, welche  einer Leitspalte     zugeordnat    ist, gespeichert und gleich  zeitig über die Leitung 13 in das Speicherwerk zurück  gegeben.  



  Dann     wird    die Spalte x vom Speicherwerk 11 in  das Rechenwerk 10 übertragen, mit der Spalte w als  Leitspalte durchgerechnet und die neue Spalte x über  die Leitung 13 in das Speicherwerk 11 übertragen und  gleichzeitig im Rechenwerk 10 an einer zweiten Stelle,  welche einer Leitspalte zugeordnet ist, gespeichert.  



  Dann wird die Spalte y vom Speicherwerk 11 in  das Rechenwerk 10 übertragen, mit der Spalte w als  Leitspalte durchgerechnet     und    die neue Spalte mit der  Spalte x als Leitspalte durchgerechnet. Die so erhaltene  neue Spalte wird in das Speicherwerk 11 übertragen und  gleichzeitig an einer     dritten    Stelle im Rechenwerk 10,  welche einer Leitspalte zugeordnet ist, gespeichert.  



  Die Spalten z und Q werden in gleicher Weise mit  den Spalten w, x, y bzw. w, x, y, z als Leitspalten durch  gerechnet und die Ergebnisse in das Speicherwerk 11  übertragen. Die neue     Q-Spalte    ist dann die Lösung der  Aufgabe und wurde, wie ersichtlich, nach der     übertra-          gung    einer, d. h. der Ausgangsmatrix vom Speicherwerk  11 in das Rechenwerk 10 und der Rückübertragung  einer Matrix in das Speicherwerk 11 erhalten. Die zuerst  beschriebene, bekannte Methode erfordert dagegen fünf  solcher Übertragungen, um die Aufgabe zu lösen. In  folgedessen wird bei der     Polyplex-Methode    die für die  Übertragung benötigte Zeit auf ein Fünftel der von der  bekannten Methode benötigten Zeit     reduziert.     



  Bei den vorstehend beschriebenen Methoden geht die  Ausgangsmatrix und damit die ursprüngliche Aufgaben  stellung verloren, wenn die zweite Matrix gebildet wird.  Da jedoch bei diesen Methoden eine Speicherung der       Einheitsmatrix    nicht erforderlich ist, kann zur Erhaltung  der Aufgabenstellung und Vermeidung der Speicherung  unnötiger Informationen während der Ausrechnung der  Lösung die     Kehrmatrix    der Ausgangsmatrix     gebildet     werden, und zwar indem die entsprechenden Spalten der  Einheitsmatrix mit Leitspalten durchgerechnet werden  anstatt zur Bildung der Einheitsmatrix mit sich selbst.    Dies ermöglicht die Überprüfung des Resultats auf  seine Richtigkeit.  



  Um die     Kehrmatrix    der Ausgangsmatrix zu bilden,  ist bei der bekannten Methode keine besondere Über  tragung von Daten notwendig, aber bei der     Polyplex-          Methode    ist     eine    weitere Übertragung der Matrix er  forderlich. Deshalb wird bei der oben erwähnten Auf  gabe die Übertragungszeit bei Anwendung der     Poly-          plex-Methode    auf zwei Fünftel der bei Anwendung der  bekannten Methode benötigten Übertragungszeit redu  ziert.  



  In der Praxis sind aber die Aufgaben viel umfang  reicher als das vorstehend behandelte Beispiel, und es  können sich Matrizen mit hunderten von Kolonnen und  Zeilen ergeben. Bei einer Aufgabe mit einer     begrenzten     Lösung und einer Matrix mit hundert Spalten müssten  bei Anwendung der bekannten Methode einhundert  komplette     Matrizen    in das Rechenwerk und zurück  in das Speicherwerk übertragen werden, d. h. es wären  einhundert Wiederholungsabläufe erforderlich, während  bei Anwendung der     Polyplex-Methode,    sofern die  Rechenmaschine genügend leistungsfähig ist, nur zwei  komplette Matrizen in das Rechenwerk und zurück  auf das Speicherwerk übertragen werden müssen, d. h.  nur zwei Wiederholungsabläufe erforderlich sind.  



  Damit die Bedeutung der Reduktion der     übertra-          gungszeit    bei Datenverarbeitungsvorrichtungen voll er  kannt werden kann, ist in der     Fig.    2 ein detailliertes  Blockschema einer solchen     Vorrichtung    dargestellt.  



  Die Datenverarbeitungsvorrichtung, die in der     Fig.    2  schematisch dargestellt ist, besitzt drei Haupteinheiten,       nämlich    einen Arbeitsspeicher 21, eine Programm  steuereinrichtung 22 und mindestens ein Rechenwerk  23. Ferner ist mindestens ein Trommelspeicher 24 und  mindestens ein Bandspeicher 26 vorgesehen, wovon  jeder über eine     übertragungssteuereinrichtung    27 mit  dem Arbeitsspeicher 21 verbunden ist. Diese Einheiten  sind untereinander durch Leitungen verbunden, welche  in der     Fig.    2 durch ausgezogene Linien für Leitungen  für den     Datenfluss    und durch gestrichelte Linien für  den Steuer- und     Befehlsfluss    dargestellt sind.

   Die Pfeile  auf den Linien geben die Richtung des Flusses an. Die  Leitungen 28, welche den Arbeitsspeicher 21 mit der       Programmsteuereinrichtung    22 verbinden, übermitteln  nur die Befehlsworte des Programms zur und von der       Programmsteuereinrichtung    22. Der Arbeitsspeicher 21  ist ein Speicher mit sehr kurzer     Zugriffzeit,    der z. B.  eine     Magnetkernanordnung    enthält, so dass es möglich  ist, ein in diesem Speicher gespeichertes Wort in etwa  6 Mikrosekunden abzulesen. Der Arbeitsspeicher kann  z. B. eine Kapazität zwischen 1000 und 50 000 alpha  numerischen Zeichen besitzen.

   Der Trommelspeicher 24  hat eine mittlere     Zugriffzeit    und besteht aus einer  Trommel aus     magnetisierbarem    Material, welche in  einzelne ringförmige Speicherabschnitte abgeteilt ist,  wobei jedem Abschnitt ein     Lese/Schreibkopf    zugeord  net ist. Im Betrieb wird die Trommel gedreht, so dass  die Abschnitte der Trommel an den zugeordneten Lese/  Schreibköpfen vorbeigehen, wodurch alphanumerische  Zeichen auf bestimmte Stellen der Abschnitte geschrie  ben oder von bestimmten Stellen der Abschnitte ab  gelesen werden können.

   Die     Zugriffzeit,    um ein Zeichen  auf der Trommel abzulesen oder auf diese zu schreiben,  beträgt im Mittel etwa 2,4 Millisekunden und die  Kapazität des Trommelspeichers liegt zwischen 30 000  und 250 000 alphanumerischen Zeichen, je nachdem wie  viele Trommeln verwendet werden. Der Bandspeicher 26      hat eine relativ lange     Zugriffzeit    und umfasst eine  Stapelrolle mit einem Magnetband, welches im Speicher  verbleibt und durch eine Antriebsrolle auf- und abgerollt  wird. Zwischen den Rollen     sind    eine Anzahl Lese-/  Schreibköpfe vorgesehen, so dass alphanumerische Zei  chen im Abstand voneinander auf das Band geschrieben  oder vom Band abgelesen werden können, wenn es unter  den     Lese/Schreibköpfen    von einer Rolle zur anderen  läuft.

   Die     Kapazität    solcher Bandspeicher kann zwischen  2 Millionen und 64 Millionen alphanumerische Zei  chen liegen. Um ein Zeichen vom Band abzulesen oder  auf dieses zu schreiben, werden 6,25 Millisekunden  benötigt, wenn die betreffende Stelle unter den Lese-/  Schreibköpfen liegt, aber es kann bis zu zehn Minuten  dauern, bis sich die verlangte Stelle des Bandes unter  den     Lese/Schreibköpfen    befindet.  



  Zur Lösung eines durch lineare Funktionen gegebe  nen Problems von der eingangs beschriebenen Art, aber  von grösserem Umfang,     wird    das Programm zur Her  stellung der Lösungsmatrix mit den Befehlsworten zur  Steuerung der Rechnungsabläufe in einem Trommel  speicher 24 gespeichert. Im Arbeitsspeicher 21 ist ein  Block von Befehlsworten enthalten, der jeweils in die       Programmsteuereinrichtung    22, welche die Rechnungs  abläufe der anderen Einheiten steuert, eingegeben und  von dieser wieder rückübertragen wird. Die Ausgangs  matrix ist im Bandspeicher 26 gespeichert und wird,  je eine Spalte auf einmal, in den Arbeitsspeicher ein  gegeben.  



  Die Lösung der eingangs beschriebenen Aufgabe  mit der in     Fig.    2 dargestellten Datenverarbeitungsvor  richtung unter Anwendung der bekannten Methode ver  langt die Speicherung jeder Leitspalte der Reihe nach  im     Arbeitspeicher    21. Jede     Spalte    der Ausgangsmatrix  wird dazu vom Bandspeicher 26 abgelesen und über die       Übertragungssteuereinrichtung    27, welche durch die       Programmsteuereinrichtung    22 gesteuert wird, in den  Arbeitsspeicher eingegeben.

   Ein Doppel der Leitspalte  und die Spalte, welche mit der Leitspalte durchgerechnet  werden soll, werden in das Rechenwerk 23 eingegeben,  der Rechenvorgang ausgeführt und die berechnete Spalte  auf einen zweiten Bandspeicher von der Art des Band  speichers 26 übertragen. Es muss somit für jeden  Rechenvorgang im Rechenwerk 23 eine Spalte vom  ersten Bandspeicher 26 abgelesen werden. Da das  Rechenwerk 23 mit viel höherer Geschwindigkeit als  die Bandspeicher arbeitet, deren Arbeitsgeschwindigkeit  durch die Geschwindigkeit bedingt ist, mit welcher das  Band die     Lese/Schreibköpfe    passiert, kann jedoch das  Rechenwerk 23 nicht ununterbrochen arbeiten, sondern  muss nach jedem Rechengang warten, bis die nächste  Spalte vom Bandspeicher 26 abgelesen ist.  



  Um die     eingans    beschriebene Aufgabe mit Hilfe der       Polyplex-Methode    zu lösen, wird die Spalte w vom  ersten Bandspeicher 26, welcher die Ausgangsmatrix  enthält, in den Arbeitsspeicher 21 eingegeben, auf eine  erste     Leitspaltenstelle    im Trommelspeicher 24 übertra  gen und an einen zweiten Bandspeicher (nicht dar  gestellt) zurückgegeben.  



  Dann werden die Spalte x vom ersten Bandspeicher  26 und ein Doppel der Spalte w vom Trommelspeicher  24 über den Arbeitsspeicher 21 in das Rechenwerk 23  eingegeben, wo die Rechnung ausgeführt wird. Die  berechnete neue Spalte x wird über den Arbeitsspeicher  21 auf den zweiten Bandspeicher und als Leitspalte auf  eine zweite     Leitspaltenstelle    im Trommelspeicher 24  übertragen.

      Dann werden die Spalte y vom ersten Bandspeicher  26 und ein Doppel der Spalte w vom Trommelspeicher  24 über den Arbeitsspeicher 21 in das Rechenwerk 23  eingegeben, wo die Rechnung mit der Spalte y durch  geführt und die berechnete neue Spalte y auf den  Arbeitsspeicher 21 übertragen     wird.    Nun wird ein  Doppel der neuen Leitspalte x auf den Arbeitsspeicher  21 übertragen und zusammen mit der neuen Spalte y  in das Rechenwerk eingegeben, welches die neue Spalte y  mit der neuen Leitspalte x durchrechnet. Die berechnete  weitere neue Spalte y     wird    über den Arbeitsspeicher 21  auf den zweiten Bandspeicher und auf eine dritte     Leit-          spaltenstelle    im Trommelspeicher 24 übertragen.  



  Mit der vom ersten Bandspeicher 26 abgelesenen  Spalte z sind in der vorstehend beschriebenen Weise  drei Rechengänge durchzuführen, bevor das Resultat auf  den zweiten Bandspeicher übertragen werden kann. In  gleicher Weise sind vier Rechengänge mit der Spalte Q  durchzuführen, um die Lösung zu erhalten. Da die  Arbeitsgeschwindigkeit des Rechenwerkes 23 wesentlich  grösser als diejenige des ersten Bandspeichers 26 ist,  kann in der Zeit, in welcher eine Spalte im Bandspeicher  gesucht und abgelesen     wird,    eine Mehrzahl von Rechen  gängen mit einer Spalte im Rechenwerk durchgeführt  werden.

   Dadurch wird erreicht, dass die Arbeits  geschwindigkeit der Datenverarbeitungsvorrichtung im  wesentlichen durch die Arbeitsgeschwindigkeit des  schnell arbeitenden Rechenwerkes 23     bestimmt    ist und  nicht durch die     Arbeitsgeschwindigkeit    des verhältnis  mässig langsam arbeitenden Bandspeichers 26, so dass  der Wirkungsgrad der Datenverarbeitungsvorrichtung  wesentlich höher ist.  



  <I>Beispiel 2</I>  Das zweite Beispiel ist eine praktische Aufgabe auf  dem Gebiet der Holzverarbeitung. Ein Arbeiter arbeitet  B Stunden im Tag und stellt z. B. Alpenstöcke, Bücher  gestelle und Stühle her, welche z. B. für 3 bzw. 2  Werteinheiten verkauft werden. Er hat die Wahl zwi  schen beispielsweise drei Arbeitsgängen P, Q und R.  



  Der Arbeitsgang P kostet 6 Werteinheiten pro  Stunde, in welcher Zeit zwei Alpenstöcke und drei       Stühle    hergestellt werden.  



  Der Arbeitsgang Q kostet 5 Werteinheiten pro  Stunde, in welcher Zeit ein Alpenstock und zwei Bücher  gestelle hergestellt werden.  



  Der Arbeitsgang R kostet 7 Werteinheiten pro  Stunde, in     welcher    Zeit ein Alpenstock, ein     Büchergestell     und zwei Stühle hergestellt werden.  



  Der Handel verlangt täglich neun Alpenstöcke,     elf     Büchergestelle und neun Stühle. Die Aufgabe ist nun,  eine Arbeitseinteilung zu finden, welche den grössten  Gewinn bringt.  



  Sind p, q und r die Anzahl Stunden, welche an den  drei Arbeitsgängen gearbeitet wird, dann gilt:  Anzahl der hergestellten Alpenstöcke       2p+q+r-9     Anzahl der hergestellten Büchergestelle       2q+r=11     Anzahl der hergestellten Stühle  3p +2r -9  Die Aufgabe, soweit sie bisher festgelegt ist, hat  eine einzige Lösung, und zwar P = 1 Std. q = 4 Std. und      r = 3 Std. Die Kosten- und Ertragsrechnung zeigt  dann, dass ein Gewinn von 20 Werteinheiten pro Tag  erzielt wird.  



  Die Aufgabe kann vollständiger in Form einer  linearen Programmierungsaufgabe gestellt werden. Dies  wird erreicht durch Umformung der Gleichungen in  Ungleichungen und Hinzufügung einer weiteren Un  gleichung. Es ergibt sich dann:  
EMI0006.0001     
  
    2p <SEP> + <SEP> q <SEP> + <SEP> r <SEP> G <SEP> 9
<tb>  2q <SEP> + <SEP> r <SEP> G <SEP> 11
<tb>  3p <SEP> + <SEP> 2r <SEP> G <SEP> 9
<tb>  p <SEP> + <SEP> q <SEP> + <SEP> r <SEP> G <SEP> 8       Die vierte Ungleichung bzw. Einschränkung ergibt sich  daraus, dass die Produktion nur während 8 Stunden pro  Tag läuft. Es gibt noch drei weitere Ungleichungen bzw.

    Einschränkungen, weil die     Arbeitsgänge    nicht in einer  negativen Zeit ausgeführt werden können:       pGO,        qGO,        rG0     Mit dieser erweiterten Aufgabenstellung ergeben sich  viele mögliche Lösungen und die Aufgabe ist nun, unter  den möglichen Lösungen diejenige zu finden, die den  grössten Gewinn abwirft.  



  Beim Arbeitsgang Q werden für den Alpenstock  3 Werteinheiten und für die beiden Büchergestelle 4  Werteinheiten pro Arbeitsstunde als Verkaufserlös er-  
EMI0006.0006     
  
    Bezeichnung <SEP> Q <SEP> p <SEP> q <SEP> r <SEP> s <SEP> t <SEP> u <SEP> v <SEP> Quotient
<tb>  R1 <SEP> s <SEP> 9 <SEP> 2 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 4,5
<tb>  R2 <SEP> t <SEP> 11 <SEP> 2 <SEP> 1 <SEP> 1 <SEP> <B>00</B>
<tb>  R3 <SEP> u <SEP> 9 <SEP> 3 <SEP> 2 <SEP> 1 <SEP> 3
<tb>  R4 <SEP> v <SEP> 8 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 8
<tb>  Kontrollzeile <SEP> 0 <SEP> -6 <SEP> -2 <SEP> -2       Die Ausgangsmatrix wurde wie im eingangs beschrie  benen Beispiel gebildet, indem nur die Koeffizienten der       Variablen    angeschrieben wurden.

   Die     Kontrollzeile     wurde durch Verschiebung der Koeffizienten der Varia  blen auf die rechte Seite der Gleichung für die Kontroll  funktion gebildet, so dass sie negativ wurden. Der Ge  winn (Schnittpunkt Kontrollzeile,     Konstantwertspalte)     ist Null, weil in der Ausgangsmatrix die vier zusätzlichen  Variablen die Werte s = 9, t = 11, u = 9 und v = 8  aufweisen.  



  Um die Aufgabe nach der bekannten     Simplex-          Methode    zu lösen, wird die Spalte mit dem grössten nega  tiven Wert in der     Kontrollzeile    als erste Leitspalte be  nützt. In der vorstehenden Ausgangsmatrix ist dies die  
EMI0006.0013     
  
    Bezeichnung <SEP> Konstantwert <SEP> Q <SEP> p <SEP> q <SEP> r <SEP> s <SEP> t <SEP> u <SEP> v <SEP> Quotient
<tb>  R, <SEP> s <SEP> 3 <SEP> 1 <SEP> -1/3 <SEP> 1 <SEP> 2/3 <SEP> 3
<tb>  R2 <SEP> t <SEP> 11 <SEP> 2 <SEP> 1 <SEP> 1 <SEP> 5 <SEP> 1/2
<tb>  R3 <SEP> p <SEP> 3 <SEP> 1 <SEP> 2/3 <SEP> 1/3 <SEP> 00
<tb>  R4 <SEP> v <SEP> 5 <SEP> 1 <SEP> 1/3 <SEP> -1/3 <SEP> 1 <SEP> 5
<tb>  Kontrollzeile <SEP> 18 <SEP> -2 <SEP> 2 <SEP> 2       zielt, bei 5 Werteinheiten Kosten, d. h. es wird ein Ge  winn von 2 Werteinheiten erzielt.

   In ähnlicher Weise  ergeben sich für die Arbeitsgänge P bzw. R Gewinne  von 6 bzw. 2 Werteinheiten pro Stunde. Der gesamte  Gewinn Z ist daher:       Z=6p+2q+2r     Diese Gleichung ist die     Kontrollfunktion,    und die Auf  gabe besteht darin, den maximalen Wert dieser Kontroll  funktion zu bestimmen.  



  Um die Aufgabe zu vervollständigen, werden die  Ungleichungen durch Einführung der weiteren     Variablen     s, t, u und v in die nachstehenden Gleichungen um  geformt:  
EMI0006.0017     
  
    2p <SEP> + <SEP> q <SEP> + <SEP> r <SEP> + <SEP> s <SEP> = <SEP> 9
<tb>  2q <SEP> + <SEP> r <SEP> + <SEP> t <SEP> = <SEP> 11
<tb>  3p <SEP> + <SEP> 2r <SEP> + <SEP> u <SEP> = <SEP> 9
<tb>  p <SEP> + <SEP> q <SEP> + <SEP> r <SEP> + <SEP> v <SEP> = <SEP> 8
<tb>  6p <SEP> + <SEP> 2q <SEP> + <SEP> 2r <SEP> = <SEP> Z       Die oberen vier dieser simultanen Gleichungen enthalten  sieben Unbekannte und haben somit eine unbegrenzte  Zahl von Lösungen, und die Aufgabe besteht darin, die  jenige Lösung zu suchen, für welche die Kontrollfunktion  den maximalen Wert aufweist.  



  Aus diesen Gleichungen kann die folgende Aus  gangsmatrix abgeleitet werden:    Spalte p. Um den Leitpunkt in dieser Spalte zu finden,  wird jeder Wert der     Konstantwertspalte    Q durch den  entsprechenden Wert der Spalte p geteilt. Der gesuchte  Leitpunkt ist derjenige, dessen Wert mit dem ent  sprechenden Wert der     Konstantwertspalte    den kleinsten  positiven Quotienten ergibt. Dies ist im vorliegenden       Fall    der Punkt     R3p.    Der kleinste positive Quotient       wird    deshalb als Kriterium verwendet, damit, ent  sprechend den eingangs gemachten Einschränkungen,  die Werte in der     Konstantwertspalte    positiv bleiben.  



  Durch     Durchrechnung    der ganzen Matrix mit der  Spalte p als Leitspalte entsprechend den im ersten Bei  spiel angegebenen Regeln wird die nachstehende zweite       Matrix    erhalten:      Bei dieser Matrix ist der Gewinn nicht mehr Null, son  dern hat auf achtzehn Werteinheiten zugenommen mit  S = 3, t = 11, p = 3, v = 5 und q, r und u gleich Null.  Aus der     Kontrollzeile    kann entnommen werden, dass  der Gewinn weiter erhöht werden kann durch die Be  nützung der Spalte q als Leitspalte.

   Durch die Division  
EMI0007.0002     
  
    Bezeichnung <SEP> Konstantwert <SEP> Q <SEP> p <SEP> q <SEP> r <SEP> s <SEP> t <SEP> u <SEP> v
<tb>  R1 <SEP> q <SEP> 3 <SEP> 1 <SEP> -1/3 <SEP> 1 <SEP> -2/3
<tb>  R2 <SEP> t <SEP> 5 <SEP> 5/3 <SEP> 2 <SEP> 1 <SEP> 4/3
<tb>  R3 <SEP> p <SEP> 3 <SEP> 1 <SEP> 2/3 <SEP> ' <SEP> 1/3
<tb>  R4 <SEP> v <SEP> 2 <SEP> 2/3 <SEP> -1 <SEP> 1/3 <SEP> 1
<tb>  Kontrolle <SEP> 24 <SEP> 4/3 <SEP> 2 <SEP> 2/3       Bei dieser dritten Matrix hat der Gewinn auf vier  undzwanzig Werteinheiten zugenommen, mit q = 3, t = 5,  p = 3, v = 2 und r, s und u gleich Null. Es kann keine  weitere Erhöhung des Gewinnes erzielt werden, weil  die Kontrollzeile alles positive Werte enthält.  



  Der nach dieser Methode ermittelte maximale Ge  winn von 24 Werteinheiten ist um 4 Werteinheiten  grösser als der nach der Methode am Anfang dieses  
EMI0007.0003     
  
    Bezeichnung <SEP> Q <SEP> p <SEP> q <SEP> r <SEP> s <SEP> t <SEP> u <SEP> v
<tb>  R1 <SEP> s <SEP> 9 <SEP> 2 <SEP> 1 <SEP> 1 <SEP> 1
<tb>  R2 <SEP> t <SEP> 11 <SEP> 2 <SEP> 1 <SEP> 1
<tb>  R3 <SEP> u <SEP> 9 <SEP> 2 <SEP> 2 <SEP> 1
<tb>  R4 <SEP> v <SEP> 8 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1
<tb>  Kontrollzeile <SEP> 0 <SEP> -6 <SEP> -2 <SEP> -2       Um den maximalen Wert der Kontrollfunktion nach  der     Polyplex-Methode    zu erhalten, wird die erste linke  Spalte p darauf geprüft, ob sie eine Leitspalte ist, d. h.  ob sie in der Kontrollzeile einen negativen Wert hat.  Da dies der Fall ist, ist die Spalte p die erste Leitspalte.

    Dann wird der Leitpunkt der Spalte p durch Teilung  der Werte der     Konstantwertspalte    durch die Werte der  Spalte p und Bestimmung der Zeile mit dem kleinsten  positiven Quotienten     ermittelt.    Dies ist im vorliegenden  Fall die Zeile     R3    und der Leitpunkt ist somit     R3p.     Die     Konstantwertspalte        wird    nun unter Anwendung der  im ersten Beispiel angegebenen Regeln mit der Spalte p  als Leitspalte durchgerechnet und die berechnete neue       Konstantwertspalte    im Gedächtnis behalten.

   Dann wird  die nächste Spalte q mit der Spalte p als Leitspalte  durchgerechnet und die berechnete neue Spalte q darauf  
EMI0007.0012     
  
    Bezeichnung <SEP> Q <SEP> p <SEP> q <SEP> r <SEP> s <SEP> t <SEP> u <SEP> v
<tb>  R1 <SEP> q <SEP> 3 <SEP> 2 <SEP> 1 <SEP> -1/3 <SEP> 1 <SEP> -2/3
<tb>  R2 <SEP> t <SEP> 5 <SEP> 2 <SEP> 5/3 <SEP> -1 <SEP> 1 <SEP> 4/3
<tb>  R3 <SEP> p <SEP> 3 <SEP> 3 <SEP> 2/3 <SEP> 1/3
<tb>  R4 <SEP> v <SEP> 2 <SEP> 1 <SEP> 1 <SEP> 2/3 <SEP> -1 <SEP> 1/3 <SEP> 1
<tb>  Kontrollzeile <SEP> 24 <SEP> -6 <SEP> -2 <SEP> . <SEP> 4/3 <SEP> 2 <SEP> 2/3       Diese Matrix wurde auf folgende Weise erhalten:       Durchrechnung    der Spalte q und der Konstantwert-    von Q durch q, wie oben angegeben, ergibt sich, dass  der Punkt     Riq    als Leitpunkt zu nehmen ist.  



  Durch die     Durchrechnung    der ganzen Matrix mit der  Spalte q als Leitspalte, wiederum     in    Anwendung der  im ersten Beispiel angegebenen Regeln,     wird    die nach  stehende dritte Matrix     erhalten:       Beispiels ermittelte Gewinn. Dieser grössere     Gewinn    wird  erzielt, wenn der Arbeitsgang P und der Arbeitsgang Q  je drei Stunden im Tag durchgeführt werden.

   Es sind  somit nur sechs Stunden Arbeit pro Tag nötig anstatt  acht, und dennoch wird ein höherer Gewinn erzielt,  Um die Aufgabe nach der     Polyplex-Methode    zu  lösen, wird die Ausgangsmatrix in gleicher Form wie bei  der     Simplex-Methode    angesetzt:    untersucht, ob sie einen negativen Wert in der     Kontroll-          zeile    aufweist. Wenn dies der Fall ist, wird die neue  Spalte q als Leitspalte verwendet und der Leitpunkt  dieser Spalte auf die bereits beschriebene Weise durch       Teilung    der     Werte    der neuen     Konstantwertspalte    durch  die Werte der neuen Spalte q bestimmt.

   Dann wird die  neue     Konstanrowertspalte    mit der neuen Spalte q als  Leitspalte und die Spalte r mit der Spalte p als Leitspalte  durchgerechnet. Die berechnete neue Spalte r wird dar  auf geprüft, ob sie in der Kontrollzeile einen negativen  Wert aufweist. Trifft dies zu, so ist sie die nächste     Leit-          spalte.     



  Dieser Vorgang     wird    auf die beschriebene Weise  bis zur letzten rechten Spalte der Matrix fortgesetzt.       Für    die gestellte Aufgabe ergibt sich dadurch die fol  gende zweite Matrix:    spalte Q mit der Spalte p als Leitspalte, Feststellung  der Spalte q als     Leitspalte    mit dem Punkt     Riq    als Leit-           punkt,        Durchrechnung    der neuen     Konstantwertspalte     mit der Spalte q als Leitspalte,     Durchrechnung    der  restlichen Spalten mit den beiden Spalten p und q als  Leitspalten und     Feststellung,

      dass keine weiteren nega  tiven Werte in der     Kontrollzeile    und damit keine weite  ren Leitspalten vorhanden sind.  
EMI0008.0007     
  
    Bezeichnung <SEP> Q <SEP> p <SEP> q <SEP> r <SEP> s <SEP> t <SEP> u <SEP> v
<tb>  R1 <SEP> q <SEP> 3 <SEP> 1 <SEP> -1/3 <SEP> 1 <SEP> -2/3
<tb>  R2 <SEP> t <SEP> 5 <SEP> 5/3 <SEP> -2 <SEP> 1 <SEP> 4/3
<tb>  R3 <SEP> p <SEP> 3 <SEP> 1 <SEP> 2/3 <SEP> 1/3
<tb>  1Z4 <SEP> v <SEP> 2 <SEP> 2/3 <SEP> -1 <SEP> 1/3 <SEP> 1
<tb>  Kontrollzeile <SEP> 24 <SEP> 4/3 <SEP> 2 <SEP> 2/3       Die Lösungsmatrix ist dieselbe wie bei der     Simplex-          Methode    und wurde in 12/7 Wiederholungsabläufen  erhalten, während bei der     Simplex-Methode    zwei Wie  derholungsabläufe erforderlich waren.

   Die Vorteile der       Polyplex-Methode    kommen bei solch einfachen Auf  gaben nicht vollständig zum Ausdruck, treten aber er  heblich mehr in Erscheinung, wenn     ausgedehntere    Auf  gaben zu lösen sind. Zur Vereinfachung der Beschrei  bung wurden einfache Aufgaben gewählt an Stelle von       komplizierten,    wie sie in der Praxis auftreten.  



  In Verbindung mit der Datenverarbeitungsvorrich  tung nach der     Fig.    2 wird die zweite Aufgabe bei An  wendung der     Simplex-Methode    in nahezu derselbe, Art  gelöst wie die erste Aufgabe. Die Ausgangsmatrix     wird     in einen ersten Bandspeicher 26 eingegeben und die       Konstantwertspalte    im Arbeitsspeicher 21 gespeichert.  



  Die Ausgangsmatrix wird abgetastet und die Spalte  mit dem grössten negativen Wert in der Kontrollzeile  wird als Leitspalte auf den Arbeitsspeicher 21 über  tragen. Der Leitpunkt in der Leitspalte wird im Rechen  werk 23 bestimmt, wie vorstehend beschrieben. Jede  Spalte der     Ausgangsmatrix    wird der Reihe nach auf  den Arbeitsspeicher 21 übertragen und im Rechenwerk  23 mit der Leitspalte     durchgerechnet.    Die berechneten  Spalten werden in einem zweiten Bandspeicher 26 ge  speichert.

   Wenn ein     vollständiger    Wiederholungsablauf  durchgeführt ist, wird die zweite     Matrix    im zweiten  Bandspeicher 26 abgetastet und die Spalte mit dem  grössten negativen     Wert    in der     Kontrollzeile    als     Leit-          spalte    auf den Arbeitsspeicher 21 übertragen. Der Vor  gang wird weitergeführt, bis keine negativen Werte mehr  in der     Kontrollzeile    auftreten; damit ist die Lösungs  matrix gefunden und der Vorgang     beendigt.     



  Um diese Aufgabe nach der     Polyplex-Methode    zu  lösen, wird sie in der     gleichen    Weise angesetzt wie bei  der     Simplex-Methode.    Anstatt die Ausgangsmatrix ab  zutasten, wird die     erste    Spalte vom ersten Bandspeicher  26 abgelesen und an den Arbeitsspeicher gegeben.

   Wenn  die Spalte einen negativen Wert in der Kontrollzeile  aufweist und somit     eine    Leitspalte ist, wird ihr Leitpunkt  bestimmt und die     Konstantwertspalte    umgeschrieben,  indem sie mit der Leitspalte im Rechenwerk 23 durch  gerechnet     wird.    Die Leitspalte wird an einer     Leitspalten-          stelle    im Trommelspeicher 24 gespeichert und auf einen  zweiten Bandspeicher 26 übertragen.  



  Mit der im     Trommelspeicher    24 gespeicherten     Leit-          spalte    ist auch ein Befehl gespeichert, welcher angibt,  wie viele Male die Leitspalte     zur        Durchrechnung    der  Spalten der Matrix benützt werden soll. Jede Leitspalte    Um die Lösung der Aufgabe zu Ende zu führen,  ist noch die Spalte p mit den Spalten p und q als     Leit-          spalten    und die Spalte q mit der Spalte q als Leitspalte  durchzurechnen. Dies ergibt nachstehende Lösungs  matrix:    muss mit jeder Spalte der Matrix durchgerechnet werden,  und deshalb hat der Befehl einen Wert, der der Anzahl  der Spalten der Matrix entspricht.

   Jedesmal wenn eine  Leitspalte zur     Durchrechnung    einer Spalte benützt wird,  wird der Wert des Befehls vermindert, so dass, wenn  die Leitspalte mit allen Spalten der Matrix durch  gerechnet ist, der Befehl im Trommelspeicher 24 ge  löscht ist.  



  Der Vorgang wird in gleicher Weise durchgeführt,  wie sie beim ersten Beispiel beschrieben ist, mit dem  Unterschied, dass die     Konstantwertspalte    im Arbeits  speicher 21 gespeichert wird und jedes Mal umgeschrie  ben wird, wenn ein neuer Leitpunkt erhalten wird. Der  Vorgang geht weiter, bis keine Leitspalten mehr im  Trommelspeicher sind; damit ist die Aufgabe gelöst. Die  Lösungsmatrix kann teilweise im ersten Bandspeicher  26 und teilweise im zweiten Bandspeicher 26 gespeichert  sein, und es muss deshalb der in einem Bandspeicher  gespeicherte Teil in den anderen Bandspeicher über  tragen werden, um die Lösungsmatrix als Ganzes auf  einem Band zu haben.  



  In der Praxis ist die     ursprüngliche    Matrix auf mehr  als einer Bandrolle gespeichert, damit der Rechnungs  ablauf nicht unterbrochen werden muss,     während    die  Bänder aufgewickelt werden müssen. Die Bandspeicher  können zum Ablesen oder Aufzeichnen benützt werden,  wenn das Band von der Stapelrolle zur Maschinenrolle  läuft. Die Anzahl der Bandrollen und damit die not  wendige Anzahl von Bandspeichern ist aus Sicherheits  gründen um zwei grösser, als es für die Aufnahme der       Matrix    erforderlich wäre.  



  Obwohl vorstehend angegeben wurde, dass bei der  Lösung der Aufgabe mit einer grossen Anzahl von  linearen Funktionen nach der     Polyplex-Methode    alle  Leitspalten automatisch im Trommelspeicher 24 ge  speichert werden, ist dies nicht immer möglich. Die  Anzahl der Leitspalten, die im Trommelspeicher 24  gespeichert werden können, ist durch zwei Kriterien  bestimmt, nämlich einerseits durch den     verfügbaren     Speicherraum zur Speicherung der Leitspalten auf der  Trommel, und anderseits die     Anzahl    der Rechengänge,  welche das Rechenwerk in der Zeit verarbeiten kann,  die notwendig ist, um eine Spalte vom Bandspeicher 26  abzulesen.

   Um eine bestmögliche Ausnützung der Daten  verarbeitungsvorrichtung zu erzielen, wird das Pro  gramm so aufgesetzt, dass sichergestellt ist, dass die  Anzahl der im Trommelspeicher 24 gespeicherten     Leit-          spalten    so ist, dass Spalten     fortwährend    von den Band  speichern 26 abgelesen oder auf diese aufgeschrieben      werden können. Es wird dadurch erreicht, dass keine  Zeit aufgewendet werden muss, um die Bänder anlaufen  zu lassen oder     stillzusetzen,    wenn von ihnen abgelesen  oder auf sie aufgezeichnet wird; die Geschwindigkeit des  Arbeitsvorganges der Bandspeicher ist somit mit  der Arbeitsgeschwindigkeit des schneller arbeitenden  Rechenwerks koordiniert.  



  Bei beiden vorstehenden Beispielen wurde die Lö  sungsmatrix durch Benützung von Spalten der Matrix       erzeugt.    Es ist klar, dass die Aufgaben auch gelöst  werden könnten unter Benützung der Zeilen der Matrix.  Wenn mit der Zeile, welche den Leitpunkt     enthält,     gearbeitet wird und einer anderen Zeile, können die  vorstehend angegebenen allgemeinen Regeln in gleicher  Weise zur Lösung einer Aufgabe angewendet werden,  wie es beim Vorgehen unter Benützung der Spalten der  Fall ist.  



  In der     Fig.    3 ist ein     Programmablaufdiagramm    dar  gestellt, wie es dem wirklichen linearen Programm ent  spricht. Mit der gestellten Aufgabe und der auf dem  Band gespeicherten Ausgangsmatrix beginnt der Arbeits  ablauf mit dem Pfeil 31.  



  Der erste Befehl im Block 32 veranlasst, dass die  erste Spalte vom Band abgelesen wird. Der nächste  Befehl im Block 33 veranlasst, dass eine gespeicherte  Leitspalte in einem     Leitspaltenspeicher    zur     Durchrech-          nung    der Spalte, welche eben in das Rechenwerk ein  gegeben wurde, benützt wird. Ein     Doppel    der berechne  ten Spalte wird dann durch den nächsten Befehl im  Block 34 auf das Band übertragen.  



  Der nächste Befehl im Block 35 veranlasst eine erste  Zweigumschaltung, und zwar, wenn der     Leitspaltenspei-          cher    leer ist und dadurch das Ende des Rechenablaufes  anzeigt, auf dem Block 36, dessen Befehl bewirkt, dass  die berechnete vollständige Matrix auf ein Band über  tragen und das Ergebnis ausgedruckt wird, oder, wenn  der     Leitspaltenspeicher    nicht leer ist, auf den Block 37,  dessen Befehl eine weitere Zweigumschaltung veranlasst.  Ist in diesem Zeitpunkt der     Leitspaltenspeicher    voll, so  veranlasst der Befehl im Block 37 die Rückführung des  Rechenablaufes auf den Block 32, wodurch mit der       Ablesung    der nächsten Spalte begonnen wird.

   Ist jedoch  in diesem Zeitpunkt im     Leitspaltenspeicher    Platzvor  handen, so bewirkt der Befehl im Block 37 die Ein  schaltung des Blockes 37, durch dessen Befehl die be  rechnete Spalte darauf überprüft wird, ob sie als     Leit-          spalte        verwendet    werden kann. Ist dies nicht der Fall,  wird der Rechenablauf auf den Block 32 zurückgeführt.  Ist die berechnete Spalte als Leitspalte brauchbar, wird  der andere Zweig des Diagramms verfolgt und der Be  fehl im Block 39 ausgeführt. Dieser Befehl veranlasst,  dass die berechnete Spalte auf die erste freie Stelle im       Leitspaltenspeicher    übertragen wird.

   Der nächste Befehl  im Block 40 veranlasst, dass die     Konstantwertspalte,     welche im Arbeitsspeicher gespeichert ist, mit der neuen  Leitspalte umgerechnet wird. Der Zyklus der Rechen  abläufe fängt dann wieder mit dem Befehl 32 an und  wird fortgesetzt, bis, wie vorstehend erläutert, der     Leit-          spaltenspeicher    leer ist, womit die Aufgabe gelöst ist.  



  Um eine Gruppe von simultanen Gleichungen, wie  im vorstehend erwähnten ersten Beispiel gezeigt, zu  lösen, wäre der Abzweigbefehl nicht notwendig, da jede  Spalte als Leitspalte benützt wird; ebenso wäre der  Befehl 40 nicht notwendig.  



  Der Zweigbefehl 38 kann erweitert werden, um  eine laufende     überwachung    über den     Leitspaltenspeicher     auszuüben zwecks Feststellung, in welchem Masse er    gefüllt und in welchem Mass Leitspalten im Verlauf des  Rechenvorganges gefunden werden. Durch diese über  wachung wird ein nomineller Anstieg festgelegt und  nur Spalten, welche einen stärkeren Anstieg bewirken,  als der für die     Maximalisierung    der     Kontrollzeile    fest  gelegte Wert angibt, werden als Leitspalten benützt.

    Es gibt zwei     Extremfälle;    wird nur eine kleine Zahl von  möglichen Leitspalten gefunden, ist der Anstieg gering  und alle möglichen Leitspalten werden in den     Leit-          spaltenspeicher    gegeben und benützt, wird eine ausser  ordentlich grosse Zahl von möglichen Leitspalten gefun  den, ist der     Anstieg    hoch, und es werden nur diejenigen  Leitspalten in den     Leitspaltenspeicher    gegeben und be  nützt, die einen grösseren Anstieg als den festgesetzten  bewirken. Diese Massnahme ergibt eine weitere Ver  besserung des Wirkungsgrades der Datenverarbeitungs  vorrichtung.  



  Im dargestellten     Programmablaufdiagramm    wurden  die wichtigen Schritte des Ablaufs gezeigt; in der Praxis  ist jedoch ein sehr viel komplizierteres     Programmab-          laufdiagramm    erforderlich.  



  Vom Ablaufdiagramm wird ein detaillierteres Pro  gramm abgeleitet, welches dann auf einem Programm  träger, z. B. auf einem Lochstreifen, festgelegt wird.  Jeder Typ von Datenverarbeitungsvorrichtungen hat  seinen eigenen Befehlscode, der die Rechenabläufe der  Datenverarbeitungsvorrichtung steuert.

   Zum Beispiel  umfasst der Befehlscode der Datenverarbeitungsvorrich  tung vom Typ      Ferranti        Mercury     folgende codierte  Befehle:  42 - Addition  50 - Multiplikation  68 -     Ablesung    von der Trommel  69 - Aufschreiben auf die Trommel  82 - Druck einer Linie  86 -     Ablesung    vom Band  Diese Datenverarbeitungsvorrichtung arbeitet mit  Befehlsworten, die zwanzig Ziffern lang sind; die ersten  sieben Ziffern enthalten den Rechencode, die nächsten  drei Ziffern enthalten einen     Modifikationscode    und die  letzten zehn     Ziffern    enthalten eine Adresse. Der Modi  fikationscode wird benützt, wenn der Adressenteil zu  ändern ist.

   Der Adressenteil des Befehlswortes enthält  die Adresse einer Stelle in einem Speicher, von welchem  oder an welchen die Daten entsprechend dem Rechen  code übertragen werden sollen. Wenn der Rechencode   Multiplizieren  angibt, gibt der Adressenteil die Adres  sen der Daten an, die miteinander multipliziert werden  sollen. Wenn der Rechencode  Band ablesen  angibt,  bezeichnet der Adressenteil die Adresse der     Stelle    in  einem Speicher, auf welche die vom Band abgelesenen  Daten zu übertragen sind.  



  Die     Fig.    4 zeigt einen Teil eines Lochstreifens 41  zum Gebrauch in einer      Mercury     Datenverarbeitungs  vorrichtung. Im Streifen 41 sind eine Reihe von     Leit-          löchern    42 und eine Mehrzahl von Befehlslochungen 43  enthalten. Jede Kolonne des Streifens 41 umfasst ein  Leitloch 42 und bis zu fünf Befehlslochungen 43, zwei  oberhalb eines Leitloches 42 und drei darunter. Jede  mit mindestens einer Befehlslochung versehene Kolonne  des Streifens 41 stellt ein alphanumerisches Zeichen dar.  Wenn den Befehlslochungen eine Kolonne ohne Befehls  lochung vorangeht, stellen die nachfolgenden Kolonnen  Ziffern dar.

   Die Befehlslochungen 43 in der     Fig.    4 zei-      gen die Lage der Lochungen, welche die     Zahlen    neun  bis null     darstellen,    wie am Rande des Streifens über  den Kolonnen angegeben ist.  



  Wenn den Befehlslochungen 43 eine Kolonne vor  ausgeht, die Lochungen 44     (Fig.    4) aufweist, stellen die  nachfolgenden Kolonnen alphabetische Zeichen dar. In  der     Fig.    4 sind die alphabetischen Zeichen, welche durch  die Lochungen 43 dargestellt werden, wenn ihnen eine  Kolonne mit der Lochung 44 vorangeht, am unteren  Rand des     Streifens    41 angegeben.  



  Das     Programm    für den Lochstreifen     wird    erhalten,  indem man diejenigen Befehlsworte aufschreibt, die die  Datenverarbeitungsvorrichtung veranlassen, nach dem       Ablaufdiagramm    zu arbeiten, und dann die Befehlsworte  in codierter Form in den Papierstreifen locht. Das     Pro-          gramm    auf dem Lochstreifen wird mittels einer Eingabe  vorrichtung in die Datenverarbeitungsvorrichtung ein  gegeben und in dieser zur Durchführung der Rechnung  gespeichert.  



  Das     Programm    wird dem     Ablaufdiagramm    entnom  men und gemäss dem Befehlscode der     Datenverarbei-          tungsvorrichtung,    für das es bestimmt ist, codiert. Als       Programmträger    muss nicht unbedingt ein Lochstreifen  verwendet werden, sondern es kann dazu jeder geeignete  Träger verwendet werden, der durch die Eingabe  vorrichtung der Datenverarbeitungsvorrichtung abgele  sen werden kann, z. B. eine Lochkarte oder ein Magnet  band.

Claims (1)

  1. PATENTANSPRUCH Programmiereinrichtung für eine Datenverarbei tungsvorrichtung, welche Speicheranordnungen mit kür zerer und längerer Zugriffzeit und ein Rechenwerk um fasst, zur Steuerung der Datenverarbeitungsvorrichtung zur Lösung eines in Form von Gruppen von Daten darstellungen in der Speicheranordnung mit länge rer Zugriffzeit gespeicherten Systems von simultanen linearen Funktionen, dadurch gekennzeichnet, dass die Programmiereinrichtung ein Programmiermittel (41) aufweist, welches die Datenverarbeitungsvorrichtung derart steuert,
    dass die Gruppen von Datendarstellungen aus der Speicheranordnung (26) mit längerer Zugriff zeit Gruppe um Gruppe in die Speicheranordnung (21, 24) mit kürzerer Zugriffzeit übertragen werden, dass jede Gruppe von Datendarstellungen, ohne Zwischen übertragung in die Speicheranordnung mit längerer Zu griffzeit, nach ihrer Übertragung in die Speicheranord nung mit kürzerer Zugriffzeit aus dieser in das Rechen werk (23) übertragen,
    in diesem mit einer in der Speicheranordnung mit kürzerer Zugriffzeit gespeicher ten Leitdatendarstellung durchgerechnet und in die Speicheranordnung mit kürzerer Zugriffzeit zurück über- tragen und dieser Übertragungsvorgang so oft wiederholt wird, bis die Gruppe von Datendarstellungen mit allen in der Speicheranordnung mit kürzerer Zugriffzeit ge speicherten Leitdatendarstellungen durchgerechnet ist, dass nach dieser Durchrechnung die durchgerechnete Gruppe darauf überprüft wird, ob sie einer Leitdaten darstellung entspricht und, falls dies zutrifft,
    ein Doppel dieser Gruppe in der Speicheranordnung mit kürzerer Zugriffszeit zur weiteren Verwendung als Leitdaten- darstellung gespeichert wird, sofern in dieser Platz dafür vorhanden ist, und dass die durchgerechnete Gruppe von Datendarstellungen in die Speicheranord nung mit längerer Zugriffzeit zurück übertragen wird.
    UNTERANSPRÜCHE 1. Programmiereinrichtung nach Patentanspruch, dadurch gekennzeichnet, dass das Programmiermittel die Datenverarbeitungsvorrichtung derart steuert, dass die weitere Verwendung jeder in der Speicheranord nung mit kürzerer Zugriffzeit gespeicherten Leitdaten- darstellung verhindert wird, wenn sie in so vielen Durchrechnungen verwendet wurde, als der Zahl der in der Speicheranordnung mit längerer Zugriffzeit ge speicherten Gruppen von Datendarstellungen entspricht.
    2. Programmiereinrichtung nach Unteranspruch 1, dadurch gekennzeichnet, dass das Programmiermittel die Datenverarbeitungsvorrichtung derart steuert, dass die Durchrechnung Gruppe um Gruppe von Datendar stellungen so lange durchgeführt wird, bis die Speicher anordnung mit kürzerer Zugriffzeit keine verfügbare Leitdatendarstellung mehr enthält und in der Speicher anordnung mit längerer Zugriffzeit keine Gruppe von Datendarstellungen mehr enthalten ist, welche einer Leitdatendarstellung entspricht. 3.
    Programmiereinrichtung nach Patentanspruch oder einem der Unteransprüche 1 und 2, dadurch gekennzeichnet, dass in der Speicheranordnung mit kürzerer Zugriffzeit höchstens so viele Leitdatendarstel- lungen speicherbar sind, dass die Zeit, welche zur Durch rechnung einer Gruppe von Datendarstellungen mit allen in der genannten Speicheranordnung gespeicherten Leitdatendarstellungen benötigt wird, höchstens gleich derjenigen Zeit ist, die notwendig ist, um eine Gruppe von Datendarstellungen aus dem Speicher mit längerer Zugriffzeit in das Rechenwerk zu übertragen.
    4. Programmiereinrichtung nach Unteranspruch 3, dadurch gekennzeichnet, dass das Programmiermittel als Lochkarte oder Lochstreifen ausgebildet ist, welche bzw. welcher das Steuerprogramm zur Steuerung der Datenverarbeitungsvorrichtung in Form gelochter Steuerbefehle enthält.
CH644563A 1962-05-21 1963-05-20 Programmiereinrichtung für eine Datenverarbeitungsvorrichtung CH434822A (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB19464/62A GB1039142A (en) 1962-05-21 1962-05-21 Improvements in linear programming means for controlling the operation of data processing apparatus
GB19463/62A GB1039141A (en) 1962-05-21 1962-05-21 A computer arranged for the automatic solution of linear programming problems

Publications (1)

Publication Number Publication Date
CH434822A true CH434822A (de) 1967-04-30

Family

ID=26254066

Family Applications (1)

Application Number Title Priority Date Filing Date
CH644563A CH434822A (de) 1962-05-21 1963-05-20 Programmiereinrichtung für eine Datenverarbeitungsvorrichtung

Country Status (1)

Country Link
CH (1) CH434822A (de)

Similar Documents

Publication Publication Date Title
DE1146290B (de) Elektronisches Datenverarbeitungssystem
DE1549517B1 (de) Speicherprogrammierte elektronische Rechenanlage
DE3741953A1 (de) Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
DE2431379B2 (de) Datenverarbeitungseinrichtung
DE69208789T2 (de) Sortierverfahren
DE3416939A1 (de) Verfahren zur steuerung von betriebseinrichtungen
DE1424732A1 (de) Elektronische Ziffernrechenmaschine
DE2457612B2 (de) Mikroprogrammier-Steuereinrichtung
DE2032286A1 (de) Rechner
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE1115488B (de) Datenverarbeitungssystem
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
DE1132747B (de) Elektronische Rechenmaschine
CH434822A (de) Programmiereinrichtung für eine Datenverarbeitungsvorrichtung
DE2419522A1 (de) Verfahren und anordnung zur unterteilung eines oder mehrerer nicht benutzter bereiche eines mit einem rechner verbundenen speichers
DE2735874C2 (de)
DE1774038A1 (de) Elektronische Rechenanlage
DE2250080A1 (de) Vorrichtung zur elektronischen datenverarbeitung
DE3003464C2 (de) Schaltungsanordnung für Fernmeldevermittlungsanlagen, insbesondere für Fernsprechvermittlungsanlagen mit Speichereinrichtungen für Steueraufträge
DE1774673C3 (de) Verfahren und Schaltungsanordnung zur Multiplikation und Division
DE19634825A1 (de) Verfahren und Gerät zur Erstellung und Optimierung eines Schneidplanes für einen Rollenschneider
DE977282C (de) Schluessel-Programmwerk
DE2105351B2 (de) Steuereinrichtung für die Informationsübertragung zwischen einem Ein-/ Ausgabekanal und angeschlossenen Ein-/ Ausgabegeräten
AT223849B (de) Schaltungsanordnung zum Ermitteln der in einem Betrieb zu fertigenden Geräte oder Bauteile