Ankündigung

Einklappen
Keine Ankündigung bisher.

Überschüssige Einträge löschen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Überschüssige Einträge löschen

    Hallo PHP-Gemeinde,

    so einfach der Titel des Themas klingen mag, so schwer ist es dann doch leider auch.

    Ist eine "Summe A > Summe B", so sollen die Summanden in Summe A, die zuletzt(!) eingetragen wurden, so reduziert werden, dass "Summe A = Summe B" ist.
    Demnach soll der Überschuss aus "Summe A - Summe B" subtrahiert werden, nur eben nicht willkürlich, sondern anhand der letzten Einträge, die in der Summe bedacht wurden.

    Selbiges soll andersherum ebenso funktionieren.

    Das besagte Problem besteht meiner Meinung nach darin, dass ein Script die letzten Einträge entsprechend bearbeitet, damit "Summe A = Summe B" ist.

    Um es aber auch anschaulicher darzustellen, erkläre ich das Problem anhand eines Brotbeispiels.

    Es gibt mehrere Bäcker, die ihr Brot anbieten, aber verschiedene Mengen zu unterschiedlichen Preisen. Ebenso gibt es Kunden, wobei auch hier eine Varianz besteht zwischen der nachgefragten Menge und des Preises, den man bereit ist zu zahlen.

    Bäcker A stellt gegen 12:01 ein Angebot für 10 Brote aus zu je 4 Euro.
    Bäcker B stellt gegen 12:02 ein Angebot für 12 Brote aus zu je 4 Euro.
    Bäcker C stellt gegen 12:04 ein Angebot für 8 Brote aus zu je 4 Euro.

    Nachgefrage entsteht durch die Kunden.
    Kunde A erklärt um 12:02, 5 Brote für 4 Euro kaufen zu wollen.
    Kunde B erklärt um 12:03, 10 Brote für 4 Euro kaufen zu wollen.
    Kunde C erklärt um 12:05, 5 Brote für 4 Euro kaufen zu wollen.

    Das heißt, dass es für die angebotene Menge von 30 Broten zu einem Preis von 4 Euro auch eine Nachfrage von 20 Broten besteht.
    Aber das heißt auch, dass 10 Brote zuviel angeboten werden. Folglich kann Bäcker C als letzter seine 8 Brote gar nicht verkaufen, also 0%, und Bäcker B nur 10 Brote bzw. 83,3%.

    Das Beispiel kann natürlich auch andersherum funktionieren bei zu großer Nachfrage gegenüber eines zu geringen Angebots.


    Meine Frage ist nun, wie ich sowas erstellen kann? Ich zermartere mir leider schon seit mehr als einer Woche und Kopf und finde keinen Weg, weil ja im Grunde aufsummiert werden muss und dann so weiter und so weiter.

    Hat irgendjemand eine Idee, einen Vorschlag?

    Grüße,
    krampi
    Crossposting ist kein Verstoß, sondern der Vergleich mehrerer Lösungsvorschläge.


  • #2
    Hast du dir denn schon eine Gleichung für jeden Fall einzeln überlegt?

    Zeig mal deine Ansätze
    MfG
    ~Capfly

    Kommentar


    • #3
      Meine Frage ist nun, wie ich sowas erstellen kann?
      Was erstellen? Vor allem, welche Relevanz spielt denn die Zeit? Wenn Kunde A um 12:02 5 Brote kaufen will, dann wird er das wohl von Bäcker A oder B tun. Oder soll er jetzt warten, bis alle Bäcker und alle Käufer sich zum Feierabend mal langsam zusammengerottet haben?

      Also: Kunde kauft zum Zeitpunkt, wenn seine ANforderung besteht. Wenn die nicht erfüllt werden kann wird er abgewiesen oder landet auf einer Warteliste - das entscheidet Deine Anforderung. Wenn der nun dummerweise 2000 Brote haben will, kann er warten bis Snkt Nimmerlein - und leider auch alle nach ihm. Wenn man die nach ihm vorzieht, bekommt er u.U. nie was, weil alles mit Minilieferungen ausgegeben wird.

      Ergo: Das ist alles keine Frage des Algorithmus, sondern eine der Anforderung.

      Wenn jeder Bäcker dann noch nur die Anforderung im Ganzen liefern können muss und man sich mit Kleinbestellungen keine schönen großen Angebote kaputtmachen will, wird das Problem wohl auf eine Art Lagerverwaltung-Algorithmus hinauslaufen.

      PS: Ich traue mich kaum zu fragen, was die 4 Euro da noch für eine Bewandnis haben werden.
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Wenn du von Summe A so lange wieder was „wegnehmen“ möchtest, bis sie kleiner-gleich Summe B ist - dann musst du dir doch nur die einzelnen Summanden, aus denen A gebildet wurde, in geordneter Reihenfolge merken, und dann die letzten paar wieder abziehen.

        Wenn du hingegen Gleichheit erzwingen willst, obwohl bspw. A = 80 > 70 = B ist, und der letzte Summand, der zu A hinzugefügt wurde, nun aber 20 war, dann würdest du durch abziehen A = 60 <= 70 = B erhalten - also keine Gleichheit.
        Wenn du das nicht willst - dann musst du mal exakter beschreiben, was du willst.

        Könnte dann ein Fall von Rucksackproblem (Stichwort!) sein.

        Kommentar


        • #5
          eine (offene) diskussion war wohl wieder mal zu wenig: Nach Summe die Aufträge aktualisieren. wirklich schade... ich dachte, der thread würde ins rollen kommen und darüber hinaus "warte" ich seit heute vormittag auf eine reaktion auf meinen letzten beitrag.

          das ist (mal wieder) einer der momente, in denen ich mich frage, warum ich überhaupt meine zeit für / mit hinz+kunz verplempere.

          cx

          Kommentar


          • #6
            das ist (mal wieder) einer der momente, in denen ich mich frage, warum ich überhaupt meine zeit für / mit hinz+kunz verplempere.
            Glaub mir, das geht mir auch oft so. Und bei Threads wie diesem finde ich es auch ein bissel schade, weil sie ja durchaus interessante Diskussionen bieten könnten.
            Seis drum

            Bitte beachten: Anmerkungen zu Crosspostings


            Lustig btw, dass uns hier im Board nur Brötchen und Bäcker statt Aktienpakete zugemutet wurden. Das sagt jetzt hoffentlich nichts über die Kompetenz der Leute hier aus


            [MOD: Thread geschlossen]
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar

            Lädt...
            X