Hallo,
also ich rechne wirklich gerne, aber hier wird’s mir doch etwas zu viel. Ich habe eine Qualifikationsmatrix, die jedem Produkt (29 verschiedene Produkte) die Mitarbeiter zuordnet, die qualifiziert sind es herzustellen. Insgesamt sind 24 Mitarbeiter beschäftigt. Die Mitarbeiter können in der Regel 3-4 verschiedene Produkte fertigen. Zudem habe ich einen Vektor, der jedem Produkt die Jahresbearbeitungszeit zurordnet und als Nebenbedingung habe ich die Info, wie lange ein Mitarbeiter pro Jahr arbeiten kann (ca. 1500 Stunden).
Jetzt würde ich gerne möglichst ein Online Tool haben, was mir „eben mal kurz“ die Matrix berechnet, die mir anzeigt welcher Mitarbeiter an welchem Produkt wie lange beschäftigt ist, damit ich alles unter einen Hut bekomme. Gibt es da was? Oder hab ich schon vorher einen Denkfehler? Zur Not kann ich auf Matlab zugreifen, aber wenn es online was gibt, dann würde mir das sehr helfen, da ich nur sehr sporadisch an Matlab rankomme.
Hoffentlich hat jemand ein paar gute Tipps! Würde mich freuen!
Das klingt weniger nach einem Gleischungssystem als nach einer Datenbankabfrage oder Tabellenkalkulationsaufgabe via Pivot- oder Kreuztabellen…
Gruß HW
Moin,
das klingt auf den ersten Blick nach der Linearen Optimierung, mir fehlt allerdings die Zielfunktion.
Wenn alle Mitarbeiter das gleiche Geld kosten und alle Produkte den gleichen Gewinn abwerfen, dann geht es doch nur noch darum, Mitarbeiter an Produkte zu setzen, bis keine Mitarbeiter mehr greifbar sind. Oder hab ich jetzt alles falsch verstanden?
Vektor, der jedem Produkt die Jahresbearbeitungszeit zurordnet
n Produkte einer Sorte in einem Jahr? Jetzt entfernen wir uns aber wieder von der Optimierung 
Gruß Ralf
Hallo,
danke für die ersten Antworten!
Also wenn das mit PIVOT gehen würde, würde ich mich sehr freuen, aber vielleicht kenne ich mich nicht gut genug damit aus, so dass ich nicht weiß, wie das funktionieren könnte. Ich bräuchte also doch noch eine Handlungsanweisung.
Zur Erklärung:
-
Mir geht es nicht um Kosten o.ä., sondern um eine Kapazitätsplanung, also ob ich mit den entsprechenden Mitarbeitern „auskomme“, bei den gegebenen oder prognostizierten Bedarfen für die Produkte.
-
Ich habe eine Tabelle, in der dargestellt ist, für welche Produkte die verschiedenen Mitarbeiter qualifiziert sind, eine Liste, wie viel Bearbeitungszeit ich je Produkt einrechnen muss und eine Liste wieviel Bedarf für die verschiedenen Produkte pro Jahr anfällt.
-
Beispiel:
MA1 kann Produkt 1 fertigen
MA2 kann Produkt 2 fertigen
MA3 kann Produkt 1 und 3.
Produkt 1 braucht 1600 Stunden pro Jahr (bspw. 100 Stück à 16 Stunden)
Produkt 2 braucht 1300 Stunden pro Jahr
Produkt 3 braucht 1200 Stunden
-
Ergebnis bei 1400 Jahresstunden je Mitarbeiter:
MA1 arbeitet 1400 Stunden an Produkt 1
MA2 arbeitet 1300 Stunden an Produkt 2 (und hat noch 100 Stunden übrig)
MA3 arbeitet 1200 Stunden an Produkt 3 und 200 Stunden an Produkt 1
–> Die Produktion aller Produkte ist gewährleistet, MA2 hat noch 100 Stunden Zeit für was anderes
Frage:
- Wie kann ich das für 29 verschiedene Produkte und 24 Mitarbeiter berechnen
- Ich möchte die Mitarbeiter im zweiten Schritt in Gruppen einteilen, die immer eine Gruppe von Produkten fertigen (bspw. wegen der Anordnung der Arbeitsgeräte), dann will ich erneut ausrechnen, ob das von den Kapazitäten her passt, bzw. wen ich noch für andere Aufgaben einplanen kann.
So, ich hoffe jetzt ist es noch ein bisschen klarer und es hat jemand einen konkreten Tipp. Eigentlich dachte ich das sei nichts andere als ein Maschinenbelegungsplan, aber da hab ich bisher noch nicht den richtigen Ansatz gefunden.
Hallo.
Zur Erklärung:
-
Mir geht es nicht um Kosten o.ä., sondern um eine
Kapazitätsplanung, also ob ich mit den entsprechenden
Mitarbeitern „auskomme“, bei den gegebenen oder
prognostizierten Bedarfen für die Produkte.
-
Ich habe eine Tabelle, in der dargestellt ist, für welche
Produkte die verschiedenen Mitarbeiter qualifiziert sind, eine
Liste, wie viel Bearbeitungszeit ich je Produkt einrechnen
muss und eine Liste wieviel Bedarf für die verschiedenen
Produkte pro Jahr anfällt.
Das hört sich für mich nach einem Problem an, das man mit Hilfe einer Fluß-Optimierung eines Graphen lösen kann. Aber keine Ahnung, ob es da ein Online-Tool für gibt.
Modellieren würde ich es so, dass es für jeden Mitarbeiter und jedes Produkt Knoten gibt. Von der Quelle geht eine Kante zu jedem Mitarbeiter, jeweils gewichtet mit der maximalen Arbeitszeit. Von jedem Mitarbeiter geht eine Kante zu jedem Produkt, das er bearbeiten kann, gewichtet ebenfalls mit der maximalen Arbeitszeit. Von jedem Produkt geht eine Kante zur Senke, gewichtet mit den Stunden, die an diesem Produkt gearbeitet werden müssen. Wenn man dann den maximalen Fluss in diesem Graphen ermittelt (gibt da verschiedene Algorithmen für), und dabei alle Kanten von Produkten zur Senke maximal ausgelastet sind, kommt man mit den Mitarbeitern aus.
Sebastian.
Jepp, sieht jetzt mehr nach einem Optimierungsproblem aus…
Könnte evtl. in Excel mit dem Solver angegangen werden - ob der dann allerdings mit 24+n Eingangsgrößen für Deine Mitarbeiter/Produktzuordnungen klar kommt wäre fest zustellen:
Eine Matrix die die Mitarbeiterstunden den Produkten zuordnet;
__P1 P2 … P29 Mitarbeitersumme
M1 1 1
M2 1
.
.
.
M24
Produktsummen…
Dann die Knoten ausstatten z.B. 1 welcher (M)itarbeiter welches §rodukt bearbeiten kann - Zeilensummen und Spaltensummen berechnen
Im SOlver eine Zielzelle vergeben. z.B. die Differenz zwischen Mitarbeitersumme und Produktsumme minimieren.
Die Knoten alle als veränderbare Zellen aufsammeln.
IN den Nebenbedingungen die Produkt- und Mitarbeitervorgaben festschreiben - nicht negativ vorgeben und den Solver schaffen lassen.
Hallo,
vielen Dank für die Anleitung. Habe gedacht, ich habe alles soweit gemacht. Leider gibt mir der Solver immer eine von zwei Fehlermeldungen aus.
- Wenn ich die ganze Matrix (also alle Knoten) als veränderlich angebe, dann sagt er:
Too many adjustable cells (Habe die Matrix bereits auf 15 x 23 reduzieren können)
–> das würde ja für Deine Bedenken sprechen
- Wenn ich nur die 1en markiere, dann sagt er:
Solver: An unexpected internal error occured or available memory was exhausted.
–> ich dachte damit würde ich dem 1. Problem zuvor kommen, das funktioniert allerdings nicht.
Hast Du einen Tipp, wie man das Problem umgehen kann?
Ich hatte gedacht nur die Zuständigkeitsknoten für Produkt/Mitarbeiter als veränderbare Zellen zu definieren und die ANzahl der Eingangswerte niedrig zu halten. Das wäre dann sowas wie
$B$2:blush:D$2;$D$3:blush:G$3;$F$4:blush:H$4;$G$5:blush:J$5;$G$6:blush:J$6;$J$7:blush:L$7;…
Also Mitarbeiter in Zeile 2 kann Produkt B:smiley: bearbeiten, usw
DU müsstest Deine Matrix so sortieren, dass möglichst zusammenhängende Bereiche für einen Mitarbeiter entstehen oder das Problem auf 2 oder mehrere Matrizen aufteilen. Ich weiss jetzt nicht welches Spektrum Produktzuordnungen Deine Mitarbeiter mitbringen und ob es möglich ist Matrizen zu sortieren, um die Mitarbeiter auf einen Produktrange zu konzentrieren.
Wenn Das nicht geht könntes Du erst einen (wichtigen) Produktrange planen und die Mitarbeiter mit freien Kapazitäten in eine neue Produktmatrix übernehmen,
oder so…
Hier mal ein Beispiel:
http://test.lemitec.de/archiv/MitarbeiterProduktMatr…
Ich glaube, dass der XL-Solver auch eine Grenze für die Länge des Übergabestrings der veränderbaren Zellen hat - liegt nach meinen Beobachtungen bei ca. 220 Zeichen. Das könnte Deine Fehlerbeschreibung betreffen.
Hab interessehalber das Modell auch mal mit Openoffice 3.0 geöffnet und dessen Solver gefüttert. Jedenfalls nimmt der OO-Solver meine 12x12 Matrix komplett und auch eine Knoten-Auswahl deren ANzahl weit über der vom XL-Solver liegt. Ggf. ist also Calc das Werkzeug für Dich…
Der OO-Solver lässt sich auch auf Integer-Zahlen festlegen und findest damit auch noch Lösungen.
Gruß HW
Ja, leider kann ich OpenOffice hier in der Firma nicht installieren (Citavi ging komischerweise, aber OO nicht). Sonst muss ich vielleicht doch noch mal zu hause Matlab installieren, wenn’s sowieso nicht in der Firma geht.
Aber eigentlich habe ich auch „nur“ 74 veränderliche Zellen.
Auf mehrere Matrizen aufteilen geht zumindest auf den erste Blick nicht, weil sich die nicht trennen lassen.
Und erst für ein paar Produkte die Kapazitäten berechnen und dann die freien auf die andere verteilen ist insofern schwierig, weil ich das ganze schon auf ausgewählte Produkte reduziert habe. Aber das ist zumindest einen Versuch wert.
Hm…also irgendwie muss das mit dem Solver trotzdem gehen. Wäre einfach zu praktisch!!
Beziehungsweise, ich hab eben die Matrix auf 6x6 reduziert. Wenn ich alle Einträge als veränderlich angeben, dann rechnet er mir was aus. Wenn ich nur die einzelnen veränderlichen anwähle, dann sagt er immer „zu viele Einträge“. Dann muss der Fehler doch irgendwo anders liegen, oder?
Es gibt nach meinen Beobachtungen 2 Grenzen.
1 Die Länge des Strings der veränderbaren Zellen
2 Die Anzahl der Zellen
Zu 1 kommt es ab ca 220 Zeichen zu einem Fehler
Zu 2 hab noch nichts ausprobiert. In meinem Beispielmodell hab die 12x12 Matrix übergeben also 144 Zellen, was er auch rechnet.
Hast Du Dir mein Beispiel vom Post weiter unten mal angeschaut, hat 40 veränderbare Zellen bei einer Stringlänge von 117.
Du müsstest die Personen mit gleicher Produktkompetenz untereinander schreiben, um sie in einem Block zusammenfassen zu können (B2:F8 oder so) und ggf die Produktspalten so sortieren, dass letztgenannte Blöcke auch möglich sind. Wenn Du deine Knoten so zusammenfassen kannst, dass der Übergabestring