![]() |
Verteilungsalgorithmus gesucht
Hi,
ich bin auf der Suche nach einem Algorithmus mit dem ich eine optimale Verteilung von Resourcen (Gütern) berechnen kann. Mal 'n Beispiel: Ich habe diverse Grundresourcen (z.B.: Eisen, Holz, Lehm) und diverse Produktionsstraßen (Werkzeuge, Fahrzeuge, Gebäude) . Nun möchte ich die vorhandenen Resourcen so effektiv auf die Produktionsstraßen verteilen, das entweder alle ausgelastet sind und/oder alle Resourcen aufgebraucht sind. Und ja, das ganze ist für ein Spiel :D. Ich möchte nun keinen fertigen Code, sondern nur den Namen/Bezeichnung des gesuchten Algorithmus und vlt. ein zwei Links wo diese Art von Algorithmen gut erklärt sind. Erarbeiten möchte ich mir den Code dann schon selbst :D |
AW: Verteilungsalgorithmus gesucht
Na ja, ob man nun unbedingt alles mit einem algo lösen muss?
Beispiel: 1Fahrzeug benötigt 10 Anteile Eisen, wieviele Fahrzeuge will/muss ich bauen. 1Werkzeug benötigt 1 Anteil Eisen, wieviele Werkzeuge will/muss ich bauen. Wenn ich also 100 Eisen habe ergibt sich aus den obengenannten der algoritmus:wink: Muss ich also keinen suchen! oder hab ich da was falsch verstanden? Gruss alfold |
AW: Verteilungsalgorithmus gesucht
![]() |
AW: Verteilungsalgorithmus gesucht
Hm, vielleicht geht das in die Richtung
![]() |
AW: Verteilungsalgorithmus gesucht
Hmmm, wenn ich mir mal so de Ressis anschaue, könnte dies ein Tool für ein BrowserGame (Die Stämme, oder so) werden.
wenn dem so ich, schau ich mal in meinen Scripten, ob i ggf. was finde. |
AW: Verteilungsalgorithmus gesucht
Üblicherweise sind das Probleme der Produktionsplanung mit linearer Optimierung.
Die ![]() ![]() ![]() ![]() Grüße |
AW: Verteilungsalgorithmus gesucht
Hallo,
unter Umständen kann man das mit einer Abwandlung von ![]() Ich würde wie folgt vorgehen: Die verschiedenen Produktionsstraßen produzieren doch sicherlich ein Gut. Jedes Gut wird einen anderen Nutzen haben. Wenn es ein Spiel ist, das wirtschaftlich orientiert ist, wird der Nutzen wahrscheinlich der höchtse Gewinn sein. Also sagen wir nun du hast 3 Güter: Gut1: minimaler Gewinn 80 Euro maximaler Absatz 10 Stück Gut2: minimaler Gewinn 30 Euro maximaler Absatz 15 Stück Gut3: minimaler Gewinn 10 Euro maximaler Absatz 30 Stück So nun ist es ja so, dass der Absatz bei dir wsl. variabel berechnet wird, zum einen weil der Computer, der die Resourcen kauft, nicht immer alles kauft. Auch ein Mensch würde nicht immer 10 Stück á 20 Euro kaufen. Also würde ich noch eine Wahrscheinlichkeit mit reinrechnen. Wie wahrscheinlich ist es, dass jemand Gut1 ab einer gewissen Stückzahl kauft ;-). Geht jetzt stark in in die VWL. Aber du kannst dir ja sicherlich vorstellen, dass der Nutzen eines Produktes mit der gekauften Anzahl abnimmt. Sprich 1 Brot nützt dir viel aber was machst du als Privatperson mit 20 Broten ^^. Wie du siehst werden mindestens 18 Brote sinnlos und verderben. Sie haben keinen Nutzen. Lange Rede kurzer Sinn. Pseudocode:
Code:
Die Reihenfolge der Schleifen ergibt sich aus dem maximalen Gewinn ;-). Bei Gut1 hast du den meisten Gewinn ---> zuerst produzieren.
while (MaximalerAbsatz<=ProduzierteGüter1) and (Nutzen>0) do begin
//Produzieren end; while (MaximalerAbsatz<=ProduzierteGüter2) and (Nutzen>0) do begin //Produzieren end; while (MaximalerAbsatz<=ProduzierteGüter3) and (Nutzen>0) do begin //Produzieren end; Bezüglich Nuten von Produkten: ![]() Bezüglich Gewinnmaximum: ![]() Falls du Fragen zu den Formeln hast, helfe ich gerne ;-) |
AW: Verteilungsalgorithmus gesucht
Na da sind doch einige nette Ansätze dabei :thumb:
@patti: Ja, in diese Richtung hatte ich auch schon gedacht. Aber es ist dann doch m.E. zuweit von der Aufgabenstellung entfernt :( @alfold: Sorry, ist wohl nicht so ganz korrekt "rüber gekommen": Ich benötige natürlich mehrere verschiedene Resourcen in unterschiedlicher Menge auf den einzelnen Produktionsstraßen, daher ja mein Prob mit dem Finden der optimalen Auslastung. @Maik81ftl: Ja dafür auch, aber eben nicht nur :D Solltest Du da (DS-Skript) aber was finden, dann teile es mir ruhig mit ;) @all: Ich werd' mich mal mit den einzelnen Teilen befassen und wenn ich etwas nicht versteh' dann weiß ich ja wo ich fragen kann ;) Danke bis dato. |
AW: Verteilungsalgorithmus gesucht
Das ist mir schon klar, mit den unterschiedlichen Source für die Produktion!
Spekulation: Lassen wir Zeit für die Herstellung und Menge mal aussen vor! Dann ist es ja einfach der algo! Nehm ich jetzt die Zeit für die Herstellung dazu, wird es schon komplizierter! Bei gleicher Resourceverteilung auf die Produktionsstrasse Beispiel: 1Fahrzeug 60sec 1Werkzeug 10sec Würde also die Produktion von Werkzeugen bei gleicher Verteilung vorzeitig beendet sein. Weil die Resource dafür schon aufgebracht ist! Kommt jetzt die Menge noch dazu, die evtl nur produziert werden soll um auch Gewinn zu machen naja. Dafür also ein allgemein verbindlichen Algo zu finden dürfte nicht leicht sein! Wenn, dann muss man den Algo auseinandernehmen und für Dein Prog anpassen! Bis Du dies geschafft hast, hast Du evtl Dein eigenen geschrieben:wink: Das wollte ich mit den simplen Beispiel von oben ja nur sagen. Gruss alfold |
AW: Verteilungsalgorithmus gesucht
Wenn jede Produktionsstrasse nur ein Produkt herstellt, ist der Ansatz simpel.
Für eine Resource:
Code:
n1 : Strasse 1 Verbrauch je Zeiteinheit z.B. 5 Einheiten / 20 Sekunden
n2 : Strasse 2 ... n3 : Strasse 3 ... t : Produktionszeit m : Gesamtmenge der Resource m1 : Strasse1 Anteil der Resource m2 : Strasse2 ... m3 : Strasse3 ... m = n1 * t + n2 * t + n3 * t m = (n1 + n2 + n3) * t t = m / (n1 + n2 + n3) m1 = n1 * t m2 = n2 * t m3 = n3 * t |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 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 by Thomas Breitkreuz