{"id":11278,"date":"2022-09-09T22:16:52","date_gmt":"2022-09-09T13:16:52","guid":{"rendered":"https:\/\/prodskill.com\/?p=11278"},"modified":"2022-10-10T10:40:01","modified_gmt":"2022-10-10T01:40:01","slug":"job-scheduling-using-1d-bin-packing-algorithm-7","status":"publish","type":"post","link":"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/","title":{"rendered":"One-dimensional Bin Packing Tool Recent Changes (as of March 21, 2021)"},"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;Table of Contents&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=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/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\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/#1_%EB%B3%80%EA%B2%BD%EC%82%AC%ED%95%AD_%EC%9A%94%EC%95%BD\" >1. Summary of Changes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/#2_%EB%B3%80%EA%B2%BD%EC%82%AC%ED%95%AD_%EC%83%81%EC%84%B8\" >2. Details of changes<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/#21_Item_Size%EB%A5%BC_%EC%A0%95%EC%88%98Long%EC%97%90%EC%84%9C_%EC%8B%A4%EC%88%98Double%EB%A1%9C_%EB%B3%80%EA%B2%BD%EB%B3%80%EC%88%98%EB%AA%85_prefix_%EB%B3%80%EA%B2%BD\" >2.1 Change Item Size from Integer (Long) to Real (Double) (Change variable name prefix)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/#22_BinItem_%EB%AA%85%EC%B9%AD_%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90_%EA%B5%AC%EB%B6%84_Collection_%EC%97%90%EC%84%9C_Dictionary%EB%A1%9C_%EB%B3%80%EA%B2%BD\" >2.2 BinItem name case sensitive (Changed from Collection to Dictionary)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/#23_%EB%B0%B0%EB%B6%84_%EA%B2%B0%EA%B3%BC_%ED%99%80%EC%88%98_%EC%A7%9D%EC%88%98_%EA%B7%B8%EB%A3%B9%EB%B3%84_%EC%88%9C%EC%84%9C_%EC%A0%95%EB%A0%AC\" >2.3 Order Sort by Odd and Even Groups of Distribution Results<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/#24_BinItem_loading_%EC%BD%94%EB%93%9C_%EA%B0%9C%EC%84%A0\" >2.4. BinItem loading code improvement<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/#25_Bin_Item_Name%EC%97%90_%EC%A4%91%EB%B3%B5%EC%9D%B4_%EC%9E%88%EB%8A%94_%EA%B2%BD%EC%9A%B0_%EC%A4%91%EB%B3%B5_%EB%AA%A9%EB%A1%9D_%EB%A9%94%EC%8B%9C%EC%A7%80_%EB%B0%95%EC%8A%A4%EB%A1%9C_%EC%95%8C%EB%A0%A4%EC%A3%BC%EA%B3%A0_%EC%8B%A4%ED%96%89_%EC%A4%91%EB%8B%A8\" >2.5. If there are duplicates in the Bin Item Name, a duplicate list message box is displayed and the execution is aborted.<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"1._\ubcc0\uacbd\uc0ac\ud56d_\uc694\uc57d\"><span class=\"ez-toc-section\" id=\"1_%EB%B3%80%EA%B2%BD%EC%82%AC%ED%95%AD_%EC%9A%94%EC%95%BD\"><\/span>1. Summary of Changes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The description of the 1D Bin Packing tool written on the blog is based on 2017-11-19.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"322\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png\" alt=\"\" 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\" \/><figcaption>Bin Packing result example<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Related articles: <a href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-1\/\">Optimization of task distribution using one-dimensional bin packing algorithm_1.Overview \u2013 Productivity Skills (prodskill.com)<\/a><\/p>\n\n\n\n<div style=\"height:27px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>As there are improvements while carrying out the K company project on March 21, 2021, it will be organized separately.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Change Item Size from Integer (Long) to Real (Double) (Change variable name prefix)<\/li><li>BinItem name case sensitive (Changed from Collection to Dictionary)<br>&nbsp;&nbsp;\u2013 Change class name (CBinItemCollection -&gt; CBinItemDic)<\/li><li>Sort the distribution result by odd and even groups<\/li><li>Improved BinItem loading code (Loop using offset -&gt; get Variant array from range)<\/li><li>If there are duplicates in the Bin Item Name, a duplicate list message box is displayed and the execution is aborted.<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>The changed version can be downloaded from the github repository below.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/DAToolset\/1D-bin-packing\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/DAToolset\/1D-bin-packing<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2._\ubcc0\uacbd\uc0ac\ud56d_\uc0c1\uc138\"><span class=\"ez-toc-section\" id=\"2_%EB%B3%80%EA%B2%BD%EC%82%AC%ED%95%AD_%EC%83%81%EC%84%B8\"><\/span>2. Details of changes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2.1_Item_Size\ub97c_\uc815\uc218(Long)\uc5d0\uc11c_\uc2e4\uc218(Double)\ub85c_\ubcc0\uacbd(\ubcc0\uc218\uba85_prefix_\ubcc0\uacbd)\"><span class=\"ez-toc-section\" id=\"21_Item_Size%EB%A5%BC_%EC%A0%95%EC%88%98Long%EC%97%90%EC%84%9C_%EC%8B%A4%EC%88%98Double%EB%A1%9C_%EB%B3%80%EA%B2%BD%EB%B3%80%EC%88%98%EB%AA%85_prefix_%EB%B3%80%EA%B2%BD\"><\/span>2.1 Change Item Size from Integer (Long) to Real (Double) (Change variable name prefix)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>In the previous version, if a real size value such as 0.1 or 21.8 was entered, it was converted to an integer type, and the values below the decimal point were truncated, and there was a problem in that it was not correctly distributed. This was mainly a problem when the Size value was used in KB, MB, GB, TB, etc. instead of the number of bytes.<\/p>\n\n\n\n<p>The declaration of the \u201cPublic m_lSize As Long\u201d member variable of the CBinItem class was changed to \u201cPublic m_dSize As Double\u201d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2.2_BinItem_\uba85\uce6d_\ub300\uc18c\ubb38\uc790_\uad6c\ubd84_(Collection_\uc5d0\uc11c_Dictionary\ub85c_\ubcc0\uacbd)\"><span class=\"ez-toc-section\" id=\"22_BinItem_%EB%AA%85%EC%B9%AD_%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90_%EA%B5%AC%EB%B6%84_Collection_%EC%97%90%EC%84%9C_Dictionary%EB%A1%9C_%EB%B3%80%EA%B2%BD\"><\/span>2.2 BinItem name case sensitive (Changed from Collection to Dictionary)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>As a member variable of the existing CBinItemCollection Class, each item was stored in a Collection and managed. When searching for an item, an item instance was found using the item name as a key, but the item key of a collection has a characteristic that is not case-sensitive.<\/p>\n\n\n\n<p>The table name and column name extracted from the case-sensitive database were duplicated as the item key of a case-insensitive collection, so it was changed.<\/p>\n\n\n\n<p>In case-sensitive databases, table names \u201cT1\u201d and \u201ct1\u201d can be created and used, respectively. It is not recommended because it can cause confusion, but it needs to be improved because objects that have already been created need to be identified differently.<\/p>\n\n\n\n<p>Class was rewritten using Dictionary so that the item key is case-sensitive, and the class name was changed from \u201cCBinItemCollection\u201d to \u201cCBinItemDic\u201d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2.3_\ubc30\ubd84_\uacb0\uacfc_\ud640\uc218,_\uc9dd\uc218_\uadf8\ub8f9\ubcc4_\uc21c\uc11c_\uc815\ub82c\"><span class=\"ez-toc-section\" id=\"23_%EB%B0%B0%EB%B6%84_%EA%B2%B0%EA%B3%BC_%ED%99%80%EC%88%98_%EC%A7%9D%EC%88%98_%EA%B7%B8%EB%A3%B9%EB%B3%84_%EC%88%9C%EC%84%9C_%EC%A0%95%EB%A0%AC\"><\/span>2.3 Order Sort by Odd and Even Groups of Distribution Results<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>In the BinPacking result, the item size of each bin is sorted as follows.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>When \u201cItem Size descending order\u201d option is selected: Sort in reverse order from the largest item to the smallest item<\/li><li>If the \u201cItem Size descending order\u201d option is not selected: Input order<\/li><\/ul>\n\n\n\n<p>Assume that the result of executing bin packing is divided into 4 bins. If you copy the Bin Item list to create a work group and execute each work group, the following phenomenon may occur.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Execution phenomenon when bin items are sorted in reverse order of size<ul><li>Four concurrently executed task groups execute the largest task from the beginning.<\/li><li>If the server&#039;s resource (CPU, Memory, I\/O) contention increases and resources are insufficient, some tasks will fail or the waiting time will be long.<\/li><li>The resource contention is gradually resolved as the execution of large-sized jobs is completed and gradually leads to smaller-sized jobs.<\/li><\/ul><\/li><li>When bin items are sorted in input order<ul><li>Server resource contention intensifies and then resolves and repeats.<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>This phenomenon may create problems in which the server&#039;s load becomes severe or it is difficult to predict when the execution is completed due to the inability to utilize resources efficiently.<\/p>\n\n\n\n<p>This problem may not occur if the sum of the sizes of the concurrently executed tasks is made nearly equal, but it is almost impossible to make the bin items close to equal size because the size of the bin items is not uniform.<\/p>\n\n\n\n<p>In order to minimize this phenomenon, the items of each bin are sorted by size, but the option of reversing the even-numbered and odd-numbered sorting order in the bin order has been added.<\/p>\n\n\n\n<p>When this option is applied, the distribution result is as follows:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Bin1: 2, 5, 3, 1\nBin2: 3, 6, 1, 2<\/pre>\n\n\n\n<p>It is changed as follows.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-auto-translation=\"\">Bin1: 5, 3, 2, 1 # Decending order\nBin2: 1, 2, 3, 6 # Ascending order<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2.4._BinItem_loading_\ucf54\ub4dc_\uac1c\uc120\"><span class=\"ez-toc-section\" id=\"24_BinItem_loading_%EC%BD%94%EB%93%9C_%EA%B0%9C%EC%84%A0\"><\/span>2.4. BinItem loading code improvement<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The code that reads the input bin item list on the \u201cRun\u201d sheet and loads it into memory was improved by using a Varaint array.<\/p>\n\n\n\n<p>For how to use a variant array, refer to this article.<\/p>\n\n\n\n<p><a href=\"https:\/\/prodskill.com\/en\/excel-vba-coding-pattern-range-loop-read\/\">VBA Coding Pattern: Range Loop - Read<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2.5._Bin_Item_Name\uc5d0_\uc911\ubcf5\uc774_\uc788\ub294_\uacbd\uc6b0,_\uc911\ubcf5_\ubaa9\ub85d_\uba54\uc2dc\uc9c0_\ubc15\uc2a4\ub85c_\uc54c\ub824\uc8fc\uace0_\uc2e4\ud589_\uc911\ub2e8\"><span class=\"ez-toc-section\" id=\"25_Bin_Item_Name%EC%97%90_%EC%A4%91%EB%B3%B5%EC%9D%B4_%EC%9E%88%EB%8A%94_%EA%B2%BD%EC%9A%B0_%EC%A4%91%EB%B3%B5_%EB%AA%A9%EB%A1%9D_%EB%A9%94%EC%8B%9C%EC%A7%80_%EB%B0%95%EC%8A%A4%EB%A1%9C_%EC%95%8C%EB%A0%A4%EC%A3%BC%EA%B3%A0_%EC%8B%A4%ED%96%89_%EC%A4%91%EB%8B%A8\"><\/span>2.5. If there are duplicates in the Bin Item Name, a duplicate list message box is displayed and the execution is aborted.<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>In the previous version, if there was a duplicate Bin Item Name, it was ignored and proceeded. While changing to case-sensitive in this version, it was changed to check whether there are duplicates in the input data, notify the content, and then stop the execution. You just need to remove the duplicates or change them so that they are not duplicated and run it again.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<p>The Bin Packing tool is not used often, but it seems to be used 4-5 times a year or more. Sometimes it&#039;s a big help for me. If you have any questions, please leave a comment.<\/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>List of related articles<\/strong> &gt;&gt;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-1\/\">Optimization of work distribution using one-dimensional bin packing algorithm_1.Overview<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-2\/\">Optimization of work distribution using one-dimensional bin packing algorithm_2.Algorithm (1)<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-3\/\">Optimization of work distribution using one-dimensional bin packing algorithm_2.Algorithm(2)<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-4\/\">Optimization of work distribution using one-dimensional bin packing algorithm_3.Implementation (1)<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-5\/\">Optimization of work distribution using one-dimensional bin packing algorithm_3.Implementation (2)<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-6\/\">Optimization of work distribution using one-dimensional bin packing algorithm_4.Attachment<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/\">One-dimensional Bin Packing Tool Recent Changes (as of March 21, 2021)<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-toc\/\">Work distribution optimization tool using one-dimensional bin packing algorithm Full Contents, Download<\/a><\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>1. The description of the one-dimensional bin packing tool written on the summary of changes blog is based on 2017-11-19. Related article: Work distribution optimization using one-dimensional bin packing algorithm_1. Overview \u2013 Productivity Skill (prodskill.com) There are improvements while carrying out the K company project on 2021-03-21, so they are organized separately. Item Size from Integer (Long) to Real (Double)...<\/p>","protected":false},"author":1,"featured_media":11130,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[15,16,17,18],"class_list":["post-11278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1d-bin-packing-tool","tag-python","tag-binpacking","tag-vba","tag-18"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \ucd5c\uadfc \ubcc0\uacbd \uc0ac\ud56d (2021-03-21 \uae30\uc900)<\/title>\n<meta name=\"description\" content=\"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \uc758 \ucd5c\uadfc \ubcc0\uacbd\uc0ac\ud56d\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. \ubcc0\uc218\uba85 prefix \ubcc0\uacbd, \uc790\ub8cc \uad6c\uc870 \ubcc0\uacbd(Collection -&gt; Dictionary), \uadf8\ub8f9\ubcc4 \uc21c\uc11c \uc815\ub82c, \uc57d\uac04\uc758 \uc131\ub2a5 \uac1c\uc120\uacfc \uae30\ub2a5\uc744 \uac1c\uc120\ud588\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\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \ucd5c\uadfc \ubcc0\uacbd \uc0ac\ud56d (2021-03-21 \uae30\uc900)\" \/>\n<meta property=\"og:description\" content=\"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \uc758 \ucd5c\uadfc \ubcc0\uacbd\uc0ac\ud56d\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. \ubcc0\uc218\uba85 prefix \ubcc0\uacbd, \uc790\ub8cc \uad6c\uc870 \ubcc0\uacbd(Collection -&gt; Dictionary), \uadf8\ub8f9\ubcc4 \uc21c\uc11c \uc815\ub82c, \uc57d\uac04\uc758 \uc131\ub2a5 \uac1c\uc120\uacfc \uae30\ub2a5\uc744 \uac1c\uc120\ud588\ub2e4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/\" \/>\n<meta property=\"og:site_name\" content=\"\uc0dd\uc0b0\uc131 Skill\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-09T13:16:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-10T01:40:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png\" \/>\n\t<meta property=\"og:image:width\" content=\"602\" \/>\n\t<meta property=\"og:image:height\" content=\"322\" \/>\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=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zerom\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\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-7\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/\"},\"author\":{\"name\":\"Zerom\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"headline\":\"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \ucd5c\uadfc \ubcc0\uacbd \uc0ac\ud56d (2021-03-21 \uae30\uc900)\",\"datePublished\":\"2022-09-09T13:16:52+00:00\",\"dateModified\":\"2022-10-10T01:40:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/\"},\"wordCount\":229,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\"},\"image\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-42.png\",\"keywords\":[\"python\",\"BinPacking\",\"\uc5d1\uc140VBA\",\"\uc791\uc5c5\ubc30\ubd84\ucd5c\uc801\ud654\"],\"articleSection\":[\"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/\",\"url\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/\",\"name\":\"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \ucd5c\uadfc \ubcc0\uacbd \uc0ac\ud56d (2021-03-21 \uae30\uc900)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-42.png\",\"datePublished\":\"2022-09-09T13:16:52+00:00\",\"dateModified\":\"2022-10-10T01:40:01+00:00\",\"description\":\"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \uc758 \ucd5c\uadfc \ubcc0\uacbd\uc0ac\ud56d\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. \ubcc0\uc218\uba85 prefix \ubcc0\uacbd, \uc790\ub8cc \uad6c\uc870 \ubcc0\uacbd(Collection -> Dictionary), \uadf8\ub8f9\ubcc4 \uc21c\uc11c \uc815\ub82c, \uc57d\uac04\uc758 \uc131\ub2a5 \uac1c\uc120\uacfc \uae30\ub2a5\uc744 \uac1c\uc120\ud588\ub2e4.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/#primaryimage\",\"url\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-42.png\",\"contentUrl\":\"https:\\\/\\\/prodskill.com\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/image-42.png\",\"width\":602,\"height\":322},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/prodskill.com\\\/job-scheduling-using-1d-bin-packing-algorithm-7\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \ucd5c\uadfc \ubcc0\uacbd \uc0ac\ud56d (2021-03-21 \uae30\uc900)\"}]},{\"@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\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/prodskill.com\\\/ko\\\/#\\\/schema\\\/person\\\/bbad0870c78008c82edbe0960fe768bd\",\"name\":\"Zerom\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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\\\/en\\\/author\\\/proda\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"One-dimensional Bin Packing Tool Recent Changes (as of March 21, 2021)","description":"Let&#039;s take a look at recent changes to the 1D Bin Packing tool. These include a change to the variable name prefix, a change to the data structure (from Collection to Dictionary), sorting by group order, and some performance and functionality improvements.","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\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/","og_locale":"en_US","og_type":"article","og_title":"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \ucd5c\uadfc \ubcc0\uacbd \uc0ac\ud56d (2021-03-21 \uae30\uc900)","og_description":"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \uc758 \ucd5c\uadfc \ubcc0\uacbd\uc0ac\ud56d\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf8\ub2e4. \ubcc0\uc218\uba85 prefix \ubcc0\uacbd, \uc790\ub8cc \uad6c\uc870 \ubcc0\uacbd(Collection -> Dictionary), \uadf8\ub8f9\ubcc4 \uc21c\uc11c \uc815\ub82c, \uc57d\uac04\uc758 \uc131\ub2a5 \uac1c\uc120\uacfc \uae30\ub2a5\uc744 \uac1c\uc120\ud588\ub2e4.","og_url":"https:\/\/prodskill.com\/en\/job-scheduling-using-1d-bin-packing-algorithm-7\/","og_site_name":"\uc0dd\uc0b0\uc131 Skill","article_published_time":"2022-09-09T13:16:52+00:00","article_modified_time":"2022-10-10T01:40:01+00:00","og_image":[{"width":602,"height":322,"url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png","type":"image\/png"}],"author":"Zerom","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Zerom","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/#article","isPartOf":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/"},"author":{"name":"Zerom","@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"headline":"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \ucd5c\uadfc \ubcc0\uacbd \uc0ac\ud56d (2021-03-21 \uae30\uc900)","datePublished":"2022-09-09T13:16:52+00:00","dateModified":"2022-10-10T01:40:01+00:00","mainEntityOfPage":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/"},"wordCount":229,"commentCount":0,"publisher":{"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"image":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png","keywords":["python","BinPacking","\uc5d1\uc140VBA","\uc791\uc5c5\ubc30\ubd84\ucd5c\uc801\ud654"],"articleSection":["1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/","url":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/","name":"One-dimensional Bin Packing Tool Recent Changes (as of March 21, 2021)","isPartOf":{"@id":"https:\/\/prodskill.com\/ko\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/#primaryimage"},"image":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png","datePublished":"2022-09-09T13:16:52+00:00","dateModified":"2022-10-10T01:40:01+00:00","description":"Let&#039;s take a look at recent changes to the 1D Bin Packing tool. These include a change to the variable name prefix, a change to the data structure (from Collection to Dictionary), sorting by group order, and some performance and functionality improvements.","breadcrumb":{"@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/#primaryimage","url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png","contentUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-42.png","width":602,"height":322},{"@type":"BreadcrumbList","@id":"https:\/\/prodskill.com\/job-scheduling-using-1d-bin-packing-algorithm-7\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prodskill.com\/ko\/"},{"@type":"ListItem","position":2,"name":"1\ucc28\uc6d0 Bin Packing \ub3c4\uad6c \ucd5c\uadfc \ubcc0\uacbd \uc0ac\ud56d (2021-03-21 \uae30\uc900)"}]},{"@type":"WebSite","@id":"https:\/\/prodskill.com\/ko\/#website","url":"https:\/\/prodskill.com\/ko\/","name":"Productivity Skills","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":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd","name":"Zerom","image":{"@type":"ImageObject","inLanguage":"en-US","@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\/en\/author\/proda\/"}]}},"_links":{"self":[{"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/posts\/11278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/comments?post=11278"}],"version-history":[{"count":0,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/posts\/11278\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/media\/11130"}],"wp:attachment":[{"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/media?parent=11278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/categories?post=11278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prodskill.com\/en\/wp-json\/wp\/v2\/tags?post=11278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}