Das beste Bohrergebnis finden

HappySteffi

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich bin Steffi aus Dortmund und studiere Automatisierungstechnik.
Ich bin nicht sicher, ob mein Thema hier bei IEC61131 genau richtig ist, da es sowohl Mathe enthält, als auch IEC61131.
Aber ich versuche meine Aufgabe auf zwei Teile aufzuteilen. Wobei der erste und wichtigste Teil eher der mathematische Teil ist.

Erstmal worum geht es? Es geht um einen Bohrautomaten wie sie z.b. in der Holzindistrie benutzt werden. Ich habe dazu mal ein Bild hochgeladen.
Der Automat hat vier s.g. Supporte, das sind Träger die an einem Motor (Achse) hängen und positiv oder negativ positionieren können. In unserem Beispiel fahren sie auf der X-Achse.
Die Supporte sind mit X1, X2, X3 und X4 benamt.
Auf jedem Support sitzen jeweils zwei Bohraggregate die sich jeweils in Richtung der Y-Achse bewegen können. Auch diese Aggregate habe ich benamt. Es gibt natürlich normalerweise auch eine Z-Richtung, Z- wäre genau nach unten in die Tischplatte. Aber um es einfacher zu machen, lassen wir die Z-Richtung weg.
Jedes Bohraggregat hat 4 Bohrer, welche im Abstand von 32mm zueinander stehen, also Bohrermitte zu Bohrermitte. Diese Bohrer sind auch benamt (auch wenn man es im Bild nicht sieht).
T1, T2, T3 und T4. Sagen wir T1 ist immer jeweilige Bohrer unten links im Aggregat und stellt den Bezugspunkt dar. D.h. wenn T1 von Aggregat Y1 auf der Tischplatte auf Position X=0 und Y=0 steht, so ist die Position von Y1 tatsächlich X=0 und Y=0. Steht dagegen Bohrer T2 auf der linken und unteren Ecke des Tisches (Tischnullpunkt), so wäre die Position X=-32 und Y=0.
Sagen wir mal die meisten Bohrdurchmesser sind unterschiedlich, aber manche wiederholen sich auch. und um es zu vereinfachen, sagen wir mal, dass alle Löcher gleich tief sein müssen und alle Bohrer gleich lang sind.

Nun mal ein einfaches Beispiel:
In die Tischplatte sollen 10, 8mm Löcher gebohrt werden und zwar alle im Abstand von 32mm.
Stellen wir uns vor, dass wir auf Bohraggregat Y2 genau 2 Bohrer haben die auch im 32mm Abstand liegen, aber auf keinem anderen Aggregat befindet sich ein 8mm Bohrer. Darüber hinaus kann Aggregat Y2 auch alle Löcher erreichen und kein anderer Support und kein anderes Aggregat begrenzt seinen Weg zu den Löchern(Beziehungsweise Bohrpositionen, es sind ja noch keine Löcher :)).
Es wäre nun natürlich das beste Ergebnis, wenn wir 5 Bohrtakte brauchen und jedes mal mit beiden Bohrern gleichzeitig 2 Löcher bohren. Schlecht wäre es wenn wir 10 Takte brauchen und jedes Loch einzeln bohren.
Darüber hinaus sollten wir von Bohrloch zu Bohrloch immer in X-Richtung auf oder absteigend takten und nicht hin und her.

Ich hoffe dieses simple Beispiel veranschaulicht gut, was hier Optimierung bedeutet. Das Ziel sollte es sein so wenig Bohrtakte wie möglich zu haben und so wenig Verfahrweg.

Nun stellen wir uns das Ganze zig mal komplexer vor. Die Tischplatte hat mindestens 100 Löcher (tschuldigung: Bohrpositionen), viele unterschiedliche Durchmesser und nicht alle haben einen 32mm Abstand oder ein vielfaches davon. Darüber hinaus muss die Bohreranzahl pro Aggregat nicht nur bei 4 liegen. In der Realität hat ein Aggregat angeblich oft locker 20 Bohrer oder mehr.
Es fällt mir schwer einen Algorithmus zu finden, um das beste Bohrergebnis zu errechnen.
Vielleicht muss ich noch sagen, dass wir auch darauf achten sollen einen schnellen Algorithmus zu finden.
Deshalb glaube ich, dass folgender Ansatz von mir schlecht wäre:
Ich teile die Länge und Breite des Tisches bzw. die Verfahrwege der Achsen auf 1/10 mm auf und lasse Positionierschleifen so durchlaufen, dass ich irgendwann jede erdenkliche Position mit allen Supporten und Achsen angefahren habe und jedes mal rechne, welche Löcher ich nun bohren könnte.
Mein Gefühl sagt mir, dass die Berechnung in der SPS oder auch woanders viele Sekunden dauern würde. Aber es soll in ca. 1-5 Sekunden ein gut brauchbares Ergebnis vorliegen.
Mir fehlt ein guter Ansatz.
Die nächste Frage, wäre die Umsetzung der Idee in der SPS, aber ich hoffe dass ich das selbst hinbekomme und deshalb lassen wir hier die Frage besser erstmal weg.
Ich bin schon glücklich, wenn überhaupt jemand bis zum Ende gelesen hat :).

Also, ich erwarte nicht, dass man mir hier alles schön vorrechnet, das muss ich ja selbst können und lernen.
Aber eine gute Erklärung der jeweiligen Idee oder des Ansatzes einer Idee wäre bestimmt schon hilfreich und bringt mich einfach auf neue Möglichkeiten.
Irgendwie denke ich grad zu eingeschränkt.

Schonmal vielen Dank :)

HappySteffi
 

Anhänge

  • Bohrautomat.jpg
    Bohrautomat.jpg
    116,8 KB · Aufrufe: 109
