{"id":11081,"date":"2022-09-05T00:26:50","date_gmt":"2022-09-04T15:26:50","guid":{"rendered":"https:\/\/prodskill.com\/?p=11081"},"modified":"2022-11-17T10:05:36","modified_gmt":"2022-11-17T01:05:36","slug":"job-scheduling-using-1d-bin-packing-algorithm-4","status":"publish","type":"post","link":"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/","title":{"rendered":"Optimizaci\u00f3n de la distribuci\u00f3n del trabajo mediante el algoritmo bin packing unidimensional_3.Implementaci\u00f3n (1)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">&lt;&lt;Tabla de contenidos&gt;&gt;<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Pesta\u00f1a de contenido alternativo\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Palanca<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/#3_Bin_Packing_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98_%EA%B5%AC%ED%98%84\" >3. Implementaci\u00f3n del algoritmo de embalaje de contenedores<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/#31_%EC%97%91%EC%85%80_VBA_%EA%B8%B0%EB%B0%98_%EB%8F%84%EA%B5%AC\" >3.1. Herramienta basada en Excel VBA<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/#311_%EC%9E%85%EB%A0%A5_%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%84%B1\" >3.1.1. Configuraci\u00f3n del material de entrada<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/#312_%EC%98%B5%EC%85%98_%EC%84%A4%EC%A0%95\" >3.1.2. Configuraci\u00f3n de opciones<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/#313_Bin_Packing_%EC%8B%A4%ED%96%89\" >3.1.3. Ejecutar embalaje de contenedores<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/#314_%EC%8B%A4%ED%96%89_%EA%B2%B0%EA%B3%BC_%ED%99%95%EC%9D%B8\" >3.1.4. Comprobar el resultado de la ejecuci\u00f3n<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/#315_VBA_%EC%BD%94%EB%93%9C_%EA%B5%AC%EC%84%B1\" >3.1.5. Configuraci\u00f3n de c\u00f3digo VBA<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"3._Bin_Packing_\uc54c\uace0\ub9ac\uc998_\uad6c\ud604\"><span class=\"ez-toc-section\" id=\"3_Bin_Packing_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98_%EA%B5%AC%ED%98%84\"><\/span>3. Implementaci\u00f3n del algoritmo de embalaje de contenedores<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Se requiere un entorno de desarrollo para ingresar la lista de elementos y restricciones, implementar el algoritmo y verificar los resultados. Hay varios entornos de desarrollo como Excel VBA, Python y R. Entre ellos, Excel VBA no tiene una biblioteca abierta, por lo que debe escribir la mayor parte del c\u00f3digo fuente usted mismo. Python y R pueden implementar el algoritmo de empaquetado en contenedores directamente o usar un paquete ya proporcionado. Aqu\u00ed, ver\u00e9 c\u00f3mo usar la herramienta que implementa el algoritmo yo mismo con Excel VBA y el paquete provisto en Python.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3.1._\uc5d1\uc140_VBA_\uae30\ubc18_\ub3c4\uad6c\"><span class=\"ez-toc-section\" id=\"31_%EC%97%91%EC%85%80_VBA_%EA%B8%B0%EB%B0%98_%EB%8F%84%EA%B5%AC\"><\/span>3.1. Herramienta basada en Excel VBA<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Una herramienta o lenguaje que implementa un algoritmo generalmente recibe un archivo de datos como entrada por separado del c\u00f3digo fuente del programa. Excel VBA tiene la caracter\u00edstica de poder administrar el c\u00f3digo fuente y los datos del programa en un archivo y administrarlos por separado. Aqu\u00ed, el c\u00f3digo fuente del programa y los datos se administran en un archivo.<\/p>\n\n\n\n<p>A continuaci\u00f3n, se presentar\u00e1 brevemente la configuraci\u00f3n y el c\u00f3digo fuente de la herramienta que administra la lista de art\u00edculos introduci\u00e9ndolos en una hoja de Excel e implementa el algoritmo bin packing unidimensional con VBA. El c\u00f3digo fuente completo se proporciona como un ap\u00e9ndice. <a href=\"https:\/\/github.com\/DAToolset\/1D-bin-packing\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/DAToolset\/1D-bin-packing<\/a>&nbsp;tambi\u00e9n se puede comprobar.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>**Nota: este art\u00edculo no cubre el concepto o la sintaxis de Excel VBA, pero se escribir\u00e1 en detalle en un art\u00edculo separado en el futuro.<\/p>\n\n\n\n<p>La configuraci\u00f3n general de la herramienta se muestra en la siguiente figura. Ingrese los datos en la hoja &quot;Ejecutar&quot;, configure las opciones y haga clic en el bot\u00f3n &quot;Ejecutar embalaje de contenedores&quot; para verificar el resultado de la ejecuci\u00f3n.<\/p>\n\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35.png\"><img loading=\"lazy\" decoding=\"async\" width=\"598\" height=\"378\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35.png\" alt=\"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998\uc744 \ud65c\uc6a9\ud55c \uc791\uc5c5 \ubc30\ubd84 \ucd5c\uc801\ud654 \ub3c4\uad6c \ud654\uba74\" class=\"wp-image-11082\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35.png 598w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35-300x190.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35-18x12.png 18w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/a><figcaption class=\"wp-element-caption\">Pantalla de la herramienta de optimizaci\u00f3n de la distribuci\u00f3n del trabajo utilizando un algoritmo de empaque de contenedores unidimensional<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Los detalles de las cuatro \u00e1reas en la figura anterior se explican en la siguiente tabla de contenido.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"3.1.1._\uc785\ub825_\uc790\ub8cc_\uad6c\uc131\"><span class=\"ez-toc-section\" id=\"311_%EC%9E%85%EB%A0%A5_%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%84%B1\"><\/span>3.1.1. Configuraci\u00f3n del material de entrada<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>En la lista de art\u00edculos, ingrese Nombre y Tama\u00f1o en el siguiente formato.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-36.png\"><img loading=\"lazy\" decoding=\"async\" width=\"221\" height=\"343\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-36.png\" alt=\"\uc785\ub825 \uc790\ub8cc \uad6c\uc131\" class=\"wp-image-11083\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-36.png 221w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-36-193x300.png 193w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-36-8x12.png 8w\" sizes=\"auto, (max-width: 221px) 100vw, 221px\" \/><\/a><figcaption class=\"wp-element-caption\">Configuraci\u00f3n del material de entrada<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Aqu\u00ed, el nombre del elemento del contenedor es un nombre para identificar el tipo de un elemento, y puede designarse adecuadamente de acuerdo con el tipo de elemento. Por ejemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si el elemento es una tabla de base de datos, el nombre de la tabla<\/li>\n\n\n\n<li>Si el elemento es un trabajo, el nombre del trabajo<\/li>\n\n\n\n<li>Adem\u00e1s, tambi\u00e9n es posible un nombre adecuado para identificar cada art\u00edculo (n\u00famero de pedido, etc.)<\/li>\n<\/ul>\n\n\n\n<p>Tenga en cuenta que no debe haber nombres duplicados en la lista de elementos. Esto se debe a que, aunque el tama\u00f1o sea el mismo, es necesario saber que son objetos diferentes para determinar qu\u00e9 objeto llenar en el contenedor.<\/p>\n\n\n\n<p>En Tama\u00f1o, ingrese el tama\u00f1o de cada art\u00edculo. Para el tama\u00f1o, se puede usar el n\u00famero de filas y bytes en el caso de una tabla, y en el caso de un trabajo, se puede ingresar el tiempo de ejecuci\u00f3n en minutos o segundos. El tiempo requerido debe verificarse en el registro de ejecuci\u00f3n del trabajo, pero se recomienda calcular y utilizar el valor promedio excluyendo los valores m\u00e1ximo y m\u00ednimo entre los \u00faltimos 5 o m\u00e1s tiempos requeridos.<\/p>\n\n\n\n<p>Si necesita varios conjuntos de datos, puede copiar e ingresar la hoja &quot;Ejecutar&quot;. El nombre de la hoja puede ser cualquier nombre, Es bueno especificarlo en forma de para poder distinguirlo de otras hojas. Por ejemplo, designe &quot;Run_Org&quot; como se muestra en la siguiente figura.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-37.png\"><img loading=\"lazy\" decoding=\"async\" width=\"552\" height=\"69\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-37.png\" alt=\"\uc790\ub8cc Set\" class=\"wp-image-11125\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-37.png 552w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-37-300x38.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-37-18x2.png 18w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/a><figcaption class=\"wp-element-caption\">conjunto de materiales<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Bin Packing se puede ejecutar creando m\u00faltiples conjuntos de datos y configurando diferentes datos o diferentes opciones en cada hoja de conjunto de datos. La hoja en la que se muestra el resultado de la ejecuci\u00f3n no se crea para cada conjunto de datos, sino que se utiliza de forma permanente. Si desea conservar los resultados de cada conjunto de datos, puede guardar el archivo de Excel con un nombre diferente y crear un archivo separado.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"3.1.2._\uc635\uc158_\uc124\uc815\"><span class=\"ez-toc-section\" id=\"312_%EC%98%B5%EC%85%98_%EC%84%A4%EC%A0%95\"><\/span>3.1.2. Configuraci\u00f3n de opciones<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>El tama\u00f1o m\u00e1ximo del contenedor, que es una restricci\u00f3n, y si ordenar la columna de referencia en orden descendente se ingresan en el siguiente formato.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-38.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"67\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-38.png\" alt=\"\uc635\uc158 \uc124\uc815\" class=\"wp-image-11126\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-38.png 602w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-38-300x33.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-38-18x2.png 18w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><figcaption class=\"wp-element-caption\">Configuraci\u00f3n de opciones<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Max Bin Size es el tama\u00f1o m\u00e1ximo que se asignar\u00e1 a un contenedor. En otras palabras, cuando se llenan varios art\u00edculos en un contenedor, existe una restricci\u00f3n en la suma de los tama\u00f1os de los art\u00edculos.<\/p>\n\n\n\n<p>La columna est\u00e1ndar Tama\u00f1o de art\u00edculo es una columna que especifica qu\u00e9 valor usar cuando hay varios valores de tama\u00f1o en un art\u00edculo de contenedor. Por ejemplo, suponga que est\u00e1 configurado para que se puedan ingresar varios tama\u00f1os en un art\u00edculo de la siguiente manera.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-39.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"297\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-39.png\" alt=\"Item Size\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uac12 \uc608\uc2dc (C ~ I)\" class=\"wp-image-11127\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-39.png 602w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-39-300x148.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-39-18x9.png 18w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><figcaption class=\"wp-element-caption\">Ejemplos de valores que se pueden utilizar como Item Size (C~I)<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Las columnas que se pueden usar como valores de tama\u00f1o son C a I. Ingrese el nombre de la columna para seleccionar qu\u00e9 columna usar como el valor de entrada de tama\u00f1o entre ellos. Para simular creando un valor aleatorio en Tama\u00f1o, copie el valor generado por la f\u00f3rmula en la columna J (Tama\u00f1o aleatorio), p\u00e9guelo como un valor en la columna I (Simulaci\u00f3n) y luego ejec\u00fatelo designando la columna de referencia como I . . La raz\u00f3n por la que no debe especificar la columna J es porque se usa una f\u00f3rmula en la columna J y se crea un nuevo valor cada vez que se calcula, por lo que es imposible saber qu\u00e9 valor se us\u00f3 como valor de entrada.<\/p>\n\n\n\n<p>Si se selecciona (marca) la opci\u00f3n de ordenaci\u00f3n descendente del tama\u00f1o del art\u00edculo, primero, el tama\u00f1o del art\u00edculo se ordena en orden descendente y se aplica el algoritmo de embalaje en contenedores.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"3.1.3._Bin_Packing_\uc2e4\ud589\"><span class=\"ez-toc-section\" id=\"313_Bin_Packing_%EC%8B%A4%ED%96%89\"><\/span>3.1.3. Ejecutar embalaje de contenedores<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Cuando se complete la configuraci\u00f3n de datos de entrada y la configuraci\u00f3n de opciones, haga clic en el bot\u00f3n &quot;Ejecutar BinPacking&quot; para ejecutar.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-40.png\"><img loading=\"lazy\" decoding=\"async\" width=\"140\" height=\"64\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-40.png\" alt=\"Bin Packing \uc2e4\ud589 \ubc84\ud2bc\" class=\"wp-image-11128\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-40.png 140w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-40-18x8.png 18w\" sizes=\"auto, (max-width: 140px) 100vw, 140px\" \/><\/a><figcaption class=\"wp-element-caption\">Bot\u00f3n de ejecuci\u00f3n de embalaje de contenedores<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Si hay un duplicado en &quot;Nombre del elemento del contenedor&quot; al ejecutar, puede ocurrir un error. Verifique y elimine el duplicado y ejecute.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"3.1.4._\uc2e4\ud589_\uacb0\uacfc_\ud655\uc778\"><span class=\"ez-toc-section\" id=\"314_%EC%8B%A4%ED%96%89_%EA%B2%B0%EA%B3%BC_%ED%99%95%EC%9D%B8\"><\/span>3.1.4. Comprobar el resultado de la ejecuci\u00f3n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>El resultado de la ejecuci\u00f3n consta de 5 hojas. El resumen general se verifica en la hoja de resumen de resultados, que recopila los resultados de ejecuci\u00f3n de cada algoritmo, y los resultados detallados de cada algoritmo se verifican en cada hoja.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-41.png\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"70\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-41.png\" alt=\"Bin Packing \uc2e4\ud589 \uacb0\uacfc\" class=\"wp-image-11129\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-41.png 550w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-41-300x38.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-41-18x2.png 18w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><figcaption class=\"wp-element-caption\">Resultado de ejecuci\u00f3n de embalaje de contenedores<\/figcaption><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Resumen de resultados: una hoja en la que se pueden ver de un vistazo los resultados de ejecutar cada algoritmo<\/li>\n\n\n\n<li>Next Fit: la hoja de resultados de ejecutar el algoritmo Next Fit<\/li>\n\n\n\n<li>First Fit: la hoja de resultados de ejecutar el algoritmo First Fit<\/li>\n\n\n\n<li>Peor ajuste: la hoja de resultados de ejecutar el algoritmo de peor ajuste<\/li>\n\n\n\n<li>Best Fit: la hoja de resultados de ejecutar el algoritmo Best Fit<\/li>\n<\/ul>\n\n\n\n<p>El contenido de la hoja de resumen de resultados es el siguiente.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"322\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png\" alt=\"Bin Packing Result Summary sheet\" class=\"wp-image-11130\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png 602w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42-300x160.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42-18x10.png 18w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><figcaption class=\"wp-element-caption\">Hoja de resumen de resultados de embalaje de contenedores<\/figcaption><\/figure>\n<\/div>\n\n\n<p>En la parte superior se muestra informaci\u00f3n de referencia para el tama\u00f1o m\u00e1ximo de contenedor establecido en las opciones, y en la parte inferior se muestra un gr\u00e1fico de los resultados de ejecutar cada uno de los cuatro algoritmos.<\/p>\n\n\n\n<p>La composici\u00f3n de la informaci\u00f3n que se muestra en la hoja de resultados despu\u00e9s de ejecutar cada algoritmo es la siguiente.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-43.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"329\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-43.png\" alt=\"\uac01 \uc54c\uace0\ub9ac\uc998\uc744 \uc2e4\ud589\ud55c \uacb0\uacfc sheet \uad6c\uc131\" class=\"wp-image-11131\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-43.png 602w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-43-300x164.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-43-18x10.png 18w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><figcaption class=\"wp-element-caption\">Composici\u00f3n de la hoja de resultados despu\u00e9s de ejecutar cada algoritmo<\/figcaption><\/figure>\n<\/div>\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Art\u00edculo<\/th><th>Contenido<\/th><\/tr><\/thead><tbody><tr><td>\u2460 Lista de resultados<\/td><td>Como resultado de ejecutar el algoritmo de empaque en contenedores, puede verificar qu\u00e9 art\u00edculos se llenan en qu\u00e9 contenedores. Aqu\u00ed, el nombre del contenedor se crea con la regla de &quot;Bin_&quot; + n\u00famero de secuencia (5 d\u00edgitos) en el proceso de procesamiento del programa.<\/td><\/tr><tr><td>\u2461 Total de contenedores<\/td><td>Esta es una tabla din\u00e1mica para calcular la suma de los tama\u00f1os de art\u00edculos en unidades bin. &lt;\u2463 Bin Sum Chart&gt; se crea con esta tabla din\u00e1mica como fuente de datos.<\/td><\/tr><tr><td>\u2462 Informaci\u00f3n de ejecuci\u00f3n<\/td><td>Muestra el tiempo necesario para procesar el algoritmo, el total del espacio restante en todos los contenedores, el espacio total y la informaci\u00f3n de ineficiencia del espacio. La ineficiencia del espacio se calcula como (Suma total del espacio residual del contenedor)\/(Suma total del espacio).<\/td><\/tr><tr><td>\u2463 Gr\u00e1fico de total de contenedores<\/td><td>Esta es una visualizaci\u00f3n de &lt;\u2461 Bin Sum Pivot Table&gt; como un gr\u00e1fico de barras verticales.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u25bc Resultados de ejecuci\u00f3n de ajuste siguiente<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-44.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"298\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-44.png\" alt=\"Next Fit \uc2e4\ud589 \uacb0\uacfc\" class=\"wp-image-11132\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-44.png 602w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-44-300x149.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-44-18x9.png 18w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><figcaption class=\"wp-element-caption\">Resultados de la siguiente ejecuci\u00f3n de ajuste<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\u25bc Resultados de la ejecuci\u00f3n del primer ajuste<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-45.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"298\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-45.png\" alt=\"First Fit \uc2e4\ud589 \uacb0\uacfc\" class=\"wp-image-11133\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-45.png 602w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-45-300x149.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-45-18x9.png 18w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><figcaption class=\"wp-element-caption\">Resultados de la ejecuci\u00f3n de First Fit<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\u25bc Resultados de ejecuci\u00f3n de peor ajuste<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-46.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"298\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-46.png\" alt=\"Worst Fit \uc2e4\ud589 \uacb0\uacfc\" class=\"wp-image-11134\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-46.png 602w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-46-300x149.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-46-18x9.png 18w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><figcaption class=\"wp-element-caption\">Resultados de ejecuci\u00f3n de peor ajuste<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\u25bc Resultados de ejecuci\u00f3n de mejor ajuste<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-47.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"298\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-47.png\" alt=\"Best Fit \uc2e4\ud589 \uacb0\uacfc\" class=\"wp-image-11135\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-47.png 602w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-47-300x149.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-47-18x9.png 18w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><figcaption class=\"wp-element-caption\">Resultados de ejecuci\u00f3n de mejor ajuste<\/figcaption><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\" id=\"3.1.5._VBA_\ucf54\ub4dc_\uad6c\uc131\"><span class=\"ez-toc-section\" id=\"315_VBA_%EC%BD%94%EB%93%9C_%EA%B5%AC%EC%84%B1\"><\/span>3.1.5. Configuraci\u00f3n de c\u00f3digo VBA<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Se describe brevemente el c\u00f3digo fuente que implementa Bin Packing con VBA. La composici\u00f3n general del Proyecto VBA es la siguiente.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-48.png\"><img loading=\"lazy\" decoding=\"async\" width=\"308\" height=\"387\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-48.png\" alt=\"VBA \ucf54\ub4dc \uad6c\uc131\" class=\"wp-image-11136\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-48.png 308w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-48-239x300.png 239w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-48-10x12.png 10w\" sizes=\"auto, (max-width: 308px) 100vw, 308px\" \/><\/a><figcaption class=\"wp-element-caption\">Configuraci\u00f3n de c\u00f3digo VBA<\/figcaption><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Sheet (interfaz de usuario de Excel) administra la lista de datos de entrada y muestra la entrada y salida del resultado del procesamiento del algoritmo.<\/li>\n\n\n\n<li>Un m\u00f3dulo es responsable de manejar y controlar todo el proceso de procesamiento, creando instancias de clases y funciones comunes.<\/li>\n\n\n\n<li>La clase es responsable de funciones como la carga de datos de entrada en la memoria, la implementaci\u00f3n de algoritmos y la salida de datos de resultados.<\/li>\n<\/ul>\n\n\n\n<p>El prop\u00f3sito de los elementos detallados es el siguiente.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>S\u00e1bana\n<ul class=\"wp-block-list\">\n<li>Cada hoja: datos de entrada\/configuraci\u00f3n de opciones, salida de resultados de ejecuci\u00f3n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>m\u00f3dulo\n<ul class=\"wp-block-list\">\n<li>modControl: administra todo el proceso de objetivaci\u00f3n de una clase, carga de datos de entrada, implementaci\u00f3n de cada algoritmo de empaque de contenedores y salida de resultados<\/li>\n\n\n\n<li>modFactory: Administrar instanciaci\u00f3n de clases\n<ul class=\"wp-block-list\">\n<li>La clase de VBA no puede especificar el par\u00e1metro de entrada del constructor, por lo que est\u00e1 configurada para crear un objeto utilizando el patr\u00f3n de f\u00e1brica.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>modUtil: Administre funciones como el registro y la configuraci\u00f3n del formato de la cadena de tiempo requerida\n<ul class=\"wp-block-list\">\n<li>Aqu\u00ed, Logging no deja un archivo, pero est\u00e1 configurado para que los mensajes de registro se puedan verificar en el depurador con OutputDebugString entre las API de Windows.<\/li>\n\n\n\n<li>El depurador recomienda usar DebugView<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>clase<ul><li>CBin: Clase de 1 contenedor<ul><li>M\u00e9todos principales: AddBinItem, IsAbleToAdd<\/li><\/ul><\/li><\/ul><ul><li>CBinItem: Clase de 1 elemento que se colocar\u00e1 en la papelera<ul><li>Es decir, una clase correspondiente a una l\u00ednea de datos de entrada.<\/li><li>M\u00e9todo principal: CompareTo<\/li><\/ul><\/li><\/ul><ul><li>CBinItemCollection: una clase de colecci\u00f3n que administra una lista de varios BinItems.<ul><li>M\u00e9todos principales: A\u00f1adir, Ordenar, ObtenerCadena<\/li><\/ul><\/li><\/ul><ul><li>CPacker: una clase que administra una lista de contenedores como una colecci\u00f3n.<ul><li>Implemente un algoritmo que llene los datos de entrada en un lugar apropiado entre la lista de contenedores existente o cree un nuevo contenedor para llenarlo<\/li><li>M\u00e9todos principales: DoPacking, Add, GetNewBin, GetBinNextFit, GetBinFirstBit, GetBinWorstFit, GetBinBestFit, PackToBin, DoOutput, GetRemainSizeSum<\/li><\/ul><\/li><\/ul>\n<ul class=\"wp-block-list\">\n<li>CTimer: una clase para medir el tiempo empleado\n<ul class=\"wp-block-list\">\n<li>Usando la API de Windows QueryPerformanceCounter, QueryPerformanceFrequency<\/li>\n\n\n\n<li>M\u00e9todos principales: StartCounter, TimeElasped<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Para aplicar correctamente el concepto de programaci\u00f3n orientada a objetos, es est\u00e1ndar exponer propiedades p\u00fablicas compuestas por Getter\/Setter sin variables miembro p\u00fablicas en la clase. Sin embargo, en esta herramienta, las propiedades p\u00fablicas no se utilizan por conveniencia de implementaci\u00f3n. Sin embargo, las variables miembro, las funciones y los procedimientos a los que se puede acceder desde el exterior se declaran p\u00fablicos y los objetos a los que se accede desde el exterior se declaran privados.<\/p>\n\n\n\n<p>La relaci\u00f3n entre las clases definidas en el c\u00f3digo fuente de VBA se expresa brevemente como un diagrama de clases UML de la siguiente manera.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-49.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"253\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-49.png\" alt=\"Class Diagram\" class=\"wp-image-11137\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-49.png 602w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-49-300x126.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-49-18x8.png 18w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><figcaption class=\"wp-element-caption\">Diagrama de clase<\/figcaption><\/figure>\n<\/div>\n\n\n<p>La relaci\u00f3n entre clases en el diagrama de clases anterior es una relaci\u00f3n. Es decir, en la relaci\u00f3n de composici\u00f3n definida entre las dos clases, el rombo lleno (\u2666) es el contenedor.<\/p>\n\n\n\n<p>&nbsp;De derecha a izquierda, se puede ver que la clase baja est\u00e1 conectada con la clase alta. La clase CBinItem administra un dato de entrada y la clase CBinItemCollection administra todos los datos de entrada como una colecci\u00f3n de CBinItems. La clase CBin administra los objetos bin individuales y administra la lista de elementos llenados en cada bin como un objeto de la clase CBinItemCollection. La clase CPacker implementa el algoritmo y administra todo el objeto Bin de resultados como una colecci\u00f3n de la clase CBin. Cada clase tiene una relaci\u00f3n de composici\u00f3n, por lo que cuando se elimina el objeto contenedor, se eliminan todos los subobjetos. La clase CTimer se usa en la clase CPacker para medir el tiempo de ejecuci\u00f3n del algoritmo.<\/p>\n\n\n\n<p>Aqu\u00ed, la clase CBinItemCollection se usa para administrar todos los datos de entrada y tambi\u00e9n para administrar la lista de elementos llenados en cada contenedor. Por ejemplo, suponiendo que 100 elementos se rellenan con 10 elementos en 10 bandejas, el objeto que gestiona los 100 elementos tambi\u00e9n es del tipo de clase CBinItemCollection y el objeto que gestiona 10 elementos rellenados en cada bandeja tambi\u00e9n es del tipo de clase CBinItemCollection. ser - estar.<\/p>\n\n\n\n<p>Consulte el ap\u00e9ndice para obtener el c\u00f3digo fuente de cada clase y el pseudoc\u00f3digo de modControl, un m\u00f3dulo que controla todo el proceso de carga de datos de entrada, ejecuci\u00f3n de algoritmos y salida de datos de resultados, es el siguiente.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Public Sub RunBinPacking()\n    \uc785\ub825\uc790\ub8cc\ub97c \uc77d\uc5b4\ub4e4\uc5ec CBinItemCollection type\uc758 oInputItemCol \ubcc0\uc218\uc5d0 \uc801\uc7ac\n    \uc785\ub825\uc790\ub8cc\uc758 \uc815\ub82c \uc2e4\ud589\uc744 \uc120\ud0dd\ud588\uc73c\uba74 oInputItemCol \ub0b4\ub9bc\ucc28\uc21c \uc815\ub82c\n    \uac01 \uc54c\uace0\ub9ac\uc998\uc758 \uc2e4\ud589\uacb0\uacfc\ub97c \ub2f4\uc744 \ubcc0\uc218 \uc120\uc5b8\n    \uac01 \ubcc0\uc218\uc5d0 \ucd5c\ub300 Bin \ud06c\uae30\uc640 PackingType\uc744 \uc124\uc815\ud558\uc5ec \uac1c\uccb4 \uc0dd\uc131\n    \uac01 \ubcc0\uc218\uc5d0 \uc785\ub825\uc790\ub8cc \ucc44\uc6b0\uae30\n    \uacb0\uacfc\ucd9c\ub825\n    \uac01 \ubcc0\uc218 \uba54\ubaa8\ub9ac\uc5d0\uc11c \uc0ad\uc81c\ud558\uc5ec \uc815\ub9ac\nEnd Sub<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<p>En el pr\u00f3ximo art\u00edculo, veremos el c\u00f3digo fuente implementado usando el paquete Python Bin Packing y el resultado de la ejecuci\u00f3n.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"has-medium-font-size\">&lt;&lt; <strong>Lista de art\u00edculos relacionados<\/strong> &gt;&gt;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-1\/\">Optimizaci\u00f3n de la distribuci\u00f3n del trabajo utilizando un algoritmo de empaque de contenedores unidimensional_1.Descripci\u00f3n general<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-2\/\">Optimizaci\u00f3n de la distribuci\u00f3n del trabajo mediante bin packing algor\u00edtmico unidimensional_2.Algoritmo (1)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-3\/\">Optimizaci\u00f3n de la distribuci\u00f3n del trabajo utilizando bin packing unidimensional algoritmo_2.Algoritmo(2)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/\">Optimizaci\u00f3n de la distribuci\u00f3n del trabajo mediante el algoritmo bin packing unidimensional_3.Implementaci\u00f3n (1)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-5\/\">Optimizaci\u00f3n de la distribuci\u00f3n del trabajo mediante el algoritmo bin packing unidimensional_3.Implementaci\u00f3n (2)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-6\/\">Optimizaci\u00f3n de la distribuci\u00f3n del trabajo utilizando un algoritmo de empaque de contenedores unidimensional_4.Adjunto<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-7\/\">Cambios recientes de la herramienta de embalaje de contenedores unidimensionales (al 21 de marzo de 2021)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-toc\/\">Herramienta de optimizaci\u00f3n de la distribuci\u00f3n del trabajo utilizando un algoritmo de empaque de contenedores unidimensional. Contenido completo, Descargar<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>3. Implementaci\u00f3n del algoritmo de empaque de contenedores Se requiere un entorno de desarrollo para ingresar la lista de elementos y restricciones, implementar el algoritmo y verificar el resultado. Hay varios entornos de desarrollo como Excel VBA, Python y R. Entre ellos, Excel VBA no tiene una biblioteca abierta, por lo que la mayor parte del c\u00f3digo fuente debe escribirse a mano. Pit\u00f3n y...<\/p>","protected":false},"author":1,"featured_media":11082,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[16,17,18],"class_list":["post-11081","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1d-bin-packing-tool","tag-binpacking","tag-vba","tag-18"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998\uc744 \ud65c\uc6a9\ud55c \uc791\uc5c5 \ubc30\ubd84 \ucd5c\uc801\ud654_3.\uad6c\ud604(1)<\/title>\n<meta name=\"description\" content=\"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998 \uc744 \uad6c\ud604\ud55c \uc5d1\uc140 VBA \uae30\ubc18 \ub3c4\uad6c\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. \uc785\ub825 \uc790\ub8cc \uad6c\uc131, \uc635\uc158 \uc124\uc815, \uc2e4\ud589, \uc2e4\ud589 \uacb0\uacfc\ub97c \ud655\uc778\ud558\uace0 Sheet, \ubaa8\ub4c8, \ud074\ub798\uc2a4\ub85c \uad6c\uc131\ub41c VBA \ucf54\ub4dc\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998\uc744 \ud65c\uc6a9\ud55c \uc791\uc5c5 \ubc30\ubd84 \ucd5c\uc801\ud654_3.\uad6c\ud604(1)\" \/>\n<meta property=\"og:description\" content=\"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998 \uc744 \uad6c\ud604\ud55c \uc5d1\uc140 VBA \uae30\ubc18 \ub3c4\uad6c\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. \uc785\ub825 \uc790\ub8cc \uad6c\uc131, \uc635\uc158 \uc124\uc815, \uc2e4\ud589, \uc2e4\ud589 \uacb0\uacfc\ub97c \ud655\uc778\ud558\uace0 Sheet, \ubaa8\ub4c8, \ud074\ub798\uc2a4\ub85c \uad6c\uc131\ub41c VBA \ucf54\ub4dc\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/\" \/>\n<meta property=\"og:site_name\" content=\"\uc0dd\uc0b0\uc131 Skill\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-04T15:26:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-17T01:05:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35.png\" \/>\n\t<meta property=\"og:image:width\" content=\"598\" \/>\n\t<meta property=\"og:image:height\" content=\"378\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Zerom\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zerom\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/\"},\"author\":{\"name\":\"Zerom\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"headline\":\"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998\uc744 \ud65c\uc6a9\ud55c \uc791\uc5c5 \ubc30\ubd84 \ucd5c\uc801\ud654_3.\uad6c\ud604(1)\",\"datePublished\":\"2022-09-04T15:26:50+00:00\",\"dateModified\":\"2022-11-17T01:05:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/\"},\"wordCount\":365,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"image\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-35.png\",\"keywords\":[\"BinPacking\",\"\uc5d1\uc140VBA\",\"\uc791\uc5c5\ubc30\ubd84\ucd5c\uc801\ud654\"],\"articleSection\":[\"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/\",\"url\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/\",\"name\":\"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998\uc744 \ud65c\uc6a9\ud55c \uc791\uc5c5 \ubc30\ubd84 \ucd5c\uc801\ud654_3.\uad6c\ud604(1)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-35.png\",\"datePublished\":\"2022-09-04T15:26:50+00:00\",\"dateModified\":\"2022-11-17T01:05:36+00:00\",\"description\":\"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998 \uc744 \uad6c\ud604\ud55c \uc5d1\uc140 VBA \uae30\ubc18 \ub3c4\uad6c\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. \uc785\ub825 \uc790\ub8cc \uad6c\uc131, \uc635\uc158 \uc124\uc815, \uc2e4\ud589, \uc2e4\ud589 \uacb0\uacfc\ub97c \ud655\uc778\ud558\uace0 Sheet, \ubaa8\ub4c8, \ud074\ub798\uc2a4\ub85c \uad6c\uc131\ub41c VBA \ucf54\ub4dc\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-35.png\",\"contentUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-35.png\",\"width\":598,\"height\":378},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998\uc744 \ud65c\uc6a9\ud55c \uc791\uc5c5 \ubc30\ubd84 \ucd5c\uc801\ud654_3.\uad6c\ud604(1)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#website\",\"url\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/\",\"name\":\"\uc0dd\uc0b0\uc131 Skill\",\"description\":\"Meta Thinking, Meta Working\",\"publisher\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\",\"name\":\"Zerom\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/productivity_clockgear.png\",\"url\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/productivity_clockgear.png\",\"contentUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/productivity_clockgear.png\",\"width\":512,\"height\":512,\"caption\":\"Zerom\"},\"logo\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/productivity_clockgear.png\"},\"url\":\"https:\\\/\\\/prodskill.com\\\/es\\\/author\\\/proda\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Optimizaci\u00f3n de la distribuci\u00f3n del trabajo mediante el algoritmo bin packing unidimensional_3.Implementaci\u00f3n (1)","description":"Este art\u00edculo examina una herramienta de Excel basada en VBA que implementa un algoritmo de empaquetado unidimensional. Permite configurar los datos de entrada, definir opciones, ejecutar la herramienta y revisar los resultados. Tambi\u00e9n se puede examinar el c\u00f3digo VBA, que consta de hojas, m\u00f3dulos y clases.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/","og_locale":"es_ES","og_type":"article","og_title":"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998\uc744 \ud65c\uc6a9\ud55c \uc791\uc5c5 \ubc30\ubd84 \ucd5c\uc801\ud654_3.\uad6c\ud604(1)","og_description":"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998 \uc744 \uad6c\ud604\ud55c \uc5d1\uc140 VBA \uae30\ubc18 \ub3c4\uad6c\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. \uc785\ub825 \uc790\ub8cc \uad6c\uc131, \uc635\uc158 \uc124\uc815, \uc2e4\ud589, \uc2e4\ud589 \uacb0\uacfc\ub97c \ud655\uc778\ud558\uace0 Sheet, \ubaa8\ub4c8, \ud074\ub798\uc2a4\ub85c \uad6c\uc131\ub41c VBA \ucf54\ub4dc\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.","og_url":"https:\/\/prodskill.com\/es\/job-scheduling-using-1d-bin-packing-algorithm-4\/","og_site_name":"\uc0dd\uc0b0\uc131 Skill","article_published_time":"2022-09-04T15:26:50+00:00","article_modified_time":"2022-11-17T01:05:36+00:00","og_image":[{"width":598,"height":378,"url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35.png","type":"image\/png"}],"author":"Zerom","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Zerom","Tiempo de lectura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/#article","isPartOf":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/"},"author":{"name":"Zerom","@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"headline":"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998\uc744 \ud65c\uc6a9\ud55c \uc791\uc5c5 \ubc30\ubd84 \ucd5c\uc801\ud654_3.\uad6c\ud604(1)","datePublished":"2022-09-04T15:26:50+00:00","dateModified":"2022-11-17T01:05:36+00:00","mainEntityOfPage":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/"},"wordCount":365,"commentCount":0,"publisher":{"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"image":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35.png","keywords":["BinPacking","\uc5d1\uc140VBA","\uc791\uc5c5\ubc30\ubd84\ucd5c\uc801\ud654"],"articleSection":["1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/","url":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/","name":"Optimizaci\u00f3n de la distribuci\u00f3n del trabajo mediante el algoritmo bin packing unidimensional_3.Implementaci\u00f3n (1)","isPartOf":{"@id":"https:\/\/prodskill.com\/ko\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/#primaryimage"},"image":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35.png","datePublished":"2022-09-04T15:26:50+00:00","dateModified":"2022-11-17T01:05:36+00:00","description":"Este art\u00edculo examina una herramienta de Excel basada en VBA que implementa un algoritmo de empaquetado unidimensional. Permite configurar los datos de entrada, definir opciones, ejecutar la herramienta y revisar los resultados. Tambi\u00e9n se puede examinar el c\u00f3digo VBA, que consta de hojas, m\u00f3dulos y clases.","breadcrumb":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/#primaryimage","url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35.png","contentUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-35.png","width":598,"height":378},{"@type":"BreadcrumbList","@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prodskill.com\/ko\/"},{"@type":"ListItem","position":2,"name":"1\ucc28\uc6d0 Bin Packing \uc54c\uace0\ub9ac\uc998\uc744 \ud65c\uc6a9\ud55c \uc791\uc5c5 \ubc30\ubd84 \ucd5c\uc801\ud654_3.\uad6c\ud604(1)"}]},{"@type":"WebSite","@id":"https:\/\/prodskill.com\/ko\/#website","url":"https:\/\/prodskill.com\/ko\/","name":"Habilidades de productividad","description":"Meta Pensamiento, Meta Trabajo","publisher":{"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prodskill.com\/ko\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd","name":"Cerom","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png","url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png","contentUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png","width":512,"height":512,"caption":"Zerom"},"logo":{"@id":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png"},"url":"https:\/\/prodskill.com\/es\/author\/proda\/"}]}},"_links":{"self":[{"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/posts\/11081","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/comments?post=11081"}],"version-history":[{"count":0,"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/posts\/11081\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/media\/11082"}],"wp:attachment":[{"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/media?parent=11081"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/categories?post=11081"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prodskill.com\/es\/wp-json\/wp\/v2\/tags?post=11081"}],"curies":[{"name":"gracias","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}