![]() |
Wie geht Zielwertsuche
Hallo zusammen!
In Excel gibt es die Funktion der Zielwertsuche. Ich muss diese Funktion in Delphi nachbilden, habe aber bisher noch nirgendwo etwas über die genaue Funktion gefunden. Weis evtl. jemand eine Quelle für eine entsprechende Funktion / Formel etc.. ? Danke im Voraus. |
Re: Wie geht Zielwertsuche
hey,
was willst du genau machen... willst du deinem benutzer die möglichkeit geben das er in einem grid in einer bestimmten spalte einen wert suchen kann und diesen dann auch verändern kann??? willst du sowas machen? wenn ja dann schau dir mal die locate funktion vom datasource an... |
Re: Wie geht Zielwertsuche
Es geht darum, dass der Kunde bisher mit Excel eine Ertragsberechnung durchführt, in der die Investition, die Verzinsung und der Ertrag eines Projekts mit Hilfe der Zielwertsuche so verrechnet werden, dass z.B. nach 20 Jahren das eingesetzte Kapital wieder zurückgeflossen ist. Diese Funktion soll jetzt von einem Delphi-Programm übernommen werden. Zum Thema Zielwertsuche findet man bei Google nur 1000 Hinweise auf Seminare wie diese anzuwenden ist. Ich muss aber wissen, wie sie funktioniert um möglichst das Rechenverfahren 1:1 abzubilden.
|
Re: Wie geht Zielwertsuche
Willst du das Ganze numerisch oder analytisch machen? Wie sieht denn die Berechung aus, deren Ergebniss optimiert werden soll?
|
Re: Wie geht Zielwertsuche
Stell die Frage doch mal in nem BWL Forum...
Ich hatte in meiner BWL-Vorlesung nen bisschen Zielwerte aber ich kann es Dir nicht genau erklären! Soweit ich noch weiß ist es bei uns relativ einfach gewesen: Du hast bestimmte Entwicklungskosten die konstant sind. Dann kommen dazu die Produktionskosten, die linear mit der Stückzahl steigen. Wenn Du nun eine Kostendeckung erreichen willst muss gelten: Kentwicklung + Panzahl*Kproduktion <= Panzahl*Verkaufspreis Aber ich denk mal das ist für Dich viel zu einfach! Da gibt es noch ausgereiftere Modelle ;) |
Re: Wie geht Zielwertsuche
Dieses Modell ist ja so stark vereinfacht, dass man eigentlich nichts mehr damit anfangen kann.
So wie ich in verstanden habe, hat er eine Funktion, der man einen Gewinn vorgibt und die dann einem das Startkapital o.ä. ausgibt. Also eher ein mathematisches, als ein blw-Problem. |
Re: Wie geht Zielwertsuche
So eine Zielwertsuche ist ja nichts anderes als eine Nullstellenberechnung.
Du hast also irgend eine Funktion F(X).... Solange die keine Sprünge macht, oder für irgend ein X (im Rahmen deines Wertebereiches) undefiniert ist, kannst Du nun berechnen, für welches X F(X) z.b. 20 ist... Dazu musst Du 'nur' die Gleichung F": F(X)-20 = 0 für X lösen. Und da gibt es diverse Verfahren: 1. Regula Falsi. Du benötigst X0 und X1, wobei F"(x0) und F"(x1) unterschiedliche Vorzeichen haben müssen. 2. Newton-Verfahren. Dazu benötigst Du die 1.Ableitung der Funktion F, die Du aber näherungsweise durch (F(X)-F(X+dx))/dx mit dx z.B. 1E-5 berechnen kannst. 3. Halbierungsverfahren: Einfach in eine Richtung gehen: Wird F"(X)>0, dann mit halber Geschwindigkeit rückwärts, bis F"(X)<0 ist, dann wieder mit halber Geschwindigkeit vorwärts, bis F"(X)>0 ist, dann wieder... (goto top) Es gibt bestimmt noch wesentlich bessere Methoden, googel doch mal nach 'Iteration', 'Regula Falsi' oder so. Da solltest du Einiges finden |
Re: Wie geht Zielwertsuche
Du gehst jetzt aber davon aus, dass die Funktion nur von einer Variablen abhängt und das man recht einfach an die zweite Ableitung kommt. Die Ableitung dürfte weniger ein Problem darstellen, aber sobald mehrere Variablen da sind, nach denen optimiert werden soll, werden die Verfahren nicht mehr helfen.
Aber eigentlich ist hier jede Diskussion sinnlos, da niemand weiss, wie das Problem genau aussieht. |
Re: Wie geht Zielwertsuche
Das F" ist nicht die zweite Ableitung, sondern F(X) - C, der Name ist unglücklich gewählt. Sagen wir so: G(X) = F(X) - C, sodass wir nun eine Nullstelle von G(X) finden müssen.
Wenn wir dagegen einen optimalen Wert (lokales Minimum/Maximum), dann eben einfach die 1.Ableitung (nicht analyitsch, geht ja nicht, sondern näherungsweise) und die auf 0 setzen. Eine Funktion F(a,b,c,d,e,f) kann man fast genauso optimieren, vorausgesetzt, die Funktion ist nicht alzu pervers, verhält sich also einigermaßen glatt. Erst schraubst Du an 'a', bis es dort nicht mehr weiter geht, dann an 'b' etc. Dann wieder an 'a' usw. Das macht man eben so lange, bis man nichts mehr optimieren kann. Man kann auch mit Evolution an die Sache ran gehen, das dauert aber länger. Wie gesagt, solange sich die Funktionen artig verhalten, ist das alles kein Problem. EXCEL kann auch nich zaubern und kocht auch nur mit Wasser. |
Re: Wie geht Zielwertsuche
Ja das ist mal eine nettes Thema:
In der BWL wird da wohl lineare Optimerung auf dem Programm gewesen sein, Stichwort: "Simplex-Algorithmus". Prinzipiell kann man sowas auch über die Nullstellensuche angehen (etwas langsmer halt). Die Stichwörter sind hier dann "Newton-Raphson-Verfahren" oder das schlichte aber markant robuste "Bisektionsverfahren". Willst Du das in ein Grid einbauen, oder was hast Du Dir vorgestellt? Grüße // Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz