Optimisation d'un taux de chute

fred06200

XLDnaute Nouveau
Bonjour,
J’ai un problème qui au départ me paraissais simple et qui au final se trouve être corsé, je viens donc vous demander de l’aide.

Je ne suis pas sur d'être dans la bonne section, cependant je ne sais pas trop ou poser mon problème...donc si besoin, je le déplacerais:eek:

Voici mon problème :

Je voudrais, en n’utilisant qu’Excel et VBA, minimiser un taux de chute de toiles qui sont débitées dans un « rouleau ».

Le débit se fait de la manière suivante :
1 - on paramètre la longueur du débit sur la débiteuse
2 - on place jusqu'à 5 couteaux sur la largeur du rouleau (on ne peut donc débiter que 3 toiles maxi),
3 - on déroule le tissu (qui se découpe dans le sens de la longueur par le biais des couteaux placés précédemment)
4 - lorsque la longueur définie est atteinte on découpe TOUTE la toile dans le sens de la largeur.

Il faut aussi savoir que :
- la largeur d’un rouleau est variable (selon le type de toile), il faut que cette largeur soit paramétrable avant de lancer l’algo.
- il peut il y avoir « N » toiles de largeurs, hauteurs et quantités différentes
- les toiles ont un sens, je m’explique : si dans la commande, la hauteur d’une toile est supérieure à celle du rouleau alors, toutes les toiles doivent être débitées avec une « coupe en V » (nous appelons « coupe en V » les coupes dont la Hauteur de la toile se fait dans le sens de la longueur du rouleau, dans le cas contraire, nous appelons cela des « coupes en H »)

Comme je l’ai dit précédemment, je cherche à minimiser le taux de chute en faisant des combinaisons entre les « N » toiles. Les combinaisons peuvent contenir jusqu'à 3 toiles pour les raisons énoncées précédemment.

J’espère avoir été assez clair pour vous énoncer le problème, et que vous pourrez me donner des pistes de solutions car je sèche…
 

fred06200

XLDnaute Nouveau
Re : Optimisation d'un taux de chute

J'imagine qu'en réalité, toutes tes pièces n'ont pas la même hauteur (1500 dans ton exemple).
oui, en effet, j'ai pris un exemple "simple" pour qu'on comprenne bien.
Les hauteurs peuvent être différentes

merci de tes précisions ( qui sont plus importantes qu'au début ).

c'est un sujet pas facile, mais en partant sur de bonnes bases, il y aura surement plus de bonnes volontés.

j'espère bien motiver un maximum de cellules grises hihihi
 

CISCO

XLDnaute Barbatruc
Re : Optimisation d'un taux de chute

Bonsoir à tous

Apparemment, pas de proposition, ou de début de proposition...

Fred06200, juste pour info, en pratique, tu as à peu près combien de pièces au max à découper par commande ou par rouleau ?

@ plus
 

mercant76

XLDnaute Impliqué
Re : Optimisation d'un taux de chute

bonjour,

dernières petites :

quand par hasard, il reste de quoi faire une toile d'une largeur "courante", tu stockes ou tu jetes ?

c'est prévu de faire du stock "d'avance" au lieu de jeter ?

c'est une question simple, car, si tu jetes, donc c'est un déchet.

si tu le coupes, c'est toujours un déchet, mais quand tu l'utilises plus tard, c'est une production sans déchet, donc çà fait baisser le déchet global.

merci de tes réponses.

@+
 

YANN-56

XLDnaute Barbatruc
Re : Optimisation d'un taux de chute

Bonsoir, je passe ici par hasard.

Sans vouloir vous casser le moral,
vous vous attaquez, ici, au plus complexe des calculs de probabilités. :rolleyes:

Avec une recherche sur G….. Vous trouverez des logiciels adaptés.
Avec VBA… J'ai plus qu'un doute: … La certitude de l'échec!!! :mad:

Je sais ce dont je parle, j'ai bossé pendant 35 ans dans la menuiserie Aluminium
où il était indispensable d'optimiser les barres de profils dont nous avions besoin
pour établir d'une part le chiffrage, et par la suite les approvisionnements et la découpe.

Juste une idée: Avec un logiciel "Pro" … Deux heures de calculs pour un chantier
d'un million d'Euros et avec des ordis genre "Bombe de vitesse"

Désolé!

Au plaisir cependant. :)

