Contenu du cours
Bases de Matlab
Bases de Matlab
Application : Problème de Logistique
En poursuivant ce que vous avez appris dans le chapitre précédent, vous allez ici apprendre à aider un distributeur qui cherche à optimiser la manière dont il combine ses produits en expéditions. Vous mettrez en pratique tout ce que vous avez appris et découvrirez de nouveaux détails au passage.
Tâche
Analyser les objectifs du programme et consulter la vidéo pour obtenir des indications et de l'inspiration.
Identifier le fichier contenant les données sur les bacs et les normes industrielles pour les palettes.
Utiliser une bibliothèque telle que Pandas pour charger le fichier Excel, en extrayant les données sur les bacs et les normes de classement industriel.
Créer toutes les combinaisons possibles de bacs pour les regrouper en palettes, comme démontré dans le chapitre précédent.
Pour chaque combinaison de bacs possible :
- Analyser chaque palette : calculer les propriétés moyennes (par exemple, résistance à la traction et pourcentage de défauts) pour les bacs de chaque palette ;
- Classer et tarifer les palettes : attribuer des grades et calculer les prix en fonction des moyennes et des normes industrielles issues du fichier Excel ;
- Comparer les prix de vente : suivre la meilleure combinaison en comparant le prix de vente total de la combinaison actuelle avec les résultats précédents.
Une fois la combinaison optimale déterminée, extraire les étiquettes de bacs correspondantes à l'aide des indices de ligne.
Enregistrer les résultats finaux, y compris la meilleure combinaison et les détails associés, dans un fichier Excel.
- Vérifier la sortie du programme avec les résultats présentés dans la vidéo, en s'assurant que le prix optimal correspond ;
- Valider les propriétés des palettes par rapport aux normes industrielles à l'aide de calculs sur tableur.
- Concevoir votre programme selon une approche modulaire pour une meilleure organisation ;
- Ajuster et tester votre implémentation de manière itérative afin de garantir précision et fiabilité.
- Propriétés des bacs : importer sous forme de matrice contenant des propriétés telles que le poids, la résistance à la traction et le pourcentage de défauts ;
- Étiquettes des bacs : importer sous forme de matrice distincte ;
- Normes industrielles : importer sous forme de matrice contenant la résistance à la traction minimale, le pourcentage maximal de défauts et le prix par palette de 3 bacs (7500 lbs) ;
- Noms des grades industriels : importer sous forme de tableau de cellules.
Au lieu d'utiliser Generate_Combinations_MMS_M
du chapitre 3, utiliser la fonction perms
pour générer directement les permutations.
- Les étiquettes des bacs sont enregistrées sous forme d'indices indiquant les positions des lignes dans les données d'origine. Convertir ces indices en étiquettes de bacs à l'aide des indices de lignes de la matrice des étiquettes de bacs ;
- S'assurer que les indices de lignes correspondent correctement entre les étiquettes de bacs et les données d'origine.
- Matrices 2D : utilisées pour importer et exporter des données vers et depuis Excel. Veiller à référencer les bonnes lignes et colonnes ;
- Matrices 3D : la matrice
palette_permutations
contient toutes les combinaisons possibles de bacs regroupées dans une matrice 3D ; - Chaque ligne représente une combinaison spécifique de bacs en palettes ;
- Chaque colonne représente l'indice d'un bac spécifique ;
- La troisième dimension (1, 2, 3) correspond à différentes palettes.
- Limiter la boucle
for
à une seule itération (par exemple,for 1:1
) pour terminer le reste du programme et obtenir les résultats initiaux ; - Se concentrer sur l'obtention des étiquettes de bacs, des grades de palettes et du prix optimal vers Excel un à un. Il est possible de commenter certaines parties du code pour se concentrer sur des aspects spécifiques.
- Vérifier manuellement les propriétés moyennes de chaque palette afin de s'assurer qu'elles sont correctement calculées et classées, ainsi que le prix total de la combinaison de palettes ;
- En cas de problème, utiliser ces vérifications pour diagnostiquer les erreurs dans la boucle
for
.
Si les résultats sont corrects pour une permutation mais qu'une combinaison optimale n'est pas trouvée, limiter la boucle for
pour tester une permutation spécifique, telle que for 32280:32280
ou for 16640:16640
. Cela permet de vérifier les performances sur des combinaisons très différentes.
Si le problème persiste après la vérification de différentes permutations, il peut y avoir un problème avec la logique de sélection de la meilleure permutation parmi les itérations évaluées. Consulter la vidéo pour comparer vos résultats et garantir leur exactitude.
Merci pour vos commentaires !