Hallo Steffi,
ich habe den Beitrag bis unten gelesen :ROFLMAO: ... mußte aber die eine oder andere Passage vorsichtshalber 2mal lesen. Ich mir deinen Bohrautomaten in etwa vorstellen ...
Ich denke mal, dass du prinzipiell dies auch in einer SPS durchrechnen kannst - ich würde im Augenblick aber keine Vermutung über die mögliche Rechendauer anstellen. Das ist aber m.E. auch gar nicht der Punkt. Nach meiner Meinung müßte deine Berechnung mit rekursiven Aufrufen der Grundberechnung die besten Resultate bringen, da du hier ja immer ab dem jeweiligen Punkt weiterrechnen könntest. Mit einer derartigen Berechnung tu sich eine SPS (ganz gleich welche) schwer und wenn deine Berechnung nun noch eine Liste als Rückgabewert hat dann klappt das gar nicht mehr. Ich würde hier also auf einen PC ausweichen und ein Entwicklungssystem, dass dir hier mehr Freiheitsgrade läßt (z.B. etwas auf .Net-Basis = VB.Net oder C#.Net). Der SPS übergibst du dann am Ende nur noch das Resultat (also die fertige Liste mit den Koordinaten und den zu verwendenden Werkzeugen). Jedenfalls bin ich schon der Meinung, das man am Ende recht flott zu dem gewünschten Ergebnis kommen kann. Für den Einstieg (um also überhaupt erstmal ein Ergebnis zu erhalten) wäre mir die Berechnungszeit völlig egal - im Grunde nach dem Motto : zuerst ein Ergebnis und dann den Algorithmus (zeit-)optimieren.

Soviel dazu - erstmal so ganz allgemein ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich bin Steffi aus Dortmund und studiere Automatisierungstechnik.
Ich bin nicht sicher, ob mein Thema hier bei IEC61131 genau richtig ist, da es sowohl Mathe enthält, als auch IEC61131.
Aber ich versuche meine Aufgabe auf zwei Teile aufzuteilen. Wobei der erste und wichtigste Teil eher der mathematische Teil ist.

Erstmal worum geht es? Es geht um einen Bohrautomaten wie sie z.b. in der Holzindistrie benutzt werden. Ich habe dazu mal ein Bild hochgeladen.
Der Automat hat vier s.g. Supporte, das sind Träger die an einem Motor (Achse) hängen und positiv oder negativ positionieren können. In unserem Beispiel fahren sie auf der X-Achse.
Die Supporte sind mit X1, X2, X3 und X4 benamt.
Auf jedem Support sitzen jeweils zwei Bohraggregate die sich jeweils in Richtung der Y-Achse bewegen können. Auch diese Aggregate habe ich benamt. Es gibt natürlich normalerweise auch eine Z-Richtung, Z- wäre genau nach unten in die Tischplatte. Aber um es einfacher zu machen, lassen wir die Z-Richtung weg.
Jedes Bohraggregat hat 4 Bohrer, welche im Abstand von 32mm zueinander stehen, also Bohrermitte zu Bohrermitte. Diese Bohrer sind auch benamt (auch wenn man es im Bild nicht sieht).
T1, T2, T3 und T4. Sagen wir T1 ist immer jeweilige Bohrer unten links im Aggregat und stellt den Bezugspunkt dar. D.h. wenn T1 von Aggregat Y1 auf der Tischplatte auf Position X=0 und Y=0 steht, so ist die Position von Y1 tatsächlich X=0 und Y=0. Steht dagegen Bohrer T2 auf der linken und unteren Ecke des Tisches (Tischnullpunkt), so wäre die Position X=-32 und Y=0.
Sagen wir mal die meisten Bohrdurchmesser sind unterschiedlich, aber manche wiederholen sich auch. und um es zu vereinfachen, sagen wir mal, dass alle Löcher gleich tief sein müssen und alle Bohrer gleich lang sind.

Nun mal ein einfaches Beispiel:
In die Tischplatte sollen 10, 8mm Löcher gebohrt werden und zwar alle im Abstand von 32mm.
Stellen wir uns vor, dass wir auf Bohraggregat Y2 genau 2 Bohrer haben die auch im 32mm Abstand liegen, aber auf keinem anderen Aggregat befindet sich ein 8mm Bohrer. Darüber hinaus kann Aggregat Y2 auch alle Löcher erreichen und kein anderer Support und kein anderes Aggregat begrenzt seinen Weg zu den Löchern(Beziehungsweise Bohrpositionen, es sind ja noch keine Löcher :)).
Es wäre nun natürlich das beste Ergebnis, wenn wir 5 Bohrtakte brauchen und jedes mal mit beiden Bohrern gleichzeitig 2 Löcher bohren. Schlecht wäre es wenn wir 10 Takte brauchen und jedes Loch einzeln bohren.
Darüber hinaus sollten wir von Bohrloch zu Bohrloch immer in X-Richtung auf oder absteigend takten und nicht hin und her.

Ich hoffe dieses simple Beispiel veranschaulicht gut, was hier Optimierung bedeutet. Das Ziel sollte es sein so wenig Bohrtakte wie möglich zu haben und so wenig Verfahrweg.

Nun stellen wir uns das Ganze zig mal komplexer vor. Die Tischplatte hat mindestens 100 Löcher (tschuldigung: Bohrpositionen), viele unterschiedliche Durchmesser und nicht alle haben einen 32mm Abstand oder ein vielfaches davon. Darüber hinaus muss die Bohreranzahl pro Aggregat nicht nur bei 4 liegen. In der Realität hat ein Aggregat angeblich oft locker 20 Bohrer oder mehr.
Es fällt mir schwer einen Algorithmus zu finden, um das beste Bohrergebnis zu errechnen.
Vielleicht muss ich noch sagen, dass wir auch darauf achten sollen einen schnellen Algorithmus zu finden.
Deshalb glaube ich, dass folgender Ansatz von mir schlecht wäre:
Ich teile die Länge und Breite des Tisches bzw. die Verfahrwege der Achsen auf 1/10 mm auf und lasse Positionierschleifen so durchlaufen, dass ich irgendwann jede erdenkliche Position mit allen Supporten und Achsen angefahren habe und jedes mal rechne, welche Löcher ich nun bohren könnte.
Mein Gefühl sagt mir, dass die Berechnung in der SPS oder auch woanders viele Sekunden dauern würde. Aber es soll in ca. 1-5 Sekunden ein gut brauchbares Ergebnis vorliegen.
Mir fehlt ein guter Ansatz.
Die nächste Frage, wäre die Umsetzung der Idee in der SPS, aber ich hoffe dass ich das selbst hinbekomme und deshalb lassen wir hier die Frage besser erstmal weg.
Ich bin schon glücklich, wenn überhaupt jemand bis zum Ende gelesen hat :).

Also, ich erwarte nicht, dass man mir hier alles schön vorrechnet, das muss ich ja selbst können und lernen.
Aber eine gute Erklärung der jeweiligen Idee oder des Ansatzes einer Idee wäre bestimmt schon hilfreich und bringt mich einfach auf neue Möglichkeiten.
Irgendwie denke ich grad zu eingeschränkt.

Schonmal vielen Dank :)

HappySteffi
Hi Steffi,

Schöne ausführliche Erklärung, ich hab es jetzt zwei Mal durchgelesen und nicht wirklich herausgefunden was du bekommst und was du genau daraus machen musst.


Gruß

Mavorkit

Gesendet von meinem SM-G389F mit Tapatalk
 
