Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Algorithme optimisation de débit

3 réponses
Avatar
Changuy
Bonsoir a tous,

Je cherche à faire sous Excel (+ VBA) une optimisation de débit :
Le but est de caser le maximum de pièces de longueur définies dans des
barres de profilés
en minimisant les chutes. (Très classique en industrie !)

Est-ce que quelqu'un sait où trouver un algorithme permettant de faire cela
?

(J'ai trouvé pas mal de choses sur les algorithmes de tri mais rien sur
l'optimisation)
(Il existe moult logiciels qui font cela très bien, mais c'est pour le
plaisir de le faire soit même !)

Merci
JC

3 réponses

Avatar
Patrick BASTARD
Bonjour, *Changuy*

Jean DUPRAT avait prévu ta demande,
et Misange te l'a gardé bien au chaud ici :
http://www.excelabo.net/excel/broll.php#optimisationdecoupe

Merci qui ?
;-)

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonsoir a tous,

Je cherche à faire sous Excel (+ VBA) une optimisation de débit :
Le but est de caser le maximum de pièces de longueur définies dans des
barres de profilés
en minimisant les chutes. (Très classique en industrie !)

Est-ce que quelqu'un sait où trouver un algorithme permettant de
faire cela ?

(J'ai trouvé pas mal de choses sur les algorithmes de tri mais rien
sur l'optimisation)
(Il existe moult logiciels qui font cela très bien, mais c'est pour le
plaisir de le faire soit même !)

Merci
JC


Avatar
M41
Bonsoir

Les problèmes d'optimisation évoquent souvent
recherche opérationnelle, intelligence artificielle
ou simulation.

Si les plus petites pièces ont une longueur
supérieure à 50% de celle de la barre, le
problème n'a pas de solution.
Si la plus grande pièce est très petite par
rapport à la barre, le problème des pertes
ne se pose pas réellement.
Utiliser la longueur corrigée des pièces en
comptant une épaisseur de sciage.

1/ Utiliser le hasard ?
Tirer des pièces tant que la somme de leurs
longueurs est inférieure à celle de la barre.
Ne retenir que les solutions qui donnent
le pourcentage de barre perdue le plus petit
pour les pourcentages des familles de pièces
les plus près des besoins. Etablir un seuil
de reccord pour conserver une solution.
Etablir un criter de performance :
%barre perdue * produit des rapports |%obtenu - %attendu| / %attendu
Ne retenir que les solutions les plus proches de zéro
mais différentes de zéro.

Prendre ensuite X barres sur N barres optimisées trouvées
par le hasard et rechercher la combinaison optimum.
Attention aux explosions combinatoires.


2/ Autre. Algorithme génétique.
Considérer qu'un individu est constitué de Y barres.
Chaque barre est découpée en pièces. L'effectif de chaque
pièce pour chaque barre est associée à un gêne.
On utilise le système de score pour savoir quel est
l'individu le mieux adapté (minimum de perte sur les
Y barrres et proportions de pièces optimisés).
Créer des générations de 1000 individus.

J'ai déjà programmé un algorithme génétique en VBA
pour optimiser une solution. C'est plus rapide que le simple
hasard et ça marche.... Voir explications sur ce type
de méthodes sur le Net.

Cordialement

M41






"Changuy" a écrit dans le message de news:

Bonsoir a tous,

Je cherche à faire sous Excel (+ VBA) une optimisation de débit :
Le but est de caser le maximum de pièces de longueur définies dans des
barres de profilés
en minimisant les chutes. (Très classique en industrie !)

Est-ce que quelqu'un sait où trouver un algorithme permettant de faire
cela ?

(J'ai trouvé pas mal de choses sur les algorithmes de tri mais rien sur
l'optimisation)
(Il existe moult logiciels qui font cela très bien, mais c'est pour le
plaisir de le faire soit même !)

Merci
JC



Avatar
tangaroa
M41 a écrit le 16/07/2007 à 20h59 :
Bonsoir

Les problèmes d'optimisation évoquent souvent
recherche opérationnelle, intelligence artificielle
ou simulation.

Si les plus petites pièces ont une longueur
supérieure à 50% de celle de la barre, le
problème n'a pas de solution.
Si la plus grande pièce est très petite par
rapport à la barre, le problème des pertes
ne se pose pas réellement.
Utiliser la longueur corrigée des pièces en
comptant une épaisseur de sciage.

1/ Utiliser le hasard ?
Tirer des pièces tant que la somme de leurs
longueurs est inférieure à celle de la barre.
Ne retenir que les solutions qui donnent
le pourcentage de barre perdue le plus petit
pour les pourcentages des familles de pièces
les plus près des besoins. Etablir un seuil
de reccord pour conserver une solution.
Etablir un criter de performance :
%barre perdue * produit des rapports |%obtenu - %attendu| / %attendu
Ne retenir que les solutions les plus proches de zéro
mais différentes de zéro.

Prendre ensuite X barres sur N barres optimisées trouvées
par le hasard et rechercher la combinaison optimum.
Attention aux explosions combinatoires.


2/ Autre. Algorithme génétique.
Considérer qu'un individu est constitué de Y barres.
Chaque barre est découpée en pièces. L'effectif de chaque
pièce pour chaque barre est associée à un gêne.
On utilise le système de score pour savoir quel est
l'individu le mieux adapté (minimum de perte sur les
Y barrres et proportions de pièces optimisés).
Créer des générations de 1000 individus.

J'ai déjà programmé un algorithme génétique
en VBA
pour optimiser une solution. C'est plus rapide que le simple
hasard et ça marche.... Voir explications sur ce type
de méthodes sur le Net.

Cordialement

M41






"Changuy" a écrit dans le
message de news:

Bonsoir a tous,

Je cherche à faire sous Excel (+ VBA) une optimisation de débit
:
Le but est de caser le maximum de pièces de longueur définies
dans des
barres de profilés
en minimisant les chutes. (Très classique en industrie !)

Est-ce que quelqu'un sait où trouver un algorithme permettant de faire
cela ?

(J'ai trouvé pas mal de choses sur les algorithmes de tri mais rien sur
l'optimisation)
(Il existe moult logiciels qui font cela très bien, mais c'est pour le
plaisir de le faire soit même !)

Merci
JC






Bonjour,

Je voudrais développer un algorithme génétique, ce que j'ai déjà fait sous Matlab. Simplement je suis cette fois contraint de le faire sous Excel que je maîtrise beaucoup moins. Je ne sais pas si cela se fait, mais , M41, serait il possible de voir ton code pour que je m'en inspire et voit quelle sont les fonctions clefs?

Cordialement
K