<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">21216</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2022.021216</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>An Intelligent Optimization Method of Reinforcing Bar Cutting for Construction Site</article-title>
<alt-title alt-title-type="left-running-head">An Intelligent Optimization Method of Reinforcing Bar Cutting for Construction Site</alt-title>
<alt-title alt-title-type="right-running-head">An Intelligent Optimization Method of Reinforcing Bar Cutting for Construction Site</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Ma</surname><given-names>Zhaoxi</given-names>
</name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Zhao</surname><given-names>Qin</given-names>
</name><xref ref-type="aff" rid="aff-1">1</xref><email>zhaoqin6688@xaut.edu.cn</email>
</contrib> <contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Cang</surname><given-names>Tianyou</given-names>
</name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Li</surname><given-names>Zongjian</given-names>
</name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Zhu</surname><given-names>Yiyun</given-names>
</name><xref ref-type="aff" rid="aff-1">1</xref></contrib> <contrib id="author-6" contrib-type="author">
<name name-style="western"><surname>Hei</surname><given-names>Xinhong</given-names>
</name><xref ref-type="aff" rid="aff-3">3</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Department of Civil Engineering and Architecture, Xi&#x2019;an University of Technology</institution>, <addr-line>Xi&#x2019;an, 710048</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>State Key Laboratory of Rail Transit Engineering Informatization (FSDI)</institution>, <addr-line>Xi&#x2019;an, 710043</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>Department of Computer Science and Engineering, Xi&#x2019;an University of Technology</institution>, <addr-line>Xi&#x0027;an, 710048</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Qin Zhao. Email: <email>zhaoqin6688@xaut.edu.cn</email></corresp>
</author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2022-08-11">
<day>11</day>
<month>08</month>
<year>2022</year>
</pub-date>
<volume>134</volume>
<issue>1</issue>
<fpage>637</fpage>
<lpage>655</lpage>
<history>
<date date-type="received">
<day>02</day>
<month>1</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>06</day>
<month>2</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Ma et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Ma et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_21216.pdf"></self-uri>
<abstract>
<p>To meet the requirements of specifications, intelligent optimization of steel bar blanking can improve resource utilization and promote the intelligent development of sustainable construction. As one of the most important building materials in construction engineering, reinforcing bars (rebar) account for more than 30% of the cost in civil engineering. A significant amount of cutting waste is generated during the construction phase. Excessive cutting waste increases construction costs and generates a considerable amount of CO<sub>2</sub> emission. This study aimed to develop an optimization algorithm for steel bar blanking that can be used in the intelligent optimization of steel bar engineering to realize sustainable construction. In the proposed algorithm, the integer linear programming algorithm was applied to solve the problem. It was combined with the statistical method, a greedy strategy was introduced, and a method for determining the dynamic critical threshold was developed to ensure the accuracy of large-scale data calculation. The proposed algorithm was verified through a case study; the results confirmed that the rebar loss rate of the proposed method was reduced by 9.124% compared with that of traditional distributed processing of steel bars, reducing CO<sub>2</sub> emissions and saving construction costs. As the scale of a project increases, the calculation quality of the optimization algorithm for steel bar blanking proposed also increases, while maintaining high calculation efficiency. When the results of this study are applied in practice, they can be used as a sustainable foundation for building informatization and intelligent development.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Building construction</kwd>
<kwd>rebar work</kwd>
<kwd>cutting stock problem</kwd>
<kwd>optimization algorithm</kwd>
<kwd>integer linear programming</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>As societies and economies advance, China has proposed a goal to reach the peak of its total CO<sub>2</sub> emissions by 2030, to become carbon neutral by 2060, and to advance new infrastructure development strategies [<xref ref-type="bibr" rid="ref-1">1</xref>]. These objectives promote the development of the construction industry, while proposing higher requirements for sustainable development in the construction industry. Simultaneously, the construction industry, as a pillar industry in the national economy, and the concept of sustainable development is essential. In 2017, building construction and operation accounted for 36% of the global final energy use and nearly 40% of the related CO<sub>2</sub> emissions [<xref ref-type="bibr" rid="ref-2">2</xref>]. As the most important building material in construction engineering, steel bars and concrete account for approximately 65% of building greenhouse gases&#x2014;40% of which are CO<sub>2</sub> emissions from concrete [<xref ref-type="bibr" rid="ref-3">3</xref>].</p>
<p>Clark and Bradley&#x2019;s survey showed that the embodied CO<sub>2</sub> (ECO<sub>2</sub>) contained in an average building is 340 kg-CO<sub>2</sub>/m<sup>2</sup>, of which the structure accounts for approximately 60% [<xref ref-type="bibr" rid="ref-4">4</xref>]. In a report by Lee, 95 kg-ECO<sub>2</sub>/ton for C25/30 concrete was suggested, but the reinforcing bar generated an ECO<sub>2</sub> of 872 kg-ECO<sub>2</sub>/ton. This shows that reducing the ECO<sub>2</sub> in the structural framework directly leads to a reduction in greenhouse gases. In addition, in terms of the carbon footprint, reducing the number of steel bars is extremely important because their ECO<sub>2</sub> is approximately 9.2 times that of concrete per unit weight [<xref ref-type="bibr" rid="ref-5">5</xref>]. The most effective way to lower carbon emissions is to reduce the steel material from the source. Begum [<xref ref-type="bibr" rid="ref-6">6</xref>] eliminated many problems related to waste disposal. However, steel bar processing and blanking are only combined in a single component at this stage. Workers carry out simple manual control to unload the materials in sequence. Such a method results in low processing efficiency, generates a considerable amount of steel bar waste, causes serious waste of steel bar raw materials. Generally, the steel cutting waste is approximately 3%&#x2013;5% [<xref ref-type="bibr" rid="ref-6">7</xref>&#x2013;<xref ref-type="bibr" rid="ref-10">10</xref>] in the design stage, but more than 5% occurs in the construction stage [<xref ref-type="bibr" rid="ref-11">11</xref>&#x2013;<xref ref-type="bibr" rid="ref-15">15</xref>]. This results from the lack of optimization of cutting technology at the construction site to achieve sustainable construction.</p>
<p>Early research on cutting-stock problems can be traced back to 1939. Based on the cutting-stock problem, economists of the former Soviet Union proposed a mathematical model that uses linear programming to model and solve it by multiplication. Although the method is immature and cannot guarantee an optimal solution, it has far-reaching guiding significance for the solution. Gilmore and Gomory [<xref ref-type="bibr" rid="ref-16">16</xref>] used linear programming methods to build mathematical models. The postponed column generation method, improved in 1963 [<xref ref-type="bibr" rid="ref-17">17</xref>] and 1965 [<xref ref-type="bibr" rid="ref-18">18</xref>], is also applicable to the problem of two-dimensional plate cutting problems and even multidimensional problems.</p>
<p>In particular, for large-scale optimization problems, most linear programming algorithms have low computational efficiency and are difficult to solve. It has been proposed that these problems can be solved using heuristic algorithms. Haessler [<xref ref-type="bibr" rid="ref-18">19</xref>] proposed a new method&#x2014;the sequential heuristic method, which comprehensively considers loss, consumables, and cutting modes to solve multiple optimization objectives. Haessler et al. [<xref ref-type="bibr" rid="ref-19">20</xref>,<xref ref-type="bibr" rid="ref-20">21</xref>] introduced the variable of the trimming method, and applied it to the &#x201C;first applicable&#x201D; first-fit-decreasing and &#x201C;best applicable&#x201D; best-fit-decreasing algorithms. For the one-dimensional cutting problem, Wagner [<xref ref-type="bibr" rid="ref-21">22</xref>] proposed adding constraints, such as cutting loss and inventory, and using a genetic algorithm to solve it.</p>
<p>For the one-dimensional cutting problem, Yang et al. [<xref ref-type="bibr" rid="ref-22">23</xref>] improved the tabu search algorithm, solved part of the problem with mixed objective functions, and achieved good results. Moreover, the algorithm can avoid the common defects of traditional heuristic algorithms, i.e., falling into a local optimal situation. Araujo et al. [<xref ref-type="bibr" rid="ref-23">24</xref>] set the objective function as the least remaining material, and used a new heuristic algorithm for the optimization calculation. For small- and medium-scale problems, it has been proposed [<xref ref-type="bibr" rid="ref-24">25</xref>] that simulated annealing algorithms can be used. Cui [<xref ref-type="bibr" rid="ref-25">26</xref>] summarized the one-dimensional cutting problem from the sequential heuristic algorithm, and increased the constraint conditions by setting primary and secondary goals. Based on this method, a computer-aided layout system was developed. Based on the genetic algorithm, Gracia et al. [<xref ref-type="bibr" rid="ref-26">27</xref>] considered the least surplus material as the objective function, and introduced different search strategies to solve the one-dimensional cutting-stock problem. This method sets the cutting from the surplus material to a higher priority. When surplus material is unavailable, a material with a fixed length is considered.</p>
<p>In 2015, Nereu et al. [<xref ref-type="bibr" rid="ref-27">28</xref>] proposed an approach wherein surplus material can be used for other purposes instead of becoming waste. In 2016, Poldi et al. [<xref ref-type="bibr" rid="ref-28">29</xref>] proposed solving the cutting problem using a residual heuristic algorithm. Although various cutting optimization algorithms have been proposed, most are unstable when tested. Most data in reinforcement engineering are extensive and irregular. It is easy to produce nondeterministic polynomial (NP) complete problems when these data are directly used in linear programming and cannot be solved in a feasible amount of time. If other heuristic algorithms are used, it is difficult to set parameters, premature algorithms, and local optimizations. Therefore, it is necessary to study in depth the cutting optimization algorithms suitable for reinforcement engineering. An optimization algorithm for steel bar cutting that can meet the engineering requirements in terms of calculation efficiency and calculation quality is required to improve the application of the material utilization ratio in reinforcement engineering, reduce inefficient labor, and achieve sustainable construction.</p>
<p>In this study, a mathematical model is proposed for minimizing the use of steel materials. An integer programming model is used to solve the problem, and a greedy algorithm is introduced to improve the linearized algorithm to optimize the large-scale steel bar calculation problem. The final design calculation accuracy and calculation efficiency provide an intelligent optimization algorithm for steel bar blanking, and the minimum steel loss is calculated using the cutting plan to achieve sustainable construction.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Methodology</title>
<p>To design an optimization algorithm for steel bar blanking, the characteristics of the data in reinforcement engineering were analyzed comprehensively, and the objective function and constraint conditions were defined. A high-quality and high-efficiency solution for rebar blanking was achieved.</p>
<sec id="s2_1">
<label>2.1</label>
<title>Parameters and Decision Variables</title>
<p>In the case of the same steel bar strength grade and diameter, the essence of the steel-bar-blanking optimization problem is to use the least raw material for the steel bar (i.e., lowest cost) to solve the project planning problem of different lengths and different quantities of blanks. In the optimization model for this type of planning problem, the parameters in <xref ref-type="table" rid="table-1">Table 1</xref> are used.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Parameters</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Description</th>
<th>Unit</th>
</tr>
</thead>
<tbody>
<tr>
<td>&#x03C6;</td>
<td>Reinforcement strength grade</td>
<td>MPa</td>
</tr>
<tr>
<td>d</td>
<td>Steel bar diameter</td>
<td>mm</td>
</tr>
<tr>
<td>L</td>
<td>Reinforcement cut-lengths</td>
<td>m</td>
</tr>
<tr>
<td>m</td>
<td>Total number of embryo types</td>
<td>1</td>
</tr>
<tr>
<td>l<sub>i</sub></td>
<td>Length of type i embryo</td>
<td>m</td>
</tr>
<tr>
<td>bi</td>
<td>Number of the i embryo</td>
<td>1</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Owing to the definite length of the reinforcement, the raw materials of the reinforcement should be minimized (minimum cost). It is necessary to fully utilize the raw materials of each steel bar; i.e., the length of the surplus material after cutting should be less than the shortest length of the blank material. Research has shown that this cutting method is effective. Each effective cutting method uses a steel bar raw material. Steel cutting can be regarded as a combination of many effective cutting methods. The number of times the effective cutting method is used corresponds to the total number of raw materials in this problem. Therefore, the decision variables can be set as in <xref ref-type="table" rid="table-2">Table 2</xref>.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Decision variables</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Decision variables</th>
<th>Data type</th>
<th>Description</th>
<th>Unit</th>
</tr>
</thead>
<tbody>
<tr>
<td><inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Integer</td>
<td>Use times of the j effective cutting method</td>
<td>1</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Model Formulation</title>
<sec id="s2_2_1">
<label>2.2.1</label>
<title>Objective Functions</title>
<p>This study aims to meet the requirements of engineering embryo materials, while minimizing cost. For the setting of the objective function, two aspects are considered: minimization of raw material number and loss.</p>
<p>From the perspective of the number of raw materials, the ultimate goal is to minimize the total number of raw materials. To minimize Z (which denotes the total number of raw materials) based on the previously set decision variables, the objective function can be expressed follows:</p>
<p><disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mtext>Min</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p><disp-formula id="ueqn-2"><mml:math id="mml-ueqn-2" display="block"><mml:mi>Z</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></disp-formula>where Z is the total number of steel bars.</p>
<p>The mathematical model for minimizing raw material demand uses the total number of raw materials required for the final calculation as the objective function to evaluate the blanking plan. The mathematical method for minimizing loss summarizes all the remaining material lengths obtained from cutting, sets the remaining material length as an index, and evaluates the cutting plan. The corresponding objective function is as follows:</p>
<p><disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mtext>Min</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>S</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mi>Z</mml:mi><mml:mo>&#x2212;</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>where S is the total length of remaining material.</p>
<p>The analysis shows that, if both reach the optimal solution, the material utilization rates corresponding to the two different objective functions are equal. Therefore, the number of raw steel bars used is equal to the material loss. Because the calculation amount of the objective function set by the minimization of raw materials is smaller, in the follow-up study, the number of raw materials is selected to minimize the objective function.</p>
</sec>
<sec id="s2_2_2">
<label>2.2.2</label>
<title>Constraints</title>
<p>Although there exist several objective functions, the final model constraints are mainly based on the number of roots that meet the engineering requirements. Steel bar blanking can be regarded as a combination of multiple effective cutting methods. Each effective cutting method involves blanks of different lengths. The combination of effective cutting methods ensures that the number of blanks with different lengths is equal to the number of blanks required by the project.</p>
<p>For the calculation of effective cutting, the following methods are used [<xref ref-type="bibr" rid="ref-29">30</xref>].</p>
<p><inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Processing of the blank length set <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003A;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> in descending order, make <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>;</p>
<p><inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, where <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mi>n</mml:mi></mml:math></inline-formula> is the number of cutting methods;</p>
<p><inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mi>L</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>,</p>
<p><inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>L</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>,&#x2026;</p>
<p><inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>L</mml:mi><mml:mo>&#x2212;</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>,</p>
<p>The function represents Gaussian rounding, that is, rounding down.</p>
<p><inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Integrated cutting plan: <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>;</p>
<p><inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Iteration based on <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> cutting plan. If there is <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> at <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, let k be equal to the maximum value of all i that meet the condition <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. If there is no <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> at <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, the algorithm ends;</p>
<p><inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>,</p>
<p><disp-formula id="ueqn-4"><mml:math id="mml-ueqn-4" display="block"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></disp-formula></p>
<p><inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>L</mml:mi><mml:mo>&#x2212;</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>&#x2026;</p>
<p><inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>L</mml:mi><mml:mo>&#x2212;</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo><mml:mo stretchy="false">]</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> to <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></p>
<p>Numbered lists can be added as follows.</p>
<p>It is assumed that <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> steel bar blanks with a length of <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> m are required. In the first effective cutting method, <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> steel bars with a length of <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> meters can be cut. In the second effective cutting method, <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> steel bars with a length of <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> meters can be cut, and so on. In the n effective cutting method, <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> steel bars with a length of <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> meters can be cut. The following constraints can be obtained.</p>
<p><disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>Assuming that m different lengths of steel bar blanks are required, there are <italic>n</italic> effective cutting methods, and <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the number of raw steel bars in the corresponding plan. For all steel bars with different lengths, the following constraints can be obtained.</p>
<p><disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p><disp-formula id="ueqn-7"><mml:math id="mml-ueqn-7" display="block"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></disp-formula>where a is the number of steel bars of a certain length that can be cut by various schemes.</p>
</sec>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Optimal Algorithm Design of Rebar Cutting</title>
<sec id="s2_3_1">
<label>2.3.1</label>
<title>Integer Linear Programming Application</title>
<p>Under the above objective function and its constraints, a mathematical programming algorithm was used to determine the optimal solution. Mathematical planning is an important branch of operations research, and an important branch of mathematical programming is integer programming. Integer linear programming limits the decision variables in linear programming to integers, and its standard form can be expressed as follows:</p>
<p><disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mrow><mml:mtext>Min</mml:mtext></mml:mrow><mml:mspace width="thinmathspace" /><mml:mrow><mml:mtext>f</mml:mtext></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mi>x</mml:mi></mml:math></disp-formula></p>
<p><disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mi>s</mml:mi><mml:mo>.</mml:mo><mml:mi>t</mml:mi><mml:mo>.</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>b</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mo stretchy="false">(</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mi>n</mml:mi><mml:mo>;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mtext>is an integer</mml:mtext></mml:mrow><mml:mo>.</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>c</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>.</p>
<p>For the mathematical model of rebar cutting, the decision variable represents the number of raw materials to be cut, which must be an integer. This exactly matches the principle and idea of integer linear programming, so the integer linear programming algorithm can be used to solve the scheme first.</p>
<p>At this stage, there are mainly exhaustive methods and branch-and-bound methods for solving integer linear programming. Although the exhaustive method is theoretically feasible, it is far greater than the other two algorithms under the same calculation scale. A new method for solving the fully fuzzy system of linear equations using the linear programming problem approach is used.</p>
<p>The branch-and-bound method is one of the main methods for solving integer linear programming problems. It has been widely used in the fields of mixed-integer programming and pure integer programming. The branch-and-bound method first relaxes the original problem into a linear programming problem. Then, it iteratively corrects situations wherein the optimal solution is not all integers. When the algorithm starts to search, the optimal solution currently found is <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mrow><mml:mi>&#x2205;</mml:mi></mml:mrow></mml:math></inline-formula>. During solving, the solution space is gradually reduced. At any time, the solution space comprises a subset of the solution space that has not been explored and the optimal solution found thus far. The unsearched subspace is represented as a node in the dynamically generated search tree. The search tree includes only the root node before the algorithm starts. Each iteration of the branch-and-bound method processes a node. The iteration has three parts: branching, boundary calculation, and screening. The branch is generally based on the principle of selecting variables that do not meet the integer constraint, and pick a non-integer variable <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:math></inline-formula> Let [<inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>] be an integer rounded down to <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and the original feasible region is R. R is divided into <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> by <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo></mml:math></inline-formula> [<inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>] and <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo></mml:math></inline-formula> [<inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>] &#x002B; 1. The non-integer area between [<inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>] and <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> &#x002B; 1 in R is eliminated to reduce feasible domain. The current value divides it into two subproblems for the solution. The boundary calculation aims to solve the subproblems generated by the branch. According to its optimal objective function value, the upper and lower bounds before branching are updated. Screening is based on the relationship between the optimal function value of the branch subproblem and the preset upper and lower bounds. It deletes or rebranches the branch until the optimal objective function value is obtained.</p>
<p>The solution process is as follows.</p>
<p>IL is an integer programming problem that needs to be solved. The linear programming problem corresponding to this problem is called L.</p>
<p>The problem is solved in two stages.</p>
<p>First, to solve problem L, one of the following situations can be obtained.
<list list-type="order">
<list-item><label>(1)</label><p>If there is no feasible solution for L, and there is no feasible solution for the IL, then stop.</p></list-item>
<list-item><label>(2)</label><p>There is an optimal solution for L. The solution variables are all integers, so it is also the optimal solution of IL. Then stop.</p></list-item>
<list-item><label>(3)</label><p>An optimal solution for L exists. However, it does not meet the integer condition in the IL. Then, <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is the value of the objective function. If this happens, it must be <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>f</mml:mi><mml:mo>&#x2265;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>Second, iterative operations are performed for the (3) situation in the first stage.
<list list-type="order">
<list-item><label>(1)</label><p>Branch. In the optimal solution of L, a variable is chosen that does not satisfy the integer condition. Assuming that its value is <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, two constraints, <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, are established. These conditions are added to question L, and L is divided into two subproblems, <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Regardless of the integer condition requirements, <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are solved.</p></list-item>
<list-item><label>(2)</label><p>Boundary. Each successor subproblem is a branch and indicates the result of the solution. Similar to other results, the smallest value of the optimal objective function is found as the new lower bound, and <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is replaced simultaneously. From the branches that met the integer condition, the smallest value of the objective function is found as the new upper bound <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>, which is <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo>&#x2265;</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x2265;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p></list-item>
<list-item><label>(3)</label><p>Comparison and pruning. If the optimal objective function of each branch is greater than <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>, it is cut off. If it is less than 1 and does not meet the integer condition, branching steps is repeated until the optimal objective function value <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula> is finally obtained. Thus, the optimal integer solution is <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
</list></p>
<p>The algorithms were tested. Considering a sample project as an example, the representative data of different scales in the steel bar schedule were extracted. The length of the steel bar raw material was 12 m; there were 23 types of blank that needed to be cut; the length was set <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> {10.772, 9.888, 9.36, 8.14, 7.66, 6.56, 6.05, 5.82, 5.73, 5.722, 5.684, 3.165, 2.96, 2.885, 2.67, 2.59, 2.565, 2.25, 2.22, 2.146, 1.946, 1.726, 1.44}; and the corresponding quantity set was <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> {2, 2, 4, 8, 8, 16, 21, 18, 21, 2, 16, 34, 912, 17, 76, 8, 17, 18, 912, 68, 68, 66, 36}.</p>
<p>An integer linear programming algorithm is used to build the mathematical model. First, it is necessary to calculate all feasible blanking schemes. According to the calculation in <xref ref-type="sec" rid="s2_2_2">Section 2.2.2</xref>, there are 3226 feasible blanking methods.</p>
<p>A mathematical model is established based on the cutting method. Solving it by an integer linear programming algorithm took 15.138 s. Finally, 539 12-m-long raw materials were used, with a total length of 12 &#x00D7; 539 &#x003D; 6468 m. The total length of the blank material required by the project was <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>23</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>6397.22</mml:mn></mml:math></inline-formula> m. The overall utilization rate of the materials was 98.906%. The specific blanking plan is presented in <xref ref-type="table" rid="table-3">Table 3</xref>.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Reinforcement requirement of material warehouse</title>
</caption>
<table frame="hsides">
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>No.</th>
<th><inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msub><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msub><mml:mrow><mml:mtext>a</mml:mtext></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msub><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:msub><mml:mrow><mml:mtext>a</mml:mtext></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msub><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:msub><mml:mrow><mml:mtext>a</mml:mtext></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msub><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:msub><mml:mrow><mml:mtext>a</mml:mtext></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th>Remaining</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2.22</td>
<td>2</td>
<td>2.146</td>
<td>1</td>
<td>1.946</td>
<td>1</td>
<td>1.726</td>
<td>2</td>
<td>0.016</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>2.22</td>
<td>3</td>
<td>1.946</td>
<td>2</td>
<td>1.44</td>
<td>1</td>
<td></td>
<td></td>
<td>0.008</td>
<td>18</td>
</tr>
<tr>
<td>3</td>
<td>2.565</td>
<td>3</td>
<td>2.146</td>
<td>2</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.013</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>2.59</td>
<td>3</td>
<td>2.22</td>
<td>1</td>
<td>1.946</td>
<td>1</td>
<td></td>
<td></td>
<td>0.064</td>
<td>1</td>
</tr>
<tr>
<td>5</td>
<td>2.67</td>
<td>2</td>
<td>2.22</td>
<td>3</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0</td>
<td>37</td>
</tr>
<tr>
<td>6</td>
<td>2.885</td>
<td>2</td>
<td>2.22</td>
<td>2</td>
<td>1.726</td>
<td>1</td>
<td></td>
<td></td>
<td>0.064</td>
<td>9</td>
</tr>
<tr>
<td>7</td>
<td>2.96</td>
<td>1</td>
<td>2.22</td>
<td>4</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.16</td>
<td>131</td>
</tr>
<tr>
<td>8</td>
<td>2.96</td>
<td>1</td>
<td>2.25</td>
<td>1</td>
<td>2.22</td>
<td>3</td>
<td></td>
<td></td>
<td>0.13</td>
<td>1</td>
</tr>
<tr>
<td>9</td>
<td>2.96</td>
<td>1</td>
<td>2.25</td>
<td>2</td>
<td>2.22</td>
<td>2</td>
<td></td>
<td></td>
<td>0.1</td>
<td>8</td>
</tr>
<tr>
<td>10</td>
<td>2.96</td>
<td>1</td>
<td>2.25</td>
<td>4</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.04</td>
<td>1</td>
</tr>
<tr>
<td>11</td>
<td>2.96</td>
<td>4</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.16</td>
<td>182</td>
</tr>
<tr>
<td>12</td>
<td>3.165</td>
<td>1</td>
<td>2.22</td>
<td>3</td>
<td>2.146</td>
<td>1</td>
<td></td>
<td></td>
<td>0.029</td>
<td>28</td>
</tr>
<tr>
<td>13</td>
<td>3.165</td>
<td>2</td>
<td>2.96</td>
<td>1</td>
<td>2.67</td>
<td>1</td>
<td></td>
<td></td>
<td>0.04</td>
<td>1</td>
</tr>
<tr>
<td>14</td>
<td>5.684</td>
<td>1</td>
<td>2.22</td>
<td>1</td>
<td>2.146</td>
<td>1</td>
<td>1.946</td>
<td>1</td>
<td>0.004</td>
<td>16</td>
</tr>
<tr>
<td>15</td>
<td>5.722</td>
<td>1</td>
<td>2.565</td>
<td>1</td>
<td>2.22</td>
<td>1</td>
<td>1.44</td>
<td>1</td>
<td>0.053</td>
<td>1</td>
</tr>
<tr>
<td>16</td>
<td>5.722</td>
<td>1</td>
<td>2.59</td>
<td>1</td>
<td>2.22</td>
<td>1</td>
<td>1.44</td>
<td>1</td>
<td>0.028</td>
<td>1</td>
</tr>
<tr>
<td>17</td>
<td>5.73</td>
<td>1</td>
<td>2.22</td>
<td>2</td>
<td>1.726</td>
<td>1</td>
<td></td>
<td></td>
<td>0.104</td>
<td>13</td>
</tr>
<tr>
<td>18</td>
<td>5.73</td>
<td>1</td>
<td>2.565</td>
<td>1</td>
<td>2.22</td>
<td>1</td>
<td>1.44</td>
<td>1</td>
<td>0.045</td>
<td>7</td>
</tr>
<tr>
<td>19</td>
<td>5.73</td>
<td>1</td>
<td>2.67</td>
<td>1</td>
<td>2.146</td>
<td>1</td>
<td>1.44</td>
<td>1</td>
<td>0.014</td>
<td>1</td>
</tr>
<tr>
<td>20</td>
<td>5.82</td>
<td>1</td>
<td>2.22</td>
<td>2</td>
<td>1.726</td>
<td>1</td>
<td></td>
<td></td>
<td>0.014</td>
<td>18</td>
</tr>
<tr>
<td>21</td>
<td>6.05</td>
<td>1</td>
<td>2.96</td>
<td>2</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.03</td>
<td>21</td>
</tr>
<tr>
<td>22</td>
<td>6.56</td>
<td>1</td>
<td>1.946</td>
<td>1</td>
<td>1.726</td>
<td>2</td>
<td></td>
<td></td>
<td>0.042</td>
<td>12</td>
</tr>
<tr>
<td>23</td>
<td>6.56</td>
<td>1</td>
<td>3.165</td>
<td>1</td>
<td>2.22</td>
<td>1</td>
<td></td>
<td></td>
<td>0.055</td>
<td>4</td>
</tr>
<tr>
<td>24</td>
<td>7.66</td>
<td>1</td>
<td>2.146</td>
<td>2</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.048</td>
<td>8</td>
</tr>
<tr>
<td>25</td>
<td>8.14</td>
<td>1</td>
<td>2.22</td>
<td>1</td>
<td>1.44</td>
<td>1</td>
<td></td>
<td></td>
<td>0.2</td>
<td>8</td>
</tr>
<tr>
<td>26</td>
<td>9.36</td>
<td>1</td>
<td>2.59</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.05</td>
<td>4</td>
</tr>
<tr>
<td>27</td>
<td>9.888</td>
<td>1</td>
<td>1.946</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.166</td>
<td>2</td>
</tr>
<tr>
<td>28</td>
<td>10.772</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>1.228</td>
<td>2</td>
</tr>
<tr>
<td colspan="4">Total</td>
<td colspan="8">Raw materials used: 539. Material loss rate: 1.094%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The test calculations revealed that the integer linear programming algorithm could obtain the global optimal solution for small-scale optimization problems. To determine the global optimal solution, it is necessary to enumerate all possible cutting solutions. Thus, the number of cutting plans is equal to the dimensions of the corresponding mathematical model. Numerous blanking options for large-scale optimization problems lead to several mathematical models. The algorithm cannot be solved in polynomial time. Therefore, one of the problems to be solved is how to ensure the calculation effect of the integer programming algorithm as much as possible, while considering the calculation efficiency.</p>
</sec>
<sec id="s2_3_2">
<label>2.3.2</label>
<title>Algorithm Improvement</title>
<p>The cutting-stock problem is an NP problem. It has been shown [<xref ref-type="bibr" rid="ref-30">31</xref>] that no algorithm guarantees the solution of problems of different scales [<xref ref-type="bibr" rid="ref-31">32</xref>]. Approximation algorithms are more suitable for determining acceptable solutions within a reasonable time. Here, it is proposed that the problem of steel bar blanking can be solved by introducing a greedy strategy. A greedy strategy is introduced to solve this problem. Unlike integer programming calculations, this method does not need to calculate all the blanking plans. First, the current optimal blanking plan is calculated. The plan is then reused to the greatest extent, and the completed workload is removed from the engineering requirements. Finally, iteration is performed based on the updated demand cycle. An iteration comprises three parts: calculating the optimal plan, reusing the plan to the greatest extent, and updating the engineering requirements. The original problem is solved when the updated demand is empty. In each sequence, the optimal solution to the original problem is the set of optimal solutions.</p>
<p>Because the number of blanks for each blanking is limited, there is no exponential increase in the number of solutions. The optimal blanking method for each subsequence can be solved using an integer linear programming algorithm. The mathematical model is as follows:</p>
<p><disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mspace width="thinmathspace" /><mml:mrow><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">b</mml:mi><mml:mi mathvariant="italic">j</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mtext>&#xA0;</mml:mtext><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mtext>&#xA0;</mml:mtext><mml:mrow><mml:mtext>is an integer</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mi>L</mml:mi></mml:mtd><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The optimal cutting method is calculated as a subroutine of the multilevel sequential linear optimization method, which can be used repeatedly. The overall process is as follows:</p>
<p><inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Calculate the optimal cutting method.</p>
<p><inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Calculate the number of repetitions of the cutting method <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mi>M</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mo stretchy="false">[</mml:mo><mml:mfrac><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mfrac><mml:mo>,</mml:mo><mml:mfrac><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mfrac><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mfrac><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mfrac><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>.</p>
<p><inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Update the remaining engineering requirements.</p>
<p><inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: If the updated engineering requirement is empty, the calculation is completed; if it is not empty, then cycle steps <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p><inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Summarize the optimal cutting method and number of repetitions for each sequence, which is the optimal solution to the original problem.</p>
<p>Introducing a greedy strategy enables the original optimization problem to be divided into multiple sequences, and optimization calculations can be performed sequentially. In the calculation, the scale of the problem is reduced. As the scale of the problem shrinks, the advantages of the greedy strategy are reduced accordingly. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> shows the calculation of this case. The integer programming algorithm and introduction of the greedy strategy are used to compare the remaining materials of all the solutions solved by the algorithm. The figure shows that the results based on the greedy strategy are mostly better than the integer programming solution in the initial stage. However, as the data size shrinks, after the 11th solution, the disadvantages of the greedy strategy gradually become apparent. The difference between the quality of the calculation result of the greedy strategy and that of integer programming increase continuously. The main reason for this is analyzed, and the solution is based on the greedy strategy. Although it seems that the optimal solution is selected at each stage, owing to the lack of overall consideration in the early stage to improve the quality of the solution, several short embryos that can be used to fill the gap are employed. Most remaining blanks in the middle and late stages can be optimized to a low degree, resulting in the poor quality of the blanking methods calculated in the middle and later stages, and more surplus materials are generated. However, the integer linear programming algorithm calculates all possible blanking methods in the mathematical model establishment stage. In the solution, one can comprehensively consider the combination of all blanking methods, and the quality of the overall blanking method is relatively average. As shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, the integer programming algorithm uses a blanking method with a remaining material length of less than 0.2. The only solution with a residual material of 1.228 is when the longest blank is 10.772 and the shortest is 1.44 in the calculation example, which cannot be optimized further. The integer programming algorithm uses less leftover material, which ensures that the quality of the final optimization result of the algorithm is better.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Comparison of the remaining material between the two algorithms</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_21216-fig-1.png"/>
</fig>
<p>When solving large-scale problems using the greedy strategy, there are serious losses in the later stages of the calculation, as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. To consider the efficiency and quality of calculation, a new approach is proposed, combining an integer linear programming algorithm with a greedy strategy. For small-scale problems, the integer programming algorithm is used; for large-scale problems, the greedy strategy is employed first. When the problem size is reduced to a certain extent, an integer programming algorithm is used to solve the cutting problem of the remaining blanks. Finally, the two components are integrated. The phase solution results are the final result.</p>
</sec>
<sec id="s2_3_3">
<label>2.3.3</label>
<title>Critical Threshold Setting</title>
<p>An integer linear programming algorithm is used later. This can compensate for the serious loss in the later calculation of the blanking plan based on the greedy strategy design.</p>
<p>As mentioned above, the quality of the cutting method is directly related to the quality of the final calculation result of the algorithm. The calculation is based on the greedy strategy, and the loss of the scheme used in the early stage is low. The loss of the calculation scheme of this algorithm mainly occurs in the middle and later stages, such as the stage after the 14th scheme in the above calculation example. The greedy algorithm provides a solution every iteration, so the loss is serious after 14 iterations. However, the integer programming algorithm cannot be used to solve the remaining blanks directly after the 14th iteration. The reason for the serious loss is that, in the early stage, to improve the quality of the plan, several short blanks that can be used to fill the gaps are used, and most remaining blanks are in the middle and late stages. The degree of optimization is not high. Therefore, it is necessary to start using the integer linear programming algorithm to solve the problem a few rounds in advance to ensure that the short blanks are included in the blanks that must be cut at that time.</p>
<p>Through calculation, the loss gradually increases after 14 iterations. An integer programming algorithm is used after 6&#x2013;16 iterations. The raw material consumption of the steel bars is shown in <xref ref-type="table" rid="table-4">Table 4</xref>.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Calculation effect statistics under different iteration times</title>
</caption>
<table frame="hsides">
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>No. of iterations</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
<th>10</th>
<th>11</th>
<th>12</th>
<th>13</th>
<th>14</th>
<th>15</th>
<th>16</th>
</tr>
</thead>
<tbody>
<tr>
<td>No. of original rebar</td>
<td>539</td>
<td>539</td>
<td>540</td>
<td>540</td>
<td>540</td>
<td>541</td>
<td>545</td>
<td>551</td>
<td>551</td>
<td>552</td>
<td>552</td>
</tr>
<tr>
<td>Calculation time/s</td>
<td>1.593</td>
<td>1.603</td>
<td>1.624</td>
<td>1.643</td>
<td>1.611</td>
<td>1.544</td>
<td>1.564</td>
<td>1.592</td>
<td>1.649</td>
<td>1.687</td>
<td>1.727</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><xref ref-type="fig" rid="fig-2">Fig. 2</xref> shows that, after the 14th iteration, if the integer linear programming algorithm is used to solve the problem, 551 raw steel bars are used. Compared with the 552 bars of the greedy algorithm, the optimization effect is not apparent. If seven rounds in advance, after the seventh round, the integer linear programming algorithm is used to solve the problem, and only 539 are required. Consistent with the direct use of the integer programming algorithm, the global optimal solution is calculated, and the calculation efficiency is much higher than that of the integer programming algorithm.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>The influence of iteration number on optimization effect</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_21216-fig-2.png"/>
</fig>
<p>From the actual engineering, 300 groups of steel engineering data of different scales were selected. For the case wherein a cutting method with a serious loss occurs in the Nth round under a different number of advance iterations, the optimal data volume achieved in 300 sets of test data is shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. The number of early iterations concentrated in interval [<xref ref-type="bibr" rid="ref-6">7</xref>,<xref ref-type="bibr" rid="ref-20">21</xref>] has the most data, accounting for approximately 90%. Therefore, the value range of the final threshold T can be selected in interval [N&#x2212;20, N&#x2212;6]; that is, the integer linear programming algorithm is used to solve the problem after the Tth iteration, which can achieve better results.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Optimal test data statistics under different number of iterations in advance</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_21216-fig-3.png"/>
</fig>
</sec>
<sec id="s2_3_4">
<label>2.3.4</label>
<title>Algorithm Flow Setting</title>
<p>Based on the above research and considering the characteristics of steel engineering data, an optimization algorithm for steel blanking is proposed. The specific steps are as follows:</p>
<p><inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Judge the scale of the problem of rebar blanking.</p>
<p><inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: If it is a small-scale problem, directly call the integer linear programming algorithm to solve it, output the optimization result, and end the algorithm.</p>
<p><inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: If it is a large-scale problem, solve it based on a greedy strategy, and record all the cutting methods used and the number of repetitions, as well as the remaining blank length <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and the number of required roots <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> after each iteration.</p>
<p><inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Comprehensively analyze all blanking methods, screening the number of iterations N, where serious losses begin to appear.</p>
<p><inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Based on the critical threshold setting method, select an appropriate critical threshold T within the threshold interval.</p>
<p><inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Based on the remaining blank length <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and the number of demand roots <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> after the Tth iteration in <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, call the integer linear programming algorithm.</p>
<p><inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>7</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>: Base synthesis <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> on the greedy strategy to solve the blanking plan before the Tth iteration; <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> uses the integer linear programming algorithm to solve the blanking plan, which is the final blanking plan of the original steel-bar-blanking problem.</p>
<p>The specific algorithm flow chart is shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Algorithm flow</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_21216-fig-4.png"/>
</fig>
</sec>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Algorithm Example Analysis</title>
<sec id="s3_1">
<label>3.1</label>
<title>Brief Description of the Case Project</title>
<p>The newly built Beijing&#x2013;Zhangjiakou High-Speed Railway Beijing North EMU is located in the triangle enclosed by the Beijing&#x2013;Baotou Line, Huanqing Line, and Northeast Ring Line, as shown in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>. It includes related projects, such as houses behind the station, lighting, HVAC, water supply and drainage, EMU supporting facilities, road pipelines (ditches), communication information, and power. The building area is 59,712 m<sup>2</sup>, of which the building area of the six-line inspection warehouse is 29,292 m. The length is 492 m, and the width is 61.1 m.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Engineering location map</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_21216-fig-5.png"/>
</fig>
<p>For the steel bar processing, a centralized processing and distribution method was used. An intelligent centralized processing plant was built near the construction site, and building information modeling technology, computer technology, two-dimensional code technology, and other information technology were used for intelligent processing of steel bars. The number of steel bars in the project was 5764 tons. Because of space limitations, at the focus was on the material warehouse, the comprehensive building of the mechanical engineering area, and the garbage building. Steel bars with a steel bar grade of HRB400 and diameter of 25 were studied for testing.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Algorithm Application</title>
<p>(1) Engineering requirements</p>
<p>Data extraction was performed on steel bars with grade HRB400 and diameter 25 in the three monomers of the material library, the comprehensive building of the mechanical engineering area, and the garbage building.</p>
<p>The total length of steel bars shown in the design of the material library was 566.43 m, and the total weight was 2180.55 kg. The total length of the steel bars in the design of the comprehensive building in the mechanical engineering area was 4042.922 m. The total weight was 15565.25 kg. The total length of the steel bars in the design of the garbage building was 1266.689 m, and the total weight was 4876.753 kg. The total length of the steel bars in the figure was 5876.041 m, and the total weight was 22,622.758 kg. The specific requirements are presented in <xref ref-type="table" rid="table-5">Table 5</xref>.</p>
<table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>Reinforcement requirement of engineering</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Building</th>
<th>Type No.</th>
<th>Length (m)</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
<tr>
<td>Material warehouse</td>
<td>6</td>
<td>566.430</td>
<td>85</td>
</tr>
<tr>
<td>Complex building</td>
<td>93</td>
<td>4042.922</td>
<td>1220</td>
</tr>
<tr>
<td>Garbage building</td>
<td>20</td>
<td>1266.689</td>
<td>320</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>(2) Rebar cutting optimization algorithm test</p>
<p>Through the proposed optimization algorithm for steel bar blanking, the three monomers of the material warehouse, the comprehensive building of the mechanical work area, and the garbage building were cut separately. The calculation results of the blanking plan are as follows.</p>
<p>The material library used 57 steel bars with a length of 12 m. The total length was 12 &#x00D7; 57 &#x003D; 684&#x00A0;m. The total length of the billet required by the project was 566.43 m. The overall utilization rate of the steel bar raw material was 82.811%. The specific cutting plans are shown in <xref ref-type="table" rid="table-6">Table 6</xref>.</p>
<table-wrap id="table-6">
<label>Table 6</label>
<caption>
<title>Cutting plan for material warehouse</title>
</caption>
<table frame="hsides">
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>No.</th>
<th><inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th>Remaining length</th>
<th>No. of rebar</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>4.127</td>
<td>2</td>
<td>2.088</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>1.658</td>
<td>4</td>
</tr>
<tr>
<td>2</td>
<td>8.606</td>
<td>1</td>
<td>2.088</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>1.306</td>
<td>19</td>
</tr>
<tr>
<td>3</td>
<td>8.606</td>
<td>1</td>
<td>2.963</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.431</td>
<td>8</td>
</tr>
<tr>
<td>4</td>
<td>8.606</td>
<td>1</td>
<td>3.252</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.142</td>
<td>8</td>
</tr>
<tr>
<td>5</td>
<td>9.21</td>
<td>1</td>
<td>2.088</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.702</td>
<td>18</td>
</tr>
<tr>
<td align="center" colspan="3">Total</td>
<td align="center" colspan="10">No. of steel bars used: 57, Loss rate:17.189%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The comprehensive building of the mechanical engineering zone used 342 steel bars with a length of 12 m. The total length was 12 &#x00D7; 342 &#x003D; 4104 m. The total length of the billet required by the project was 4042.922 m. The overall utilization rate of the steel bar raw material was 98.512%. A part of the blanking plan is shown in <xref ref-type="table" rid="table-7">Table 7</xref>.</p>
<table-wrap id="table-7">
<label>Table 7</label>
<caption>
<title>Cutting plan of comprehensive building in mechanical work area</title>
</caption>
<table frame="hsides">
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>No.</th>
<th><inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th>Remaining length</th>
<th>No. of rebar</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>3.2</td>
<td>1</td>
<td>3.135</td>
<td>1</td>
<td>3.101</td>
<td>1</td>
<td>2.326</td>
<td>1</td>
<td>0.238</td>
<td>1</td>
<td>0</td>
<td>2</td>
</tr>
<tr>
<td>2</td>
<td>2.237</td>
<td>1</td>
<td>1.402</td>
<td>1</td>
<td>1.047</td>
<td>7</td>
<td>0.172</td>
<td>6</td>
<td></td>
<td></td>
<td>0</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>2.33</td>
<td>1</td>
<td>1.402</td>
<td>2</td>
<td>1.113</td>
<td>3</td>
<td>1.068</td>
<td>2</td>
<td>1.047</td>
<td>1</td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td>4</td>
<td>2.522</td>
<td>3</td>
<td>2.327</td>
<td>1</td>
<td>1.935</td>
<td>1</td>
<td>0.172</td>
<td>1</td>
<td></td>
<td></td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td>5</td>
<td>2.33</td>
<td>1</td>
<td>2.325</td>
<td>1</td>
<td>2.11</td>
<td>2</td>
<td>1.935</td>
<td>1</td>
<td>0.238</td>
<td>5</td>
<td>0</td>
<td>2</td>
</tr>
<tr>
<td>6</td>
<td>4.08</td>
<td>1</td>
<td>1.943</td>
<td>1</td>
<td>1.935</td>
<td>3</td>
<td>0.172</td>
<td>1</td>
<td></td>
<td></td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td>7</td>
<td>2.81</td>
<td>2</td>
<td>2.585</td>
<td>1</td>
<td>2.51</td>
<td>1</td>
<td>1.113</td>
<td>1</td>
<td>0.172</td>
<td>1</td>
<td>0</td>
<td>2</td>
</tr>
<tr>
<td>8</td>
<td>3.002</td>
<td>1</td>
<td>2.81</td>
<td>1</td>
<td>2.505</td>
<td>1</td>
<td>1.113</td>
<td>1</td>
<td>1.047</td>
<td>2</td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td>9</td>
<td>3.155</td>
<td>3</td>
<td>2.535</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0</td>
<td>5</td>
</tr>
<tr>
<td>10</td>
<td>3.235</td>
<td>1</td>
<td>2.605</td>
<td>1</td>
<td>1.935</td>
<td>1</td>
<td>1.71</td>
<td>1</td>
<td>1.468</td>
<td>1</td>
<td>0</td>
<td>3</td>
</tr>
<tr>
<td colspan="13" align="center">&#x2026;<sup>1</sup></td>
</tr>
<tr>
<td>87</td>
<td>8.1</td>
<td>1</td>
<td>3.208</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.692</td>
<td>1</td>
</tr>
<tr>
<td>88</td>
<td>8.1</td>
<td>1</td>
<td>3.38</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.52</td>
<td>3</td>
</tr>
<tr>
<td>89</td>
<td>8.455</td>
<td>1</td>
<td>3.235</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.31</td>
<td>6</td>
</tr>
<tr>
<td>90</td>
<td>10.21</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>1.79</td>
<td>2</td>
</tr>
<tr>
<td>91</td>
<td>10.26</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>1.74</td>
<td>2</td>
</tr>
<tr>
<td>92</td>
<td>11.217</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.783</td>
<td>2</td>
</tr>
<tr>
<td>93</td>
<td>11.241</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.759</td>
<td>1</td>
</tr>
<tr>
<td colspan="3" align="center">Total</td>
<td colspan="10" align="center">No. of steel bars used: 342, Loss rate: 1.488%</td>
</tr>
</tbody>
</table>
<table-wrap-foot><p>Note: <sup>1</sup>Part of the plan omitted due to space limitation. See the appendix for detailed calculation results.</p></table-wrap-foot>
</table-wrap>
<p>The garbage building used 107 12-m steel bars. The total length was 12 &#x00D7; 107 &#x003D; 1284 m. The total length of the billet required by the project was equal to the total design length of 1266.689 m. The overall utilization rate of the steel bar raw materials was 98.652%. The specific blanking plans are shown in <xref ref-type="table" rid="table-8">Table 8</xref>.</p>
<table-wrap id="table-8">
<label>Table 8</label>
<caption>
<title>Cutting plan for garbage building</title>
</caption>
<table frame="hsides">
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>No.</th>
<th><inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th>Remaining length</th>
<th>No. of rebar</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>3.143</td>
<td>1</td>
<td>2.94</td>
<td>3</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.037</td>
<td>3</td>
</tr>
<tr>
<td>2</td>
<td>3.143</td>
<td>2</td>
<td>2.94</td>
<td>1</td>
<td>2.67</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.104</td>
<td>8</td>
</tr>
<tr>
<td>3</td>
<td>3.948</td>
<td>3</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.156</td>
<td>1</td>
</tr>
<tr>
<td>4</td>
<td>4.702</td>
<td>1</td>
<td>2.67</td>
<td>2</td>
<td>1.795</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.163</td>
<td>9</td>
</tr>
<tr>
<td>5</td>
<td>4.702</td>
<td>1</td>
<td>3.815</td>
<td>1</td>
<td>3.143</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.34</td>
<td>1</td>
</tr>
<tr>
<td>6</td>
<td>4.702</td>
<td>1</td>
<td>4.2</td>
<td>1</td>
<td>2.94</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.158</td>
<td>4</td>
</tr>
<tr>
<td colspan="14" align="center">&#x2026;<sup>1</sup></td>
</tr>
<tr>
<td>17</td>
<td>5.9</td>
<td>1</td>
<td>3.143</td>
<td>1</td>
<td>2.94</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.017</td>
<td>8</td>
</tr>
<tr>
<td>18</td>
<td>6.373</td>
<td>1</td>
<td>3.815</td>
<td>1</td>
<td>1.795</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.017</td>
<td>2</td>
</tr>
<tr>
<td>19</td>
<td>6.373</td>
<td>1</td>
<td>5.577</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.05</td>
<td>18</td>
</tr>
<tr>
<td>20</td>
<td>9.21</td>
<td>1</td>
<td>2.67</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.12</td>
<td>10</td>
</tr>
<tr>
<td>21</td>
<td>9.62</td>
<td>1</td>
<td>1.795</td>
<td>1</td>
<td>0.35</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.235</td>
<td>6</td>
</tr>
<tr>
<td>22</td>
<td>9.62</td>
<td>1</td>
<td>2.065</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.315</td>
<td>2</td>
</tr>
<tr>
<td colspan="3" align="center">Total</td>
<td colspan="11" align="center">No. of steel bars used: 107, Loss rate: 1.348%</td>
</tr>
</tbody>
</table>
<table-wrap-foot><p>Note: <sup>1</sup>Part of the plan omitted due to space limitation. See the appendix for detailed calculation results.</p></table-wrap-foot>
</table-wrap>
<p>If the three monomers were comprehensively cut, 494 raw materials with a length of 12 m were used. The total length was 12 &#x00D7; 494 &#x003D; 5928 m. The total length of the billet required by the project was equal to the total design length of 5876.041 m. The overall utilization rate of the materials was 99.124%. A part of the blanking plan is presented in <xref ref-type="table" rid="table-9">Table 9</xref>.</p>
<table-wrap id="table-9">
<label>Table 9</label>
<caption>
<title>Comprehensive cutting plan</title>
</caption>
<table frame="hsides">
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>No.</th>
<th><inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></th>
<th>Remaining length</th>
<th>No. of rebar</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>3.188</td>
<td>2</td>
<td>2.343</td>
<td>1</td>
<td>1.468</td>
<td>1</td>
<td>1.113</td>
<td>1</td>
<td>0.35</td>
<td>2</td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>2.94</td>
<td>1</td>
<td>2.67</td>
<td>3</td>
<td>0.35</td>
<td>3</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td>3</td>
<td>2.33</td>
<td>2</td>
<td>1.468</td>
<td>5</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0</td>
<td>2</td>
</tr>
<tr>
<td>4</td>
<td>4.6</td>
<td>1</td>
<td>2.238</td>
<td>1</td>
<td>1.468</td>
<td>2</td>
<td>1.113</td>
<td>2</td>
<td></td>
<td></td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td>5</td>
<td>1.402</td>
<td>3</td>
<td>1.068</td>
<td>2</td>
<td>0.35</td>
<td>4</td>
<td>0.238</td>
<td>15</td>
<td>0.172</td>
<td>4</td>
<td>0</td>
<td>1</td>
</tr>
<tr>
<td colspan="13" align="center">&#x2026;<sup>1</sup></td>
</tr>
<tr>
<td>124</td>
<td>9.21</td>
<td>1</td>
<td>2.67</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.12</td>
<td>8</td>
</tr>
<tr>
<td>125</td>
<td>9.62</td>
<td>1</td>
<td>2.11</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.27</td>
<td>1</td>
</tr>
<tr>
<td>126</td>
<td>9.62</td>
<td>1</td>
<td>2.329</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.051</td>
<td>7</td>
</tr>
<tr>
<td>127</td>
<td>10.21</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>1.79</td>
<td>2</td>
</tr>
<tr>
<td>128</td>
<td>10.26</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>1.74</td>
<td>2</td>
</tr>
<tr>
<td>129</td>
<td>11.217</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.783</td>
<td>2</td>
</tr>
<tr>
<td>130</td>
<td>11.241</td>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>0.759</td>
<td>1</td>
</tr>
<tr>
<td colspan="5" align="center">Total</td>
<td colspan="8" align="center">No. of steel bars used: 494, Loss rate: 0.876%</td>
</tr>
</tbody>
</table>
<table-wrap-foot><p>Note: <sup>1</sup>Part of the plan omitted due to space limitation. See the appendix for detailed calculation results.</p></table-wrap-foot>
</table-wrap>
<p>For the three monomers, the results of the calculation of the cutting plan and comprehensive cutting are shown in <xref ref-type="table" rid="table-10">Table 10</xref>.</p>
<table-wrap id="table-10">
<label>Table 10</label>
<caption>
<title>Cutting plan results statistics</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Description</th>
<th>Unit</th>
<th>Material warehouse</th>
<th>Complex building</th>
<th>Garbage building</th>
<th>SUM</th>
<th>Comprehensive cutting</th>
</tr>
</thead>
<tbody>
<tr>
<td>Design length</td>
<td>m</td>
<td>566.43</td>
<td>4042.922</td>
<td>1266.689</td>
<td>5876.041</td>
<td>5876.041</td>
</tr>
<tr>
<td>Design weight</td>
<td>kg</td>
<td>2180.755</td>
<td>15565.25</td>
<td>4876.753</td>
<td>22622.758</td>
<td>22622.758</td>
</tr>
<tr>
<td>Usage amount</td>
<td>/</td>
<td>57</td>
<td>342</td>
<td>107</td>
<td>506</td>
<td>494</td>
</tr>
<tr>
<td>Used length</td>
<td>m</td>
<td>684</td>
<td>4104</td>
<td>1284</td>
<td>6072</td>
<td>5928</td>
</tr>
<tr>
<td>Used weight</td>
<td>kg</td>
<td>2633.4</td>
<td>15800.4</td>
<td>4943.4</td>
<td>23377.2</td>
<td>22822.8</td>
</tr>
<tr>
<td>Utilization rate</td>
<td>%</td>
<td>82.811%</td>
<td>98.512%</td>
<td>98.652%</td>
<td>96.773%</td>
<td>99.124%</td>
</tr>
<tr>
<td>Loss rate</td>
<td>%</td>
<td>17.189%</td>
<td>1.488%</td>
<td>1.348%</td>
<td>3.227%</td>
<td>0.876%</td>
</tr>
<tr>
<td>Calculation time</td>
<td>s</td>
<td>0.861</td>
<td>2.465</td>
<td>1.058</td>
<td>4.384</td>
<td>3.196</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>(3) Analysis of calculation results</p>
<p>Different scales are formed by different combinations. The calculation results are also different. The three projects were individually tailored. To complete the three projects, 506 raw steel bars were required, and the corresponding material loss rate was 3.227%. Compared with the loss rate of approximately 10% of traditional steel bar dispersion processing, the 3.227% loss rate was largely optimized. However, comprehensive tailoring was performed for the data of the three individual projects. The corresponding material loss rate was reduced to 0.876% when using 494 steel bars. These data show that, as the scale of the project increases, the calculation quality of the optimization algorithm for steel bar blanking proposed also increases, while maintaining high calculation efficiency. Overall, the algorithm proposed has a good effect on the optimization of large-scale data.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Conclusions</title>
<p>The characteristics of steel engineering data were analyzed comprehensively. An optimization algorithm for steel bar blanking that considers both calculation and calculation efficiency was designed. By using the algorithm influence factors, problems, constants, and variables were defined, and appropriate cutting method calculation methods were set. The integer linear programming algorithm and linear optimization algorithm with a greedy strategy were adopted to solve the problem. To improve the performance of the two algorithms under different data backgrounds, ideas for an optimization algorithm for steel bar cutting were proposed. Based on the number of iterations of the sudden change in loss, the appropriate critical threshold was determined, and the calculation of the steel-bar-blanking plan was divided into two stages. The first stage was solved using the linear optimization method with the greedy algorithm, while reducing the problem scale. The integer programming algorithm was used for subsequent calculations when the number of iterations reached the threshold. A case study involving engineering tests showed that the proposed algorithm is both optimized and time sensitive. It outperforms a single traditional optimization algorithm and is highly applicable to the problem of steel bar cutting.</p>
</sec>
</body>
<back>
<ack>
<p>The authors thank China Railway Seventh Group Co., Ltd. for providing the rebar data of the case project to verify the algorithms.</p>
</ack>
<fn-group>
<fn fn-type="other"><p><bold>Funding Statement:</bold> This research was funded by Nature Science Foundation of China (51878556), the Key Scientific Research Projects of Shaanxi Provincial Department of Education (20JY049), Key Research and Development Program of Shaanxi Province (2019TD-014) and State Key Laboratory of Rail Transit Engineering Informatization (FSDI) (SKLKZ21-03).</p>
</fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>1.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lu</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Tam</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Du</surname>, <given-names>L.</given-names></string-name></person-group> (<year>2020</year>). <article-title>A holistic review of research on carbon emissions of green building construction industry</article-title>. <source>Engineering Construction and Architectural Management</source><italic>,</italic> <volume>27</volume><italic>(</italic><issue>5</issue><italic>),</italic> <fpage>1065</fpage>&#x2013;<lpage>1092</lpage>. DOI <pub-id pub-id-type="doi">10.1108/ECAM-06-2019-0283</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>2.</label><mixed-citation publication-type="other"><person-group person-group-type="author"><collab>International Energy Agency, the United Nations Environment Programme</collab></person-group> (<year>2018</year>). <article-title>2018 Global Status Report: Towards a Zero-Emission, Efficient and Resilient Buildings and Construction Sector</article-title>. <uri>https://www.worldgbc.org/</uri>.</mixed-citation></ref>
<ref id="ref-3"><label>3.</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Pacheco-Torgal</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Cabeza</surname>, <given-names>L. F.</given-names></string-name>, <string-name><surname>Labrincha</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Magalhaes</surname>, <given-names>A. D.</given-names></string-name></person-group> (<year>2014</year>). <source>Eco-efficient construction and building materials (Life Cycle Assessment (LCA), Eco-Labelling and Case Studies)</source>. <publisher-loc>UK</publisher-loc>: <publisher-name>Woodhead Publishing</publisher-name>.</mixed-citation></ref>
<ref id="ref-4"><label>4.</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Clark</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Bradley</surname>, <given-names>D.</given-names></string-name></person-group> (<year>2013</year>). <source>Embodied carbon of steel versus concrete buildings</source>. <publisher-loc>UK</publisher-loc>: <publisher-name>Cundall Johnston and Partners LLP</publisher-name>.</mixed-citation></ref>
<ref id="ref-5"><label>5.</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Lee</surname>, <given-names>I. J.</given-names></string-name>, <string-name><surname>Yu</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Chan</surname>, <given-names>S. L.</given-names></string-name></person-group> (<year>2016</year>). <article-title>Carbon Footprint of Steel-Composite and Reinforced Concrete Buildings</article-title>. <uri xlink:href=">https://www.devb.gov.hk/filemanager/en/content_971/7_Carbon_Footprint_for_Steel_Composite_and_Reinforced_Concrete_Buildings.pdf">https://www.devb.gov.hk/filemanager/en/content_971/7_Carbon_Footprint_for_Steel_Composite_and_Reinforced_Concrete_Buildings.pdf</uri>.</mixed-citation></ref>
<ref id="ref-51"><label>6.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Begum</surname>, <given-names>R. A.</given-names></string-name>, <string-name><surname>Siwar</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Pereira</surname>, <given-names>J. J.</given-names></string-name>, <string-name><surname>Jaafar</surname>, <given-names>A. H.</given-names></string-name></person-group> (<year>2006</year>). <article-title>A benefit&#x2013;cost analysis on the economic feasibility of construction waste minimisation: the case of malaysia-sciencedirect</article-title>. <source>Resources, Conservation and Recycling</source><italic>,</italic> <volume>48</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>86</fpage>&#x2013;<lpage>98</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.resconrec.2006.01.004</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>7.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kim</surname>, <given-names>S. K.</given-names></string-name>, <string-name><surname>Hong</surname>, <given-names>W. K.</given-names></string-name>, <string-name><surname>Joo</surname>, <given-names>J. K.</given-names></string-name></person-group> (<year>2004</year>). <article-title>Algorithms for reducing the waste rate of reinforcement bars</article-title>. <source>Journal of Asian Architecture and Building Engineering</source><italic>,</italic> <volume>3</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>17</fpage>&#x2013;<lpage>23</lpage>. DOI <pub-id pub-id-type="doi">10.3130/jaabe.3.17</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>8.</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Kim</surname>, <given-names>G. H.</given-names></string-name></person-group> (<year>2002</year>). <source>A study on program of minimizing the loss of re-bar (Master Thesis)</source>. <publisher-loc>Seoul, Korea</publisher-loc>: <publisher-name>Korea University</publisher-name>.</mixed-citation></ref>
<ref id="ref-8"><label>9.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Porwal</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Hewage</surname>, <given-names>K. N.</given-names></string-name></person-group> (<year>2012</year>). <article-title>Building information modeling-based analysis to minimize waste rate of structural reinforcement</article-title>. <source>Journal of Construction Engineering &#x0026; Management</source><italic>,</italic> <volume>138</volume><italic>(</italic><issue>8</issue><italic>),</italic> <fpage>943</fpage>&#x2013;<lpage>954</lpage>. DOI <pub-id pub-id-type="doi">10.1061/(ASCE)CO.1943-7862.0000508</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>10.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nanagiri</surname>, <given-names>Y. V.</given-names></string-name>, <string-name><surname>Singh</surname>, <given-names>R. K.</given-names></string-name></person-group> (<year>2015</year>). <article-title>Reduction of wastage of REBAR by using BIM and linear programming</article-title>. <source>International Journal of Technology</source><italic>,</italic> <volume>5</volume><issue>(2)</issue><italic>,</italic> <fpage>329</fpage>&#x2013;<lpage>334</lpage>. DOI <pub-id pub-id-type="doi">10.5958/2231-3915.2015.00043.7</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>11.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Nadoushani</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Hammad</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Akbar Nezhad</surname>, <given-names>A.</given-names></string-name></person-group> (<year>2016</year>). <article-title>A framework for optimizing lap splice positions within concrete elements to minimize cutting waste of steel bars</article-title>. <conf-name>Proceedings of the 33th International Symposium on Automation and Robotics in Construction (ISARC 2016)</conf-name>, pp. <fpage>1</fpage>&#x2013;<lpage>7</lpage>. <publisher-loc>Auburn, AL, USA</publisher-loc>.</mixed-citation></ref>
<ref id="ref-11"><label>12.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zheng</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Yi</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Lu</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2019</year>). <article-title>Integrated optimization of rebar detailing design and installation planning for waste reduction and productivity improvement</article-title>. <source>Automation in Construction</source><italic>,</italic> <volume>101</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>32</fpage>&#x2013;<lpage>47</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.autcon.2019.01.012</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>13.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nigussie</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Chandrasekar</surname>, <given-names>M. K.</given-names></string-name></person-group> (<year>2020</year>). <article-title>Influence of rebar practice in the total cost of building construction projects: The case of Hawassa city, Ethiopia</article-title>. <source>International Journal of Engineering, Science and Technology</source><italic>,</italic> <volume>12</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>54</fpage>&#x2013;<lpage>65</lpage>. DOI <pub-id pub-id-type="doi">10.4314/ijest.v12i1.5</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>14.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nadoushani</surname>, <given-names>Z. S. M.</given-names></string-name>, <string-name><surname>Hammad</surname>, <given-names>A. W.</given-names></string-name>, <string-name><surname>Xiao</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Akbarnezhad</surname>, <given-names>A.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Minimizing cutting wastes of reinforcing steel bars through optimizing lap splicing within reinforced concrete elements</article-title>. <source>Construction and Building Materials</source><italic>,</italic> <volume>185</volume><italic>(</italic><issue>10</issue><italic>),</italic> <fpage>600</fpage>&#x2013;<lpage>608</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.conbuildmat.2018.07.023</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>15.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kwon</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2021</year>). <article-title>Cutting waste minimization of rebar for sustainable structural work: A systematic literature review</article-title>. <source>Sustainability</source><italic>,</italic> <volume>13</volume><italic>(</italic><issue>11</issue><italic>),</italic> <fpage>5929</fpage>. DOI <pub-id pub-id-type="doi">10.3390/su13115929</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>16.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gilmore</surname>, <given-names>P. C.</given-names></string-name>, <string-name><surname>Gomory</surname>, <given-names>R. E.</given-names></string-name></person-group> (<year>1961</year>). <article-title>A linear programming approach to the cutting-stock problem</article-title>. <source>Operations Research</source><italic>,</italic> <volume>9</volume><italic>(</italic><issue>6</issue><italic>),</italic> <fpage>849</fpage>&#x2013;<lpage>859</lpage>. DOI <pub-id pub-id-type="doi">10.1287/opre.9.6.849</pub-id>.</mixed-citation></ref>
<ref id="ref-16"><label>17.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gilmore</surname>, <given-names>P. C.</given-names></string-name>, <string-name><surname>Gomory</surname>, <given-names>R. E.</given-names></string-name></person-group> (<year>1963</year>). <article-title>A linear programming approach to the cutting stock problem&#x2014;Part II</article-title>. <source>Operations Research</source><italic>,</italic> <volume>11</volume><italic>(</italic><issue>6</issue><italic>),</italic> <fpage>863</fpage>&#x2013;<lpage>888</lpage>. DOI <pub-id pub-id-type="doi">10.1287/opre.11.6.863</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>18.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gilmore</surname>, <given-names>P. C.</given-names></string-name>, <string-name><surname>Gomory</surname>, <given-names>R. E.</given-names></string-name></person-group> (<year>1965</year>). <article-title>Multistage cutting stock problems of two and more dimensions</article-title>. <source>Operations Research</source><italic>,</italic> <volume>13</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>94</fpage>&#x2013;<lpage>120</lpage>. DOI <pub-id pub-id-type="doi">10.1287/opre.13.1.94</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>19.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Haessler</surname>, <given-names>R. W.</given-names></string-name></person-group> (<year>1971</year>). <article-title>Application series II a heuristic programming solution to a nonlinear cutting stock problem</article-title>. <source>Management Science</source><italic>,</italic> <volume>17</volume><italic>(</italic><issue>12</issue><italic>),</italic> <fpage>793</fpage>&#x2013;<lpage>802</lpage>. DOI <pub-id pub-id-type="doi">10.1287/mnsc.17.12.B793</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>20.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Haessler</surname>, <given-names>R. W.</given-names></string-name></person-group> (<year>1975</year>). <article-title>Controlling cutting pattern changes in one-dimensional trim problems</article-title>. <source>Operations Research</source><italic>,</italic> <volume>23</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>483</fpage>&#x2013;<lpage>493</lpage>. DOI <pub-id pub-id-type="doi">10.1287/opre.23.3.483</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>21.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Haessler</surname>, <given-names>R. W.</given-names></string-name>, <string-name><surname>Sweeney</surname>, <given-names>P. E.</given-names></string-name></person-group> (<year>1991</year>). <article-title>Cutting stock problems and solution procedures</article-title>. <source>European Journal of Operational Research</source><italic>,</italic> <volume>54</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>141</fpage>&#x2013;<lpage>150</lpage>. DOI <pub-id pub-id-type="doi">10.1016/0377-2217(91)90293-5</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>22.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wagner</surname>, <given-names>B. J.</given-names></string-name></person-group> (<year>1999</year>). <article-title>A genetic algorithm solution for one-dimensional bundled stock cutting</article-title>. <source>European Journal of Operational Research</source><italic>,</italic> <volume>117</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>368</fpage>&#x2013;<lpage>381</lpage>. DOI <pub-id pub-id-type="doi">10.1016/S0377-2217(98)00244-6</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>23.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yang</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Sung</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Weng</surname>, <given-names>W.</given-names></string-name></person-group> (<year>2006</year>). <article-title>An improved tabu search approach with mixed objective function for one-dimensional cutting stock problems</article-title>. <source>Advances in Engineering Software</source><italic>,</italic> <volume>37</volume><italic>(</italic><issue>8</issue><italic>),</italic> <fpage>502</fpage>&#x2013;<lpage>513</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.advengsoft.2006.01.005</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>24.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Araujo</surname>, <given-names>S. A.</given-names></string-name>, <string-name><surname>Constantino</surname>, <given-names>A. A.</given-names></string-name>, <string-name><surname>Poldi</surname>, <given-names>K. C.</given-names></string-name></person-group> (<year>2011</year>). <article-title>An evolutionary algorithm for the one-dimensional cutting stock problem</article-title>. <source>International Transactions in Operational Research</source><italic>,</italic> <volume>18</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>115</fpage>&#x2013;<lpage>127</lpage>. DOI <pub-id pub-id-type="doi">10.1111/j.1475-3995.2009.00760.x</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>25.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Jahromi</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Tavakkoli-Moghaddam</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Makui</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Shamsi</surname>, <given-names>A.</given-names></string-name></person-group> (<year>2012</year>). <article-title>Solving an one-dimensional cutting stock problem by simulated annealing and tabu search</article-title>. <source>Journal of Industrial Engineering International</source><italic>,</italic> <volume>8</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>1</fpage>&#x2013;<lpage>8</lpage>. DOI <pub-id pub-id-type="doi">10.1186/2251-712X-8-24</pub-id>.</mixed-citation></ref>
<ref id="ref-25"><label>26.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Cui</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2012</year>). <article-title>A cam system for one-dimensional stock cutting</article-title>. <source>Advances in Engineering Software</source><italic>,</italic> <volume>47</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>7</fpage>&#x2013;<lpage>16</lpage>. DOI <pub-id pub-id-type="doi">10.1016/j.advengsoft.2011.12.004</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>27.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gracia</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Carlos</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Gracia</surname>, <given-names>L.</given-names></string-name></person-group> (<year>2013</year>). <article-title>A hybrid approach based on genetic algorithms to solve the problem of cutting structural beams in a metalwork company</article-title>. <source>Journal of Heuristics</source><italic>,</italic> <volume>19</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>253</fpage>&#x2013;<lpage>273</lpage>. DOI <pub-id pub-id-type="doi">10.1007/s10732-011-9187-x</pub-id>.</mixed-citation></ref>
<ref id="ref-27"><label>28.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nereu</surname>, <given-names>A. M.</given-names></string-name>, <string-name><surname>Cristina</surname>, <given-names>C. A.</given-names></string-name>, <string-name><surname>Do</surname>, <given-names>N. D. N.</given-names></string-name>, <string-name><surname>Vianna</surname>, <given-names>A.</given-names></string-name></person-group> (<year>2015</year>). <article-title>A new mathematical model for the cutting stock/leftover problem</article-title>. <source>Pesquisa Operacional</source><italic>,</italic> <volume>35</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>509</fpage>&#x2013;<lpage>522</lpage>. DOI <pub-id pub-id-type="doi">10.1590/0101-7438.2015.035.03.0509</pub-id>.</mixed-citation></ref>
<ref id="ref-28"><label>29.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Poldi</surname>, <given-names>K. C.</given-names></string-name>, <string-name><surname>Araujo</surname>, <given-names>S. D.</given-names></string-name></person-group> (<year>2016</year>). <article-title>Mathematical models and a heuristic method for the multiperiod one-dimensional cutting stock problem</article-title>. <source>Annals of Operations Research</source><italic>,</italic> <volume>238</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>497</fpage>&#x2013;<lpage>520</lpage>. DOI <pub-id pub-id-type="doi">10.1007/s10479-015-2103-2</pub-id>.</mixed-citation></ref>
<ref id="ref-29"><label>30.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Behera</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>H. Z.</given-names></string-name>, <string-name><surname>Chakraverty</surname>, <given-names>S.</given-names></string-name></person-group> (<year>2015</year>). <article-title>Solution of fully fuzzy system of linear equations by linear programming approach</article-title>. <source>Computer Modeling in Engineering &#x0026; Sciences</source><italic>,</italic> <volume>108</volume><italic>(</italic><issue>2</issue><italic>),</italic> <fpage>67</fpage>&#x2013;<lpage>87</lpage>. DOI <pub-id pub-id-type="doi">10.3970/cmes.2015.108.067</pub-id>.</mixed-citation></ref>
<ref id="ref-30"><label>31.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gokalp</surname>, <given-names>O.</given-names></string-name></person-group> (<year>2020</year>). <article-title>An iterated greedy algorithm for the obnoxious p-median problem</article-title>. <source>Engineering Applications of Artificial Intelligence</source><italic>,</italic> <volume>92</volume><italic>(</italic><issue>11</issue><italic>),</italic> <fpage>103674</fpage>. DOI <pub-id pub-id-type="doi">10.1016/j.engappai.2020.103674</pub-id>.</mixed-citation></ref>
<ref id="ref-31"><label>32.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname>, <given-names>C. N.</given-names></string-name>, <string-name><surname>Nhieu</surname>, <given-names>N. L.</given-names></string-name>, <string-name><surname>Tran</surname>, <given-names>T.</given-names></string-name></person-group> (<year>2021</year>). <article-title>Stochastic chebyshev goal programming mixed integer linear model for sustainable global production planning</article-title>. <source>Mathematics</source><italic>,</italic> <volume>9</volume><italic>(</italic><issue>5</issue><italic>),</italic> <fpage>483</fpage>&#x2013;<lpage>505</lpage>. DOI <pub-id pub-id-type="doi">10.3390/math9050483</pub-id>.</mixed-citation></ref>
</ref-list>
<app-group>
<app id="app-1">
<title></title>
<sec id="s5">
<title/>
<p><bold>Appendix A. Example of appendix</bold></p>
<p>The calculation results of the scheme omitted in the article download and view the URL: <uri xlink:href="https://github.com/XUTMZX996/Appendix">https://github.com/XUTMZX996/Appendix</uri>.</p>
</sec>
</app>
</app-group>
</back>
</article>
