First Fit
Variables
di = (CPU,BP) : i ème demande
n : nombre des demandes
ci : capacité demandée par la i ème requête
bi : bande passante demandée par la i ème requête
Cjk,max : capacité maximale de la k ème ressource dans le j ème site
Bjk,max : bande passante maximale de la k ème ressource dans le j ème site
Rj : nombre des ressources dans le j ème site.
Ei : l'ensemble initial des ressources qui peuvent servir la i ème demande.
xijk : variable booléenne égale à 1 si la i ème demande est servie par la k ème
ressource dans le jème site, et 0 sinon.
yijk : variable booléenne égale à 1 si la k ème ressource du j ème site peut servir
la i ème demande, et 0 sinon.
zij : variable booléenne égale à 1 si le j ème site est choisi comme le premier site
pour servir la i ème demande, et 0 sinon.
Taux d'acceptabilité : TA=somme(i=0,i=n)somme(j=0,j=J)
somme(k=0,k=Rj) xijk/n.
Contraintes
somme(j=0,j=J) somme(k=0,k=Rj) xijk <= 1 quel que soit i
somme(j=0,j=J) zij <= 1 quel que soit i
somme(j=0,j=J) somme(k=0,k=Rj) yijk <= card(Ei) quel que soit i
ci * yijk <=Cjk,max ?somme(r=0,r=n) cr * xrjk quel que soit i, j, k
bi * yijk <=Bjk,max ?somme(r=0,r=n) br * xrjk quel que soit i, j, k
(j + 1) * zij <= (s + 1) * yijk quel que soit i, j, k, s //s est un compteur sur les sites
(k + 1) * xijk <= (r + 1)* yijk zij quel que soit i, j, k, r //r est un compteur sur les ressources
Fonction objective
Maximize TA+somme(i=0,i=n)somme(j=0,j=J) zij +
somme(i=0,i=n)somme(j=0,j=J) somme(k=0,k=Rj) yijk
6 mars 2014 à 14:37
ET j'ai pas demandé de me résoudre mon problème, j'ai déjà écrit mon code mais j'ai un petit problème au niveau de la sélection de la ressource adéquate et c'est tout. Merci d'avance.
6 mars 2014 à 15:10
Pourquoi essayer de joindre une IMAGE du code... alors que tu peux le COPIER/COLLER sur le forum
(et en utilisant les balises de code :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
)