Activity Relationship Charts für die Anordnungsoptimierung in der Fabrikplanung

Activity Relationship Charts in der Fabrikplanung und Anordnungsoptimierung

Werden Fabriklayouts neu geplant oder verändert, spielt die Anordnung der Arbeitsplätze oder Einrichtungen die wesentliche Rolle, um die Ausbringung zu maximieren und die Aufwände zu minimieren. Im Fokus steht der Materialfluss zwischen den Arbeitsplätzen. Das ist für viele Planungen genau richtig. Der Materialfluss alleine ist aber nicht die Lösung, es zählen alle Beziehungen.

Materialfluss alleine ist nicht die Lösung

Der Materialfluss ist wichtig, werden doch über ihn die Bewegungen des Produktes abgebildet. Was aber, wenn andere Kriterien an bestimmten Stellen wichtiger sind als der Materialfluss? Das Potenzial, eine optimale Arbeitsplatzanordnung zu entwickeln, wird dann verschenkt.

Diese Stellen im Materialfluss sind i. d. R. den Beteiligten bekannt, werden aber bei Fokus auf den reinen Materialfluss in der Anordnungsplanung einfach nicht berücksichtigt.

Es gibt eine Reihe von Kriterien, die nicht über den Materialfluss abgebildet werden. Einige Beispiele sind:

Um diese quantitativen Kriterien dennoch systematisch zu erkennen und damit berücksichtigen zu können, setzen Tompkins/White/Bozer/Tanchoco (Facilities Planning, Seite 115ff) das „Activity Relationship Chart“ (ARC) ein.

Es handelt sich um eine Diagrammart, die auf einem dreieckigen Mileage-Diagramm basiert. Das ARC stellt die Beziehungen zwischen den Arbeitsplätzen visuell in einer Dreiecksform dar.

Grundaufbau eines Activity Relationship Chart mit Abteilungen und deren Beziehung
Grundaufbau eines Activity Relationship Chart mit Abteilungen und deren Beziehung

Aufbau eines Activity Relationship Chart

Das Diagramm enthält alle Arbeitsplätze und die Kriterien, mit denen sie in Beziehung stehen. Auf der linken Seite stehen die Arbeitsplätze.

Bewertung einer Beziehung im ARC über die Layoutpositionsnähe und deren Gründe
Bewertung einer Beziehung im ARC über die Layoutpositionsnähe und deren Gründe

In den Dreiecksfeldern steht in der oberen Hälfte die Relevanz der Beziehung, dargestellt als Buchstabe.

Die untere Hälfte erklärt den Grund für die ausgewählte Relevanz der Beziehung. Diese Kriterien definieren sich jeweils aus dem untersuchten Planungsfall.

In Wikipedia werden beispielsweise diese aufgeführt:

Problem Datenerhebung

Die notwendigen Beziehungsdaten zu erheben, ist der wesentlich schwierigere Teil. Dafür bieten sich Umfragen oder Interviews mit den beteiligten Personen an. Bei der Sicht von Einzelpersonen ergeben sich mit hoher Wahrscheinlichkeit unterschiedliche Eingruppierungen. Im Activity Relationship Chart lässt sich aber nur eine Beurteilung der Relevanz erfassen.

Deswegen ist eine Datenerhebung in Workshops mit allen beteiligten Personen eine effizientere Möglichkeit. Jede Beziehung zwischen zwei Arbeitsplätzen lässt sich direkt diskutieren und fixieren.

Dafür muss der Fokus auf die Beziehung zwischen den zwei aktuell zu bewertenden Arbeitsplätzen liegen. Das Activity Relationship Chart zeigt immer alle Beziehungen an. Deswegen ist schwieriger den Fokus auf eine Bestimmte zu halten. Besser ist es im Workshop jede Bewertung fokussiert durchzuführen.

