Heuristik für ein Facility-Location-Problem ohne off-the-shelf solver

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Niccc30
User
Beiträge: 1
Registriert: Donnerstag 21. November 2019, 12:50

Servus,
bin neu im Forum und brauche dringend Hilfe.
Ich schreibe grade meine Masterarbeit im Bereich Industrial Engineering und muss einen storage assignment Algorithmus, ohne die sonst gerne genutzten standard solver wie Gurobi und Co. in Python implementieren.
Bisher habe ich mich 'nur' mit NLP, 'AIs' und den standard solvern ernsthaft beschäftigt. Deshalb fehlt mir die Erfahrung in diesem Bereich.

Frage
Ich suche nach templates an denen ich mich für die Implementierung dieses Algorithmus orientieren kann. (Z.b selbst geschriebene solver templates, code der sich mit den beschriebenen Problemen beschäftigt etc.)
Wenn ihr sonst noch Ideen habt zu dem unten geschilderten Problem oder falls ihr mal über ähnliche Projekte gestolpert seid würde ich mich sehr über euren Input freuen. :D

Projekt
Der Algorithmus selbst ist eine Heuristik die sich an den Lösungsverfahren für das p-center problem bzw. set-cover problem orientiert und eine Anzahl von Artikeln mit verschiedenen Artikelnummern einem Lagerplatz zuordnet
(Beispiel: Wir haben 3 Artikelnummern und von jeder Artikelnummer sollen 3 einzelne Artikel, 9 verschiedenen Lagerplätzen zugeordnet werden. Dabei kann ein Lagerplatz nur einen Artikel aufnehmen)
Das Problem selbst ist ein mixed-integer problem und die objective function stellt ein min/max problem dar das die maximale Distanz von definierten Messpunkten zu den einzelnen Lagerplätzen auf denen ein Artikel gelagert wird minimiert.

Der Grund warum dabei nicht auf die standard solver zurück gegriffen werden kann ist, dass es sich hier um ein np-hard problem handelt und man mit steigender Anzahl von problem instances (hier Artikelnummern und Lagerplätzen) irgendwann keine Lösung mehr mit akzeptabler Rechenzeit findet.

Bis zu diesem Punkt basiert der Algorithmus auf einem anderen Paper, dass im vergangenen Jahr veröffentlicht wurde. Es geht als hier erstmal nur um die Umsetzung eines bestehenden Algorithmus, der nicht als meine Eigenleistung bewertet wird (nur um klar zu stellen, dass ich mir hier keine unerlaubte Hilfe hole :D)

Ab hier beginnt dann meine Idee.
Die gefundene Lösung berücksichtigt keine Korellationen zwischen den einzelnen Artikeln (z.b welche Artikel besonders häufig zusammen bestellt werden). Dies kann aber grade im Fall von großen Händlern wie Amazon und Co. durchaus eine Relevanz haben da mit sehr hohen pick-rates (hohe Anzahl von Entnahmen eines Artikels aus dem Lager) jeder eingesparte Meter den ein Lagerarbeiter zurücklegen muss, um einen Artikel für eine Bestellung aus dem Lager zu holen, auf Dauer zu massiven Zeit und somit Kostenersparnissen führen kann.
Daher ist mein Ziel zu schauen on die Distanz die ein Lagerarbeiter zurücklegen muss, um Artikel für eine Bestellung aus dem Lager zu entnehmen weiter reduziert werden kann bzw. möchte ich schauen ob das möglich ist mit meinem Ansatz.


Vielen Dank schonmal für eure Antworten.

TL;DR: Ich habe mir ein Projekt aufgehalst von dem ich besser die Finger gelassen hätte aber nachher ist man immer schlauer :lol:
Antworten