Ein k-Means-basierter Algorithmus zur Bestimmung der optimalen Position eines Anhängers zur Heuballenbergung
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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