Ein k-Means-basierter Algorithmus zur Bestimmung der optimalen Position eines Anhängers zur Heuballenbergung

Die Seite wird erstellt Lukas Reinhardt
 
WEITER LESEN
M. Gandorfer et al.: Künstliche Intelligenz in der Agrar-und Ernährungswirtschaft,
                   Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, Bonn 2022 111

Ein k-Means-basierter Algorithmus zur Bestimmung der
optimalen Position eines Anhängers zur Heuballenbergung

                      1
Jens Harbers

Abstract: In dieser Arbeit wird ein Algorithmus vorgestellt, der einzelne Ballen zu Gruppen sortiert,
sodass diese in einer Tour vom Feld geholt werden können. Dieser basiert auf dem k-Means-
Algorithmus, welcher mit weiteren Nebenbedingungen zur Optimierung nach den Kriterien der
kleinsten Wegstrecke und der maximalen Ladekapazität in Stückguteinheiten des Anhängers fähig
ist und den klassischen k-Means-Algorithmus erweitert. Der Algorithmus weist in der
Simulationsstudie jedem Ballen genau eine Gruppe zu und liefert unter Einhaltung aller
Bedingungen für das Optimierungsproblem eine gültige Lösung. Die Abstellkoordinaten für den
Anhänger können für die weitere Praxis verwendet werden, dennoch soll der Algorithmus weiter
ausgebaut werden, damit weitere Faktoren in die Optimierung einfließen können.
Keywords: k-Means-Algorithmus, konvexe Optimierung, Landwirtschaft, Ballenbergung

1        Einleitung und Problemstellung
In der deutschen Landwirtschaft stellen Dauergrünland und Ackerland die wichtigsten
Bewirtschaftungsformen einer Fläche dar. Ein Teil der Bewirtschaftung ist die
Futtergewinnung und die anschließende zügige Futterbergung der Ballen, um diese mit
hoher Futterqualität zu lagern und damit die Milchkühe mit Heu oder Ballensilage
höchster Qualität versorgen zu können [CM03]. Gleiches gilt für die Bergung von
Strohballen zur Sicherung schimmelfreier Einstreu. Neben der ökonomischen Dimension
des Ressourcenaufwands der Futterbergung kommen ökologische Komponenten zum
Tragen: Einerseits soll eine häufige Befahrung des Bodens aufgrund der Gefahr der
Bodenverdichtung vermieden werden [Sv94], andererseits soll der Betriebsmittelaufwand
aufgrund negativer Umweltauswirkungen reduziert werden. Eine Zielgröße ist es daher,
die Fahrstrecke zu minimieren. Stand der praktischen Landwirtschaft ist, dass keine
landwirtschaftliche Maschine eine solche Optimierung anbietet und der Landwirt nach
Erfahrungswissen den Anhänger zur Beladung abstellt. Die herkömmliche
Vorgehensweise, nach der der Anhänger nach Erfahrungswerten abgestellt wird, stellt
nicht die Optimallösung für eine zeitgemäße Erntelogistik dar, sodass eine mathematische
Bestimmung geeigneter Abstellpositionen die Schlagkraft erhöht. Insgesamt ist die
Erntelogistik ein wichtiges Thema in der Agrarwissenschaft (vgl. [Ig16]), sodass hier ein
Bedarf einer mathematisch fundierten Bestimmung der Abstellposition vorliegt.

1
    Landwirtschaftsverlag Münster, Data Analyst, Hülsebrockstraße 2-8, 48165 Münster, jens.harbers@lv.de
      https://orcid.org/0000-0001-6634-623X
112      Jens Harbers

2       Material und Methoden
Das geplante Anwendungsszenario des Algorithmus ist in Abbildung 1 gezeigt: In der
Praxis werden die Koordinaten der Ballen von der Rund- bzw. Quaderballenpresse erfasst
und entweder in einer Datenbank gespeichert oder auf einem Speicher des
Bedienterminals abgelegt. Anschließend werden die Positionen der Ballen mit dem
Flächenplan markiert. Das Programm erstellt dann die Abstellpositionen des Anhängers
sowie die zugehörigen Ballen für jede Tour. Die Ergebnisse werden anschließend auf
einem Monitor als Karte dargestellt, sodass der Fahrer des Anhängers den Plan abarbeiten
kann. Im Folgenden wird auf den Algorithmus selbst näher eingegangen.

     Abb. 1: Piktogrammfolge des Prozessablaufs vom Pressen der Ballen und der Übermittlung der
                                Ballenkoordinaten bis zum Beladen

