[Problem beim Entwurf eines Logistiknetzwerks](http://www.orsj.or.jp/~wiki/wiki/index.php/%E3%80%8A%E3%83%AD%E3%82%B8%E3% 82% B9% E3% 83% 86% E3% 82% A3% E3% 82% AF% E3% 82% B9% E3% 83% 8D% E3% 83% 83% E3% 83% 88% E3% 83% AF% E3% 83% BC% E3% 82% AF% E8% A8% AD% E8% A8% 88% E5% 95% 8F% E9% A1% 8C% E3% 80% 8B)
Finden Sie heraus, wo, was, wie viel und wie transportiert werden muss, damit die Summe der Transport- und Produktionskosten bei gleichzeitiger Deckung der Nachfrage minimiert wird.
Spezifikationen
python
Produkt= list('AB')
Nachfragebereich= list('PQ')
Fabrik= list('XY')
Fahrbahn= (2, 2)
Versandkostentabelle
python
import numpy as np, pandas as pd
tbdi = pd.DataFrame(((j, k)für j im Nachfragebereich für k in der Fabrik), columns=['Nachfragebereich', 'Fabrik'])
tbdi['Versandkosten'] = [1,2,3,1]
tbdi
Bedarfsbereich th> | Fabrik th> | Transportkosten th> | |
---|---|---|---|
0 | P | X | 1 |
1 | P | Y | 2 |
2 | Q | X | 3 |
3 | Q | Y | 1 |
Nachfragetabelle
python
tbde = pd.DataFrame(((j, i)für j im Nachfragebereich für i in Produkten), columns=['Nachfragebereich', 'Produkt'])
tbde['Nachfrage'] = [10, 10, 20, 20]
tbde
Bedarfsbereich th> | Produkt th> | Nachfrage th> | |
---|---|---|---|
0 | P | A | 10 |
1 | P | B | 10 |
2 | Q | A | 20 |
3 | Q | B | 20 |
Produktionstabelle
python
tbfa = pd.DataFrame(((k, l, i, 0, np.inf) for k, nl in zip(Fabrik,Fahrbahn)
for l in range(nl)für ich im Produkt), columns=['Fabrik', 'Fahrbahn', 'Produkt', 'untere Grenze', 'Höchstgrenze'])
tbfa['Produktionskosten'] = [1, np.nan, np.nan, 1, 3, np.nan, 5, 3]
tbfa.dropna(inplace=True)
tbfa.ix[4, 'Höchstgrenze'] = 10
tbfa
Fabrik th> | Lane th> | Produkt th> | Untergrenze th> | Obergrenze th> | Produktionskosten th> | |
---|---|---|---|---|---|---|
0 | X | 0 | A | 0 | inf | 1.0 |
3 | X | 1 | B | 0 | inf | 1.0 |
4 | Y | 0 | A | 0 | 10.000000 | 3.0 |
6 | Y | 1 | A | 0 | inf | 5.0 |
7 | Y | 1 | B | 0 | inf | 3.0 |
lösen
python
from ortoolpy import logistics_network
_, tbdi2, _ = logistics_network(tbde, tbdi, tbfa)
Ergebnis: Produktionsvolumen (ValY)
python
tbfa
Fabrik th> | Lane th> | Produkt th> | Untergrenze th> | Obergrenze th> | Produktionskosten th> | VarY | ValY | |
---|---|---|---|---|---|---|---|---|
0 | X | 0 | A | 0 | inf | 1.0 | v9 | 20.0 |
3 | X | 1 | B | 0 | inf | 1.0 | v10 | 10.0 |
4 | Y | 0 | A | 0 | 10.000000 | 3.0 | v11 | 10.0 |
6 | Y | 1 | A | 0 | inf | 5.0 | v12 | 0.0 |
7 | Y | 1 | B | 0 | inf | 3.0 | v13 | 20.0 |
Ergebnis: Transportvolumen (ValX)
python
tbdi2
Bedarfsbereich th> | Fabrik th> | Transportkosten th> | Produkt th> | VarX | ValX | |
---|---|---|---|---|---|---|
0 | P | X | 1 | A | v1 | 10.0 |
1 | P | X | 1 | B | v2 | 10.0 |
2 | Q | X | 3 | A | v3 | 10.0 |
3 | Q | X | 3 | B | v4 | 0.0 |
4 | P | Y | 2 | A | v5 | 0.0 |
5 | P | Y | 2 | B | v6 | 0.0 |
6 | Q | Y | 1 | A | v7 | 10.0 |
7 | Q | Y | 1 | B | v8 | 20.0 |
das ist alles