Gemeinsam gewinnen · Verständlich erklärt

Den Bündelgewinn teilen verständlich erklärt

Drei Freunde teilen sich ein Taxi, das weniger kostet als drei Einzelfahrten. Wer zahlt wie viel? Findet einer seinen Anteil zu hoch, fährt er lieber allein, und die Ersparnis ist weg. Diese Seite zeigt es am Beispiel von Lagern, die ihre Bestände zusammenlegen.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

Ein Wort unbekannt? Das Begriffsverzeichnis erklärt es in wenigen Sätzen.

Ein Taxi für drei

Drei Freunde wollen vom Bahnhof in dieselbe Gegend. Allein bräuchte jeder ein Taxi. Nehmen wir an, die Einzelfahrten kosten 12, 20 und 28 Euro, zusammen 60 Euro. Eine gemeinsame Fahrt mit Umweg kostet 45 Euro. Gemeinsam sparen sie also 15 Euro. Offen ist, wer wie viel von den 45 Euro zahlt.

Der einfachste Vorschlag: Jeder zahlt gleich viel, also 15 Euro. Der Freund mit der Einzelfahrt von 12 Euro zahlt dann mehr als allein. Er steigt aus, und die gemeinsame Fahrt gibt es so nicht mehr.

Besser ist es, wenn jeder denselben Anteil seiner Einzelfahrt zahlt. Im Beispiel sind die 45 Euro 75 % der 60 Euro. Also zahlt jeder 75 % seiner Einzelfahrt: 9, 15 und 21 Euro. Jetzt zahlt keiner mehr als allein, und jeder fährt mit. Allgemein heißt eine Aufteilung, bei der keine Person und keine Gruppe allein günstiger fährt, in der Fachsprache Kern.

Dasselbe bei Lagern

Statt Taxis denken Sie an Lager, die verschiedenen Spediteuren gehören. Jedes Lager hält Waren vorrätig, weil niemand genau weiß, wie viel die Kundschaft bestellt. Legen die Lager ihre Vorräte zusammen (sie bilden eine Allianz), brauchen sie zusammen weniger: Bestellt die Kundschaft des einen viel, bestellt die des anderen vielleicht wenig, und der Vorrat gleicht das aus. Das spart Kosten, so wie das gemeinsame Taxi. Die Frage ist dieselbe: Wie teilen die Lager die gemeinsamen Kosten auf?

In der Rechnung (gleiche Kosten für alle Lager) spart die Allianz mehr, je mehr Lager mitmachen. Sie spart weniger, wenn die Nachfragen der Lager im Gleichschritt steigen und fallen, denn dann gleicht sich nichts aus.

Vier Regeln für die Aufteilung

  • Gleich teilen: Jedes Lager zahlt gleich viel.
  • Nach der Nachfrage: Jedes Lager zahlt im Verhältnis zu seiner durchschnittlichen Nachfrage.
  • Nach den Einzelkosten: Jedes Lager zahlt im Verhältnis zu dem, was es allein zahlen würde, wie im Taxi-Vorschlag oben.
  • Nach dem Beitrag (Fachwort: Shapley-Wert): Man lässt die Lager in jeder denkbaren Reihenfolge der Allianz beitreten. Jedes zahlt im Durchschnitt das, was es beim Beitritt an Kosten dazubringt, im Taxi etwa den Umweg, den sein Ziel verursacht.

Jede Regel muss dieselbe Frage bestehen: Käme ein Lager oder eine Gruppe allein günstiger weg? Wenn ja, liegt die Aufteilung nicht im Kern.

Was die Rechnung zeigt

Ein Programm hat die Regeln auf erzeugte Lager angewandt, nicht auf echte Daten. In einer Rechnung wurden 400 Allianzen mit je drei bis sechs Lagern erfunden, jede mit anderen Nachfragen:

  • Beim gleich Teilen lag die Aufteilung in 76 der 400 Allianzen im Kern. In den übrigen hätte sich eine Gruppe allein besser gestanden.
  • Nach den Einzelkosten lag sie in 394 Allianzen im Kern, nach dem Shapley-Wert in allen 400.
  • In keiner der 400 Allianzen war der Kern leer: Es gab eine Aufteilung, bei der niemand lieber allein bliebe. Das ist nur eine Zählung, kein Beweis; in anderen Rechnungen kann es anders sein.