Habe hier selten eine Aufgabenstellung gesehen, die so ausführlich geraten wäre.
Dennoch ist so ziemlich alles unklar geblieben ;o(

Auf jedem Support sitzen jeweils zwei Bohraggregate die sich jeweils in Richtung der Y-Achse bewegen können.
- Unabhängig von einander?
- Können die beiden Aggregate eines Supports unabhängig von einander in Z-Richtung positioniert werden?

Jedes Bohraggregat hat 4 Bohrer, welche im Abstand von 32mm zueinander stehen, also Bohrermitte zu Bohrermitte.
- Vermutlich können die 4 Bohrer nur gleichzeitig in Z-Richtung bewegt werden?
- Sind immer alle 4 Bohrer bestückt ("anwesend")? (anscheinend nicht: "Stellen wir uns vor, dass wir auf Bohraggregat Y2 genau 2 Bohrer haben")

Sagen wir mal die meisten Bohrdurchmesser sind unterschiedlich.
- ???
- Ist es Teil der Aufgabe, passend zum gewünschten Bohrbild, die Bestückung der Aggregate mit den nötigen Bohrern festzulegen?
(Welche der 4 Positionen eines Aggregates überhaupt und wenn ja, mit welchen Durchmesser)? Mit Sicherheit!

In die Tischplatte sollen 10, 8mm Löcher gebohrt werden und zwar alle im Abstand von 32mm.
- "10, 8mm Löcher" bedeutet vermutlich 8 mm Löcher und 10 mm Löcher?
- 32 mm Abstand in X- und in Y-Richtung?

Darüber hinaus sollten wir von Bohrloch zu Bohrloch immer in X-Richtung auf- oder absteigend takten und nicht hin und her.
- Ist aber in Y-Richtung notwendigerweise erlaubt?

... so wenig Bohrtakte wie möglich zu haben ...
- ein und dasselbe Bohrloch darf also generell mehrfach gebohrt werden, solange sein SollDurchmesser dadurch nicht überschritten wird?

Nun stellen wir uns das Ganze zig mal komplexer vor.
- Finde die Aufgabe bereits mehr als komplex, zumal "das Bohrbild" des Ergebnisses bis hierher noch total unbekannt ist.
"Das Bohrbild" schreibe ich hier verharmlosenderweise stellvertretend für all die unzählig vielen denkbaren Varianten (Positionen und Durchmesser!).

Viele unterschiedliche Durchmesser und nicht alle haben einen 32mm Abstand oder ein vielfaches davon.
- Also ist von vielen, gegeneinander (um 0 bis 32 mm?) verschoben 32mm-Rastern auszugehen?

In der Realität hat ein Aggregat angeblich oft locker 20 Bohrer oder mehr.
- ???
- Was heisst "hat"? Hat zur Auswahl oder hat gleichzeitig im Einsatz? Letzteres widerspräche allem bisher gesagten! Jedes Aggregat hat ein eigenes WZ-Magazin und einen eigenen WZ-Wechsler an Bord?

Übersichtlich wird das ganze erst, wenn man sich auf 4 Durchmesser beschränkt und pro Support genau 1 dieser 4 Bohrer bestückt!

Die Aufgabe ist mir leider noch in zuvielen Details sowas von unklar, dass ich nicht einmal anfangen kann, mir darüber den Kopf zu zermartern.
So, wie ich sie z.Z. (eigentlich noch nicht) verstehe, hat sie Potenzial für mehrere DoktorArbeiten.

Gruss, Heinileini
 
Zuletzt bearbeitet:
Darf ich noch einmal mit bohrenden Fragen löchern?

- Warum hat jedes Aggregat 4 Spindeln/WZ-Aufnahmen? Ich vermute, dass nur in aller seltensten Fällen 3 oder sogar alle 4 bestückt sein dürften. RegelFall vermutlich 1 oder 2 Bohrer pro Aggregat in Aktion.

- Sind alle 4 Spindeln/WZ-Aufnahmen eines Aggregates gleich oder haben sie unterschiedliche Ausführungen oder unterschiedliche Drehzahlen?
D.h., kann jeder der "locker mehr als 20 Bohrer" in jede der Spindeln T1 ... T4 aufgenommen werden?

- Sind alle 8 Aggregate unter einander gleich?

- Kann pro Loch mehr als 1 Bohrer vonnöten sein? Z.B. mit kleinem Durchmesser vorbohren, damit anschliessend mit einem TopfBohrer der "eigentliche" BohrVorgang ausgeführt werden kann?

- Wann erfolgen WerkzeugWechsel? Wohl spätestens bevor die Bearbeitung eines Teils begonnen wird und frühestens wieder, nachdem es zu Ende bearbeitet ist.

- Wieviele gleiche Teile werden nach einander (oder gleichzeitig) gefertigt?

- Wieviele verschiedene Teile werden gefertigt?

- Wieviel Zeit bietet die Bearbeitung eines Teils, um "nebenbei" die Optimierung für die Bearbeitung des nächsten Teils auszutüfteln?

- Sind nicht von einem Teil viele Exemplare zu bearbeiten, so dass eine einmal ermittelte Optimierung vielfach abgerufen/eingesetzt werden kann bzw., dass die Optimierung deutlich länger dauern darf, als für die Bearbeitung eines Teils benötigt wird?

- Könnte es sein, dass eine etwas universeller einsetzbare Bestückung mit weniger Bohrern effektiver ist, wenn sie WZ-Wechsel erspart? Wie lange dauern WZ-Wechsel?

- Muss die Optimierung auch berücksichtigen, welchen Einfluss die Reihenfolge hat, in der verschiedene Teile nach einander bearbeitet werden?

- Sind WZ-Wechsel nicht sogar erwünscht, damit verschlissene Bohrer durch "frische" Exemplare ersetzt werden können?

Gruss, Heinileini
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wow, so viele Antworten J.
Dafür schon mal vielen Dank. Wie Ihr selbst gemerkt habt, gibt es in der Realität noch viel mehr Fragen und Bedingungen, die man sich stellen muss. Aber dann glaube ich wird es hier zu umfangreich.
Ich habe versucht die Dinge wegzulassen, die für die Herangehensweise an dieses Problem am Anfang nicht so wichtig sind. Bestimmt habe ich dennoch wichtige Dinge vergessen. Ich werde nun erstmal auf Eure Fragen eingehen:
Auf jedem Support sitzen jeweils zwei Bohraggregate die sich jeweils in Richtung der Y-Achse bewegen können.
- Unabhängig von einander?
- Können die beiden Aggregate eines Supports unabhängig von einander in Z-Richtung positioniert werden?

In Y-Richtung sind die Aggregate unabhängig, in Z sind sie es nicht. Sind hängen auf einer Z-Achse.
Jedes Bohraggregat hat 4 Bohrer, welche im Abstand von 32mm zueinander stehen, also Bohrermitte zu Bohrermitte.
- Vermutlich können die 4 Bohrer nur gleichzeitig in Z-Richtung bewegt werden?
- Sind immer alle 4 Bohrer bestückt ("anwesend")? (anscheinend nicht: "Stellen wir uns vor, dass wir auf Bohraggregat Y2 genau 2 Bohrer haben")
Die Bohrer haben nur eine Z-Achse, doch jeder einzelne Bohrer kann pneumatisch einzeln ausgesteuert werden.
Es sind in der Regel alle Bohrer bestückt. Ich weiß in meinem Beispiel war es nicht so. Das Beispiel sollte durch seine Einfachheit die Lösung mit den 5 Takten bieten, ohne dass, man groß drüber nachdenken muss. Ich habe es aber nicht gut genug erklärt.
Unsere eigentliche Aufgabe bezieht sich nicht unbedingt auf 2, 4 und 20 Supporte und auch nicht auf 2 oder 8 Aggregate oder 4 Spindeln pro Aggregat.
Die Grundlage der Berechnung sollte später sowohl auf eine Kleine Bohranlage (Z.B. 2 Supporte und jeweils ein Aggregat) und auf große Bohranlagen (z.b. 4 Supporte und jeweils 2 Aggregate) anwendbar sein.

Sagen wir mal die meisten Bohrdurchmesser sind unterschiedlich.
- ???
- Ist es Teil der Aufgabe, passend zum gewünschten Bohrbild, die Bestückung der Aggregate mit den nötigen Bohrern festzulegen?
(Welche der 4 Positionen eines Aggregates überhaupt und wenn ja, mit welchen Durchmesser)?
Mit Sicherheit!
Nein, man muss nicht die Bestückung festlegen. Der Kunde hat die Getriebe bestückt. Wir können nur sicher sein, dass zu jedem gewünschten Bohrloch mindestens einmal der passende Bohrer in der Bohranlage existiert.

In die Tischplatte sollen 10, 8mm Löcher gebohrt werden und zwar alle im Abstand von 32mm.
- "10, 8mm Löcher" bedeutet vermutlich 8 mm Löcher und 10 mm Löcher?
- 32 mm Abstand in X- und in Y-Richtung?

Es sollte heißen 10 Löcher in X-Richtung und jedes Loch hat einen Abstand von 32mm.
Darüber hinaus sollten wir von Bohrloch zu Bohrloch immer in X-Richtung auf- oder absteigend takten und nicht hin und her.
- Ist aber in Y-Richtung notwendigerweise erlaubt?
Eine gute Frage. Erlaubt ist erstmal alles, aber es wäre natürlich unschön (es dauert lang), wenn die Aggregate in Y zig mal hin und her fahren, nur weil die Löcher in X minimal auseinander liegen.
Ich bin nicht sicher, aber ich glaube man muss die Aufgabe in zwei Schritte aufteilen. Einmal muss man das beste Taktergebnis finden und erst im Anschluss eine Verfahrwegsoptimierung machen!? Was meint Ihr dazu?
... so wenig Bohrtakte wie möglich zu haben ...
- ein und dasselbe Bohrloch darf also generell mehrfach gebohrt werden, solange sein SollDurchmesser dadurch nicht überschritten wird?
Nein, ein Bohrloch darf nicht mehrmals gebohrt werden.

Viele unterschiedliche Durchmesser und nicht alle haben einen 32mm Abstand oder ein vielfaches davon.
- Also ist von vielen, gegeneinander (um 0 bis 32 mm?) verschoben 32mm-Rastern auszugehen?
Auf dem Werkstück (Brett) können die Bohrpositionen überall sein. Ohne jedes festgelegte Raster. Lediglich die Spindeln im Bohrgetriebe haben feste Raster. Das Raster 32mm wurde gewählt, da es bei den Löchern in der Holzindustie oft vorkommt, also 32 oder 64 oder 96. Aber man kann nun nicht davon ausgehen, dass alle Löcher im Werkstück diesem Raster folgen.
In der Realität hat ein Aggregat angeblich oft locker 20 Bohrer oder mehr.
- ???

- Was heisst "hat"? Hat zur Auswahl oder hat gleichzeitig im Einsatz? Letzteres widerspräche allem bisher gesagten! Jedes Aggregat hat ein eigenes WZ-Magazin und einen eigenen WZ-Wechsler an Bord?
Wir gehen bei der Aufgabe nicht von einem Werkzeugwechsel vor. Die Bohrgetriebsbestückung ist fix und auch die Anzahl der Bohrer. Ich wollte damit nur sagen, dass es dem Algorithmus egal sein soll, ob es 4 Spindeln sind oder 400. Ich muss ihn trotzdem verwenden können.

- Warum hat jedes Aggregat 4 Spindeln/WZ-Aufnahmen? Ich vermute, dass nur in aller seltensten Fällen 3 oder sogar alle 4 bestückt sein dürften. RegelFall vermutlich 1 oder 2 Bohrer pro Aggregat in Aktion.
Angeblich ist der Regelfall, dass mehr als 4 Spindeln pro Aggregat vorhanden sind. In der Möbelindustrie ist es angeblich so, dass Schränke an bestimmten Stellen mehrere 8mm Löcher in dem 32mm Raster bekommen. So wäre es logisch, wenn man im Bohrgetriebe mehrere 8mm Bohrer im 32er Raster hat um möglichst viele Löcher in einem Takt bohren zu können.
- Sind alle 8 Aggregate unter einander gleich?
Kann, aber muss nicht. Der Algorithmus muss mit beiden Dingen klarkommen. Ich denke man geht am besten davon aus, dass sie ungleich sind. So wird der Algorithmus auch damit klarkommen, wenn sie dann mal doch gleich sind.

- Kann pro Loch mehr als 1 Bohrer vonnöten sein? Z.B. mit kleinem Durchmesser vorbohren, damit anschliessend mit einem TopfBohrer der "eigentliche" BohrVorgang ausgeführt werden kann?
Super Frage! Hatte an sowas noch gar nicht gedacht. J
Somit müsste man den Bohrpositionen auch Prioritäten geben können, um sicher zu gehen, dass der richtige Bohrer zuerst bohrt.
- Wann erfolgen WerkzeugWechsel? Wohl spätestens bevor die Bearbeitung eines Teils begonnen wird und frühestens wieder, nachdem es zu Ende bearbeitet ist.
In unserer Aufgabe gibt es keinen Werkzeugwechsel.
- Wieviele gleiche Teile werden nach einander (oder gleichzeitig) gefertigt?

Ein Werkstück gleichzeitig. Nacheinander natürlich sehr, sehr viele. Aber der Algorithmus wird ja immer wieder neu an gestartet.

- Wieviele verschiedene Teile werden gefertigt?
Jedes Teil ist vermutlich anders

- Wieviel Zeit bietet die Bearbeitung eines Teils, um "nebenbei" die Optimierung für die Bearbeitung des nächsten Teils auszutüfteln?
Ich bin der Meinung von Larry Laffer, ich sollte die Rechnerei.Net überlassen und die SPS bekommt die fertigen Ergebnisse und legt los.
Die Rechnerei sollte in der Regel weit weniger als 5 Sekunden dauern.
Der Algorithmus muss nicht unbedingt nach 2 Sekunden das beste Ergebnis liefern, aber eines, das nahe dran ist.

- Sind nicht von einem Teil viele Exemplare zu bearbeiten, so dass eine einmal ermittelte Optimierung vielfach abgerufen/eingesetzt werden kann bzw., dass die Optimierung deutlich länger dauern darf, als für die Bearbeitung eines Teils benötigt wird?
Den Fall wird es in der Praxis sicher auch geben, aber in unserer Aufgabe ist es nicht so.
- Könnte es sein, dass eine etwas universeller einsetzbare Bestückung mit weniger Bohrern effektiver ist, wenn sie WZ-Wechsel erspart? Wie lange dauern WZ-Wechsel?
Das mag sein, aber ich hoffe ich habe nun den grundsätzlichen Aufbau der Bohranlage so erklärt, dass man es verstehen konnte?!
- Muss die Optimierung auch berücksichtigen, welchen Einfluss die Reihenfolge hat, in der verschiedene Teile nach einander bearbeitet werden?
Nein. Wir beachten nur das gegenwärtige Werkstück.

- Sind WZ-Wechsel nicht sogar erwünscht, damit verschlissene Bohrer durch "frische" Exemplare ersetzt werden können?
In meiner Aufgabe spielen Werkzeugwechsel keine Rolle. Wir haben eine feste Bestückung.
*********************************************************************************
So, ich hoffe ich habe keine Frage von Euch vergessen. Freu mich sehr, dass Ihr Sachen hinterfragt. Das hilft mir sehr.
Das Ganze kann ja später nochmal erweitert werden.
Es gibt ja noch mehr Bedingungen, um in einem Takt gleichtzeitig mit anderen Bohrern zu bohren.
Vielleicht muss das Bohrgetriebe bei größeren Durchmessern, langsamer drehen als bei kleineren Durchmessern, usw.
Für mich sind das alles Randbedingungen die erfüllt sein müssen. Diese Randbedingungen muss man später erweitern können, ohne damit seinen Algorithmus wieder über den Haufen werfen zu müssen.
Ich finde nur einfach nicht den richtigen Anfang bei der Berechnung des bestmöglichen Ergebnisses.
Habt Ihr da eine Idee?
LG
 
Hallo Steffi,
ich würde da generell wie folgt vorgehen :
- du bekommst ein Bohrbild vorgegeben UND eine Bestückungsliste deines Automaten vorgegeben (also welche Achse hat wo welchen Bohrer)
- in dem Bohrbild sind jetzt unterschiedliche Lochdurchmesser und unterschiedliche Bohrlochtiefen
- entsprechend dem würde ich zunächst Teillisten bilden - also für jeden Durchmesser+Tiefe eine eigene Positionen-Liste
- für jede der Positionen-Listen würde ich nun schauen, welche Achse mit welchem Bohrer das überhaupt machen kann
- gibt es für einen Listen-Eintrag nur eine mögliche Achse+Bohrer so ist die Entscheidung einfach
- gibt es für einen Listen-Eintrag mehrere mögliche Achsen+Bohrer so würde ich als nächstes Entscheidungs-Kriterium die Gleichzeitigkeit mit einbeziehen (Beispiel Achse Links und Achse Rechts könnten gleichzeitig arbeiten ohne sich (und den anderen Achsen) dabei in die Quere zu kommen.

Ganz generell würde ich aber erstmal mit nur einer X-, einer Y- und einer Z-Achse und einem 4-fach Bohrkopf starten und dafür die Abarbeitungstabelle erstellen. Generiert das sinnvolle Positionen (egal wie lange das dauert) dann das auf 2 X-Achsen erweitern mit der Berücksichtigung des kolaborierenden Betriebs (also nach Möglichkeit so, dass am Besten nie eine Achse der anderen aus dem Weg gehen muss).
Als nächstes dann, weil nun hast du den Grund-Algorithmus, die Geschichte so erweiteren das jede der X-Achsen nun auch 2 Y-Achsen hat. Klappt das sinnvoll dann wieder eine X-2Y-Achse mit dazunehmen.

Gruß
Larry
 
Hallo Steffi,

1) Die Bohrer haben nur eine Z-Achse, doch jeder einzelne Bohrer kann pneumatisch einzeln ausgesteuert werden.
- Aha, einzeln aussteuerbar = einzeln aktivierbar! Das war das zentrale, fehlende PuzzleStückchen. Dadurch erledigen sich etliche meiner bisherigen Fragen wie durch Geisterhand.
- Vermutlich wird über die Pneumatik vorgewählt, welche der Bohrer "aktiviert" werden und die nicht aktivierten halten sich beim Bohren ganz dezent zurück, während die für alle gemeinsame Z-Achse den Vorschub beim Bohren übernimmt. Musst Du auch den BohrVorschub der Maschine vorgeben?
- Das heisst, alle aktivierten Bohrer bohren gleichzeitig.
- Dürfen während des Bohrens diejenigen Aggregate, die gerade nicht mit Bohren beschäftigt sind, in Y-Richtung positioniert werden?
- Dürfen während des Bohrens diejenigen Supporte, die gerade nicht mit Bohren beschäftigt sind, in X-Richtung positioniert werden?
- Aus dem Begriff "Taktergebnis" leite ich ab, dass entweder gebohrt (oder gewartet) wird oder es wird positioniert (und gewartet), jedoch nie beim Bohren gleichzeitig in X oder Y positioniert (das käme natürlich nur für diejenigen Aggregate/Supporte in Frage, die gerade nichts zu tun haben).
- Zum Glück ist es die Aufgabe des Kunden, die Bestückung mit Bohrern so zu gestalten, dass möglichst nie ein Aggregat oder Support nutzlos herumstehen muss, denn ...

2) Der Kunde hat die Getriebe bestückt. Wir können nur sicher sein, dass zu jedem gewünschten Bohrloch mindestens einmal der passende Bohrer in der Bohranlage existiert.
- Der Kunde hätte mit Deiner Optimierung immerhin auch die Möglichkeit, verschiedene BestückungsVarianten von Bohrern zu optimieren (per Trial & Error).
- (Nicht nur) deshalb sollte die Optimierung (auch) unabhängig von der Maschine verfügbar/lauffähig sein.
- Ist denn schon eine DatenSchnittstelle zwischen Optimierung und Maschine angedacht? Irgendwie muss die Maschine schliesslich erfahren und umsetzen können, was die Optimierung sich vorstellt.
- Gibt es analog dazu eine Schnittstelle zwischen dem Kunden und der Optimierung? Beschreibung, wie ein Werstück nach der Bearbeitung aussehen soll bzw. welche Werkzeuge in welchen Spindeln stecken und welche Eigenschaften sie haben.
- Beschreibung, welche KollisionsBedingungen beachtet werden müssen, welche ParkPositionen.
- Nach evtl. bereits vorhandenen Schnittstellen frage ich, weil Du Dir im schlimmsten Fall selbst etwas überlegen müsstest, sozusagen als Basis und als Ziel, worauf Du hin planst. Falls etwas entsprechendes schon vorgegeben ist, hättest Du einen "Leitfaden".
- Könnte die Optimierung ggfs aus den "Erfahrungen" der Maschine lernen? Z.B., ob die "geschätzten" Zeiten für die VerfahrTätigkeiten und BohrVorgänge realistisch/korrekturbedürftig sind?
- Das sprengt den Rahmen Deiner Aufgabe - könnte man aber trotzdem im Hinterkopf behalten?

