<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn>
<issn pub-type="ppub">0868-4952</issn>
<issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFOR391</article-id>
<article-id pub-id-type="doi">10.15388/20-INFOR391</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>A Complementary Column Generation Approach for the Graph Equipartition Problem</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Al-Ykoob</surname><given-names>Salem M.</given-names></name><email xlink:href="smalyakoob@gmail.com">smalyakoob@gmail.com</email><xref ref-type="aff" rid="j_infor391_aff_001">1</xref><xref ref-type="corresp" rid="cor1"/><bio>
<p><bold>S.M. Al-Yakoob</bold> is an associate professor at the Department of Mathematics, Kuwait University. His research interests include mathematical programming and optimization with applications to real world problems such as location, transportation, scheduling, and timetabling problems.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Sherali</surname><given-names>Hanif D.</given-names></name><email xlink:href="hanifs@vt.edu">hanifs@vt.edu</email><xref ref-type="aff" rid="j_infor391_aff_002">2</xref><bio>
<p><bold>H.D. Sherali</bold> is a University Distinguished Professor Emeritus at the Industrial and Systems Engineering Department, Virginia Polytechnic Institute and State University. His areas of research interest are in mathematical optimization modelling, analysis, and design of algorithms for specially structured linear, nonlinear, and continuous and discrete nonconvex programs, with applications to transportation, location, engineering and network design, production, economics, and energy systems. He has published over 351 refereed articles in various operations research journals and has (co-)authored nine books, with a total Google Scholar citation count of over 35,700 and an H-index of 75. He is an elected member of the National Academy of Engineering, a fellow of both INFORMS and IIE, and a member of the Virginia Academy of Science Engineering and Medicine.</p></bio>
</contrib>
<aff id="j_infor391_aff_001"><label>1</label>Department of Mathematics, College of Science, <institution>Kuwait University</institution>, P.O. Box 5969, Safat 13060, <country>State of Kuwait</country></aff>
<aff id="j_infor391_aff_002"><label>2</label>Grado Department of Industrial and Systems Engineering (0118), <institution>Virginia Tech</institution>, Blacksburg, VA 24061, <country>USA</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>*</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2020</year></pub-date>
<pub-date pub-type="epub"><day>23</day><month>3</month><year>2020</year></pub-date>
<volume>31</volume><issue>1</issue><fpage>1</fpage><lpage>20</lpage>
<history>
<date date-type="received"><month>5</month><year>2019</year></date>
<date date-type="accepted"><month>9</month><year>2019</year></date>
</history>
<permissions><copyright-statement>© 2020 Vilnius University</copyright-statement><copyright-year>2020</copyright-year><license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/"><license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>This paper investigates the problem of partitioning a complete weighted graph into complete subgraphs, each having the same number of vertices, with the objective of minimizing the sum of edge weights of the resulting subgraphs. This NP-complete problem arises in many applications such as assignment and scheduling-related group partitioning problems and micro-aggregation techniques. In this paper, we present a mathematical programming model and propose a complementary column generation approach to solve the resulting model. A dual based lower bounding feature is also introduced to curtail the notorious tailing-off effects often induced when using column generation methods. Computational results are presented for a wide range of test problems.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>graph partitioning</kwd>
<kwd>column generation</kwd>
<kwd>complementary column generation</kwd>
<kwd>mixed-integer programming</kwd>
</kwd-group>
<funding-group>
<award-group>
<funding-source xlink:href="https://doi.org/10.13039/501100004482">Kuwait University</funding-source>
<award-id>SM03/14</award-id>
</award-group>
<funding-statement>This work was supported by <italic>Kuwait University</italic> under Research Grant No. [SM03/14].</funding-statement>
</funding-group>
</article-meta>
</front>
<body>
<sec id="j_infor391_s_001">
<label>1</label>
<title>Introduction and Motivation</title>
<p>In this paper, we study the problem of partitioning a complete weighted graph into complete subgraphs, each having the same number of vertices, with the objective of minimizing the total edge weights of the resulting subgraphs. This problem, denoted by GPP, is formally stated in Section <xref rid="j_infor391_s_002">1.1</xref> below, and Section <xref rid="j_infor391_s_003">1.2</xref> then presents some motivating examples.</p>
<sec id="j_infor391_s_002">
<label>1.1</label>
<title>Statement of Problem GPP</title>
<p>Consider a complete-weighted graph <inline-formula id="j_infor391_ineq_001">
<alternatives><mml:math><mml:mi mathvariant="italic">G</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">E</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
G(V,E)$]]></tex-math></alternatives></inline-formula>, where <italic>V</italic> and <italic>E</italic>, respectively, denote the set of vertices and edges of the graph <italic>G</italic>. Let <inline-formula id="j_infor391_ineq_002">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
v=1,2,\dots ,|V|$]]></tex-math></alternatives></inline-formula> index the vertices of <italic>V</italic>, and for <inline-formula id="j_infor391_ineq_003">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
{v_{1}},{v_{2}}\in V$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_infor391_ineq_004">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">≠</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{v_{1}}\ne {v_{2}}$]]></tex-math></alternatives></inline-formula>, let <inline-formula id="j_infor391_ineq_005">
<alternatives><mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">E</mml:mi></mml:math><tex-math><![CDATA[$
({v_{1}},{v_{2}})\in E$]]></tex-math></alternatives></inline-formula> denote the edge joining <inline-formula id="j_infor391_ineq_006">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{v_{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor391_ineq_007">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{v_{2}}$]]></tex-math></alternatives></inline-formula> in <italic>G</italic>. Let <inline-formula id="j_infor391_ineq_008">
<alternatives><mml:math><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
w({v_{1}},{v_{2}})>0$]]></tex-math></alternatives></inline-formula> denote the weight associated with the edge <inline-formula id="j_infor391_ineq_009">
<alternatives><mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
({v_{1}},{v_{2}})$]]></tex-math></alternatives></inline-formula>. Let <inline-formula id="j_infor391_ineq_010">
<alternatives><mml:math><mml:mi mathvariant="italic">n</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
nn$]]></tex-math></alternatives></inline-formula> be a positive integer and suppose that <inline-formula id="j_infor391_ineq_011">
<alternatives><mml:math><mml:mi mathvariant="italic">α</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math><tex-math><![CDATA[$
\alpha =\frac{|V|}{n}$]]></tex-math></alternatives></inline-formula> is integer-valued. Hence, the set <italic>V</italic> can be partitioned into <italic>n</italic> subsets, each of which is composed of <italic>α</italic> vertices. Let <italic>P</italic> denote the set of all distinct subsets of <italic>V</italic>, each of which has <inline-formula id="j_infor391_ineq_012">
<alternatives><mml:math><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[$
\alpha \alpha $]]></tex-math></alternatives></inline-formula> vertices, and let <inline-formula id="j_infor391_ineq_013">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{V_{p}}$]]></tex-math></alternatives></inline-formula> denote the <italic>p</italic>th such vertex subset, <inline-formula id="j_infor391_ineq_014">
<alternatives><mml:math><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">P</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
\forall p=1,2,\dots ,|P|$]]></tex-math></alternatives></inline-formula>. An <italic>n-partition</italic> of <italic>V</italic> is a collection of <italic>n</italic> vertex subsets from <italic>P</italic>, say <inline-formula id="j_infor391_ineq_015">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{{p_{1}}}},{V^{{p_{2}}}},\dots ,{V^{{p_{n}}}}$]]></tex-math></alternatives></inline-formula>, satisfying <inline-formula id="j_infor391_ineq_016">
<alternatives><mml:math><mml:msubsup><mml:mrow><mml:mo largeop="false" movablelimits="false">⋃</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
{\textstyle\bigcup _{i=1}^{n}}{V_{{p_{i}}}}=V$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_infor391_ineq_017">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>∩</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>∅</mml:mi></mml:math><tex-math><![CDATA[$
{V_{{p_{i}}}}\cap {V_{{p_{j}}}}=\varnothing $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_018">
<alternatives><mml:math><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\forall i,j\in \{1,\dots ,n\}$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_infor391_ineq_019">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">≠</mml:mo><mml:mi mathvariant="italic">j</mml:mi></mml:math><tex-math><![CDATA[$
i\ne j$]]></tex-math></alternatives></inline-formula>. Let <italic>Q</italic> denote the set of all such <italic>n</italic>-<italic>partitions</italic>, indexed by <inline-formula id="j_infor391_ineq_020">
<alternatives><mml:math><mml:mi mathvariant="italic">q</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">Q</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
q=1,\dots ,|Q|$]]></tex-math></alternatives></inline-formula>, where the <italic>q</italic>th <italic>n</italic>-<italic>partition</italic> is given by <inline-formula id="j_infor391_ineq_021">
<alternatives><mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
\{{V_{{p_{k}}(q)}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_022">
<alternatives><mml:math><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
k=1,\dots ,n\}$]]></tex-math></alternatives></inline-formula>. For any <inline-formula id="j_infor391_ineq_023">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{V_{p}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_024">
<alternatives><mml:math><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:math><tex-math><![CDATA[$
p\in P$]]></tex-math></alternatives></inline-formula>, let <inline-formula id="j_infor391_ineq_025">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mtable equalrows="false" equalcolumns="false" columnalign="center"><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mi mathvariant="italic">j</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:msub><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{w_{p}}={\textstyle\sum _{\begin{array}{c}{v_{i}},{v_{j}}\in {V_{p}}\\ {} i<j\end{array}}}w({v_{i}},{v_{j}})$]]></tex-math></alternatives></inline-formula>, and accordingly, let <inline-formula id="j_infor391_ineq_026">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">≡</mml:mo><mml:msubsup><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{c_{q}}\equiv {\textstyle\sum _{k=1}^{n}}{w_{{p_{k}}(q)}}$]]></tex-math></alternatives></inline-formula> represent the cost of the <italic>q</italic>th <italic>n</italic>-<italic>partition</italic> for any <inline-formula id="j_infor391_ineq_027">
<alternatives><mml:math><mml:mi mathvariant="italic">q</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">Q</mml:mi></mml:math><tex-math><![CDATA[$
q\in Q$]]></tex-math></alternatives></inline-formula>. Problem GPP then seeks an <italic>n-partition</italic> <inline-formula id="j_infor391_ineq_028">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">Q</mml:mi></mml:math><tex-math><![CDATA[$
{q^{\ast }}\in Q$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_infor391_ineq_029">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{c_{{q^{\ast }}}}\leqslant {c_{q}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_030">
<alternatives><mml:math><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">q</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">Q</mml:mi></mml:math><tex-math><![CDATA[$
\forall q\in Q$]]></tex-math></alternatives></inline-formula>.</p>
</sec>
<sec id="j_infor391_s_003">
<label>1.2</label>
<title>Motivating Examples</title>
<p>We provide two motivating examples for Problem GPP, where we have used specific numbers in lieu of generic notation for the purpose of illustration. <statement id="j_infor391_stat_001"><label>Example 1.</label>
<p>Consider a firm that operates four work centres and needs to assign three employees to each centre (from a total of 12 available employees). For <inline-formula id="j_infor391_ineq_031">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>12</mml:mn></mml:math><tex-math><![CDATA[$
i=1,\dots ,12$]]></tex-math></alternatives></inline-formula>, let <inline-formula id="j_infor391_ineq_032">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{e_{i}}$]]></tex-math></alternatives></inline-formula> denote the <italic>i</italic>th employee. Each employee quantifies ranked preferences for working with the other 11 employees from the set <inline-formula id="j_infor391_ineq_033">
<alternatives><mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>11</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\{1,\dots ,11\}$]]></tex-math></alternatives></inline-formula>, where a lower number rank indicates a higher preference. We construct a complete weighted graph having 12 vertices, where vertex <inline-formula id="j_infor391_ineq_034">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{v_{i}}$]]></tex-math></alternatives></inline-formula> corresponds to employee <inline-formula id="j_infor391_ineq_035">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{e_{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_036">
<alternatives><mml:math><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>12</mml:mn></mml:math><tex-math><![CDATA[$
\forall \hspace{0.1667em}i=1,\dots ,12$]]></tex-math></alternatives></inline-formula>, and where the weight associated with the edge joining vertices <inline-formula id="j_infor391_ineq_037">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{v_{i}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor391_ineq_038">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{v_{j}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_039">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>12</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
i,j\in \{1,\dots ,12\}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_040">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">≠</mml:mo><mml:mi mathvariant="italic">j</mml:mi></mml:math><tex-math><![CDATA[$
i\ne j$]]></tex-math></alternatives></inline-formula>, represents the sum of the preferences of employees <inline-formula id="j_infor391_ineq_041">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{e_{i}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor391_ineq_042">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{e_{j}}$]]></tex-math></alternatives></inline-formula> to work with each other. The problem of interest, then, is to partition the underlying graph into four complete subgraphs, each having three vertices, so that the total weight of the resulting complete subgraphs is minimal, thereby achieving a best aggregate preference.</p></statement><statement id="j_infor391_stat_002"><label>Example 2.</label>
<p>Consider a firm having 15 business branches that seeks to assign one of the available supervisors to each cluster of five branches. Since a supervisor assigned to any given cluster needs to frequently travel between the branches within the clusters, it is desired that the sum of the distances between the branches of a given cluster should be small. This problem can likewise be modelled as a complete graph partitioning problem having 15 vertices, each of which represents a branch, and with <inline-formula id="j_infor391_ineq_043">
<alternatives><mml:math><mml:mi mathvariant="italic">n</mml:mi><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math><tex-math><![CDATA[$
n=3$]]></tex-math></alternatives></inline-formula>, where the edge weight associated with any pair of vertices is given by the distance between the corresponding branches.</p></statement></p>
</sec>
<sec id="j_infor391_s_004">
<label>1.3</label>
<title>Contribution and Organization</title>
<p>This paper proposes a column generation framework to solve Problem GPP with three enhancing features: (a) a complementary column generation scheme that uses a pricing problem to generate batches of columns; (b) a dual-based lower bound that can be employed to curtail the notorious tailing-off effects typically associated with column generation, and (c) the generation of a collection of vertex partitions that serves to determine a starting basis for the proposed column generation framework, as well as assists in computing good quality feasible solutions.</p>
<p>The remainder of this paper is organized as follows. Section <xref rid="j_infor391_s_005">2</xref> presents literature related to the studied problem. In Section <xref rid="j_infor391_s_006">3</xref>, we develop an integer mathematical programming model, denoted by GPM, for Problem GPP, which attempts to directly select a minimal cost <italic>n-partition</italic>. We then design an enhanced column generation approach (ECGH) in Section <xref rid="j_infor391_s_007">4</xref> to solve the linear relaxation of Model GPM, based on which we propose a heuristic procedure in Section <xref rid="j_infor391_s_011">5</xref> to solve Model GPM. Computational results are presented in Section <xref rid="j_infor391_s_012">6</xref>, and we conclude the paper in Section <xref rid="j_infor391_s_013">7</xref> with a summary and some remarks, as well as future research extensions.</p>
</sec>
</sec>
<sec id="j_infor391_s_005">
<label>2</label>
<title>Related Literature</title>
<p>Several graph partitioning problems have been studied in the literature, which are motivated by applications in microaggregation (Domingo-Ferrer and Mateo-Sanz, <xref ref-type="bibr" rid="j_infor391_ref_007">2002</xref>), political districting (Mehrotra <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor391_ref_025">1998</xref>), video clustering (Schaeffer, <xref ref-type="bibr" rid="j_infor391_ref_031">2007</xref>), telecommunication and VLSI design (Karypis <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor391_ref_021">1999</xref>), biological or social networks (Fan <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor391_ref_011">2009</xref>), and data mining (Zha <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor391_ref_037">2001</xref>). Typically such problems arise in the context of clustering, which is an unsupervised classification and the clusters must sometimes satisfy certain additional threshold criteria (Fan and Pardalos, <xref ref-type="bibr" rid="j_infor391_ref_010">2012</xref>). The general graph partitioning problem aims to partition the vertex set of a graph into several disjoint subsets with the objective of minimizing the sum of edge weights between the disjoint subsets (Fan and Pardalos, <xref ref-type="bibr" rid="j_infor391_ref_009">2010</xref>). This is an NP-complete combinatorial optimization problem (Garey <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor391_ref_012">1976</xref>) and different techniques were employed to solve it (Hager and Krylyuk, <xref ref-type="bibr" rid="j_infor391_ref_017">1999</xref>). The case when the graph is partitioned into equal or different by 1 cardinalities for all partitions was solved either by linear programming (Lisser and Rendl, <xref ref-type="bibr" rid="j_infor391_ref_023">2003</xref>) or semidefinite programming (Karisch and Rendl, <xref ref-type="bibr" rid="j_infor391_ref_020">1998</xref>; Lisser and Rendl, <xref ref-type="bibr" rid="j_infor391_ref_023">2003</xref>). Quadratic programming (Hager and Krylyuk, <xref ref-type="bibr" rid="j_infor391_ref_017">1999</xref>, <xref ref-type="bibr" rid="j_infor391_ref_018">2002</xref>) and semidefinite programming (Wolkowicz and Zhao, <xref ref-type="bibr" rid="j_infor391_ref_034">1996</xref>) requires that the cardinalities of all partitions are known <italic>a priori</italic>. Fan and Pardalos (<xref ref-type="bibr" rid="j_infor391_ref_009">2010</xref>) extended this work by formulating a zero-one quadrating programming problem without the input of cardinalities of the required partitions. The objective of the problem studied in the current paper is to minimize the sum of edge weights of the resulting partitions while that in the general graph partitioning problem is to minimize the sum of edge weights between the disjoint partitions.</p>
<p>In the following, we discuss a number of applications that are addressed using different types of graph partitioning paradigms. Micro-aggregation is a technique used by statistical agencies, where some statistical information needs to be disclosed, while the related specific individual information must remain classified. Published data needs to be therefore presented in a manner such that: (a) the classified data cannot be concluded from the published data, and (b) the deleted unclassified data is minimized. Domingo-Ferrer and Mateo-Sanz (<xref ref-type="bibr" rid="j_infor391_ref_007">2002</xref>) used a graph partitioning approach to solve this problem. Political redistricting is another application of graph partitioning, where boundaries of districts need to be drawn within the states to attain certain characteristics and to avoid partisan political goals. Mehrotra <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor391_ref_025">1998</xref>) designed a graph partitioning political redistricting model with the motivation that (a) differences in populations for any two different districts should be minimized in order to adhere to the one-person-one-vote principle; (b) districts should be contiguous, and (c) districts should be geographically compact. Graph partitioning is also used in video scene clustering (Tan and Lu, <xref ref-type="bibr" rid="j_infor391_ref_033">2003</xref>) to index, browse, and retrieve video data. In this context, a graph <inline-formula id="j_infor391_ineq_044">
<alternatives><mml:math><mml:mi mathvariant="italic">G</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">E</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
G(V,E)$]]></tex-math></alternatives></inline-formula> is constructed as follows, where each vertex <inline-formula id="j_infor391_ineq_045">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
v\in V$]]></tex-math></alternatives></inline-formula> represents a scene and an edge <inline-formula id="j_infor391_ineq_046">
<alternatives><mml:math><mml:mi mathvariant="italic">e</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">E</mml:mi></mml:math><tex-math><![CDATA[$
e\in E$]]></tex-math></alternatives></inline-formula> between two vertices indicates the similarity obtained from some defined relations of the colours of two scenes. The objective is to partition <italic>G</italic> with the goal of maximizing similarity in the individual partitions where the number of partitions is not restricted.</p>
<p>In telecommunication technology, graph partitioning is employed to subdivide a transmission network into clusters in order to maximize the routed traffic within the clusters (Laguna, <xref ref-type="bibr" rid="j_infor391_ref_022">1994</xref>). Park <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor391_ref_028">2000</xref>) addressed the problem of clustering a telecommunication network into local networks and hub locations. Xiao <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor391_ref_035">2007</xref>) developed a graph partitioning model to cluster mobile units within mobile servers. In this case, a graph <inline-formula id="j_infor391_ineq_047">
<alternatives><mml:math><mml:mi mathvariant="italic">G</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">E</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
G(V,E)$]]></tex-math></alternatives></inline-formula> is constructed where <inline-formula id="j_infor391_ineq_048">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
v\in V$]]></tex-math></alternatives></inline-formula> represents a mobile unit and each edge <inline-formula id="j_infor391_ineq_049">
<alternatives><mml:math><mml:mi mathvariant="italic">e</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">E</mml:mi></mml:math><tex-math><![CDATA[$
e\in E$]]></tex-math></alternatives></inline-formula> represents a communication link between two units, and where the weight assigned to the edge depends on some technical parameters including the bandwidth and the distance between the two vertices. Laguna (<xref ref-type="bibr" rid="j_infor391_ref_022">1994</xref>) used a graph partitioning model to enhance several design features and to overcome limitations of optical fiber networks within the telecommunication industry.</p>
<p>Graph partitioning has also been used to tackle scheduling problems. Carlson and Nemhauser (<xref ref-type="bibr" rid="j_infor391_ref_003">1966</xref>) developed a clustering model for a scheduling problem that involves several activities and facilities, where the problem is to cluster activities and then to assign them to the facilities so as to minimize interaction costs, given the cost of assigning pairs of activities to a facility. Salido <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor391_ref_030">2007</xref>) employed graph partitioning in railway scheduling to generate optimal schedules for trains, taking into consideration connection points, railway types, and train capacities, among other restrictions.</p>
<p>There exist several other such examples of graph partitioning problems that have been studied in the literature, e.g. see Ji (<xref ref-type="bibr" rid="j_infor391_ref_019">2004</xref>). These include the clique partitioning problem (Grotschel and Wakabayashi, <xref ref-type="bibr" rid="j_infor391_ref_015">1989</xref>; <xref ref-type="bibr" rid="j_infor391_ref_016">1990</xref>), the graph equipartitioning problem (Conforti and Rao, <xref ref-type="bibr" rid="j_infor391_ref_005">1990a</xref>, <xref ref-type="bibr" rid="j_infor391_ref_006">1990b</xref>), the capacitated graph partitioning problem (Mehrotra and Trick, <xref ref-type="bibr" rid="j_infor391_ref_024">1998</xref>), the maximum balanced connected <italic>q</italic>-partition (Chlebikova, <xref ref-type="bibr" rid="j_infor391_ref_004">1996</xref>; Salgado and Wakabayashi, <xref ref-type="bibr" rid="j_infor391_ref_029">2004</xref>), and the minimum edge-cut graph partitioning problem (Donath and Hoffman, <xref ref-type="bibr" rid="j_infor391_ref_008">1973</xref>; Goldschmidt and Hochbaum, <xref ref-type="bibr" rid="j_infor391_ref_014">1988</xref>), among others. All of the above graph partitioning problems are NP-hard (Ji, <xref ref-type="bibr" rid="j_infor391_ref_019">2004</xref>). In particular, similar to the problem considered in the present paper, the <italic>k</italic>-way graph equipartitioning problem is to partition the vertex set <italic>V</italic> into <italic>k</italic> subsets of equal size, with the objective of minimizing the total weight of edges that have both end-points in the same partitioned subset. Mitchell (<xref ref-type="bibr" rid="j_infor391_ref_026">2001</xref>) formulated a mathematical model for the <italic>k</italic>-way graph equipartitioning problem, investigated its polyhedral structure and presented a branch-and-cut algorithm to solve the resulting model. The algorithm in Mitchell (<xref ref-type="bibr" rid="j_infor391_ref_026">2001</xref>) was used to realign the National Football League (NFL). Results for partitioning 32 teams into eight groups with the objective of minimizing the overall travel time among teams within each group were reported in Mitchell (<xref ref-type="bibr" rid="j_infor391_ref_027">2003</xref>). The sports realignment problem studied in Mitchell (<xref ref-type="bibr" rid="j_infor391_ref_026">2001</xref>, <xref ref-type="bibr" rid="j_infor391_ref_027">2003</xref>) was revisited later along with other similar contextual problems by Xiaoyun and Mitchell (<xref ref-type="bibr" rid="j_infor391_ref_036">2005</xref>) who modelled the realignment of NBA, NHL, and NFL as <italic>k</italic>-way equipartition problems. A branch-and-price scheme with cutting plane features was designed and implemented to solve the resulting <italic>k</italic>-way equipartitioning problems, where the pricing problem was modelled as an integer program. Computational results indicated that the branch-and-price-and-cut scheme of Xiaoyun and Mitchell (<xref ref-type="bibr" rid="j_infor391_ref_036">2005</xref>) performed well on small-sized instances (with about 40 vertices). However, for larger test instances, the solution of the pricing problem turned out to be cumbersome to solve. Nonetheless, for such problems, the root algorithm was found to yield relatively good quality feasible solutions. The algorithm in Xiaoyun and Mitchell (<xref ref-type="bibr" rid="j_infor391_ref_036">2005</xref>) was also used to solve certain micro aggregation problems. The authors concluded that the performance of their proposed branch-and-price-and-cut approach was comparable to that of the price-and-cut method of Mitchell (<xref ref-type="bibr" rid="j_infor391_ref_026">2001</xref>, <xref ref-type="bibr" rid="j_infor391_ref_027">2003</xref>).</p>
</sec>
<sec id="j_infor391_s_006">
<label>3</label>
<title>Formulation of Model GPM</title>
<p>In this section, we formulate a model for Problem GPP, denoted GPM, which directly attempts to select a minimum-cost collection of <italic>n</italic> valid <italic>partitions</italic> from the set <italic>P</italic> in order to constitute an <italic>n</italic>-<italic>partition</italic>.</p>
<p><bold>Model formulation</bold></p>
<p>Define the following set of binary decision variables: 
<disp-formula id="j_infor391_eq_001">
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:mn>1</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>if partition</mml:mtext><mml:mspace width="5pt"/><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi><mml:mspace width="2.5pt"/><mml:mtext>is selected</mml:mtext><mml:mspace width="2.5pt"/><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>otherwise</mml:mtext><mml:mspace width="2.5pt"/><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[ {x_{p}}=\left\{\begin{array}{l@{\hskip4.0pt}l}1\hspace{1em}& \text{if partition}\hspace{5pt}p\in P\hspace{2.5pt}\text{is selected}\hspace{2.5pt},\\ {} 0\hspace{1em}& \text{otherwise}\hspace{2.5pt}.\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>For a given partition <inline-formula id="j_infor391_ineq_050">
<alternatives><mml:math><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:math><tex-math><![CDATA[$
p\in P$]]></tex-math></alternatives></inline-formula>, we define the following set of <italic>parameters</italic> that indicate whether a vertex <inline-formula id="j_infor391_ineq_051">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
v\in V$]]></tex-math></alternatives></inline-formula> belongs to the associated vertex subset <inline-formula id="j_infor391_ineq_052">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{V_{p}}$]]></tex-math></alternatives></inline-formula> or not: 
<disp-formula id="j_infor391_eq_002">
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:mn>1</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>if</mml:mtext><mml:mspace width="5pt"/><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>otherwise</mml:mtext><mml:mspace width="2.5pt"/><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[ {\lambda _{v,p}}=\left\{\begin{array}{l@{\hskip4.0pt}l}1\hspace{1em}& \text{if}\hspace{5pt}v\in {V_{p}},\\ {} 0\hspace{1em}& \text{otherwise}\hspace{2.5pt}.\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Note that the values of the parameters <inline-formula id="j_infor391_ineq_053">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\lambda _{v,p}}$]]></tex-math></alternatives></inline-formula> are known <italic>a priori</italic> based on information derived from the corresponding subset <inline-formula id="j_infor391_ineq_054">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{V_{p}}$]]></tex-math></alternatives></inline-formula>. Then, the following model determines a minimum-cost <italic>n</italic>-<italic>partition</italic>: <disp-formula-group id="j_infor391_dg_001">
<disp-formula id="j_infor391_eq_003">
<label>(3.1)</label>
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="left"><mml:mtr><mml:mtd><mml:mtext mathvariant="bold">GPM: Minimize</mml:mtext><mml:mspace width="2.5pt"/><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext mathvariant="bold">subject to</mml:mtext><mml:mspace width="2.5pt"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle \textbf{GPM: Minimize}\hspace{2.5pt}\sum \limits_{p\in P}{w_{p}}{x_{p}},\\ {} \displaystyle \textbf{subject to}\hspace{2.5pt}\\ {} \displaystyle \sum \limits_{p\in P}{\lambda _{v,p}}{x_{p}}=1,\hspace{1em}\forall v\in V,\end{array}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor391_eq_004">
<label>(3.2)</label>
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="left"><mml:mtr><mml:mtd><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle \sum \limits_{p\in P}{x_{p}}=n,\\ {} \displaystyle {x_{p}}\in \{0,1\},\hspace{1em}\forall p\in P.\end{array}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> The objective function of GPM minimizes the overall weight of edges associated with the selected <italic>n-partition</italic>. Constraint (<xref rid="j_infor391_eq_003">3.1</xref>) assures that each <inline-formula id="j_infor391_ineq_055">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
v\in V$]]></tex-math></alternatives></inline-formula> belongs to exactly one valid partition. The required number of valid partitions (<italic>n</italic>) is enforced by Constraint (<xref rid="j_infor391_eq_004">3.2</xref>). The continuous relaxation of Model GPM, denoted by <inline-formula id="j_infor391_ineq_056">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>, is given as follows: 
<disp-formula id="j_infor391_eq_005">
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd><mml:mo movablelimits="false">Minimize</mml:mo><mml:mo fence="true" maxsize="2.03em" minsize="2.03em">{</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mspace width="2.5pt"/><mml:mtext>(3.1) and (3.2), where</mml:mtext><mml:mspace width="5pt"/><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi><mml:mo fence="true" maxsize="2.03em" minsize="2.03em">}</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[ \operatorname{Minimize}\bigg\{\sum \limits_{p\in P}{w_{p}}{x_{p}}:\hspace{2.5pt}\text{(3.1) and (3.2), where}\hspace{5pt}{x_{p}}\geqslant 0,\forall p\in P\bigg\}.\]]]></tex-math></alternatives>
</disp-formula> 
Note that <inline-formula id="j_infor391_ineq_057">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$
{x_{p}}\leqslant 1$]]></tex-math></alternatives></inline-formula> is implied by (<xref rid="j_infor391_eq_003">3.1</xref>). The following structural result indicates that Constraint (<xref rid="j_infor391_eq_004">3.2</xref>) can be deleted from the above model without affecting the solution, even in the continuous sense.</p><statement id="j_infor391_stat_003"><label>Proposition 1.</label>
<p><italic>Constraint</italic> (<xref rid="j_infor391_eq_004">3.2</xref>) <italic>is implied by Constraint</italic> (<xref rid="j_infor391_eq_003">3.1</xref>) <italic>within Model GPM.</italic></p></statement><statement id="j_infor391_stat_004"><label>Proof.</label>
<p>Since <inline-formula id="j_infor391_ineq_058">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
|V|=\alpha n$]]></tex-math></alternatives></inline-formula>, summing (<xref rid="j_infor391_eq_003">3.1</xref>) over all <inline-formula id="j_infor391_ineq_059">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
v\in V$]]></tex-math></alternatives></inline-formula>, we get <inline-formula id="j_infor391_ineq_060">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
{\textstyle\sum _{v\in V}}{\textstyle\sum _{p\in P}}{\lambda _{v,p}}{x_{p}}=\alpha n$]]></tex-math></alternatives></inline-formula>. But since <inline-formula id="j_infor391_ineq_061">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[$
{\textstyle\sum _{v\in V}}{\lambda _{v,p}}=\alpha $]]></tex-math></alternatives></inline-formula> because <inline-formula id="j_infor391_ineq_062">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">α</mml:mi></mml:math><tex-math><![CDATA[$
|{V_{p}}|=\alpha $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_063">
<alternatives><mml:math><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:math><tex-math><![CDATA[$
\forall \hspace{0.1667em}p\in P$]]></tex-math></alternatives></inline-formula>, this implies that <inline-formula id="j_infor391_ineq_064">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
{\textstyle\sum _{p\in P}}\alpha {x_{p}}=\alpha n$]]></tex-math></alternatives></inline-formula>, or that (<xref rid="j_infor391_eq_004">3.2</xref>) holds. □</p></statement>
<p>Notwithstanding Proposition <xref rid="j_infor391_stat_003">1</xref>, we retain Constraint (<xref rid="j_infor391_eq_004">3.2</xref>) in the model because of the lower bounding facility it provides for <inline-formula id="j_infor391_ineq_065">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>, which enables a useful practical stopping criterion when solving the latter problem (see Proposition <xref rid="j_infor391_stat_005">2</xref> below).</p>
<p>Note that Model GPM attempts to directly select a minimal cost <italic>n</italic>-partition, i.e. a minimal cost collection of <italic>n</italic> valid partitions from the set <italic>P</italic>. An alternative modelling approach to solve Problem GPP is to designate decision variables that assign vertices to different subsets and to designate constraints to ensure the cardinality of each subsets. This modelling approach is the subject of a follow-on paper, where we will attempt to employ a Lagrangean-based decomposition scheme in concert with symmetry defeating strategies to solve Problem GPP. As it will be seen later, the formulation of Model GPM enabled us to devise a column generation algorithm to heuristically solve Problem GPP, which is the focus of the current paper.</p>
</sec>
<sec id="j_infor391_s_007">
<label>4</label>
<title>An Enhanced Column Generation Approach to Solve Model <inline-formula id="j_infor391_ineq_066">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula></title>
<p>In this section, we exploit the special column structure of GPM in order to solve its continuous LP relaxation <inline-formula id="j_infor391_ineq_067">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> via a column generation procedure (e.g. see Barnhart <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor391_ref_001">1998</xref>), along with three enhancing features as discussed below. Suppose that at some iteration of the revised simplex method for solving <inline-formula id="j_infor391_ineq_068">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>, we have a basic feasible solution. Let <inline-formula id="j_infor391_ineq_069">
<alternatives><mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">ξ</mml:mi><mml:mo stretchy="false">≡</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\{\xi \equiv ({\xi _{v}},v\in V),{\xi _{0}}\}$]]></tex-math></alternatives></inline-formula> denote the corresponding complementary dual solution, where <italic>ξ</italic> and <inline-formula id="j_infor391_ineq_070">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\xi _{0}}$]]></tex-math></alternatives></inline-formula> are the dual variables associated with Constraints (<xref rid="j_infor391_eq_003">3.1</xref>) and (<xref rid="j_infor391_eq_004">3.2</xref>), respectively. We can then find a candidate entering nonbasic variable <inline-formula id="j_infor391_ineq_071">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{x_{p}}$]]></tex-math></alternatives></inline-formula> that has the smallest (most negative) reduced cost by solving the following auxiliary subproblem, where <inline-formula id="j_infor391_ineq_072">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\pi _{v}}$]]></tex-math></alternatives></inline-formula> equals one if vertex <inline-formula id="j_infor391_ineq_073">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
v\in V$]]></tex-math></alternatives></inline-formula> is selected for inclusion within <inline-formula id="j_infor391_ineq_074">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{V_{p}}$]]></tex-math></alternatives></inline-formula> and is zero otherwise: 
<disp-formula id="j_infor391_eq_006">
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="left"><mml:mtr><mml:mtd><mml:mi mathvariant="normal">SP</mml:mi><mml:mo>:</mml:mo><mml:mtext mathvariant="bold">Minimize</mml:mtext><mml:mspace width="2.5pt"/><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mfrac linethickness="0"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:munder><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msup><mml:mi mathvariant="italic">π</mml:mi><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext mathvariant="bold">subject to:</mml:mtext><mml:mspace width="2.5pt"/><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mtext>and</mml:mtext><mml:mspace width="2.5pt"/><mml:mspace width="1em"/><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="2.5pt"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle \mathrm{SP}:\textbf{Minimize}\hspace{2.5pt}\sum \limits_{\genfrac{}{}{0pt}{}{{v_{i}},{v_{j}}\in V}{i<j}}w({v_{i}},{v_{j}}){\pi _{{v_{i}}}}{\pi _{{v_{j}}}}-{\xi ^{T}}\pi -{\xi _{0}},\\ {} \displaystyle \textbf{subject to:}\hspace{2.5pt}\sum \limits_{v\in V}{\pi _{v}}=\alpha ,\hspace{1em}\text{and}\hspace{2.5pt}\hspace{1em}{\pi _{v}}\in \{0,1\},\hspace{2.5pt}\forall v\in V.\end{array}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Note that the resulting vector <inline-formula id="j_infor391_ineq_075">
<alternatives><mml:math><mml:mi mathvariant="italic">π</mml:mi><mml:mi mathvariant="italic">π</mml:mi><mml:mo stretchy="false">≡</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
\pi \pi \equiv ({\pi _{v}},v\in V)$]]></tex-math></alternatives></inline-formula> corresponds to a valid partition, say <inline-formula id="j_infor391_ineq_076">
<alternatives><mml:math><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:math><tex-math><![CDATA[$
p\in P$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_infor391_ineq_077">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\lambda _{v,p}}={\pi _{v}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_078">
<alternatives><mml:math><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
\forall v\in V$]]></tex-math></alternatives></inline-formula>, and where the first term of the objective function represents <inline-formula id="j_infor391_ineq_079">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{w_{p}}$]]></tex-math></alternatives></inline-formula> for the generated entering column. To solve Problem SP, each product relationship <inline-formula id="j_infor391_ineq_080">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\pi _{{v_{i}}}}{\pi _{{v_{j}}}}$]]></tex-math></alternatives></inline-formula> that appears in the objective function can be linearized by substituting a continuous variable <inline-formula id="j_infor391_ineq_081">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\gamma _{{v_{i}},{v_{j}}}}$]]></tex-math></alternatives></inline-formula> instead, while incorporating the following constraints, noting that <inline-formula id="j_infor391_ineq_082">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\pi _{{v_{i}}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor391_ineq_083">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\pi _{{v_{j}}}}$]]></tex-math></alternatives></inline-formula> are required to be binary-valued and that the <italic>w</italic>-parameters are positive (see Sherali and Warren, <xref ref-type="bibr" rid="j_infor391_ref_032">1998</xref>): 
<disp-formula id="j_infor391_eq_007">
<label>(4.1)</label>
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mspace width="1em"/><mml:mtext>and</mml:mtext><mml:mspace width="2.5pt"/><mml:mspace width="1em"/><mml:msub><mml:mrow><mml:mi mathvariant="italic">γ</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[ {\gamma _{{v_{i}},{v_{j}}}}\geqslant {\pi _{{v_{i}}}}+{\pi _{{v_{j}}}}-1\hspace{1em}\text{and}\hspace{2.5pt}\hspace{1em}{\gamma _{{v_{i}},{v_{j}}}}\geqslant 0,\hspace{1em}\forall \hspace{0.1667em}{v_{i}},{v_{j}}\in V,i<j.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>Hence, letting <inline-formula id="j_infor391_ineq_084">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(M)$]]></tex-math></alternatives></inline-formula> denote the optimal objective function value of any model <italic>M</italic>, if <inline-formula id="j_infor391_ineq_085">
<alternatives><mml:math><mml:mi mathvariant="italic">M</mml:mi><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
M{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$]]></tex-math></alternatives></inline-formula>, then no nonbasic variable is a candidate to enter the basis, and an optimal solution to Problem <inline-formula id="j_infor391_ineq_086">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> is at hand. Otherwise, if <inline-formula id="j_infor391_ineq_087">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">AP</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">b</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}({\mathrm{AP}_{lb}})<0$]]></tex-math></alternatives></inline-formula>, we will have obtained a candidate entering variable <inline-formula id="j_infor391_ineq_088">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{x_{p}}$]]></tex-math></alternatives></inline-formula> for <inline-formula id="j_infor391_ineq_089">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> from the optimal solution obtained for SP as noted above, and we then introduce this column into the basis and reiterate.</p>
<sec id="j_infor391_s_008">
<label>4.1</label>
<title>Enhancing Features</title>
<p>Next, we discuss three enhancing features that can improve the solvability of Problem <inline-formula id="j_infor391_ineq_090">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> by mitigating the tailing-off effect that is often induced by the classical column generation approach.</p>
<p><bold>A) Duality based lower bounding termination criterion</bold></p>
<p>The following proposition, whose proof readily follows from Proposition 1 in Ghoniem and Sherali (<xref ref-type="bibr" rid="j_infor391_ref_013">2009</xref>) (we include a specialized proof below for the sake of completeness), portends an optimality gap via the solution of Problem SP that will enable us to conveniently terminate the solution of Problem <inline-formula id="j_infor391_ineq_091">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> within some percentage of optimality. <statement id="j_infor391_stat_005"><label>Proposition 2.</label>
<p><italic>At any iteration of the column generation process to solve Problem</italic> <inline-formula id="j_infor391_ineq_092">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula><italic>, the solution to Problem SP provides a dual feasible solution to</italic> <inline-formula id="j_infor391_ineq_093">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> <italic>with a duality gap of</italic> <inline-formula id="j_infor391_ineq_094">
<alternatives><mml:math><mml:mo>−</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
-n{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$]]></tex-math></alternatives></inline-formula><italic>.</italic></p></statement><statement id="j_infor391_stat_006"><label>Proof.</label>
<p>Let <inline-formula id="j_infor391_ineq_095">
<alternatives><mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
(\overline{\xi },\overline{{\xi _{0}}})$]]></tex-math></alternatives></inline-formula> be the complementary dual solution to the restricted version of <inline-formula id="j_infor391_ineq_096">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> at any iteration, where this restricted problem provides an upper bound of 
<disp-formula id="j_infor391_eq_008">
<label>(4.2)</label>
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow></mml:munder><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[ \sum \limits_{v\in V}\overline{{\xi _{v}}}+n\overline{{\xi _{0}}}\]]]></tex-math></alternatives>
</disp-formula> 
on the value <inline-formula id="j_infor391_ineq_097">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(\overline{\mathrm{GPM}})$]]></tex-math></alternatives></inline-formula>. Moreover, from the corresponding problem SP, we get 
<disp-formula id="j_infor391_eq_009">
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:munder><mml:mrow><mml:mo movablelimits="false">min</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:mrow></mml:munder><mml:mo fence="true" maxsize="2.03em" minsize="2.03em">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" maxsize="2.03em" minsize="2.03em">}</mml:mo><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[ {\tau ^{\ast }}(\mathrm{SP})=\underset{p\in P}{\min }\bigg\{{w_{p}}-\sum \limits_{v\in V}{\lambda _{v,p}}{\overline{\xi }_{v}}-{\overline{\xi }_{0}}\bigg\},\]]]></tex-math></alternatives>
</disp-formula> 
which implies that 
<disp-formula id="j_infor391_eq_010">
<alternatives><mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo fence="true" stretchy="false">[</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo fence="true" stretchy="false">]</mml:mo><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[ \sum \limits_{v\in V}{\lambda _{v,p}}{\overline{\xi }_{v}}+[{\overline{\xi }_{0}}+{\tau ^{\ast }}(\mathrm{SP})]\leqslant {w_{p}},\hspace{1em}\forall \hspace{0.1667em}p\in P,\]]]></tex-math></alternatives>
</disp-formula> 
or that <inline-formula id="j_infor391_ineq_098">
<alternatives><mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
(\overline{\xi },{\overline{\xi }_{0}}+{\tau ^{\ast }}(\mathrm{SP}))$]]></tex-math></alternatives></inline-formula> is dual feasible to <inline-formula id="j_infor391_ineq_099">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>, thus establishing a lower bound on the value <inline-formula id="j_infor391_ineq_100">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(\overline{\mathrm{GPM}})$]]></tex-math></alternatives></inline-formula>, with a dual objective function value of 
<disp-formula id="j_infor391_eq_011">
<label>(4.3)</label>
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[ \sum \limits_{v\in V}{\overline{\xi }_{v}}+n\big[{\overline{\xi }_{0}}+{\tau ^{\ast }}(\mathrm{SP})\big].\]]]></tex-math></alternatives>
</disp-formula> 
From (<xref rid="j_infor391_eq_008">4.2</xref>) and (<xref rid="j_infor391_eq_011">4.3</xref>), we therefore infer that this dual feasible solution yields a duality gap of <inline-formula id="j_infor391_ineq_101">
<alternatives><mml:math><mml:mo>−</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
-n{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$]]></tex-math></alternatives></inline-formula>. □</p></statement><bold>B) Generation of complementary columns</bold></p>
<p>Instead of generating a single negative reduced-cost column as done above in the classical column generation (CG), the complementary column generation (CCG) of Ghoniem and Sherali (<xref ref-type="bibr" rid="j_infor391_ref_013">2009</xref>) advocates the generation of multiple columns at each iteration to form a feasible <italic>n-partition</italic> (as possible, unless an infeasible subproblem is encountered) as described next. Let <inline-formula id="j_infor391_ineq_102">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\overline{\pi }=\{{\overline{\pi }_{v}},v\in V\}$]]></tex-math></alternatives></inline-formula> be a solution to Problem SP, based on which, let <inline-formula id="j_infor391_ineq_103">
<alternatives><mml:math><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\Omega =\{v:{\overline{\pi }_{v}}=1\}$]]></tex-math></alternatives></inline-formula>. Let <inline-formula id="j_infor391_ineq_104">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{\Omega }}$]]></tex-math></alternatives></inline-formula> be initialized as a set that contains the partition that includes the vertices in Ω, and let <inline-formula id="j_infor391_ineq_105">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{X^{\Omega }}$]]></tex-math></alternatives></inline-formula> be initialized as a set that contains the variable in <inline-formula id="j_infor391_ineq_106">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi><mml:mn>2</mml:mn></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}2}$]]></tex-math></alternatives></inline-formula> corresponding to the partition in <inline-formula id="j_infor391_ineq_107">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{\Omega }}$]]></tex-math></alternatives></inline-formula>. We then resolve Problem SP with the additional requirements that <inline-formula id="j_infor391_ineq_108">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
{\pi _{v}}=0$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_109">
<alternatives><mml:math><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:math><tex-math><![CDATA[$
\forall v\in \Omega $]]></tex-math></alternatives></inline-formula>. Let <inline-formula id="j_infor391_ineq_110">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">new</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">new</mml:mi></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
{\overline{\pi }^{\hspace{0.1667em}\mathit{new}}}=\{{\overline{{\pi _{v}}}^{\hspace{0.1667em}\mathit{new}}},v\in V\}$]]></tex-math></alternatives></inline-formula> denote the resulting solution. Next, the set of prohibited indices Ω is augmented by setting <inline-formula id="j_infor391_ineq_111">
<alternatives><mml:math><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo stretchy="false">←</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>∪</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo>:</mml:mo><mml:msup><mml:mrow><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mspace width="0.1667em"/><mml:mi mathvariant="italic">new</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\Omega \gets \Omega \cup \{v:{\overline{{\pi _{v}}}^{\hspace{0.1667em}\mathit{new}}}=1\}$]]></tex-math></alternatives></inline-formula> and the sets <inline-formula id="j_infor391_ineq_112">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow/><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{{^{\Omega }}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor391_ineq_113">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{X^{\Omega }}$]]></tex-math></alternatives></inline-formula> are updated accordingly. The foregoing step is repeated until <inline-formula id="j_infor391_ineq_114">
<alternatives><mml:math><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
\Omega =|V|$]]></tex-math></alternatives></inline-formula> or an infeasible subproblem is encountered. The variables in <inline-formula id="j_infor391_ineq_115">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{X^{\Omega }}$]]></tex-math></alternatives></inline-formula> along with their respective partitions from <inline-formula id="j_infor391_ineq_116">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{\Omega }}$]]></tex-math></alternatives></inline-formula> will serve to augment a restricted version of Model <inline-formula id="j_infor391_ineq_117">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> that will be used in the next subsection within a column generation framework to solve <inline-formula id="j_infor391_ineq_118">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>. Note that when <inline-formula id="j_infor391_ineq_119">
<alternatives><mml:math><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
\Omega =|V|$]]></tex-math></alternatives></inline-formula>, the set <inline-formula id="j_infor391_ineq_120">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{\Omega }}$]]></tex-math></alternatives></inline-formula> consists of a batch of columns that collectively constitute a feasible solution to Model GPM. Moreover, even if an infeasible subproblem is encountered in the foregoing process, the set of partitions generated thus far can be used to fruitfully augment the current restricted version of Model <inline-formula id="j_infor391_ineq_121">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>.</p>
<p><bold>C) Determining a starting basis for Model</bold> <inline-formula id="j_infor391_ineq_122">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula></p>
<p>Note that Model <inline-formula id="j_infor391_ineq_123">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> is highly degenerate because it has <inline-formula id="j_infor391_ineq_124">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$
|V|+1$]]></tex-math></alternatives></inline-formula> rows, but any basic feasible solution corresponding to a feasible binary solution involves only <inline-formula id="j_infor391_ineq_125">
<alternatives><mml:math><mml:mstyle displaystyle="false"><mml:mfrac><mml:mrow><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">α</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
\frac{|V|}{\alpha }=n$]]></tex-math></alternatives></inline-formula> non-zero binary <italic>x</italic>-variables. This will likely exacerbate the initial oscillations of dual solutions within the column generation procedure, which typically slows the convergence of the algorithm. Various dual stabilization approaches have been discussed in the literature to mitigate this phenomenon, see, for example, Bazaraa <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor391_ref_002">2010</xref>). Instead of using such dual stabilization techniques, we simply try to diminish the occurrence of oscillations by the generation of additional columns (as discussed next) in order to restrict the dual solution space, which thereby essentially contributes toward the dual stabilization process.</p>
<p>With this motivation, we determine <inline-formula id="j_infor391_ineq_126">
<alternatives><mml:math><mml:mn>3</mml:mn><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
3n+|V|$]]></tex-math></alternatives></inline-formula> partitions of <italic>V</italic> as follows, which can then be used along with suitable artificial variables (at zero values) to determine a starting basis for <inline-formula id="j_infor391_ineq_127">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>:</p>
<list>
<list-item id="j_infor391_li_001">
<label>a)</label>
<p>Set <inline-formula id="j_infor391_ineq_128">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">α</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">α</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mi mathvariant="italic">α</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
{V^{1}}=\{{v_{1}},{v_{2}},\dots ,{v_{\alpha }}\},{V^{2}}=\{{v_{\alpha +1}},{v_{\alpha +2}},\dots ,{v_{2\alpha }}\},\dots ,{V^{n}}=\{{v_{(n-1)\alpha +1}},{v_{(n-1)\alpha +2}},\dots ,{v_{n\alpha }}\}$]]></tex-math></alternatives></inline-formula>, noting that <inline-formula id="j_infor391_ineq_129">
<alternatives><mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msup><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\{{V^{1}},{V^{2}},\dots ,{V^{n}}\}$]]></tex-math></alternatives></inline-formula> constitutes a valid <italic>n</italic>-<italic>partition</italic>.</p>
</list-item>
<list-item id="j_infor391_li_002">
<label>b)</label>
<p>For <inline-formula id="j_infor391_ineq_130">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
v=1,\dots ,|V|$]]></tex-math></alternatives></inline-formula>, we construct <inline-formula id="j_infor391_ineq_131">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
|V|$]]></tex-math></alternatives></inline-formula> partitions, denoted by <inline-formula id="j_infor391_ineq_132">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{n+v}}$]]></tex-math></alternatives></inline-formula>, as follows. Consider the subgraph of <italic>G</italic> that contains only the least weight (<inline-formula id="j_infor391_ineq_133">
<alternatives><mml:math><mml:mi mathvariant="italic">α</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$
\alpha -1$]]></tex-math></alternatives></inline-formula>) edges incident to <italic>v</italic>. Let <inline-formula id="j_infor391_ineq_134">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{n+v}}$]]></tex-math></alternatives></inline-formula> be the set of vertices that contains <italic>v</italic> as well as the other (<inline-formula id="j_infor391_ineq_135">
<alternatives><mml:math><mml:mi mathvariant="italic">α</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$
\alpha -1$]]></tex-math></alternatives></inline-formula>) vertices adjacent to <italic>v</italic> via the selected <inline-formula id="j_infor391_ineq_136">
<alternatives><mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
(\alpha -1)$]]></tex-math></alternatives></inline-formula> edges. Note that the vertex partitions <inline-formula id="j_infor391_ineq_137">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{n+1}},\dots ,{V^{n+|V|}}$]]></tex-math></alternatives></inline-formula> are not necessarily mutually exclusive.</p>
</list-item>
<list-item id="j_infor391_li_003">
<label>c)</label>
<p>Pick <inline-formula id="j_infor391_ineq_138">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
v\in \{1,\dots ,|V|\}$]]></tex-math></alternatives></inline-formula> and initialize <inline-formula id="j_infor391_ineq_139">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
{V^{n+|V|+1}}=\{v\}$]]></tex-math></alternatives></inline-formula>. Find <inline-formula id="j_infor391_ineq_140">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{v_{1}}\in V/{V^{n+|V|+1}}$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_infor391_ineq_141">
<alternatives><mml:math><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo movablelimits="false">min</mml:mo></mml:mrow><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
w(v,{v_{1}})={\min _{\overline{v}\in V/{V^{n+|V|+v}}}}\{w(\overline{v},v)\}$]]></tex-math></alternatives></inline-formula>. Let <inline-formula id="j_infor391_ineq_142">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
{V^{n+|V|+1}}=\{v,{v_{1}}\}$]]></tex-math></alternatives></inline-formula>. Find <inline-formula id="j_infor391_ineq_143">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{v_{2}}\in V/{V^{n+|V|+1}}$]]></tex-math></alternatives></inline-formula> such that <inline-formula id="j_infor391_ineq_144">
<alternatives><mml:math><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo movablelimits="false">min</mml:mo></mml:mrow><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
w(v,{v_{2}})+w({v_{1}},{v_{2}})={\min _{\overline{v}\in V/{V^{n+|V|+{v_{1}}}}}}(w(v,\overline{v})+w({v_{1}},\overline{v}))$]]></tex-math></alternatives></inline-formula> and proceed in this fashion until <inline-formula id="j_infor391_ineq_145">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{n+|V|+1}}$]]></tex-math></alternatives></inline-formula> contains <italic>α</italic> vertices. Pick <inline-formula id="j_infor391_ineq_146">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{v^{1}}\in V/{V^{n+|V|+1}}$]]></tex-math></alternatives></inline-formula> and let <inline-formula id="j_infor391_ineq_147">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{n+|V|+2}}$]]></tex-math></alternatives></inline-formula> be the set of vertices from <inline-formula id="j_infor391_ineq_148">
<alternatives><mml:math><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
V/{V^{n+|V|+1}}$]]></tex-math></alternatives></inline-formula> that contains <inline-formula id="j_infor391_ineq_149">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{v^{1}}$]]></tex-math></alternatives></inline-formula> along with <inline-formula id="j_infor391_ineq_150">
<alternatives><mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
(\alpha -1)$]]></tex-math></alternatives></inline-formula> vertices chosen as discussed in the process of constructing <inline-formula id="j_infor391_ineq_151">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{n+|V|+1}}$]]></tex-math></alternatives></inline-formula>. Continue in this manner until <italic>n</italic> vertex partitions are constructed, which collectively constitute an <italic>n</italic>-<italic>partition</italic>.</p>
</list-item>
<list-item id="j_infor391_li_004">
<label>d)</label>
<p>Determine the least cost vertex partition by solving Problem SP with a modified objective function given by Minimize <inline-formula id="j_infor391_ineq_152">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mfrac linethickness="0"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mo mathvariant="normal">&lt;</mml:mo><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:msub><mml:mi mathvariant="italic">w</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\textstyle\sum _{\genfrac{}{}{0pt}{}{{v_{i}},{v_{j}}\in V}{i<j}}}w({v_{i}},{v_{j}}){\pi _{{v_{i}}}}{\pi _{{v_{j}}}}$]]></tex-math></alternatives></inline-formula>. The resulting solution determines a valid partition; denote this <inline-formula id="j_infor391_ineq_153">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{2n+|V|+1}}$]]></tex-math></alternatives></inline-formula>. Next, we resolve Problem SP with the aforementioned modified objective function while updating the set of vertices to exclude all the vertices in <inline-formula id="j_infor391_ineq_154">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{2n+|V|+1}}$]]></tex-math></alternatives></inline-formula>. We proceed in this manner until we construct <italic>n</italic> vertex partitions that collectively constitute a valid <italic>n</italic>-<italic>partition</italic>.</p>
</list-item>
</list>
<p>Hereafter, we will refer to the foregoing three enhancing complementary column generation features discussed in this section as CCG features.</p>
</sec>
<sec id="j_infor391_s_009">
<label>4.2</label>
<title>Enhanced Column Generation Algorithm to Solve <inline-formula id="j_infor391_ineq_155">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula></title>
<p>An enhanced column generation algorithm that incorporates the above three features, denoted by ECGA, is presented next to solve <inline-formula id="j_infor391_ineq_156">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>. The best known lower and upper bounds derived in this process for solving <inline-formula id="j_infor391_ineq_157">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> as described below are denoted by <inline-formula id="j_infor391_ineq_158">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{\mathit{LB}^{\ast }}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor391_ineq_159">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">UB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{\mathit{UB}^{\ast }}$]]></tex-math></alternatives></inline-formula>, respectively.</p>
<p><bold>Algorithm ECGA</bold></p>
<p><bold>Initialization Step</bold></p>
<p>Let <inline-formula id="j_infor391_ineq_160">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{X_{0}}$]]></tex-math></alternatives></inline-formula> be the set of <italic>x</italic>-variables associated with the vertex partitions <inline-formula id="j_infor391_ineq_161">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_162">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>3</mml:mn><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
i=1,\dots ,3n+|V|$]]></tex-math></alternatives></inline-formula>, as determined above, along with suitable artificial variables incorporated within the constraints of Model GPM (to determine a starting basis). Consider a restricted version of <inline-formula id="j_infor391_ineq_163">
<alternatives><mml:math><mml:mi mathvariant="normal">GPM</mml:mi></mml:math><tex-math><![CDATA[$
\mathrm{GPM}$]]></tex-math></alternatives></inline-formula>, denoted by <inline-formula id="j_infor391_ineq_164">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{GPM}_{0}}$]]></tex-math></alternatives></inline-formula>, which contains the variables in <inline-formula id="j_infor391_ineq_165">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{X_{0}}$]]></tex-math></alternatives></inline-formula>. Solve <inline-formula id="j_infor391_ineq_166">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\overline{\mathrm{GPM}}_{0}}$]]></tex-math></alternatives></inline-formula> directly using CPLEX, to determine an initial basic feasible solution to Model <inline-formula id="j_infor391_ineq_167">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>. If the set of basic variables contains any artificial variables at optimality, then iteratively solve Problem SP to generate columns for <inline-formula id="j_infor391_ineq_168">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> until the residual artificial variables are eliminated. Set <inline-formula id="j_infor391_ineq_169">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$
i=1$]]></tex-math></alternatives></inline-formula> and let <inline-formula id="j_infor391_ineq_170">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{X_{1}}$]]></tex-math></alternatives></inline-formula> be the set of (non-artificial) variables in the current column generation master program. Select a suitable optimality tolerance <inline-formula id="j_infor391_ineq_171">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula>, set <inline-formula id="j_infor391_ineq_172">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo>−</mml:mo><mml:mi>∞</mml:mi></mml:math><tex-math><![CDATA[$
{\mathit{LB}^{\ast }}=-\infty $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_173">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">UB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>∞</mml:mi></mml:math><tex-math><![CDATA[$
{\mathit{UB}^{\ast }}=\infty $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_174">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$
i=1$]]></tex-math></alternatives></inline-formula> and proceed to the Main Step.</p>
<p><bold>Main Step</bold></p>
<p>Construct a restricted version of <inline-formula id="j_infor391_ineq_175">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>, denoted by <inline-formula id="j_infor391_ineq_176">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\overline{\mathrm{GPM}}_{i}}$]]></tex-math></alternatives></inline-formula>, which only involves the variables in <inline-formula id="j_infor391_ineq_177">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{X_{i}}$]]></tex-math></alternatives></inline-formula> and solve <inline-formula id="j_infor391_ineq_178">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{{\mathrm{GPM}_{i}}}$]]></tex-math></alternatives></inline-formula>. Let <inline-formula id="j_infor391_ineq_179">
<alternatives><mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\{\overline{\xi },\overline{{\xi _{0}}}\}$]]></tex-math></alternatives></inline-formula> denote the corresponding complementary dual solution for <inline-formula id="j_infor391_ineq_180">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{{\mathrm{GPM}_{i}}}$]]></tex-math></alternatives></inline-formula>. Set <inline-formula id="j_infor391_ineq_181">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">UB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow></mml:msub><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
{\mathit{UB}^{\ast }}={\tau ^{\ast }}({\overline{\mathrm{GPM}}_{i}})=\{{\textstyle\sum _{v\in V}}\overline{{\xi _{v}}}+n\overline{{\xi _{0}}}\}$]]></tex-math></alternatives></inline-formula>. Solve the subproblem SP, and let <inline-formula id="j_infor391_ineq_182">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{\pi ^{\ast }}$]]></tex-math></alternatives></inline-formula> be the optimal solution obtained. Set <inline-formula id="j_infor391_ineq_183">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo movablelimits="false">max</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">∑</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:mrow></mml:msub><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ξ</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo fence="true" stretchy="false">]</mml:mo><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
{\mathit{LB}^{\ast }}=\max \{{\mathit{LB}^{\ast }},{\textstyle\sum _{v\in V}}\overline{{\xi _{v}}}+n[\overline{{\xi _{0}}}+{\tau ^{\ast }}(\mathrm{SP})]\}$]]></tex-math></alternatives></inline-formula>. 
<list>
<list-item id="j_infor391_li_005">
<label>a)</label>
<p>If <inline-formula id="j_infor391_ineq_184">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$]]></tex-math></alternatives></inline-formula>, stop; the optimal solution obtained for <inline-formula id="j_infor391_ineq_185">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\overline{\mathrm{GPM}}_{i}}{\overline{\mathrm{GPM}}_{i}}$]]></tex-math></alternatives></inline-formula> is also optimal for <inline-formula id="j_infor391_ineq_186">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor391_li_006">
<label>b)</label>
<p>Trigger the CCG feature to determine <inline-formula id="j_infor391_ineq_187">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{X^{\Omega }}$]]></tex-math></alternatives></inline-formula>. Set <inline-formula id="j_infor391_ineq_188">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{X_{i+1}}={X_{i}}\cup {X^{\Omega }}$]]></tex-math></alternatives></inline-formula> and let <inline-formula id="j_infor391_ineq_189">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">←</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$
i\gets i+1$]]></tex-math></alternatives></inline-formula>. If <inline-formula id="j_infor391_ineq_190">
<alternatives><mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mn>100</mml:mn><mml:mstyle displaystyle="false"><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">UB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">UB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
(100\frac{{\mathit{UB}^{\ast }}-{\mathit{LB}^{\ast }}}{{\mathit{UB}^{\ast }}})\leqslant {\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula>, stop; we have an optimal solution for <inline-formula id="j_infor391_ineq_191">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> within an optimality tolerance of <inline-formula id="j_infor391_ineq_192">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula> %. Otherwise, repeat the Main Step.</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_infor391_s_010">
<label>4.3</label>
<title>Analysis of Algorithm ECGH</title>
<p>
<list>
<list-item id="j_infor391_li_007">
<label>a)</label>
<p>Algorithm ECGA establishes an upper bound <inline-formula id="j_infor391_ineq_193">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">UB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{\mathit{UB}^{\ast }}$]]></tex-math></alternatives></inline-formula> on <inline-formula id="j_infor391_ineq_194">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> that decreases monotonically at each iteration of ECGA. Also, at each iteration of ECGA, the lower bound <inline-formula id="j_infor391_ineq_195">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{\mathit{LB}^{\ast }}$]]></tex-math></alternatives></inline-formula> for <inline-formula id="j_infor391_ineq_196">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> is updated based on the solution to Problem SP. At the end of Algorithm ECGA, the best provable lower bound on Model <inline-formula id="j_infor391_ineq_197">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> is given by 
<disp-formula id="j_infor391_eq_012">
<alternatives><mml:math display="block"><mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>if</mml:mtext><mml:mspace width="5pt"/><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mtext>and</mml:mtext><mml:mspace width="2.5pt"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>otherwise</mml:mtext><mml:mspace width="2.5pt"/><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l@{\hskip4.0pt}l}{\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})={\tau ^{\ast }}(\overline{\mathrm{GPM}})\hspace{1em}& \text{if}\hspace{5pt}{\tau ^{\ast }}(\mathrm{SP})\geqslant 0,\hspace{1em}\text{and}\hspace{2.5pt}\\ {} {\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})={\mathit{LB}^{\ast }},\hspace{1em}& \text{otherwise}\hspace{2.5pt}.\end{array}\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
<list-item id="j_infor391_li_008">
<label>b)</label>
<p>When the CCG Features is triggered at a given iteration of Algorithm ECGA, the set <inline-formula id="j_infor391_ineq_198">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{X^{\Omega }}$]]></tex-math></alternatives></inline-formula> consists of a batch of columns that collectively lend themselves toward composing a feasible solution to Model <inline-formula id="j_infor391_ineq_199">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>. The process of generating complementary columns judiciously includes multiple sets of feasible solutions whose composition is likely to enhance the possibility of encompassing optimal or near-optimal solutions when solving the last restricted problem of GPM as a binary restricted problem as used in the procedure described in Section <xref rid="j_infor391_s_011">5</xref> below. Moreover, the additional columns generated provide a further restriction on the dual search space, which induces dual stabilization.</p>
</list-item>
<list-item id="j_infor391_li_009">
<label>c)</label>
<p>The duality-based lower bound established in Proposition <xref rid="j_infor391_stat_005">2</xref> offers a helpful <inline-formula id="j_infor391_ineq_200">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula>-based termination criterion that serves to circumvent the notorious tailing-off trend often associated with column generation procedures. Hence, both of the above features, along with the generation of <inline-formula id="j_infor391_ineq_201">
<alternatives><mml:math><mml:mn>3</mml:mn><mml:mi mathvariant="italic">n</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
3n+|V|$]]></tex-math></alternatives></inline-formula> columns to initialize Algorithm ECGA, are instrumental in designing an effective heuristic approach for solving GPM with a provable optimality tolerance at termination as described in the next section.</p>
</list-item>
<list-item id="j_infor391_li_010">
<label>d)</label>
<p>Note that at any iteration of ECGA columns that are already (explicitly) present in the restricted master program <inline-formula id="j_infor391_ineq_202">
<alternatives><mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
(\overline{{\mathrm{GPM}_{i}}})$]]></tex-math></alternatives></inline-formula> price out with nonnegative reduced costs, and therefore these columns are automatically excluded from the solution to Problem SP (except at termination when <inline-formula id="j_infor391_ineq_203">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$]]></tex-math></alternatives></inline-formula>). However, the inclusion of constraints in Problem SP that explicitly exclude all such columns provides valid cuts that might serve to tighten the continuous relaxation of this problem and, hence, enhance its solvability. For this purpose, letting <inline-formula id="j_infor391_ineq_204">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo stretchy="false">⊆</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
\overline{V}\subseteq V$]]></tex-math></alternatives></inline-formula> be the set of vertices that characterize the partition corresponding to any column that is currently in GPM <inline-formula id="j_infor391_ineq_205">
<alternatives><mml:math><mml:msub><mml:mrow/><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{_{i}}$]]></tex-math></alternatives></inline-formula>, we add the following constraint to Problem SP for each such column: 
<disp-formula id="j_infor391_eq_013">
<label>(4.4)</label>
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="right"><mml:mtr><mml:mtd><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi></mml:mrow></mml:msub><mml:mo>⩽</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[ \sum \limits_{v\in \overline{V}}{\pi _{v}}\leqslant (\alpha -1).\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
<list-item id="j_infor391_li_011">
<label>e)</label>
<p>Although, the formulation of Model GPM incorporates all potential partitions as represented by the <inline-formula id="j_infor391_ineq_206">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{x_{p}}$]]></tex-math></alternatives></inline-formula> variables, the initial step of the proposed column generation heuristic (ECGH) contains only a small subset of the <inline-formula id="j_infor391_ineq_207">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{x_{p}}$]]></tex-math></alternatives></inline-formula> variables, then more valid partitions (<inline-formula id="j_infor391_ineq_208">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{x_{p}}$]]></tex-math></alternatives></inline-formula> variables) are added iteratively until a heuristic solution is attained. In fact, this is the main advantage of adopting a column generation framework, where initially only a subset of the columns are present in the solution, and more columns are added subsequently until a heuristic solution is obtained.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="j_infor391_s_011">
<label>5</label>
<title>A Heuristic Procedure for Solving GPM</title>
<p>In this section, we present a heuristic approach to solve Model GPM, denoted by ECGH, which is a sequential variable-fixing procedure that constructs a feasible <italic>n</italic>-<italic>partition</italic> in a sequential fashion in order to solve Problem GPP. Essentially, this procedure generates an <italic>n</italic>-<italic>partition</italic> by augmenting fixed partitions from solutions to <inline-formula id="j_infor391_ineq_209">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> obtained via the ECGA method outlined in the foregoing section.</p>
<p>To describe this procedure, cconsider an optimal solution to <inline-formula id="j_infor391_ineq_210">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> obtained via ECGA. Let <inline-formula id="j_infor391_ineq_211">
<alternatives><mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math><tex-math><![CDATA[$
{S_{b}^{1}}$]]></tex-math></alternatives></inline-formula> be the index set of the basic variables that equal one when ECGA terminates, and let <inline-formula id="j_infor391_ineq_212">
<alternatives><mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msubsup></mml:math><tex-math><![CDATA[$
{S_{b}^{f}}$]]></tex-math></alternatives></inline-formula> be the set of fractional basic variables at optimality. (Note that if <inline-formula id="j_infor391_ineq_213">
<alternatives><mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>∅</mml:mi></mml:math><tex-math><![CDATA[$
{S_{b}^{f}}=\varnothing $]]></tex-math></alternatives></inline-formula>, we have an <italic>n</italic>-<italic>partition</italic> at hand, and we stop with this solution as optimal for GPM.) Initialize the set <inline-formula id="j_infor391_ineq_214">
<alternatives><mml:math><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math><tex-math><![CDATA[$
\Gamma ={S_{b}^{1}}$]]></tex-math></alternatives></inline-formula>. Hence, <inline-formula id="j_infor391_ineq_215">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mo>∩</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>∅</mml:mi></mml:math><tex-math><![CDATA[$
{V^{{p^{i}}}}\cap {V^{{p^{j}}}}=\varnothing $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_216">
<alternatives><mml:math><mml:mo>∀</mml:mo><mml:mspace width="0.1667em"/><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msup><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi></mml:math><tex-math><![CDATA[$
\forall \hspace{0.1667em}{p^{i}},{p^{j}}\in \Gamma $]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_infor391_ineq_217">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">≠</mml:mo><mml:mi mathvariant="italic">j</mml:mi></mml:math><tex-math><![CDATA[$
i\ne j$]]></tex-math></alternatives></inline-formula>, because otherwise, if there exists some <inline-formula id="j_infor391_ineq_218">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mo>∩</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
v\in {V^{{p^{i}}}}\cap {V^{{p^{j}}}}$]]></tex-math></alternatives></inline-formula>, then equation (<xref rid="j_infor391_eq_003">3.1</xref>) corresponding to vertex <italic>v</italic> would be violated. Note that <inline-formula id="j_infor391_ineq_219">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
|\Gamma |\leqslant n$]]></tex-math></alternatives></inline-formula>, or else, we would have an <inline-formula id="j_infor391_ineq_220">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{n}$]]></tex-math></alternatives></inline-formula>-<italic>partition</italic>, where <inline-formula id="j_infor391_ineq_221">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
\overline{n}>n$]]></tex-math></alternatives></inline-formula>, which involves <inline-formula id="j_infor391_ineq_222">
<alternatives><mml:math><mml:mi mathvariant="italic">α</mml:mi><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\alpha \overline{n}$]]></tex-math></alternatives></inline-formula> vertices from <italic>V</italic>, contradicting the fact that <inline-formula id="j_infor391_ineq_223">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
|V|=\alpha n$]]></tex-math></alternatives></inline-formula>.</p>
<p>The following Variable-Fixing Step will be used with our proposed enhanced column generation heuristic described subsequently.</p>
<p><bold>Variable-Fixing Step</bold></p>
<p>Let <inline-formula id="j_infor391_ineq_224">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{x}$]]></tex-math></alternatives></inline-formula> be the optimal solution obtained for <inline-formula id="j_infor391_ineq_225">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> and let <inline-formula id="j_infor391_ineq_226">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo movablelimits="false">max</mml:mo></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo movablelimits="false">max</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
{\overline{x}_{\max }}={\max _{p\in {S_{b}^{f}}}}\{{\overline{x}_{p}}\}$]]></tex-math></alternatives></inline-formula>, and determine <inline-formula id="j_infor391_ineq_227">
<alternatives><mml:math><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msubsup><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo movablelimits="false">max</mml:mo></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\Lambda =\{p\in {S_{b}^{f}}:{\overline{x}_{p}}={\overline{x}_{\max }}\}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_228">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="false">min</mml:mo></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo movablelimits="false">min</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
{w_{\min }}=\min \{{w_{p}}:p\in \Lambda \}$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_infor391_ineq_229">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo>:</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mo movablelimits="false">min</mml:mo></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\overline{\Lambda }=\{p\in \Lambda :{w_{p}}={w_{\min }}\}$]]></tex-math></alternatives></inline-formula>. Pick <inline-formula id="j_infor391_ineq_230">
<alternatives><mml:math><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover><mml:mo stretchy="false">∈</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\hat{p}\in \overline{\Lambda }$]]></tex-math></alternatives></inline-formula> and update <inline-formula id="j_infor391_ineq_231">
<alternatives><mml:math><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">←</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>∪</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\Gamma \gets \Gamma \cup \{\hat{p}\}$]]></tex-math></alternatives></inline-formula>. Let <inline-formula id="j_infor391_ineq_232">
<alternatives><mml:math><mml:mi mathvariant="normal">Π</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">P</mml:mi><mml:mo>:</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msup><mml:mo>∩</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>∅</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mo>∀</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\Pi =\{p\in P:{V^{p}}\cap {V^{{p^{1}}}}=\varnothing ,\forall {p^{1}}\in \Gamma \}$]]></tex-math></alternatives></inline-formula>, and correspondingly, define <inline-formula id="j_infor391_ineq_233">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo>:</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∉</mml:mo><mml:msub><mml:mrow><mml:mo largeop="false" movablelimits="false">⋃</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msup><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
{V^{\Pi }}=\{v\in V:v\notin {\textstyle\bigcup _{p\in \Gamma }}{V^{p}}\}$]]></tex-math></alternatives></inline-formula>.</p>
<p>Based on the above variable-fixing step, we let <inline-formula id="j_infor391_ineq_234">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{GPM}_{\Pi }}$]]></tex-math></alternatives></inline-formula> to be a modified version of <inline-formula id="j_infor391_ineq_235">
<alternatives><mml:math><mml:mi mathvariant="normal">GPM</mml:mi></mml:math><tex-math><![CDATA[$
\mathrm{GPM}$]]></tex-math></alternatives></inline-formula> obtained by: (a) restricting the set of partitions <italic>P</italic> to Π, and (b) replacing <italic>V</italic> by <inline-formula id="j_infor391_ineq_236">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{\Pi }}$]]></tex-math></alternatives></inline-formula> in (<xref rid="j_infor391_eq_003">3.1</xref>). This problem is given as follows: <disp-formula-group id="j_infor391_dg_002">
<disp-formula id="j_infor391_eq_014">
<label>(5.1)</label>
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:mtext mathvariant="bold">Minimize</mml:mtext><mml:mspace width="2.5pt"/><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext mathvariant="bold">subject to</mml:mtext><mml:mspace width="2.5pt"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">v</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle {\mathrm{GPM}_{\Pi }}:\text{Minimize}\hspace{2.5pt}\sum \limits_{p\in \Pi }{w_{p}}{x_{p}}\\ {} \displaystyle \text{subject to}\hspace{2.5pt}\\ {} \displaystyle \sum \limits_{p\in \Pi }{\lambda _{v,p}}{x_{p}}=1,\hspace{1em}\forall v\in {V^{\Pi }},\end{array}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor391_eq_015">
<label>(5.2)</label>
<alternatives><mml:math display="block"><mml:mtable displaystyle="true" columnalign="left"><mml:mtr><mml:mtd><mml:munder><mml:mrow><mml:mstyle displaystyle="true"><mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo>−</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Π</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math><tex-math><![CDATA[\[\begin{array}{l}\displaystyle \sum \limits_{p\in \Pi }{x_{p}}=n-|\Gamma |,\\ {} \displaystyle {x_{p}}\in \{0,1\},\hspace{1em}\forall p\in \Pi .\end{array}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> We can now solve <inline-formula id="j_infor391_ineq_237">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{{\mathrm{GPM}_{\Pi }}}$]]></tex-math></alternatives></inline-formula> using ECGA as before, based on the remnant set of vertices, and repeat the process until an <italic>n</italic>-<italic>partition</italic> is obtained. The proposed heuristic (ECGH) for generating an <italic>n-partition</italic> is stated formally below, noting that whenever <inline-formula id="j_infor391_ineq_238">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
|\Gamma |=n$]]></tex-math></alternatives></inline-formula>, we have at hand an <italic>n</italic>-<italic>partition</italic> that is described by the set of valid partitions <inline-formula id="j_infor391_ineq_239">
<alternatives><mml:math><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\{p\in \Gamma \}$]]></tex-math></alternatives></inline-formula>.</p>
<p><bold>Heuristic ECGH</bold></p>
<p><bold>Initialization</bold></p>
<p>Set <inline-formula id="j_infor391_ineq_240">
<alternatives><mml:math><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>=</mml:mo><mml:mi>∅</mml:mi><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>=</mml:mo><mml:mi>∅</mml:mi></mml:math><tex-math><![CDATA[$
\Gamma =\varnothing \Gamma =\varnothing $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_241">
<alternatives><mml:math><mml:mi mathvariant="normal">Π</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">P</mml:mi></mml:math><tex-math><![CDATA[$
\Pi =P$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_infor391_ineq_242">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
{V^{\Pi }}=V$]]></tex-math></alternatives></inline-formula>.</p>
<p><bold>LP-Step</bold></p>
<p>Solve <inline-formula id="j_infor391_ineq_243">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{{\mathrm{GPM}_{\Pi }}}$]]></tex-math></alternatives></inline-formula> using ECGA, and let <inline-formula id="j_infor391_ineq_244">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="italic">X</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{X}$]]></tex-math></alternatives></inline-formula> denote the resulting solution. Determine the index sets <inline-formula id="j_infor391_ineq_245">
<alternatives><mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math><tex-math><![CDATA[$
{S_{b}^{1}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor391_ineq_246">
<alternatives><mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msubsup></mml:math><tex-math><![CDATA[$
{S_{b}^{f}}$]]></tex-math></alternatives></inline-formula>. If <inline-formula id="j_infor391_ineq_247">
<alternatives><mml:math><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>∅</mml:mi><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>∅</mml:mi></mml:math><tex-math><![CDATA[$
{S_{b}^{f}}=\varnothing {S_{b}^{f}}=\varnothing $]]></tex-math></alternatives></inline-formula>, then update <inline-formula id="j_infor391_ineq_248">
<alternatives><mml:math><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">←</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>∪</mml:mo><mml:msubsup><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">b</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:math><tex-math><![CDATA[$
\Gamma \gets \Gamma \cup {S_{b}^{1}}$]]></tex-math></alternatives></inline-formula> and stop, since <inline-formula id="j_infor391_ineq_249">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
|\Gamma |=n$]]></tex-math></alternatives></inline-formula>, then stop; otherwise, proceed to the Variable-Fixing Step.</p>
<p><bold>Variable-Fixing Step (</bold>This step is described above).</p>
<p><bold>Final Step</bold></p>
<p>Let <inline-formula id="j_infor391_ineq_250">
<alternatives><mml:math><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">←</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>∪</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\Gamma \gets \Gamma \cup \{\hat{p}\}$]]></tex-math></alternatives></inline-formula>. If <inline-formula id="j_infor391_ineq_251">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
|\Gamma |=n$]]></tex-math></alternatives></inline-formula>; otherwise, update Π and <inline-formula id="j_infor391_ineq_252">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Π</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{\Pi }}$]]></tex-math></alternatives></inline-formula>, and repeat the LP-Step. <statement id="j_infor391_stat_007"><label>Remark 3.</label>
<p>
<list>
<list-item id="j_infor391_li_012">
<label>a)</label>
<p>At each iteration of ECGH, the set Γ is augmented by at least one valid partition in a feasible fashion, and the number of elements in Γ cannot exceed <italic>n</italic>. Consequently, the algorithm terminates finitely whenever <inline-formula id="j_infor391_ineq_253">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="italic">n</mml:mi></mml:math><tex-math><![CDATA[$
|\Gamma |=n$]]></tex-math></alternatives></inline-formula>, yielding a desired <italic>n</italic>-partition.</p>
</list-item>
<list-item id="j_infor391_li_013">
<label>b)</label>
<p>In the “Variable-Fixing Step”, note that <inline-formula id="j_infor391_ineq_254">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow></mml:msup><mml:mo>∩</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mi>∅</mml:mi><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:mrow></mml:msup><mml:mo>∩</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">V</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{V^{\hat{p}}}\cap {V^{p}}=\varnothing {V^{\hat{p}}}\cap {V^{p}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_255">
<alternatives><mml:math><mml:mo>∀</mml:mo><mml:mi mathvariant="italic">p</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi></mml:math><tex-math><![CDATA[$
\forall p\in \Gamma $]]></tex-math></alternatives></inline-formula>, because otherwise, (<xref rid="j_infor391_eq_003">3.1</xref>) would be violated for some <inline-formula id="j_infor391_ineq_256">
<alternatives><mml:math><mml:mi mathvariant="italic">v</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">V</mml:mi></mml:math><tex-math><![CDATA[$
v\in V$]]></tex-math></alternatives></inline-formula>. Hence, we maintain a partitioning of the vertices while augmenting the set Γ according to <inline-formula id="j_infor391_ineq_257">
<alternatives><mml:math><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo stretchy="false">←</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>∪</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mo stretchy="false">ˆ</mml:mo></mml:mover><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$
\Gamma \gets \Gamma \cup \{\hat{p}\}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list>
</p></statement></p>
</sec>
<sec id="j_infor391_s_012">
<label>6</label>
<title>Computational Results</title>
<table-wrap id="j_infor391_tab_001">
<label>Table 1</label>
<caption>
<p>Test problems for model GPM.</p>
</caption>
<table>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin"><bold>Test Problem</bold></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin"><inline-formula id="j_infor391_ineq_258">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{1}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin"><inline-formula id="j_infor391_ineq_259">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{2}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin"><inline-formula id="j_infor391_ineq_260">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{3}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin"><inline-formula id="j_infor391_ineq_261">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{4}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin"><inline-formula id="j_infor391_ineq_262">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{5}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin"><inline-formula id="j_infor391_ineq_263">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{6}}$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_264">
<alternatives><mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
(|V|,n)$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">(12, 4)</td>
<td style="vertical-align: top; text-align: left">(18, 3)</td>
<td style="vertical-align: top; text-align: left">(20, 5)</td>
<td style="vertical-align: top; text-align: left">(20, 2)</td>
<td style="vertical-align: top; text-align: left">(24, 2)</td>
<td style="vertical-align: top; text-align: left">(30, 3)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>Test Problem</bold></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_265">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>7</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{7}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_266">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>8</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{8}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_267">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>9</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{9}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_268">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{10}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_269">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{11}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_270">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{12}}$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(<inline-formula id="j_infor391_ineq_271">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
|V|$]]></tex-math></alternatives></inline-formula>, <italic>n</italic>)</td>
<td style="vertical-align: top; text-align: left">(30, 2)</td>
<td style="vertical-align: top; text-align: left">(36, 3)</td>
<td style="vertical-align: top; text-align: left">(36, 2)</td>
<td style="vertical-align: top; text-align: left">(40, 8)</td>
<td style="vertical-align: top; text-align: left">(40, 5)</td>
<td style="vertical-align: top; text-align: left">(40, 4)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>Test Problem</bold></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_272">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>13</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{13}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_273">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>14</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{14}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_274">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>15</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{15}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_275">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>16</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{16}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_276">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>17</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{17}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_277">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>18</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{18}}$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(<inline-formula id="j_infor391_ineq_278">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
|V|$]]></tex-math></alternatives></inline-formula>, <italic>n</italic>)</td>
<td style="vertical-align: top; text-align: left">(50, 25)</td>
<td style="vertical-align: top; text-align: left">(50, 10)</td>
<td style="vertical-align: top; text-align: left">(50, 5)</td>
<td style="vertical-align: top; text-align: left">(60, 15)</td>
<td style="vertical-align: top; text-align: left">(60, 10)</td>
<td style="vertical-align: top; text-align: left">(72, 18)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>Test Problem</bold></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_279">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>19</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{19}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_280">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>20</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{20}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_281">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{21}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_282">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{22}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_283">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>23</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{23}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_284">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>24</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{24}}$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">(<inline-formula id="j_infor391_ineq_285">
<alternatives><mml:math><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$
|V|$]]></tex-math></alternatives></inline-formula>, <italic>n</italic>)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">(72, 12)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">(84, 28)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">(84, 21)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">(84, 14)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">(100, 25)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">(100, 20)</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In this section, we present computational results for the proposed complementary column generation approach for solving Model GPM. We use a set of 24 test problems described in Table <xref rid="j_infor391_tab_001">1</xref> for GPM, where <inline-formula id="j_infor391_ineq_286">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_287">
<alternatives><mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mn>24</mml:mn></mml:math><tex-math><![CDATA[$
i=1,\dots ,24$]]></tex-math></alternatives></inline-formula>, represents the <italic>i</italic>-th test problem. For all the test instances, the weights associated with the edges are randomly generated using a random function within the interval <inline-formula id="j_infor391_ineq_288">
<alternatives><mml:math><mml:mo fence="true" stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>1000</mml:mn><mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$
[1,1000]$]]></tex-math></alternatives></inline-formula>. All computational results have been performed on a Core™ i7 Processor, CPU 4.00 GHz computer having 4 GB of RAM and using the CPLEX Commercial Package (version 12) as the optimization solver.</p>
<p>Below, we summarize the notation that will be used in this section.</p>
<list>
<list-item id="j_infor391_li_014">
<label>•</label>
<p><inline-formula id="j_infor391_ineq_289">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula>: Optimality gap tolerance for implementing Algorithm ECGH to solve <inline-formula id="j_infor391_ineq_290">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor391_li_015">
<label>•</label>
<p><inline-formula id="j_infor391_ineq_291">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{2}}$]]></tex-math></alternatives></inline-formula>: Optimality gap tolerance for solving SP.</p>
</list-item>
<list-item id="j_infor391_li_016">
<label>•</label>
<p><inline-formula id="j_infor391_ineq_292">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>if</mml:mtext><mml:mspace width="5pt"/><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>otherwise</mml:mtext><mml:mspace width="2.5pt"/><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:math><tex-math><![CDATA[$
{\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})=\left\{\begin{array}{l@{\hskip4.0pt}l}{\tau ^{\ast }}(\overline{\mathrm{GPM}})\hspace{1em}& \text{if}\hspace{5pt}{\tau ^{\ast }}(\mathrm{SP})\geqslant 0,\\ {} {\mathit{LB}^{\ast }},\hspace{1em}& \text{otherwise}\hspace{2.5pt}.\end{array}\right.$]]></tex-math></alternatives></inline-formula></p>
</list-item>
<list-item id="j_infor391_li_017">
<label>•</label>
<p><inline-formula id="j_infor391_ineq_293">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">ECGH</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(\mathrm{ECGH})$]]></tex-math></alternatives></inline-formula>: The best objective function value obtained for Model GPM using Heuristic ECGH.</p>
</list-item>
<list-item id="j_infor391_li_018">
<label>•</label>
<p><italic>ρ</italic>: <inline-formula id="j_infor391_ineq_294">
<alternatives><mml:math><mml:mn>100</mml:mn><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">ECGH</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>−</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">ECGH</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo><mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$
100\big(\frac{{\tau ^{\ast }}(\mathrm{ECGH})-{\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})}{{\tau ^{\ast }}(\mathrm{ECGH})}\big)\% $]]></tex-math></alternatives></inline-formula> = Percentage optimality gap for the best solution obtained for Model GPM via Heuristic ECGH.</p>
</list-item>
<list-item id="j_infor391_li_019">
<label>•</label>
<p><inline-formula id="j_infor391_ineq_295">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">ECGA</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{T}_{\mathrm{ECGA}}}$]]></tex-math></alternatives></inline-formula>: The total solution time for solving <inline-formula id="j_infor391_ineq_296">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> using Algorithm ECGA.</p>
</list-item>
<list-item id="j_infor391_li_020">
<label>•</label>
<p><inline-formula id="j_infor391_ineq_297">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">ECGH</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{T}_{\mathrm{ECGH}}}$]]></tex-math></alternatives></inline-formula>: The total solution time for solving <inline-formula id="j_infor391_ineq_298">
<alternatives><mml:math><mml:mi mathvariant="normal">GPM</mml:mi></mml:math><tex-math><![CDATA[$
\mathrm{GPM}$]]></tex-math></alternatives></inline-formula> using Heuristic ECGH.</p>
</list-item>
</list>
<table-wrap id="j_infor391_tab_002">
<label>Table 2</label>
<caption>
<p>Results for solving <inline-formula id="j_infor391_ineq_299">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> and GPM using the CCG features.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Test problem <inline-formula id="j_infor391_ineq_300">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{i}}$]]></tex-math></alternatives></inline-formula> <italic>I</italic></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_301">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_302">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">ECGA</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{T}_{\mathrm{ECGA}}}$]]></tex-math></alternatives></inline-formula> (seconds)</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_303">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">GPM</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(\mathrm{GPM})$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_304">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">ECGH</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{T}_{\mathrm{ECGH}}}$]]></tex-math></alternatives></inline-formula> (seconds)</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><italic>ρ</italic> %</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">(<inline-formula id="j_infor391_ineq_305">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor391_ineq_306">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{2}}$]]></tex-math></alternatives></inline-formula>)</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">48.0</td>
<td style="vertical-align: top; text-align: left">0.35</td>
<td style="vertical-align: top; text-align: left">51.0</td>
<td style="vertical-align: top; text-align: left">1.48</td>
<td style="vertical-align: top; text-align: left">5.882353</td>
<td style="vertical-align: top; text-align: left">(0, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">1379.0</td>
<td style="vertical-align: top; text-align: left">3.05</td>
<td style="vertical-align: top; text-align: left">1392.0</td>
<td style="vertical-align: top; text-align: left">4.65</td>
<td style="vertical-align: top; text-align: left">0.933908</td>
<td style="vertical-align: top; text-align: left">(0, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">2879.0</td>
<td style="vertical-align: top; text-align: left">4.01</td>
<td style="vertical-align: top; text-align: left">2883.0</td>
<td style="vertical-align: top; text-align: left">4.84</td>
<td style="vertical-align: top; text-align: left">0.138744</td>
<td style="vertical-align: top; text-align: left">(0, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">3144.0</td>
<td style="vertical-align: top; text-align: left">5.75</td>
<td style="vertical-align: top; text-align: left">3145.0</td>
<td style="vertical-align: top; text-align: left">6.59</td>
<td style="vertical-align: top; text-align: left">0.031797</td>
<td style="vertical-align: top; text-align: left">(0, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">12459.0</td>
<td style="vertical-align: top; text-align: left">14.36</td>
<td style="vertical-align: top; text-align: left">12459.0</td>
<td style="vertical-align: top; text-align: left">16.67</td>
<td style="vertical-align: top; text-align: left">0.000000</td>
<td style="vertical-align: top; text-align: left">(0, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">51806.0</td>
<td style="vertical-align: top; text-align: left">35.34</td>
<td style="vertical-align: top; text-align: left">52526.0</td>
<td style="vertical-align: top; text-align: left">50.83</td>
<td style="vertical-align: top; text-align: left">1.370750</td>
<td style="vertical-align: top; text-align: left">(0, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">91242.0</td>
<td style="vertical-align: top; text-align: left">1042.42</td>
<td style="vertical-align: top; text-align: left">92273.0</td>
<td style="vertical-align: top; text-align: left">1123.08</td>
<td style="vertical-align: top; text-align: left">1.117337</td>
<td style="vertical-align: top; text-align: left">(0, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">66484.0</td>
<td style="vertical-align: top; text-align: left">16.31</td>
<td style="vertical-align: top; text-align: left">66484.0</td>
<td style="vertical-align: top; text-align: left">17.84</td>
<td style="vertical-align: top; text-align: left">0.000000</td>
<td style="vertical-align: top; text-align: left">(0, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">85758.0</td>
<td style="vertical-align: top; text-align: left">23.14</td>
<td style="vertical-align: top; text-align: left">85760.0</td>
<td style="vertical-align: top; text-align: left">25.28</td>
<td style="vertical-align: top; text-align: left">0.002332</td>
<td style="vertical-align: top; text-align: left">(0, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">92042.0</td>
<td style="vertical-align: top; text-align: left">23.27</td>
<td style="vertical-align: top; text-align: left">93059.0</td>
<td style="vertical-align: top; text-align: left">24.35</td>
<td style="vertical-align: top; text-align: left">1.092855</td>
<td style="vertical-align: top; text-align: left">(0.00001, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">11</td>
<td style="vertical-align: top; text-align: left">10825.79</td>
<td style="vertical-align: top; text-align: left">1795.3</td>
<td style="vertical-align: top; text-align: left">11473.34</td>
<td style="vertical-align: top; text-align: left">1825.81</td>
<td style="vertical-align: top; text-align: left">5.643954</td>
<td style="vertical-align: top; text-align: left">(0.00001, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">73011.0</td>
<td style="vertical-align: top; text-align: left">25.84</td>
<td style="vertical-align: top; text-align: left">73063.0</td>
<td style="vertical-align: top; text-align: left">27.67</td>
<td style="vertical-align: top; text-align: left">0.071171</td>
<td style="vertical-align: top; text-align: left">(0.001, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">3614.0</td>
<td style="vertical-align: top; text-align: left">24.09</td>
<td style="vertical-align: top; text-align: left">3820.0</td>
<td style="vertical-align: top; text-align: left">26.05</td>
<td style="vertical-align: top; text-align: left">5.392670</td>
<td style="vertical-align: top; text-align: left">(0.005, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">14</td>
<td style="vertical-align: top; text-align: left">44231.0</td>
<td style="vertical-align: top; text-align: left">23</td>
<td style="vertical-align: top; text-align: left">44555.0</td>
<td style="vertical-align: top; text-align: left">24.12</td>
<td style="vertical-align: top; text-align: left">0.727191</td>
<td style="vertical-align: top; text-align: left">(0.005, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">15</td>
<td style="vertical-align: top; text-align: left">42106.0</td>
<td style="vertical-align: top; text-align: left">24.08</td>
<td style="vertical-align: top; text-align: left">43611.63</td>
<td style="vertical-align: top; text-align: left">25.48</td>
<td style="vertical-align: top; text-align: left">3.452359</td>
<td style="vertical-align: top; text-align: left">(0.005, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">16</td>
<td style="vertical-align: top; text-align: left">61479.0</td>
<td style="vertical-align: top; text-align: left">25.14</td>
<td style="vertical-align: top; text-align: left">63020.0</td>
<td style="vertical-align: top; text-align: left">28.8</td>
<td style="vertical-align: top; text-align: left">2.445255</td>
<td style="vertical-align: top; text-align: left">(0.005, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">17</td>
<td style="vertical-align: top; text-align: left">23002.0</td>
<td style="vertical-align: top; text-align: left">26.06</td>
<td style="vertical-align: top; text-align: left">23737.0</td>
<td style="vertical-align: top; text-align: left">28.64</td>
<td style="vertical-align: top; text-align: left">3.096432</td>
<td style="vertical-align: top; text-align: left">(0.005, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">18</td>
<td style="vertical-align: top; text-align: left">3418.0</td>
<td style="vertical-align: top; text-align: left">26.94</td>
<td style="vertical-align: top; text-align: left">3674.0</td>
<td style="vertical-align: top; text-align: left">29.06</td>
<td style="vertical-align: top; text-align: left">6.967882</td>
<td style="vertical-align: top; text-align: left">(0.005, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">19</td>
<td style="vertical-align: top; text-align: left">5239.0</td>
<td style="vertical-align: top; text-align: left">28.45</td>
<td style="vertical-align: top; text-align: left">5417.0</td>
<td style="vertical-align: top; text-align: left">30.59</td>
<td style="vertical-align: top; text-align: left">3.285952</td>
<td style="vertical-align: top; text-align: left">(0.05, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">16812.09</td>
<td style="vertical-align: top; text-align: left">1904.34</td>
<td style="vertical-align: top; text-align: left">17521.0</td>
<td style="vertical-align: top; text-align: left">1987.16</td>
<td style="vertical-align: top; text-align: left">4.045895</td>
<td style="vertical-align: top; text-align: left">(0.2, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">21</td>
<td style="vertical-align: top; text-align: left">65132.0</td>
<td style="vertical-align: top; text-align: left">13060</td>
<td style="vertical-align: top; text-align: left">67245.0</td>
<td style="vertical-align: top; text-align: left">13239.3</td>
<td style="vertical-align: top; text-align: left">3.142241</td>
<td style="vertical-align: top; text-align: left">(0.2, 0)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">22</td>
<td style="vertical-align: top; text-align: left">51076.0</td>
<td style="vertical-align: top; text-align: left">6462.82</td>
<td style="vertical-align: top; text-align: left">58177.2</td>
<td style="vertical-align: top; text-align: left">9974.89</td>
<td style="vertical-align: top; text-align: left">12.206171</td>
<td style="vertical-align: top; text-align: left">(0.2, 0.1)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">23</td>
<td style="vertical-align: top; text-align: left">3671.0</td>
<td style="vertical-align: top; text-align: left">16462.8</td>
<td style="vertical-align: top; text-align: left">3894.0</td>
<td style="vertical-align: top; text-align: left">16591.9</td>
<td style="vertical-align: top; text-align: left">5.726759</td>
<td style="vertical-align: top; text-align: left">(0.2, 0.1)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">24</td>
<td style="vertical-align: top; text-align: left">48552.0</td>
<td style="vertical-align: top; text-align: left">17328.5</td>
<td style="vertical-align: top; text-align: left">52278.0</td>
<td style="vertical-align: top; text-align: left">18148.5</td>
<td style="vertical-align: top; text-align: left">7.127281</td>
<td style="vertical-align: top; text-align: left">(0.2, 0.1)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>AVG</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>35808.75</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>2432.72</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>36729.92</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>2635.98</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>3.08</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="j_infor391_tab_003">
<label>Table 3</label>
<caption>
<p>Results for solving <inline-formula id="j_infor391_ineq_307">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> and GPM without the CCG features.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Test problem <inline-formula id="j_infor391_ineq_308">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{i}}$]]></tex-math></alternatives></inline-formula> <italic>I</italic></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_309">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_310">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">ECGA</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{T}_{\mathrm{ECGA}}}$]]></tex-math></alternatives></inline-formula> (seconds)</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_311">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">GPM</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(\mathrm{GPM})$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_312">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">ECGH</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{T}_{\mathrm{ECGH}}}$]]></tex-math></alternatives></inline-formula> (seconds)</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><italic>ρ</italic> %</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">1</td>
<td style="vertical-align: top; text-align: left">24.0</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">57.0</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">57.89</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">1409.0</td>
<td style="vertical-align: top; text-align: left">26</td>
<td style="vertical-align: top; text-align: left">1417.0</td>
<td style="vertical-align: top; text-align: left">28</td>
<td style="vertical-align: top; text-align: left">0.56</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">3</td>
<td style="vertical-align: top; text-align: left">3466.0</td>
<td style="vertical-align: top; text-align: left">42</td>
<td style="vertical-align: top; text-align: left">3466.0</td>
<td style="vertical-align: top; text-align: left">42</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">4</td>
<td style="vertical-align: top; text-align: left">10837.5</td>
<td style="vertical-align: top; text-align: left">1756</td>
<td style="vertical-align: top; text-align: left">10837.5</td>
<td style="vertical-align: top; text-align: left">1756</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">46625.0</td>
<td style="vertical-align: top; text-align: left">805</td>
<td style="vertical-align: top; text-align: left">46625.0</td>
<td style="vertical-align: top; text-align: left">805</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">6</td>
<td style="vertical-align: top; text-align: left">44930.0</td>
<td style="vertical-align: top; text-align: left">1183</td>
<td style="vertical-align: top; text-align: left">44930.0</td>
<td style="vertical-align: top; text-align: left">1183</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">90099.0</td>
<td style="vertical-align: top; text-align: left">571</td>
<td style="vertical-align: top; text-align: left">90099.0</td>
<td style="vertical-align: top; text-align: left">571</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">8</td>
<td style="vertical-align: top; text-align: left">69459.0</td>
<td style="vertical-align: top; text-align: left">10819</td>
<td style="vertical-align: top; text-align: left">69459.0</td>
<td style="vertical-align: top; text-align: left">10819</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">9</td>
<td style="vertical-align: top; text-align: left">136174.0</td>
<td style="vertical-align: top; text-align: left">5379</td>
<td style="vertical-align: top; text-align: left">136174.0</td>
<td style="vertical-align: top; text-align: left">5379</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">10</td>
<td style="vertical-align: top; text-align: left">16922.66</td>
<td style="vertical-align: top; text-align: left">284</td>
<td style="vertical-align: top; text-align: left">17068.0</td>
<td style="vertical-align: top; text-align: left">492</td>
<td style="vertical-align: top; text-align: left">0.85</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">11</td>
<td style="vertical-align: top; text-align: left">40307.99</td>
<td style="vertical-align: top; text-align: left">2656</td>
<td style="vertical-align: top; text-align: left">40802.0</td>
<td style="vertical-align: top; text-align: left">4025</td>
<td style="vertical-align: top; text-align: left">1.21</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">12</td>
<td style="vertical-align: top; text-align: left">58437.42</td>
<td style="vertical-align: top; text-align: left">9349</td>
<td style="vertical-align: top; text-align: left">59157.0</td>
<td style="vertical-align: top; text-align: left">10691</td>
<td style="vertical-align: top; text-align: left">1.22</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">13</td>
<td style="vertical-align: top; text-align: left">1837.0</td>
<td style="vertical-align: top; text-align: left">15</td>
<td style="vertical-align: top; text-align: left">1837.0</td>
<td style="vertical-align: top; text-align: left">15</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">14</td>
<td style="vertical-align: top; text-align: left">21389.0</td>
<td style="vertical-align: top; text-align: left">1015</td>
<td style="vertical-align: top; text-align: left">21703.44</td>
<td style="vertical-align: top; text-align: left">2055</td>
<td style="vertical-align: top; text-align: left">1.45</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">15</td>
<td style="vertical-align: top; text-align: left">70301.44</td>
<td style="vertical-align: top; text-align: left">476272</td>
<td style="vertical-align: top; text-align: left">71545.0</td>
<td style="vertical-align: top; text-align: left">481129</td>
<td style="vertical-align: top; text-align: left">1.74</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">16</td>
<td style="vertical-align: top; text-align: left">16571.33</td>
<td style="vertical-align: top; text-align: left">838</td>
<td style="vertical-align: top; text-align: left">17094.0</td>
<td style="vertical-align: top; text-align: left">1042</td>
<td style="vertical-align: top; text-align: left">3.06</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">17</td>
<td style="vertical-align: top; text-align: left">37442.45</td>
<td style="vertical-align: top; text-align: left">7014</td>
<td style="vertical-align: top; text-align: left">38060.0</td>
<td style="vertical-align: top; text-align: left">8222</td>
<td style="vertical-align: top; text-align: left">1.62</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">18</td>
<td style="vertical-align: top; text-align: left">3304.0</td>
<td style="vertical-align: top; text-align: left">1178</td>
<td style="vertical-align: top; text-align: left">3528.0</td>
<td style="vertical-align: top; text-align: left">1693</td>
<td style="vertical-align: top; text-align: left">6.35</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">19</td>
<td style="vertical-align: top; text-align: left">3410.13</td>
<td style="vertical-align: top; text-align: left">10640</td>
<td style="vertical-align: top; text-align: left">3528.0</td>
<td style="vertical-align: top; text-align: left">14012</td>
<td style="vertical-align: top; text-align: left">3.34</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">11292.95</td>
<td style="vertical-align: top; text-align: left">1207</td>
<td style="vertical-align: top; text-align: left">12492.0</td>
<td style="vertical-align: top; text-align: left">1376</td>
<td style="vertical-align: top; text-align: left">9.60</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">21</td>
<td style="vertical-align: top; text-align: left">23051.92</td>
<td style="vertical-align: top; text-align: left">6769</td>
<td style="vertical-align: top; text-align: left">23824.0</td>
<td style="vertical-align: top; text-align: left">17679</td>
<td style="vertical-align: top; text-align: left">3.24</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">22</td>
<td style="vertical-align: top; text-align: left">53427.27</td>
<td style="vertical-align: top; text-align: left">85003</td>
<td style="vertical-align: top; text-align: left">54761.0</td>
<td style="vertical-align: top; text-align: left">225112</td>
<td style="vertical-align: top; text-align: left">2.44</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">23</td>
<td style="vertical-align: top; text-align: left">145.59</td>
<td style="vertical-align: top; text-align: left">8323</td>
<td style="vertical-align: top; text-align: left">145.59</td>
<td style="vertical-align: top; text-align: left">9457</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">24</td>
<td style="vertical-align: top; text-align: left">271.41</td>
<td style="vertical-align: top; text-align: left">34284</td>
<td style="vertical-align: top; text-align: left">290.91</td>
<td style="vertical-align: top; text-align: left">36578</td>
<td style="vertical-align: top; text-align: left">6.70</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>AVG</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>31714.00</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>27726.25</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>32037.52</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>34756.92</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>4.22</bold></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We begin by presenting computational results pertaining to solving Model GPM using Heuristic ECGH based on a set of 24 test problems having up to 100 vertices with different partitioning requirements. Tables <xref rid="j_infor391_tab_002">2</xref> and <xref rid="j_infor391_tab_003">3</xref>, respectively, present our computational experience in solving Model GPM with and without the CCG Features. Note that because the weights associated with Problem GPP are randomly generated, repeated implementations of Heuristic ECGH might produce different objective function values, optimality gaps and run-times for a given test problem. Also, observe that in Proposition <xref rid="j_infor391_stat_005">2</xref>, we have assumed that Problem SP is solved using <inline-formula id="j_infor391_ineq_313">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
{\varepsilon _{2}}=0$]]></tex-math></alternatives></inline-formula>, in which case we have the provable lower bound given either by <inline-formula id="j_infor391_ineq_314">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(\overline{\mathrm{GPM}})$]]></tex-math></alternatives></inline-formula> if <inline-formula id="j_infor391_ineq_315">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$]]></tex-math></alternatives></inline-formula> or otherwise by <inline-formula id="j_infor391_ineq_316">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup></mml:math><tex-math><![CDATA[$
{\mathit{LB}^{\ast }}$]]></tex-math></alternatives></inline-formula>. However, when using a tolerance <inline-formula id="j_infor391_ineq_317">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">&gt;</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
{\varepsilon _{2}}>0$]]></tex-math></alternatives></inline-formula> while solving Problem SP, we can modify Proposition <xref rid="j_infor391_stat_005">2</xref> to assert that the established duality gap is given by <inline-formula id="j_infor391_ineq_318">
<alternatives><mml:math><mml:mo>−</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:msup><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="normal">SP</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>⩾</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
-n{\tau ^{\ast }}(\mathrm{SP})+n{\varepsilon _{2}}\geqslant 0$]]></tex-math></alternatives></inline-formula>, with <inline-formula id="j_infor391_ineq_319">
<alternatives><mml:math><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">←</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="italic">LB</mml:mi></mml:mrow><mml:mrow><mml:mo>∗</mml:mo></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:mi mathvariant="italic">n</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{LB}^{\ast }}\gets {\mathit{LB}^{\ast }}-n{\varepsilon _{2}}$]]></tex-math></alternatives></inline-formula>. The use of this lower bounding scheme is instrumental in curtailing the tailing-off effect associated with column generation. Hence, for each test problem, we first set <inline-formula id="j_infor391_ineq_320">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}={\varepsilon _{2}}=0$]]></tex-math></alternatives></inline-formula> and try to solve Model GPM within some specified time. In case a solution is not obtainable, we then set <inline-formula id="j_infor391_ineq_321">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$
{\varepsilon _{2}}=0$]]></tex-math></alternatives></inline-formula> and set <inline-formula id="j_infor391_ineq_322">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula> to some sufficiently small value and gradually increment it until we reach a solution within the specified time. For test instances that remain unsolved, we set <inline-formula id="j_infor391_ineq_323">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{2}}$]]></tex-math></alternatives></inline-formula> to a sufficiently small positive value and increment it until we obtain a solution within the specified time. From our preliminary computational experiments, we noticed that solving Problem SP even with the default cutting plane feature of CPLEX was cumbersome in some test instances, especially those having a relatively large number of vertices, while the time to update the solution to GPM was in most cases just a few seconds.</p>
<p>In order to better understand the efficiency of the CCG Features and its contribution toward enhancing the solution quality for Model GPM, we experimented with solving this model using Heuristic ECGH both with and without the CCG Features. As shown in Tables <xref rid="j_infor391_tab_002">2</xref> and <xref rid="j_infor391_tab_003">3</xref>, the incorporation of the CCG Features reduced the average solution time for solving Model <inline-formula id="j_infor391_ineq_324">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> by 11-fold and for solving Model GPM by 12-fold. This substantial reduction in the average solution times is attained by virtue of mitigating the tailing-off effect at termination. The average optimality gap at termination when solving Model GPM with and without the enhancing features are given by 3.08% and 4.22%, respectively. Although the higher average optimality gap obtained for the latter is skewed because of the relatively high optimality gap of 57.89% obtained when solving problem <inline-formula id="j_infor391_ineq_325">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">TP</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathit{TP}_{1}}$]]></tex-math></alternatives></inline-formula> (without this test case, the average optimality gap is given by 1.88%), but still the significant reduction in the average solution time when using the CCG Features strengthens the robustness of the proposed column generation approach.</p>
<table-wrap id="j_infor391_tab_004">
<label>Table 4</label>
<caption>
<p>Ssummary of run-times and optimality gaps for model GPM.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Problem set</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Test problems</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Max number of vertices</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Least <inline-formula id="j_infor391_ineq_326">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">ECGH</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{T}_{\mathrm{ECGH}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Largest <inline-formula id="j_infor391_ineq_327">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">ECGH</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{T}_{\mathrm{ECGH}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Ave <inline-formula id="j_infor391_ineq_328">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">ECGH</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\mathrm{T}_{\mathrm{ECGH}}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Least <italic>ρ</italic> %</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Largest <italic>ρ</italic> %</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Ave <italic>ρ</italic> %</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_329">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{1}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_330">
<alternatives><mml:math><mml:mi mathvariant="italic">TP</mml:mi><mml:msub><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">TP</mml:mi><mml:msub><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
\mathit{TP}{1_{1}},\dots ,\mathit{TP}{1_{10}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">36</td>
<td style="vertical-align: top; text-align: left">1.48</td>
<td style="vertical-align: top; text-align: left">1825.81</td>
<td style="vertical-align: top; text-align: left">260.75</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">5.88</td>
<td style="vertical-align: top; text-align: left">1.35</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_331">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{2}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_332">
<alternatives><mml:math><mml:mi mathvariant="italic">TP</mml:mi><mml:msub><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">TP</mml:mi><mml:msub><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
\mathit{TP}{1_{11}},\dots ,\mathit{TP}{1_{21}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">84</td>
<td style="vertical-align: top; text-align: left">24.12</td>
<td style="vertical-align: top; text-align: left">13239.30</td>
<td style="vertical-align: top; text-align: left">2348.93</td>
<td style="vertical-align: top; text-align: left">0.07</td>
<td style="vertical-align: top; text-align: left">6.96</td>
<td style="vertical-align: top; text-align: left">3.48</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_333">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{3}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_334">
<alternatives><mml:math><mml:mi mathvariant="italic">TP</mml:mi><mml:msub><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">TP</mml:mi><mml:msub><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>24</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
\mathit{TP}{1_{22}},\dots ,\mathit{TP}{1_{24}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">100</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">9974.89</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">18148.50</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">13587.56</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">5.72</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">12.22</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">8.35</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="j_infor391_tab_005">
<label>Table 5</label>
<caption>
<p>Tolerances for model <inline-formula id="j_infor391_ineq_335">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> and problem SP.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Problem set</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Least <inline-formula id="j_infor391_ineq_336">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Largest <inline-formula id="j_infor391_ineq_337">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Average <inline-formula id="j_infor391_ineq_338">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{1}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Least <inline-formula id="j_infor391_ineq_339">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{2}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Largest <inline-formula id="j_infor391_ineq_340">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{2}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Average <inline-formula id="j_infor391_ineq_341">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\varepsilon _{2}}$]]></tex-math></alternatives></inline-formula></td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_342">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{1}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor391_ineq_343">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{2}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">0.00001</td>
<td style="vertical-align: top; text-align: left">0.02</td>
<td style="vertical-align: top; text-align: left">0.0400</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">0</td>
<td style="vertical-align: top; text-align: left">0</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor391_ineq_344">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{3}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.2</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.2</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.2</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.1</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.1</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In the remainder of this section, we focus and analyse results obtained using the CCG Features. To provide insights into the performance of our approach for solving Model GPM, we partition our test problems into three sets, denoted by <inline-formula id="j_infor391_ineq_345">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{1}},{S_{2}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor391_ineq_346">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{3}}$]]></tex-math></alternatives></inline-formula>, based on the number of vertices ranging up to 36, 84, and 100, respectively. Tables <xref rid="j_infor391_tab_004">4</xref> and <xref rid="j_infor391_tab_005">5</xref> provide results for these partitioned subsets of problems. As expected, with an increase in the number of vertices, both the total run-time for solving Model GPM using ECGH and the resulting optimality gap at termination increased. Test problems from the set <inline-formula id="j_infor391_ineq_347">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{1}}$]]></tex-math></alternatives></inline-formula> (with <inline-formula id="j_infor391_ineq_348">
<alternatives><mml:math><mml:mi mathvariant="italic">n</mml:mi><mml:mo>⩽</mml:mo><mml:mn>36</mml:mn></mml:math><tex-math><![CDATA[$
n\leqslant 36$]]></tex-math></alternatives></inline-formula>) were solvable without using any termination tolerances for solving either <inline-formula id="j_infor391_ineq_349">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> or Problem SP, and in this case the least, largest, and average optimality gaps obtained were given by 0%, 5.88%, and 1.35%, respectively. For test problems from <inline-formula id="j_infor391_ineq_350">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{2}}$]]></tex-math></alternatives></inline-formula> (having <inline-formula id="j_infor391_ineq_351">
<alternatives><mml:math><mml:mi mathvariant="italic">n</mml:mi><mml:mo>⩽</mml:mo><mml:mn>84</mml:mn></mml:math><tex-math><![CDATA[$
n\leqslant 84$]]></tex-math></alternatives></inline-formula>), we solved Model <inline-formula id="j_infor391_ineq_352">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> using a range of incrementally increasing gap tolerances. In this case, the least, largest, and average optimality gaps obtained were given by 0.7%, 6.96%, and 3.45%, respectively. For test problems in <inline-formula id="j_infor391_ineq_353">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{S_{3}}$]]></tex-math></alternatives></inline-formula> (having <inline-formula id="j_infor391_ineq_354">
<alternatives><mml:math><mml:mi mathvariant="italic">n</mml:mi><mml:mo>⩽</mml:mo><mml:mn>100</mml:mn></mml:math><tex-math><![CDATA[$
n\leqslant 100$]]></tex-math></alternatives></inline-formula>), using the aforementioned modified lower bounding result, the least, largest, and average optimality gaps obtained were given by 5.72%, 12.22%, and 8.35%, respectively.</p>
</sec>
<sec id="j_infor391_s_013">
<label>7</label>
<title>Summary, Conclusions and Future Research</title>
<p>This paper examines a graph partitioning problem that is concerned with the partitioning of a complete weighted graph <inline-formula id="j_infor391_ineq_355">
<alternatives><mml:math><mml:mi mathvariant="italic">G</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">V</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">E</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$
G(V,E)$]]></tex-math></alternatives></inline-formula> into <italic>n</italic> complete subgraphs each having the same number of <italic>α</italic> vertices, with the objective of minimizing the total weight of edges included in the subgraphs. This problem has many applications in various contexts such as assignment-related group partitioning problems, micro aggregation in statistics, telecommunication, and political redistricting. To solve this problem, we formulated a mixed-integer program, denoted by GPM, which directly attempts to select a minimum-cost collection of <italic>n</italic> valid partitions from the entire set of valid partitions in order to constitute an <italic>n</italic>-<italic>partition</italic>. Exploiting the structure of Model GPM, we then designed a column generation heuristic (ECGH) that incorporates the following three enhancing features for solving this model: (a) a lower bounding facility based on solving the pricing subproblem, which helps to curtail the tailing off effect typically associated with column generation; (b) a complementary column generation feature that attempts to generate multiple columns at each iteration to constitute a feasible <italic>n-partition</italic>, and (c) the generation of initial columns for Model GPM that serve to provide a starting basis as well as to restrict the dual solution space, thereby contributing toward dual stabilization.</p>
<p>Detailed computational results were presented for solving Model GPM. These results demonstrated that the CCG Features proposed for enhancing the traditional column generation framework yielded comparable quality solutions (3% optimality on average) with respect to the standard classical column generation approach while reducing the average run-time for solving Models <inline-formula id="j_infor391_ineq_356">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> and GPM by 11-fold and 12-fold, respectively. Based on our computational results, we propose investigating further algorithmic strategies for dealing with relatively larger problems. In particular, solving Problem SP within algorithm ECGH was especially cumbersome in test instances of Problem GPP that involve a relatively large number of vertices. In fact, we were able to obtain reasonable solutions for up to 100 vertices for Model GPM, but for problems having 150 vertices, we were unable to solve even the linear programming relaxation of Problem SP after two days of run-time. Hence, we recommend exploring some alternative ways for solving Problem SP, including a polyhedral analysis coupled with more effective heuristic solution approaches.</p>
<p>Another extension worth exploring for solving Model GPM is as follows. Let <inline-formula id="j_infor391_ineq_357">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="normal">LR</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\overline{\mathrm{GPM}}_{\mathrm{LR}}}$]]></tex-math></alternatives></inline-formula> be the current restricted version of Model <inline-formula id="j_infor391_ineq_358">
<alternatives><mml:math><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$
\overline{\mathrm{GPM}}$]]></tex-math></alternatives></inline-formula> obtained from the final iteration of Algorithm ECGH. We can then solve <inline-formula id="j_infor391_ineq_359">
<alternatives><mml:math><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi mathvariant="normal">GPM</mml:mi></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi mathvariant="normal">LR</mml:mi></mml:mrow></mml:msub></mml:math><tex-math><![CDATA[$
{\overline{\mathrm{GPM}}_{\mathrm{LR}}}$]]></tex-math></alternatives></inline-formula> to optimality as a 0-1 program directly using a commercial package such as CPLEX by utilizing some suitable specialized decomposition scheme as necessary, in order to obtain a good quality feasible solution to Model GPM. This might be particularly attractive because of the complementary column generation strategy implemented within the solution process (Ghoniem and Sherali, <xref ref-type="bibr" rid="j_infor391_ref_013">2009</xref>). Moreover, this solution approach can further provide facility to consider equity issues within the vertex partitioning scheme through the addition of suitable side-constraints, which are difficult otherwise to accommodate within the column generation modelling and solution process. In the future, we also aim to explore alternative modelling approaches for Problem GPP that attempt to directly generate the required partitions and use decomposition schemes such as Lagrangian relaxation while incorporating necessary equity.</p>
</sec>
</body>
<back>
<ack id="j_infor391_ack_001">
<title>Acknowledgements</title>
<p>The authors gratefully acknowledge the assistance of Ms. Renju Lekshmi in implementing the developed procedures.</p> </ack>
<ref-list id="j_infor391_reflist_001">
<title>References</title>
<ref id="j_infor391_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Barnhart</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Johnson</surname>, <given-names>E.L.</given-names></string-name>, <string-name><surname>Nemhauser</surname>, <given-names>G.L.</given-names></string-name>, <string-name><surname>Savelsbergh</surname>, <given-names>M.W.</given-names></string-name>, <string-name><surname>Vance</surname>, <given-names>P.H.</given-names></string-name> (<year>1998</year>). <article-title>Branch-and-price column generation for solving huge integer programs</article-title>. <source>Operation Research</source>, <volume>46</volume>(<issue>3</issue>), <fpage>316</fpage>–<lpage>329</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_002">
<mixed-citation publication-type="book"><string-name><surname>Bazaraa</surname>, <given-names>M.S.</given-names></string-name>, <string-name><surname>Jarvis</surname>, <given-names>J.J.</given-names></string-name>, <string-name><surname>Sherali</surname>, <given-names>H.D.</given-names></string-name> (<year>2010</year>). <source>Linear Programming and Network Flows</source>. <edition>4</edition>th ed. <publisher-name>John Wiley and Sons</publisher-name>, <publisher-loc>Hoboken, New Jersey</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Carlson</surname>, <given-names>R.C.</given-names></string-name>, <string-name><surname>Nemhauser</surname>, <given-names>G.L.</given-names></string-name> (<year>1966</year>). <article-title>Scheduling to minimize interaction costs</article-title>. <source>Operations Research</source>, <volume>14</volume>, <fpage>52</fpage>–<lpage>58</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Chlebikova</surname>, <given-names>J.</given-names></string-name> (<year>1996</year>). <article-title>Approximating the maximally balanced connected partition problem in graphs</article-title>. <source>Information Processing Letters</source>, <volume>60</volume>, <fpage>225</fpage>–<lpage>230</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Conforti</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Rao</surname>, <given-names>M.R.</given-names></string-name> (<year>1990</year>a). <article-title>The equipartition polytope. I: formulations, dimension and basic facets</article-title>. <source>Mathematical Programming</source>, <volume>49</volume>, <fpage>49</fpage>–<lpage>70</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>Conforti</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Rao</surname>, <given-names>M.R.</given-names></string-name> (<year>1990</year>b). <article-title>The equipartition polytope. II: valid inequalities and facets</article-title>. <source>Mathematical Programming</source>, <volume>49</volume>, <fpage>71</fpage>–<lpage>90</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>Domingo-Ferrer</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Mateo-Sanz</surname>, <given-names>J.M.</given-names></string-name> (<year>2002</year>). <article-title>Practical data oriented microaggregation for statistical disclosure control</article-title>. <source>IEEE Transactions on Knowledge and Data Engineering</source>, <volume>14</volume>(<issue>1</issue>), <fpage>189</fpage>–<lpage>201</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Donath</surname>, <given-names>W.E.</given-names></string-name>, <string-name><surname>Hoffman</surname>, <given-names>A.J.</given-names></string-name> (<year>1973</year>). <article-title>Lower bounds for the partitioning of graphs</article-title>. <source>IBM Journal of Research and Development</source>, <volume>17</volume>(<issue>5</issue>), <fpage>420</fpage>–<lpage>425</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Fan</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Pardalos</surname>, <given-names>P.M.</given-names></string-name> (<year>2010</year>). <article-title>Linear and quadratic programming approaches for the general graph partitioning problem</article-title>. <source>Journal of Global Optimization</source>, <volume>48</volume>, <fpage>57</fpage>–<lpage>71</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Fan</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Pardalos</surname>, <given-names>P.M.</given-names></string-name> (<year>2012</year>). <article-title>Multi-way clustering and biclustering by the ratio cut and normalized cut in graphs</article-title>. <source>Journal of Combinatorial Optimization</source>, <volume>23</volume>, <fpage>224</fpage>–<lpage>251</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_011">
<mixed-citation publication-type="chapter"><string-name><surname>Fan</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Pardalos</surname>, <given-names>P.M.</given-names></string-name>, <string-name><surname>Chinchuluun</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Pistikopoulos</surname>, <given-names>E.N.</given-names></string-name> (<year>2009</year>). <chapter-title>Graph partitioning approaches for analyzing biological networks</chapter-title>. In: <source>BIOMAT 2009 – International Symposium on Mathematical and Computational Biology</source>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Garey</surname>, <given-names>M.R.</given-names></string-name>, <string-name><surname>Johnson</surname>, <given-names>D.S.</given-names></string-name>, <string-name><surname>Stockmeyer</surname>, <given-names>L.</given-names></string-name> (<year>1976</year>). <article-title>Some simplified NP-complete graph problems</article-title>. <source>Theoretical Computer Science</source>, <volume>1</volume>, <fpage>237</fpage>–<lpage>267</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Ghoniem</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Sherali</surname>, <given-names>H.D.</given-names></string-name> (<year>2009</year>). <article-title>Complementary column generation and bounding approaches for set partitioning formulations</article-title>. <source>Optimization Letters</source>, <volume>3</volume>(<issue>1</issue>), <fpage>123</fpage>–<lpage>136</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_014">
<mixed-citation publication-type="chapter"><string-name><surname>Goldschmidt</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Hochbaum</surname>, <given-names>D.</given-names></string-name> (<year>1988</year>). <chapter-title>Polynomial algorithm for the <italic>k</italic>-cut problem</chapter-title>. In: <source>29th Annual IEEE Symposium on Foundations of Computer Science</source>. <publisher-name>IEEE Computer Society</publisher-name>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_015">
<mixed-citation publication-type="journal"><string-name><surname>Grotschel</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Wakabayashi</surname>, <given-names>Y.</given-names></string-name> (<year>1989</year>). <article-title>A cutting plane algorithm for a clustering problem</article-title>. <source>Mathematical Programming</source>, <volume>45</volume>, <fpage>59</fpage>–<lpage>96</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_016">
<mixed-citation publication-type="journal"><string-name><surname>Grotschel</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Wakabayashi</surname>, <given-names>Y.</given-names></string-name> (<year>1990</year>). <article-title>Facets of the clique partitioning polytope</article-title>. <source>Mathematical Programming</source>, <volume>47</volume>, <fpage>367</fpage>–<lpage>387</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Hager</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Krylyuk</surname>, <given-names>Y.</given-names></string-name> (<year>1999</year>). <article-title>Graph partitioning and continuous quadratic programming</article-title>. <source>SIAM J. Discret. Math</source>, <volume>12</volume>(<issue>4</issue>), <fpage>500</fpage>–<lpage>523</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_018">
<mixed-citation publication-type="journal"><string-name><surname>Hager</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Krylyuk</surname>, <given-names>Y.</given-names></string-name> (<year>2002</year>). <article-title>Multiset graph partitioning</article-title>. <source>Math. Meth. Oper Res</source>, <volume>55</volume>, <fpage>1</fpage>–<lpage>10</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_019">
<mixed-citation publication-type="other"><string-name><surname>Ji</surname>, <given-names>X.</given-names></string-name> (2004). <italic>Graph partitioning problem with minimum weight constraints</italic>. Technical Report, Rensselaer Polytechnic Institute, Graduate Faculty, New York, NY.</mixed-citation>
</ref>
<ref id="j_infor391_ref_020">
<mixed-citation publication-type="chapter"><string-name><surname>Karisch</surname>, <given-names>S.E.</given-names></string-name>, <string-name><surname>Rendl</surname>, <given-names>F.</given-names></string-name> (<year>1998</year>). <chapter-title>Semidefinite programming and graph equipartition</chapter-title>. In: <string-name><surname>Pardalos</surname>, <given-names>P.M.</given-names></string-name>, <string-name><surname>Wolkowicz</surname>, <given-names>H.</given-names></string-name> (Eds.), <source>Topics in Semidefinite and Interior-Point Methods</source>. <publisher-name>American Mathematical Society</publisher-name>, <publisher-loc>USA</publisher-loc>, pp. <fpage>77</fpage>–<lpage>95</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_021">
<mixed-citation publication-type="journal"><string-name><surname>Karypis</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Aggarwal</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Kumar</surname>, <given-names>V.</given-names></string-name>, <string-name><surname>Shekhar</surname>, <given-names>S.</given-names></string-name> (<year>1999</year>). <article-title>Multilevel hypergraph partitioning: applications in VLSI domain</article-title>. <source>IEEE Transactions on Very Large Scale Integration (VLSI) Systems</source>, <volume>7</volume>(<issue>1</issue>), <fpage>69</fpage>–<lpage>79</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_022">
<mixed-citation publication-type="journal"><string-name><surname>Laguna</surname>, <given-names>M.</given-names></string-name> (<year>1994</year>). <article-title>Clustering for the design of SONET rings in interoffice telecommunications</article-title>. <source>Management Science</source>, <volume>40</volume>(<issue>11</issue>), <fpage>1533</fpage>–<lpage>1541</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Lisser</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Rendl</surname>, <given-names>F.</given-names></string-name> (<year>2003</year>). <article-title>Graph partitioning using linear and semidefinite programming</article-title>. <source>Mathematical Programming Series B</source>, <volume>95</volume>, <fpage>91</fpage>–<lpage>101</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_024">
<mixed-citation publication-type="journal"><string-name><surname>Mehrotra</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Trick</surname>, <given-names>M.A.</given-names></string-name> (<year>1998</year>). <article-title>Cliques and clustering: a combinatorial approach</article-title>. <source>Operation Research Letters</source>, <volume>22</volume>, <fpage>1</fpage>–<lpage>12</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_025">
<mixed-citation publication-type="journal"><string-name><surname>Mehrotra</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Johnson</surname>, <given-names>E.L.</given-names></string-name>, <string-name><surname>Nemhauser</surname>, <given-names>G.L.</given-names></string-name> (<year>1998</year>). <article-title>An optimization based heuristic for political districting</article-title>. <source>Management Science</source>, <volume>44</volume>(<issue>8</issue>), <fpage>1100</fpage>–<lpage>1114</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_026">
<mixed-citation publication-type="other"><string-name><surname>Mitchell</surname>, <given-names>J.E.</given-names></string-name> (2001). <italic>Branch-and-cut for the k-way equipartition problem</italic>. Technical Report, Rensselaer Polytechnic Institute Troy, NY.</mixed-citation>
</ref>
<ref id="j_infor391_ref_027">
<mixed-citation publication-type="journal"><string-name><surname>Mitchell</surname>, <given-names>J.E.</given-names></string-name> (<year>2003</year>). <article-title>Realignment in the National Football League: did they do it right?</article-title> <source>Naval Research Logistics</source>, <volume>50</volume>(<issue>7</issue>), <fpage>683</fpage>–<lpage>701</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_028">
<mixed-citation publication-type="journal"><string-name><surname>Park</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Park</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>H.</given-names></string-name> (<year>2000</year>). <article-title>Telecomunication node clustering with node compatibility and network survivability requirements</article-title>. <source>Management Science</source>, <volume>46</volume>(<issue>3</issue>), <fpage>363</fpage>–<lpage>374</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_029">
<mixed-citation publication-type="journal"><string-name><surname>Salgado</surname>, <given-names>L.R.</given-names></string-name>, <string-name><surname>Wakabayashi</surname>, <given-names>Y.</given-names></string-name> (<year>2004</year>). <article-title>Approximation results on balanced connected partitions of graphs</article-title>. <source>Electronic Notes in Discrete Mathematics</source>, <volume>18</volume>, <fpage>207</fpage>–<lpage>212</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_030">
<mixed-citation publication-type="journal"><string-name><surname>Salido</surname>, <given-names>M.A.</given-names></string-name>, <string-name><surname>Abril</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Barber</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Ingolotti</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Tormos</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Lova</surname>, <given-names>A.</given-names></string-name> (<year>2007</year>). <article-title>Domain-dependent distributed models for railway scheduling</article-title>. <source>Knowledge Based Systems</source>, <volume>20</volume>, <fpage>186</fpage>–<lpage>194</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_031">
<mixed-citation publication-type="journal"><string-name><surname>Schaeffer</surname>, <given-names>S.E.</given-names></string-name> (<year>2007</year>). <article-title>Survey: graph clustering</article-title>. <source>Computer Science Review</source>, <volume>1</volume>, <fpage>27</fpage>–<lpage>64</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_032">
<mixed-citation publication-type="chapter"><string-name><surname>Sherali</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Warren</surname>, <given-names>A.</given-names></string-name> (<year>1998</year>). <chapter-title>Reformulation-linearization techniques for discrete optimization problems</chapter-title>. In: <string-name><surname>Du</surname>, <given-names>D.Z.</given-names></string-name>, <string-name><surname>Pardalos</surname>, <given-names>P.M.</given-names></string-name> (Eds.), <source>Handbook of Combinatorial Optimization</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>Boston, MA</publisher-loc>, pp. <fpage>479</fpage>–<lpage>532</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_033">
<mixed-citation publication-type="journal"><string-name><surname>Tan</surname>, <given-names>Y.P.</given-names></string-name>, <string-name><surname>Lu</surname>, <given-names>H.</given-names></string-name> (<year>2003</year>). <article-title>Video scene clustering by graph partitioning</article-title>. <source>Electronics Letters</source>, <volume>39</volume>(<issue>11</issue>), <fpage>841</fpage>–<lpage>842</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_034">
<mixed-citation publication-type="journal"><string-name><surname>Wolkowicz</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>Q.</given-names></string-name> (<year>1996</year>). <article-title>Semidefinite programming relaxations for the graph partitioning problem</article-title>. <source>Discrete Applied Mathematics</source>, <volume>96–97</volume>, <fpage>461</fpage>–<lpage>479</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_035">
<mixed-citation publication-type="journal"><string-name><surname>Xiao</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Cao</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Shao</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Zhuge</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Shao</surname>, <given-names>E.H.M.</given-names></string-name> (<year>2007</year>). <article-title>Analysis and algorithms design for the partition of large-scale adaptive mobile wireless networks</article-title>. <source>Computer Communications</source>, <volume>30</volume>, <fpage>1899</fpage>–<lpage>1912</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_036">
<mixed-citation publication-type="journal"><string-name><surname>Xiaoyun</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Mitchell</surname>, <given-names>J.</given-names></string-name> (<year>2005</year>). <article-title>Finding optimal realighment in sports leagues using a branch-and-cut-and-price approach</article-title>. <source>International Journal of Operational Research</source>, <volume>1</volume>(<issue>1–2</issue>), <fpage>101</fpage>–<lpage>122</lpage>.</mixed-citation>
</ref>
<ref id="j_infor391_ref_037">
<mixed-citation publication-type="chapter"><string-name><surname>Zha</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>He</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Ding</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Simon</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Gu</surname>, <given-names>M.</given-names></string-name> (<year>2001</year>). <chapter-title>Bipartite graph partitioning and data clustering</chapter-title>. In: <source>CIKM’01: Proceedings of the Tenth International Conference on Information and Knowledge Management</source>. <publisher-name>ACM Press</publisher-name>, <publisher-loc>New York, NY</publisher-loc>, pp. <fpage>25</fpage>–<lpage>32</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>