Der Shapley-Wert liegt aber nicht überall im Kern. In einer anderen Rechnung, in der die Nachfragen der Lager ganz unterschiedlich zusammenhängen, lag er in einem Teil der Fälle außerhalb. Auch bei gleichmäßigem Zusammenhang gab es zwei Randfälle mit extremen Einstellungen, in denen er den Kern knapp verließ.

Wer steigt aus, und wann?

Beim gleich Teilen zahlte in 245 der 400 Allianzen mindestens ein Lager mehr als allein. Schwankten die Nachfragen der Lager im Gleichschritt, stieg häufiger jemand aus. Beim Shapley-Wert und bei den Einzelkosten stieg in keiner der gerechneten Allianzen ein einzelnes Lager aus.

Häufige Missverständnisse

  • „Gleich viel zahlen ist am gerechtesten.“ Nein. Im Taxi zahlt dann der Freund mit der kürzesten Fahrt mehr als allein und fährt nicht mit.
  • „Wenn die Allianz spart, bleibt sie von selbst zusammen.“ Nein. Sie hat nur dann keinen Grund zu zerfallen, wenn die Aufteilung für jedes Lager und jede Gruppe nicht teurer ist als allein.

Woran Sie das im Alltag erkennen

Achten Sie auf Folgendes:

  • Mehrere zahlen eine Sammelbestellung oder gemeinsame Fracht, und beim Teilen der Rechnung sagt jemand „allein wäre ich günstiger“.

Wie ernst ist das Modell zu nehmen?

Alle Lager haben dieselben Kosten je fehlender und überschüssiger Einheit, es gibt nur eine Bestellrunde, und die Nachfragen sind erzeugt. Die Ersparnis ist ein Durchschnitt über viele mögliche Verläufe; in einer einzelnen Bestellrunde kann sie anders ausfallen.

Was Sie mitnehmen

  • Fragen Sie vor dem Teilen: Käme ein Partner oder eine Gruppe allein günstiger weg?
  • Fragen Sie sich: Trifft die Regel gerade die, die allein am wenigsten zahlen würden, wie beim gleich Teilen?
  • Fragen Sie nach dem Beitrag: Was kostet es die anderen, wenn dieser Partner dabei ist oder fehlt?

Zu dieser Seite gehört ein Programm zum Ausprobieren im Browser, die Demo. Dort stellen Sie ein, wie viele Lager mitmachen, wie stark ihre Nachfragen im Gleichschritt schwanken und nach welcher Regel geteilt wird. Zum Verstehen brauchen Sie sie nicht. Der erste Knopf unten öffnet sie, der zweite führt zum zweiten Teil für Fachleute.

Hinweis: Alle Demos rechnen mit synthetischen oder frei verfügbaren Beispieldaten und laufen auf einem externen Anbieter (Datenschutz). Bitte geben Sie darin keine vertraulichen oder personenbezogenen Daten ein. Die Ergebnisse gelten für die jeweilige Demo-Instanz und lassen sich nicht ungeprüft auf reale Fälle übertragen; für darauf gestützte Entscheidungen übernehme ich keine Gewähr.

Teil 2 · Für Fachleute

Modell und Annahmen