3) In unserer Aufgabe gibt es keinen Werkzeugwechsel.
- Aber die Abnutzung der Bohrer dürfte dennoch oder gerade deshalb ein Thema sein?
- Kann ein Bohrer während der Bearbeitung eines Werkstücks "gesperrt" werden, so dass für die verbleibende Bearbeitung eine erneute Optimierung mit den neuen Randbedingungen erforderlich wird?

4) Einmal muss man das beste Taktergebnis finden und erst im Anschluss eine Verfahrwegsoptimierung machen!?
- Hier fehlt mir die nötige Phantasie. Ist ein "bestes Taktergebnis" überhaupt denkbar/bezifferbar, solange man die Verfahrwege bzw. die Verfahrwegsoptimierung ignoriert?
- Oder ist mit "bestem Taktergebnis" lediglich gemeint, dass möglichst viele Bohrer gleichzeitig aktiv sind?
- Egal, ich neige zu der Meinung, dass man die verschiedenen Varianten nur über die nötigen Zeiten für die komplette Bearbeitung vergleichen kann.
- Häufigeres Verfahren bedeutet mehr BearbeitungsTakte und mehr "Pausen" zwischen den einzelnen Bohrvorgängen und längere Verfahrwege bedeuten längere "Pausen".
- Letztendlich dürfte die GesamtDauer für die Bearbeitung ausschlaggebend sein.
- Oder sind auch z.B. erhöhter StromVerbrauch und erhöhter Verschleiss der Maschine durch "vermeidbares" Positionieren von Achsen vorrangig zu berücksichtigen, falls dies wider Erwarten zu einer längeren Bearbeitungzeit führen würde?
- Es wäre einfacher, wenn nicht allzu viele Kriterien beachtet werden müssen. Man müsste die verschiedenen Aspekte irgendwie wichten, um sie zahlenmässig vergleichbar zu machen.
- Das wäre zwar Aufgabe des Kunden, wirkt sich aber dennoch auf den Algorithmus aus.