2.1       Aufbau des Optimierungsszenarios und der Simulationsstudie

Zuerst werden die Bedingungen für das Optimierungsszenario aufgestellt, die der
Algorithmus einzuhalten hat. Um die Parameter korrekt zu bestimmen, werden die
fachlichen Kenntnisse der Landwirtschaft und mathematische Prinzipien kombiniert.
Folgende Einflussgrößen wurden in das Modell aufgenommen:
1.       Zuerst werden die Lagekoordinaten der Ballen auf dem Landstück benötigt, die
         Anzahl kann aus den Daten durch Abzählen ermittelt werden. In dieser
         Ausarbeitung werden die Positionen auf einer Gitterstruktur (Breite: 15 m, Länge
         22 m je Masche) simuliert und einer Streukomponente aus einer Gleichverteilung
         (Minimum: 0 m, Maximum: 2 m) für den Breitengrad, und einer Gleichverteilung
         (Minimum: 0 m, Maximum: 15 m) für den Längengrad versehen, um
         Unregelmäßigkeiten der Ballenkoordinaten zu berücksichtigen. Zur Überlagerung
         mit der Fläche wurde der Minimalwert des Flächenfensters des Breitengrades
         (454815) und des Längengrads (5936546) addiert. Diese Koordinaten sind in
         EPSG 25832 projiziert. Die Projektion EPSG 25832 wird von der European
         Petroleum Survey Group Geodesy (EPSG) für Europa als Referenzsystem
         systematisiert.
2.       Für die Flächenzuordnung der Ballen werden sogenannte Shapefiles benötigt. Die
         Ballen werden mittels einer räumlich basierten Verknüpfung (Spatial Join via Points
         in Polygon) dem Landstück, auf dem sie liegen, mit dem Polygon, das im Shapefile
         enthalten ist, zugeordnet. Ballen, die nicht auf der betreffenden Fläche liegen,
k-Means-basierte Optimierung von Ballentransporten   113

      werden damit nicht weiter berücksichtigt. Für die Projektion der Geokoordinaten
      des Polygons wird das Modell EPSG 25832 verwendet. Die Umwandlung der
      Koordinaten von der Ausgangsprojektion WGS84 in EPSG 25832 hat den Vorteil,
      dass eine Änderung um eine Einheit einer Änderung von einem Meter entspricht.
3.    Ladekapazität des Anhängers. Je nach Maß der Ballen und der Ladetechnik ergibt
      sich die maximale Anzahl an Ballen, die in einer Tour abgefahren werden können.
      Eine Überschreitung der maximalen Zulademenge kann den Anhänger beschädigen
      und zudem Verstöße gegen die Straßenverkehrsordnung nach sich ziehen. In der
      Simulationsstudie beträgt die minimale Anzahl an Ballen, die in einer Tour geholt
      werden können, ein Stück, da keine Ballen auf der Fläche verbleiben dürfen. Als
      Maximalwert wird eine Lademenge von acht Ballen je Fahrt unterstellt.
4.    Als Kostenfunktion für k-Means wird die einfache Fahrstrecke verwendet. Diese
      soll in der Optimierung minimiert werden. Eine Lösung mit geringerer Fahrtstrecke
      ist einer anderen Lösung mit längerer Strecke vorzuziehen. Diese wird als
      summierte Distanz zwischen der Anhängerposition (Clusterzentrum) und den
      Ballen, basierend auf dem k-Means-Algorithmus [St82] ausgedrückt.

2.2    Implementierung und Ablauf des Optimierungsszenarios