Die Methode funktioniert theoretisch mit einer beliebigen Anzahl von Arbeitsplätzen. Ab 10 Arbeitsplätzen müssen bereits 45 Beziehungen untersucht werden. Bei 8 Arbeitsplätzen sind es noch 28 Beziehungen. Das kann noch gut in einem Workshop untersucht werden. Gibt es mehr Arbeitsplätze, ist es sinnvoller, diese vorher in Gruppen aufzuteilen und die Gruppen getrennt voneinander zu analysieren.

Anzahl der zu untersuchenden Arbeitsplätze mit den daraus resultierenden Beziehungsbewertungen
Anzahl der zu untersuchenden Arbeitsplätze mit den daraus resultierenden Beziehungsbewertungen

Ein selber programmiertes Activity Relationship Chart für Workshops

Wenn Sie soweit gelesen haben, wollen Sie bestimmt ein Activity Relationship Chart ausprobieren. Eine passende Vorlage ist über Google auch schnell gefunden. Die Vorlagen für Microsoft Office sehen optisch meistens nicht gut aus. Die grafisch ansprechenden basieren aber eher auf Webanwendungen, wie creately.com.

Da wir jetzt wissen, was wir wollen und brauchen, können wir es auch selber für Microsoft Excel programmieren.

Als Ergebnis entsteht der ARC-Generator. Mit ihm können Sie sehr schnell Activity Relationship Charts in jeder beliebigen Größe erstellen und es unterstützt Sie auch beim Ausfüllen – speziell in Workshops.

  • Ein vom Activity Relationship Chart Generator automatisch erstelltes Diagramm
  • Der Activity Relationship Chart Generator beim Bewerten in einer Workshop-Situation
  • Arbeitsplätze und variable Daten werden flexibel über Listen erfasst
  • Automatisch erzeugte Datentabelle während der Bewertung

Es gilt, zwei Herausforderungen zu lösen. Einmal muss die ungewöhnliche Darstellungsform als dreieckiges Mileage Diagramm gelingen. Zum anderen brauchen wir eine Möglichkeit zum Ausfüllen und Bewerten in einer Workshop Situation.

Teil 1: Das Activity Relationship Chart in Excel umsetzen

Eine passende Darstellung finden

Schaut man sich das Diagramm an, bietet Excel erst einmal mit seiner Zeilen- und Spaltenorientierung keine gute Ausgangsbasis für die Darstellung. Eine perfekte Umsetzung gibt es auch nicht wirklich. Aber Excel stellt die Möglichkeit bereit, für einzelne Zellen nicht nur einen Rahmen außen darzustellen, sondern auch quer durch die Zelle.

Mit dieser Logik lässt sich das Diagramm sehr gut aufbauen. Die Bewertungscodes lassen sich sinnvoll nur rechtsbündig anordnen, um ungefähr an der richtigen Stelle zu stehen.

Die Bewertung lässt für die Begründung auch mehrere Antworten zu. Mit der rechtsbündigen Anordnung sieht das dann unsauber aus.

Mit einem kleinen Trick wird es besser. Dafür fügt man eine zusätzliche Spalte für die Beschriftung ein und wählt aus Ausrichtung mittig. Diese dient nur als Hilfsspalte. Im fertigen Diagramm setzt man die Spaltenbreite auf den minimalsten Wert, der noch den Text anzeigt. Das ist bei mir 0,03.

So ist zwar die manuelle Eingabe etwas komplizierter, aber das Ergebnis wesentlich schöner.

Kriterien frei wählbar machen

Je nach Planungsaufgabe ergeben sich die Kriterien für die Beziehungsgründe unterschiedlich. Es macht also Sinn, diese Variabilität gleich mit zu berücksichtigen. Genauso müssen die zu bewertenden Arbeitsplätze, irgendwo festgelegt werden können.

Noch variabler wird der ARC Generator, wenn auch die Beziehungsrelevanz frei definiert werden kann.

