Gelöste Aufgaben/LA01: Unterschied zwischen den Versionen
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: | ||
<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.
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:
- 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".
Title
Text
1+1
tmp
Header
Text
1+1
tmp
Die vorgegebene Anzahl der je Werktag produzierten Werkstücke sei z.B.:
{{{title}}}
{{{text}}}
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".
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:
.
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
- ...