Problème typique et méthode d'exécution
Il existe un ensemble de clients (points de demande) $ D $ et un ensemble de points de placement d'installations $ F $, chacun ayant une capacité donnée. Chaque client $ i \ en D $ se déplace toujours vers l'une des installations $ i \ en F $. Trouvez la destination du client afin de répondre à la capacité de chaque installation et minimiser la somme de la capacité du client et de la distance parcourue. Cependant, la facilité ne peut être utilisée que jusqu'à $ p $.
usage
Signature: facility_location(p, point, cand, func=None)
Docstring:
Problème de placement des installations
P-Problème médian: minimiser la somme de la distance totale x quantité
contribution
p:Nombre maximum d'installations
point:Liste des emplacements et quantités des clients
cand:Liste des emplacements et capacités des installations candidates
func:Indice de position client,Fonction de pondération avec index des candidats de la ressource comme argument
production
Liste des numéros d'établissement pour chaque client
python
from ortoolpy import facility_location
facility_location(2, [(1, 0, 1), (0, 1, 1), (2, 2, 1)],
[(1, 0, 1), (0, 1, 1), (2, 2, 2)])
résultat
[0, 2, 2]
python
# pandas.DataFrame
from ortoolpy.optimization import FacilityLocation
FacilityLocation('data/facility.csv',2)
x | y | demand | capacity | id | |
---|---|---|---|---|---|
0 | 1 | 0 | 1.0 | 1.0 | 0.0 |
1 | 0 | 1 | NaN | 1.0 | NaN |
2 | 0 | 1 | 1.0 | NaN | 3.0 |
3 | 2 | 2 | 1.0 | 2.0 | 3.0 |
Recommended Posts