IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème de binpacking + algorithme génétique


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut Problème de binpacking + algorithme génétique
    Bonjour le forum,

    Oui je reviens vers vous avec une nouvelle question idiote à laquelle quelqu'un à peut être déjà répondu (si tel est le cas je m'en excuse et vous prie de bien vouloir me rediriger vers la discussion ).
    Bien évidement si je viens quérir votre aide c'est que malgré mes recherches et mes tentatives diverses et variés (unparia si tu me lis, oui je suis à nouveau parti sur des chemins longs et tortueux), je suis arrivé à nada.

    Je vous explique mon problème :
    Pour commencer : j'ai voulu reprendre le problème du sac à dos sous un autre angle (connu lui aussi), le container que l'on rempli de cartons de diverses formes et poids (ou problème de bin packing). Jusque la ça va, je suis partie sur une macro qui découpe mon container en plein de petits cubes puis les remplis en fonctions de la taille des cartons et de leur ordre de déchargement. Cela me donne un colisage final pas trop mal.

    Mais après plusieurs essais je me suis aperçus d'une chose :
    Il arrive que le programme décide qu'il est plus avantageux de mettre un gros cartons à côtés de cartons plus petits en plein milieux du container. En soi ce n'est pas réellement un problème dans le sens ou après les cartons du dessus peuvent être calés pour arriver à la bonne hauteur et reposé sur le grand carton.
    Mon soucis c'est que dans ce cas la je préférerai que le carton en question se retrouve contre la paroi du fond plutôt que en plein milieux mais ssi (si et seulement si pour les intimes) son ordre de livraison le permet (oui je sais ça à l'air compliqué dis comme ça ).

    ex (les cartons sont représenté par les chiffres) :
    Nom : Capture.JPG
Affichages : 634
Taille : 104,0 Ko

    J'aimerai plutôt ceci :
    Nom : Capture.JPG
Affichages : 626
Taille : 99,5 Ko

    Deuxième constatation : il est possible que des cartons soit en longueur et certains devant être livré au départ soit plus grand que ceux à livrer plus tard. Dans ce cas la j'aimerai que mon/mes cartons du dessous viennent se positionner au milieu de l'autre plutôt que contre la paroi.

    ex :
    Nom : Capture.JPG
Affichages : 642
Taille : 77,1 Ko

    Deviendrai :
    Nom : Capture.JPG
Affichages : 649
Taille : 84,8 Ko


    Solution :
    L'algorithme génétique ! Enfin c'est ce qui me semble le plus logique (je reste ouvert à toutes autres propositions)

    Problème :
    La mise en place de cet algorithme suivants les contraintes cités au dessus.
    Donc si quelqu'un à une idée de direction dans laquelle je pourrai m'engouffré plutôt que de continuer à m'enfoncer sous terre avec notre ami Penrose.

    Merci

    Petit PS : cette gymnastique n’entraîne rien en retour je le fais juste car j'étais curieux par rapport au problème du sac à dos et qu'en me baladant sur Google j'ai découvert l'algorithme génétique et le binpacking et que du coup je voulais essayer.
    C'est en creusant qu'on fait des trous

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Salut,

    quelques lectures, non VBA, mais qui peuvent faire avancer le schmiblick :
    http://khayyam.developpez.com/articl...rce/genetique/
    http://khayyam.developpez.com/articles/algo/genetic/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je connais plusieurs personnes qui étudient des algorithmes de packaging de couches hétérogènes mais je n'en connaissais encore aucune qui fasse ça juste pour s'amuser.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Je connais plusieurs personnes qui étudient des algorithmes de packaging de couches hétérogènes mais je n'en connaissais encore aucune qui fasse ça juste pour s'amuser.
    Je suis juste un peu dérangé
    Non je trouvais juste le problème vraiment intéressant. Du coup j'ai demandé à un collègue qui bosse dans les transports ce qui se faisait et si il avait un exemple et il m'a dit que non. Du coup ni une ni deux je lui ai demandé un exemple de colisage (dimension container + cartons), et depuis j'essaye de voir ce que je peu faire avec.
    Et j'avoue que je trouve justement l'exercice intéressant. Ça m'a notamment permit de d'utiliser un tableau tri-dimensionnel

    Merci Jean-Philippe André mais ce sont deux articles que j'ai déjà consulté (et mis en marque page au passage) et d'ailleurs sur un exemple simple j'ai réussi à mettre un semblant de code génétique en place mais avec mon cas impossible de trouver par ou commencer.
    Comment prendre en compte les trous que je souhaite et ceux que je ne souhaites pas ? Tout en sachant que l'ordre de livraison à une immense importance ainsi que la répartition du volume (je prends pas en compte le poids, sinon ça devenait vraiment trop galère )
    En fait entre chaque génération comment puis-je muter/noter/fusionner mes individus en prenant en compte les critères que je souhaite m'imposer ?

    En fait on peut dire que ma question se porte plutôt sur :
    Comment faire la différence entre les trous que je ne souhaite pas et ceux qui doivent être présent ?
    C'est en creusant qu'on fait des trous

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/05/2011, 07h58
  2. Réponses: 1
    Dernier message: 22/03/2010, 10h13
  3. Réponses: 2
    Dernier message: 03/02/2009, 20h21
  4. Algorithme génétique
    Par senke dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 26/08/2002, 16h55
  5. Algorithme génétique
    Par Stephane.P_(dis Postef) dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 15/03/2002, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo