Gelöste Aufgaben/LA01: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 20: Zeile 20:
==tmp==
==tmp==


<!-------------------------------------------------------------------------------->
Wir machen zwei Schritte zur Lösung:
 
# die Formulierung des Problems als lineares Gleichungssystem, bei der wir nur die ersten drei Produktionstage berücksichtigen.
# die Formulierung des Problems als "Gaußschen Methode der kleinsten Quadrate".<!-------------------------------------------------------------------------------->
 
{{MyCodeBlock|title=Title
{{MyCodeBlock|title=Title
|text=Text
|text=Text
Zeile 42: Zeile 46:
==tmp==
==tmp==


<!-------------------------------------------------------------------------------->
Die vorgegebene Anzahl der je Werktag produzierten Werkstücke sei z.B.:
 
<math>\begin{array}{|c|r|r|} \hline  &\;\;\;\;\;\; a & \;\;\;\;\;\;b\\ \hline  \text{Tag 1:} &2&8\\\text{Tag 2:} & 11&2\\ \vdots& 15&0\\ &  10&3\\  &5&6\\ & 0&10\\  & 6&5\\ &  14&0\\  & 0&10\\ & 9&3\\  & 4&7\\ &  7&5\\ & 1&9\\\hline\end{array}</math>
 
{{MySpreadsheetBlock|file=LA01.xlsx}}
 
Diese Liste erzeugen wir - bis auf die ersten drei - jeweils neu mit einer Zufallsvariablen in Excel. Die Ergebnisse sehen also jedes Mal etwas anders aus.<!-------------------------------------------------------------------------------->
 
{{MyCodeBlock|title=Declarations
{{MyCodeBlock|title=Declarations
|text=Text
|text=Text
Zeile 53: Zeile 64:
==tmp==
==tmp==


<!-------------------------------------------------------------------------------->
Wir brauchen ein '''Modell''' für den Produktionsprozess am Tag "''i''".[[Datei:LA01-11.png|mini|Phasenmodell|alternativtext=|525x525px]]Wir nehmen an, dass an jedem Tag zuerst die Werkstücke "a" (blau) und dann die Werkstücke "b" (grün) produziert werden. Wenn ein neues Werkstück produziert wird, muss die Maschine vorher eingerüstet werden.
 
Die Produktionsdauer für alle Werkstücke "a" am Tag ''i'' ist also
 
<math>T_{i,a} = N_{i,1}\cdot T_1</math>
 
mit der Anzahl der produzierten Werkstücke "a"  von ''N<sub>i1</sub>''.
 
Gleiches gilt für die Werkstücke "b".
 
Wenn sowohl Werkstücke "a" als auch "b" produziert werden, erfordert dies zwei Rüstzeiten - sonst eine. Für die gesamte Rüstzeit je Tag gilt also:
 
<math>T_{i,R} = \left\{\begin{array}{cc} 2 \cdot T_3 & \text{ wenn } N_{i,1}>0 \text{ und } N_{i,2}>0 \\ 1 \cdot T_3 & \text{ sonst }\end{array} \right.</math>.[[Datei:LA01-12.png|mini|Tabelle erweitert um Rüstzeiten|alternativtext=|240x240px]]Wir erweitern deshalb unsere Tabelle um die Anzahl der Rüstzeiten je Tag und erhalten
 
Für den ersten der ''I'' Tage lautet also die Gleichung für den Produktionsprozess:
 
<math>2\cdot T_1 + 8\cdot T_12+ 2\cdot T_3 = 8h</math>.<!-------------------------------------------------------------------------------->
 
 
 
{{MyCodeBlock|title=Preparation
{{MyCodeBlock|title=Preparation
|text=Text
|text=Text
Zeile 64: Zeile 94:
==tmp==
==tmp==


<!-------------------------------------------------------------------------------->
Wir können nun für jeden Tag eine lineare Gleichung wir oben formulieren.
 
Wir suchen allerdings nur drei Größen, nämlich
 
<math>\underline{t} = \left( \begin{array}{c}T_1\\T_2\\T_3\end{array}\right)</math>
 
Als ersten Ansatz nutzen wir die ersten drei Gleichungen und ignorieren zunächst die restlichen. Unser lineares Gleichungssystem sieht dann so aus:
 
<math>\begin{pmatrix}2 & 8 & 2\\ 11 & 2 & 2\\ 15 & 0 & 1\end{pmatrix}\cdot\begin{pmatrix}{{T}_{1}}\\ {{T}_{2}}\\ {{T}_{3}}\end{pmatrix}=\begin{pmatrix}8\\ 8\\ 8\end{pmatrix}h</math>.
 
Das Gleichungssystem hat eine Lösung, wenn die Determinante der ''3x3''-Matrix nicht Null ist (darum geben wir die ersten drei Listen-Elemente vor und lassen sie nicht durch einen Zufallsgenerator erzeugen ...). Die Lösung des Gleichungssystems lautet
 
<math>\displaystyle {{T}_{1}}=\frac{1}{2} h, {{T}_{2}}=\frac{3}{4} h, {{T}_{3}}=\frac{1}{2} h</math>.
 
Der Nachteil dieser Lösung: sie gilt für die ersten drei Gleichungen. Wie sieht es mit den anderen Gleichungen (Tagen) aus? wir berechnen den Fehler je Tag:
 
<math>\displaystyle [0,0,0,\frac{1}{4},0,0,-\frac{1}{4},-\frac{1}{2},0,-\frac{1}{4},\frac{1}{4},\frac{1}{4},\frac{1}{4}] h</math><!-------------------------------------------------------------------------------->
 
{{MyCodeBlock|title=First Approach
{{MyCodeBlock|title=First Approach
|text=Text
|text=Text
Zeile 75: Zeile 122:
==tmp==
==tmp==


<!-------------------------------------------------------------------------------->
Mit unserem ersten Ansatz müssen wir also für jeden Tag - außer den ersten dreien - mit einem Fehler in den ermittelten  Bearbeitungsdauern ''T<sub>i</sub>'' rechnen. Was wir besser machen können: Wir fragen nach den Bearbeitungsdauern,
 
<math>\tilde{T}_i ,\;\; i=1,2,3</math>
 
die den Fehler im statistischen Mittel über alle Tage minimieren.
 
Grundlage dafür ist der Fehler ''e<sub>i</sub>'' je Tag, also
 
<math>\displaystyle e_i = \sum_{j=1}^3  N_{i j}\cdot \tilde{T}_j  - D_i \text{ mit } D_i = 8h</math>.
 
Damit nicht der Fehler an einem Tag den Fehler an einem anderen Tag numerisch kompensiert (also wenn z.B. ''e<sub>3</sub> + e<sub>17</sub> = 0''), sollen alle Fehler positiv eingehen. Statt den Betrag von ''e<sub>i</sub>'' zu verwenden, nimmt man ''e<sub>i<sup>2</sup></sub>'' (das Fehler-Quadrat) und erhält als Gesamtfehler-Funktion
 
<math>\displaystyle E\left(\tilde{T}_1,\tilde{T}_2,\tilde{T}_3\right) = \sum_{i=1}^I  e_i^2</math>.
 
Diese Gesamtfehler-Funktion ist minimal, wenn
 
<math>\displaystyle \frac{\partial E}{\partial \tilde{T}_j} = 0</math>.
 
Numerisch mach es mehr Sinn, das Problem umzuformulieren. Dazu schreiben wir ''e<sub>i</sub>'' als
 
<math>{{e}_{i}}\,=\,\frac{1}{2}\cdot  \begin{pmatrix}{\tilde{T}_{1}}& {\tilde{T}_{2}}& {\tilde{T}_{3}}\end{pmatrix}\cdot \underbrace{ 2 \begin{pmatrix} {{N}_{i,1}^{2}} & {{N}_{i,1}}\cdot {{N}_{i,2}} & {{N}_{i,1}}\cdot {{N}_{i,3}}\\ {{N}_{i,1}}\cdot {{N}_{i,2}} & {{N}_{i,2}^{2}} & {{N}_{i,2}}\cdot {{N}_{i,3}}\\ {{N}_{i,1}}\cdot {{N}_{i,3}} & {{N}_{i,2}}\cdot {{N}_{i,3}} & {{N}_{i,3}^{2}} \end{pmatrix}}_{\displaystyle := \underline{\underline{A}}_i}\cdot  \begin{pmatrix}{\tilde{T}_{1}}\\ {\tilde{T}_{2}}\\ {\tilde{T}_{3}}\end{pmatrix}+  \begin{pmatrix}{\tilde{T}_{1}}& {\tilde{T}_{2}}& {\tilde{T}_{3}}\end{pmatrix}\cdot \underbrace{\begin{pmatrix}-2{{D}_{i}}\cdot {{N}_{i,1}}\\ -2{{D}_{i}}\cdot {{N}_{i,2}}\\-2{{D}_{i}}\cdot {{N}_{i,3}}\end{pmatrix}}_{\displaystyle := \underline{b}_i} +{{D}_{i}^{2}}</math>
 
und damit
 
<math>\displaystyle E = \frac{1}{2} \cdot \underline{\tilde{t}}^T \underline{\underline{A}}\cdot \underline{\tilde{t}} + \underline{\tilde{t}}^T \underline{b} + c</math>.
 
Dann ist
 
<math>\displaystyle \underline{\underline{A}}=\sum_{i=1}^I \underline{\underline{A}}_i ,\;\; \underline{b}=\sum_{i=1}^I \underline{b}_i \text{ und } c = I \cdot D_i^2</math>.
 
Mit unseren Zahlen finden wir
 
<math>\displaystyle \underline{\underline{A}}= \begin{pmatrix}1708 & 454 & 278\\ 454 & 1004 & 232\\ 278 & 232 & 80\end{pmatrix} \;\; \underline{b}= \begin{pmatrix}-1344\\ -1088\\ -352\end{pmatrix} h \text{ und }  c = 832 h^2</math>.
 
Aus dem Abschnitt Minimum Prinzipe kennen wir die Struktur der Gesamtfehler-Funktion - wir können deshalb den Lösungs-Algorithmus für das Minimum-Problem von dort übernehmen und erhalten aus
 
<math>\underline{\underline{A}} \cdot \underline{\tilde{t}} = -\underline{b}</math>
 
die Losung
 
<math>\tilde{T}_1 = 0.52 h, \;\tilde{T}_2 = 0.76 h, \;\tilde{T}_3 = 0.38 h</math>.<!-------------------------------------------------------------------------------->
 
 
{{MyCodeBlock|title=Best Statistical Solution
{{MyCodeBlock|title=Best Statistical Solution
|text=Text
|text=Text
Zeile 91: Zeile 180:




[[Datei:LA01-11.png|mini|Phasenmodell]]
[[Datei:LA01-12.png|mini|Tabelle erweitert um Rüstzeiten]]


<hr/>
<hr/>

Version vom 1. April 2021, 06:33 Uhr


Aufgabenstellung

Hier unternehmen wir einen Ausflug in die - und ihre Verbindung zu Minimalprinzipen und der.

Dabei sollen Parameter eines Produktions-Systems indentifiziert werden.

Werkzeugmaschine

Eine Maschine produziert die Werkstücke "a" und "b" in einer 8h-Schicht. Die Anzahl der produzierten Werkstücke ist gegeben. Die Rüstzeit für beide Werkstücke an der Maschine sei gleich.

Gesucht ist die Bearbeitungsdauern jeweils für Werkstück a und b. Die Liste der produzierten Werkstücke erzeugen wir uns mit Matlab mit einer Zufalls-Funktion.

Lösung mit Matlab

tmp

Wir machen zwei Schritte zur Lösung:

  1. die Formulierung des Problems als lineares Gleichungssystem, bei der wir nur die ersten drei Produktionstage berücksichtigen.
  2. die Formulierung des Problems als "Gaußschen Methode der kleinsten Quadrate".

Title

Text


1+1




tmp

Header

Text


1+1




tmp

Die vorgegebene Anzahl der je Werktag produzierten Werkstücke sei z.B.:

{{{title}}}

{{{text}}}

data
download spreadsheet →


Diese Liste erzeugen wir - bis auf die ersten drei - jeweils neu mit einer Zufallsvariablen in Excel. Die Ergebnisse sehen also jedes Mal etwas anders aus.

Declarations

Text


1+1




tmp

Wir brauchen ein Modell für den Produktionsprozess am Tag "i".

Phasenmodell

Wir nehmen an, dass an jedem Tag zuerst die Werkstücke "a" (blau) und dann die Werkstücke "b" (grün) produziert werden. Wenn ein neues Werkstück produziert wird, muss die Maschine vorher eingerüstet werden.

Die Produktionsdauer für alle Werkstücke "a" am Tag i ist also

mit der Anzahl der produzierten Werkstücke "a"  von Ni1.

Gleiches gilt für die Werkstücke "b".

Wenn sowohl Werkstücke "a" als auch "b" produziert werden, erfordert dies zwei Rüstzeiten - sonst eine. Für die gesamte Rüstzeit je Tag gilt also:

.

Tabelle erweitert um Rüstzeiten

Wir erweitern deshalb unsere Tabelle um die Anzahl der Rüstzeiten je Tag und erhalten

Für den ersten der I Tage lautet also die Gleichung für den Produktionsprozess:

.


Preparation

Text


1+1




tmp

Wir können nun für jeden Tag eine lineare Gleichung wir oben formulieren.

Wir suchen allerdings nur drei Größen, nämlich

Als ersten Ansatz nutzen wir die ersten drei Gleichungen und ignorieren zunächst die restlichen. Unser lineares Gleichungssystem sieht dann so aus:

.

Das Gleichungssystem hat eine Lösung, wenn die Determinante der 3x3-Matrix nicht Null ist (darum geben wir die ersten drei Listen-Elemente vor und lassen sie nicht durch einen Zufallsgenerator erzeugen ...). Die Lösung des Gleichungssystems lautet

.

Der Nachteil dieser Lösung: sie gilt für die ersten drei Gleichungen. Wie sieht es mit den anderen Gleichungen (Tagen) aus? wir berechnen den Fehler je Tag:

First Approach

Text


1+1




tmp

Mit unserem ersten Ansatz müssen wir also für jeden Tag - außer den ersten dreien - mit einem Fehler in den ermittelten  Bearbeitungsdauern Ti rechnen. Was wir besser machen können: Wir fragen nach den Bearbeitungsdauern,

die den Fehler im statistischen Mittel über alle Tage minimieren.

Grundlage dafür ist der Fehler ei je Tag, also

.

Damit nicht der Fehler an einem Tag den Fehler an einem anderen Tag numerisch kompensiert (also wenn z.B. e3 + e17 = 0), sollen alle Fehler positiv eingehen. Statt den Betrag von ei zu verwenden, nimmt man ei2 (das Fehler-Quadrat) und erhält als Gesamtfehler-Funktion

.

Diese Gesamtfehler-Funktion ist minimal, wenn

.

Numerisch mach es mehr Sinn, das Problem umzuformulieren. Dazu schreiben wir ei als

und damit

.

Dann ist

.

Mit unseren Zahlen finden wir

.

Aus dem Abschnitt Minimum Prinzipe kennen wir die Struktur der Gesamtfehler-Funktion - wir können deshalb den Lösungs-Algorithmus für das Minimum-Problem von dort übernehmen und erhalten aus

die Losung

.


Best Statistical Solution

Text


1+1






Links

  • ...

Literature

  • ...