Nachdem die Nebenbedingungen vollständig definiert sind, wurde das
Optimierungsproblem in Python implementiert. Dazu wurden die Bibliotheken pandas
[Mc10], GeoPandas [Jo20], NumPy [Ha20] und PuLP [MCD11] verwendet, die als
Standardbibliotheken weit verbreitet sind. Der Algorithmus basiert auf einer Arbeit von
Bennet et al. [BBD00], worin die mathematischen Hintergründe beschrieben sind. Die
Anzahl der Gruppen (Cluster) wird durch Dividieren der Ballenanzahl durch die maximale
Lademenge des Anhängers gebildet und wird anschließend auf die nächst höhere Ganzzahl
aufgerundet.
Die Optimierung läuft nach der Datenvorbereitung (siehe Abschnitt 2.1) wie folgt ab: Der
Algorithmus weist für die Initialisierung der Cluster zufällig ausgewählten Datenpunkten
aus dem Datensatz einen Cluster zu. Die Datenpunkte werden dem nächstgelegenen
Zentroid zugewiesen. Anschließend wird auf das Einhalten der Clustergröße der Cluster
geachtet. Wenn die Clustergrößen aller Cluster eingehalten werden, werden in der
nachfolgenden Iteration der Mittelwert der Datenpunkte eines Clusters als neuer Zentroid
gebildet und die Distanzen ermittelt. Die Iteration wird solange fortgeführt, bis entweder
keine Verkleinerung der Wegstrecke möglich ist oder die Clustergröße nicht mehr
eingehalten wird. Wenn Cluster außerhalb der gültigen Clustergrößen gebildet wurden, so
wird der Algorithmus mit anderen Startwerten neu durchgeführt. Die Testung der
simulierten Ballen auf Zufälligkeit wurde mithilfe von der Ripleys k-Funktion [Ri76] aus
dem spatstat-Paket [BRT15] durchgeführt und ergab dabei eine signifikante
Clusterbildung (p < 0,05) der simulierten Ballenpositionen. Die Visualisierungen in
Abbildung 2 und Abbildung 3 wurden in R [R 21] mit ggplot2 [Wi16] erstellt.
114   Jens Harbers

3     Ergebnisse
Es wurden 16 Cluster ermittelt, wie in Abbildung 3 gezeigt. Insgesamt werden 2386 m in
einfacher Entfernung (ohne Hofstrecke) zurückgelegt, wenn der Anhänger an den
angegebenen Koordinaten abgestellt wird und die Ballen gemäß der Zuordnung geladen
werden. Durchschnittlich muss ein Weg von 19,2 m Länge vom Ballen zum abgestellten
Anhänger gefahren werden. Die Spannweite der Distanzen liegt zwischen 2,3 m und
35,6 m. Die mittlere Standardabweichung innerhalb der Cluster in Abb. 2 beträgt 7,53 m.

    Abb. 2: Boxplots mit Quartilen und Ausreißern der Distanzverteilung [m] der Rundballen
innerhalb der Gruppen, gemessen zwischen den Ballen und dem Clusterzentrum, auf dem sich der
                         abgestellte Anhänger befindet, für 16 Cluster

Abb. 3: Rundballen mit zugehörigem Gruppencode sowie den Zentroiden (schwarze Quadrate mit
             Kreuzen), basierend auf einem modifizierten k-Means-Algorithmus
k-Means-basierte Optimierung von Ballentransporten   115

4    Diskussion
Die vorhandene Optimierung ist funktionsfähig und konvergiert, sodass Cluster gebildet
werden. Außerdem werden die Nebenbedingungen eingehalten und sie liefert nach den
Kriterien in 2.1 eine gültige Lösung. Für kleine Flächen mit weniger als 150 Ballen
benötigt der Algorithmus auf einem normalen Bürorechner (Windows 10 mit 16 GB RAM
und 500 GB SSD-Festplattenspeicher) zwei Minuten für die Berechnung. Dies deckt mehr
als 80 % der Grünlandflächen in Niedersachsen ab. Die gezeigte Fläche in Abbildung 3
hat eine Größe von 4,53 ha, jedoch steigt der Rechenaufwand bei steigender Ballenanzahl
stark an, sodass andere Möglichkeiten in Betracht gezogen werden müssen, wenn mehr
als 150 Ballen den Clustern zugeordnet werden sollen. Aus mathematischer Sicht ist das
Problem, das der k-Means-Algorithmus heuristisch löst, im Allgemeinen NP-schwer
[MNV12]. Das bedeutet, dass nach aktuellem Stand der Forschung das Problem nicht in
polynomieller Zeit lösbar ist und somit auch, dass von algorithmischer Seite keine
wesentlichen Vereinfachungen zu erwarten sind.