Damit ist klar, es wird eine Eingabetabelle mit drei Listen benötigt. Jede besteht aus zwei Spalten. In der ersten steht der Code, in der zweiten eine Beschreibung zum Code.

Arbeitsplätze und variable Daten werden flexibel über Listen erfasst
Arbeitsplätze und variable Daten werden flexibel über Listen erfasst

Wir haben alle notwendigen Informationen, um mit VBA die Excel Zellen entsprechend zu formatieren.

Um arbeiten zu können, braucht unser Algorithmus für das ARC die Daten aus dem Eingabe-Worksheet. Die Definition, wo welche Daten stehen, geben globale Konstanten vor.

'Input
Global Const SHEET_INPUT = "ARC data" 'name of the worksheet
Global Const ROW_INPUT_START = 5 'row where all input data starts
Global Const COL_DEPARTMENT = 2 'column no
Global Const COL_DEPARTMENT_DESCRIPTION = 3 'column no
Global Const COL_RATING_SYMBOL = 5 'column no
Global Const COL_REASON_CODE = 8 'column no
Global Const COL_ARC_DATA = 11 'column no

'Output
Global Const SHEET_OUTPUT_ARC = "Activity relationship chart" 'name of the worksheet
Global Const ARC_TOP = 4
Global Const ARC_LEFT = 2
Global Const ARC_WIDTH = 6 'column width of the triangular cells
Global Const ARC_WIDTH_TEXT = 0.03 'column width of the "invisible" text
Global Const ARC_WIDTH_TEXT_EDIT = 10 'column width for manual editing

Jetzt geht es an das Formatieren des Diagramms. Falls genau passiert, steht in den Bemerkungszeilen direkt im Quellcode.

In der Zeichnenroutine dreht sich viel, um das Einzeichnen von Rahmenlinien. Damit das etwas komfortabler und kürzer geht, ist die Funktionalität in eine eigene Prozedur DoBorder() ausgelagert.

Private Sub DoBorder(rng As Range, bi As XlBordersIndex, bw As Double)
  With rng.Borders(bi)
    .LineStyle = xlContinuous
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .weight = bw
  End With
End Sub

Sub CreateARC() 
Dim i As Integer
Dim j As Integer
Dim si As String
Dim sj As String
Dim x As Integer
Dim y As Integer
Dim shArc As Worksheet
Dim shData As Worksheet

'Zuerst das Worksheet für die Eingabedaten definieren
  Set shData = Sheets(SHEET_INPUT)

'Das gleiche für das Tabellenblatt in welches das Activity Relationsship Chart gezeichnet wird
  Set shArc = Sheets(SHEET_OUTPUT_ARC)
  
'Falls schon ein ARC vorhanden ist, muss das vorher gelöscht werden  
  shArc.Rows(CStr(ROW_INPUT_START) & ":" & CStr(Rows.Count)).Delete
  
