Problemstellung:
Bestimmung der optimalen Bestellhäufigkeit
Die Berechnung der optimalen Bestellhäufigkeit / opt. Bestellmenge ist eine typische betriebswirtschaftliche Aufgabenstellung. Dabei ist zu überlegen, wie häufig man bei einem gegebenen Jahresbedarf bestellen soll bzw. wieviel Stück jeweils bestellt werden sollen. Zum einen entstehen bei jeder Bestellung bestellfixe Kosten, die es zu minimieren gilt, zum anderen verursacht eine großen Bestellmenge
(-> geringe Bestellhäufigkeit) und dem damit unmittelbar verbundenen hohen durchschnittlichen Lagerbestand, eine hohe Kapitalbindung (Kapitalkosten) sowie hohe Lagerkosten. Dies spiegelt sich vereinfacht durch den sog. Lagerzinssatz wider. Zur Berechnung dieser Kosten wird dieser Lagerzinssatz mit dem durchschnittlichen Wert des Lagerbestandes multipliziert.
Bei einer geringen Bestellhäufigkeit (hohe Bestellmenge) entstehen somit geringe Bestellkosten, aber hohe Lagerkosten und umgekehrt.
Aufgaben
Klasse: Lege eine Klasse mit dem Namen Lager an. Sie hat folgende Instanzvariablen. Wähle geeignete Datentypen.
- Produktname
- Preis pro Stück
- Verbrauch pro Jahr
- Aktueller Lagerbestand in Stück
- Mindestbestellmenge (ab dieser Menge, muss nachbestellt werden)
Programmiere folgende Methoden:
- Konstruktor
- ProduktinformationenDrucken
Hier wird lediglich Informationen zum Produkt inklusive dem aktuellen Wert des derzeitigen Lagerbestandesauf dem Bildschirm ausgegeben. Überlege Dir dazu einen geeigneten Satz bzw. Sätze. - ProduktVerbrauchen
Import: Verbrauchsmenge; kein Export; hier werden die Lagerbestände entsprechend reduziert. - LagerAuffuellen
Import: Stückzahl des gelieferten Produkts; hier werden die Lagerzugänge erfasst bzw. die Lagerzugänge realisiert. - BestellmengePruefen
Wenn die Mindestbestellmenge erreicht ist, soll eine entsprechende Meldung ausgegeben werden.
- GesamtkostenBerechnen (in Abhängigkeit der Bestellhäufigkeit) Import ist die Bestellhäufigkeit im Jahr, sowie die Bestellkosten (fixe Kosten pro Bestellung) sowie der Lagerkostenzinssatz. Berechnet werden folgende Dinge:
- Bestellkosten pro Jahr (Kosten der Bestellung * Anzahl der Bestellung)
- Bestellmenge (=Jahresverbrauch / Bestellhäufigkeit)
- Durchschnittlicher Lagerbestand (= Bestellmenge / 2)
- Lagerbestandswert (=Durchschnittlicher Lagerbestand * Preis pro Stück)
- Lagerkosten (=Durchschnittlicher Lagerbestandswert * Lagerkostenzinssatz)
- Gesamtkosten (Lagerkosten + Bestellkosten)
Runde Eurobeträge auf 2 Nachkommastellen und Mengen auf 0 Nachkommastellen.
Diese Informationen sollen auf den Bildschirm gedruckt werden. Zurückgegeben (return) werden nur die Gesamtkosten.
- OptimaleBestellAnzahlBerechnen
Dazu soll folgende Formel verwendet werden:
= Wurzel aus (Lagerzinssatz* Jahresverbrauch*0.5*Preis / Bestellkosten)
Wurzel ziehen: In der Mathematik ist die zweite Wurzel (Quadratwurzel) einer Zahl identisch mit der Zahl hoch 0,5. Somit kann die Methode math.pow(wert,potenz) verwendet werden.
Zurückgegeben werden soll die optimale Bestellhäufigkeit (return) und ein entsprechender Satz auf den Bildschirm gedruckt werden. Dieser sollte auch die zu bestellende Menge enthalten. - BestellKostenAusgeben (1)
Import ist die maximale zu berücksichtigende Bestellanzahl die ausgegeben wird. Anfangen bei der Bestellhäufigkeit von 1 wird für jede weitere Bestellhäufigkeit eine Zeile ausgegeben, bis die max. Bestellanzahl erreicht ist. Verwende dazu die Methode GesamtkostenBerechnen (in Abhängigkeit der Bestellhäufigkeit).
- BestellKostenAusgeben (2) & (3)
Letztlich wie BestellKostenAusgeben (1), nur das Abbruchkriterium der Schleife soll anders sein. Anfangen bei der Bestellhäufigkeit von 1 wird für jede weitere Bestellhäufigkeit eine Zeile ausgegeben, bis sich die Gesamtkosten erhöhen. In der vorletzten Zeile befindet sich somit die optimale Bestellhäufigkeit.
(Benutze einmal eine while-do und einmal eine do-while Schleife.)
- Methode ueberschriftDrucken, die eine Überschriftenzeile erstellt und von den Methoden BestellKostenAusgeben (1) – (3) ausgerufen wird.
Lösungshinweise:
Mögliche Bildschirmausgaben
ad 2: Bestandsinformationen:
Der aktuelle Lagerbestand vom Produkt Wintermäntel beträgt 500.0.
Der Preis des Produktes beträgt 50.0 Euro. Somit beträgt aktuelle Lagerbestandswert 25000.0 Euro.
ad 5 Bestellmenge prüfen:
Der aktuelle Lagerbestand vom Produkt Wintermäntel beträgt 500.0 Stück. Es muss noch nichts bestellt werden.
oder
Der aktuelle Lagerbestand vom Produkt Wintermäntel beträgt 50.0 Stück. Es muss nachbestellt werden.
ad7 Optimale Bestellhäufigkeit/Bestellmenge berechnen
Die optimale Bestellhäufigkeit pro Jahr beträgt 7.0 mal.
Dabei müssen 1414.0 Stück bestellt werden.
ad 8 BestellKostenAusgeben (1)
ad 9 BestellKostenAusgeben (1)
Methoden zum Runden:
public static double rundenEuro(double betrag) {
//Runden – angepasst auf zwei Nachkommastellen
double d = Math.pow(10, 2);
return Math.round(betrag * d) / d;
}
public static double runden(double value, int nachkommastellen)
{//Runden -gefunden im Internet
double d = Math.pow(10, nachkommastellen);
return Math.round(value * d) / d;
}
Einfache Beispiele für eine Schleife – zum kopieren:
Zahl-do-while-2 & Zahl-do-while
Berechnung und optische Darstellung der optimalen Bestellmenge in Excel: OptimaleBestellmenge-3
Gruppen WAHF12
Bestellmenge – Fortsetzung
for (initialization; boolean expression; increment) { statement(s)} continue break