Dieser Teil ist eigenständig lesbar. Er beschreibt das Kostenspiel zusammengelegter Bestände, vier Aufteilungsregeln, den Kern und die Messreihen dazu. Alle Aussagen gelten für gleiche Stückkosten, erzeugte Nachfragen und die unten genannten Zufallsreihen.

  • Lager und Nachfrage: \(n\) Lager (2 bis 8) mit zufälliger Nachfrage \(D_i\), entweder gemeinsam normalverteilt mit Gleichkorrelation \(\rho\) von 0 bis 0,95 oder aus 20.000 Szenarien (Lognormal; schwerer Tail als Pareto mit Index 2,5; Abhängigkeit über eine Gauß-Copula mit Gleichkorrelation). Die Lagergrößen streuen mit dem Regler „Streuung“.
  • Kosten: Gleiche Stückkosten für alle Lager: Unterbestandskosten \(c_u\), Überbestandskosten \(c_o\), Servicegrad \(\alpha = c_u/(c_u+c_o)\) von 0,5 bis 0,99, Kosten in Einheiten von \(c_o\). Es gibt eine Periode und einen Bestellzeitpunkt: Die Allianz bestellt den Bestand für die Summe der Nachfragen und verteilt nur die erwarteten Kosten. Eine Umlagerung nach der Realisierung der Nachfrage gibt es nicht.
  • Koalitionskosten \(C(S)\): die Erwartungskosten des besten gemeinsamen Bestands für die Summe der Nachfragen der Mitglieder. Bei Szenarien ist es der empirische Erwartungswert mit dem empirischen Quantil als Bestand, alle Koalitionen auf denselben Szenarien.
  • Regeln: Stand-alone (Vergleichswert, keine Aufteilung), Gleichteilung, proportional zum Mittelwert, proportional zu den Einzelkosten und Shapley-Wert. Bei Normalnachfrage sind die Einzelkosten proportional zu \(\sigma_i\), die Regel „proportional zu den Einzelkosten“ ist dann dieselbe Aufteilung wie „proportional zur Standardabweichung“.
  • Kern und Spielraum: Der Kern wird per LP (HiGHS) als kleinster Zuschlag \(\varepsilon^*\) bestimmt. Der Kern-Spielraum eines Lagers ist der kleinste und größte Beitrag über alle Aufteilungen im Kern (2n LPs).
  • Zufallsreihen: „Reihe A“ und „Reihe B“ sind Zufallsreihen mit Zufalls-Seed-Basis 200000 und 300000. Lagerzahl 3 bis 6 (bei Szenarien 3 bis 5), \(\rho\) von 0 bis 0,9, Streuung von 0 bis 0,9 und Servicegrad von 0,55 bis 0,95 werden aus einem SplitMix64-Generator gezogen. Prozente von Zählungen sind Zählungen über diese Reihe, keine Wahrscheinlichkeiten.

Die Formeln

Die abgesetzten Formeln stehen wörtlich so im Expander „📐 Mathematische Formulierung“ der Demo. Dort steht \(\varphi\) für die Dichte der Standardnormalverteilung und \(\phi_i\) für den Shapley-Wert. \(N\) ist die Menge aller Lager, \(S\) eine Koalition, \(D_S\) die Summe der Nachfragen ihrer Mitglieder und \(x_i\) der Anteil von Lager \(i\) an den Allianzkosten. Die Koalitionskosten sind die Kosten des besten gemeinsamen Bestands \(q\):

\[C(S)=\min_{q\ge 0}\ \mathbb{E}\big[c_u\,(D_S-q)^+ + c_o\,(q-D_S)^+\big],\qquad D_S=\sum_{i\in S}D_i\]

Der beste Bestand ist das \(\alpha\)-Quantil von \(D_S\):

\[q_S^*=F_{D_S}^{-1}(\alpha),\qquad \alpha=\frac{c_u}{c_u+c_o}\]

Im Normalfall (gemeinsam normalverteilt, Kovarianzmatrix \(\Sigma\)), mit \(z_\alpha\) als \(\alpha\)-Quantil der Standardnormalverteilung:

\[C(S)=(c_u+c_o)\,\varphi(z_\alpha)\,\sigma_S\]

\[\sigma_S^2=\mathbf{1}_S^{\top}\,\Sigma\,\mathbf{1}_S\]

Bei Gleichkorrelation \(\rho\) und Standardabweichungen \(\sigma_i\) ist \(\sigma_N^2=(1-\rho)\sum_i\sigma_i^2+\rho\big(\sum_i\sigma_i\big)^2\). Der Gewinn des Bündelns ist die relative Ersparnis gegenüber den Einzelkosten:

\[g=1-\frac{C(N)}{\sum_{i\in N}C(\{i\})}\]

Im Normalfall ist \(C(N)/\sum_i C(\{i\})=\sigma_N/\sum_i\sigma_i\): Der Servicegrad kürzt sich heraus. Der Kern ist die Menge der Aufteilungen, bei denen keine Koalition austreten will:

\[\text{Kern}=\Big\{x\in\mathbb{R}^n:\ \sum_{i\in N}x_i=C(N),\ \ \sum_{i\in S}x_i\le C(S)\ \text{ für alle } S\subsetneq N\Big\}\]

Der kleinste Zuschlag \(\varepsilon^*\) ist ein LP mit den Variablen \(x\) und \(\varepsilon\) (gelöst mit HiGHS):

\[\varepsilon^*=\min\Big\{\varepsilon:\ \sum_{i\in S}x_i-\varepsilon\le C(S)\ \ \forall\, S\subsetneq N,\ \ \sum_{i\in N}x_i=C(N)\Big\}\]

