Rapport programmation par contraintes
| Table des matières Modélisation : 1 Génération des patterns : 1 Minimiser le nombre de planches utilisées: 2 Minimiser les chutes : 2 Solutions 2 Génération d le nombre de planches utilisées: 3 Minimiser les chutes : 3 Y a-t-il un lien entre les 2 problèmes : 3 Annexes : 4 COMMANDES.mod : 4 CP_Modele_COMMANDES_Common.mod : 5 CP_Modele_COMMANDES.mod : es patterns : 2 Minimiser5 CPLEX_ChoosePattern.mod : 6 CPLEX_ChutePattern2.mod: 7 CP_Modele_COMMANDES.dat: 8
Le but de ce document est d’argumenter la résolution du problème posé :
« Pour un stock illimité de planches de 70 centimètres, vous devez préparer la commande suivante : * 100 planches de 22 centimètres * 125 planches de 20 centimètres * 80 planches de 12 centimètres
L’objectif est dans un premier temps de satisfaire la commande tout en minimisant le nombre de planches de 70 centimètres utilisées.
Le second objectif est de satisfaire la commande et de minimiser les chutes (bout de bois restants après un découpage) et satisfaire la commande. »
Ce problème comporte plusieurs étapes : * Découverte des patterns pour la découpe des planches. * Minimisation du nombre de planches. * Minimisation des chutes.
Afin de résoudre ce problème, l’approche choisie a été de générer automatiquement les patterns possibles pour une découpe afin choisir parmi ceux-ci lors de la préparation de la commande.
Modélisation :
Génération des patterns : De manière à générer les patterns, la variable de décision sera un tableau d’entier dont la première entrée sera le nombre de planches de 22 centimètres présente dans ce pattern, la seconde les planche de 20 centimètres et enfin les planches de 12 centimètres. dvar int nbPieces[1..nbReferences]; nbReferences correspond au nombre de références de planches disponibles (3 dans notre cas). Ce modèle comporte trois