Yann
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Optimisation d'un taux de chute

Bonsoir Staple, :D

S'il y avait là "Bingo-Solution", j'en connais qui auraient regret
de ne pas avoir choisi l'étude de la pêche aux moules après math sup.
et math spé !!! Et même s'être ""Appliqués""

Quant aux logiciels, il peut y avoir un mot clé: "Optimisation"
sinon "Taux de chutes", ou autres suivant l'imagination.

Si c'est gratos; c'est que le sujet est la galette des rois. :) :) :)

Grand L + 2 petits L + 3 moyens… Non: J'ai mieux
2 Grand + 2 moyens un peu plus petits + 3 pas trop petits.
Finalement si j'essayais avec 7 petits + 1 un peu moins grand Et cætera …

Cordialement itou.

Yann
 

Tibo

XLDnaute Barbatruc
Re : Optimisation d'un taux de chute

Bonsoir,

Un lien vers wikipedia permet de confirmer que le problème est complexe (voire plus) :

Algorithme d'optimisation - Wikipédia

Après lecture et relecture du lien et des sous-liens, une seule envie : prendre une aspirine (ou bien un bon whisky :p)

Donc courage à celui qui s'attaquera sérieusement au sujet (et fortune à celui qui le résoudra)

Bonne soirée (nuit) à tous

@+
 

CISCO

XLDnaute Barbatruc
Re : Optimisation d'un taux de chute

Bonjour à tous


Malgré les posts précédents (avec lesquels je suis d'accord, mais bon, vu les capacités de calcul d'excel, rien n'empêche de faire une proposition faisant un peu avancer le schmilblick), je met mon fichier en pièce jointe.

Pour résoudre ce problème, je vois 3 possibilités :

1ère possibilité :
Trouver un modèle mathématique et une méthode d'optimisation adaptée (le solveur d'excel par exemple). N'ayant aucune idée sur le premier, je laisse à d'autres le plaisir de s'exprimer dans ce domaine :p.