5) Um es zu vereinfachen, sagen wir mal, dass alle Löcher gleich tief sein müssen und alle Bohrer gleich lang sind.
- Das wäre sicherlich einfacher, aber vermutlich so unrealistisch, dass man diesen Aspekt von vornherein mit berücksichtigen muss!?
- Wenn es um die Berarbeitung von Schrank- und Regalteilen geht, müsste man m.E. zumindest 2 verschiedene Bohrtiefen realisieren, nämlich eine für Sacklöcher und eine zweite für Durchgangslöcher.
- Da man aber Sacklöcher nicht unnötig tief bohren möchte (unnötiger Verschleiss der Bohrer, unnötige Zeit für den Bohrvorgang), würde ich eher mit 3 bis 4 verschiedenen Bohrtiefen rechnen.
- Bitte klären, ob dies ausschliesslich über unterschiedlich lange Bohrer oder unterschiedliche Vorschübe umgesetzt wird, oder, ob beides vorkommt bzw. kombiniert wird.

6) Somit müsste man den Bohrpositionen auch Prioritäten geben können, um sicher zu gehen, dass der richtige Bohrer zuerst bohrt.
- Bitte klären! Wahrscheinlich/hoffentlich gibt es spezielle Bohrer, die alles in einem Arbeitsgang erledigen können. Bitter wird's nur, wenn man von einem Konzept ausgeht, das man wegen solcher "Kleinigkeiten" nachträglich auf den Kopf stellen muss, weil niemand daran gedacht hat, es im Vorfeld zu erwähnen.

