Buchhalter Buddy


Problem der Teilsummen

Im englischen auch als subset sum problem bekannt, stellt sich die Frage im Alltag, wie man eine bestimmte Summe mit Hilfe von verschiedenen Summanden erhalten kann. Dieses Problem ist deswegen so schwierig, weil die Laufzeit expotentiell ist. Das bedeutet, die Laufzeit verdoppelt sich mit jedem Summanden, den man mehr prüfen möchte.

Mit diesem Programm habe ich eine lauffähige Variante vorgestellt, welche nicht nur korrekt ist, sondern auch schneller als Excel. Das ist die Hauptfunktion dieses Programmes. Es kann mehr, dazu weiter unten, aber das ist die Hauptexistenzberechtigung dieses Programmes.

Die besten Ergebnisse erscheinen in der Voreinstellung, Threads = 1 (Anzahl der parallelen Abarbeitungen), Variablenoptimierung (Kandidaten, welche definitiv nicht zur Lösung gehören, aus der Suche herausnehmen) und keine Duplikate (was noch experimentell ist, aber sehr schnell, da bei mehreren gleichen Summanden komplette Lösungsbäume, welche keine neuen Ergebnisse produzieren, weggeschnitten werden können).

Bei der Suche gibt der Benutzer die gesuchte Summe ein. Bei Abweichung ebendiese für Skonti bei Rechnungen oder weil man die Summe aus anderen Gründen nicht komlett erreichen kann. Bei der Eingabe kann man positive, wie negative Zahlen eingeben.

Die Lösungsausgabe zum Beispiel 6/12 bedeutet 6 eindeutige Lösungen von 12 Lösungen insgesamt. Das gleiche noch einmal für die guten Lösungen. Gute Lösungen sind die, welche exakt ohne Abweichung auskommen.

Download

Es gibt zwei Versionen. Die Version für die aktuelleste Javaversion: BuchhalterBuddy.jar und dann noch einmal für die Standardversion von Java die BuchhalterBuddy.8.jar. Wenn die erste nicht funktioniert, dann einfach die zweite probieren. Geht diese auch nicht, dann Java neu herunterladen.

Funktionalität

Das Programm hat erst einmal nur zwei Abschnitte. Der erste ist in der Möglichkeit, Summanden zu finden. Die zweite Möglichkeit besteht darin, zwei csv-Dateien einzulesen und diese dann gegeneinander zu vergleichen.

Summe finden

Problem, wie oben beschrieben.

Vergleich

In diesem Modus kann man zwei csv-Dateien miteinander vergleichen. Die eine ist dann die Bankdatei und die andere das Buchhaltungsgegenstück. Zusammengefasste Zahlungen können gefunden werden. Zumindest benutzt das Programm den gleichen Algorithmus, wie der Vergleich.

Ganz wichtig: Die Einstellung -Erste Zeile ignorieren- muss vor dem Laden der Datei aktiviert sein. Der Rest kann danach eingestellt werden.