Der Kern ist genau dann nicht leer, wenn \(\varepsilon^*\le 0\). Die Bondareva-Shapley-Bedingung sagt dasselbe über balancierte Familien von Koalitionen: Der Kern ist genau dann nicht leer, wenn für jede Familie nichtnegativer Gewichte \(\lambda_S\) mit \(\sum_{S\ni i}\lambda_S=1\) für alle \(i\) gilt

\[\sum_{S\subsetneq N}\lambda_S\,C(S)\ \ge\ C(N)\]

Der Shapley-Wert ist das Mittel der Zusatzkosten über alle Reihenfolgen, geschrieben als Summe über Teilmengen:

\[\phi_i=\sum_{S\subseteq N\setminus\{i\}}\frac{|S|!\,(n-|S|-1)!}{n!}\,\big(C(S\cup\{i\})-C(S)\big)\]

Der Kern-Spielraum von Lager \(i\) ist je ein LP:

\[\underline{x}_i=\min\{x_i:\ x\in\text{Kern}\},\qquad \overline{x}_i=\max\{x_i:\ x\in\text{Kern}\}\]

Bei Lognormal und Pareto ist \(C(S)\) der Mittelwert von \(c_u(T-q)^+ + c_o(q-T)^+\) über die Szenariosummen \(T\) der Koalition, mit dem empirischen \(\alpha\)-Quantil als \(q\); alle Koalitionen verwenden dieselben Szenarien.

Herleitung: warum der Gewinn mit der Korrelation fällt

Rechnung dieser Seite, keine Messung der Demo. Aus der Normalformel und \(g=1-\sigma_N/\sum_i\sigma_i\) folgt für Gleichkorrelation: Bei \(\rho=1\) ist \(\sigma_N^2=(\sum_i\sigma_i)^2\), also \(g=0\); der Gewinn sinkt mit \(\rho\), weil \(\sigma_N\) mit \(\rho\) steigt. Bei \(\rho=0\) und gleichen \(\sigma_i=\sigma\) ist \(\sigma_N=\sigma\sqrt{n}\) und \(g=1-1/\sqrt{n}\), wächst also mit \(n\). Beides stimmt mit der Richtung der Tabelle unten überein; deren Werte lassen sich nicht so nachrechnen, weil die Lagergrößen dort streuen, die \(\sigma_i\) also verschieden sind.

Austrittsregeln, laut Demo: Für „proportional zu den Einzelkosten“ gilt \(x_i = C(N)\,C(\{i\})/\sum_j C(\{j\}) \le C(\{i\})\), weil \(C(N)\le\sum_j C(\{j\})\). Für den Shapley-Wert folgt \(\phi_i\le C(\{i\})\) aus der Subadditivität \(C(S\cup\{i\})\le C(S)+C(\{i\})\) aller Koalitionen bei gleichen Stückkosten; \(C(N)\le\sum_j C(\{j\})\) allein reicht dafür nicht. Die Eigenschaftstests prüfen \(\phi_i\le C(\{i\})\) und die proportionale Regel an je 15 Instanzen (n = 4) je Verteilung, nicht die Subadditivität selbst.

Befunde

Alle Zahlen gelten für gleiche Stückkosten und die Gleichkorrelation des Modells. Die Tests prüfen Bänder (Plattform: HiGHS, numpy, scipy); die Zahlen stammen vom lokalen Lauf.

1. Gewinn des Bündelns (Normalverteilung, Streuung 0,5, Mittel über 20 feste Instanzen je Zelle, 35 Zellen):

Lagerzahlρ = 0ρ = 0,5ρ = 0,9
n = 227,2 %12,5 %2,4 %
n = 448,1 %20,3 %3,7 %
n = 863,0 %24,6 %4,4 %

Der kleinste Einzelwert über alle Zellen und Instanzen ist 2,0 %, also in jeder gemessenen Zelle größer als 0. Mit wachsendem \(\rho\) sinkt der Mittelwert in allen 7 Lagerzahlen, mit wachsender Lagerzahl steigt er bei allen 5 Werten von \(\rho\). Bei Normalverteilung hängt der Gewinn nicht vom Servicegrad ab (Servicegrad 0,55 und 0,99 gleich); bei Lognormal unterscheiden sich die Gewinne bei diesen Servicegraden um mehr als einen Prozentpunkt.

