Vous êtes sur la page 1sur 2

Le problème de transport est un problème d'optimisation linéaire qui

consiste à déterminer le transport optimal de produits depuis


plusieurs sources vers plusieurs destinations, en minimisant les coûts
de transport. cette méthode consiste à sélectionner à chaque étape
la case de coût minimum dans une matrice de coûts, et à y allouer la
quantité minimale entre l'offre et la demande.

Le code commence par importer la bibliothèque NumPy pour


effectuer des calculs matriciels. Ensuite, la fonction
"least_cost_method" est définie pour résoudre le problème de
transport. Elle prend en entrée les vecteurs d'offre et de demande,
ainsi qu'une matrice de coûts. Elle retourne une matrice d'allocation
qui contient la quantité à allouer de chaque source à chaque
destination.

La fonction utilise une boucle "while" pour continuer l'allocation tant


qu'il y a des offres ou des demandes non satisfaites. Elle trouve la
case de coût minimum dans la matrice de coûts à l'aide de la fonction
"np.min" et la fonction "np.where". Elle alloue ensuite la quantité
minimale entre l'offre et la demande à cette case, met à jour les
offres et les demandes soustrayant, et remplace les cases remplies
par 0 dans la matrice de coûts.

Ensuite, le code définit un exemple d'utilisation de la fonction


"least_cost_method" en définissant les vecteurs d'offre et de
demande ainsi qu'une matrice de coûts. La fonction est appelée avec
ces entrées, et la matrice d'allocation résultante est imprimée.

Enfin, le code calcule le coût total de l'allocation en multipliant la


matrice d'allocation par la matrice de coûts d'origine. Les indices des
cases allouées sont stockés dans une liste "indices" pour une
utilisation ultérieure. Le coût total est imprimé, ainsi que les indices
des cases allouées et leur correspondance avec les usines et les
chantiers.

Vous aimerez peut-être aussi