[PYTHON] Problème d'ordonnancement de travail-problème typique d'optimisation de combinaison

Problème typique et méthode d'exécution

Problème d'horaire de travail

Compte tenu du nombre d'employés, du nombre de jours prévus, du nombre de types de quarts, des schémas de quarts à éviter et du nombre requis de quarts par jour, trouvez un horaire qui répond à ces exigences. Il existe de nombreuses variantes de fonctions objectives et de contraintes.

Méthode d'exécution

usage


Signature: shift_scheduling(ndy, nst, shift, proh, need)
Docstring:
Problème d'horaire de travail
contribution
    ndy:Journées
    nst:Nombre d'employés
    shift:décalage(Un personnage)Liste de
    proh:Modèle d'interdiction(Chaîne de décalage)Liste de
    need:Liste du nombre de personnes requis pour chaque quart de travail(Chaque jour)
production
Un tableau des nombres d'équipes par jour et par personnel

python


from ortoolpy import shift_scheduling
ndy, nst = 8, 4
shift = 'Nuit de vacances'
proh = ['Nuit après nuit', 'Soleil de nuit', 'Jour jour jour']
need = {'journée':[2] * 8, 'Nuit':[1] * 8}
r = shift_scheduling(ndy, nst, shift, proh, need)
print(r)

import numpy as np, pandas as pd
a = pd.DataFrame(np.vectorize(lambda i: shift[i])(r),
    columns=[chr(65+i) for i in range(nst)],
    index=['%Jour j'%i for i in range(1,ndy+1)])
for sft,lst in need.items():
    a['%s requis'%sft] = lst
    a['%plan de s'%sft] = (a.iloc[:,:4]==sft).sum(1)
print(a)

résultat


[[0, 1, 2, 1],
 [1, 2, 0, 1],
 [1, 0, 1, 2],
 [2, 1, 1, 0],
 [0, 1, 2, 1],
 [1, 2, 0, 1],
 [1, 0, 1, 2],
 [2, 1, 1, 0]]

A B C D jour requis plan de jour nuit requis plan de nuit
Jour 1 Jour férié Nuit Jour 2 2 1 1
Jour 2 Jour Nuit Vacances 2 2 1 1
Jour 3 Jour Vacances Nuit 2 2 1 1
Jour 4 Nuit Jour Fermé 2 2 1 1
Jour 5 Jour férié Nuit Jour 2 2 1 1
Jour 6 Jour Nuit Vacances 2 2 1 1
Jour 7 Jour Vacances Nuit 2 2 1 1
Jour 8 Nuit Jour Fermé 2 2 1 1

python


# pandas.DataFrame
from ortoolpy.optimization import ShiftScheduling
ShiftScheduling(8, 4, 'Nuit de vacances', ['Nuit après nuit','Soleil de nuit','Jour jour jour'], {'journée':[2]*8, 'Nuit':[1]*8})
A B C D jour requis Plan de jour Nécessaire la nuit Plan de nuit
Jour 1 Fermé jour nuit jour 2 2 1 1
Jour 2 jour nuit Fermé jour 2 2 1 1
Jour 3 jour Fermé jour nuit 2 2 1 1
Jour 4 nuit jour jour Fermé 2 2 1 1
Jour 5 Fermé jour nuit jour 2 2 1 1
Jour 6 jour nuit Fermé jour 2 2 1 1
Jour 7 jour Fermé jour nuit 2 2 1 1
Jour 8 nuit jour jour Fermé 2 2 1 1

Recommended Posts

Problème d'ordonnancement de travail-problème typique d'optimisation de combinaison
Optimisation de combinaison - problème typique de problème de sac à dos
Optimisation de combinaison - problème typique de conditionnement n-dimensionnel
Optimisation de combinaison - problème typique - problème de couverture de vertex minimum
Problème de correspondance stable aux problèmes typique d'optimisation de combinaison
Optimisation de combinaison - problème typique d'allocation généralisé
Optimisation de combinaison - problème typique de correspondance de problème maximum
Optimisation des combinaisons - Problème typique - Problème d'allocation secondaire
Combinaison d'optimisation-problème typique-problème de chemin le plus court
Optimisation combinée - problème typique d'enchères combinées
Optimisation de la combinaison - problème typique - problème de débit maximal
Combinaison d'optimisation-problème typique de couverture d'agrégat
Problème de correspondance typique de problème-poids par optimisation de combinaison
Problème d'optimisation de combinaison-problème typique de placement des installations
Optimisation de la combinaison - problème typique de l'atelier de travail
Optimisation de la combinaison - problème typique - problème de coupe maximale
Optimisation de combinaison - problème typique - problème d'arborescence de surface minimale
Combinaison optimisation-problème typique-problème d'ensemble stable maximum
Optimisation de la combinaison - problème typique - problème de flux de coût minimal
Optimisation de combinaison-problème typique-problème de livraison postale chinoise
Optimisation des combinaisons - Problème typique - Problème d'itinéraire de transport (optimisation de la livraison)
Problème d'optimisation de la combinaison - coupe minimale
Optimisation des combinaisons - Problème typique - Problème de placement des installations sans contrainte de capacité
Combinaison de problèmes typiques d'optimisation et comment le faire