7) Es fällt mir schwer einen Algorithmus zu finden, um das beste Bohrergebnis zu errechnen.
- Das geht wohl allen so, die nicht auf bereits (selbst) gelöste, sehr ähnliche Anwendungen zurückgreifen können. Vielen fällt es schon schwer, einfachste Aufgaben überhaupt irgendwie in die benötigten Daten "umzudenken" und dann diese auch noch zu einem Ergebnis zu verknüpfen.

8 ) Vielleicht muss ich noch sagen, dass wir auch darauf achten sollen einen schnellen Algorithmus zu finden.
- Jain. Wird eigentlich immer angestrebt, aber natürlich nicht immer gefunden ;o)
- Ich unterstelle, dass dies nicht die erste Aufgabe dieser Art ist, die Du zu lösen hast - dafür ist sie mindestens eine Nummer zu gross. Für "Anfänger" lassen sich bestimmt geeignetere Aufgaben finden.
- Das sieht nach einem soliden Entwicklungsauftrag aus, für den "verzweifelt" nach Ideen gesucht wird.
- Genauso "verzweifelt" steht man dann vor der durchaus komplexen Aufgabe und sieht vor lauter Bohrern nicht das Loch, durch das man den Einstieg in die Materie findet.
- Dein Ansatz ist gut, zunächst vereinfachte Beispiele in Angriff zu nehmen, dabei aber die gesamte Komplexität weiter zu erforschen, zu kennen und im Himterkopf zu bewahren.
- Wenn gerade die zündende Idee fehlt - kein Problem - einfach (vorübergehend) sich mit anderen Teilaufgaben beschäftigen, die ja auch alle gelöst sein wollen.
- Wenn man zu dem Schluss kommt, dass der eingeschlagene Weg nicht der richtige ist - auch kein Problem - den Mut haben, wegzuwerfen und neu anzufangen oder zumindest stark umzukrempeln.
- Das krampfhafte Festhalten an etwas, in das man sich verrannt und Zeit investiert hat, nur weil's weh tut, führt nicht zu einem brauchbaren Ergebnis und führt auch nicht unbedingt schneller zu irgendeinem Ergebnis.
- Wichtig für einen Algorithmus ist, eine Strategie zu finden, die eine klare Reihenfolge hat, in der die Kombinationen durchprobiert werden. Sonst besteht die Gefahr, dass man im Kreis läuft und bereits geprüftes, bewertetes, verworfenes zum wiederholten Male prüft etc. und im Extremfall keine neuen Kombinationen mehr durchprobiert.

Neuer Aspekt: Wie sieht es aus mit einem Werkstückwechsel? Gibt es ParkPositionen für die einzelnen Achsen, die nach Beendigung einer Bearbeitung angefahren werden müssen, damit ein Werkstück gewechselt werden kann?

Sorry, statt einer einfachen Antwort ist dies wieder eine Ansammlung von Fragen geworden - aber vielleicht trotzdem "zweckdienlich" ...

Gruss, Heinileini
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Google mal nach "Travelling salesman problem".
In dem Umfeld findest du Ansätze zur Wegeoptimierung.
Aufgrund der verschiedenen Bohrdurchmesser ist dein Thema wahrscheinlich noch ne Runde komplexer.
Vorallem wenn man das auf ner SPS lösen muß.
Üblicherweise verwenden man dazu spezielle CAD-CAM-Programme.

Gruß
Blockmove
 
@Larry
Vielen Dank für Deinen Vorschlag, ich werde mich da mal gleich dransetzen und das Ganze weiter durchdenken. Klingt nach einem guten Einstieg J.

@Heinileini
Hallo Heinileini,