2nde possibilité :
Donner un tableau comportant toutes les combinaisons intéressantes possibles répondant à la commande demandée (AAAAAB...., AAAABA....), puis calculer pour chaque cas la surface de chutes. Rechercher ensuite la plus petite surface de chutes.
Comme je ne sais pas faire la première partie avec des formules, je laisse à d'autres... En VBA, à mon avis, c'est possible (Je l'ai fait en FORTRAN vers 1985 sur un ordi ridicule..., alors pourquoi pas en VBA. Il y a certainement un nombre max de pièces à ne pas dépasser, en fonction du nombre de lignes ou de colonnes, de la capacité mémoire...).

3ème possibilité :
Donner un tableau comportant des combinaisons possibles répondant à la commande demandée, ces combinaisons étant proposées par excel au hasard, puis calculer pour chaque cas la surface de chutes. Mettre en évidence la surface min de chutes. Garder cette combinaison (copier-collage spécial-valeurs), puis refaire un test. Si le nouveau min obtenu est inférieur au précédent, garder la nouvelle combinaison. Refaire un nouveau test, et ainsi de suite, autant de fois qu'on veut.
Bien sûr, avec cette dernière technique, on n'est absolument pas sûr et certain de trouver la combinaison particulière qui fera économiser une coupe, si le minimum est "étroit". Mais bon, qui ne tente rien n'a rien. On obtient des minimum locaux.

En pièce jointe, donc, un fichier adoptant cette troisième voie.
*Dans celui-ci, il faut dresser la liste des pièces à réaliser (A1:A47). On verra plus tard à automatiser cela, si besoin est. Pour le moment, j'ai différencié des pièces identiques, et ainsi, on n'a pas A, A, A, A, A mais A1, A2, A3, A4, A5. C'est peut être inutile, mais dans le doute..

*excel propose dans un tableau (N13:BH26) et en rouge des combinaisons tirées au hasard. Juste au dessus de ces lignes rouges se trouvent des lignes de calculs intermédiaires, donnant les largeurs cumulées des bandeaux à découper. Tant que cette largeur cumulée est inférieure à la largeur du rouleau (1770 dans l'exemple), c'est OK, sinon, il faut couper le rouleau dans le sens de la largeur, et commencer un nouveau cumul.
En début de ligne rouge se trouve le calcul de la surface de chutes. La valeur min est mise en évidence en orange. Il suffit de faire un copier-collage spécial-valeurs vers le tableau du haut, pour garder cette proposition en mémoire, et recommencer le test ensuite en écrivant n'importe quoi dans une cellule vide. Si le nouveau min mis en évidence est plus intéressant, on garde la nouvelle proposition...

Il m'a fallu une quinzaine d'essais pour obtenir le 4ème min (surface de chutes = 7140000 mm²) correspondant à cet xemple.

On peut bien sûr étendre le tableau N13:BH26 vers le bas pour avoir plus de propositions à chaque fois. Dans ce cas, il faudra aussi étendre la MFC mettant en évidence le min en orange vers le bas.

Bien sûr, il faut vérifier tout cela.

Bien sûr, c'est grandement améliorable.

Bien sûr, cela ne résoud pas tout. Par exemple, cela ne prend pas en compte le cas des coupes faites à différentes longueurs, et non pas toutes à la même longueur (1500 mm dans l'exemple). Autre cas non pris en compte, le cas où deux bandeaux tiennent dans une seule longueur (ex : A de largeur 200 et de longueur 900 et B de largeur 200 et de longueur 500 dans une pièce de 1500).

Perso, je pense qu'avec un peu de VBA, on peut faire beaucoup mieux...

@ plus
 

Pièces jointes

  • tissu cinq.zip
    28.1 KB · Affichages: 210
  • tissu cinq.zip
    28.1 KB · Affichages: 222
  • tissu cinq.zip
    28.1 KB · Affichages: 232
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Optimisation d'un taux de chute

Bonsoir à tous.

Je dois reconnaître que de s"y atteler en VBA peut être passionnant.
Sauf que je maintiens mes précédents propos.

Voici un logiciel pas trop mal fait, dont je me suis servi dans mon entreprise
pour l'optimisation de découpe de tôles ou panneaux de bois…

Faire une recherche sur Google avec "opticoupe gratuit"

A noter que je suis un peu étonné de sa gratuité d'aujourd'hui,
car à l'époque cela ne l'était pas!!! Au-delà du premier essai.

(Hormis de bidouiller dans ce qu'il met en mémoire sur le PC)

Amicalement, et au plaisir.

Yann

P.S. Je suis quand-même fort tenté de regarder un peu plus :)
 

CISCO

XLDnaute Barbatruc
Re : Optimisation d'un taux de chute

Bonsoir à tous

En faisant tourner un peu plus le fichier précédent, j'ai trouvé une surface de chutes plus petite : 4485000 mm², avec 22 coupes. Comme quoi, on ne trouve pas forcément le meilleur minima tout de suite :rolleyes:

@ plus
 

Pièces jointes

  • tissu cinq.zip
    21.8 KB · Affichages: 104
  • tissu cinq.zip
    21.8 KB · Affichages: 133
  • tissu cinq.zip
    21.8 KB · Affichages: 134

Discussions similaires

Statistiques des forums

Discussions
312 169
Messages
2 085 918
Membres
103 038
dernier inscrit
Herve7