Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

EXCEL 2016 Optimierungsprogramm
#1
Wink 
Hallo zusammen, :)

ich benötige ein Optimierungsprogramm,

Beispiel:
ich habe Profile mit den Längen:
A=18  (1 Stück)
B=16  (1 Stück)
C=10  (2 Stück)
D=15  (2 Stück)
E=3    (4 Stück)
F=8    (1 Stück)

Ich kann in Längen von 10, 15 und 20 bestellen

Nun Möchte ich dass mir das ausrechnet wie viele Stangen von welcher Länge ich bestellen muss.

Z.B.
20 : 2 Stück -> A + BE zusammen
15 : 2 Stück -> D
10 : 4 Stück -> 2x C (da hier kein Ausschuss ist) + F + 3x E

Es sollte so wenig wie möglich Ausschuss geben.


Kann mir hier jemand helfen?


ganz liebe Grüße,
Linda
Antworten Top
#2
Hallo,

10% Verschnitt? Oder ist das irrelevant?
Gruß,

Luffy  :100:

Personaltrainer - Ernährungsberater 
[-] Folgende(r) 1 Nutzer sagt Danke an Luffy für diesen Beitrag:
  • LindaB
Antworten Top
#3
Hi,

Hab mal was gebastelt:


.xlsx   Excel Optimierungsprogramm.xlsx (Größe: 10,36 KB / Downloads: 56)
Gruß,

Luffy  :100:

Personaltrainer - Ernährungsberater 
[-] Folgende(r) 1 Nutzer sagt Danke an Luffy für diesen Beitrag:
  • LindaB
Antworten Top
#4
(08.09.2016, 09:33)Luffy schrieb: Hallo,

10% Verschnitt? Oder ist das irrelevant?

hay=)

Ist in dem sinne egal, da könnte man die Schnittlängen ja vorher schon aufrunden

LG,
Antworten Top
#5
Hallo Linda,

ich nehme an, dass du mit Luffys Lösung nicht ganz zufrieden bist, da hier nicht eine Optimale Verteilung durchgeführt wird, sondern "nur" berechnet wird wieviel Stangen ich kaufen muss um die Gesamtlänge abzudecken. Daher auch die Frage nach dem Verschnitt.


Ich habe die Frage nach einer Optimalen Verteilung von Zuschnitten in diesem Forum schon mehrfach gehört (erst gestern).

Zu meiner ersten Überlegung eine Lösung mit dem Excel-Solver zu ermitteln habe ich keine Idee wie das Modell aussehen könnte.

Daher habe ich vorhin ein kleines Programm geschrieben, dass iterativ ein optimales Ergebnis ermittelt.
In deinem Beispiel könnte man die vier Stangen a 10cm auch durch zwei Stangen a 20cm ersetzen.

Aber bei dem iterativen Verfahren kann die Rechenzeit exponentiell mit der Anzahl der Zuschnitte steigen. Das bedeutet, dass sich bei jedem zusätzlichen Zuschnitt die Rechenzeit mehr als verdoppeln kann.

Für welche "maximale" Anzahl an Zuschnitten würdest du denn eine Optimierung wünschen.  Wenn die Zahl zu hoch ist, brauchst du dich erst gar nicht in mein Lösungsversuch einzudenken.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#6
Hallo Ego,

Ja leider=/

ja es können schon bis zu 100-200 verschiedene Schnitte sein.

Die sind vom Maß selbst auch total verschieden also eine einfache Zahl ist eher selten...

Es sollte von den angegebenen Schnitten, jene zusammensuchen die gemeinsam dann am wenigsten Verschnitt haben.

Man sollte eventuell auch auswählen können welche Stangenlänge verwendet werden darf (z.B. bei einer Rechnung 10, 15, 20, 25, 30... bei einer anderen Rechnung dann nur 10, 20,30.... oder sogar nur eine.

Vielleicht dass man den Verschnitt auch prozentuell anpassen könnte das wäre dann Optimal.


(PS: Meine Zahlen sind dann so ca 1456, 3456, 5928... also "große" ungerundete Zahlen)


wäre echt super wenn mir hier jemand eine Lösung findet :):)

LG,
Linda
Antworten Top
#7
Der Excel Solver unterstüzt maximal 200 Variablen somit glaube ich nicht das das Probelem mit dem Excel Solver zu lösen ist. Zur Rechenzeit ist zu sagen das es nach ersten nachdenken zu den NP vollständigen Problemen gehört, und somit eine exponentieller Anstieg an Rechenzeit nicht vermeidbar ist. Ich würde vorschlagen das ganze in C zu Programmieren oder einen spezielles Solver Programm zu verwenden.
Antworten Top
#8
Hallo Linda,

für die Berechnung einer optimalen Verteilung von Stücken in dreistelliger Anzahl macht mein itteratives Programm keinen Sinn (da zu rechenaufwendig).
Da sollte man lieber Luffys Vorschlag nehmen.


Mein Programm ist eher für eine zweistellige Anzahl von Stücken und da auch nur in den höheren Zahlen wenn durch möglichst wenig unterschiedliche Stangen- und  Stücklängen der Verzweigungsbaum sehr stark begrenzt werden kann.

Eine Berücksichtigung von Verschnitt ist meines Erachtens in einer Optimierung nicht sinnvoll. Wenn man die Stangen nicht jederzeit nachkaufen kann, kann man einen Verschnitt ja nach der Optimierung addieren.

Eine Berücksichtigung der Schnittbreite ist sinvoll, da man aus einer 40cm Stange nicht vier 10cm Stücke erhält. Das kann aber auch durch addieren der Schnittbreite auf Stangen- und Stücklängen berücksichtigt werden.

Vielleicht kannst du ja einmal ausprobieren ob eine Optimierung für dich für kleiner Projekte eine Hilfe sein kann.
Oder du kommst auf eine Idee wie man grössere Projekte in kleine optimierbare Teilprojekte aufteilen kann.

Daher in der Anlage das Programm.

Minimiert wird der Preis der angschnittenen Stangen.

Um ein Gefühl für die Dauer der Optimierung zu bekommen solltest du beim Test mit kleineren Stückzahlen und wenig unterschiedlichen Längen beginnen. Es kann auch vorkommen, dass nach einer Reduzierung der Stückzahlen die Berechnung länger dauert.

In meinem Programm habe ich bisher nur den Iterationskern geschrieben und mir noch keine Gedanken über Vernünftige Ein- und Ausgaben gemacht.

Hier einige Erklärungen:

In dem Bereich B6:F14 werden die benötigten Stücke und die zu berücksichtigenden Stangen eingetragen. Eine höher Anzahl von Stangen gleicher Länge hat meines Erachtens nur einen kleinen Einfluss auf die Dauer der Berechnung.

In dem Bereich unter B17:F17 wird das Ergebnis der Berechnung eingetragen.
Wichtig sind die Spalten E und F. Hier wird angezeigt aus welcher Stange das Stück geschnitten wird. Da das Progamm noch nichts anzeigt wenn keine Lösung gefunden werden kann, solltest du diesen Bereich vor jeder Berechnung löschen.

Am Ende der Berechnung wird in einer MessageBox der Zeitraum zwischen Starrt und Ende der Berechnung ausgegeben.


Zur Information:
Die Berechnung der aktuell eingestellten Aufgabe benötigt auf meinem Rechner 11 Sekunden.


Angehängte Dateien
.xlsm   Optimaler Zuschnitt.xlsm (Größe: 28,03 KB / Downloads: 92)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste