Clever-Excel-Forum

Normale Version: Annäherung in Schleifen in VBA?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Liebe Freunde (und genialen Geister)

Ich würde gerne einen Teil meiner täglichen Arbeit (Gerüsteinteilungen / Planzeichnung) vereinfachen und wäre für eure Hilfe sehr, sehr dankbar.

Ausgangslage:
Eine Hausfassade muss eingerüstet werden - ich muss den Plan zeichnen

Herausforderung:
Die Fassade ist in der Länge vorgegeben. (Die Höhe interessiert hier mal nicht).
Gerüst-Felder gibt es in unterschiedlichen Längen (3m, 2.5m, 2.m etc.) und ich muss rausfinden, WIE ES SICH AM BESTEN AUFGEHT, die Fassade einzugerüsten und daraus dann für meine Kollegen einen kleinen Plan und eine Materialliste zu erstellen...

Beispiel: Bei einer Fassade mit 12.70 m Länge nehme ich 5 x 2.50m-Felder (= 12.50), dann bleiben links und rechts noch 10cm frei. i.O.!
Leider ist bei weitem nicht jeder Bau so einfach und oft recht tricky, die richtige Kombination zu finden... Sad

Erschwerend kommt hinzu, dass es wenig sinnvoll ist, NUR mit den kürzesten Elementen zu gerüsten (0.70 m), da hier dann viel zu viel Material benötigt wird.
Das heisst, es es sollte schon eine leicht erhöhte präferenz auf den 2.50m-Feldern liegen... (die hat man eigentlich am meisten im Lager).
Auch ist es bei bestimmten Situationen ein Muss z.B. ein 0.70 m Feld zu verwenden. Diese Parameter steuere ich aber im Sheet...

Ich habe eine Beispielmappe mal hochgeladen...
Ist es irgendwie machbar, dass Excel mir vorschläge macht, was die besten Kombinationen sind, um einen möglichst geringen "Restwert" zu erhalten?

Irgendwie eine Annäherungsfunktion?

Schon jetzt vielen Dank für eure Bemühungen, euch meinem Problem anzunehmen!!!

Christian
Hi Christian,

vlt. hilft dir als Ideengeber dieser Thread? Auch hier könntest du eventuell fündig werden.
Hallo Christian,

(01.02.2023, 11:57)peacescorer schrieb: [ -> ]Das heisst, es es sollte schon eine leicht erhöhte präferenz auf den 2.50m-Feldern liegen... (die hat man eigentlich am meisten im Lager).
Grundsätzlich hätte ich gesagt, dass man erstmal die längsten Elemente verwendet und dann auffüllt. Das wäre am einfachsten. Allerdings ist es schwierig eine Präferenz zu berücksichtigen, da man nicht weiß wie viele der größeren in Ordnung ist und wie das Gewicht sein soll, nach dem ein 2,5m-Element bevorzugt verwendet werden soll. Das Resultat wird zudem sein, dass man nur 2,5m-Elemente verwendet, weil die Präferenz dazu höher ist ...

Wahrscheinlich wäre es einfacher, wenn man weiß, wie viele von den Elementen auf Lager sind oder man bestimmt die maximale Anzahl (entweder absolut oder relativ) der eher unbeliebten Elemente.

Es wäre noch interessant welche Abweichungen tolerierbar sind und ob die Abweichung negativ oder positiv sein darf (also zu lang oder zu kurz oder beides).

Eine Möglichkeit wäre es mit entsprechenden Nebenbedingungen den Solver zu verwenden.
@Günter: Danke für die rasche Meldung. Habs mir die zwei Threads mal intensiv angesehen und auch 2 Beispielmappen runtergeladen. So wirklich weiter hilft mir das nicht. - Oder zumindest weiss ich nicht, wie ich das auf meine Problematik abwandeln kann...

@Michael:
Dein Ansatz ist schon richtig. So mache ich es auch in der Praxis. Erst mal mit den "breiten Teilen" schauen (3m, 2.50m) und dann "auffüllen"...
Zitat:Das Resultat wird zudem sein, dass man nur 2,5m-Elemente verwendet, weil die Präferenz dazu höher ist ...

Wenn es sich so ausgeht, umso besser... wird aber fast nie so sein...
 
Zitat:Wahrscheinlich wäre es einfacher, wenn man weiß, wie viele von den Elementen auf Lager sind oder man bestimmt die maximale Anzahl (entweder absolut oder relativ) der eher unbeliebten Elemente.
Das wäre ev. für später mal interessant, um mit einer Lagerliste abzugleichen. Wir können aber davon ausgehen, dass genug von allem da ist.

Zitat:Es wäre noch interessant welche Abweichungen tolerierbar sind und ob die Abweichung negativ oder positiv sein darf (also zu lang oder zu kurz oder beides).
Danke für den Input. Habe ich nicht erwähnt. Für diese Grundlösung ist beides ist in Ordnung. Bei einer Innenwand muss es zwangsläufig kürzer sein, aber sollte eine solche da sein, kann ich ja die Ergebnisse mit "Plus-Differenz" ignorieren oder wegfiltern...
Hallo,

Du könntest ggf.
https://www.bplumhoff.de/sbmincash_de/
verwenden und mit der Anzahl die gewünschten Toleranzen steuern.

Viele Grüße,
Bernd
Hallo Bernd

Beispielmappe runtergeladen. Leider hängt sich Excel auf, sobald ich einen Wert verändere... Sad
Hab allerdings auch noch Excel 2010... Sad

Verzweifelte Zeiten erfordern verzeifelte Massnahmen:
Wer mein Problem löst, dessen/deren Namen bekommt mein Nächstgeborene(r)... 19 Angel 
Also halt... wenn auch noch meine Frau zustimmt! Angel
Habe mal etwas experimentiert:

Folgende Formeln habe ich ergänzt:
E4 =(C4="Ja")+(C5="Ja")
E6 =--(C6="Ja")
E14 =1,2
E15:E18 =1
E19 =0,8
E20 = 1,2
E21 =SUMMENPRODUKT($C$14:$C$20;$E$14:$E$20)
D22 =ABS(C9-D21)

Die Elemente mit 0,7m und 3m habe ich mal mit 1,2 gewichtet, so dass diese eher selten verwendet werden. Das mit 2,5m habe ich mit 0,8 gewichtet, so dass es häufiger vorkommt. Alle anderen mit 1.

Auch die Bedingungen der Innenecken und des Giebels habe ich berücksichtigt.

Die Solver-Einstellungen habe ich als Bild mal beigefügt. Die Datei habe ich auch mal beigefügt.

Den Solver muss man in den AddIns aktivieren:
https://www.heise.de/tipps-tricks/Solver...72186.html
Michael!!! Smile

Ok, dann wirds wohl ein "Michael" werden...

Perfekt! Vielen Dank für deine Mühen!

Gruss Christian