
Früher oder später im Leben der meisten Teams kommt er - in Bewegung. Sie werden in einen sauberen, leeren Raum geführt, in dem Sie den größten Teil Ihres Lebens verbringen werden. Wenn Sie Designer sind, denken Sie zuerst darüber nach, wie Sie die Bilder aufhängen und die Blumen platzieren, damit der Raum mit neuen Farben funkelt. Wenn Sie ein erfahrener Büro-Samurai sind, bestimmen Sie mit geschultem Auge den besten Ort und beanspruchen Sie ihn zuerst. Wenn Sie der Abteilungsleiter sind, werden Sie wahrscheinlich Kopfschmerzen wegen der Sitzordnung aller Mitarbeiter haben. Wenn Sie jedoch gleichzeitig ein Team von Datenwissenschaftlern leiten, hilft Ihnen die Python-
Münze .
Natürlich bestimmt alles Ihren Führungsstil. Wenn Sie autoritäre Entscheidungen bevorzugen, können Sie einfach mit einem gebieterischen Finger darauf hinweisen, wohin jeder gehen sollte. Und es spielt keine Rolle, ob sich jemand weigert, vor der Wand oder zueinander zu sitzen. Seit der Abschaffung der Leibeigenschaft im Jahr 1861 hat ein solcher Stil in unserem Land jedoch stetig an Popularität verloren. Und wenn Sie immer noch über den Komfort der Mitarbeiter besorgt sind, lohnt es sich, ihre Vorlieben zu sammeln und irgendwie zu berücksichtigen. Aber hier schleicht sich der Teufel an, derjenige, der im Detail steckt: wie man zusammenbaut, wie man berücksichtigt, wem man den Vorzug gibt usw.
Angesichts der langjährigen Erfahrung bei der Organisation von Wettbewerben für Schulkinder, bei denen die Gleichstellung der Bedingungen eine der Hauptprioritäten ist, war ich entschlossen, transparente und verständliche Mechanismen zu schaffen, bei denen erfahrene oder schnellere Mitarbeiter keine Vorteile erzielen.
Sie werden nicht allen gefallen, oder immer noch ...?
Wir gehen davon aus, dass Mitarbeiter möglicherweise Sitzplatzpräferenzen haben und potenzielle Unzufriedenheit minimieren möchten. Das heißt, es ist notwendig, ein System zur Sitzverteilung zu organisieren, damit einige Mitarbeiter, die für sich selbst optimal handeln, nicht in einen klaren Konflikt mit anderen geraten. Die Strategie "Wer stand zuerst auf und Pantoffeln" führt offensichtlich nicht zu diesem Ziel. Wenn man eine bestimmte Reihenfolge der Wahl festlegt (zum Beispiel auf der Grundlage des Verdienstes), ist die Aufgabe immer noch nicht gelöst - eine Person, die zuvor wählt, aber relativ gleichgültig ist, kann versehentlich den von anderen gewählten Platz einnehmen. Ganz zu schweigen davon, dass eine solche Anordnung an sich schon umstritten ist.
Wir haben die Art der Abstimmung gewählt, bei der die Abstimmung aller davon abhängt, wie die anderen abgestimmt haben: Wenn es einer Person mehr oder weniger egal ist, an welchem der beiden Plätze sie sitzen soll, ist es die optimale Strategie, so zu tun, als gäbe es weniger Wettbewerber.
Unser Weg zum perfekten Sitzen
Der erste Schritt bestand darin, festzustellen, wo Sie sich im Allgemeinen hinsetzen können. Hier war die Aufgabe für alle da alle daran interessiert waren, möglichst viele bequeme Plätze zu schaffen - schließlich wird in diesem Fall die Konkurrenz reduziert. Wir machten eine Karte und führten Erklärungsarbeiten „unter der Bevölkerung“ durch, wobei jeder Ort als ideal beworben wurde.

In einer idealen Welt wäre es für jeden notwendig, jedem Ort Präferenzpunkte zu geben, aber es ist für eine Person schwierig, Hundertstel zu bewerten, wie sich ein Ort von einem anderen unterscheidet.
Daher wurde jeder gebeten, Prioritätslisten zu wählen, deren Anzahl überhaupt nicht begrenzt ist: welche Plätze er an erster Stelle einnehmen möchte, welche an zweiter Stelle und welche an dritter Stelle.
Es sollte beachtet werden, dass die Logik der Präferenzen unter den Mitarbeitern sehr unterschiedlich war: Jemand wollte näher am Fenster sein, jemand wollte aus dem Fenster schauen, jemand war wichtig für die Nähe zur Klimaanlage und sogar für die Farbe der Wände. Es ist schwierig, Vorlieben selbst zu berücksichtigen. Hier können Sie den Menschen nur die Möglichkeit geben, einen Ort auszuwählen.
Als nächstes war es notwendig, die Metrik für den Erfolg der Vereinbarung zu bestimmen. Je unbequemer eine Person sitzt, desto mehr sollte ein solches Modell mit einer Geldstrafe belegt werden. Ich beschloss, eine quadratische Strafe zu verhängen, um grelle Unannehmlichkeiten zu vermeiden.
Es stellte sich so heraus: Wenn eine Person von ihrer TOP-1-Liste gestrichen wurde, dann eine Geldstrafe von 2; wenn aus der Liste von TOP-2 - eine Geldstrafe von 4, TOP-3 - 8, TOP-4 - 16 und so weiter. Ich behaupte nicht, dass diese Metrik optimal ist, aber sie sieht vernünftig aus.
Ich habe ein
einfaches Python-Programm geschrieben - Prioritäten von Kollegen werden eingeführt, und es berechnet die Platzierungsoptionen mit einer Mindeststrafe. Der Algorithmus wurde den Kollegen im Voraus angekündigt (wie naiv ich war!). Die Listen wurden alle offen veröffentlicht, um auf Wunsch zustimmen zu können.
Nachdem einige Mitarbeiter die Berechnungen gesehen hatten, stellten sie fest, dass Sie versuchen können, Ihre "Bewerbung" abzuholen, um den gewünschten Ort zu finden. Datenwissenschaftler sind solche Datenwissenschaftler! :)
Infolgedessen wurde eine zweite Wahlrunde organisiert, in der es möglich war, Änderungen an ihren geschlossenen Prioritäten vorzunehmen. Somit waren alle wieder unter gleichen Bedingungen - jeder konnte auswählen und Änderungen vornehmen.
Nachdem ich Bewerbungen aus der zweiten Runde gesammelt hatte, führte ich das Programm bereits zum letzten Mal aus. Fufh! Es scheint, dass alle glücklich sind.
Anstelle von PS
Es ist anzumerken, dass die Wünsche hinsichtlich der Nähe der Mitarbeiter zueinander nicht berücksichtigt wurden. In diesem Paradigma ist es jedoch auch recht einfach, sie zu implementieren, indem Sie Wunschliste erstellen (wer möchte neben wem sitzen und welche Orte in der Nähe sind, so diese Mitarbeiter) und dann das Modell für die Nichterfüllung dieser Wünsche festlegen.
Natürlich ist die Option immer möglich, wenn zwei Arrangements die gleiche Strafe haben.
In diesem Fall habe ich mich bereits für eine Münze entschieden - die Optimierung ist weiter machtlos :).
Nikolay Knyazev, Leiter der maschinellen Lerngruppe von Jet InfosystemsGithub-Code