L'assembleur automobile qui sélectionne et passe une commande auprès du vendeur a un objectif de minimisation des coûts, alors que les vendeurs qui fournissent ces pièces souhaitent maximiser leurs profits.
Le processus de fabrication des trois types de sièges (S1, S2 et S3) est le même pour les deux fournisseurs, la coupe, la couture et la finition s'effectuant dans le même ordre.
Le temps de production de chaque processus pour chaque type de siège par unité et le temps de production maximum disponible pour chaque processus sont indiqués dans le tableau suivant:
Ce temps de production correspond à l'exécution d'une commande de 540 sièges. Sous les contraintes données de temps de production de chaque processus et de satisfaction de la demande totale, les deux fournisseurs avaient l'intention d'estimer ; le nombre de sièges de chaque type à fabriquer ainsi que le profit maximum pouvant être réalisé.
Le bénéfice par unité de S1, S2 et S3 pour le fournisseur V1 a été calculé à 9,6 $, 11,0 $ et 12,5 $, respectivement. De même, le bénéfice pour S1, S2 et S3 pour V2 était de 12 $, 13,5 $ et 14,0 $.
L'objectif pour les deux vendeurs est de maximiser leurs profits en vendant trois types de sièges différents (S1, S2 et S3) au constructeur automobile. La maximisation des profits dépend du nombre d'unités produites. Plus le nombre de sièges de chaque type produits sera élevé, plus le profit sera important.
il faut respecter le temps maximum valable pour la production pour chaque processus.
Cela aboutit à la définition de variables de décision où chacun d'entre eux se rapporte le nombre à fabriquer pour chaque type de produit. La notation de ces trois composants serait :
Comprendre les variables de décision est important dans la construction de la fonction objectif. Par exemple, pour le vendeur V1, le profit gagné en vendant une unité de S1 était de 9,6 \$, donc la vente de x1 unités de S1 générerait un profit de 9.6 x1. Ainsi, la fonction objectif pour V1 serait :
Le temps maximum disponible pour le processus de coupe.
Le temps maximum disponible pour le processus de couture.
Le temps maximum disponible pour le processus de finissions.
Le nombre de pièces ne dépassent pas 540 .
//Déclaration des constantes
float a1 = 9.6 ;
float a2 = 11;
float a3 = 12.5;
//Déclaration des variables de décisions
dvar int+ x1;
dvar int+ x2;
dvar int+ x3;
//Fonction Objective
maximize a1*x1+a2*x2+a3*x3;
//Contraintes
subject to{
1.5*x1+1.3*x2+2*x3<=300;
2*x1+2.4*x2+2.9*x3<=430;
4*x1+5*x2+3*x3<=620;
x1+x2+x3<=540;
}
//Affichages
execute {
write("x1: "+x1+"\n");
write("x2: "+x2+"\n");
write("x3: "+x3+"\n");
}