'Jetzt durchlaufen zwei Schleifen die Beziehungen zwischen allen Arbeitsplätzen
'Begonnen wird mit der Ersten und den Beziehungen zu allen anderen
'Dann weiter mit der Zweiten
  i = 0
  Do
    'Code des Arbeitsplatzes vom Eingabe-Worksheet einlesen
    si = shData.Cells(ROW_INPUT_START + i, COL_DEPARTMENT)
    'Arbeitsplatz Code und Bezeichnung auf das Ziel Tabellenblatt schreiben
    shArc.Cells(ARC_TOP + i * 2, ARC_LEFT) = si
    shArc.Cells(ARC_TOP + i * 2, ARC_LEFT).Font.Bold = True
    
    'und gleich einen Rahmen Oben und Links zeichnen
    Call DoBorder(shArc.Cells(ARC_TOP + i * 2, ARC_LEFT), xlEdgeTop, xlThick)
    Call DoBorder(shArc.Cells(ARC_TOP + i * 2, ARC_LEFT), xlEdgeLeft, xlThick)
    
    shArc.Cells(ARC_TOP + i * 2 + 1, ARC_LEFT) = shData.Cells(ROW_INPUT_START + i, COL_DEPARTMENT + 1)
    Call DoBorder(shArc.Cells(ARC_TOP + i * 2 + 1, ARC_LEFT), xlEdgeLeft, xlThick)
    Call DoBorder(shArc.Cells(ARC_TOP + i * 2 + 1, ARC_LEFT), xlEdgeBottom, xlThick)
    
    'jetzt die Pfeilspitzen rechts neben der Arbeitsplatz-Bezeichnung formatieren
    shArc.Cells(ARC_TOP + i * 2, ARC_LEFT + 1) = ""
    Call DoBorder(shArc.Cells(ARC_TOP + i * 2, ARC_LEFT + 1), xlDiagonalDown, xlThick)
    Call DoBorder(shArc.Cells(ARC_TOP + i * 2 + 1, ARC_LEFT + 1), xlDiagonalUp, xlThick)
    
    'wenn es nicht, der letzte Arbeitsplatz in der Liste ist, dann zweite Schleife durchlaufen
    If shData.Cells(ROW_INPUT_START + i + 1, COL_DEPARTMENT) <> "" Then
      j = i + 1
      Do
        'x und y bezeichnen die Left und Top Position des Bewertungscode-Texts
        y = ARC_TOP + i * 2 + j - i
        x = ARC_LEFT + (j - i) * 2
        sj = shData.Cells(ROW_INPUT_START + j, COL_DEPARTMENT)
        
        'jetzt wieder die Rahmen für das gekippte Rechteck formatieren
        Call DoBorder(shArc.Cells(y, x + 1), xlDiagonalDown, xlThick)
        Call DoBorder(shArc.Cells(y, x + 1), xlEdgeBottom, xlThin)
        Call DoBorder(shArc.Cells(y + 1, x + 1), xlDiagonalUp, xlThick)
        
        If shData.Cells(ROW_INPUT_START + j + 2, COL_DEPARTMENT) <> "" Then
          Call DoBorder(shArc.Cells(y + 1, x - 1), xlEdgeTop, xlThin)
        End If
        Call DoBorder(Range(shArc.Cells(y, x - 2), shArc.Cells(y, x + 1)), xlEdgeBottom, xlThin)
         
        'Hier die Bewertungscodes löschen und die Formatierung vorbereiten
        'WarpText ist extrem wichtig, sonst wird der Text nicht angezeigt
        shArc.Cells(y, x) = ""
        With shArc.Cells(y, x)
          .HorizontalAlignment = xlCenter
          .VerticalAlignment = xlBottom
          .WrapText = False
        End With
        Call DoBorder(shArc.Cells(y, x), xlEdgeTop, xlThick)

        shArc.Cells(y + 1, x) = ""
        With shArc.Cells(y + 1, x)
          .HorizontalAlignment = xlCenter
          .VerticalAlignment = xlTop
          .WrapText = False
        End With
        Call DoBorder(shArc.Cells(y + 1, x), xlEdgeBottom, xlThick)
        j = j + 1
      Loop Until shData.Cells(ROW_INPUT_START + j, COL_DEPARTMENT) = ""
     End If
    i = i + 1
  Loop Until shData.Cells(ROW_INPUT_START + i, COL_DEPARTMENT) = ""
  
' Mit dieser Sub setzt eine Routine die Spaltenbreiten, so dass das ARC hübsch aussieht
  Call SetArcColumWidth(ColumnTypes.ArcColumn, ARC_WIDTH)

'Über diese Routine wird das Eingabe-Worksheet vorbereitet für Statistik-Auswertungen
  Call UpdateReasonCodes

'Am Ende auf das Ziel Tabellenblatt wechseln und damit das ARC anzeigen
  shArc.Activate
End Sub

Den vollständigen Quellcode gibt es am Ende des Artikels zum Download.

Teil 2: Die Workshop Funktionalität einbauen