1) Die Bohrer haben nur eine Z-Achse, doch jeder einzelne Bohrer kann pneumatisch einzeln ausgesteuert werden.
- Aha, einzeln aussteuerbar = einzeln aktivierbar! Das war das zentrale, fehlende PuzzleStückchen. Dadurch erledigen sich etliche meiner bisherigen Fragen wie durch Geisterhand.
- Vermutlich wird über die Pneumatik vorgewählt, welche der Bohrer "aktiviert" werden und die nicht aktivierten halten sich beim Bohren ganz dezent zurück, während die für alle gemeinsame Z-Achse den Vorschub beim Bohren übernimmt. Musst Du auch den BohrVorschub der Maschine vorgeben?
- Das heisst, alle aktivierten Bohrer bohren gleichzeitig.
- Dürfen während des Bohrens diejenigen Aggregate, die gerade nicht mit Bohren beschäftigt sind, in Y-Richtung positioniert werden?
- Dürfen während des Bohrens diejenigen Supporte, die gerade nicht mit Bohren beschäftigt sind, in X-Richtung positioniert werden?
- Aus dem Begriff "Taktergebnis" leite ich ab, dass entweder gebohrt (oder gewartet) wird oder es wird positioniert (und gewartet), jedoch nie beim Bohren gleichzeitig in X oder Y positioniert (das käme natürlich nur für diejenigen Aggregate/Supporte in Frage, die gerade nichts zu tun haben).
- Zum Glück ist es die Aufgabe des Kunden, die Bestückung mit Bohrern so zu gestalten, dass möglichst nie ein Aggregat oder Support nutzlos herumstehen muss, denn ...

Ja alle aktiven Bohrer bohren gleichzeitig. Die Aggregate und Supporte die im aktuellen Takt nix zu tun haben können machen was sie wollen. Aber etwas anderes bohren werden sie nicht können, denn sonst wären sie bereits am Bohren.

2) Der Kunde hat die Getriebe bestückt. Wir können nur sicher sein, dass zu jedem gewünschten Bohrloch mindestens einmal der passende Bohrer in der Bohranlage existiert.
- Der Kunde hätte mit Deiner Optimierung immerhin auch die Möglichkeit, verschiedene BestückungsVarianten von Bohrern zu optimieren (per Trial & Error).
- (Nicht nur) deshalb sollte die Optimierung (auch) unabhängig von der Maschine verfügbar/lauffähig sein.
- Ist denn schon eine DatenSchnittstelle zwischen Optimierung und Maschine angedacht? Irgendwie muss die Maschine schliesslich erfahren und umsetzen können, was die Optimierung sich vorstellt.
- Gibt es analog dazu eine Schnittstelle zwischen dem Kunden und der Optimierung? Beschreibung, wie ein Werstück nach der Bearbeitung aussehen soll bzw. welche Werkzeuge in welchen Spindeln stecken und welche Eigenschaften sie haben.
- Beschreibung, welche KollisionsBedingungen beachtet werden müssen, welche ParkPositionen.
- Nach evtl. bereits vorhandenen Schnittstellen frage ich, weil Du Dir im schlimmsten Fall selbst etwas überlegen müsstest, sozusagen als Basis und als Ziel, worauf Du hin planst. Falls etwas entsprechendes schon vorgegeben ist, hättest Du einen "Leitfaden".
- Könnte die Optimierung ggfs aus den "Erfahrungen" der Maschine lernen? Z.B., ob die "geschätzten" Zeiten für die VerfahrTätigkeiten und BohrVorgänge realistisch/korrekturbedürftig sind?
- Das sprengt den Rahmen Deiner Aufgabe - könnte man aber trotzdem im Hinterkopf behalten?

Also die Schnittstellen sind noch nicht geklärt, aber ich mache mir da noch keine Gedanken. Erstens ist es bis jetzt nicht die Aufgabe und zweitens kann man die Sache sicher unabhängig betrachten. Es wird eh verschiedene Kunden geben und jeder möchte vielleicht seine eigene Schnittstelle haben. So wirst Du eh einen Konverter programmieren müssen.
Ob die Maschine aus den Erfahrungen lernen kann, ist nicht verlangt. Es ist ne interessante Sache, aber ich glaube das setzt dem Schwierigkeitsgrad nochmal eins drauf und ich möchte erstmal Phase eins beherrschen.

3) In unserer Aufgabe gibt es keinen Werkzeugwechsel.
- Aber die Abnutzung der Bohrer dürfte dennoch oder gerade deshalb ein Thema sein?
- Kann ein Bohrer während der Bearbeitung eines Werkstücks "gesperrt" werden, so dass für die verbleibende Bearbeitung eine erneute Optimierung mit den neuen Randbedingungen erforderlich wird?

Während der aktuellen Bearbeitung wird nichts gesperrt. Doch vorm nächsten Optimierungslauf kann ein Werkzeug deaktiviert werden, oder ein Aggregat oder ein Support.

4) Einmal muss man das beste Taktergebnis finden und erst im Anschluss eine Verfahrwegsoptimierung machen!?
- Hier fehlt mir die nötige Phantasie. Ist ein "bestes Taktergebnis" überhaupt denkbar/bezifferbar, solange man die Verfahrwege bzw. die Verfahrwegsoptimierung ignoriert?
- Oder ist mit "bestem Taktergebnis" lediglich gemeint, dass möglichst viele Bohrer gleichzeitig aktiv sind?
- Egal, ich neige zu der Meinung, dass man die verschiedenen Varianten nur über die nötigen Zeiten für die komplette Bearbeitung vergleichen kann.
- Häufigeres Verfahren bedeutet mehr BearbeitungsTakte und mehr "Pausen" zwischen den einzelnen Bohrvorgängen und längere Verfahrwege bedeuten längere "Pausen".
- Letztendlich dürfte die GesamtDauer für die Bearbeitung ausschlaggebend sein.
- Oder sind auch z.B. erhöhter StromVerbrauch und erhöhter Verschleiss der Maschine durch "vermeidbares" Positionieren von Achsen vorrangig zu berücksichtigen, falls dies wider Erwarten zu einer längeren Bearbeitungzeit führen würde?
- Es wäre einfacher, wenn nicht allzu viele Kriterien beachtet werden müssen. Man müsste die verschiedenen Aspekte irgendwie wichten, um sie zahlenmässig vergleichbar zu machen.
- Das wäre zwar Aufgabe des Kunden, wirkt sich aber dennoch auf den Algorithmus aus.

Also da Zeit = Geld ist wird das beste Ergebnis wohl immer das sein bei dem das Werkstück am schnellsten fertig ist. Auf eine Einsparung des Stroms müssen wir nicht achten.

5) Um es zu vereinfachen, sagen wir mal, dass alle Löcher gleich tief sein müssen und alle Bohrer gleich lang sind.
- Das wäre sicherlich einfacher, aber vermutlich so unrealistisch, dass man diesen Aspekt von vornherein mit berücksichtigen muss!?
- Wenn es um die Berarbeitung von Schrank- und Regalteilen geht, müsste man m.E. zumindest 2 verschiedene Bohrtiefen realisieren, nämlich eine für Sacklöcher und eine zweite für Durchgangslöcher.
- Da man aber Sacklöcher nicht unnötig tief bohren möchte (unnötiger Verschleiss der Bohrer, unnötige Zeit für den Bohrvorgang), würde ich eher mit 3 bis 4 verschiedenen Bohrtiefen rechnen.
- Bitte klären, ob dies ausschliesslich über unterschiedlich lange Bohrer oder unterschiedliche Vorschübe umgesetzt wird, oder, ob beides vorkommt bzw. kombiniert wird.

