Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Mai 14, 2024 00:34

Foren-Übersicht » Programmierung » Mathematik-Forum
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
BeitragVerfasst: Mi Okt 17, 2007 21:44 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Folgende Aufgabe habe ich in den TU-Chemnitz-Mathematik-News gepostet. Leider sind unsere Mathematiker alles andere als gesprächsbereit. Deshalb stell ich sie hier nochmal:

Zitat:
Hallo.

Ich hätte mal eine Frage an die Mathematiker. Und zwar geht es um
folgende Optimierungsaufgabe:

1. In Regelmäßigen Zeitabständen muss ein Verbrauchsgut(!) gekauft werden.
2. Der Preis für das Verbrauchsgut bewegt sich immer in einem bestimmten
Intervall. (Sagen wir [x,x+9])
3. Der Preisunterschied variiert zwischen den Zeitabständen um maximal 2
Einheiten.
4. Wird eine größere Menge vom Verbrauchsgut gekauft, kann solange mit
dem Nachkaufen gewartet werden, bis das Verbrauchsgut zur Neige geht.
5. Das Verbrauchsgut darf niemals komplett aufgebraucht werden.
6. Innerhalb jeder Zeiteinheit wird eine gleichbleibende Menge vom
gekauften Gesamtbestand verbraucht.

Frage: Welche Kaufstrategie ist die beste um dauerhaft die niedrigsten
Preise zu bezahlen.

Ich bin kein Mathematiker und kann das deshalb nicht theoretisch
fundiert beweisen. Aus dem Bauch raus würde ich sagen, solange der Preis
einen bestimmten Schwellenwert nicht unterschritten hat kauft man immer
nur soviel wie nötig. Ist der Preis niedrig genug füllt man das Lager
auf. Es könnte aber auch sein, dass es günstig wäre keinen schwellenwet
zu setzen sonder zu sagen "je niedriger der Preis, desto mehr kaufe ich".
Mich würde die Antwort wirklich interessieren.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 17, 2007 21:55 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
puh. :shock:

danke auf jeden fall nicht, dass man da mit schema-f-optimierung (funktion aufstellen, minimum suchen) rangehen kann; man kann den preis ja nicht vorhersagen...

Das ist wie aktienspekulation.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 07:05 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Na der nächste Kaufpreis ist indirekt abhängig vom momentanen, d.h. wenn der aktuelle niedrig ist, ist die Warscheinlichkeit höher, dass er steigt (ich nehme mal an, dass die Preise innerhalb des Bereiches normalverteilt sind). Es lässt sich sozusagen eine gewisse Vorhersage über die Preisentwicklung, bzw. wie günstig der nächste Preis sein wird aufstellen.
Das gleiche lässt sich mit dem Bedarf tun. Bei viel Bestand ist der 'Kaufzwang' niedrig und umgekehrt.
Jetzt hast due Zwei Funktionen f(Preis) und g(Bestand). Daraus ermittelst Du einen Wert (evtl durch Multiplikation oder so), von dem abhängig eine bestimmte Menge gekauft wird. Ist der Wert niedrig (kleiner Preis, hoher Bedarf), dann wird viel gekauft, ist er hoch, dann wenig.

Der Rest ist Fummelei an Konstanten, Schwellwerten und Gewichtungen. Das erreichst Du am besten mit einem Neuronalem Netz.

Ist zwar keine mathematische, aber eine informationstechnische Lösung ;)

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 07:08 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Ich glaube vor allem Autofahrer wären gerne an einer Lösung dieser Aufgabe interessiert :lol:

Also wenn man noch vorgibt, dass jeder Preis gleich wahrscheinlich auftritt und das die grössere Menge begrenzt ist, ist die Aufgabe garantiert lösbar.
Ich tip mal, wenn der Preis am niedrigsten ist, sollte man volltanken, wenn er in der Mitte ist zu 50% (man fährt also nur mit einem halbleeren Tank rum) und wenn er am höchsten ist, garnicht tanken.

Viele Grüße
dj3hut1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 08:31 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@dj3hut1: Du hast mein Ziel erfasst. ;)

Ich hätte halt gern eine (am besten mathematisch bewiesene) Strategie zum nachkaufen.

Man kann zumindest erstmal optimales und schlechtestes Ergebnis bestimmen (zumindest im Nachhinein). Optimales Ergebnis ist das wo an den globalen Minima gekauft wurde, und zwar am absoluten minimum am meisten und bei den anderen so das man zum minimum hinkommt. Das schlechteste Ergebnis erhält man mit umgekehrter Strategie.
Auf die Art kennt man schonmal den Ergebnisraum indem man sich bewegen wird.

