Bonjour,
Tout d'abord merci à tout ceux qui prendront le temps de lire ce problème.
Alors voilà, je suis coincé avec ce probleme que je n'arrive pas à modéliser correctement.
Il s'agit d'un probleme de programmation lineaire.
Nous avons 4 contrats à realiser (acheter une quantité X de produits) et 3 fournisseurs peuvent contribuer à chacun des 4 contrats. Mais il y a certaines contraintes sur les quantités (Fournisseur 1 accepte les commandes de 150 unites minimum). Le fournisseur 2, s'il fournit des unités sur le contrat #2, ne peut fournir que l'un des contrats 3 ou 4 (pas les deux). Finalement, le fournisseur 3 n'accepte que les commandes de 300 ou 550 unites (sauf pour le contrat #3 où il n'accepte de fournir pas plus de 300 unites).
Je vous épargne les details sur la quantité demandée par contrat et les disponibilités des fournisseurs, puisque c'est assez aisé à modéliser.
Ma piste de solution est qu'il y a deux types de variables. Des variables binaires (Xij où Xij = 1 si le fournisseur i fournit des unites sur le contrat j et 0 sinon. i= 1,2,3 et j =1,2,3,4) et des variables normales, pouvant prendre n'importe quelle valeur de l'ensemble des réels positifs (Yij où Yij = la quantité d'unités fournies par le fournisseur i au contrat j).
Les coefficients C sont les couts par unite lorsque le fournisseur 1 fournit le contrat 1, puis 2 et etc.
J'a donc formuler ma fonction objectif ainsi : Minimiser z=C11X11Y11 + C12X12Y12 + CijXijYij + ... +C34X34Y34.
Je peux formuler mes contraintes sur les disponibilités et demandes assez facilement.
Comme le fournisseur 1 doit fournir au moins 150 unites par contrat, je pose comme contraintes
Y1j>150 (superieur ou égale)
Pour le fournisseur 2, s'il aliment le contrat #2 il ne peut alimenter qu'un contrat entre le 3e et le 4e, donc
X22+X23+X24<2 (inferieur ou egal)
C'est pour le troisiement fournisseur que ca se corse. Je n'arrive pas a formuler que la variable peut prendre l'une des deux valeurs suivantes, 300 ou 550
Si quelqu'un aurait la gentillesse de m'aiguiller, ce serait très apprécié car j'ai eu beau cogiter pendant 1 semaine, je n'y arrive pas.
Merci
-Jeep