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

Algorithmes et structures de données Discussion :

Regroupement de commandes en palettes complètes


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 38
    Points : 37
    Points
    37
    Par défaut Regroupement de commandes en palettes complètes
    Bonjour,

    On doit préparer plusieurs commandes Cx de produits P avec des quantités différentes :
    - Commande C1 qté 2
    - Commande C2 qté 1
    - Commande C3 qté 3
    - Commande C4 qté 1
    - ...
    - etc pour plusieurs dizaines de commandes.

    Je dois regrouper ces commandes afin de déstocker, dans la mesure du possible, des palettes complètes de 50 produits (50 étant variable suivant le produit à traiter).
    Un regroupement ne doit pas dépasser 50 produits.
    Comment optimiser les regroupements de commandes afin d'avoir un maximum de palettes complètes de 50 produits ?
    Et non pas des palettes "presque complètes" de 49, 48, 47 produits.

    Je précise que je travaille actuellement en PL/SQL (Oracle) mais peu importe il s'agit d'algorithmique.

    Cordialement.

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    C'est typiquement le "problème du sac-à-dos", pour lequel il n'existe aucune solution mathématiquement parfaite, actuellement. Tu vas être obligé de faire tous les cas possibles jusqu'à trouver une somme égale à 50. Une méthode d'exploration est de commencer par les grosses commandes.

    25-20-12-10-10-10, il faut trouver 20 + 10 + 10 + 10. Ce n'est pas la solution qui prend le plus gros.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut


    Citation Envoyé par Flodelarab Voir le message
    C'est typiquement le "problème du sac-à-dos", pour lequel il n'existe aucune solution mathématiquement parfaite, actuellement.
    Ce n'est pas vraiment un problème de sac à dos (pour lequel il existe un algorithme super efficace de programmation dynamique, bien que pas polynomial : https://fr.wikipedia.org/wiki/Probl%...tion_dynamique), puisqu'on n'y considère qu'un seul sac à dos. C'est plutôt du remplissage de conteneurs (bin packing), la version de base cherchant à minimiser le nombre de palettes à remplir (même si aucune n'est remplie à fond) : https://en.wikipedia.org/wiki/Packing_problems, https://en.wikipedia.org/wiki/Bin_packing_problem. Wikipedia propose une série d'algorithmes efficaces (mais pas polynomiaux).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 38
    Points : 37
    Points
    37
    Par défaut
    Bonjour !

    Merci pour vos réponses, je vais explorer ces pistes

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    À mon avis, le plus simple serait de t'interfacer avec une solveur d'optimisation mathématique, ça serait tellement plus simple d'adapter une formulation de bin packing pour avoir un maximum de palettes de cinquante items. Maintenant, ça nécessite d'appeler des bibliothèques externes (à la CPLEX ou Cbc, que tu peux appeler en C).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. [AC-2016] Regroupement des commandes avec OUI/NON
    Par MakSLR dans le forum Access
    Réponses: 2
    Dernier message: 17/08/2017, 19h59
  2. Regroupement de commandes
    Par Alikendarfen dans le forum Algorithmes et structures de données
    Réponses: 30
    Dernier message: 08/08/2011, 11h07
  3. [bash] opérateurs conditionnels et regroupement de commandes.
    Par ben.IT dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 17/03/2011, 23h15
  4. [AC-2003] regrouper les commandes de navigation (fonctions?)
    Par minot83 dans le forum IHM
    Réponses: 4
    Dernier message: 13/02/2011, 10h58
  5. Fonction qui regroupe les commandes sql
    Par champomy62 dans le forum VB.NET
    Réponses: 13
    Dernier message: 28/10/2010, 01h27

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