Lineares Optimierungsproblem: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 63: | Zeile 63: | ||
<div id="box_lop" class="jxgbox" style="width: 400px; height: 400px; margin-top:20px;"></div> | <div id="box_lop" class="jxgbox" style="width: 400px; height: 400px; margin-top:20px;"></div> | ||
<script type="text/javascript"> | <script type="text/javascript"> | ||
(function() { | (function () { | ||
var board = JXG.JSXGraph.initBoard('box_lop', { | var board = JXG.JSXGraph.initBoard('box_lop', { | ||
boundingbox: [-1, 9, 9, -1], | boundingbox: [-1, 9, 9, -1], | ||
axis: true, | axis: true, | ||
grid: true, | grid: true, | ||
showCopyright: false | showCopyright: false, | ||
defaultAxes: { | |||
x: { | |||
withLabel: true, | |||
name: 'x', | |||
label: { position: 'rt', offset: [-10, 15] } | |||
}, | |||
y: { | |||
withLabel: true, | |||
name: 'y', | |||
label: { position: 'rt', offset: [10, -5] } | |||
} | |||
} | |||
}); | }); | ||
// | // Nebenbedingung: 2x + y = 8 -> y = -2x + 8 | ||
var nb1 = board.create('functiongraph', [ | |||
var nb1 = board.create(' | function (x) { return -2 * x + 8; } | ||
], { | |||
strokeColor: 'red', | strokeColor: 'red', | ||
name: '2x + y = 8', | name: '2x + y = 8', | ||
withLabel: true | withLabel: true, | ||
label: { offset: [-60, 20] } | |||
}); | }); | ||
// x + 2y = 8 | // Nebenbedingung: x + 2y = 8 -> y = -0.5x + 4 | ||
var nb2 = board.create(' | var nb2 = board.create('functiongraph', [ | ||
function (x) { return -0.5 * x + 4; } | |||
], { | |||
strokeColor: 'blue', | strokeColor: 'blue', | ||
name: 'x + 2y = 8', | name: 'x + 2y = 8', | ||
withLabel: true | withLabel: true, | ||
label: { offset: [10, -20] } | |||
}); | }); | ||
| Zeile 94: | Zeile 107: | ||
[0, 0], | [0, 0], | ||
[4, 0], | [4, 0], | ||
[8/3, 8/3], | [8 / 3, 8 / 3], | ||
[0, 4] | [0, 4] | ||
], { | ], { | ||
| Zeile 103: | Zeile 116: | ||
// Slider für Zielfunktion Z = 3x + 5y | // Slider für Zielfunktion Z = 3x + 5y | ||
var Z = board.create('slider', [[0.5, 8. | var Z = board.create('slider', [[0.5, 8.6], [6.5, 8.6], [0, 0, 40]], { | ||
name: 'Z' | name: 'Z' | ||
}); | }); | ||
// | // Zielfunktion: 3x + 5y = Z -> y = (Z - 3x)/5 | ||
board.create(' | board.create('functiongraph', [ | ||
function () { return | function (x) { return (Z.Value() - 3 * x) / 5; } | ||
], { | ], { | ||
strokeColor: 'green', | strokeColor: 'green', | ||
Aktuelle Version vom 6. Februar 2026, 09:20 Uhr
Definition
Ein lineares Optimierungsproblem besteht aus einer Zielfunktion und einem System von einschränkenden Bedingungen (Nebenbedingungen), die alle linear sind.
Man unterscheidet:
- Maximierungsprobleme (z. B. Maximierung von Gewinn oder Deckungsbeitrag)
- Minimierungsprobleme (z. B. Minimierung von Kosten oder Transportaufwand)
Maximiere bzw. minimiere die Zielfunktion
- [math]\displaystyle{ Z = c_1x_1 + c_2x_2 + \dots + c_nx_n }[/math]
unter den Nebenbedingungen
- [math]\displaystyle{ \begin{aligned} a_{11}x_1 + a_{12}x_2 &\le b_1\\ a_{21}x_1 + a_{22}x_2 &\le b_2\\ \vdots \end{aligned} }[/math]
sowie den Nichtnegativitätsbedingungen
- [math]\displaystyle{ x_1 \ge 0,\; x_2 \ge 0,\; \dots }[/math]
Die Menge aller zulässigen Lösungen heißt zulässiger Bereich.
Ökonomische Interpretation
- Zielfunktion: Gewinnfunktion oder Erlösfunktion
- Nebenbedingungen: Kapazitätsgrenzen (vgl. Kapazitätsgrenze)
- Variablen: Produktionsmengen
Grafische Lösung
Bei zwei Entscheidungsvariablen kann das Problem grafisch gelöst werden:
- Zeichnen der Nebenbedingungen als Geraden (vgl. Lineare Funktion)
- Bestimmung des zulässigen Bereichs
- Untersuchung der Eckpunkte (vgl. Eckpunktberechnungsmethode)
Beispiel
Ein Unternehmen produziert zwei Produkte:
- Gewinn pro Stück A: 3 GE
- Gewinn pro Stück B: 5 GE
Nebenbedingungen:
- [math]\displaystyle{ \begin{aligned} 2x + y &\le 8\\ x + 2y &\le 8\\ x,y &\ge 0 \end{aligned} }[/math]
Zielfunktion:
- [math]\displaystyle{ Z = 3x + 5y \rightarrow \max }[/math]
Zusammenhang zu anderen Themen
- Lösung von Gleichungssystemen: Lineares Gleichungssystem
- Darstellung in Tabellenform: Matrix