Als PDF downloaden - Haufe.de
Als PDF downloaden - Haufe.de
Als PDF downloaden - Haufe.de
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Controller magazin 3/94<br />
Die Formeln sind durch die Vergabe <strong>de</strong>r Namen<br />
allgemeingültig. Nach Eingabe <strong>de</strong>r Formeln für das<br />
erste Produkt in <strong>de</strong>r ersten Kapazität kopiert man die<br />
Doppelspalte "nach rechts" für alle Kapazitäten.<br />
Danach kopiert man die Doppelzeile "nach unten" für<br />
je<strong>de</strong>s weitere Produkt.<br />
Die Schattenpreise in Zeile 11 wer<strong>de</strong>n schrittweise<br />
nach <strong>de</strong>n relativen Über(Unter-)belegungen korrigiert.<br />
Diese Quotienten wer<strong>de</strong>n mit einem Korrekturbeiwert<br />
in Zeile 10 multipliziert. Die Berechnung in<br />
Zeile 11 erfolgt rekursiv:<br />
Der neue Schattenpreis P ergibt sich aus <strong>de</strong>m alten,<br />
<strong>de</strong>m das rechnerische Produkt aus relativer<br />
Ül>erbelegung und Korrekturbeiwert addiert wird.<br />
Eine logische Funktion WENN in Zeile 11 enthält<br />
drei durch Semikolon getrennte Ausdrücke. Im<br />
ersten Ausdruck steht eine Bedingung. Ist diese<br />
wahr, so wird <strong>de</strong>r Ausdruck im zweiten Abschnitt<br />
berechnet und in die Zelle eingesetzt, sonst aber <strong>de</strong>r<br />
Ausdruck im dritten Abschnitt. (In <strong>de</strong>n strukturierten<br />
Programmiersprachen entspricht <strong>de</strong>r WENN-<br />
Funktion die Kontrollstruktur IF. THEN. ELSE.)<br />
Hier wird im zweiten Ausdruck <strong>de</strong>r Schattenpreis P<br />
um das rechnerische Produkt <strong>de</strong>s Korrekturt)eiwerts<br />
über <strong>de</strong>r Zelle mit <strong>de</strong>m (Quotienten (Belegung -<br />
Kapazität) / Kapazität korrigiert. Im ersten Ausdruck<br />
wird nach <strong>de</strong>r gleichen Formel dieser korrigierte<br />
Schattenpreis ebenfalls errechnet. Die Bedingung ist<br />
dann wahr, wenn er größer als Null bleibt. Dann<br />
wird <strong>de</strong>r so korrigierte Schattenpreis in die Zelle<br />
eingetragen, sonst aber wird <strong>de</strong>r Schattenpreis auf<br />
Null gesetzt. (Fall <strong>de</strong>r Unterbelegung.)<br />
Diese WENN-Funktion sichert also die Nicht-<br />
Negativität <strong>de</strong>s Schattenpreises.<br />
Lei<strong>de</strong>r kann man die Schattenpreise bei <strong>de</strong>r ersten<br />
Bearh)eitung nicht auf einen günstigen Startwert<br />
setzen, weil man dazu die Formel überschreiben<br />
müßte.<br />
Mit <strong>de</strong>r Speicherung <strong>de</strong>r ersten Ergebnisse bleiben<br />
dann aber die Schattenpreise erhalten, so daß<br />
Revisionsläufe von diesen Werten aus mit <strong>de</strong>r<br />
Iteration beginnen; die Rechenzeiten wer<strong>de</strong>n daher<br />
erheblich kleiner, wenn man nicht zu hohe Anfor<strong>de</strong>rungen<br />
an die Rechengenauigkeit <strong>de</strong>r Ergebnisse<br />
stellt.<br />
In ähnlicher Form arbeitet die WENN-Formel für die<br />
Bestimmung <strong>de</strong>r Mengen:<br />
In <strong>de</strong>r Zeile 17,19 usw. und <strong>de</strong>r Spalte 5 wer<strong>de</strong>n die<br />
Mengen nur dann berechnet und auf einen positiven<br />
Wert gesetzt, wenn die Opportkosten kleiner sind als<br />
<strong>de</strong>r Höchstwert <strong>de</strong>s Grenz-Deckungsbeitrages; sonst<br />
aber auf Null.<br />
Die Menge selbst ergibt sich aus <strong>de</strong>r Gleichung (3).<br />
Der Kem <strong>de</strong>s Programms beseht daher aus diesen<br />
logischen WENN-Funktionen. Neben <strong>de</strong>r dualen<br />
Bedingung, <strong>de</strong>r Gleichheit von Opportkosten und<br />
Grenz-DB für alle zugelassenen Produkte, sichern sie<br />
die Einhaltung <strong>de</strong>r Karush-Kuhn-Tucker-Bedingungen<br />
und damit die Optimalität.<br />
Die Korrekturbeiwerte sind nach <strong>de</strong>n Größenordnungen<br />
<strong>de</strong>r erwarteten Schattenpreise zu disponieren;<br />
eine hohe Maßzahl für diese erlaubt einen<br />
höheren Korrekturbeiwert und umgekehrt.<br />
Zur Berechnung schaltet man unter <strong>de</strong>m Kommando<br />
Zusätze von MULTIPLAN die Iteration ein und die<br />
Sofortrechnung ab.<br />
Im Feld En<strong>de</strong>kriterium setzt man die t)etreffen<strong>de</strong><br />
Zelle ein. Im Beispiel ist das Z13S5. Anstelle <strong>de</strong>s<br />
ZÄHLER kann man dort das Genauigkeitskriterium<br />
DELTAO kleiner etwa 0,01 eintragen. Mit <strong>de</strong>r Taste<br />
F4 startet man dann die Berechnung.<br />
Am Verlauf eines berechneten Schattenpreises sieht<br />
man sehr schnell, ob sein Korrekturbeiwert zu hoch<br />
ist: Springt dieser Wert heftig hin und her, dann muß<br />
man <strong>de</strong>n Korrekturbeiwert verkleinern; eine geringfügige,<br />
gedämpfte Schwingung nützt aber <strong>de</strong>r<br />
Rechenzeit.<br />
Die Tabellenprogramme arbeiten interpretativ und<br />
daher langsam. Berechnung im Arbeitsausschnitt auf<br />
<strong>de</strong>m Bildschirm wer<strong>de</strong>n außer<strong>de</strong>m ständig in ASCII-<br />
Co<strong>de</strong> zur Ausgabe am Schirm gewan<strong>de</strong>lt. Man kann<br />
diese Wandlung vermei<strong>de</strong>n, wenn man vor <strong>de</strong>r Taste<br />
F4 alle Rechenfel<strong>de</strong>r aus <strong>de</strong>m Bildschirm rückt.<br />
Das BASIC-Programm<br />
In Tabellenprogrammen ist <strong>de</strong>r Ablauf von<br />
Berechnungsfolgen vom Programm geregelt. Der<br />
Benutzer kann <strong>de</strong>n Ablauf nur bedingt durch die<br />
Anordnung <strong>de</strong>r Rechenfel<strong>de</strong>r beeinflussen. Der<br />
Programmierer einer Programmiersprache hat<br />
dagegen <strong>de</strong>n Ablauf voll in <strong>de</strong>r Hand, und dieser ist<br />
im Text <strong>de</strong>s (Quellenprogramms zu verfolgen.<br />
Kompilierte Programme laufen erheblich schneller ab<br />
als die interpretieren<strong>de</strong>n Tabellenprogramme und es<br />
empfiehlt sich daher, für umfangreiche Aufgabenstellungen<br />
<strong>de</strong>n Algorithmus in einer kompilierbaren<br />
Sprache zu programmieren.<br />
Das QUICK-BASIC-Programm Abb. 3 kann unmittelbar<br />
mit <strong>de</strong>m QUICK-BASIC-lnterpreter QBASIC.EXE<br />
gestartet wer<strong>de</strong>n, <strong>de</strong>r zum Lieferumfang <strong>de</strong>s MSDOS<br />
5 und 6 gehört.<br />
Das Programm stellt daher eine exakte Definition <strong>de</strong>s<br />
Algorithmus dar. Es kann in je<strong>de</strong> an<strong>de</strong>re Programmiersprache<br />
übertragen wer<strong>de</strong>n.<br />
Zur Demonstration enthält es die Daten in DATA-<br />
Anweisungen für 12 Produkte in 6 Kapazitäten. Für<br />
die praktische Anwendung empfiehlt es sich, die<br />
Daten zeilenweise in einem Tabellenprogramm zu<br />
erfassen, zunächst die Kapazitätsdaten und danach<br />
zeilenweise die Produkte. Diese Tat)elle wird dann<br />
als ASCII-Datei mit <strong>de</strong>m Trennzeichen Komma<br />
ausgegeben und kann in bekannter Weise durch<br />
BASIC-Anweisungen eingelesen wer<strong>de</strong>n. Die<br />
Ergebnisse gibt man in einer gleichen, aber erweiterten<br />
ASCII-Datei aus, die unmittelbar wie<strong>de</strong>r in das<br />
Tah)ellenprogramm eingelesen wird, um die Erget)-<br />
nisse sichtbar zu machen und die Daten für die<br />
nächste Planungsrun<strong>de</strong> abzuän<strong>de</strong>rn.<br />
Das Programm stellt zunächst die unbeschränkte<br />
Lösung her und setzt die Mengen auf Werte, bei<br />
132