In Workshops brauchen wir die Aufmerksamkeit auf die beiden zu bewertenden Arbeitsplätze mit einer einfachen Auswählmöglichkeit für die Beziehungsrelevanz und den Gründen dafür. Gleichzeitig müssen die Teilnehmer eine Gesamtübersicht sehen können.

Das spricht dafür, dass als Gesamtübersicht das erstellte Activity Relationship Chart gezeigt werden muss und gleichzeitig separat Bewertungen der Arbeitsplätze sichtbar sein müssen.

Eine gute Möglichkeit für eine Umsetzung dieser Anforderungen ist es, ein VBA Dialog Formular zu benutzen. Der Workshopleiter kann den Dialog frei platzieren und trotzdem beide Informationen sichtbar machen.

Der Dialog braucht die zu bewertenden Arbeitsplätze. Bei mir sind das zwei Frame-Objekte mit einem Label für den Arbeitsplatz Code und die Bezeichnung.

Die Bewertungen erfolgen über zwei Listboxen. Die Listbox für die Gründe darf mehrere gewählte Elemente beinhalten. Das steuern wir über die Eigenschaft MultiSelect.

Visual Basic Dialog Formular für die Workshop Bewertung
Visual Basic Dialog Formular für die Workshop Bewertung

Die Ereignisse im Dialog bringen die Funktionalität für die Bewertung mit.

Option Explicit

' die Variable speichert die Position der aktuelle Bewertung
Dim position As Integer

' zuerst wird die Form initialisiert, die beiden Listbox werden mit den Werten
' aus dem Eingabe-Worksheet befüllt
' die Position wird auf den ersten noch nicht bewertete Beziehung gesetzt
Private Sub UserForm_Initialize()
  Call UpdateReasonListbox(ListBoxSymbol, COL_RATING_SYMBOL)
  Call UpdateReasonListbox(ListBoxCodes, COL_REASON_CODE)
  
  position = FirstEmptyRating()
  Call UpdateView
End Sub

' nächste Bewertung vornehmen und Position erhöhen
' vorher werden die Eingaben in den Listboxen im ARC gespeichert
Private Sub CommandButton1_Click()
  Call Save
  If position = RatingsCount() Then Exit Sub
  position = position + 1
  Call UpdateView
End Sub

' zur vorherigen Bewertung zurückspringen
Private Sub CommandButton2_Click()
  Call Save
  If position = 1 Then Exit Sub
  position = position - 1
  Call UpdateView
End Sub

' eine neue Bewertung beginnen, dabei wird auch das ARC neu erzeugt
Private Sub CommandButton3_Click()
  If MsgBox("Eine neue Bewertung beginnen? Alle Diagramm-Daten werden dabei gelöscht.", vbYesNoCancel, "Neue Bewertung") <> vbYes Then Exit Sub
  
  Call CreateARC
  position = 1
  Call UpdateView
End Sub


' die aktuelle Bewertung im ARC speichern
Private Sub Save()
Dim rating As RatingType
Dim i As Integer
Dim s As String

  rating.department1 = LabelDepartment1.Caption
  rating.department2 = LabelDepartment2.Caption

  For i = 0 To ListBoxSymbol.ListCount - 1
    If ListBoxSymbol.Selected(i) = True Then
      rating.symbol = Sheets(SHEET_INPUT).Cells(ROW_INPUT_START + i, COL_RATING_SYMBOL)
    End If
  Next
  
  s = ""
  For i = 0 To ListBoxCodes.ListCount - 1
    If ListBoxCodes.Selected(i) = True Then
      s = s & Sheets(SHEET_INPUT).Cells(ROW_INPUT_START + i, COL_REASON_CODE) & ";"
    End If
  Next
  If Right$(s, 1) = ";" Then s = Left$(s, Len(s) - 1)
  rating.codes = s
  
  Call SetRating(position, rating)
End Sub

