AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie geht Zielwertsuche

Ein Thema von Delix · begonnen am 15. Aug 2006 · letzter Beitrag vom 15. Aug 2006
Antwort Antwort
Seite 1 von 2  1 2      
Delix

Registriert seit: 4. Mai 2004
Ort: Lippstadt
56 Beiträge
 
#1

Wie geht Zielwertsuche

  Alt 15. Aug 2006, 09:20
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.
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: Wie geht Zielwertsuche

  Alt 15. Aug 2006, 10:01
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...
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Delix

Registriert seit: 4. Mai 2004
Ort: Lippstadt
56 Beiträge
 
#3

Re: Wie geht Zielwertsuche

  Alt 15. Aug 2006, 10:33
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.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Wie geht Zielwertsuche

  Alt 15. Aug 2006, 11:02
Willst du das Ganze numerisch oder analytisch machen? Wie sieht denn die Berechung aus, deren Ergebniss optimiert werden soll?
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Wie geht Zielwertsuche

  Alt 15. Aug 2006, 11:37
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

Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Wie geht Zielwertsuche

  Alt 15. Aug 2006, 11:44
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.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Wie geht Zielwertsuche

  Alt 15. Aug 2006, 12:08
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
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Wie geht Zielwertsuche

  Alt 15. Aug 2006, 12:48
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.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Wie geht Zielwertsuche

  Alt 15. Aug 2006, 12:55
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.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#10

Re: Wie geht Zielwertsuche

  Alt 15. Aug 2006, 13:03
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
Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz