2017-06-07 2 views
0

J'ai un problème simple à résoudre. Je dois allouer des ressources à trois projets de manière à maximiser l'efficacité des ressources. J'ai besoin d'aide pour formuler le problème dans une fonction objective.Gestion des ressources Programmation linéaire

Plus de détails sur le problème:

Tous les projets dureront 18 semaines. Les trois listes ci-dessous définissent la demande de ressources au cours des 18 semaines (18 x 5 = 90 jours) à travers les 3 projets

Project_One = [32 14 30 12 23 27 12 21 32 12 20 29 15 20 15 17 15 11] 
Project_Two = [ 4 5 14 11 13 9 10 11 7 9 14 8 9 11 9 7 6 8] 
Project_Three= [ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8]; 

Nous avons un total de 48 ressources entrepreneur. Nous pouvons laisser aller les ressources pour minimiser les pertes, mais le coût de la rééducation est de 10 jours d'improductivité.

Comment puis-je formuler un problème de programmation linéaire pour obtenir la quantité de ressources dont nous avons besoin chaque semaine pour minimiser le coût global? La fonction objectif devrait prendre en considération s'il est préférable de laisser aller et de se recycler plus tard ou de garder les ressources à utiliser dans les dernières semaines que la demande augmente?

Quelques informations clés:

1) Le coût de 1 ressource est de 100 $ par jour. 2) Les nouvelles ressources sont formées en observant les travailleurs existants. Pour simplifier, nous supposons que le coût est seulement de 10 jours ouvrables = 1000 $. 3) Le coût de la mise en veille des ressources est le nombre de jours entre lesquels ils ne sont pas requis dans un projet et la prochaine augmentation de la demande se produit. Idéalement, nous ne lâcherions pas la ressource si le temps d'inactivité est inférieur à 10 jours.

+0

Le problème est infaisable. Vous avez besoin de plus de 48 ressources dans la période 3 et vous n'avez pas le temps d'en former de nouvelles. Je suppose que tout est jours (votre question parle de 18 semaines et 18 jours ce qui me trouble). –

+0

Erwin Kalvelagen. Merci beaucoup de l'avoir signalé. Mon erreur, c'est 18 semaines, environ 90 jours. Pour la simplicité, je l'ai gardé à 18 semaines, 90 jours mais habituellement les projets durent en moyenne 180 jours. – Kal

+0

Je ne pense pas que cela puisse être fait avec un LP pur. Vous aurez besoin de variables binaires pour finir avec un modèle MIP. Vous avez également besoin d'informations sur les coûts (coût des ressources inutilisées, coût de la formation). –

Répondre

1

Ma tentative en utilisant un modèle de MIP ressemble:

enter image description here

Les résultats sont les suivants:

enter image description here

Nous avons 4 employés/stagiaires en semaine 1 (formation en semaine 1 et 2, disponible pour le travail en semaine 3) et 3 embauches en semaine 7. Vous pouvez voir sur la photo que le nombre de travailleurs augmente au début de la semaine 3 et 9.

+0

Merci beaucoup @ErwinKalvelagen. La solution semble très bien. J'ai une question rapide. Dans la fonction objectif, la constante multipliant le nombre d'embauches ne devrait-elle pas être supérieure à 1? Si nous supposons que le coût de l'embauche et de la formation est plus élevé que de garder les ressources pendant 2 semaines (ce qui est une bonne hypothèse que vous avez faite), alors je m'attendrais à ce que la constante soit supérieure à 1? Je vous remercie. – Kal

+0

'r (i, t)' fonctionne, est inactif ou s'entraîne, donc c'est déjà là. –

+0

La ligne orange est la somme 'r' moins les stagiaires. –