5    Ausblick
Zudem muss erfasst werden, welcher Ballen genau verladen wird. Ferner muss eine
Kommunikationsschicht implementiert werden, die vom Traktor ausgehend die bereits
verladenen Ballen anzeigt und diese von der Karte entfernt, um nur die Ballen anzuzeigen,
die noch nicht verladen wurden. Hierzu bedarf es robuster und fehlertoleranter
Infrastruktur, um den korrekten Ballen aus einer Gruppe von Ballen zu erkennen und als
‚verladen‘ zu kennzeichnen. Zudem muss eine Datenübertragung zu einem Rechner
aufgebaut werden, die den Bedingungen des ländlichen Raumes genügt. Der gezeigte
Prototyp kann bei einem Wechsel des Flächenpolygons auf jede beliebige Fläche
angewendet werden, sodass ein breiter Einsatz in der Landwirtschaft möglich ist.
Auch wenn einige praxisrelevante Parameter wie Ladekapazität, Anzahl an Ballen und
indirekt die Flächenform in die Optimierung einbezogen wurden, so muss das Verfahren
um weitere Komponenten ergänzt bzw. für weitere Anwendungsszenarien erweitert
werden. Entwicklungsmöglichkeiten liegen in der Berechnung der Abstellposition für
mehrere benachbarte Flächen. Die Zuwegung dafür muss bei der Berechnung der
Distanzen einfließen. Ferner müssen Entwässerungsgräben und andere
Landschaftselemente einbezogen werden, da die Berechnung der Distanzmatrix sich
dadurch verändert. Dies trägt dem Umstand Rechnung, dass nicht alle Objekte auf einer
Landfläche befahrbar sind und daher Umwege genommen werden müssen. Bei
Rundballen muss zudem beachtet werden, dass diese nicht von allen Richtungen
gleichermaßen aufgenommen werden können, sondern nur über die Stirnseite.
Quaderballen können von der Stirnseite und von der Querseite sicher aufgenommen
werden. Zudem muss der Wenderadius einbezogen werden, da ansonsten die Ballen nicht
angefahren werden können. Nur wenn diese Kriterien in Folgearbeiten berücksichtigt
werden, kann dieses Verfahren in der Praxis erfolgreich genutzt werden.
116      Jens Harbers

Danksagung
Ich bedanke mich herzlich bei der Landwirtschaftsverlag GmbH für die Bereitstellung der
notwendigen Ressourcen für das Projekt. Zudem bedanke ich mich bei beiden Reviewern,
die mit den durchdachten Anmerkungen die Qualität des Manuskriptes verbessert haben.
Literaturverzeichnis
[BBD00]       Bennett, K. P.; Bradley, P. S.; Demiriz, A.: Constrained K-Means Clustering, 2000.
[BRT15]       Baddeley, A.; Rubak, E.; Turner, R.: Spatial Point Patterns: Methodology and
              Applications with R. Chapman and Hall/CRC Press, London, 2015.
[CM03]        Coleman, S. W.; Moore, J. E.: Feed quality and animal performance. Field Crops
              Research 1-2/84, S. 17-29, 2003.
[Ha20]        Harris, C. R. et al.: Array programming with NumPy. Nature 7825/585, S. 357-362,
              2020.
[Ig16]        Igathinathane, C. et al.: Biomass bale stack and field outlet locations assessment for
              efficient infield logistics. Biomass and Bioenergy 91, S. 217-226, 2016.
[Jo20]        Jordahl, K. et al.: geopandas/geopandas: v0.8.1. Zenodo, 2020.
[Mc10]        McKinney, W.: Data Structures for Statistical Computing in Python. In (van der Walt,
              S.; Millman, J. Hrsg.): Proceedings of the 9th Python in Science Conference, S. 56-61,
              2010.
[MCD11] Mitchell, S.; Consulting, S. M.; Dunning, I.: PuLP: A Linear Programming Toolkit for
        Python, 2011.
[MNV12] Mahajan, M.; Nimbhorkar, P.; Varadarajan, K.: The planar k-means problem is NP-
        hard. Theoretical Computer Science 442, S. 13-21, 2012.
[R 21]        R Core Team: R: A Language and Environment for Statistical Computing. R Foundation
              for Statistical Computing, Vienna, Austria, 2021.
[Ri76]        Ripley, B. D.: The second-order analysis of stationary point processes. Journal of
              Applied Probability 2/13, S. 255-266, 1976.
[St82]        Stuart P. Lloyd: Least squares quantization in PCM. IEEE Trans. Inf. Theory 28, S. 129-
              136, 1982.
[Sv94]        Soane, B. D.; van Ouwerkerk, C.: Chapter 1 - Soil Compaction Problems in World
              Agriculture. In (Soane, B. D.; van Ouwerkerk, C. Hrsg.): Developments in Agricultural
              Engineering. Elsevier, S. 1-21, 1994.
[Wi16]        Wickham, H.: ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York,
              2016.
Sie können auch lesen