Das mit der Vorhersage der Ergebnisse ist mir auch schon eingefallen. Bei kleinen Sprungweiten sind die Ränder aber auch entsprechend klein.

Interessant ist wies im Bereich dazwischen aussieht.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 09:42 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Benzinpreise sind mir egal, ich tank' immer nur für 10€ :mrgreen:

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 16:49 
Offline
DGL Member
Benutzeravatar

Registriert: So Okt 26, 2003 20:07
Beiträge: 249
Wenn du dir für eine Menge der Funktionen Menge(Preis) = Taktik * Preis das Minimum der Integrale suchst, dann müsstest du es so bestimmen können. Der Haken dabei ist, dass die unechten Integrale Wahrscheinlich alle unendlich sein werden und bestimmte Integrale nicht als Beweis zählen, und dass deine Menge der Funktionen unendlich groß sein muss. Das heißt du musst dir eine Funktion aufstellen, die eine Taktik in Abhängigkeit einer dritten Variablen beschreibt. Nur welche Variable? Ich glaube den Verbrauch kann man dafür nicht nehmen. Dann hast du jedenfalls eine dreidimensionale Funktion, die auf XY-Ebene für jedes Z eine Funktion erhält. Von denen suchst du wie gesagt die mit dem kleinsten Integral.

Außerdem denke ich mal, dass du dir die Grenzwerte anschauen musst. Du sagtest ja, das die Preisabweichung immer die selbe Wahrscheinlichkeit hat. Ich denke daher, dass man als Preisunterschied den Erwartungswert=0 verwenden kann.

Ohne Gewähr.

_________________
I'm not the signature, I'm just cleaning the floor...

Derzeitiges Projekt:
FireBlade Particle Engine (Release R2 2009.06.29)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 19:15 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Ist die Spieldauer oder die Lagermenge begrenzt? Welche Eigenschaften(Wahrscheinlichkeitsverteilung in Abhängigkeit vom Aktuellen Preis) hat die Preisänderung pro Zeitintervall?
Bei unendlicher Lagermenge und Spieldauer und linearer Wahrscheinlichkeitsverteilung über das Intervall [max(x,Preis-2),min(x+9,Preis+2)] kommt nach recht kurzer Zeit einmal der Minimalpreis vor, dann kauft man unendlich viel. Daher wäre es sinnvoll die Lagermenge zu begrenzen. Auch die lineare Verteilung über das genannte Intervall ist nicht wirklich sinnvoll.
Da der künftige Kurs unabhängig vom bisherigen kursverlauf ist, sondern nur vom aktuellen Kurs abhängig gilt auf jeden Fall:
Man stockt jeden zug auf eine Lagermenge auf, die nur vom aktuellen Kurs abhängt. Für den Minimalkurs ist das dann Unendlich bzw die maximale Lagermenge, und beim Maximalkurs nur die Menge die bis zum nächsten Zug benötigt wird. Die optimale Strategie dazwischen hängt von der angenommenen Wahrscheinlichkeitsverteilung von DeltaPreis ab.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 21:32 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Natürlich ist das Lager begrenzt und (habs nicht angemerkt) der Preis ist unabhängig davon wieviel man kauft (falls das als nächstes gefragt wird. Das Beispiel mit der Tankstelle ist eine sehr genaue Anwendung der Aufgabe.

Man könnte den Wertebereich für die Kaufstrategie dynamisch aufbauen. Und zwar so:

Zu jedem Zeitpunkt misst man den aktuellen Preis.
Ist der Preis außerhalb des aktuellen Intervalls passt man das Intervall so an, dass der neue Preis im Intervall gerade noch enthalten ist. (Grenzwert ;) )
Man wendet dann die (Noch zu entwickelnte) Taktik auf den aktuellen Preis und das aktuelle Intervall an.

Die Taktik ist im Grunde genommen etwas der Art: Taktik = F(L,I,P) wobei L = Lagerbestand; I = Preisintervall, P = aktueller Preis

Um realistisch zu bleiben sollte in die Berechnung des Intervalls nur ein begrenzter Zeitraum einbezogen werden. Z.B. die letzten 50 Zeitschritte.


Aufgabe an die Mathematiker: Finden sie eine Funktion F mit den open genannten Eigenschaften welche die geringsten Kosten verursacht. (Beweisen Sie das diese Funktion optimal ist. ;) )

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 19, 2007 13:09 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Also ich seh die Aufgabe noch sehr kritisch.
Zum einen hängt die Lösung dieser Aufgabe sehr stark von den Wahrscheinlichkeiten ab, mit der der Preis steigt oder fällt, die man nicht exakt kennt.
Und selbst wenn man diese kennen würde, müsste man Wahrscheinlichkeitsbäume oder so ähnlich aufbauen, was leicht zu expotenziellem Rechenaufwand führen kann. (Viele Optimierungsaufgaben sind NP-schwer)
Und das Optimum exakt mathematisch zu beweisen ist vielleicht möglich, aber entweder ist dazu ein einzelner Mensch nicht in der Lage, oder er würde ziemlich komplex sein, da man sehr viele Fallunterscheidungen berücksichtigen muss (da z.B. die Tankmenge beschränkt ist).

