Creation de Sequence

Bonjour

je voudrais relancer mon projet Creation de séquence automatique
cahier des charges:

J'ai office 2016
creation de sequence en automatique en recherchant les meilleur combinaison en fonction de la largeur maximun (colonne 1)
en faisant attention a ne pas mélanger les mandrins ( colonne 5) par sequence et
aussi de ne pas mélanger les longueur du rouleaux ( colonne 6)
on peux rajouter au métrage Demandé (colonne 8 ) + 20% au maximun
et la largeur minimun est la largeur Maximun( cononne 1) /2
dans la logique je pense d'abord rechercher la plus grande largeur colonne 4 pour ensuite completer avec d'autre
exemple si j'ai une largeur maximun de 450 et il y a deux ligne une en 210 et l'autre en 230 on prendra d abord la 230 et on chercher une largeur plus petite pour mettre avec parce que dans ce cas le 230 *2 = 460 supérieur à 450
pour le méttrage machine on prendra le métrage demandé colonne 8 de la largeur 230
pour la creation de la sequence 2
il reste que la largeur 210 et 210 *2 = 420 inferieur a 450
métrage machine le métrage demande colonne 8 -le métrage machine de la seq 1 ensuite diviser par deux parce que n fera 210*2
attention le métrage machine doit est un multiple de longueur du rouleau

le but c'est toujours de se rapprocher de la largeur max si possible

Dasn l 'exemple que je donne dans le fichier il y a que 2 largeurs masi je peux en avoir plus de 20

j'ai deja commencer un scrip mais j'ai encore des problemes
pouvez vous m'aider

Un grand merci

dans ma feuil " Résultats Regroupés"
il y a 8 colonnes

colonne 1 largeur Maximun

colonne 2 Référence du Bulk

colonne 3 Numéro d'Article

colonne 4 Largeur du Rouleau

colonne 5 Mandrins Utilisés

colonne 6 Longueur du Rouleau

colonne 7 Quantité en m²

colonne 8 Métrage Demandé

je souhaite dans une nouvelle feuille ( Séquence)

colonne 1 SEQ

colonne 2 Largeur total

colonne 3 metrage machine

colonne 4 Possition 1

colonne 5 Possition 2

colonne 6 possition 3

colonne 7 possition 4
....

bonjour,

Sans doute très clair pour toi, moi je n'ai rien compris, il manque un peu de contexte. De quelle activité, de quel produit, parle-t-on ? Comment fait-on le produit fini (en quoi et comment les éléments de longueur, largeur mandrins, ... Interviennent dans l''optimisation ?) ? Quels sont les paramètres de la demande ? En fonction de quels critères détermine-t-on qu'on a trouvé la meilleure combinaison, autrement dit que faut-il optimiser ?

Bonjour

Actuellement je fais tout manuellement ce qui prend un temps assez important
une sequence c'est un produit( bobine mere (d'une largeur total dans mon exemple est de 450cm) d'un largeur de la machine) qui à la meme longueur et les meme Mandrins utilisé
dans cette sequence ou peut avoir plusieurs largeur de produit 'produit finis ( exemple 100cm 200cm 50cm .....

donc largeur total 450cm
je peux avoir plusieurs produits finis d'une largeur ici dan le tableau de 210 et 230cm qui ont les meme longueur et les meme Mandrins c'est pour simplifier la chose au debut mais apres dans la liste je pourrais different.

exemple:

largeur total de 450cm

largeur du rouleau : 210 cm avec mandrin M1 et longueur du rouleau de 1300m metrage demandé 32500m
largeur du rouleau : 230 cm avec mandrin M1 et longueur du rouleau de 1300m metrage demandé 6866m
je souhaite que la macro me reproduise des sequence en autoamtique en proposant la meilleur combinaison en largeur
SEq1