2. Kern leer? In keiner gemessenen Instanz:

ReiheInstanzenKern leerGewinn im Mittelkleinster Gewinn
A, Normal400024,5 %3,1 %
B, Normal400023,7 %4,0 %
A, Lognormal100023,7 %4,3 %
A, schwerer Tail100019,9 %3,2 %
Normal, zufällige Korrelationsmatrizen beliebigen Vorzeichens, n = 3 bis 62000nicht im Testnicht im Test

Das ist eine Zählung, kein Beweis. Sie ist mit dem zitierten Satz von Müller, Scarsini und Shaked vereinbar; dessen Voraussetzungen sind nicht im Volltext geprüft (siehe Quellen). Messung der README, nicht im Test: Ein Scratch-Lauf mit 1.000 Normal-Instanzen (Zufalls-Seed-Basis 200000) sowie 200 Lognormal- und 200 Tail-Instanzen fand den Kern ebenfalls in keiner Instanz leer. Der Gewinn liegt in den Reihen im Mittel bei 19,9 bis 24,5 %; die Plan-Zahlen für den Gewinn (31,7 bis 49,1 % im Mittel, kleinster Wert 11,3 %) wurden nicht reproduziert, weil die Vormessung einen anderen Generator (zufällige Korrelationsmatrizen) benutzte; die Zahlen sind nicht vergleichbar.

3. Liegt die Regel im Kern? Zahl der Instanzen mit der Aufteilung im Kern:

ReiheGleichteilungproportional zum Mittelwertproportional zu den EinzelkostenShapley-Wert
A, Normal (400)76170394400
B, Normal (400)93183397400
A, Lognormal (100)124198100
A, schwerer Tail (100)1696100100

Die Einzelzahlen schwanken zwischen den Reihen (Gleichteilung 76 gegen 93 von 400); die Ordnung der Regeln bleibt gleich. Die größte Überschreitung durch eine Koalition unter der Gleichteilung liegt in Reihe A, Normal, bei 467,7 % der Kosten dieser Koalition, unter „proportional zu den Einzelkosten“ bei 9,8 %. Das sind Extremwerte einer Reihe: Reihe B kommt auf 600,6 % bzw. 3,2 %, die 9,8 % sind also ein Ausreißer von Reihe A und nicht typisch. Der Kern-Spielraum (mittlere Breite der möglichen Beiträge eines Lagers in Prozent seiner Einzelkosten) liegt in den vier Reihen zwischen 30,9 % und 35,7 %.

4. Shapley-Wert und Kern. In den vier Reihen lag der Shapley-Wert in jeder Instanz im Kern. Das gilt nicht überall:

  • In einem Raster von 840 Normalspielen (n = 2 bis 8, \(\rho\) = 0 bis 0,95, Streuung 0 bis 0,9, 5 Instanzen je Zelle) verlässt er den Kern in 2 Spielen: beide mit n = 8, Streuung 0,9 und \(\rho\) von mindestens 0,9, um weniger als 0,001 % der Allianzkosten (3,2e-6 und 3,4e-6); der Gewinn liegt dort unter 5 %. Ob diese zwei Verletzungen echt sind oder numerisches Rauschen der LP- und Summationsrechnung, ist nicht geklärt: Ohne Nachrechnung mit höherer Genauigkeit lässt sich Rauschen nicht ausschließen.
  • Bei zufälligen Korrelationsmatrizen beliebigen Vorzeichens (200 Spiele, n = 3 bis 6) liegt er in 179 im Kern, in 21 nicht (größte Überschreitung 2,4 % der Allianzkosten); der Kern selbst ist in allen 200 nicht leer. Die Aussage „Shapley im Kern“ der Experimente gilt für die Gleichkorrelation.
  • Das Kostenspiel ist nur in einem Teil der Instanzen konkav (Grenzkosten fallen mit der Allianzgröße): in 40 von 200 (Normal), 10 von 60 (Lognormal) und 31 von 60 (schwerer Tail). Konkavität allein erklärt also nicht, warum der Shapley-Wert in den Reihen im Kern lag; eine Erklärung ist nicht gemessen.

5. Einzelaustritt (ein Lager zahlt mehr als allein, \(x_i > C(\{i\})\)). Unter dem Shapley-Wert und unter „proportional zu den Einzelkosten“ gibt es keinen (0 in allen vier Reihen). Unter den anderen beiden Regeln in Reihe A, Normal (400 Instanzen):

