{"id":37108,"date":"2019-10-31T22:15:47","date_gmt":"2019-10-31T19:15:47","guid":{"rendered":"https:\/\/prohoster.info\/blog\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1\/"},"modified":"2019-10-31T22:15:47","modified_gmt":"2019-10-31T19:15:47","slug":"diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1","title":{"rendered":"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/89e9927c86cd36ee5b4ab37b5c0753c9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDans cet article, nous allons expliquer comment nous avons r\u00e9solu le probl\u00e8me du manque d'espaces libres dans l'entrep\u00f4t et comment nous avons d\u00e9velopp\u00e9 un algorithme d'optimisation discr\u00e8te pour aborder ce d\u00e9fi. Nous parlerons de la mani\u00e8re dont nous avons \u00ab construit \u00bb le mod\u00e8le math\u00e9matique du probl\u00e8me d'optimisation et des difficult\u00e9s impr\u00e9vues que nous avons rencontr\u00e9es lors du traitement des donn\u00e9es d'entr\u00e9e pour l'algorithme.<\/p>\n<p>Si les applications des math\u00e9matiques en affaires vous int\u00e9ressent et que vous n'avez pas peur de transformations alg\u00e9briques complexes au niveau de la 5\u00e8me ann\u00e9e, bienvenue sous le spoiler !<\/p>\n<p>Cet article sera utile \u00e0 ceux qui mettent en \u0153uvre <i>WMS<\/i>-syst\u00e8mes, qui travaillent dans le secteur de la logistique d'entrep\u00f4t ou de production, ainsi qu'aux programmeurs int\u00e9ress\u00e9s par les applications des math\u00e9matiques en affaires et l'optimisation des processus d'entreprise.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Partie introductive<\/h4>\n<p>\nCette publication fait suite \u00e0 une s\u00e9rie d'articles dans lesquels nous partageons notre exp\u00e9rience r\u00e9ussie de mise en \u0153uvre d'algorithmes d'optimisation dans les processus d'entrep\u00f4t. <\/p>\n<p>Dans <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463289\/\">l'article pr\u00e9c\u00e9dent<\/a><\/noindex> Nous d\u00e9crivons les sp\u00e9cificit\u00e9s de l'entrep\u00f4t o\u00f9 nous avons mis en \u0153uvre <i>WMS<\/i>-syst\u00e8me, ainsi que les raisons pour lesquelles nous avons eu besoin de r\u00e9soudre le probl\u00e8me de la classification des lots de stocks lors de la mise en \u0153uvre de <i>WMS<\/i>-syst\u00e8me, et comment nous y sommes parvenus.<\/p>\n<p>Lorsque nous avons termin\u00e9 d'\u00e9crire l'article sur les algorithmes d'optimisation, celui-ci s'est av\u00e9r\u00e9 tr\u00e8s volumineux, c'est pourquoi nous avons d\u00e9cid\u00e9 de diviser le mat\u00e9riel accumul\u00e9 en 2 parties :<\/p>\n<ul>\n<li>Dans la premi\u00e8re partie (cet article), nous raconterons comment nous avons \u00ab construit \u00bb le mod\u00e8le math\u00e9matique du probl\u00e8me et les grandes difficult\u00e9s rencontr\u00e9es lors du traitement et de la transformation des donn\u00e9es d'entr\u00e9e pour l'algorithme.<\/li>\n<li>Dans la deuxi\u00e8me partie, nous examinerons en d\u00e9tail la mise en \u0153uvre de l'algorithme en langage <i>C++<\/i>, nous r\u00e9aliserons une exp\u00e9rience de calcul et r\u00e9sumerons l'exp\u00e9rience acquise lors de l'impl\u00e9mentation de ces \u00ab technologies intelligentes \u00bb dans les processus d'affaires du client.<\/li>\n<\/ul>\n<p>\nComment lire l'article. Si vous avez lu l'article pr\u00e9c\u00e9dent, vous pouvez passer directement \u00e0 la section \u00ab Revue des solutions existantes \u00bb, sinon, la description du probl\u00e8me \u00e0 r\u00e9soudre se trouve dans le spoiler ci-dessous.<\/p>\n<p><b class=\"spoiler_title\">Description du probl\u00e8me \u00e0 r\u00e9soudre dans l'entrep\u00f4t du client<\/b><\/p>\n<h4>Goulot d'\u00e9tranglement dans les processus<\/h4>\n<p>\nEn 2018, nous avons r\u00e9alis\u00e9 un projet de mise en \u0153uvre <i>WMS<\/i>-syst\u00e8me dans l'entrep\u00f4t \u00ab Maison de commerce \u00ab LD \u00bb \u00e0 Tcheliabinsk. Nous avons d\u00e9ploy\u00e9 le produit \u00ab 1C-Logistique : Gestion d'entrep\u00f4t 3 \u00bb sur 20 postes de travail : op\u00e9rateurs <i>WMS<\/i>, magasiniers, conducteurs de chariots \u00e9l\u00e9vateurs. L'entrep\u00f4t a une superficie d'environ 4 000 m2, avec 5 000 emplacements et 4 500 SKU. L'entrep\u00f4t stocke des vannes \u00e0 bille fabriqu\u00e9es en interne de diff\u00e9rentes tailles, allant de 1 kg \u00e0 400 kg. Les stocks sont conserv\u00e9s par lots, car il est n\u00e9cessaire de s\u00e9lectionner les produits selon la m\u00e9thode FIFO.<\/p>\n<p>Au cours de la conception des sch\u00e9mas d'automatisation des processus d'entreposage, nous avons rencontr\u00e9 un probl\u00e8me existant de stockage non optimal des stocks. La sp\u00e9cificit\u00e9 du stockage et de l'empilement des vannes est telle que dans un emplacement de stockage unitaire ne peut se trouver qu'une seule nomenclature d'un lot (voir fig. 1). Les produits arrivent \u00e0 l'entrep\u00f4t quotidiennement et chaque arriv\u00e9e constitue un lot distinct. En cons\u00e9quence, \u00e0 la fin d'un mois de fonctionnement de l'entrep\u00f4t, 30 lots distincts sont cr\u00e9\u00e9s, chacun devant \u00eatre stock\u00e9 dans un emplacement s\u00e9par\u00e9. Les articles sont souvent pr\u00e9lev\u00e9s non par palettes enti\u00e8res, mais pi\u00e8ce par pi\u00e8ce, et cela entra\u00eene une situation dans la zone de pr\u00e9l\u00e8vement unitaire o\u00f9 de nombreux emplacements montrent ce tableau : dans un emplacement de plus de 1 m3, plusieurs vannes occupent moins de 5 \u00e0 10 % du volume de l'emplacement. <\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a7c03f2302c3be02c00c670453353f16.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 1. Photo de plusieurs pi\u00e8ces dans un emplacement<\/i><\/p>\n<p>Il y a un usage non optimal des capacit\u00e9s de l'entrep\u00f4t. Pour illustrer l'ampleur du probl\u00e8me, je peux fournir des chiffres : en moyenne, il y a entre 100 et 300 de ces emplacements de plus de 1 m3 avec des \u00ab restes minimes \u00bb \u00e0 diff\u00e9rents moments de l'activit\u00e9 de l'entrep\u00f4t. \u00c9tant donn\u00e9 que l'entrep\u00f4t est relativement petit, ce facteur devient un \u00ab goulot d'\u00e9tranglement \u00bb pendant les saisons de forte charge, ralentissant fortement les processus de r\u00e9ception et d'exp\u00e9dition.<\/p>\n<h4>Id\u00e9e de solution au probl\u00e8me<\/h4>\n<p>\nL'id\u00e9e est n\u00e9e : regrouper les lots de restes ayant des dates de p\u00e9remption les plus proches en un lot unique et stocker ces restes avec un lot unifi\u00e9 de mani\u00e8re compacte ensemble dans un ou plusieurs emplacements si l'espace dans un seul emplacement n'est pas suffisant pour accueillir l'ensemble des restes. Un exemple de ce \u00ab compactage \u00bb est illustr\u00e9 \u00e0 la figure 2.<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/792f114a7afa6272a6d152a784650681.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 2. Sch\u00e9ma de compactage des restes dans les emplacements<\/i><\/p>\n<p>Cela permet de r\u00e9duire consid\u00e9rablement l'espace d'entrep\u00f4t occup\u00e9, qui sera utilis\u00e9 pour le nouveau produit \u00e0 stocker. Dans une situation de surcharge des capacit\u00e9s d'entreposage, cette mesure est absolument n\u00e9cessaire ; sans cela, il se peut tout simplement qu'il n'y ait pas assez d'espace libre pour accueillir le nouveau produit, ce qui entra\u00eenera un blocage des processus de placement et d'approvisionnement, et par cons\u00e9quent, un blocage de la r\u00e9ception et de l'exp\u00e9dition. Auparavant, avant l'impl\u00e9mentation du syst\u00e8me WMS, cette op\u00e9ration \u00e9tait effectu\u00e9e manuellement, ce qui \u00e9tait inefficace, car le processus de recherche des stocks appropri\u00e9s dans les emplacements prenait un certain temps. Maintenant, avec l'introduction du syst\u00e8me WMS, nous avons d\u00e9cid\u00e9 d'automatiser ce processus, de l'acc\u00e9l\u00e9rer et de le rendre intelligent.<\/p>\n<p>Le processus de r\u00e9solution de cette t\u00e2che se divise en 2 \u00e9tapes : <\/p>\n<ul>\n<li>\u00e0 la premi\u00e8re \u00e9tape, nous trouvons des groupes de lots similaires en date pour la compression (cette t\u00e2che est consacr\u00e9e <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463289\/\">l'article pr\u00e9c\u00e9dent<\/a><\/noindex>);<\/li>\n<li>\u00e0 la deuxi\u00e8me \u00e9tape, nous calculons pour chaque groupe de lots un emplacement maximalement compact des stocks de produits dans les emplacements. <\/li>\n<\/ul>\n<p>\nDans cet article, nous nous arr\u00eaterons \u00e0 la deuxi\u00e8me \u00e9tape de l'algorithme.<\/p>\n<h4>Vue d'ensemble des solutions existantes<\/h4>\n<p>\nAvant de passer \u00e0 la description des algorithmes que nous avons d\u00e9velopp\u00e9s, il convient de faire un bref aper\u00e7u des syst\u00e8mes d\u00e9j\u00e0 existants sur le march\u00e9 <i>WMS<\/i>, qui r\u00e9alisent une telle fonctionnalit\u00e9 d'optimisation de compression.<\/p>\n<p>En premier lieu, il est n\u00e9cessaire de mentionner le produit \u00ab 1C: Entreprise 8. WMS Logistique. Gestion de l'entrep\u00f4t 4 \u00bb, qui appartient et est distribu\u00e9 par la soci\u00e9t\u00e9 1C et fait partie de la quatri\u00e8me g\u00e9n\u00e9ration <i>WMS<\/i>- syst\u00e8mes, d\u00e9velopp\u00e9s par l'entreprise AXELOT. Dans ce syst\u00e8me, une fonctionnalit\u00e9 de compression est d\u00e9clar\u00e9e, con\u00e7ue pour regrouper des stocks de produits disparates dans un m\u00eame emplacement g\u00e9n\u00e9ral. Il convient de pr\u00e9ciser que la fonctionnalit\u00e9 de compression dans un tel syst\u00e8me comprend \u00e9galement d'autres possibilit\u00e9s, par exemple, la correction de l'emplacement des produits dans les emplacements selon leurs classes ABC, mais nous ne nous attarderons pas sur ces points. <\/p>\n<p>Si nous analysons le code du syst\u00e8me \u00ab1C: Entreprise 8. WMS Logistique. Gestion d'entrep\u00f4t 4\u00bb (qui dans cette partie fonctionnelle est ouvert), nous pouvons conclure ce qui suit. L'algorithme de compression des stocks met en \u0153uvre une logique lin\u00e9aire plut\u00f4t primitive, et il ne peut pas y avoir de v\u00e9ritable \u00ab compression optimale \u00bb. \u00c9videmment, il ne pr\u00e9voit pas la clusterisation des lots. Plusieurs clients ayant d\u00e9ploy\u00e9 ce syst\u00e8me se sont plaints des r\u00e9sultats de la planification de la compression. Par exemple, il arrive souvent dans la pratique qu'en cas de compression, la situation suivante se produise : 100 pi\u00e8ces de stock d'un m\u00eame emplacement sont pr\u00e9vues pour \u00eatre d\u00e9plac\u00e9es vers un autre emplacement, o\u00f9 se trouve 1 pi\u00e8ce de produit, alors qu'il serait optimal, en termes de temps, de faire l'inverse.<\/p>\n<p>La fonctionnalit\u00e9 de compression des stocks de produits dans les emplacements est \u00e9galement annonc\u00e9e dans de nombreux syst\u00e8mes \u00e9trangers, <i>WMS<\/i>-mais, malheureusement, nous n'avons ni retours r\u00e9els sur l'efficacit\u00e9 des algorithmes (c'est un secret commercial), ni m\u00eame une id\u00e9e de la profondeur de leur logique (logiciel propri\u00e9taire \u00e0 code ferm\u00e9), nous ne pouvons donc pas juger.<\/p>\n<h4>Recherche d'un mod\u00e8le math\u00e9matique du probl\u00e8me<\/h4>\n<p>\nPour concevoir des algorithmes de qualit\u00e9 pour r\u00e9soudre ce probl\u00e8me, il est n\u00e9cessaire de formuler d'abord ce probl\u00e8me de mani\u00e8re pr\u00e9cise sur le plan math\u00e9matique, ce que nous allons faire.<\/p>\n<p>Il y a de nombreux emplacements <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/bfff1fb95dd0c633ada02b9398778eab.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, dans lesquels se trouvent des stocks d'un certain produit. Nous appellerons ces emplacements des emplacements-donneurs. D\u00e9signons <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/50ef693482cd4cb27410b30b0bc107b1.jpeg\" style=\"display:block;margin: 0 auto;\" \/> le volume du produit se trouvant dans l'emplacement <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/dc7faf1656fb12c8e467fe3a5b8977fa.jpeg\" style=\"display:block;margin: 0 auto;\" \/>$.<\/p>\n<p>Il est important de dire que dans la proc\u00e9dure de compression, peut participer uniquement un produit d'un seul lot, ou de plusieurs lots, pr\u00e9alablement regroup\u00e9s en un cluster (lire <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463289\/\">l'article pr\u00e9c\u00e9dent<\/a><\/noindex>), ce qui est d\u00fb aux sp\u00e9cificit\u00e9s du stockage et de la disposition des produits. Pour diff\u00e9rents produits ou clusters de lots diff\u00e9rents, une proc\u00e9dure de compression distincte doit \u00eatre lanc\u00e9e.<\/p>\n<p>Il y a de nombreux emplacements <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b9aafca691626263d8ecc2faed8dfcfe.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, dans lesquels les restes des emplacements-donneurs peuvent potentiellement \u00eatre plac\u00e9s. Nous appellerons ces emplacements des emplacements-conteneurs. Cela peut \u00eatre \u00e0 la fois des emplacements vides dans l'entrep\u00f4t, ainsi que des emplacements-donneurs de nombreux <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/25731bc72091e2284e76c434d2abdcfd.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. L'ensemble de <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d407f97344131a3056b1eab1d3dd7dcd.jpeg\" style=\"display:block;margin: 0 auto;\" \/> est toujours un sous-ensemble de <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/581806d446f3d8c91927045249698e71.jpeg\" style=\"display:block;margin: 0 auto;\" \/>.<\/p>\n<p>Pour chaque emplacement <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b084d5852a1e4f00d2498640534d66e9.jpeg\" style=\"display:block;margin: 0 auto;\" \/> de l'ensemble <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/236efb40a21865f78240c8e14303cc2e.jpeg\" style=\"display:block;margin: 0 auto;\" \/> des restrictions sur la capacit\u00e9 sont sp\u00e9cifi\u00e9es <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/fe253cfe5f2aa39bc8e064674fb206f8.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, mesur\u00e9s en dm3. Un dm3 repr\u00e9sente un cube de 10 cm de c\u00f4t\u00e9. Les produits stock\u00e9s dans l'entrep\u00f4t sont suffisamment grands, donc dans ce cas, cette discr\u00e9tisation est tout \u00e0 fait suffisante. <\/p>\n<p>Une matrice des distances les plus courtes a \u00e9t\u00e9 d\u00e9finie <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/48c133b0affa17f6a2367a02241d5f17.jpeg\" style=\"display:block;margin: 0 auto;\" \/> en m\u00e8tres entre chaque paire de cellules <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/8fd860e331a8e42dd258857bdf580c05.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, o\u00f9 <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/feb9a48c6e9e4ccd8e9fa1db5565e96e.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d9a48a8a22ea984d0769373c5620c99a.jpeg\" style=\"display:block;margin: 0 auto;\" \/> appartiennent \u00e0 des ensembles <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e2dd20fda8a8b0b5ea2173c14f04fe00.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/0dabafdb55ac6b8495f6d5f657d6c01d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> respectivement. <\/p>\n<p>D\u00e9signons <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/2994defad9bb0a44741f31a85273abf2.jpeg\" style=\"display:block;margin: 0 auto;\" \/> les \u00ab co\u00fbts \u00bb de d\u00e9placement des marchandises d'une cellule<img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a2e54425ec786d3a88290dda47f4b9cb.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u00e0 une autre cellule <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/bf4a9f1a1f396a9b7b6244cf8c77ecc8.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. D\u00e9nommons <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/6f4c10386fc638f6ca37e0ccdcf4ccb4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> les \u00ab co\u00fbts \u00bb du choix du conteneur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/613d619ea5951551427f0cd45c7f79bf.jpeg\" style=\"display:block;margin: 0 auto;\" \/> pour y d\u00e9placer les restes d'autres cellules. La mani\u00e8re et les unit\u00e9s dans lesquelles les valeurs seront calcul\u00e9es <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/22130f203fde6271e33cba0db14d6a80.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d75c50be3ee4f8e02a9523f2d2109f0d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> seront examin\u00e9es plus loin (voir la section pr\u00e9paration des donn\u00e9es d'entr\u00e9e), pour l'instant, il suffit de dire que ces quantit\u00e9s seront directement proportionnelles aux quantit\u00e9s <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/5e4e80f122ac1fe43f94de2726c0d3b7.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1b6a9d41ba4ad68d5a5fbae883b80596.jpeg\" style=\"display:block;margin: 0 auto;\" \/> respectivement.<\/p>\n<p>D\u00e9signons par <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1ebfe4179740aff474a78d11a004aaa7.jpeg\" style=\"display:block;margin: 0 auto;\" \/> une variable prenant la valeur 1, si les restes de la cellule <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/48f9789788c38746ba4ac0c947e0a4ca.jpeg\" style=\"display:block;margin: 0 auto;\" \/> sont d\u00e9plac\u00e9s vers le conteneur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/58ce0b4c9bfb946c00bffdc0c50a05d6.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, et 0 sinon. D\u00e9nommons par <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/642d5627193c55922be5274826b75cb4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> une variable prenant la valeur 1, si le conteneur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/6939c9f4daf2ecd531d9c2518c03401d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> contient des restes de marchandises, et 0 sinon.<\/p>\n<p><b>Le probl\u00e8me est formul\u00e9 comme suit<\/b>: il est n\u00e9cessaire de trouver un ensemble de conteneurs <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d6065db66f210083181dabb39f0e9e16.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et de \u00ab lier \u00bb les cellules donneuses aux cellules conteneurs de mani\u00e8re \u00e0 minimiser la fonction<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/68d7f0271f9761fff2c762e0fe6f5207.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>sous contraintes<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d57b8752aa4a8140e239dfa7fdc9ec36.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Au final, lors du calcul de la solution du probl\u00e8me, nous cherchons \u00e0 : <\/p>\n<ul>\n<li>tout d'abord, \u00e9conomiser de la capacit\u00e9 de stockage ; <\/li>\n<li>ensuite, \u00e9conomiser le temps des magasiniers. <\/li>\n<\/ul>\n<p>\nLa derni\u00e8re contrainte signifie que nous ne pouvons pas d\u00e9placer des marchandises dans un conteneur qui n'a pas \u00e9t\u00e9 choisi, et nous n'avons donc pas \u00ab encouru de co\u00fbts \u00bb pour son choix. Cela signifie \u00e9galement que le volume des marchandises d\u00e9plac\u00e9es des cellules au conteneur ne doit pas d\u00e9passer la capacit\u00e9 du conteneur. La solution du probl\u00e8me consiste \u00e0 comprendre l'ensemble des conteneurs <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/db0f987f2d388ad1394d21404e183c93.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et les moyens de relier les cellules donneuses aux conteneurs.<\/p>\n<p>Une telle formulation du probl\u00e8me d'optimisation n'est pas nouvelle et a \u00e9t\u00e9 \u00e9tudi\u00e9e par de nombreux math\u00e9maticiens depuis le d\u00e9but des ann\u00e9es 80 du si\u00e8cle dernier. Dans la litt\u00e9rature \u00e9trang\u00e8re, il existe 2 probl\u00e8mes d'optimisation avec un mod\u00e8le math\u00e9matique appropri\u00e9 : <noindex><a rel=\"nofollow\" href=\"http:\/\/www.math.nsc.ru\/AP\/benchmarks\/CFLP\/cflp.html\">Probl\u00e8me de localisation d'installation capacitaire \u00e0 source unique<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/waset.org\/publications\/10002290\/a-survey-of-discrete-facility-location-problems\">Probl\u00e8me de localisation d'installation capacitaire \u00e0 sources multiples<\/a><\/noindex> (Nous aborderons les diff\u00e9rences entre les t\u00e2ches plus tard.) Il convient de souligner que dans la litt\u00e9rature math\u00e9matique, la formulation de ces deux probl\u00e8mes d'optimisation est exprim\u00e9e en termes de localisation des entreprises, d'o\u00f9 le nom \u00ab Localisation des Installations \u00bb. En grande partie, c'est un hommage \u00e0 la tradition, puisque le besoin de r\u00e9soudre de tels probl\u00e8mes combinatoires est d'abord venu du domaine de la logistique, principalement dans l'industrie militaro-industrielle des ann\u00e9es 50 du si\u00e8cle dernier. En termes de localisation d'entreprises, ces probl\u00e8mes se formulent ainsi : <\/p>\n<ul>\n<li>Un ensemble fini de villes existe, o\u00f9 il est potentiellement possible de localiser des entreprises de production (ci-apr\u00e8s villes-producteurs). Pour chaque ville-producteur, des co\u00fbts d'ouverture d'une entreprise y sont d\u00e9finis, ainsi qu'une limite sur les capacit\u00e9s de production de l'entreprise qui y sera ouverte.<\/li>\n<li>Un ensemble fini de villes existe, o\u00f9 se trouvent effectivement les clients (ci-apr\u00e8s villes-clients). Pour chaque ville-client, un volume de demande pour le produit est d\u00e9fini. Pour simplifier, nous consid\u00e9rerons que le produit fabriqu\u00e9 par les entreprises et consomm\u00e9 par les clients est le m\u00eame.<\/li>\n<li>Pour chaque paire ville-producteur et ville-client, une valeur des co\u00fbts de transport pour livrer le volume requis de produits du producteur au client est d\u00e9finie.<\/li>\n<\/ul>\n<p>\nIl est n\u00e9cessaire de d\u00e9terminer dans quelles villes ouvrir des entreprises et comment attacher les clients \u00e0 ces entreprises de mani\u00e8re \u00e0 ce que :<\/p>\n<ul>\n<li>Les co\u00fbts totaux d'ouverture des entreprises et les co\u00fbts de transport soient minimaux ;<\/li>\n<li>Le volume de demande des clients attach\u00e9s \u00e0 une entreprise ouverte ne d\u00e9passe pas les capacit\u00e9s de production de cette entreprise.<\/li>\n<\/ul>\n<p>\nIl est maintenant important de mentionner la seule diff\u00e9rence entre ces deux probl\u00e8mes classiques :<\/p>\n<ul>\n<li>Le Probl\u00e8me de Localisation des Installations \u00e0 Capacit\u00e9 Unique \u2013 un client est Fournie exclusivement par une seule entreprise ouverte ;<\/li>\n<li>Le Probl\u00e8me de Localisation des Installations \u00e0 Capacit\u00e9 Multiple \u2013 un client peut \u00eatre Fournie simultan\u00e9ment par plusieurs entreprises ouvertes.<\/li>\n<\/ul>\n<p>\nCette diff\u00e9rence entre les deux probl\u00e8mes peut sembler insignifiante au premier abord, mais en r\u00e9alit\u00e9, elle conduit \u00e0 des structures combinatoires tr\u00e8s diff\u00e9rentes pour ces probl\u00e8mes et, par cons\u00e9quent, \u00e0 des algorithmes totalement diff\u00e9rents pour les r\u00e9soudre. La diff\u00e9rence entre les probl\u00e8mes est d\u00e9montr\u00e9e dans l'image ci-dessous.<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/77962906c7de2fced174d4a2b7785cc2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig.3. a) Probl\u00e8me de Localisation des Installations \u00e0 Capacit\u00e9 Multiple<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/0242437e488a1aea0f00ce9ede02886d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig.3. b) Probl\u00e8me de Localisation des Installations \u00e0 Capacit\u00e9 Unique<\/i><\/p>\n<p>Les deux probl\u00e8mes <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b16678811fceca32d18c94e71cfaa603.jpeg\" style=\"display:block;margin: 0 auto;\" \/>-difficiles, c'est-\u00e0-dire qu'il n'existe pas d'algorithme exact qui r\u00e9soudrait un tel probl\u00e8me en temps polynomial par rapport \u00e0 la taille des donn\u00e9es d'entr\u00e9e. Pour le dire plus simplement, tous les algorithmes exacts pour r\u00e9soudre le probl\u00e8me fonctionneront en temps exponentiel, m\u00eame s'ils peuvent \u00eatre plus rapides qu'une recherche exhaustive. Puisque le probl\u00e8me <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/09f42b4b905d9bdc3f00f21098f84ad7.jpeg\" style=\"display:block;margin: 0 auto;\" \/>-est difficile, nous allons donc nous concentrer uniquement sur des heuristiques approximatives, c'est-\u00e0-dire des algorithmes qui calculeront des solutions tr\u00e8s proches des optimales et qui fonctionneront assez rapidement. Si cela vous int\u00e9resse, vous pouvez trouver ici un bon aper\u00e7u en russe.<\/p>\n<p>Si l'on transpose \u00e0 la terminologie de notre probl\u00e8me d'optimisation du stockage des produits dans les cellules, alors :<\/p>\n<ul>\n<li>les villes-clients \u2013 ce sont des cellules-donors <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e6db70dbb85d1c7249f4c30e97e2942e.jpeg\" style=\"display:block;margin: 0 auto;\" \/> avec des stocks restants, <\/li>\n<li>les villes-productrices \u2013 ce sont des cellules-conteneurs <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/5ef31fe0483d2bc9a0c18b5dc25e9867.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, dans lesquelles on pr\u00e9voit de placer les restes provenant d'autres cellules,<\/li>\n<li>les co\u00fbts de transport \u2013 sont les co\u00fbts en temps <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/afac567e9057a46de6e0f3d29df9315a.jpeg\" style=\"display:block;margin: 0 auto;\" \/> du magasinier pour d\u00e9placer le volume de produits de la cellule-donor <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/829df82255e40cb99024d7c8dd408d41.jpeg\" style=\"display:block;margin: 0 auto;\" \/> vers la cellule-conteneur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b87c9d9260adb26ce623dbe80b4f22c2.jpeg\" style=\"display:block;margin: 0 auto;\" \/>; <\/li>\n<li>les co\u00fbts d'ouverture de l'entreprise \u2013 sont les co\u00fbts de choix du conteneur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/db4d21fc2067a23b5af5bb01c412323a.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, \u00e9gaux au volume de la cellule-conteneur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/b631a01a65f1ffd3348cbcaeeab11f0d.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, multipli\u00e9 par un certain coefficient d'\u00e9conomie d'espace libre (la valeur du coefficient est toujours &gt; 1) (voir la section pr\u00e9paration des donn\u00e9es d'entr\u00e9e).<\/li>\n<\/ul>\n<p>\nApr\u00e8s avoir \u00e9tabli l'analogie avec les livraisons classiques connues, il est n\u00e9cessaire de r\u00e9pondre \u00e0 une question importante, qui conditionne le choix de l'architecture de l'algorithme de solution : le transfert des restes de la cellule-donor est-il possible uniquement vers un seul conteneur (Single-Source), ou bien est-il possible de transf\u00e9rer les restes vers plusieurs cellules-conteneurs (Multi-Source) ?<\/p>\n<p>Il convient de noter qu'en pratique, les deux formulations du probl\u00e8me existent. Nous allons exposer tous les \u00ab pour \u00bb et \u00ab contre \u00bb pour chaque formulation ci-dessous :<\/p>\n<table>\n<tr>\n<th>Option du probl\u00e8me<\/th>\n<th>Avantages de l'option<\/th>\n<th>Inconv\u00e9nients de l'option<\/th>\n<\/tr>\n<tr>\n<td>Single-Source<\/td>\n<td>Les op\u00e9rations de d\u00e9placement des produits, calcul\u00e9es selon cette option du probl\u00e8me :<\/p>\n<ul>\n<li>n\u00e9cessitent moins de contr\u00f4le de la part du magasinier (il a pris TOUT depuis une seule cellule, il a mis TOUT dans une autre cellule-conteneur), ce qui \u00e9limine les risques : erreurs lors du comptage des produits lors des op\u00e9rations \u00ab Mettre dans la cellule \u00bb ; erreurs lors de la saisie du nombre recompt\u00e9 dans le TSC ;<\/li>\n<li>Aucun temps n'est requis pour recompter le nombre d'articles lors des op\u00e9rations \u00ab Mettre dans la cellule \u00bb et leur saisie dans le TSC.<\/li>\n<\/ul>\n<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Multi-Source<\/td>\n<td>Les compressions calcul\u00e9es selon cette variante de la t\u00e2che sont g\u00e9n\u00e9ralement plus compactes de 10 \u00e0 15 % par rapport \u00e0 celles calcul\u00e9es selon la variante \u00ab Single-Source \u00bb. Cependant, il faut \u00e9galement noter que plus le stock dans les cellules sources est faible, moins cette diff\u00e9rence de compacit\u00e9 est importante.<\/td>\n<td>Les op\u00e9rations de d\u00e9placement des produits, calcul\u00e9es selon cette option du probl\u00e8me :<\/p>\n<ul>\n<li>n\u00e9cessitent un contr\u00f4le accru de la part du magasinier (il faut recompter le nombre de produits d\u00e9plac\u00e9s dans chacune des cellules-containers planifi\u00e9es), ce qui \u00e9limine le risque d'erreur lors du comptage des produits et de la saisie des donn\u00e9es dans le TSC lors des op\u00e9rations \u00ab Mettre dans la cellule \u00bb.<\/li>\n<li>Du temps est requis pour recompter le nombre d'articles lors des op\u00e9rations \u00ab Mettre dans la cellule \u00bb.<\/li>\n<li>Du temps est requis pour les \u00ab frais g\u00e9n\u00e9raux \u00bb (s'arr\u00eater, se rendre au palan, scanner le code-barres de la cellule-container) lors des op\u00e9rations \u00ab Mettre dans la cellule \u00bb.<\/li>\n<li>Parfois, l'algorithme peut \u00ab fragmenter \u00bb la quantit\u00e9 d'une palette presque compl\u00e8te entre un grand nombre de cellules-containers o\u00f9 il y a d\u00e9j\u00e0 des produits adapt\u00e9s, ce qui, du point de vue du client, est inacceptable.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/table>\n<p><i>Tableau 1. Avantages et inconv\u00e9nients des variantes Single-Source et Multi-Source.<\/i><\/p>\n<p>Comme le nombre d'avantages de la variante Single-Source est plus \u00e9lev\u00e9, et en tenant compte du fait que plus le stock dans les cellules sources est faible, moins la diff\u00e9rence dans le degr\u00e9 de compacit\u00e9 des compressions calcul\u00e9es selon les deux variantes de t\u00e2ches est importante, nous avons choisi la variante Single-Source.<\/p>\n<p>Il convient de mentionner que la solution Multi-Source a aussi sa place. Il existe un grand nombre d'algorithmes efficaces pour sa r\u00e9solution, dont beaucoup se r\u00e9sument \u00e0 r\u00e9soudre une s\u00e9rie de probl\u00e8mes de transport. Il existe \u00e9galement des algorithmes non seulement efficaces, mais aussi \u00e9l\u00e9gants, par exemple,<noindex><a rel=\"nofollow\" href=\"http:\/\/www.mathnet.ru\/php\/archive.phtml?wshow=paper&amp;jrnid=da&amp;paperid=791&amp;option_lang=rus\"> ici.<\/a><\/noindex><\/p>\n<h4>Pr\u00e9paration des donn\u00e9es d'entr\u00e9e<\/h4>\n<p>\nAvant de proc\u00e9der \u00e0 l'analyse et au d\u00e9veloppement de l'algorithme pour r\u00e9soudre le probl\u00e8me, il est n\u00e9cessaire de d\u00e9terminer quelles donn\u00e9es et sous quelle forme nous allons les lui transmettre en entr\u00e9e. Les volumes de stocks de produits dans les cellules sources et la capacit\u00e9 des cellules-containers ne posent pas de probl\u00e8me, car c'est trivial \u2013 de telles valeurs seront mesur\u00e9es en m3, mais en ce qui concerne les co\u00fbts d'utilisation de la cellule-container et la matrice des co\u00fbts de d\u00e9placement, ce n'est pas si simple !<\/p>\n<p>Commencez par examiner le calcul <b>co\u00fbts de d\u00e9placement des marchandises<\/b> d'une cellule-donatrice \u00e0 une cellule-conteneur. Tout d'abord, il est n\u00e9cessaire de d\u00e9cider dans quelles unit\u00e9s de mesure nous allons calculer les co\u00fbts de d\u00e9placement. Les deux options les plus \u00e9videntes sont les m\u00e8tres et les secondes. Il est sans objet de calculer les co\u00fbts de d\u00e9placement en m\u00e8tres 'purs'. Illustrons cela par un exemple. Supposons que la cellule <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/990a5fae8988ddf41395483263de2bcc.jpeg\" style=\"display:block;margin: 0 auto;\" \/> soit situ\u00e9e au premier niveau, et que la cellule <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/9d17b98e807444f431d01f2e77fc96f7.jpeg\" style=\"display:block;margin: 0 auto;\" \/> soit \u00e0 30 m\u00e8tres au-dessus et situ\u00e9e au deuxi\u00e8me niveau :<\/p>\n<ul>\n<li>Le d\u00e9placement depuis <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/3188fd9853d5cda2834a5083539ac11d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> dans <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e212a0be19ea687b1017c3aacec3df19.jpeg\" style=\"display:block;margin: 0 auto;\" \/> est plus co\u00fbteux que le d\u00e9placement depuis <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d65e60dec37fb3b83c83ca1c566f1ee9.jpeg\" style=\"display:block;margin: 0 auto;\" \/> dans <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/4168198a4c90bdd3dd4b7f0c904b06e0.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, car abaisser d'un niveau (1,5-2 m\u00e8tres du sol) est plus facile que de soulever \u00e0 partir du deuxi\u00e8me niveau, m\u00eame si la distance parcourue est identique ;<\/li>\n<li>D\u00e9placer 1 pi\u00e8ce de produit depuis la cellule <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/039864ccd0a2bd14a99a83494f056fa3.jpeg\" style=\"display:block;margin: 0 auto;\" \/> dans <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/9f9bc7a256119b110f47760b145e174b.jpeg\" style=\"display:block;margin: 0 auto;\" \/> sera plus facile que de d\u00e9placer 10 pi\u00e8ces du m\u00eame produit, bien que la distance parcourue soit identique.<\/li>\n<\/ul>\n<p>\nIl est pr\u00e9f\u00e9rable de prendre en compte les co\u00fbts de d\u00e9placement en secondes, car cela permet de prendre en compte \u00e0 la fois la diff\u00e9rence de niveaux et la diff\u00e9rence dans la quantit\u00e9 de produits d\u00e9plac\u00e9s. Pour tenir compte des co\u00fbts de d\u00e9placement en secondes, nous devons d\u00e9composer l'op\u00e9ration de d\u00e9placement en ses \u00e9l\u00e9ments fondamentaux et chronom\u00e9trer le temps n\u00e9cessaire pour ex\u00e9cuter chaque \u00e9l\u00e9ment.<\/p>\n<p>Supposons que depuis la cellule <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/538c4304e37f340a5a5a8e47e0ee2865.jpeg\" style=\"display:block;margin: 0 auto;\" \/> se d\u00e9place <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/6c7e32728f4771726f8ef9b2d78111d6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> pi\u00e8ces de produit dans le conteneur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/fc2ad051b500eae5884404f4b9419841.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Supposons que <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/6733192a31618a03e51e8e3133cb96ee.jpeg\" style=\"display:block;margin: 0 auto;\" \/> soit la vitesse moyenne de d\u00e9placement d'un travailleur dans l'entrep\u00f4t, mesur\u00e9e en m\/s. Supposons que <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/97f7e9c65c2196fa586f957618d1c8a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/bbe48d987f180e2f9ccec6e090e6f942.jpeg\" style=\"display:block;margin: 0 auto;\" \/> soient les vitesses moyennes d'ex\u00e9cution des op\u00e9rations de prise et de d\u00e9p\u00f4t respectivement pour un volume de produit \u00e9gal \u00e0 4 dm3 (volume moyen que prend un employ\u00e9 \u00e0 l'entrep\u00f4t lors de l'ex\u00e9cution des op\u00e9rations). Supposons que <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/267d74648f49d5a2d063b1377c6d2fe6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/fefdd606d5a81ba4e2ce57b107dfe1e6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> soient les hauteurs des cellules \u00e0 partir desquelles les op\u00e9rations de prise et de d\u00e9p\u00f4t sont effectu\u00e9es respectivement. Par exemple, la hauteur moyenne du premier niveau (sol) est de 1 m, le deuxi\u00e8me niveau est de 2 m, etc. Alors la formule pour calculer le temps total n\u00e9cessaire pour ex\u00e9cuter l'op\u00e9ration de d\u00e9placement est <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a48ae3c2e9dc8f2c3108cb2be1f96c40.jpeg\" style=\"display:block;margin: 0 auto;\" \/> la suivante :<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/55afb96b1141bb5656351bdaeba31ae4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Le tableau 2 pr\u00e9sente les statistiques concernant le temps d'ex\u00e9cution de chaque op\u00e9ration \u00e9l\u00e9mentaire, recueillies par les employ\u00e9s de l'entrep\u00f4t en tenant compte des sp\u00e9cificit\u00e9s des marchandises stock\u00e9es.<\/p>\n<table>\n<tr>\n<th>D\u00e9nomination de l'op\u00e9ration<\/th>\n<th>Notation<\/th>\n<th>Valeur moyenne<\/th>\n<\/tr>\n<tr>\n<td>Vitesse moyenne de d\u00e9placement d'un employ\u00e9 dans l'entrep\u00f4t<\/td>\n<td><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/dadbfb13d2b84b95ab2c5d653a21668b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/td>\n<td>1,5 m\/s<\/td>\n<\/tr>\n<tr>\n<td>Vitesse moyenne d'ex\u00e9cution d'une op\u00e9ration de d\u00e9p\u00f4t (pour un volume de produit de 4 dm3)<\/td>\n<td><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/aa619b43a70a7cf646ad35d5c8883329.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/td>\n<td>2,4 sec<\/td>\n<\/tr>\n<\/table>\n<p><i>Tableau 2. Temps moyen d'ex\u00e9cution des op\u00e9rations d'entrep\u00f4t<\/i><\/p>\n<p>Nous avons d\u00e9fini la m\u00e9thode de calcul des co\u00fbts de d\u00e9placement. Maintenant, il est n\u00e9cessaire de d\u00e9terminer comment calculer <b>les co\u00fbts li\u00e9s au choix de la cellule-conteneur.<\/b>C'est beaucoup plus compliqu\u00e9 ici que les co\u00fbts de transport, car : <\/p>\n<ul>\n<li>tout d'abord, les co\u00fbts doivent \u00eatre directement li\u00e9s au volume de la cellule \u2013 le m\u00eame volume de stocks d\u00e9plac\u00e9s des cellules donneuses doit \u00eatre mieux plac\u00e9 dans un conteneur de plus petit volume que dans un grand conteneur, \u00e0 condition que ce volume puisse \u00eatre enti\u00e8rement contenu dans les deux conteneurs. Ainsi, en minimisant les co\u00fbts globaux de s\u00e9lection des conteneurs, nous cherchons \u00e0 \u00e9conomiser les capacit\u00e9s d'entreposage \u00ab d\u00e9ficientes \u00bb dans la zone de pr\u00e9l\u00e8vement, pour effectuer les op\u00e9rations ult\u00e9rieures de placement des marchandises dans les cellules. La figure 4 illustre les options de d\u00e9placement des stocks dans des conteneurs de grande et de petite taille et les cons\u00e9quences de ces options de d\u00e9placement lors de l'ex\u00e9cution des op\u00e9rations d'entrep\u00f4t ult\u00e9rieures.<\/li>\n<li>Deuxi\u00e8mement, puisque nous devons minimiser les co\u00fbts globaux dans la solution du probl\u00e8me initial, qui sont la somme des co\u00fbts de transport et des co\u00fbts de s\u00e9lection des conteneurs, il est n\u00e9cessaire de corr\u00e9ler les volumes des cellules en m\u00e8tres cubes avec des secondes, ce qui n'est pas trivial.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/2c906f9e80b32fcb111fcba7000ea2ba.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 4. Options de d\u00e9placement des stocks dans des conteneurs de diff\u00e9rentes capacit\u00e9s.<\/i><\/p>\n<p>Dans la figure 4, le volume des stocks qui ne peut plus \u00eatre contenu dans le conteneur \u00e0 la deuxi\u00e8me \u00e9tape de placement des marchandises est illustr\u00e9 en rouge. <\/p>\n<p>Les exigences suivantes pour les solutions calcul\u00e9es du probl\u00e8me aideront \u00e0 relier les m\u00e8tres cubes de co\u00fbts de s\u00e9lection de conteneurs avec les secondes de co\u00fbts de transport :<\/p>\n<ul>\n<li>Il est n\u00e9cessaire que les stocks de la cellule donneuse soient d\u00e9plac\u00e9s vers la cellule conteneur dans tous les cas, si cela r\u00e9duit le nombre total de cellules conteneurs dans lesquelles se trouvent les marchandises.<\/li>\n<li>Il est important de maintenir un \u00e9quilibre entre les volumes des conteneurs et le temps n\u00e9cessaire pour le transport : par exemple, si dans la nouvelle option de solution par rapport \u00e0 l'option pr\u00e9c\u00e9dente, le gain en volume est important, mais la perte en temps est faible, alors il faut choisir la nouvelle option.<\/li>\n<\/ul>\n<p>\nCommen\u00e7ons par la derni\u00e8re exigence. Pour pr\u00e9ciser le mot ambigu \u00ab \u00e9quilibre \u00bb, nous avons men\u00e9 une enqu\u00eate aupr\u00e8s du personnel de l'entrep\u00f4t pour d\u00e9terminer ce qui suit. Supposons qu'il y ait un conteneur de volume <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/2b831b12448ccaee33c528ac622b7ee3.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, dans lequel le d\u00e9placement des stocks des cellules donneuses est pr\u00e9vu et le temps total de ce d\u00e9placement est \u00e9gal \u00e0 <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/8050f4b02464164d334048bda86b3923.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Supposons qu'il y ait plusieurs options alternatives pour le placement de la m\u00eame quantit\u00e9 de marchandises des m\u00eames cellules donneuses dans d'autres conteneurs, o\u00f9 chaque placement a ses propres \u00e9valuations. <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/76f11cd5ab85f9092c8f458d01ac347b.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, o\u00f9 <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/9e735d8a9c4cff3c69fd926eac8c85aa.jpeg\" style=\"display:block;margin: 0 auto;\" \/>&lt;<img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d963e193a263a1505467c19e874f0aab.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/ff5d990cf5a1752d7bb45da9fd58cd7a.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, o\u00f9 <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/485f34b3e720011c38740712cdb8edd9.jpeg\" style=\"display:block;margin: 0 auto;\" \/>&gt;<img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/c66b20d93fd1791e9f186f707b1517bb.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. <\/p>\n<p>La question se pose : quel est le gain minimum en volume <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/86861ad2236d827efdc683d759d4c120.jpeg\" style=\"display:block;margin: 0 auto;\" \/> acceptable, pour une perte de temps donn\u00e9e ? <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/3d49171042fd83244c054dfd84e5c6bb.jpeg\" style=\"display:block;margin: 0 auto;\" \/>? \u041f\u043e\u044f\u0441\u043d\u0438\u043c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u043f\u043e\u043b\u0430\u0433\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043e\u0431\u044a\u0435\u043c\u0430 1000 \u0434\u043c3 (1 \u043c3) \u0438 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u043e 70 \u0441\u0435\u043a\u0443\u043d\u0434. \u0415\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043e\u0431\u044a\u0435\u043c\u0430 500 \u0434\u043c3 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c 130 \u0441\u0435\u043a\u0443\u043d\u0434. \u0412\u043e\u043f\u0440\u043e\u0441: \u0433\u043e\u0442\u043e\u0432\u044b \u043b\u0438 \u043c\u044b \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0435\u0449\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 60 \u0441\u0435\u043a\u0443\u043d\u0434 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a\u043b\u0430\u0434\u043e\u0432\u0449\u0438\u043a\u0430 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c 500 \u0434\u043c3 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430? \u041f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u043e\u043f\u0440\u043e\u0441\u0430 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0441\u043a\u043b\u0430\u0434\u0430 \u0431\u044b\u043b\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430.<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/283289c63fe1232e95b73d1dffdaa030.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 5. Diagramme de la d\u00e9pendance de l'\u00e9conomie minimale acceptable en volume par rapport \u00e0 l'augmentation de la diff\u00e9rence de temps d'ex\u00e9cution de l'op\u00e9ration.<\/i><\/p>\n<p>C'est-\u00e0-dire que si les co\u00fbts suppl\u00e9mentaires en temps s'\u00e9l\u00e8vent \u00e0 40 secondes, nous sommes pr\u00eats \u00e0 les accepter seulement si le gain en volume est d'au moins 500 dm3. Bien qu'une l\u00e9g\u00e8re non-lin\u00e9arit\u00e9 soit observ\u00e9e dans la d\u00e9pendance, pour la simplicit\u00e9 des calculs ult\u00e9rieurs, nous consid\u00e9rerons que la relation entre les grandeurs est lin\u00e9aire et d\u00e9crite par une in\u00e9galit\u00e9.<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/666802648033d918a1119e58963feffe.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Sur le dessin ci-dessous, nous examinerons les diff\u00e9rentes m\u00e9thodes de placement des marchandises dans les conteneurs.<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a1cb3a5bce4c369f63b3ebeebb738911.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 6. Option (a) : 2 conteneurs, volume total 400 dm3, temps total 150 sec.<\/i><br \/>\n<img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a13f35b0e2a188e9a8cbf27bcfbf0292.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 6. Option (b) : 2 conteneurs, volume total 600 dm3, temps total 190 sec.<\/i><br \/>\n<img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/35699c8bd00546c9828dbe50d4b53c46.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Fig. 6. Option (c) : 1 conteneur, volume total 400 dm3, temps total 200 sec.<\/i><\/p>\n<p>L'option (a) de s\u00e9lection des conteneurs est plus pr\u00e9f\u00e9rable que l'option initiale, car l'in\u00e9galit\u00e9 est satisfaite : (800-400)\/10 &gt;= 150-120 d'o\u00f9 il s'ensuit que 40 &gt;= 30. L'option (b) est moins souhaitable que l'option initiale, car l'in\u00e9galit\u00e9 n'est pas satisfaite : (800-600)\/10 &gt;= 190-150 d'o\u00f9 il s'ensuit que 20 &gt;= 40. Mais l'option (c) ne s'inscrit pas dans cette logique ! Examinons cette option plus en d\u00e9tail. D'une part, l'in\u00e9galit\u00e9 (800-400)\/10 &gt;= 200-120, ce qui signifie que l'in\u00e9galit\u00e9 40 &gt;= 80 n'est pas satisfaite, ce qui indique que le gain en volume ne vaut pas une telle perte de temps. <\/p>\n<p>Mais d'autre part, dans cette option (c), nous ne r\u00e9duisons pas seulement le volume total occup\u00e9, mais nous diminuons \u00e9galement le nombre de cellules occup\u00e9es, ce qui est la premi\u00e8re des deux exigences importantes pour les solutions calcul\u00e9es des probl\u00e8mes mentionn\u00e9s ci-dessus. Il est \u00e9vident que pour que cette exigence soit remplie, il est n\u00e9cessaire d'ajouter une certaine constante positive au c\u00f4t\u00e9 gauche de l'in\u00e9galit\u00e9. <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/61d6b2cb21474a2f4512d6a130a15a0a.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, et cette constante doit \u00eatre ajout\u00e9e uniquement lorsque le nombre de conteneurs diminue. Rappelons que <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d80d33679896035041d0ca9a78e8177a.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 est une variable \u00e9gale \u00e0 1 lorsque le conteneur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a83cd6273e544b63099939e6845740fb.jpeg\" style=\"display:block;margin: 0 auto;\" \/> est s\u00e9lectionn\u00e9, et 0 lorsque le conteneur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/bc94d9e952782e630125a6e8919ba5ad.jpeg\" style=\"display:block;margin: 0 auto;\" \/> non s\u00e9lectionn\u00e9. D\u00e9signons, <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1e3fb5d7013e60f67c56a56899630852.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 un grand nombre de conteneurs dans la solution initiale et <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/26ac9732af37e865cea1bb10a343175c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 un grand nombre de conteneurs dans la nouvelle solution. En termes g\u00e9n\u00e9raux, la nouvelle in\u00e9galit\u00e9 se pr\u00e9sentera comme suit :<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1237914e5fdafcc6013203e2624009d0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>En transformant l'in\u00e9galit\u00e9 ci-dessus, nous obtenons <\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/80b039f9ef44301c3b624ada42c28db8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\u00c0 partir de cela, nous avons une formule pour calculer le co\u00fbt total <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/cb5bce584fee0156b23adbab83f66b33.jpeg\" style=\"display:block;margin: 0 auto;\" \/> d'une certaine variante de la r\u00e9solution du probl\u00e8me :<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/34f382d40368a980674914916c65b4ec.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><b>Mais maintenant, la question se pose<\/b>: quelle valeur doit avoir cette constante <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e4754f88bcddfba85b3c785512bee697.jpeg\" style=\"display:block;margin: 0 auto;\" \/>? \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0432\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u043a \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c \u0437\u0430\u0434\u0430\u0447\u0438. \u041c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0440\u0430\u0432\u043d\u043e\u0435 103 \u0438\u043b\u0438 106, \u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0445 \u00abmagic numbers\u00bb. \u0415\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u043b\u0430\u0434\u0441\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u043e\u0446\u0435\u043d\u043e\u043a \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b.<\/p>\n<p>Soit <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/50deefe99bf1d5f948a49591904a8bfe.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 la distance maximale entre les cellules d'un entrep\u00f4t dans une zone ABC, qui est ici de 100 m. Soit <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/466892dd75279d08b4835a42e62444d4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 le volume maximal d'une cellule-conteneur dans l'entrep\u00f4t, qui est ici de 1000 dm3.<\/p>\n<p><b>Premi\u00e8re m\u00e9thode de calcul de la taille<\/b> <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/29b94b534da709020cbef206cb0d7dac.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Consid\u00e9rons la situation o\u00f9 il y a 2 conteneurs au premier niveau, dans lesquels se trouve d\u00e9j\u00e0 physiquement la marchandise, c'est-\u00e0-dire qu'ils sont eux-m\u00eames des cellules-donateurs, et que les co\u00fbts de d\u00e9placement des marchandises vers ces m\u00eames cellules sont, naturellement, \u00e9gaux \u00e0 0. Il est n\u00e9cessaire de trouver une telle valeur pour la constante <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/5cf81db57dd2a18cc0ec29bb7ca3da62.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, pour laquelle il serait toujours avantageux de d\u00e9placer les restes du conteneur 1 vers le conteneur 2. En substituant les valeurs <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/20bbd09e167edc3eb1ed49d8078ecf19.jpeg\" style=\"display:block;margin: 0 auto;\" \/> et <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/605017af48e7b3ca4a323642db4227cd.jpeg\" style=\"display:block;margin: 0 auto;\" \/> dans l'in\u00e9galit\u00e9 donn\u00e9e ci-dessus, nous obtenons :<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/2794955b8f9f3d64ffe4e2b449547555.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>ce qui implique<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/292a6e80c646c7eed80e888c8805990c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>En substituant les valeurs du temps moyen d'ex\u00e9cution des op\u00e9rations \u00e9l\u00e9mentaires dans la formule ci-dessus, nous obtenons<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/1f56bf1f98c1a3bbd65a4cea99da7efb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><b>Deuxi\u00e8me m\u00e9thode de calcul de la taille<\/b> <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/78e3dff7183b15136d9e03f4a5724479.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Consid\u00e9rons la situation o\u00f9 il y a <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/02daff1eff70a2963ab8eaa067f15584.jpeg\" style=\"display:block;margin: 0 auto;\" \/> cellules-donateurs desquelles il est pr\u00e9vu de d\u00e9placer des marchandises vers le conteneur 1. D\u00e9signons <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/df20c3f27815f2060aae20d260210893.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2013 la distance de la cellule-donateur <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/a29ace66656cf1680c9e00258a9ff597.jpeg\" style=\"display:block;margin: 0 auto;\" \/> au conteneur 1. Il y a aussi le conteneur 2, qui contient d\u00e9j\u00e0 des produits, et dont le volume permet d'accueillir les restes de toutes <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e25f0828e7d794f8d804528395f6dc7e.jpeg\" style=\"display:block;margin: 0 auto;\" \/> les cellules. Pour simplifier, nous supposerons que le volume des marchandises d\u00e9plac\u00e9es des cellules-donateurs vers les conteneurs est le m\u00eame et \u00e9gal \u00e0 <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/35c3392a83fc3b7eef928ddb5e93961a.jpeg\" style=\"display:block;margin: 0 auto;\" \/>. Il est n\u00e9cessaire de trouver une telle valeur pour la constante <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/c9bc10aade46cc3c63628c0ba100b364.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, pour laquelle le placement de tous les restes des <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/e610d9981da2857a541f028a217f2306.jpeg\" style=\"display:block;margin: 0 auto;\" \/> cellules dans le conteneur 2 serait toujours plus avantageux que de les placer dans diff\u00e9rents conteneurs :<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/27f4f99a920799fba9725f30a04c8ebc.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>En transformant l'in\u00e9galit\u00e9, nous obtenons<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/56abddb4fc3e54eeb1fe466c68e5d8d7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Pour 'renforcer' la valeur de la taille <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d77359ea816f9d45a8910cb26649f717.jpeg\" style=\"display:block;margin: 0 auto;\" \/>, supposons que <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/9edf13fb4e34b5da26957e451300046f.jpeg\" style=\"display:block;margin: 0 auto;\" \/> = 0. Le nombre moyen de cellules g\u00e9n\u00e9ralement impliqu\u00e9es dans la proc\u00e9dure de compression des restes dans l'entrep\u00f4t est de 10. En substituant les valeurs connues des grandeurs, nous avons la valeur de la constante suivante<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/40323791fd8cd2be3f29a2becf78e175.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Prenons la plus grande valeur, calcul\u00e9e pour chaque variante, c'est cela qui sera la valeur de la taille <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/fd018460792c79b8a7953c06b839711d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> pour les param\u00e8tres donn\u00e9s de l'entrep\u00f4t. Maintenant, pour \u00eatre complet, \u00e9crivons la formule de calcul des co\u00fbts totaux <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/d4cb2c81bcc788380f1f0c1123b0eeda.jpeg\" style=\"display:block;margin: 0 auto;\" \/> pour une certaine solution acceptable <img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/052e710199e9417aaea94b16dbed47d3.jpeg\" style=\"display:block;margin: 0 auto;\" \/>:<\/p>\n<p><img decoding=\"async\" alt=\"Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1)\" src=\"\/wp-content\/uploads\/2019\/08\/8dd672c7b91639fe1872ef50dca7a220.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Voil\u00e0, maintenant, apr\u00e8s tous <b>les efforts titanesques<\/b> de transformation des donn\u00e9es d'entr\u00e9e, nous pouvons dire que toutes les donn\u00e9es ont \u00e9t\u00e9 converties au format requis et sont pr\u00eates \u00e0 \u00eatre utilis\u00e9es dans l'algorithme d'optimisation.<\/p>\n<h4>Conclusion<\/h4>\n<p>\nComme le montre la pratique, la charge de travail et l'importance de l'\u00e9tape de pr\u00e9paration et de transformation des donn\u00e9es d'entr\u00e9e pour l'algorithme sont souvent sous-estim\u00e9es. Dans cet article, nous avons consacr\u00e9 beaucoup d'attention \u00e0 cette \u00e9tape pour montrer que seules des donn\u00e9es d'entr\u00e9e pr\u00e9par\u00e9es de mani\u00e8re qualitative et intelligente peuvent rendre les solutions calcul\u00e9es par l'algorithme v\u00e9ritablement pr\u00e9cieuses pour le client. Oui, il y a eu beaucoup de conclusions de formules, mais nous vous avions pr\u00e9venus bien avant le kata \ud83d\ude42<\/p>\n<p>Dans le prochain article, nous aborderons enfin ce pourquoi les 2 publications pr\u00e9c\u00e9dentes ont \u00e9t\u00e9 con\u00e7ues - l'algorithme d'optimisation discr\u00e8te.<\/p>\n<p><i>Article pr\u00e9par\u00e9 par<br \/>\nRoman Shangin, programmeur au d\u00e9partement des projets,<br \/>\nentreprise Premier Bit, ville de Tcheliabinsk<\/i><br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463481\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u044f\u0447\u0435\u0435\u043a \u043d\u0430 \u0441\u043a\u043b\u0430\u0434\u0435 \u0438 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438. \u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u00ab\u0441\u0442\u0440\u043e\u0438\u043b\u0438\u00bb \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u0438 \u043e \u0442\u043e\u043c \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043c\u044b \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438 \u0432 \u0431\u0438\u0437\u043d\u0435\u0441\u0435 \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27819,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-37108","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0434\u043b\u044f WMS: \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0436\u0430\u0442\u0438\u044f \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0432 \u044f\u0447\u0435\u0439\u043a\u0430\u0445 (\u0447\u0430\u0441\u0442\u044c 1) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:15:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:47+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Math\u00e9matiques discr\u00e8tes pour WMS : algorithme de compression des produits dans les cellules (partie 1) | ProHoster","description":"Dans l'article, nous.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0434\u043b\u044f WMS: \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0436\u0430\u0442\u0438\u044f \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0432 \u044f\u0447\u0435\u0439\u043a\u0430\u0445 (\u0447\u0430\u0441\u0442\u044c 1) | ProHoster","og:description":"\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/diskretnaya-matematika-dlya-wms-algoritm-szhatiya-tovarov-v-yachejkah-chast-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:15:47+00:00","article:modified_time":"2019-10-31T19:15:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37108","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 06:08:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:33:24","updated":"2026-01-22 06:08:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=37108"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37108\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/27819"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=37108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=37108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=37108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}