stehe vor einem kleinen Problem


Im Baumarkt kann ich 4 Verschiedene Längen kaufen.
1 x 2000mm
1 x 2500mm
1 x 3000mm
1 x 4000mm
und benötige 5 verschiedene Längen:
2 x 1470mm
2 x 2090mm
2 x 1354mm
1 x 1974mm
mindestens 6 x 638mm
nun meine Mathematik reicht nicht aus und Probieren hab ich schon, allerdings hätte ich gerne ein "Beweis" das es sich echt um die günstigste Kombination handelt.
Habe mir überlegt die Werte alle in Python einzutragen und über Schleifen jede mögliche Kombination zu prüfen und das Ergebnis, also den Geringsten Rest und die Geringste Balkenanzahl auszugeben, am liebsten auch mit der Aufteilung. Klingt auf Anhieb echt easy, allerdings hab ich als Programmieranfänger echt Schwierigkeiten überhaupt einen Sinnvollen Ansatz zu finden.
Hat jemand eine grobe Ahnung wie man die Worte, Codetechnisch umsetzen kann?
Mit freundlichem Gruß
koin