' die Ansicht aktualisieren: die Daten aus dem ARC der aktuellen Position 
' einlesen und in den Dialogfeldern darstellen
Private Sub UpdateView()
Dim rating As RatingType
Dim i As Integer
Dim arr() As String
Dim code As Variant
Dim total As Integer

  rating = GetRating(position)
  LabelDepartment1.Caption = rating.department1
  LabelDepartment2.Caption = rating.department2
  
  LabelDepartmentDescription1.Caption = rating.description1
  LabelDepartmentDescription2.Caption = rating.description2
  
  For i = 0 To ListBoxSymbol.ListCount - 1
    ListBoxSymbol.Selected(i) = False
  Next
  
  For i = 0 To ListBoxSymbol.ListCount - 1
    If Left$(ListBoxSymbol.List(i), Len(rating.symbol & " ")) = rating.symbol & " " Then
      ListBoxSymbol.Selected(i) = True
      Exit For
    End If
  Next
  
  arr = Split(rating.codes, ";")
  
  For i = 0 To ListBoxCodes.ListCount - 1
    ListBoxCodes.Selected(i) = False
    For Each code In arr
      If Left$(ListBoxCodes.List(i), Len(code & " ")) = code & " " Then
        ListBoxCodes.Selected(i) = True
      End If
    Next
  Next
  
  total = RatingsCount()
  Frame2.Width = Frame1.Width / total * position
  LabelPosition.Caption = CStr(position) & " von " & CStr(total)
End Sub

Private Sub UpdateReasonListbox(lb As msforms.ListBox, column As Integer)
Dim i As Integer
Dim k As Integer
Dim shData As Worksheet

  Set shData = Sheets(SHEET_INPUT)
  lb.Clear
  i = ROW_INPUT_START
  Do
    lb.AddItem (shData.Cells(i, column) & " " & shData.Cells(i, column + 1))
    i = i + 1
  Loop Until shData.Cells(i, column) = ""
End Sub

Etwas Statistik

Ein Activity Relationship Chart sollte nur sehr wenige A- und X-Beziehungen (nicht mehr als fünf Prozent) beinhalten.

Das in einer Workshop Situation vorzugeben, halte ich für schwierig und als Hemmnis. Schließlich sollen Einschätzungen besprochen und gemeinsam entschieden werden. Eine Vorgabe kann das ausbremsen.

Für das spätere Nutzen des Activity Relationship Chart sieht das anders aus, schließlich ist es die Basis für die Anordnungsoptimierung. Damit grundlegende Auswertungen nicht eingeschränkt werden, speichert die Methode SetRating() alle Bewertungsdaten in einer Liste ab.

Automatisch erzeugte Datentabelle während der Bewertung
Automatisch erzeugte Datentabelle während der Bewertung

Die Sub trägt die Bewertungsdaten an der angegebenen Position in das Eingabe-Worksheet ein. Die zusammengefassten Gründe-Codes werden mit der Split Funktion aufgelöst und in einzelne Spalten geschrieben.

