.| Autor | Beitrag |
|---|---|
|
000 24.04.2009, 20:31 Harry_H |
Mahlzeit zusammen, Mein Ziel ist es, dass Excel mir sämtliche Kombinationen der Summen von 25 Stücken Metall unterschiedlicher Länge seperat auflisten soll. Also zum Beispiel: Länge Stück1 + Länge Stück2 Und dies ganze sollte nach Möglichkeit hintereinander weg in eine Spalte, und jeweils eine Summe in der entsprechenden Zeile stehen. |
|
Profil || Suche |
|
001 24.04.2009, 23:20 Megge |
Falls das Muster aussieht aus Stück x + Stück y dann würd ich das in Matrixform aufschreiben |
|
Profil || Suche |
|
002 25.04.2009, 09:30 Harry_H |
Danke Megge für deine Hilfe, die Matrix bringt mich schon mal nen Stück weiter. Jetzt hab ich aber gleich das nächste Problem..., ich versuch nochmal das Problem als ganzes zu beschreiben.... Ziel ist die Optimierung eines Schnittproesses bei dem der zur Verfügung stehende Platz voll ausgereizt wird... Als Ausgangsmaterial hat mann die 25 Stück Metall unterschiedlicher Länge. Die Durchschnittslänge beträgt ca. 110cm. Die Maximale Beladelänge der Säge beträgt 200cm. Also ist ein einfaches addieren der Längen nicht möglich, da die Beladelänge überschritten wird. Daher müssen n-Metallstücken zerschnitten werden um k-Teillängen zu bekommen. Vorgabe ist, dass ein Metallstück nur einmal geteilt werden darf. Damit mann so auf die maximale Beladelänge kommt. Natürlich darf es auch keine Doppelvewendung der einzelnen Stücke/Teilstücke geben. Hoffe mann versteht was ich meine ;) -- |
|
Profil || Suche |
|
003 25.04.2009, 12:32 Dopefish |
Ich bin mir ja nicht sicher, aber ich glaube, dass Excel für so eine komplexe Aufgabe einfach nicht ausreicht. Wenn du die Lösungen unbedingt in Excel brauchst würde ich dir raten die Berechnungen per VBA durchzuführen. Dort würde ich eine Index-Variable mit den Längen der Ausgangsstücke füllen und von dieser (in einer Schleife) ein geeignetes Stück 'abschneiden' und in einer neuen Index-Variable speichern. Wenn ich das Problem richtig verstanden habe. --Resetting politics: |
|
Profil || Suche |
|
004 25.04.2009, 14:01 Agamemnon-Hellmapper |
Seh ich das richtig? Du hast da so ne Art Kofferpack-Problem, welches leider NP-hart ist? Bei 25 Stücken wärs mMn noch vertretbar, dir von Hand aus Megge's Matrix die Werte rauszusuchen die möglichst nah an, aber kleiner als 200cm sind und damit ein wenig zu probieren. Wenn dus aber unbedingt analytisch lösen willst/musst stellt sich als nächstes die Frage, ob eine "gute" Lösung reicht, oder ob es die optimale Lösung sein muss. Wenn die Stücke außerdem so beschaffen sind, dass grundsätzlich nur höchstens 2 auf die Säge passen, dann wird das Problem auch wieder einfacher. --Es gibt 2 Möglichkeiten, eine Kristallkugel zu benutzen: |
|
Profil || Suche |
|
005 25.04.2009, 14:21 Harry_H |
Ja es würde prinzipiell eine "gute" Lösung reichen, es muss analytisch gesehen nicht zu 100% perfekt sein. Und ja es können maximal nur 2 Stücken(nicht geschnitten) oder 1 Stück+Teilstück auf den Sagekopf gelegt werden. Hinzukommend muss auch gesagt werden das es natürlich nett wär wenn einem Excel im Ergbnis die zusammengestellte Länge sowie diedazugehörigen Stücke/Teilstücke mitauflistet. Weiterhin sollte vermieden werden das Stücke kleiner 4cm überbleiben..... -- |
|
Profil || Suche |
|
006 25.04.2009, 16:24 Andy |
Wenn du eine Matrix machst, wie schon von Megge vorgeschlagen, kannst du mit dem =Wenn Befehl alle Ergebnisse die Größer 200cm oder kleiner 4cm sind ausblenden lassen. [ThW-Code] [es gibt eine editierfunktion!(dp)][Eisregen] |
|
Profil || Suche |
|
007 25.04.2009, 21:02 Harry_H |
Ok, der Verschnitt beim sägen der Teilstücke ist vernachlässigbar und braucht nicht mit einbezogen werden. Aber der Wenn-Befehl bringt mich auch nicht wirklich weiter. Da ja wie bereits gesagt, die Metallstücke durchschnittlich 110cm lang sind. Und die Kombinationen daher fast alle größer werden als die erlaubten 200cm. Womit ich dann so gut wie keine Ergebnisse hätte. Deswegen sollen ja n-Matallstücke geteilt werden(in 2 Teilstücke), um diese Teilstücke optimal auf die restlichen Metallstücke zu verteilen, so der Platz voll ausgenutzt wird. -- |
|
Profil || Suche |
|
008 26.04.2009, 00:43 Agamemnon-Hellmapper |
Achso! Naja, dann nimm erstmal alle Kombinationen, die kleiner als 200cm sind. Es gibt 2 Möglichkeiten, eine Kristallkugel zu benutzen: |
|
Profil || Suche |
|
009 26.04.2009, 16:25 Harry_H |
Hallo Hellmapper, Ich hab derzeit folge Heranngehensweise, und eigentlich klemmt es nur noch an einen Punkt. Ich versuchs mal zu erklären: 1. Von den 25 Metallstücken wird jeweils ein X-Wert abgeschnitten. Womit mann insgesamt 50 Matallstücken erhält. 2. Diese 50 Metallstücken werden jetzt wie megge es beschrieben hat in einer Matrix addiert, so das man alle Varianten vorliegen hat. 3. Auf der nun geschaffenen Matrix wird KGrößte angewand, damit mann eine Sortierung aller Größen in einer Spalte hat. 4. Als nächstes wird mit Wenn() geprüft ob Werte ggf. größer als 200cm sind 5. Mit SVerweis Und QVerweis kann mann zu den Längen die Teilstücke bekommen 6. Zuletzt wird Solver (auf die Größe des Schnittes) angewand mit diversen Nebenbedingungen(Teilstücke und Stücke größer 4 cm, Nichtnegativitätsbestimmung, Anzahl der erlaubten Schnitte usw. usw.), womit mann ein fast richtiges ergebniss erhält. Das einzigste Problem ist, das es noch die Doppelverwendungen (zum Bsp.: Stück 1+Stück 20 und Stück 1+Stück 5)gibt, und ich hab keine Ahnung wie ich diese Beseitigen soll..., vieleicht hat da noch jemand ne idee. Thx im vorraus -- |
|
Profil || Suche |
|
010 28.04.2009, 12:29 default |
np vollständig, viel spass mit excel --Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst. |
|
Profil || Suche |
|
011 30.04.2009, 17:57 Tuboatse-Harald |
Man kann einfach mit Excel alle 2^n Instanzen des NP-Vollstaendigen Problems enumerieren (an dem kleinen Punkt unten rechts am Rahmen ziehen, wenn mehrere Beispiel-Zellen markiert sind) und dann mit VBA die richtige auswaehlen, ist alles kein Problem. :) --Twisted and Brainfire. |
|
Profil || Suche |

