Algorithmus gesucht (lineare Optimierung?)

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Also wenn ich das richtig verstehe -- das "behalten" macht ja nur Sinn, wenn mehrere Rechnungen zu bezahlen sind. Dann sollten alle Beträge auch gleich bekannt sein, sonst kann man ohnehin nicht wissen, welche Strategie die bessere ist.

Wenn das so ist ist es in der Tat eine Art "umgekehrtes Knappsackproblem" mit mehreren Säcken (Rechnungen). Zu Optimieren ist der Gesamtwert der beglichenen Rechnung, dazu muss diese mindestens vollständig aufgefüllt werden. Wenn man sich diese Gleichungen anschaut: http://de.wikipedia.org/wiki/Rucksackproblem#Mathematische_Formulierung bedeutet das z.B. statt "<= B" muss da für jede einzelne Rechnung ">= B" stehen, wobei du nicht nur ein B hast sondern eben eine ganze Reihe B1 bis Bk und gesucht ist die Teilmenge der B, die du mit deinen Elementen aus U vollkriegst, und deren Summe maximal ist. "Gewicht" und "Wert" ist in dieser Variante das gleiche. Soviel zur (etwas laxen) mathematischen Beschreibung.

Was ist jetzt die Frage? Wie man einen Algorithmus dafür optimiert? Leider so aus dem Stegreif keine Ahnung. Aber vielleicht hilft es, das Szenario erstmal /sauber/ mathematisch hinzuschreiben (eine Menge U von Geldscheinen verschiedener Werte, eine Menge I von Rechnungen B1 bis Bk in verschiedener Höhe, eine gesuchte Untermenge K von I, mit aus der Menge U vollständig bezahlbarer Rechnungen, usw) und dann einfach mal die Quellen bei Wikipedia durchgehen und versuchen, eine analoge Lösung zu bauen --- viel Spaß :)

Wie funktioniert Math.random() in Java?

Math.random() erzeugt eine "zufällige" Zahl zwischen 0 und 1. Aber wie genau wird diese erzeugt. Habe dazu im Internet noch nichts gefunden.

Ich wäre über einen Link dankbar, in dem der Algorithmus erklärt wird, bzw. wie man den Wert vorhersagen kann.

...zur Frage

Kriegt man Wechselgeld, wenn man im Kino mit einem Gutschein bezahlt?

Also ich hab von meiner Schule letztes Jahr, wegen einer besonderen Leistung 2 Cinemaxx-Gutscheine mit jeweils einem Wert von 5 Euro, also insgesamt 10 Euro bekommen. Wenn ich damit in ein Kino gehe und z.B. einen Film ansehen moechte, der 8 Euro kostet, kriege ich dann die 2 Euro Wechselgeld zurueck oder ist er dann vollstaendig aufgebraucht, oder wie geht das? Ich habe naemlich noch nie in einem Kino mit einem Gutschein bezahlt und das mit den Gutscheinen ist ja in jedem Geschaeft anders (also was nach Kauf davon uebrig bleibt).

Danke fuer eure Antworten ^^

...zur Frage

Lineare Optimierung Simplex-Algorithmus?

Hey ich schreibe eine Facharbeit über das Thema lineare Optimierung und muss dazu den Simplex-Algorithmus erklären. Ich habe schon auf Seiten wie Mathebibel.de geschaut aber dort ist das so komisch erklärt, dass ich leider nichts verstehe. Das Anfang Prinzip habe ich zwar verstanden. Am Anfang setzt man Schlupfvariablen ein um aus dem Ungleichungssystem ein Gleichungssystem zu machen und man setzt alle Ursprungsvariablen Null um sich dann eine auszusuchen die man so hoch wie möglich macht ( Bei den Nebenbedingungen, wenn z.B x +y+ s = 500 ist und mann für x 300 nimmt und dann die Schlupfvariable 200 sein kann ) Das ist natürlich eine Menge Arbeit und man müsste viel rumprobieren.

Meine Frage ist nun ob es eine Seite gibt die an dieser Erklärung anschließt und wo alles nicht so verwirrend erklärt ist? ( Bemerke ich bin in der Q2 und kenne mich auch nicht so gut mit den Mathematischen Zeichen wie IR aus )

...zur Frage

Findet ihr es Peinlich mit Kleingeld zu bezahlen?!

Hallo

Meine frage findet ihr es Peinlich mit 10 oder 20 Cent Stücken zu bezahlen ?!

Ich habe 20 € in 20 bis 10 Cent Stücken und wollte die nun gleich ausgeben beim einkaufen.

Findet ihr es Peinlich mit Kleingeld zu zahlen ?

...zur Frage

Wie summiere ich *bestimmte*, nicht alle(!), Werte eines mehrdimensionalen Arrays, in Java, auf?

Also, das Summieren von Werten eines Arrays ist ziemlich einfach. Einfach 2 verschaltete for-Schleifen "basteln" Startbedingung, Abbruchbedingung und Schrittweise festlegen und dann eben die Werte an der entsprechenden Stelle in einer Variablen speichern am Ende ausgeben. Fertig. Ziel erreicht.Aber was ist, wenn man nicht alle Zahlen des Arrays summieren will sondern nur ganz bestimmte?

Jedesmal wenn es aussieht als stünde ich vor dem Durchbruch stecke ich fest und komme nicht weiter.

Zum Verständnis werde ich mal etwas konkreter. Nehmen wir an wir haben folgendes

int [][] array = { 
                   {1,2,3,4,5,6},     // Zeile 0
                   {6,5,4,3,2,1},     // Zeile 1
                   {4,3,2,1,6,5} };   // Zeile 2

und wir wollen in der 0. Zeile die 2. und 3. Spalte + der 1.Zeile die 0. und die 5.Spalte + der 2.Zeile die 2.und die 3. Spalte zusammen summieren.

Was müsst ich machen um das zu realisieren bzw. wie muss ich denken, damit ich es realisieren kann? Ich hab wirklich einen totalen Knoten im Kopf. Seit 2 Nächten beschäftigt mich das Problem. Ich habe über unzählige Videos angeschaut und eine Menge Artikel gelesen und überall ist immer nur von allen Werten die Rede. Entweder trollt mich Google und YouTube und wollen nicht das ich die Lösung finde oder ich übersehe sie oder sie existieren nicht. Ich hoffe, das ich sie bisher nur übersehen habe. In diesem Sinne hoffe ich IHR könnt mir helfen. Vielen (mit fettem) Dank schon mal im voraus.

...zur Frage

Wo kann ich am Samstag 50ziger umtauschen?

Hallo Leute, möchte drei 10 Euro Scheine in 5 Euro Scheine umtauschen. Bei meiner Hausbank am Service hat man mir das nicht gewechselt, da man nicht mehr von Schalter sein Geld holt sondern vom Automaten. Die Geldautomaten haben mir das in 10 Euro Scheinen rausgespuckt und möchte sie in 5 Euro haben. Gibt es überhaupt irgendwelche Geschäfte, die noch freundlicherweise Geldscheine umtauschen? Über eure Antworten würde ich mich freuen und vielen dank im vorraus. Gruß

...zur Frage

Was möchtest Du wissen?