Sub SetRating(position, rating As RatingType)
Dim i As Integer
Dim j As Integer
Dim p As Integer
Dim c As Integer
Dim arr() As String
Dim code As Variant
Dim shArc As Worksheet
Dim shData As Worksheet

  Set shArc = Sheets(SHEET_OUTPUT_ARC)
  Set shData = Sheets(SHEET_INPUT)
  
  i = 0
  p = 0
  Do
    If shData.Cells(ROW_INPUT_START + i + 1, COL_DEPARTMENT) <> "" Then
      j = i + 1
      Do
        p = p + 1
        If p = position Then
          shData.Cells(ROW_INPUT_START + p - 1, COL_ARC_DATA) = position
          shData.Cells(ROW_INPUT_START + p - 1, COL_ARC_DATA + 1) = rating.department1
          shData.Cells(ROW_INPUT_START + p - 1, COL_ARC_DATA + 2) = rating.department2
          shData.Cells(ROW_INPUT_START + p - 1, COL_ARC_DATA + 3) = rating.symbol
          shData.Cells(ROW_INPUT_START + p - 1, COL_ARC_DATA + 4) = rating.codes
          
          If rating.codes = "" Then
            shData.Cells(ROW_INPUT_START + p - 1, COL_ARC_DATA + 5) = 1
          Else
            shData.Cells(ROW_INPUT_START + p - 1, COL_ARC_DATA + 5) = 0
          End If
          
          arr = Split(rating.codes, ";")
          c = ROW_INPUT_START
          Do
            shData.Cells(ROW_INPUT_START + p - 1, COL_ARC_DATA + 5 + c - ROW_INPUT_START + 1) = 0
            For Each code In arr
              If CStr(code) = shData.Cells(c, COL_REASON_CODE) Then
                shData.Cells(ROW_INPUT_START + p - 1, COL_ARC_DATA + 5 + c - ROW_INPUT_START + 1) = 1
              End If
            Next
            c = c + 1
          Loop Until shData.Cells(c, COL_REASON_CODE) = ""
          
          shArc.Cells(ARC_TOP + i * 2 + j - i, ARC_LEFT + (j - i) * 2) = rating.symbol
          Call AssignFont(shData.Cells(ROW_INPUT_START + RatingSymbolPosition(rating.symbol), COL_RATING_SYMBOL), shArc.Cells(ARC_TOP + i * 2 + j - i, ARC_LEFT + (j - i) * 2))
          
          shArc.Cells(ARC_TOP + i * 2 + j - i + 1, ARC_LEFT + (j - i) * 2).NumberFormat = "@"
          shArc.Cells(ARC_TOP + i * 2 + j - i + 1, ARC_LEFT + (j - i) * 2) = rating.codes
          Exit Sub
        End If
        j = j + 1
      Loop Until shData.Cells(ROW_INPUT_START + j, COL_DEPARTMENT) = ""
     End If
    i = i + 1
  Loop Until shData.Cells(ROW_INPUT_START + i, COL_DEPARTMENT) = ""
End Sub

Wollen Sie die ARC Daten nachfolgend für Methoden wie Schmigalla oder CORELAP (Computerized Relationship Layout Planning) nutzen, brauchen Sie die Listenform für Punktebewertungen der Beziehungen, um eine Reihenfolge zu erzeugen.

Zusammenfassung

Activity Relationship Charts sind sinnvolle Hilfsmittel bei der Anordnungsplanung von Fabriklayouts. Mit ihnen ist es möglich, neben dem Materialfluss, auch andere Kriterien zu berücksichtigen. Activity Relationship Charts visualisieren die Beziehungen zwischen Arbeitsplätzen mittels dreieckiger Mileage-Diagramme.

Die Erhebung der Beziehungsdaten erfordert oft die Zusammenarbeit von mehreren Beteiligten. Das ist über geführte Workshops am besten möglich.

Dabei hilft ein selber entwickelter Activity Relationship Chart Generator unter Microsoft Excel, der auch komfortabel bei gemeinsamen Bewertungen in Workshops unterstützt.

Download

Download mit Quellcode zum Programmieren

Hier können Sie den ARC Generator herunterladen und ausprobieren und an Ihre Anforderungen anpassen und erweitern. Probieren Sie es aus!

Links

Factory Planning by James A. Tompkins, John A. White, Yavuz A. Bozer, J. M. A. Tanchoco
https://books.google.de/books/about/Facilities_Planning.html?id=-xBIq6Qm2SQC&redir_esc=y

Activity Relationship Chart by Wikipedia
https://en.wikipedia.org/wiki/Activity_relationship_chart

Method to Generate Activity Relationship Chart in Facility Layout Problems by Monika Sharma, Ashwani Mor
https://www.ijspr.com/citations/v13n3/IJSPR_1303_144.pdf