RegelInstanzen mit mindestens einem austretenden Lagernach ρ-Klassen 0 bis 0,3 / 0,3 bis 0,6 / 0,6 bis 0,9
Gleichteilung245 von 40055 von 133, 85 von 138, 105 von 129
proportional zum Mittelwert119 von 4007 von 133, 33 von 138, 79 von 129

Unter der Gleichteilung hat das Lager mit dem größten Anreiz in 206 dieser Fälle die kleinste mittlere Nachfrage und in keinem die größte; der Anteil steigt mit \(\rho\) auch in Reihe B. Unter „proportional zum Mittelwert“ hat das Lager mit dem größten Anreiz in 27 dieser Fälle die kleinste und in 21 die größte mittlere Nachfrage.

Grenzen

  • Nur gleiche Stückkosten: Ungleiche Stückkosten sind nicht gebaut. Was dann mit dem Kern passiert, ist weder gerechnet noch gemessen; dann sind die Koalitionskosten nicht eindeutig definiert, und ob es dann noch einen Gewinn gibt, ist offen.
  • Eine Periode: Umlagerung nach der Realisierung der Nachfrage (Transshipment) und mehrere Perioden fehlen. Alle Ersparnisse sind Erwartungswerte; eine einzelne Periode kann anders ausfallen.
  • Gleichkorrelation: Echte Lager sind selten gleich stark verbunden. Beliebige Korrelationsmatrizen gibt es nur in den Tests, nicht in der App, und dort sind nur Kern und Shapley-Wert geprüft, nicht die übrigen Regeln.
  • Zählungen, keine Beweise: „Kern leer in k von N Instanzen“ sind Messungen an gezogenen Zufallsinstanzen; andere Bereiche für Lagerzahl, \(\rho\), Streuung und Servicegrad können andere Zählungen ergeben. „Kern nicht leer“ heißt: Es gibt eine Aufteilung, bei der keine Teilgruppe austreten will, nicht, dass jede Regel eine solche liefert.
  • Schätzfehler bei Szenarien: Die Koalitionskosten sind Schätzungen aus 20.000 Zufallsszenarien und hängen am Zufalls-Seed.
  • Aufwand: Der Kern wird über alle \(2^n-2\) echten Koalitionen per LP bestimmt, der Aufwand wächst mit \(2^n\); deshalb gibt es höchstens 8 Lager.
  • Erzeugte Beispiele: Echte Lagerdaten wurden nicht verwendet, die Wahl der Verteilungen und Parameter ist willkürlich. Dass der Kern nicht leer ist, sagt nichts darüber, welche Aufteilung die Lager verhandeln würden.
  • Auswahl der Regeln: Die Aufteilungsregeln sind eine Auswahl, keine vollständige Liste. Nukleolus und die Aufteilung bei Touren zeigt die kern-demo; sie werden hier nicht nachgebaut. „Allianz“ und „Pool“ sind Modellbegriffe; die Demo trifft keine rechtliche, steuerliche oder finanzielle Aussage.

Quellen

  • A. Müller, M. Scarsini, M. Shaked: The Newsvendor Game Has a Nonempty Core. Games and Economic Behavior 38(1), 2002, S. 118–126. Die Aussage, der Kern sei für jede gemeinsame Verteilung der Nachfragen nicht leer, stammt laut README aus der Zusammenfassung in einem Literaturdienst, nicht aus dem Volltext; die Voraussetzungen (etwa gleiche Kostensätze) sind nicht geprüft.
  • B. C. Hartman, M. Dror, M. Shaked: Cores of Inventory Centralization Games. Games and Economic Behavior 31, 2000, S. 26–49. Nur die bibliografischen Angaben sind nachgeschlagen, nicht der Inhalt. Ein Verweis auf Hartman und Dror (2005) ist nicht geprüft und wird hier nicht als Befund geführt.
  • Quelltext, Messreihen und Tests der Demo: github.com/sebastian-hanisch/bestandsallianz-demo. Verwandt: kern-demo (Nukleolus, Aufteilung bei Touren) und shapley-demo.

Die beiden Arbeiten wurden für die Demo und diese Seite nicht im Volltext gelesen; die Angaben stammen aus der README der Demo.