Ich weiß, dass es unrealistisch ist, das zu vereinfachen. Aber ich mache lieber aus einem großen Problem viele Kleine.
Mein Gefühl sagt mir, dass das Hauptproblem ist überhaupt den Grundalgorithmus zu finden. Im Anschluss kommen die Kriterien hinzu (gleiche Drehzahl, gleiche Tiefe und aus selber Achse). Ich glaube das wird verhältnismäßig einfach.
Deshalb versuche ich beim Kernproblem zu bleiben.
Die Bohrer sind alle gleich lang, deshalb müssen unterschiedliche Tiefen in unterschiedlichen Takten gebohrt werden, es sei denn die jeweiligen Bohrer sitzen auf unterschiedlichen Z-Achsen.

6) Somit müsste man den Bohrpositionen auch Prioritäten geben können, um sicher zu gehen, dass der richtige Bohrer zuerst bohrt.
- Bitte klären! Wahrscheinlich/hoffentlich gibt es spezielle Bohrer, die alles in einem Arbeitsgang erledigen können. Bitter wird's nur, wenn man von einem Konzept ausgeht, das man wegen solcher "Kleinigkeiten" nachträglich auf den Kopf stellen muss, weil niemand daran gedacht hat, es im Vorfeld zu erwähnen.

Das kann ja mal so und mal so sein. Dem Optimierungsalgorithmus soll es egal sein. Das muss im Vorfeld die Datenvorbereitung machen, ob das gewünschte Bohrloch mir verschiedenen Bohrern gemacht wird oder mit einem speziellen. Der Optimierer soll für alle Kunden gleich sein. Aber jeder Kunde hat Spezialitäten, wie dieses Loch, dass je nach Maschine vielleicht mit einem bestimmten Bohrer gebohrt werden kann oder durch mehrere Bohrer und mehrere Steps.
Ich glaube eine Prioritätenvergabe wäre sinnvoll und in seltensten Fällen muss auch die direkte Auswahl einer bestimmten Spindel zu einem bestimmten Loch möglich sein.
Aber nicht mal das wäre aktuell Teil meiner Aufgabe.
Deine Vorschläge und Anregungen sind für die Praxis alle wichtig und richtig. Doch aktuell muss ich diese Aufgabe lösen und das in absehbarer Zeit.

7) Es fällt mir schwer einen Algorithmus zu finden, um das beste Bohrergebnis zu errechnen.
- Das geht wohl allen so, die nicht auf bereits (selbst) gelöste, sehr ähnliche Anwendungen zurückgreifen können. Vielen fällt es schon schwer, einfachste Aufgaben überhaupt irgendwie in die benötigten Daten "umzudenken" und dann diese auch noch zu einem Ergebnis zu verknüpfen.

8 ) Vielleicht muss ich noch sagen, dass wir auch darauf achten sollen einen schnellen Algorithmus zu finden.
- Jain. Wird eigentlich immer angestrebt, aber natürlich nicht immer gefunden ;o)
- Ich unterstelle, dass dies nicht die erste Aufgabe dieser Art ist, die Du zu lösen hast - dafür ist sie mindestens eine Nummer zu gross. Für "Anfänger" lassen sich bestimmt geeignetere Aufgaben finden.
- Das sieht nach einem soliden Entwicklungsauftrag aus, für den "verzweifelt" nach Ideen gesucht wird.
- Genauso "verzweifelt" steht man dann vor der durchaus komplexen Aufgabe und sieht vor lauter Bohrern nicht das Loch, durch das man den Einstieg in die Materie findet.
- Dein Ansatz ist gut, zunächst vereinfachte Beispiele in Angriff zu nehmen, dabei aber die gesamte Komplexität weiter zu erforschen, zu kennen und im Himterkopf zu bewahren.
- Wenn gerade die zündende Idee fehlt - kein Problem - einfach (vorübergehend) sich mit anderen Teilaufgaben beschäftigen, die ja auch alle gelöst sein wollen.
- Wenn man zu dem Schluss kommt, dass der eingeschlagene Weg nicht der richtige ist - auch kein Problem - den Mut haben, wegzuwerfen und neu anzufangen oder zumindest stark umzukrempeln.
- Das krampfhafte Festhalten an etwas, in das man sich verrannt und Zeit investiert hat, nur weil's weh tut, führt nicht zu einem brauchbaren Ergebnis und führt auch nicht unbedingt schneller zu irgendeinem Ergebnis.
- Wichtig für einen Algorithmus ist, eine Strategie zu finden, die eine klare Reihenfolge hat, in der die Kombinationen durchprobiert werden. Sonst besteht die Gefahr, dass man im Kreis läuft und bereits geprüftes, bewertetes, verworfenes zum wiederholten Male prüft etc. und im Extremfall keine neuen Kombinationen mehr durchprobiert.

Vielen Dank für Deine Anregungen und Deine aufbauenden Worte.
Ich versuche nun mal was aufs Papier zu bekommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Steffi!
"Ich versuche nun mal was aufs Papier zu bekommen."
... hattest Du vor 10 Tagen leichtsinnigerweise verkündet und wolltest Dich parallel dazu in das Thema TSP hineinwühlen.
Seitdem herrscht nachdenkliche Stille in diesem Thread. Ist das Blatt Papier schon voll ... oder der Papierkorb?
Ich habe mit Excel gebastelt und komme seit Tagen nicht weiter.
Excel liefert mir jetzt per ZufallsZahlenGenerator Werkstücke mit diversen (teils unrealistischen) Vorgaben für BohrLöcher einerseits und andererseits die Bestückung von 8 Aggregaten mit bis zu je 4 Bohrern, aber leider keine GeistesBlitze, wie ich damit weitermachen soll.
Die Bohrer- und BohrLochListen habe ich als Arrays und in Form von "kilometerlangen" Strings und ... das war's schon.
TSP ist gar nicht das Thema und ich kann nur sagen, es wird in Deiner Aufgabe gar nicht erst zu einem Thema.
Die Vorgabe, in der X-Achse nicht hin und her zu fahren und die KollisionsBedingungen der Aggregate und Supporte zu berücksichtigen, lässt (vorerst?) gar keinen Raum für den TSP-Luxus.
Ich sehe die Aufgabe eigentlich darin, eine Strategie zu finden, die den 8 Aggregaten die zu bohrenden Löcher so zuweist, dass eine gerechte und sinnvolle ArbeitsTeilung dabei herauskommt. Und genau da hänge ich jetzt fest und bin ratlos, weil ich pessimistischerweise davon ausgehe, das die Belegung der Aggregate mit Bohrern nicht unbedingt optimal zum Werkstück passen und der Algorithmus trotzdem (überhaupt) zu einem brauchbaren Ergebnis kommen muss.
Wünsche Dir weiterhin viel Erfolg und zündende Ideen!
Gruss, Heinileini
 
Hallo Steffi, wie sieht es aus, hast du das Problem gelöst? Ich habe mich mit meiner Abschlussarbeit u.a. mit dem gleichen Problem beschäftigt und würde dir gerne helfen, wenn du noch Hilfe benötigst.
 
Zurück
Oben