Vielleicht könnte man aber eine (sub-)optimale Lösung (für einen sehr eingeschränkten Zeitraum) mit einem Programm simulieren.
Im Grunde genommen handelt es sich um eine Parameterraumsuche (bestehende Tankfüllungen, neue Tankmengen und Preise pro Tag), bei der man evolutionäre Algorithmen benutzen könnte.
Man wählt z.B. zu Beginn feste Startparameter (Tankfüllung, Preis) und probiert für mehrere Tage zufällige Tankmengen aus (bei entsprechend zufälliger Preisentwicklung). Hat man ein mögliches Optimum gefunden kann man dieses geringfügig mutieren ( die Tankmengen für die einzelnen Tage leicht abändern ).
Dies kann man für verschiedene einzelne Tankfüllungen und Preise machen und dann versuchen zwischen den Ergebnissen zu interpolieren.

Viele Grüße
dj3hut1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 19, 2007 16:00 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Mein Bauchgefühl sagt mir, dass dieser Algorithmus nicht ganz daneben liegt:

Es gibt 3 Schwellwerte für die Preise: Sh, Sl (high, low)
Diese Schwellwerte sind Relativ zum aktuellen Preisintervall zu verstehen. (z.B. Sh = 80% * (Pmax-Pmin) + Pmin)

Code:
  1. Ist der aktuelle Preis >= Sh dann
  2.   falls lager zu leer
  3.     kauf nur soviel, damit du bis zur nächsten Zeiteinheit kommst.
  4.  
  5. Ist Sl > aktueller Preis < Sh dann
  6.   solange platz im Lager
  7.     kauf abhängig vom Preis (he niedriger desto mehr) aber
  8.     maximal soviel wie man für 2 Zeiteinheiten brauch
  9.   sorg dafür da mindestens genug im Lager ist um nächste Zeiteinheit zu erreichen
  10.  
  11. Ist aktueller Preis <= Sl
  12.   solange Platz im Lager
  13.     mach das Lager abhängig von Preis voll (je niedriger desto voller. Am Schwellwert Sl vielleicht nur zu 80% voll)
  14.  

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 19, 2007 22:21 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Für eine mathematisch optimale Lösung musst du noch die Wahrscheinlichkeitsverteilung für die Preisänderung in Abhängigkeit des aktuellen Preises genau angeben. Sonst bekommst du sicher keinen optimatitätsbeweis hin.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 11, 2008 23:23 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 29, 2005 21:11
Beiträge: 88
Wohnort: Bonn
ich schieße mal wild in's blaue - wenn ich mich völlig lächerlich mache, sei mir das verziehen...

in graphentheorie hatten wir ne aufgabe, die so ähnlich klang
da war es ein Kürzeste-Wege-Problem und jeder Mögliche Zustand war ein Knoten

ich häng da pdf mit aufgaben und lösungen einfach mal an
es ist Aufgabe Nummer 4


Dateianhänge:
loesung4.pdf [58.78 KiB]
483-mal heruntergeladen
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 12, 2008 00:06 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Danke. Das du dich da noch erinnern konntest.

Das klingt wirklich sehr nach meinem Problem. Seh ich das richtig, dass die Lösung rückwärts gefunden wird? Also erst wenn alle Perioden bekannt sind?

Spannend wäre ein Algorithmus welcher durch Wahrscheinlichkeiten in die Zukunft plant.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 12, 2008 00:32 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 29, 2005 21:11
Beiträge: 88
Wohnort: Bonn
Ja, wenn ich mich richtig erinner, werden erst vorwärst alle möglichen Zustände bestimmt und dann vom besten letzten rückwärts geguckt, welchen Weg man geht.
Aber in deiner Aufgabe sind ja, wenn ich nicht irre, die Preise nicht vorgegeben... also passt es doch nicht so ganz.

Wie ist das denn bei dir?
Wenn der Preis beispielsweise bei 3 liegt, kann er ja in der nächsten Periode nach 1, 2, 3, 4 oder 5 halt höchstens 2 geschwankt.
Sind die 5 Möglichkeiten alle gleichwahrscheinlich? Oder sind die Normalverteilt? Oder womöglich noch wirrer?


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Mathematik-Forum


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.027s | 20 Queries | GZIP : On ]