mettrage machine 7800m ( parce que 6866/1300=5.2 donc 6*1300=7800m

position1 230

position 2 210
seq 2
mettrage machien 13000m 'aprce que 32500-7800=24700m /2 =12350/1300=9.5 donc 10*1300=13000)
position 1 210
position 2 210

bonjour

dans le fichier ci joint cela focntionne presque
il y a encore le metrage machien qui est incorrecte masi sinon le reste je pense que c'est ok
dans la seq 1 il y a en resultat 5200 au lieu de 7800
dans la seq 2 il y a en resultat 16900 au lieu de 13000

je n'arrive pas a trouver mon erreur

Salut OlivCoco,

bon, avec ce que j'ai compris dans tes messages et le craquage de ta programmation, voici une première piste.

        ' Calcul du métrage machine (en fonction du nombre de rouleaux utilisés)
        'metrageParRouleau = metrageDemande / totalRouleaux
        'totalMetrageMachine = Int(metrageParRouleau / rouleauxLongueurs(1)) * rouleauxLongueurs(1)
        totalMetrageMachine = Int(metrageDemande / rouleauxLongueurs(1)) * rouleauxLongueurs(1)
        MsgBox totalMetrageMachine

J'ai la bonne réponse pour la première ligne mais, sans vouloir le moins du monde douter de tes calculs, es-tu certain des 13000 de la seconde ?

A+

J'ai capté le truc! C'est bête comme chou, en fait!
Mais, une petite seconde jusque demain matin, svp! Le cerveau turbine et remet le code à sa sauce!

A+

Merci a l'avance
je vois aussi que j'aurai un petit problem dans mes positions
je remarque que je prend d abord ma premiere ligne ensuite la second
enfaite je prend d abord le premier rouleaux je le met dans la premiere sequence ensuite je regarde la deuxieme ligne
au lieu de regarder l'ensemble des lignes pour trouver la meilleur combinaison ( je peux avoir au maximun 30 lignes differentes soit 30 largeur differentes
c'est un programme qui n'est pas simple

je pensais a quelque chose pour le programme

est il possible de faire une variable par metrage demande en fonction de la largeur du rouleau ( une variable par ligne )
comme ca on regarde chaque variable pour savoir si il reste de la qty a faire et ensuite on déduit la qty a chaque fois qu'une sequence l'utilise

Salut Olivcoco,

voilà, j'ai tes deux nombres mais cette ligne de code n'est absolument valable QUE pour l'exemple fourni sans contrôle de quoi que ce soit d'autre.
Tous ces paramètres doivent être mis en musique de façon plus claire et précise.

        totalMetrageMachine = Int(((metrageDemande - totalMetrageMachine) / IIf(totalMetrageMachine > 0, 2, 1)) / rouleauxLongueurs(1)) * rouleauxLongueurs(1)

Il faut aussi que tu supprimes la ligne ci-dessous en début de boucle qui initialise 'totalMetrageMachine' à 0 puisque, dans tes explications, ce nombre intervient dans le calcul de la Seq2.

totalMetrageMachine = 0

Je prépare un topo pour vérifier avoir bien compris le principe.

A+

Salut olivcoco,

en fait, c'est ça que tu cherches ?

image

A+

Bonjour

je pense que oui si j'ai bien compris votre dessins
dans le premier dessin j'a 3 produits
le produit jaune il y a 6000m
le produit rouge il y a 10 000m
produit vert il y a 3000m
pour les métrage machine ok cela me semble correcte

Salut Olivcoco, As-tu vu mon message d'hier à 12.30?

Bonjour

oui j'ai vu
toujours le probleme avec le metrage machine

Si tu as essayé sur un autre fichier, évidemment !

Je soulignais le principe du calcul!

bonjour olivcoco,salut Curulis

si je comprends bien la question, on a des pieces de 4500 mm * 1300 mm et on a besoin de pieces avec un largeur demandé.

C'est une sorte de "1D-cutting problem", en fait c'est 2D mais on ignore la dimension longueur. Je viens de faire quelque chose pareil, il y a quelque jours. Et je mélange tout, donc je coupe plusieurs largeurs en même temps, mais ne pas dans une séquence prévue comme vous le faites. Un peu de chaos organisé.

macro "Regrouper" = comme votre macro "RassemblerParNumeroArticle" mais ici l'output est la feuille "Regrouper". Colonne J = le nombre de pieces de 4500*1300 arrondi en haut = colonne H / colonne F

macro "Testing", ma macro "1D-cutting" mais pour le moment encore en état "brouillon". Elle prend les valeurs de la feuille "Regrouper" et fait le TS "tabel4".

Comment fait-il lire cette solution :

ligne 10-15 = 1ier coupe = on a utilisé 440 cm des 450 cm, résultat 2 pièces de 230 et 210 cm et on a fait cela 6 fois = 12 pièces de 230*130 et 12 pièces de 210*130.

ligne 16-24 = 2eme coup = de nouveau 2 pièces mais 2 fois 210 cm; résultat 9x2 = 18 pièces de 210*130

ligne 25 = 3eme coup = 2 pièces = une de 210 et l'autre 185

etc.

comme ça, j'avais besoin de 35 pièces de 450x130 et 8 combinaisons uniques et un rendement de 94 % (6% poubelle).

Bonjour,

Nous n'avons pas de pièce de 4500 mm, c'est la largeur maximum que l'on peut utiliser.
En fait, sur la machine, on peut réduire et travailler en 4400 mm ou moins, mais l'idéal est de trouver la meilleure combinaison pour avoir la largeur maximale ou la largeur moyenne, en fonction des quantités à produire.
Pour votre ligne de 10 à 15, on utilise les largeurs 230 et 210, soit 440 cm, ce qui est très bien. Cela permet de produire 6 levées, et je souhaite travailler avec une seule ligne, mais le métrage machine est de 7800 mm.

Dans la deuxième séquence, en réalité, nous allons faire 210 + 175 = 385, pour éviter de faire 175 + 175 = 350. Cela signifie qu'on va produire 25 cm en plus en m².

Pour votre dernière ligne, 145 + 145 = 290, il faut éviter cela. On peut plutôt faire 145 + 145 + 145 = 435.
On peut produire 20 % de quantités en plus si nécessaire, mais il faut tout de même éviter certaines combinaisons.

Demain, je regarderai plus précisément votre fichier.
Cela fait des années que je cherche à automatiser cette partie.

re,

qu'est-ce qu'on fait exactement ? C'est comme un rouleau de papier avec des dimensions de 4.500*7.800 et on coupe des rectangles avec certaines dimensions ? J'essaie à m'imaginer le problème. On peut aussi tourner les rectangles 90° ?

si le metrage de la machine est 7800, cela veut dire que la colonne que colonne F de "regrouper" change et les nouveaux nombres sont plutôt ceux de la colonne M (arrondi en haut) maintenant ?

Ces combinaisons à éviter, vous avez une description pour cela ?

Vous n'avez pas encore pensé à utiliser par exemple https://www.opticutter.com/linear-cut-list-calculator . On peut préparer les dimensions en excel, faire un export vers cet App, la lancer (manuellement !) et importer le résultat en Excel. Moi, je l'utilise de temps en temps, mais il y a un maximum de fois on peut l'utiliser, je crois et après cela, cet App devient payant.

Bonjour

J'ai essaye le classeur6-avec deux -macron-20-5.xlsm j'ai eu un probleme pour le lancer le programme ne c'est aps arrêter

l'idea de travailler parrouleaux est une bonne ideé aussi si cela peux vous aider.

non on produit que des rouleaux comme des rouleaux en papier ou papier toilette docn on en decoupe aps de rectangle

nous avons une machien qu'on peut regler la largeur qu'on a besoin mais on essaye de trouver toujours de travailelr en largeur max si possible et evité les petite largeur
donc si on a une largeur max de 4500mm
on peux avoir dans cette production 30 reference de largeur differente
dans notre exemple

en 230 nous avons 6 rouleaux a faire ou 6*1300m sachant qu'un rouleau fait 1300m c'est pour cela qu'n parle de metrage machine et non en nombre de rouleaux mais cela revient a peut pret la meme chose
en 210 nopus avons 25 rouleaux
185 qty 1rouleaux
175 qty 15 rouleaux
175qty 4 d'une autre ref
145 qty 21 rouleaux
125 qty 13 rouleaux
ce que je souhaite
seq1 metrage machine 7800m ou 6 levée ensuite position 1 230 et position 2 210
seq2 ......
l'idee de compter les rouleaux peux etre pratique a faire le programme sinon j'avasi pensé de faire une variable pour charque ref et de decompte les qty en focntion de sequence utilisé

je sais que c'est pas facile à faire

si vous avez d'autre question

Un grand merci à vous tous.

c'est du chinois, je ne comprends pas encore bien. 4500 est le max mais votre produit initial, c'est quoi, un rouleau de largeur variable entre ... et 4500 et longueur 7800 ?

Puis en 230 vous avez 6 rouleaux de 1300 (okay 1300*6=7800) mais en 210 vous avez 25 rouleaux, etc. C'est incompréhensible. Vous ne pouvez pas vous expliquer mieux. On commence avec quoi et on termine avec quoi ?

Salut BsAlv,

déso, je n'ai pas le temps pour l'instant : journée brico hier et demain chez ma fille, souci avec l'opération de notre chien et une perturbatrice high level à mes côtés empêchent toute concentration pour un travail sérieux!!

De ce que j'ai compris, la machine qui découpe peut accepter un rouleau de matière brute de 450 cm de largeur MAX.
Il y a plusieurs largeurs de rouleaux bruts disponibles dans l'atelier que l'on peut choisir en fonction des commandes des clients pour optimiser les découpes.
on peut très bien démarrer avec un rouleau de 200 cm si les commandes prévoient des rouleaux "finis" de, par exemple : 150cm et 40 cm.
150 cm + 40 cm = 190 cm, très proches des 200 cm de base.
C'est à partir de ce rouleau de base que OlivCoco veut un plan de découpe automatisé.

Capito, camarade ?

Rechercher des sujets similaires à "creation sequence"