<?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">INFOR610</article-id>
<article-id pub-id-type="doi">10.15388/25-INFOR610</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Global Optimization Algorithm for the Multi-Weber Problem with Polyhedral Barriers</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Kepalas</surname><given-names>Mindaugas</given-names></name><email xlink:href="mindaugas.kepalas@mif.stud.vu.lt">mindaugas.kepalas@mif.stud.vu.lt</email><xref ref-type="aff" rid="j_infor610_aff_001"/><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>M. Kepalas</bold> is a PhD student at the Institute of Data Science and Digital Technologies, Vilnius University, Lithuania. His research interests are global optimization, location problems with constraints, net-constrained clustering, mathematical programming, optimization algorithms and applications.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Žilinskas</surname><given-names>Julius</given-names></name><email xlink:href="julius.zilinskas@mif.vu.lt">julius.zilinskas@mif.vu.lt</email><xref ref-type="aff" rid="j_infor610_aff_001"/><bio>
<p><bold>J. Žilinskas</bold> is a research professor and a head of Global optimization group at the Institute of Data Science and Digital Technologies, Vilnius University, Lithuania. His research interests are global optimization, parallel computing, data analysis and visualization. He published around 100 international journal papers and 4 books. He is a member of editorial boards of 10 international journals. He is a vice president of the International Society of Global Optimization.</p></bio>
</contrib>
<aff id="j_infor610_aff_001"><institution>Vilnius University, Faculty of Mathematics and Informatics, Institute of Data Science and Digital Technologies</institution>, Akademijos st. 4, Vilnius, LT-08412, <country>Lithuania</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2025</year></pub-date><pub-date pub-type="epub"><day>21</day><month>11</month><year>2025</year></pub-date><volume>36</volume><issue>4</issue><fpage>875</fpage><lpage>902</lpage><history><date date-type="received"><month>8</month><year>2025</year></date><date date-type="accepted"><month>11</month><year>2025</year></date></history>
<permissions><copyright-statement>© 2025 Vilnius University</copyright-statement><copyright-year>2025</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>In this paper, we consider the multi-Weber problem with polyhedral barriers. For this problem, a set of obstacles are introduced where travelling or placement is prohibited, which makes the distance metric non-convex and requires constructing a special graph for calculating the distances between pairs of points. For obtaining the global solution of the problem, we build a branch and bound algorithm with pruning criteria based on dividing clients into groups and analysing them separately. We have managed to obtain global solutions to several multi-Weber with polyhedral barriers problem size instances which to our knowledge have not been reported before.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>multi-Weber problem with barriers</kwd>
<kwd>clustering problems with centre location constraints</kwd>
<kwd>global optimization</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_infor610_s_001">
<label>1</label>
<title>Introduction</title>
<p>This paper considers the problem of determining the global solution of a general continuous multi-locations problem, where a set of clients (i.e. points at given coordinates) have to be assigned to a set of facilities, for which the optimal locations have to be determined. In the paper, the distance from a client to a facility is assumed to be arbitrary in a sense that it is not necessarily measured by the standard Euclidean distance between two points; in particular, in our numerical part we consider the multi-Weber with polyhedral barriers problem. For this problem, a set of obstacles are introduced where travelling or facility placement is prohibited, which makes the distance metric non-convex. Also, we assume that the facilities could in addition be restricted to an arbitrary non-convex finite subset of the plane (e.g. this could be a union of a set of segments and triangles).</p>
<p>At optimality for the problems which are studied in this paper, a client always chooses the closest facility, thus the problem can be also seen as a clustering problem: the goal is to find the optimal partition of the clients into groups (clusters), and then the optimal facility can be determined for each cluster independently. Thus, for obtaining the global solution of the multi-locations problem, we employ a branch and bound with an all-possible-partitions enumeration tree and pruning criteria. The pruning criteria roughly uses the following simple idea: if we divide the clients into two groups and find the optimal solution within each group separately, summing the two terms we obtain a lower bound estimate for the partitions within a corresponding branch.</p>
<p>The Weber problem, i.e. the problem of determining the coordinates of the optimal point minimizing the sum of the Euclidean distances to other given points, has a long and rich history, many extensions and publications (Drezner <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor610_ref_007">2002</xref>). The extension we concentrate on in this paper was probably firstly introduced by Aneja and Parlar (<xref ref-type="bibr" rid="j_infor610_ref_002">1994</xref>). In this model, obstacles (barriers) in the plane are introduced; it is not allowed to travel through these barriers or to place a solution point inside. In real life, such barriers could be considered to represent lakes or buildings on a geographical map, or some prohibited places in printed circuit boards (Hamacher and Nickel, <xref ref-type="bibr" rid="j_infor610_ref_010">1995</xref>).</p>
<p>The Weber location with barriers problem has attracted the attention of many scientists. However, most of the work concentrates on solving the single location problem, see e.g. Aneja and Parlar (<xref ref-type="bibr" rid="j_infor610_ref_002">1994</xref>), Klamroth (<xref ref-type="bibr" rid="j_infor610_ref_012">2002</xref>), Bischoff and Klamroth (<xref ref-type="bibr" rid="j_infor610_ref_003">2007</xref>), Oğuz <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor610_ref_015">2016</xref>). The first reason for this is the following motivation: having a “good” algorithm for the single location problem, we can implement a location-allocation algorithm in the style of Cooper (<xref ref-type="bibr" rid="j_infor610_ref_005">1964</xref>). For example, such an algorithm for multilocations with polyhedral barriers problem is considered by Bischoff <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor610_ref_004">2009</xref>). The second reason why the case of multilocations has not received much scientific effort might be related to the combinatorial complexity of this problem.</p>
<p>The only non-theoretical work dedicated to the multi-Weber with barriers problem we have found in the scientific literature is the thesis of Krau (<xref ref-type="bibr" rid="j_infor610_ref_014">1997</xref>). In his work, the author extends the column generation principle of Gilmore and Gomory (<xref ref-type="bibr" rid="j_infor610_ref_009">1961</xref>) to the problem. The column generation approach seems to provide a benchmark solution for several clustering-like problems such as the minimum sum of squares clustering (Aloise <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor610_ref_001">2012</xref>) or the (barrierless) multi-Weber problem (du Merle <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor610_ref_008">1999</xref>). Using this method, Krau (<xref ref-type="bibr" rid="j_infor610_ref_014">1997</xref>) solves the problem presented by Aneja and Parlar (<xref ref-type="bibr" rid="j_infor610_ref_002">1994</xref>) which consists of 18 points and 12 barriers, and also an extended version of this problem with 30 points, for cluster sizes <inline-formula id="j_infor610_ineq_001"><alternatives><mml:math>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>7</mml:mn></mml:math><tex-math><![CDATA[$K=2,\dots ,7$]]></tex-math></alternatives></inline-formula>.</p>
<p>As the results indicate, the cases with small <italic>K</italic> seem to be the hardest for a column generation based algorithm (Krau, <xref ref-type="bibr" rid="j_infor610_ref_014">1997</xref>). However, with our approach we have solved the problem instances of <inline-formula id="j_infor610_ineq_002"><alternatives><mml:math>
<mml:mn>60</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$60/2$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_003"><alternatives><mml:math>
<mml:mn>45</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>3</mml:mn></mml:math><tex-math><![CDATA[$45/3$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_004"><alternatives><mml:math>
<mml:mn>40</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>4</mml:mn></mml:math><tex-math><![CDATA[$40/4$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_005"><alternatives><mml:math>
<mml:mn>35</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>5</mml:mn></mml:math><tex-math><![CDATA[$35/5$]]></tex-math></alternatives></inline-formula> (<inline-formula id="j_infor610_ineq_006"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi></mml:math><tex-math><![CDATA[$N/K$]]></tex-math></alternatives></inline-formula> means “<italic>N</italic> points into <italic>K</italic> clusters”) to global optimality (within <italic>ϵ</italic>-accuracy with <inline-formula id="j_infor610_ineq_007"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$\epsilon =1\% $]]></tex-math></alternatives></inline-formula>). To our knowledge, this is the first time the solution of instances with such a size to global optimality is reported. Moreover, we think our approach is very general. We believe the ideas could be also extended to other variants of multi-Weber problems.</p>
<p>Our paper is structured as follows. In Section <xref rid="j_infor610_s_002">2</xref>, we formulate the general model of the problem we seek to solve in this paper. In Section <xref rid="j_infor610_s_005">3</xref>, we describe the building blocks of our approach and give some mathematical proofs of intuitively rather obvious facts. Using these blocks, in Section <xref rid="j_infor610_s_017">4</xref> we present the sketch of the enumeration algorithm. Finally, in Section <xref rid="j_infor610_s_018">5</xref>, we clarify algorithm details for the multi-Weber with polyhedral barriers problem and give an analysis of the performance of the algorithm.</p>
</sec>
<sec id="j_infor610_s_002">
<label>2</label>
<title>General Multi-Locations (Clustering) Problem</title>
<p>Let us formulate the following general multi-locations (clustering) problem: 
<disp-formula id="j_infor610_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo mathvariant="normal">,</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:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mrow>
</mml:munder>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mspace width="1em"/>
<mml:mtext>s.t.</mml:mtext>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \underset{({\mathcal{C}_{1}},,{\mu _{1}}),\dots ,({\mathcal{C}_{K}},{\mu _{K}})}{\min }{\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}}}d({p_{i}},{\mu _{k}})\hspace{1em}\text{s.t.}\hspace{1em}{\mu _{k}}\in {\mathcal{R}^{\cup }},\hspace{1em}k=1,\dots ,K.\]]]></tex-math></alternatives>
</disp-formula> 
<bold>Problem input</bold>: 
<list>
<list-item id="j_infor610_li_001">
<label>•</label>
<p><italic>N</italic> “points”, “clients” <inline-formula id="j_infor610_ineq_008"><alternatives><mml:math>
<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:mo mathvariant="normal">,</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<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:math><tex-math><![CDATA[${p_{1}},{p_{2}},\dots ,{p_{N}}$]]></tex-math></alternatives></inline-formula> in the problem space <inline-formula id="j_infor610_ineq_009"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula>: these are the elements we want to group into clusters. In our numerical part for the multi-Weber with barriers problem, these are points in <inline-formula id="j_infor610_ineq_010"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathbb{R}^{2}}$]]></tex-math></alternatives></inline-formula>, but the theoretical ideas could also be applied to points in an arbitrary <inline-formula id="j_infor610_ineq_011"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathbb{R}^{D}}$]]></tex-math></alternatives></inline-formula> with dimension <inline-formula id="j_infor610_ineq_012"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$D\gt 2$]]></tex-math></alternatives></inline-formula>, or even other elements from some more complex space <inline-formula id="j_infor610_ineq_013"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula>, e.g. some function space.</p>
</list-item>
<list-item id="j_infor610_li_002">
<label>•</label>
<p><italic>K</italic> – the number of clusters.</p>
</list-item>
<list-item id="j_infor610_li_003">
<label>•</label>
<p><inline-formula id="j_infor610_ineq_014"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> – the constrained set for cluster centres. This set is a union of <italic>M</italic> “containers”, “cells” or “region-units” <inline-formula id="j_infor610_ineq_015"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</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="script">R</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="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{1}},{\mathcal{R}_{2}},\dots ,{\mathcal{R}_{M}}$]]></tex-math></alternatives></inline-formula>: <inline-formula id="j_infor610_ineq_016"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">⋃</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}={\textstyle\bigcup _{m=1}^{M}}{\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>. See further comments on <inline-formula id="j_infor610_ineq_017"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> in Section <xref rid="j_infor610_s_003">2.1</xref>.</p>
</list-item>
<list-item id="j_infor610_li_004">
<label>•</label>
<p>Distance metric (function) <inline-formula id="j_infor610_ineq_018"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="script">S</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="script">S</mml:mi>
<mml:mo stretchy="false">↦</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$d:\mathcal{S}\times \mathcal{S}\mapsto {\mathbb{R}^{+}}$]]></tex-math></alternatives></inline-formula> to measure the distance between a “client” <inline-formula id="j_infor610_ineq_019"><alternatives><mml:math>
<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:math><tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> and a “facility” <inline-formula id="j_infor610_ineq_020"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{k}}$]]></tex-math></alternatives></inline-formula>. In this paper, we concentrate on a multi-location with barriers problem, where obstacles (barriers) in the plane are introduced. Any allowed path between points <inline-formula id="j_infor610_ineq_021"><alternatives><mml:math>
<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:math><tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_022"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{k}}$]]></tex-math></alternatives></inline-formula> must not cross any of the barriers.</p>
</list-item>
</list> 
<bold>Problem variables</bold>: 
<list>
<list-item id="j_infor610_li_005">
<label>•</label>
<p>Cluster centres (“facilities”) <inline-formula id="j_infor610_ineq_023"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{k}}$]]></tex-math></alternatives></inline-formula>, constrained to be placed within the set <inline-formula id="j_infor610_ineq_024"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor610_eq_002">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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: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">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mu _{k}}\in {\mathcal{R}^{\cup }},\hspace{1em}k=1,\dots ,K.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
<list-item id="j_infor610_li_006">
<label>•</label>
<p>Corresponding clusters<xref ref-type="fn" rid="j_infor610_fn_001">1</xref><fn id="j_infor610_fn_001"><label><sup>1</sup></label>
<p>A partition of the set <inline-formula id="j_infor610_ineq_025"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</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:mi mathvariant="italic">N</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathbb{N}_{1}^{N}}=\{1,2,\dots ,N\}$]]></tex-math></alternatives></inline-formula>: <inline-formula id="j_infor610_ineq_026"><alternatives><mml:math>
<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">K</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\textstyle\bigcup _{k=1}^{K}}{\mathcal{C}_{k}}={\mathbb{N}_{1}^{N}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_027"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>∅</mml:mi></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}\cap {\mathcal{C}_{l}}=\varnothing $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_028"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mi mathvariant="italic">l</mml:mi></mml:math><tex-math><![CDATA[$k\ne l$]]></tex-math></alternatives></inline-formula>.</p></fn> <inline-formula id="j_infor610_ineq_029"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_030"><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">K</mml:mi></mml:math><tex-math><![CDATA[$k=1,\dots ,K$]]></tex-math></alternatives></inline-formula>. These are the sets of “clients” assigned to “facility” at <inline-formula id="j_infor610_ineq_031"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{k}}$]]></tex-math></alternatives></inline-formula>. Somewhat, such variable is redundant, because in our problem formulation each “client” is assigned to the closest “facility”, thus the clusters are determined given <inline-formula id="j_infor610_ineq_032"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{k}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_033"><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">K</mml:mi></mml:math><tex-math><![CDATA[$k=1,\dots ,K$]]></tex-math></alternatives></inline-formula>. However, this notion will be useful when considering the <italic>k</italic>-means-type (location-allocation) algorithm discussed further and also for the branch and bound enumeration algorithm presented in the paper.</p>
</list-item>
</list> 
Our goal is to find the global solution to problem (<xref rid="j_infor610_eq_001">1</xref>). Using notation 
<disp-formula id="j_infor610_eq_003">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</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">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mtext>for</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">n</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">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathbb{P}_{{n_{1}}}^{{n_{2}}}}=\{{p_{{n_{1}}}},\dots ,{p_{{n_{2}}}}\},\hspace{1em}\text{for}\hspace{2.5pt}{n_{1}}\leqslant {n_{2}},\]]]></tex-math></alternatives>
</disp-formula> 
we label problem (<xref rid="j_infor610_eq_001">1</xref>) with <inline-formula id="j_infor610_ineq_034"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }}]$]]></tex-math></alternatives></inline-formula> for short.<xref ref-type="fn" rid="j_infor610_fn_002">2</xref><fn id="j_infor610_fn_002"><label><sup>2</sup></label>
<p>In words, “cluster the point set <inline-formula id="j_infor610_ineq_035"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathbb{P}_{1}^{N}}$]]></tex-math></alternatives></inline-formula> into (/) <italic>K</italic> clusters given a condition (|) that cluster centres are restricted to be within <inline-formula id="j_infor610_ineq_036"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula>”.</p></fn> Correspondingly, we also label the globally optimal (minimal) value of (<xref rid="j_infor610_eq_001">1</xref>) with <inline-formula id="j_infor610_ineq_037"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}([{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }}])$]]></tex-math></alternatives></inline-formula>.</p>
<sec id="j_infor610_s_003">
<label>2.1</label>
<title>Constrained Set <inline-formula id="j_infor610_ineq_038"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula></title>
<p>In the most general case, we assume that the constrained set <inline-formula id="j_infor610_ineq_039"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> is a (finite) union of arbitrary closed and bounded subsets (“region-units”) of the problem space <inline-formula id="j_infor610_ineq_040"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor610_eq_004">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">⋃</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">⊂</mml:mo>
<mml:mi mathvariant="script">S</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">m</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">M</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{R}^{\cup }}={\bigcup \limits_{m=1}^{M}}{\mathcal{R}_{m}},\hspace{2em}{\mathcal{R}_{m}}\subset \mathcal{S},\hspace{1em}m=1,\dots ,M.\]]]></tex-math></alternatives>
</disp-formula> 
The bounded property is not restrictive for the problem, since the set <inline-formula id="j_infor610_ineq_041"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<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:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\{{p_{1}},\dots ,{p_{N}}\}$]]></tex-math></alternatives></inline-formula>, as a finite set of points, is always bounded, and it can be shown that this implies that all optimal centres <inline-formula id="j_infor610_ineq_042"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{k}}$]]></tex-math></alternatives></inline-formula> for the problem (<xref rid="j_infor610_eq_001">1</xref>) always lie within some bounded subset of <inline-formula id="j_infor610_ineq_043"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{S}$]]></tex-math></alternatives></inline-formula>. In addition, the closed property for each region-unit <inline-formula id="j_infor610_ineq_044"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> ensures that for any <inline-formula id="j_infor610_ineq_045"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$p\in \mathcal{S}$]]></tex-math></alternatives></inline-formula>, we can always find the nearest and the furthest points <inline-formula id="j_infor610_ineq_046"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{m}^{\inf }}\in {\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_047"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{m}^{\sup }}\in {\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>, such that 
<disp-formula id="j_infor610_eq_005">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</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="align-odd"/>
<mml:mtd class="align-even">
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi>∞</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& d\big(p,{\mu _{m}^{\inf }}\big)=\underset{\mu \in {\mathcal{R}_{m}}}{\inf }d(p,\mu )\geqslant 0,\\ {} & d\big(p,{\mu _{m}^{\sup }}\big)=\underset{\mu \in {\mathcal{R}_{m}}}{\sup }d(p,\mu )\lt \infty .\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>As a less general example (for the multi-locations with polyhedral barriers problem we study in the numerical part of this paper), we define <inline-formula id="j_infor610_ineq_048"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> to be a union of (arbitrary) polygons. We note that any such set <inline-formula id="j_infor610_ineq_049"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> of (possibly, overlapping) polygons can be decomposed into a union of (non-overlapping) triangles by some triangulation method,<xref ref-type="fn" rid="j_infor610_fn_003">3</xref><fn id="j_infor610_fn_003"><label><sup>3</sup></label>
<p>See for example the implementation in [R] sfdtc package (Sumner, <xref ref-type="bibr" rid="j_infor610_ref_019">2025</xref>).</p></fn> where by “non-overlapping” we mean that all the triangles will “touch” only along the sides. Such decomposition is also possible if some of the region-units <inline-formula id="j_infor610_ineq_050"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.2778em"/>
<mml:mi mathvariant="italic">m</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">M</mml:mi></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}},\hspace{0.2778em}m=1,\dots ,M$]]></tex-math></alternatives></inline-formula> are segments; then <inline-formula id="j_infor610_ineq_051"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> can be decomposed into a union of “non-overlapping” segments and triangles.</p>
<p>Going to higher dimensions, e.g. for <inline-formula id="j_infor610_ineq_052"><alternatives><mml:math>
<mml:mi mathvariant="script">S</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$\mathcal{S}={\mathbb{R}^{3}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_053"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> could be decomposed into a union of segments, triangles and tetrahedrons (Paulavičius and Žilinskas, <xref ref-type="bibr" rid="j_infor610_ref_016">2013</xref>), etc., we can continue to higher dimensional Euclidean spaces. This “decomposition into simplices” is a separate research topic and we do not consider this question in our paper. Therefore, in our numerical part for the multi-Weber with barriers problem we assume that <inline-formula id="j_infor610_ineq_054"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">⋃</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}={\textstyle\bigcup _{m=1}^{M}}{\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> is provided as a union of triangles <inline-formula id="j_infor610_ineq_055"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_056"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</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">M</mml:mi></mml:math><tex-math><![CDATA[$m=1,\dots ,M$]]></tex-math></alternatives></inline-formula>.</p>
</sec>
<sec id="j_infor610_s_004">
<label>2.2</label>
<title>Alternative Problem Formulation and an Iterative Algorithm to Obtain a Local Solution</title>
<p>For an arbitrary cluster <inline-formula id="j_infor610_ineq_057"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<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:mn>2</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[${\mathcal{C}_{k}}\subseteq \{1,2,\dots ,N\}$]]></tex-math></alternatives></inline-formula> and an arbitrary centre <inline-formula id="j_infor610_ineq_058"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[${\mu _{k}}\in \mathcal{S}$]]></tex-math></alternatives></inline-formula>, define the related loss for this cluster-centre pair <inline-formula id="j_infor610_ineq_059"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:math><tex-math><![CDATA[$({\mathcal{C}_{k}},{\mu _{k}})$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor610_eq_006">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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: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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \textbf{Loss}({\mathcal{C}_{k}},{\mu _{k}})=\sum \limits_{i\in {\mathcal{C}_{k}}}d({p_{i}},{\mu _{k}}).\]]]></tex-math></alternatives>
</disp-formula> 
With this definition, the loss in (<xref rid="j_infor610_eq_001">1</xref>) can be written this way: 
<disp-formula id="j_infor610_eq_007">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mspace width="0.1667em"/>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}}}d({p_{i}},{\mu _{k}})={\sum \limits_{k=1}^{K}}\hspace{0.1667em}\textbf{Loss}({\mathcal{C}_{k}},{\mu _{k}}).\]]]></tex-math></alternatives>
</disp-formula> 
As can be seen from the above equation, the optimal centres given a predefined partition of the clients into clusters can be found independently. Therefore, (<xref rid="j_infor610_eq_001">1</xref>) can be rewritten this way: 
<disp-formula id="j_infor610_eq_008">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mspace width="0.2778em"/>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mspace width="0.1667em"/>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
<mml:mspace width="0.1667em"/>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \underset{{\mathcal{C}_{1}},\dots ,{\mathcal{C}_{K}}}{\min }\hspace{0.2778em}{\sum \limits_{k=1}^{K}}\hspace{0.1667em}\underset{{\mu _{k}}\in {\mathcal{R}^{\cup }}}{\min }\hspace{0.1667em}\textbf{Loss}({\mathcal{C}_{k}},{\mu _{k}}).\]]]></tex-math></alternatives>
</disp-formula> 
Formulation (<xref rid="j_infor610_eq_008">3</xref>) can be noticed to lead us to the classical location-allocation (Cooper, <xref ref-type="bibr" rid="j_infor610_ref_005">1964</xref>) (<italic>k</italic>-means-type) algorithm: 
<list>
<list-item id="j_infor610_li_007">
<label>Step 1.</label>
<p>Given the (fixed) clusters <inline-formula id="j_infor610_ineq_060"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}},\dots ,{\mathcal{C}_{K}}$]]></tex-math></alternatives></inline-formula>, determine (update) optimal cluster centres: 
<disp-formula id="j_infor610_eq_009">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">arg min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
<mml:mspace width="0.1667em"/>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mu _{k}}=\underset{\mu \in {\mathcal{R}^{\cup }}}{\operatorname{arg\,min}}\hspace{0.1667em}\textbf{Loss}({\mathcal{C}_{k}},\mu ),\hspace{1em}k=1,\dots ,K.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
<list-item id="j_infor610_li_008">
<label>Step 2.</label>
<p>For the (fixed) cluster centrees <inline-formula id="j_infor610_ineq_061"><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 mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{1}},\dots ,{\mu _{K}}$]]></tex-math></alternatives></inline-formula>, determine (update) optimal clusters: 
<disp-formula id="j_infor610_eq_010">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.2778em"/>
<mml:mo>∀</mml:mo>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo stretchy="false">≠</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<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">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{C}_{k}}=\big\{i:d({p_{i}},{\mu _{k}})\lt d({p_{i}},{\mu _{l}}),\hspace{0.2778em}\forall l\ne k\big\},\hspace{1em}k=1,\dots ,K.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</list-item>
</list> 
Repeating the procedure above, the loss (<xref rid="j_infor610_eq_008">3</xref>) decreases with every step, and at the termination we are guaranteed to arrive at a local solution of problem (<xref rid="j_infor610_eq_001">1</xref>), i.e. at a solution which cannot be improved by switching cluster memberships or changing cluster centres. For the multi-Weber with polyhedral barriers problem, see, for example, such a location-allocation algorithm by Bischoff <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor610_ref_004">2009</xref>).</p>
</sec>
</sec>
<sec id="j_infor610_s_005">
<label>3</label>
<title>Building Blocks of the Algorithm</title>
<sec id="j_infor610_s_006">
<label>3.1</label>
<title>Enumeration Tree</title>
<p>To find the global solution of problem (<xref rid="j_infor610_eq_001">1</xref>), we could theoretically enumerate all the possible partitions of the index set <inline-formula id="j_infor610_ineq_062"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</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[${\mathbb{N}_{1}^{N}}=\{1,\dots ,N\}$]]></tex-math></alternatives></inline-formula> into <italic>K</italic> clusters <inline-formula id="j_infor610_ineq_063"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}},\dots ,{\mathcal{C}_{K}}$]]></tex-math></alternatives></inline-formula>, find the optimal centres for each possible clustering, and pick the best solution.</p>
<p>Such an approach would be brutal and would allow to solve only very small problems, as there are <inline-formula id="j_infor610_ineq_064"><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:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${S_{2}}(N,K)$]]></tex-math></alternatives></inline-formula> of such partitions into clusters.<xref ref-type="fn" rid="j_infor610_fn_004">4</xref><fn id="j_infor610_fn_004"><label><sup>4</sup></label>
<p>Here, <inline-formula id="j_infor610_ineq_065"><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:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo>∙</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>∙</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${S_{2}}(\bullet ,\bullet )$]]></tex-math></alternatives></inline-formula> is Stirling’s number of the 2nd kind. This number satisfies the recursive relation 
<disp-formula id="j_infor610_eq_011">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<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: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">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<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:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</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:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {S_{2}}(N+1,K)=K{S_{2}}(N,K)+{S_{2}}(N,K-1),\]]]></tex-math></alternatives>
</disp-formula> 
and from this formula one can calculate that, e.g. <inline-formula id="j_infor610_ineq_066"><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:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>18</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>798</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>806</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>985</mml:mn></mml:math><tex-math><![CDATA[${S_{2}}(18,4)=2,798,806,985$]]></tex-math></alternatives></inline-formula> – already a very big number. Furthermore, from (<xref rid="j_infor610_eq_011">4</xref>) one can see that adding any additional element to the clustering problem (and keeping the number of clusters fixed at <italic>K</italic>) increases the number of partitions more than <italic>K</italic> times, i.e. this number grows exponentially.</p></fn> Nevertheless, we have shown in our recent article (Kepalas and Žilinskas, <xref ref-type="bibr" rid="j_infor610_ref_011">2024</xref>) on a related problem that having a good pruning criteria, problems of size <inline-formula id="j_infor610_ineq_067"><alternatives><mml:math>
<mml:mn>50</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>7</mml:mn></mml:math><tex-math><![CDATA[$50/7$]]></tex-math></alternatives></inline-formula> (i.e. <inline-formula id="j_infor610_ineq_068"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>50</mml:mn></mml:math><tex-math><![CDATA[$N=50$]]></tex-math></alternatives></inline-formula> points into <inline-formula id="j_infor610_ineq_069"><alternatives><mml:math>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>7</mml:mn></mml:math><tex-math><![CDATA[$K=7$]]></tex-math></alternatives></inline-formula> clusters) become possible to solve using this approach. We will discuss the pruning criteria in Section <xref rid="j_infor610_s_007">3.2</xref>. For now, consider the tree <inline-formula id="j_infor610_ineq_070"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula> in Fig. <xref rid="j_infor610_fig_001">1</xref>, which visualizes such an enumeration procedure.</p>
<fig id="j_infor610_fig_001">
<label>Fig. 1</label>
<caption>
<p>Clustering enumeration tree <inline-formula id="j_infor610_ineq_071"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula> for the algorithm.</p>
</caption>
<graphic xlink:href="infor610_g001.jpg"/>
</fig>
<p>In the tree, the <italic>n</italic>-th level (distance from the root <inline-formula id="j_infor610_ineq_072"><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>) of the node corresponds to the <italic>n</italic>-th element in the set <inline-formula id="j_infor610_ineq_073"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<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:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\{{p_{1}},\dots ,{p_{N}}\}$]]></tex-math></alternatives></inline-formula>, and the label <italic>λ</italic> of the corresponding node represents the cluster (index) to which this element is assigned along the path. As an example, the highlighted path <inline-formula id="j_infor610_ineq_074"><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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${v_{1}}{v_{2}}{v_{3}}{v_{4}}{v_{5}}$]]></tex-math></alternatives></inline-formula> in Fig. <xref rid="j_infor610_fig_001">1</xref> results in a sequence 
<disp-formula id="j_infor610_eq_012">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">λ</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" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">λ</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>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">λ</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>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">λ</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>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">λ</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>5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \lambda ({v_{1}})=1,\hspace{2.5pt}\lambda ({v_{2}})=2,\hspace{2.5pt}\lambda ({v_{3}})=2,\hspace{2.5pt}\lambda ({v_{4}})=1,\hspace{2.5pt}\lambda ({v_{5}})=3,\]]]></tex-math></alternatives>
</disp-formula> 
which corresponds to clustering 
<disp-formula id="j_infor610_eq_013">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>5</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{C}_{1}}=\{1,4\},\hspace{2.5pt}{\mathcal{C}_{2}}=\{2,3\},\hspace{2.5pt}{\mathcal{C}_{3}}=\{5\}.\]]]></tex-math></alternatives>
</disp-formula> 
In general, the enumeration procedure is as follows: 
<list>
<list-item id="j_infor610_li_009">
<label>•</label>
<p>Start with the first element in the first cluster <inline-formula id="j_infor610_ineq_075"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}}=\{1\}$]]></tex-math></alternatives></inline-formula> and the remaining clusters empty: <inline-formula id="j_infor610_ineq_076"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>∅</mml:mi></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}=\varnothing $]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_077"><alternatives><mml:math>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi></mml:math><tex-math><![CDATA[$k=2,\dots ,K$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor610_li_010">
<label>•</label>
<p>When assigning the next element to a cluster (i.e. when going to the next level), you are only allowed to put the corresponding element</p>
<list>
<list-item id="j_infor610_li_011">
<label>1)</label>
<p>into a non-empty cluster or</p>
</list-item>
<list-item id="j_infor610_li_012">
<label>2)</label>
<p>into an empty cluster with the lowest index.</p>
<list>
<list-item id="j_infor610_li_013">
<label>–</label>
<p>By two rules, the 2nd element can be assigned to either <inline-formula id="j_infor610_ineq_078"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}}$]]></tex-math></alternatives></inline-formula> or <inline-formula id="j_infor610_ineq_079"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{2}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor610_li_014">
<label>–</label>
<p>For the 3rd element, <inline-formula id="j_infor610_ineq_080"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{3}}$]]></tex-math></alternatives></inline-formula> might not be available (in case <inline-formula id="j_infor610_ineq_081"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}}=\{1,2\}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_082"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>∅</mml:mi></mml:math><tex-math><![CDATA[${\mathcal{C}_{2}}=\varnothing $]]></tex-math></alternatives></inline-formula>; see the nodes at the 3rd level of <inline-formula id="j_infor610_ineq_083"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula>).</p>
</list-item>
<list-item id="j_infor610_li_015">
<label>–</label>
<p>For the 4th element, see the nodes at the 4th level of <inline-formula id="j_infor610_ineq_084"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula> and etc.</p>
</list-item>
</list>
</list-item>
</list>
</list-item>
<list-item id="j_infor610_li_016">
<label>•</label>
<p>Terminating at the leaf-node <inline-formula id="j_infor610_ineq_085"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{N}}\in \mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula>, we obtain clustering 
<disp-formula id="j_infor610_eq_014">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</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:mspace width="0.1667em"/>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mo>…</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mo>…</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mo fence="true" stretchy="false">}</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{C}_{1}}=\{1,\dots \hspace{0.1667em}\},\hspace{2.5pt}{\mathcal{C}_{2}}=\{\dots \hspace{0.1667em}\},\hspace{2.5pt}\dots ,\hspace{2.5pt}{\mathcal{C}_{K}}=\{\dots \hspace{0.1667em}\}\]]]></tex-math></alternatives>
</disp-formula> 
by tracing the labels in the path from the root-node to the leaf-node.</p>
</list-item>
</list> 
It can be shown by simple arguments that this way the nodes <inline-formula id="j_infor610_ineq_086"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${v_{n}}$]]></tex-math></alternatives></inline-formula> at the level <italic>n</italic> enumerate all the possible partitions of the set <inline-formula id="j_infor610_ineq_087"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">{</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:mi mathvariant="italic">n</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\{1,2,\dots ,n\}$]]></tex-math></alternatives></inline-formula> into no more than <italic>K</italic> groups. We notate such partition associated with any vertex <inline-formula id="j_infor610_ineq_088"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{n}}\in \mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_infor610_ineq_089"><alternatives><mml:math>
<mml:mi mathvariant="script">P</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">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{P}({v_{n}})$]]></tex-math></alternatives></inline-formula>, i.e. <inline-formula id="j_infor610_ineq_090"><alternatives><mml:math>
<mml:mi mathvariant="script">P</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">n</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:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{P}({v_{n}})=\{{\mathcal{C}_{1}}({v_{n}}),\dots ,{\mathcal{C}_{K}}({v_{n}})\}$]]></tex-math></alternatives></inline-formula>.<xref ref-type="fn" rid="j_infor610_fn_005">5</xref><fn id="j_infor610_fn_005"><label><sup>5</sup></label>
<p><inline-formula id="j_infor610_ineq_091"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<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>…</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: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:mi mathvariant="italic">i</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:mn>2</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:mo>:</mml:mo>
<mml:mi mathvariant="italic">λ</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" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}({v_{n}})={\mathcal{C}_{k}}({v_{1}}{v_{2}}\dots {v_{n}})=\{i\in \{1,2,\dots ,n\}:\lambda ({v_{i}})=k\}$]]></tex-math></alternatives></inline-formula>.</p></fn> When <inline-formula id="j_infor610_ineq_092"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$n\lt N$]]></tex-math></alternatives></inline-formula>, to emphasize that not all <italic>N</italic> points are yet assigned to some cluster, we sometimes call such a partition “partial” and add the symbol <italic>∂</italic> to our notation, i.e. <inline-formula id="j_infor610_ineq_093"><alternatives><mml:math>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="script">P</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">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="script">P</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">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\partial \mathcal{P}({v_{n}})=\mathcal{P}({v_{n}})$]]></tex-math></alternatives></inline-formula> for <inline-formula id="j_infor610_ineq_094"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$n\lt N$]]></tex-math></alternatives></inline-formula>. Also, we notate the set of all the vertices at the level <italic>N</italic> with <inline-formula id="j_infor610_ineq_095"><alternatives><mml:math>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{L}(N,K)$]]></tex-math></alternatives></inline-formula> (this is the leaf-node set of the tree).</p>
</sec>
<sec id="j_infor610_s_007">
<label>3.2</label>
<title>Pruning Criteria</title>
<p>The pruning criterion is based on the following simple observation.</p><statement id="j_infor610_stat_001"><label>Theorem 1</label>
<title>(<italic>Lower bound by division into two groups</italic>)<italic>.</italic></title>
<p>Consider a division of the point set <inline-formula id="j_infor610_ineq_096"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<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:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathbb{P}_{1}^{N}}=\{{p_{1}},\dots ,{p_{N}}\}$]]></tex-math></alternatives></inline-formula> into two groups <inline-formula id="j_infor610_ineq_097"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\widetilde{\mathbb{P}}_{1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_098"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\widetilde{\mathbb{P}}_{2}}$]]></tex-math></alternatives></inline-formula> s.t. <inline-formula id="j_infor610_ineq_099"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>∅</mml:mi></mml:math><tex-math><![CDATA[${\widetilde{\mathbb{P}}_{1}}\cap {\widetilde{\mathbb{P}}_{2}}=\varnothing $]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_100"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>∪</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\widetilde{\mathbb{P}}_{1}}\cup {\widetilde{\mathbb{P}}_{2}}={\mathbb{P}_{1}^{N}}$]]></tex-math></alternatives></inline-formula>. Then, 
<disp-formula id="j_infor610_eq_015">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\geqslant {\textbf{Loss}^{\text{opt}}}\big([{\widetilde{\mathbb{P}}_{1}}/K]\big|\big[{\mathcal{R}^{\cup }}\big]\big)+{\textbf{Loss}^{\text{opt}}}\big([{\widetilde{\mathbb{P}}_{2}}/K]\big|\big[{\mathcal{R}^{\cup }}\big]\big).\]]]></tex-math></alternatives>
</disp-formula>
</p></statement><statement id="j_infor610_stat_002"><label>Proof.</label>
<p>Define index sets <inline-formula id="j_infor610_ineq_101"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>:</mml:mo>
<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:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</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[${\widetilde{\mathbb{N}}_{1}}=\{i:{p_{i}}\in {\widetilde{\mathbb{P}}_{1}}\}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_102"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>:</mml:mo>
<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:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\widetilde{\mathbb{N}}_{2}}=\{i:{p_{i}}\in {\widetilde{\mathbb{P}}_{2}}\}$]]></tex-math></alternatives></inline-formula>. Suppose the globally optimal value for problem <inline-formula id="j_infor610_ineq_103"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }}]$]]></tex-math></alternatives></inline-formula> is attained for clustering <inline-formula id="j_infor610_ineq_104"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}},\dots ,{\mathcal{C}_{K}}$]]></tex-math></alternatives></inline-formula> with centres at locations <inline-formula id="j_infor610_ineq_105"><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 mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{1}},\dots ,{\mu _{K}}$]]></tex-math></alternatives></inline-formula>. Also label 
<disp-formula id="j_infor610_eq_016">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2em"/>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<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">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{C}_{k}^{\dagger }}={\mathcal{C}_{k}}\cap {\widetilde{\mathbb{N}}_{1}},\hspace{2em}{\mathcal{C}_{k}^{\mathrm{\ddagger }}}={\mathcal{C}_{k}}\cap {\widetilde{\mathbb{N}}_{2}},\hspace{1em}k=1,\dots ,K.\]]]></tex-math></alternatives>
</disp-formula> 
We have 
<disp-formula id="j_infor610_eq_017">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mo>+</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>⩾</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">[</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">]</mml:mo>
<mml:mo>+</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">[</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">]</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>⩾</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" 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[\[\begin{aligned}{}{\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)& ={\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}}}d({p_{i}},{\mu _{k}})\\ {} & ={\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}^{\dagger }}}d({p_{i}},{\mu _{k}})+{\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}^{\mathrm{\ddagger }}}}d({p_{i}},{\mu _{k}})\\ {} & \geqslant {\sum \limits_{k=1}^{K}}\bigg[\underset{\mu \in {\mathcal{R}^{\cup }}}{\min }\sum \limits_{i\in {\mathcal{C}_{k}^{\dagger }}}d({p_{i}},\mu )\bigg]+{\sum \limits_{k=1}^{K}}\bigg[\underset{\mu \in {\mathcal{R}^{\cup }}}{\min }\sum \limits_{i\in {\mathcal{C}_{k}^{\mathrm{\ddagger }}}}d({p_{i}},\mu )\bigg]\\ {} & \geqslant {\textbf{Loss}^{\text{opt}}}\big([{\widetilde{\mathbb{P}}_{1}}/K]\big|\big[{\mathcal{R}^{\cup }}\big]\big)+{\textbf{Loss}^{\text{opt}}}\big([{\widetilde{\mathbb{P}}_{2}}/K]\big|\big[{\mathcal{R}^{\cup }}\big]\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
The last inequality is justified by the reasoning that if we “relax” the partition of the set <inline-formula id="j_infor610_ineq_106"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\widetilde{\mathbb{N}}_{1}}$]]></tex-math></alternatives></inline-formula> from being “fixed” to <inline-formula id="j_infor610_ineq_107"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}^{\dagger }},\dots ,{\mathcal{C}_{K}^{\dagger }}$]]></tex-math></alternatives></inline-formula>, we can only obtain an improvement. (Same applies to <inline-formula id="j_infor610_ineq_108"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mo stretchy="true">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\widetilde{\mathbb{N}}_{2}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_109"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}^{\mathrm{\ddagger }}},\dots ,{\mathcal{C}_{K}^{\mathrm{\ddagger }}}$]]></tex-math></alternatives></inline-formula>.)  □</p></statement><statement id="j_infor610_stat_003"><label>Corollary 1.</label>
<p>Take some <inline-formula id="j_infor610_ineq_110"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$n\lt N$]]></tex-math></alternatives></inline-formula>. Then, 
<disp-formula id="j_infor610_eq_018">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\geqslant {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{n}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)+{\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{n+1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big).\]]]></tex-math></alternatives>
</disp-formula>
</p></statement>
<p>Label 
<disp-formula id="j_infor610_eq_019">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<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[\[ {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)=\underset{\mu \in {\mathcal{R}^{\cup }}}{\min }\sum \limits_{i\in {\mathcal{C}_{k}}}d({p_{i}},\mu ).\]]]></tex-math></alternatives>
</disp-formula> 
Consider some <inline-formula id="j_infor610_ineq_111"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{N}}\in \mathcal{L}(N,K)$]]></tex-math></alternatives></inline-formula> and the corresponding partition 
<disp-formula id="j_infor610_eq_020">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<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[\[ {\mathcal{P}_{N}}=\big\{{\mathcal{C}_{1}}({v_{N}}),\dots ,{\mathcal{C}_{K}}({v_{N}})\big\}.\]]]></tex-math></alternatives>
</disp-formula> 
Define 
<disp-formula id="j_infor610_eq_021">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},{\mathcal{P}_{N}}\big]\big)={\sum \limits_{k=1}^{K}}{\textbf{Loss}^{\text{opt}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{k}}({v_{N}})\big\}\big|{\mathcal{R}^{\cup }}\big).\]]]></tex-math></alternatives>
</disp-formula> 
Now suppose we are at some vertex <inline-formula id="j_infor610_ineq_112"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{n}}\in \mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula> at the level <inline-formula id="j_infor610_ineq_113"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$n\lt N$]]></tex-math></alternatives></inline-formula>, i.e., we are in the path <inline-formula id="j_infor610_ineq_114"><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: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>…</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:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${v_{1}}{v_{2}}\dots {v_{n}}$]]></tex-math></alternatives></inline-formula> which corresponds to a partial clustering <inline-formula id="j_infor610_ineq_115"><alternatives><mml:math>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\partial {\mathcal{C}_{1}}({v_{n}}),\dots ,\partial {\mathcal{C}_{K}}({v_{n}})$]]></tex-math></alternatives></inline-formula>. Consider the following problem, where <inline-formula id="j_infor610_ineq_116"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${v_{N}}$]]></tex-math></alternatives></inline-formula> is a leaf-node of the tree <inline-formula id="j_infor610_ineq_117"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula>, i.e. <inline-formula id="j_infor610_ineq_118"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{N}}\in \mathcal{L}(N,K)$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor610_eq_022">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtable displaystyle="true" columnspacing="0pt" columnalign="right left">
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mtext>s.t.</mml:mtext>
<mml:mspace width="1em"/>
<mml:mtext>vertex</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mtext>is reached through</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \begin{aligned}{}& \underset{{v_{N}}\in \mathcal{L}(N,K)}{\min }\Bigg({\sum \limits_{k=1}^{K}}{\textbf{Loss}^{\text{opt}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{k}}({v_{N}})\big\}\big|{\mathcal{R}^{\cup }}\big)\Bigg)\\ {} & \text{s.t.}\hspace{1em}\text{vertex}\hspace{2.5pt}{v_{N}}\hspace{2.5pt}\text{is reached through}\hspace{2.5pt}{v_{n}}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
Looking at the enumeration tree in Fig. <xref rid="j_infor610_fig_001">1</xref>, in problem (<xref rid="j_infor610_eq_022">7</xref>) we only consider clusterings which correspond to the branch starting at the vertex <inline-formula id="j_infor610_ineq_119"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${v_{n}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>Consider the unique path <inline-formula id="j_infor610_ineq_120"><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: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>…</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:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${v_{1}}{v_{2}}\dots {v_{n}}$]]></tex-math></alternatives></inline-formula> from <inline-formula id="j_infor610_ineq_121"><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> to <inline-formula id="j_infor610_ineq_122"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${v_{n}}$]]></tex-math></alternatives></inline-formula> and label the corresponding partial partition with <inline-formula id="j_infor610_ineq_123"><alternatives><mml:math>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="script">P</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">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\partial {\mathcal{P}_{n}}=\partial \mathcal{P}({v_{n}})$]]></tex-math></alternatives></inline-formula>. For short, we notate problem (<xref rid="j_infor610_eq_022">7</xref>) with <inline-formula id="j_infor610_ineq_124"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}]$]]></tex-math></alternatives></inline-formula>, and the optimal solution with <inline-formula id="j_infor610_ineq_125"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}([{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}])$]]></tex-math></alternatives></inline-formula>.</p>
<p>We now state the following theorem. <statement id="j_infor610_stat_004"><label>Theorem 2</label>
<title>(<italic>Optimal solution pruning criteria</italic>)<italic>.</italic></title>
<p>
<disp-formula id="j_infor610_eq_023">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>⩾</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" 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[\[\begin{aligned}{}{\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)& \geqslant {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{n}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)\\ {} & \hspace{1em}+{\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{n+1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p></statement><statement id="j_infor610_stat_005"><label>Proof.</label>
<p>The proof is rather analogous to Theorem <xref rid="j_infor610_stat_001">1</xref>. Suppose the optimal value for problem (<xref rid="j_infor610_eq_022">7</xref>) is attained for clustering <inline-formula id="j_infor610_ineq_126"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}},\dots ,{\mathcal{C}_{K}}$]]></tex-math></alternatives></inline-formula> with centres at locations <inline-formula id="j_infor610_ineq_127"><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 mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mu _{1}},\dots ,{\mu _{K}}$]]></tex-math></alternatives></inline-formula>. Label 
<disp-formula id="j_infor610_eq_024">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="script">C</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">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2em"/>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<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">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{C}_{k}^{\dagger }}=\partial \mathcal{C}({v_{n}})={\mathcal{C}_{k}}\cap {\mathbb{N}_{1}^{n}},\hspace{2em}{\mathcal{C}_{k}^{\mathrm{\ddagger }}}={\mathcal{C}_{k}}\cap {\mathbb{N}_{n+1}^{N}},\hspace{1em}k=1,\dots ,K.\]]]></tex-math></alternatives>
</disp-formula> 
We have 
<disp-formula id="j_infor610_eq_025">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mo>+</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)& ={\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}}}d({p_{i}},{\mu _{k}})\\ {} & ={\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}^{\dagger }}}d({p_{i}},{\mu _{k}})+{\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}^{\mathrm{\ddagger }}}}d({p_{i}},{\mu _{k}}).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
Now if we “relax” centre locations for the first term on the right-hand-side by allowing optimization, and, similarly, centre locations and partition for the second term, we can only obtain an improvement. These “relaxations” result precisely in the definitions of <inline-formula id="j_infor610_ineq_128"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}([{\mathbb{P}_{1}^{n}}/K]|[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}])$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_129"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}([{\mathbb{P}_{n+1}^{N}}/K]|[{\mathcal{R}^{\cup }}])$]]></tex-math></alternatives></inline-formula>.  □</p></statement><italic>An idea for pruning criteria</italic>. Suppose we have an upper bound <inline-formula id="j_infor610_ineq_130"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">UB</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${L^{\mathcal{UB}}}$]]></tex-math></alternatives></inline-formula> for the problem <inline-formula id="j_infor610_ineq_131"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }}]$]]></tex-math></alternatives></inline-formula>, i.e. suppose we know that 
<disp-formula id="j_infor610_eq_026">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">UB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\leqslant {L^{\mathcal{UB}}}.\]]]></tex-math></alternatives>
</disp-formula> 
Such a bound is given by the optimal solution of any (fixed) particular clustering <inline-formula id="j_infor610_ineq_132"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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="script">C</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="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}},{\mathcal{C}_{2}},\dots ,{\mathcal{C}_{K}}$]]></tex-math></alternatives></inline-formula>. A “good quality” lower bound can be obtained by a location-allocation algorithm as discussed in Section <xref rid="j_infor610_s_004">2.2</xref>. Now, if we know that 
<disp-formula id="j_infor610_eq_027">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mo>+</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">UB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{n}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)\hspace{0.1667em}+\hspace{0.1667em}{\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{n+1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\geqslant {L^{\mathcal{UB}}}.\]]]></tex-math></alternatives>
</disp-formula> 
Theorem <xref rid="j_infor610_stat_004">2</xref> implies that <inline-formula id="j_infor610_ineq_133"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">UB</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}([{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}])\geqslant {L^{\mathcal{UB}}}$]]></tex-math></alternatives></inline-formula> and the branch corresponding to <inline-formula id="j_infor610_ineq_134"><alternatives><mml:math>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\partial {\mathcal{P}_{n}}$]]></tex-math></alternatives></inline-formula> can be cut, i.e. there is no need to explore it, as we will not find a better solution there.</p>
</sec>
<sec id="j_infor610_s_008">
<label>3.3</label>
<title>Bounds for Cluster Loss</title>
<p>Take some arbitrary cluster <inline-formula id="j_infor610_ineq_135"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<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[${\mathcal{C}_{k}}\subseteq \{1,\dots ,N\}$]]></tex-math></alternatives></inline-formula> and consider the problem 
<disp-formula id="j_infor610_eq_028">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:munder>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)=\underset{\mu \in {\mathcal{R}^{\cup }}}{\min }\sum \limits_{i\in {\mathcal{C}_{k}}}d({p_{i}},\mu ),\]]]></tex-math></alternatives>
</disp-formula> 
i.e. the problem of finding the optimal centre for a given set of points. For a distance metric <italic>d</italic> induced by a set of barriers, this is sufficiently complicated problem in itself (Klamroth, <xref ref-type="bibr" rid="j_infor610_ref_012">2002</xref>). The book suggests solving (<xref rid="j_infor610_eq_028">9</xref>) by formulating a mixed integer programming problem. Other suggested methods in the literature use heuristic algorithms (Aneja and Parlar, <xref ref-type="bibr" rid="j_infor610_ref_002">1994</xref>; Bischoff and Klamroth, <xref ref-type="bibr" rid="j_infor610_ref_003">2007</xref>).</p>
<p>Instead of trying to solve (<xref rid="j_infor610_eq_028">9</xref>) directly, we will concentrate on finding a lower bound for the problem, i.e. we will define <inline-formula id="j_infor610_ineq_136"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}(\{{p_{i}},i\in {\mathcal{C}_{k}}\}|{\mathcal{R}^{\cup }})$]]></tex-math></alternatives></inline-formula> (here, the superscript <inline-formula id="j_infor610_ineq_137"><alternatives><mml:math>
<mml:mi mathvariant="script">LB</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{LB}$]]></tex-math></alternatives></inline-formula> stands for the “lower bound”) which will satisfy 
<disp-formula id="j_infor610_eq_029">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)\leqslant {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big).\]]]></tex-math></alternatives>
</disp-formula> 
The main thing we seek for this definition is that given the bounds for some cluster <inline-formula id="j_infor610_ineq_138"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}$]]></tex-math></alternatives></inline-formula>, it would be “easy” to find the bounds for cluster <inline-formula id="j_infor610_ineq_139"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∪</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}\cup \{j\}$]]></tex-math></alternatives></inline-formula>, e.g. if we “increment” the cluster with “client” <inline-formula id="j_infor610_ineq_140"><alternatives><mml:math>
<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:math><tex-math><![CDATA[${p_{j}}$]]></tex-math></alternatives></inline-formula>.</p>
<sec id="j_infor610_s_009">
<label>3.3.1</label>
<title>The Nearest and the Furthest Point in a Region-Unit</title>
<p>Remember that we have defined <inline-formula id="j_infor610_ineq_141"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> as a union of a finite number of “region-units”: 
<disp-formula id="j_infor610_eq_030">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">⋃</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{R}^{\cup }}={\bigcup \limits_{m=1}^{M}}{\mathcal{R}_{m}}.\]]]></tex-math></alternatives>
</disp-formula> 
Consider an arbitrary “client” <inline-formula id="j_infor610_ineq_142"><alternatives><mml:math>
<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:math><tex-math><![CDATA[${p_{n}}$]]></tex-math></alternatives></inline-formula> and an arbitrary “region-unit” <inline-formula id="j_infor610_ineq_143"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}\in \{{\mathcal{R}_{1}},\dots ,{\mathcal{R}_{M}}\}$]]></tex-math></alternatives></inline-formula>. Define the nearest and the furthest points <inline-formula id="j_infor610_ineq_144"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mu _{nm}^{\inf }}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_145"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mu _{nm}^{\sup }}$]]></tex-math></alternatives></inline-formula> for <inline-formula id="j_infor610_ineq_146"><alternatives><mml:math>
<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:math><tex-math><![CDATA[${p_{n}}$]]></tex-math></alternatives></inline-formula> in cell <inline-formula id="j_infor610_ineq_147"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>: <disp-formula-group id="j_infor610_dg_001">
<disp-formula id="j_infor610_eq_031">
<label>(11a)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">arg min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {\mu _{nm}^{\inf }}=\underset{\mu \in {\mathcal{R}_{m}}}{\operatorname{arg\,min}}d({p_{n}},\mu ),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor610_eq_032">
<label>(11b)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">arg max</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<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[\[\begin{aligned}{}& {\mu _{nm}^{\sup }}=\underset{\mu \in {\mathcal{R}_{m}}}{\operatorname{arg\,max}}d({p_{n}},\mu ).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> The existence and finiteness of these points is ensured by the closed-and-bounded property of <inline-formula id="j_infor610_ineq_148"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> as discussed in Section <xref rid="j_infor610_s_003">2.1</xref>. Also, we notate the minimum and maximum distances attained at these points: <disp-formula-group id="j_infor610_dg_002">
<disp-formula id="j_infor610_eq_033">
<label>(12a)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {d_{nm}^{\hspace{0.1667em}\inf }}=\underset{\mu \in {\mathcal{R}_{m}}}{\inf }d({p_{n}},\mu )=d\big({p_{n}},{\mu _{nm}^{\inf }}\big),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor610_eq_034">
<label>(12b)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" 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[\[\begin{aligned}{}& {d_{nm}^{\hspace{0.1667em}\sup }}=\underset{\mu \in {\mathcal{R}_{m}}}{\sup }d({p_{n}},\mu )=d\big({p_{n}},{\mu _{nm}^{\sup }}\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
</sec>
<sec id="j_infor610_s_010">
<label>3.3.2</label>
<title>The Lower and Upper Bounds for the Loss of a Cluster</title>
<p>Take some arbitrary cluster <inline-formula id="j_infor610_ineq_149"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<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:mn>2</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[${\mathcal{C}_{k}}\subseteq \{1,2,\dots ,N\}$]]></tex-math></alternatives></inline-formula> and some arbitrary region-unit <inline-formula id="j_infor610_ineq_150"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}\in \{{\mathcal{R}_{1}},\dots ,{\mathcal{R}_{M}}\}$]]></tex-math></alternatives></inline-formula>. Consider the following problem: 
<disp-formula id="j_infor610_eq_035">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{m}}\big)=\underset{\mu \in {\mathcal{R}_{m}}}{\min }\sum \limits_{i\in {\mathcal{C}_{k}}}d({p_{i}},\mu ),\]]]></tex-math></alternatives>
</disp-formula> 
the problem of finding the optimal “facility” location for cluster <inline-formula id="j_infor610_ineq_151"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}$]]></tex-math></alternatives></inline-formula> when the centre is restricted to region-unit <inline-formula id="j_infor610_ineq_152"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>.</p><statement id="j_infor610_stat_006"><label>Theorem 3.</label>
<p>The following bounds are valid: 
<disp-formula id="j_infor610_eq_036">
<label>(14)</label><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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}\leqslant {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{m}}\big)\leqslant \sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\sup }}.\]]]></tex-math></alternatives>
</disp-formula>
</p></statement><statement id="j_infor610_stat_007"><label>Proof.</label>
<p>Define <inline-formula id="j_infor610_ineq_153"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[${\mu _{k}^{\text{opt}}}[m]$]]></tex-math></alternatives></inline-formula> – the optimal centre position for cluster <inline-formula id="j_infor610_ineq_154"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}$]]></tex-math></alternatives></inline-formula> in region-unit <inline-formula id="j_infor610_ineq_155"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>, i.e. the solution of (<xref rid="j_infor610_eq_035">13</xref>), which exists and is finite since <inline-formula id="j_infor610_ineq_156"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> is closed and bounded. We have 
<disp-formula id="j_infor610_eq_037">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msubsup>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\textbf{Loss}^{\text{opt}}}\big(\{{p_{n}},n\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{m}}\big)& =\underset{\mu \in {\mathcal{R}_{m}}}{\min }\sum \limits_{n\in {\mathcal{C}_{k}}}d({p_{n}},\mu )=\sum \limits_{n\in {\mathcal{C}_{k}}}d\big({p_{n}},{\mu _{k}^{\text{opt}}}[m]\big)\\ {} & \geqslant \sum \limits_{n\in {\mathcal{C}_{k}}}\underset{\mu \in {\mathcal{R}_{m}}}{\inf }d({p_{n}},\mu )=\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
Analogously, 
<disp-formula id="j_infor610_eq_038">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\textbf{Loss}^{\text{opt}}}\big(\{{p_{n}},n\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{m}}\big)& =\underset{\mu \in {\mathcal{R}_{m}}}{\min }\sum \limits_{n\in {\mathcal{C}_{k}}}d({p_{n}},\mu )\\ {} & \leqslant \sum \limits_{n\in {\mathcal{C}_{k}}}\underset{\mu \in {\mathcal{R}_{m}}}{\sup }d({p_{n}},\mu )=\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\sup }}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
 □</p></statement>
<p>Now consider the optimal loss for cluster <inline-formula id="j_infor610_ineq_157"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}$]]></tex-math></alternatives></inline-formula> in the “complete” constrained-set <inline-formula id="j_infor610_ineq_158"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_159"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}(\{{p_{i}},i\in {\mathcal{C}_{k}}\}|{\mathcal{R}^{\cup }})$]]></tex-math></alternatives></inline-formula> – as defined in (<xref rid="j_infor610_eq_028">9</xref>). Since <inline-formula id="j_infor610_ineq_160"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">⋃</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}={\textstyle\bigcup _{m=1}^{M}}{\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>, it can be seen that 
<disp-formula id="j_infor610_eq_039">
<label>(15)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)=\underset{m=1,\dots ,M}{\min }{\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{m}}\big).\]]]></tex-math></alternatives>
</disp-formula>
</p><statement id="j_infor610_stat_008"><label>Theorem 4.</label>
<p>For the optimal cluster loss <inline-formula id="j_infor610_ineq_161"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}(\{{p_{n}},i\in {\mathcal{C}_{k}}\}|{\mathcal{R}^{\cup }})$]]></tex-math></alternatives></inline-formula>, these bounds are valid: 
<disp-formula id="j_infor610_eq_040">
<label>(16)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \underset{m=1,\dots ,M}{\min }\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}\leqslant {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)\leqslant \underset{m=1,\dots ,M}{\min }\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\sup }}.\]]]></tex-math></alternatives>
</disp-formula>
</p></statement><statement id="j_infor610_stat_009"><label>Proof.</label>
<p>Since the bounds 
<disp-formula id="j_infor610_eq_041">
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}\leqslant {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{m}}\big)\leqslant \sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\sup }}\]]]></tex-math></alternatives>
</disp-formula> 
are valid element-wise (see (<xref rid="j_infor610_eq_036">14</xref>)), they must be also valid over the minimum values.  □</p></statement>
<p>Here we note that our sub-task of finding bounds for <inline-formula id="j_infor610_ineq_162"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∪</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}\cup \{j\}$]]></tex-math></alternatives></inline-formula> given bounds for <inline-formula id="j_infor610_ineq_163"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}$]]></tex-math></alternatives></inline-formula> becomes easy. For this, we have to “memorize” <italic>M</italic> sums <inline-formula id="j_infor610_ineq_164"><alternatives><mml:math>
<mml:mo mathvariant="normal" 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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({\textstyle\sum _{n\in {\mathcal{C}_{k}}}}{d_{nm}^{\hspace{0.1667em}\inf }})$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_165"><alternatives><mml:math>
<mml:mo mathvariant="normal" 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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({\textstyle\sum _{n\in {\mathcal{C}_{k}}}}{d_{nm}^{\hspace{0.1667em}\sup }})$]]></tex-math></alternatives></inline-formula>, and using them we can obtain the updated bounds in <inline-formula id="j_infor610_ineq_166"><alternatives><mml:math>
<mml:mi mathvariant="italic">O</mml:mi>
<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[$O(M)$]]></tex-math></alternatives></inline-formula> time: <disp-formula-group id="j_infor610_dg_003">
<disp-formula id="j_infor610_eq_042">
<label>(17a)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∪</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">[</mml:mo>
<mml:mo mathvariant="normal" 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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<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[\[\begin{aligned}{}& {\textbf{Loss}^{\text{opt}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{k}}\cup \{j\}\big\}\big|{\mathcal{R}^{\cup }}\big)\geqslant \underset{m=1,\dots ,M}{\min }\bigg[\bigg(\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}\bigg)+{d_{jm}^{\hspace{0.1667em}\inf }}\bigg],\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor610_eq_043">
<label>(17b)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∪</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mo fence="true" maxsize="2.03em" minsize="2.03em">[</mml:mo>
<mml:mo mathvariant="normal" 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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">j</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<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[\[\begin{aligned}{}& {\textbf{Loss}^{\text{opt}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{k}}\cup \{j\}\big\}\big|{\mathcal{R}^{\cup }}\big)\leqslant \underset{m=1,\dots ,M}{\min }\bigg[\bigg(\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\sup }}\bigg)+{d_{jm}^{\hspace{0.1667em}\sup }}\bigg].\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group></p>
</sec>
</sec>
<sec id="j_infor610_s_011">
<label>3.4</label>
<title>The Global Lower Bound</title>
<sec id="j_infor610_s_012">
<label>3.4.1</label>
<title>Definition</title>
<p>Define 
<disp-formula id="j_infor610_eq_044">
<label>(18)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)=\underset{m=1,\dots ,M}{\min }\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}.\]]]></tex-math></alternatives>
</disp-formula> 
In Theorem <xref rid="j_infor610_stat_008">4</xref> we have shown that this definition satisfies (<xref rid="j_infor610_eq_029">10</xref>): 
<disp-formula id="j_infor610_eq_045">
<label>(19)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)\leqslant {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big).\]]]></tex-math></alternatives>
</disp-formula> 
Now take some arbitrary leaf-node <inline-formula id="j_infor610_ineq_167"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{N}}\in \mathcal{L}(N,K)$]]></tex-math></alternatives></inline-formula> and consider the related partition 
<disp-formula id="j_infor610_eq_046">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<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[\[ {\mathcal{P}_{N}}=\big\{{\mathcal{C}_{1}}({v_{N}}),\dots ,{\mathcal{C}_{K}}({v_{N}})\big\}.\]]]></tex-math></alternatives>
</disp-formula> 
For each cluster <inline-formula id="j_infor610_ineq_168"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}({v_{N}})$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_169"><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">K</mml:mi></mml:math><tex-math><![CDATA[$k=1,\dots ,K$]]></tex-math></alternatives></inline-formula>, (<xref rid="j_infor610_eq_045">19</xref>) holds. Summing over all the clusters, we obtain 
<disp-formula id="j_infor610_eq_047">
<label>(20)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" 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_{k=1}^{K}}{\textbf{Loss}^{\mathcal{LB}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{k}}({v_{N}})\big\}\big|{\mathcal{R}^{\cup }}\big)\leqslant {\sum \limits_{k=1}^{K}}{\textbf{Loss}^{\text{opt}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{k}}({v_{N}})\big\}\big|{\mathcal{R}^{\cup }}\big).\]]]></tex-math></alternatives>
</disp-formula> 
The right-hand-side of this inequality is the definition of <inline-formula id="j_infor610_ineq_170"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}([{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }},{\mathcal{P}_{N}}])$]]></tex-math></alternatives></inline-formula>. Notate the left-hand-side with 
<disp-formula id="j_infor610_eq_048">
<label>(21)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},{\mathcal{P}_{N}}\big]\big)={\sum \limits_{k=1}^{K}}{\textbf{Loss}^{\mathcal{LB}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{k}}({v_{N}})\big\}\big|{\mathcal{R}^{\cup }}\big).\]]]></tex-math></alternatives>
</disp-formula> 
Now define: 
<disp-formula id="j_infor610_eq_049">
<label>(22)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="script">P</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">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)=\underset{{v_{N}}\in \mathcal{L}(N,K)}{\min }{\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\mathcal{P}({v_{N}})\big]\big).\]]]></tex-math></alternatives>
</disp-formula> 
Since 
<disp-formula id="j_infor610_eq_050">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="script">P</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">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)=\underset{{v_{N}}\in \mathcal{L}(N,K)}{\min }{\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\mathcal{P}({v_{N}})\big]\big),\]]]></tex-math></alternatives>
</disp-formula> 
we immediately see from definition (<xref rid="j_infor610_eq_049">22</xref>) and inequality (<xref rid="j_infor610_eq_047">20</xref>) that 
<disp-formula id="j_infor610_eq_051">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\leqslant {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big).\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_infor610_s_013">
<label>3.4.2</label>
<title>Determination</title>
<p>Now consider the problem of finding <inline-formula id="j_infor610_ineq_171"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}([{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }}])$]]></tex-math></alternatives></inline-formula> as defined in (<xref rid="j_infor610_eq_049">22</xref>). Suppose we want to find it using the enumeration tree <inline-formula id="j_infor610_ineq_172"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula>. We will need pruning criteria.</p>
<p>Take arbitrary <inline-formula id="j_infor610_ineq_173"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{n}}\in \mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula>, the related partial partition <inline-formula id="j_infor610_ineq_174"><alternatives><mml:math>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="script">P</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">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\partial {\mathcal{P}_{n}}=\partial \mathcal{P}({v_{n}})$]]></tex-math></alternatives></inline-formula> and consider the following problem (in analogy with (<xref rid="j_infor610_eq_022">7</xref>)): 
<disp-formula id="j_infor610_eq_052">
<label>(23)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtable displaystyle="true" columnspacing="0pt" columnalign="right left">
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">(</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="2.45em" minsize="2.45em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mtext>s.t.</mml:mtext>
<mml:mspace width="1em"/>
<mml:mtext>vertex</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mtext>is reached through</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \begin{aligned}{}& \underset{{v_{N}}\in \mathcal{L}(N,K)}{\min }\Bigg({\sum \limits_{k=1}^{K}}{\textbf{Loss}^{\mathcal{LB}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{k}}({v_{N}})\big\}\big|{\mathcal{R}^{\cup }}\big)\Bigg)\\ {} & \text{s.t.}\hspace{1em}\text{vertex}\hspace{2.5pt}{v_{N}}\hspace{2.5pt}\text{is reached through}\hspace{2.5pt}{v_{n}}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
We label the solution to the above equation with <inline-formula id="j_infor610_ineq_175"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}([{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}])$]]></tex-math></alternatives></inline-formula>. <statement id="j_infor610_stat_010"><label>Theorem 5</label>
<title>(<italic>Lower bound pruning criteria</italic>)<italic>.</italic></title>
<p>
<disp-formula id="j_infor610_eq_053">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>⩾</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" 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[\[\begin{aligned}{}{\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)& \geqslant {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{n}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)\\ {} & \hspace{1em}+{\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{n+1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p></statement><statement id="j_infor610_stat_011"><label>Proof.</label>
<p>Again, analogous to the proof of Theorem <xref rid="j_infor610_stat_001">1</xref> and Theorem <xref rid="j_infor610_stat_004">2</xref>. Suppose the minimal value of problem (<xref rid="j_infor610_eq_052">23</xref>) is attained for clustering <inline-formula id="j_infor610_ineq_176"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}},\dots ,{\mathcal{C}_{K}}$]]></tex-math></alternatives></inline-formula> with optimal region-unit indexes <inline-formula id="j_infor610_ineq_177"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${m_{1}},\dots ,{m_{K}}$]]></tex-math></alternatives></inline-formula>, e.g. 
<disp-formula id="j_infor610_eq_054">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)=\underset{m=1,\dots ,M}{\min }\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}=\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{n{m_{k}}}^{\hspace{0.1667em}\inf }},\hspace{1em}k=1,\dots ,K.\]]]></tex-math></alternatives>
</disp-formula> 
Define 
<disp-formula id="j_infor610_eq_055">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2em"/>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>∩</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<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">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{C}_{k}^{\dagger }}=\partial {\mathcal{C}_{k}}({v_{n}})={\mathcal{C}_{k}}\cap {\mathbb{N}_{1}^{n}},\hspace{2em}{\mathcal{C}_{k}^{\mathrm{\ddagger }}}={\mathcal{C}_{k}}\cap {\mathbb{N}_{n+1}^{N}},\hspace{1em}k=1,\dots ,K.\]]]></tex-math></alternatives>
</disp-formula> 
Now we enumerate the partitions of the index-set <inline-formula id="j_infor610_ineq_178"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathbb{N}_{n+1}^{N}}$]]></tex-math></alternatives></inline-formula>. Consider the enumeration tree <inline-formula id="j_infor610_ineq_179"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N-n,K)$]]></tex-math></alternatives></inline-formula> and its leaf-set <inline-formula id="j_infor610_ineq_180"><alternatives><mml:math>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{L}(N-n,K)$]]></tex-math></alternatives></inline-formula>. Take any <inline-formula id="j_infor610_ineq_181"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${w_{N-n}}\in \mathcal{L}(N-n,K)$]]></tex-math></alternatives></inline-formula> and consider the corresponding path <inline-formula id="j_infor610_ineq_182"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${w_{1}}{w_{2}}\dots {w_{N-n}}$]]></tex-math></alternatives></inline-formula>. Label 
<disp-formula id="j_infor610_eq_056">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" 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">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>…</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="italic">λ</mml:mi>
<mml:mo mathvariant="normal" 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">i</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<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[\[ {\mathcal{C}_{k}^{\mathrm{\ddagger }}}({w_{N-n}})={\mathcal{C}_{k}^{\mathrm{\ddagger }}}({w_{1}}{w_{2}}\dots {w_{N-n}})=\big\{i\in {\mathbb{N}_{n+1}^{N}}:\lambda ({w_{i-n}})=k\big\}.\]]]></tex-math></alternatives>
</disp-formula> 
We have (in the equations below, <inline-formula id="j_infor610_ineq_183"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${d_{nm}}={d_{nm}^{\hspace{0.1667em}\inf }}$]]></tex-math></alternatives></inline-formula>, as defined in (<xref rid="j_infor610_eq_031">11a</xref>)) 
<disp-formula id="j_infor610_eq_057">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mo>⩾</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">(</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">†</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">)</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">w</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">(</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
<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:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="2.03em" minsize="2.03em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</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">w</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">‡</mml:mi>
</mml:mrow>
</mml:msubsup>
<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:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" 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[\[\begin{aligned}{}& {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)={\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}}}{d_{i{m_{k}}}}={\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}^{\dagger }}}{d_{i{m_{k}}}}+{\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}^{\mathrm{\ddagger }}}}{d_{i{m_{k}}}}\\ {} & \hspace{1em}\geqslant {\sum \limits_{k=1}^{K}}\bigg(\underset{m=1,\dots ,M}{\min }\sum \limits_{i\in {\mathcal{C}_{k}^{\dagger }}}{d_{im}}\bigg)+\underset{w\in \mathcal{L}(N-n,K)}{\min }{\sum \limits_{k=1}^{K}}\bigg(\underset{m=1\dots ,M}{\min }\sum \limits_{i\in {\mathcal{C}_{k}^{\mathrm{\ddagger }}}(w)}{d_{im}}\bigg)\\ {} & \hspace{1em}={\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{n}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)+\underset{w\in \mathcal{L}(N-n,K)}{\min }{\sum \limits_{k=1}^{K}}{\textbf{Loss}^{\mathcal{LB}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{k}^{\mathrm{\ddagger }}}(w)\big\}\big|{\mathcal{R}^{\cup }}\big).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
The last term is the definition of <inline-formula id="j_infor610_ineq_184"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}([{\mathbb{P}_{n+1}^{N}}/K]|[{\mathcal{R}^{\cup }}])$]]></tex-math></alternatives></inline-formula>, see (<xref rid="j_infor610_eq_048">21</xref>) and (<xref rid="j_infor610_eq_049">22</xref>).  □</p></statement></p>
</sec>
<sec id="j_infor610_s_014">
<label>3.4.3</label>
<title>MIP Formulation</title>
<p>Problem of finding <inline-formula id="j_infor610_ineq_185"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}([{\mathbb{P}_{n+1}^{N}}/K]|[{\mathcal{R}^{\cup }}])$]]></tex-math></alternatives></inline-formula> can be seen as a discrete facility location problem. Indeed, we have to choose <italic>K</italic> “facilities” from <inline-formula id="j_infor610_ineq_186"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\{{\mathcal{R}_{1}},\dots ,{\mathcal{R}_{M}}\}$]]></tex-math></alternatives></inline-formula> at positions <inline-formula id="j_infor610_ineq_187"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${m_{1}},\dots ,{m_{K}}$]]></tex-math></alternatives></inline-formula>, so that the loss 
<disp-formula id="j_infor610_eq_058">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\sum \limits_{k=1}^{K}}\sum \limits_{i\in {\mathcal{C}_{k}}}{d_{i{m_{k}}}^{\hspace{0.1667em}\inf }}\]]]></tex-math></alternatives>
</disp-formula> 
is minimal. We formulate the corresponding mixed integer programming (MIP) problem. For this, introduce <italic>M</italic> binary variables <inline-formula id="j_infor610_ineq_188"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\{{y_{1}},\dots ,{y_{M}}\}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor610_eq_059">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</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:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>if “facility” at</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mtext>is opened,</mml:mtext>
</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:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {y_{m}}=\left\{\begin{array}{l@{\hskip4.0pt}l}1,\hspace{1em}& \text{if ``facility'' at}\hspace{2.5pt}{\mathcal{R}_{m}}\hspace{2.5pt}\text{is opened,}\\ {} 0\hspace{1em}& \text{otherwise.}\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula> 
Also, introduce <inline-formula id="j_infor610_ineq_189"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi></mml:math><tex-math><![CDATA[$N\times M$]]></tex-math></alternatives></inline-formula> binary variables <inline-formula id="j_infor610_ineq_190"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.2778em"/>
<mml:mi mathvariant="italic">n</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 mathvariant="normal">,</mml:mo>
<mml:mspace width="0.2778em"/>
<mml:mi mathvariant="italic">m</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">M</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\{{x_{nm}},\hspace{0.2778em}n=1,\dots ,N,\hspace{0.2778em}m=1,\dots ,M\}$]]></tex-math></alternatives></inline-formula>: 
<disp-formula id="j_infor610_eq_060">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</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:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>if “client”</mml:mtext>
<mml:mspace width="2.5pt"/>
<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:mspace width="2.5pt"/>
<mml:mtext>is assigned to “facility” at</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</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:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {x_{nm}}=\left\{\begin{array}{l@{\hskip4.0pt}l}1,\hspace{1em}& \text{if ``client''}\hspace{2.5pt}{p_{n}}\hspace{2.5pt}\text{is assigned to ``facility'' at}\hspace{2.5pt}{\mathcal{R}_{m}},\\ {} 0\hspace{1em}& \text{otherwise.}\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula> 
MIP formulation: 
<disp-formula id="j_infor610_eq_061">
<label>(24)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr class="split-mtr">
<mml:mtd class="split-mtd">
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
</mml:mrow>
</mml:munder>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="split-mtd">
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</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:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr class="split-mtr">
<mml:mtd class="split-mtd">
<mml:mtext>s.t.</mml:mtext>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="split-mtd">
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr class="split-mtr">
<mml:mtd class="split-mtd"/>
<mml:mtd class="split-mtd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>⩽</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</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:msub>
<mml:mrow>
<mml:mi mathvariant="italic">y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</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:mtd>
</mml:mtr>
<mml:mtr class="split-mtr">
<mml:mtd class="split-mtd"/>
<mml:mtd class="split-mtd">
<mml:mi mathvariant="italic">n</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 mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">m</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">M</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \begin{aligned}{}\underset{\{{y_{m}}\},\hspace{0.1667em}\{{x_{nm}}\}}{\min }\hspace{1em}& {\sum \limits_{n=1}^{N}}{\sum \limits_{m=1}^{M}}{d_{nm}^{\hspace{0.1667em}\inf }}{x_{nm}}\\ {} \text{s.t.}\hspace{1em}& {\sum \limits_{m=1}^{M}}{y_{m}}\leqslant K,\\ {} & {x_{nm}}\leqslant {y_{m}},\hspace{1em}{x_{nm}}\in \{0,1\},\hspace{1em}{y_{m}}\in \{0,1\},\\ {} & n=1,\dots ,N,\hspace{1em}m=1,\dots ,M.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
</sec>
<sec id="j_infor610_s_015">
<label>3.5</label>
<title>A Comment on the Error Between the Lower Bound and the Exact Solution</title>
<p>Define the “diameter” <inline-formula id="j_infor610_ineq_191"><alternatives><mml:math>
<mml:mtext>diam</mml:mtext></mml:math><tex-math><![CDATA[$\text{diam}$]]></tex-math></alternatives></inline-formula> of an arbitrary region-unit <inline-formula id="j_infor610_ineq_192"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> as 
<disp-formula id="j_infor610_eq_062">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mtext>diam</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<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[\[ \text{diam}({\mathcal{R}_{m}})=\underset{x,y\in {\mathcal{R}_{m}}}{\sup }\hspace{0.1667em}d(x,y).\]]]></tex-math></alternatives>
</disp-formula> 
In addition, suppose that distance metric <italic>d</italic> satisfies the triangle inequality: given any three points <inline-formula id="j_infor610_ineq_193"><alternatives><mml:math>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">S</mml:mi></mml:math><tex-math><![CDATA[$x,y,z\in \mathcal{S}$]]></tex-math></alternatives></inline-formula>, it is always true that 
<disp-formula id="j_infor610_eq_063">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<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[\[ d(x,z)\leqslant d(x,y)+d(y,z).\]]]></tex-math></alternatives>
</disp-formula> 
In particular, this property holds for the distance metric <italic>d</italic> induced by a set of barriers, i.e. when <inline-formula id="j_infor610_ineq_194"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">y</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$d(x,y)$]]></tex-math></alternatives></inline-formula> is equal to the length of the shortest path between <italic>x</italic> and <italic>y</italic> (and the length of an arbitrary path from <italic>x</italic> to <italic>y</italic> is defined by the standard length of a curve in the Euclidean geometry).</p>
<p>Now take an arbitrary point <inline-formula id="j_infor610_ineq_195"><alternatives><mml:math>
<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:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<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:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${p_{n}}\in \{{p_{1}},{p_{2}},\dots ,{p_{N}}\}$]]></tex-math></alternatives></inline-formula>. Consider the nearest and the furthest point for <inline-formula id="j_infor610_ineq_196"><alternatives><mml:math>
<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:math><tex-math><![CDATA[${p_{n}}$]]></tex-math></alternatives></inline-formula> in region-unit <inline-formula id="j_infor610_ineq_197"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>, as was defined in (11). By the triangle inequality, we have 
<disp-formula id="j_infor610_eq_064">
<label>(25)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mtext>diam</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<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[\[ {d_{nm}^{\hspace{0.1667em}\sup }}=d\big({p_{n}},{\mu _{nm}^{\sup }}\big)\leqslant d\big({p_{n}},{\mu _{nm}^{\inf }}\big)+d\big({\mu _{nm}^{\inf }},{\mu _{nm}^{\sup }}\big)\leqslant {d_{nm}^{\hspace{0.1667em}\inf }}+\text{diam}({\mathcal{R}_{m}}).\]]]></tex-math></alternatives>
</disp-formula> 
Thus, if region-unit <inline-formula id="j_infor610_ineq_198"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> is sufficiently small (<inline-formula id="j_infor610_ineq_199"><alternatives><mml:math>
<mml:mtext>diam</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">≈</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$\text{diam}({\mathcal{R}_{m}})\approx 0$]]></tex-math></alternatives></inline-formula>), we can expect that <inline-formula id="j_infor610_ineq_200"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">≈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${d_{nm}^{\hspace{0.1667em}\inf }}\approx {d_{nm}^{\hspace{0.1667em}\sup }}$]]></tex-math></alternatives></inline-formula>. (If <inline-formula id="j_infor610_ineq_201"><alternatives><mml:math>
<mml:mtext>diam</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\text{diam}({\mathcal{R}_{m}})$]]></tex-math></alternatives></inline-formula> is not sufficiently small, we could divide <inline-formula id="j_infor610_ineq_202"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> into smaller parts and redefine <inline-formula id="j_infor610_ineq_203"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula>.)</p>
<p>Now consider some cluster <inline-formula id="j_infor610_ineq_204"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}$]]></tex-math></alternatives></inline-formula> and suppose that <inline-formula id="j_infor610_ineq_205"><alternatives><mml:math>
<mml:mtext>diam</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">ε</mml:mi></mml:math><tex-math><![CDATA[$\text{diam}({\mathcal{R}_{m}})\leqslant \varepsilon $]]></tex-math></alternatives></inline-formula> for any <inline-formula id="j_infor610_ineq_206"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</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="script">R</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="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}\in \{{\mathcal{R}_{1}},{\mathcal{R}_{2}},\dots ,{\mathcal{R}_{M}}\}$]]></tex-math></alternatives></inline-formula> for some <inline-formula id="j_infor610_ineq_207"><alternatives><mml:math>
<mml:mi mathvariant="italic">ε</mml:mi>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$\varepsilon \gt 0$]]></tex-math></alternatives></inline-formula>. By combining (<xref rid="j_infor610_eq_040">16</xref>) and (<xref rid="j_infor610_eq_064">25</xref>), 
<disp-formula id="j_infor610_eq_065">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnspacing="0pt" columnalign="right left">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mover>
<mml:mrow>
<mml:mo>⩽</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mtext>(25)</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mover>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mtext>diam</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">ε</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{m}}\big)& \leqslant \sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\sup }}\\ {} & \stackrel{\text{(25)}}{\leqslant }\sum \limits_{n\in {\mathcal{C}_{k}}}\big({d_{nm}^{\hspace{0.1667em}\inf }}+\text{diam}({\mathcal{R}_{m}})\big)\leqslant \sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}+|{\mathcal{C}_{k}}|\varepsilon ,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor610_ineq_208"><alternatives><mml:math>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$|{\mathcal{C}_{k}}|$]]></tex-math></alternatives></inline-formula> is the number of items in cluster <inline-formula id="j_infor610_ineq_209"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}$]]></tex-math></alternatives></inline-formula>. Therefore, we have the following bounds: 
<disp-formula id="j_infor610_eq_066">
<label>(26)</label><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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">ε</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}\leqslant {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{m}}\big)\leqslant \sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}+|{\mathcal{C}_{k}}|\varepsilon .\]]]></tex-math></alternatives>
</disp-formula> 
Similarly, for <inline-formula id="j_infor610_ineq_210"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}(\{{p_{i}},i\in {\mathcal{C}_{k}}\}|{\mathcal{R}^{\cup }})$]]></tex-math></alternatives></inline-formula> we obtain 
<disp-formula id="j_infor610_eq_067">
<label>(27)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>⩽</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">sup</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>⩽</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:munder>
<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">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">ε</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}\underset{m=1,\dots ,M}{\min }\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}\leqslant {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)& \leqslant \underset{m=1,\dots ,M}{\min }\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\sup }}\\ {} & \leqslant \underset{m=1,\dots ,M}{\min }\sum \limits_{n\in {\mathcal{C}_{k}}}{d_{nm}^{\hspace{0.1667em}\inf }}+|{\mathcal{C}_{k}}|\varepsilon ,\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
and noting the definition of <inline-formula id="j_infor610_ineq_211"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}(\{{p_{i}},i\in {\mathcal{C}_{k}}\}|{\mathcal{R}^{\cup }})$]]></tex-math></alternatives></inline-formula> in (<xref rid="j_infor610_eq_044">18</xref>), inequalities (<xref rid="j_infor610_eq_067">27</xref>) can be rewritten as 
<disp-formula id="j_infor610_eq_068">
<label>(28)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">ε</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)& \leqslant {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)\\ {} & \leqslant {\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)+|{\mathcal{C}_{k}}|\varepsilon .\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
Summing over all the clusters of a particular partition <inline-formula id="j_infor610_ineq_212"><alternatives><mml:math>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</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:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{P}=\{{\mathcal{C}_{1}},\dots ,{\mathcal{C}_{K}}\}$]]></tex-math></alternatives></inline-formula>, we obtain (use the definitions in (<xref rid="j_infor610_eq_021">6</xref>), (<xref rid="j_infor610_eq_048">21</xref>) and inequality above) 
<disp-formula id="j_infor610_eq_069">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">ε</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\mathcal{P}\big]\big)& \leqslant {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\mathcal{P}\big]\big)\\ {} & \leqslant {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\mathcal{P}\big]\big)+N\varepsilon .\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
In particular, the gap between the lower bound and the optimal solution for any partition <inline-formula id="j_infor610_ineq_213"><alternatives><mml:math>
<mml:mi mathvariant="script">P</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{P}$]]></tex-math></alternatives></inline-formula> is at most <inline-formula id="j_infor610_ineq_214"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">ε</mml:mi></mml:math><tex-math><![CDATA[$N\varepsilon $]]></tex-math></alternatives></inline-formula>. Thus, we can control the level of this gap by subdividing <inline-formula id="j_infor610_ineq_215"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">⋃</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}={\textstyle\bigcup _{m=1}^{M}}{\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> into sufficiently small region-units <inline-formula id="j_infor610_ineq_216"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>. These bounds also hold for the globally optimal solution: 
<disp-formula id="j_infor610_eq_070">
<label>(29)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">ε</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)& \leqslant {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\\ {} & \leqslant {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)+N\varepsilon .\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_infor610_s_016">
<label>3.6</label>
<title>Summary</title>
<p>We have defined <inline-formula id="j_infor610_ineq_217"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}(\{{p_{i}},i\in {\mathcal{C}_{k}}\}|{\mathcal{R}^{\cup }})$]]></tex-math></alternatives></inline-formula> in (<xref rid="j_infor610_eq_044">18</xref>) and have proven in Theorem <xref rid="j_infor610_stat_008">4</xref> that 
<disp-formula id="j_infor610_eq_071">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big)\leqslant {\textbf{Loss}^{\text{opt}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}^{\cup }}\big).\]]]></tex-math></alternatives>
</disp-formula> 
Also, we have defined <inline-formula id="j_infor610_ineq_218"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}([{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }}])$]]></tex-math></alternatives></inline-formula> in (<xref rid="j_infor610_eq_049">22</xref>) which satisfies 
<disp-formula id="j_infor610_eq_072">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" 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[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\leqslant {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big).\]]]></tex-math></alternatives>
</disp-formula> 
We have also proven in Theorem <xref rid="j_infor610_stat_010">5</xref> the pruning criteria: 
<disp-formula id="j_infor610_eq_073">
<label>(30)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
<mml:mtd class="align-even">
<mml:mo>⩾</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:mspace width="1em"/>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}{\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)& \geqslant {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{n}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial {\mathcal{P}_{n}}\big]\big)\\ {} & \hspace{1em}+{\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{n+1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_infor610_ineq_219"><alternatives><mml:math>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</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>∂</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\partial {\mathcal{P}_{n}}=\{\partial {\mathcal{C}_{1}},\dots ,\partial {\mathcal{C}_{K}}\}$]]></tex-math></alternatives></inline-formula> is a (given) partition of index-set <inline-formula id="j_infor610_ineq_220"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathbb{N}_{1}^{n}}$]]></tex-math></alternatives></inline-formula>.</p>
</sec>
</sec>
<sec id="j_infor610_s_017">
<label>4</label>
<title>Overview of the Proposed Algorithm</title>
<p>Consider solving problem (<xref rid="j_infor610_eq_001">1</xref>), i.e. clustering <italic>N</italic> points into <italic>K</italic> clusters. The algorithm we propose in this paper can be summarized with these steps: 
<list>
<list-item id="j_infor610_li_017">
<label>Step 0 (Initialization).</label>
<p>Calculate <inline-formula id="j_infor610_ineq_221"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${d_{nm}^{\hspace{0.1667em}\inf }}$]]></tex-math></alternatives></inline-formula> as defined in (<xref rid="j_infor610_eq_031">11a</xref>). From programming point of view, this is the most difficult part of the algorithm which is problem specific. Fortunately, for multi-Weber problem with polyhedral barriers, calculation of <inline-formula id="j_infor610_ineq_222"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${d_{nm}^{\hspace{0.1667em}\inf }}$]]></tex-math></alternatives></inline-formula> is possible (see Section <xref rid="j_infor610_s_020">5.2</xref>).</p>
</list-item>
<list-item id="j_infor610_li_018">
<label>Step 1 (Lower bound problems).</label>
<p>Solve lower bound problems 
<disp-formula id="j_infor610_eq_074">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mtext>for</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">N</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>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{n+1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big),\hspace{1em}\text{for}\hspace{2.5pt}n=N-1,\dots ,0,\]]]></tex-math></alternatives>
</disp-formula> 
using the enumeration tree <inline-formula id="j_infor610_ineq_223"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N-n,K)$]]></tex-math></alternatives></inline-formula> (illustrated in Fig. <xref rid="j_infor610_fig_001">1</xref>). Use pruning criteria (<xref rid="j_infor610_eq_073">30</xref>): at step <italic>n</italic>, when looking for <inline-formula id="j_infor610_ineq_224"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}([{\mathbb{P}_{n+1}^{N}}/K]|[{\mathcal{R}^{\cup }}])$]]></tex-math></alternatives></inline-formula>, for some partial partition <inline-formula id="j_infor610_ineq_225"><alternatives><mml:math>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="script">P</mml:mi></mml:math><tex-math><![CDATA[$\partial \mathcal{P}$]]></tex-math></alternatives></inline-formula> of point set <inline-formula id="j_infor610_ineq_226"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">η</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathbb{P}_{n+1}^{\eta }}$]]></tex-math></alternatives></inline-formula>, values 
<disp-formula id="j_infor610_eq_075">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">η</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.2778em"/>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">η</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:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{n+1}^{\eta }}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial \mathcal{P}\big]\big),\hspace{0.2778em}{\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{\eta +1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\]]]></tex-math></alternatives>
</disp-formula> 
are known.</p>
</list-item>
<list-item id="j_infor610_li_019">
<label>Step 2 (Finding an upper bound).</label>
<p>Suppose 
<disp-formula id="j_infor610_eq_076">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\]]]></tex-math></alternatives>
</disp-formula> 
is attained for clustering <inline-formula id="j_infor610_ineq_227"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}^{\mathcal{LB}}},\dots ,{\mathcal{C}_{K}^{\mathcal{LB}}}$]]></tex-math></alternatives></inline-formula> – as found in the previous step. For this clustering, for each cluster <inline-formula id="j_infor610_ineq_228"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.1667em"/>
<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">K</mml:mi></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}^{\mathcal{LB}}},\hspace{0.1667em}k=1,\dots ,K$]]></tex-math></alternatives></inline-formula>, solve the optimal centre problem <inline-formula id="j_infor610_ineq_229"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</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:math><tex-math><![CDATA[${\textbf{Loss}^{\text{opt}}}(\{{p_{i}},i\in {\mathcal{C}_{k}^{\mathcal{LB}}}\}|{\mathcal{R}^{\cup }})$]]></tex-math></alternatives></inline-formula> within <italic>ϵ</italic>-accuracy by subdividing the most promising region-units <inline-formula id="j_infor610_ineq_230"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">m</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">M</mml:mi></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}},\hspace{0.1667em}m=1,\dots ,M$]]></tex-math></alternatives></inline-formula> into smaller parts (e.g. as described in Section <xref rid="j_infor610_s_021">5.3</xref>). This way, we obtain an upper bound <inline-formula id="j_infor610_ineq_231"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">UB</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${L^{\mathcal{UB}}}$]]></tex-math></alternatives></inline-formula> – as an optimal value of a particular solution corresponding to <inline-formula id="j_infor610_ineq_232"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathcal{C}_{1}^{\mathcal{LB}}},\dots ,{\mathcal{C}_{K}^{\mathcal{LB}}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor610_li_020">
<label>Step 3 (Find candidates to the global solution).</label>
<p>Enumerate all <inline-formula id="j_infor610_ineq_233"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{N}}\in \mathcal{L}(N,K)$]]></tex-math></alternatives></inline-formula> s.t. 
<disp-formula id="j_infor610_eq_077">
<label>(31)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="script">P</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">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">UB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\mathcal{P}({v_{N}})\big]\big)\leqslant {L^{\mathcal{UB}}}.\]]]></tex-math></alternatives>
</disp-formula> 
At any vertex <inline-formula id="j_infor610_ineq_234"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{n}}\in \mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula>, prune the corresponding branch if 
<disp-formula id="j_infor610_eq_078">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi>∂</mml:mi>
<mml:mi mathvariant="script">P</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">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</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:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">UB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{1}^{n}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\partial \mathcal{P}({v_{n}})\big]\big)+{\textbf{Loss}^{\mathcal{LB}}}\big(\big[{\mathbb{P}_{n+1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }}\big]\big)\gt {L^{\mathcal{UB}}}.\]]]></tex-math></alternatives>
</disp-formula> 
Label the obtained set with <inline-formula id="j_infor610_ineq_235"><alternatives><mml:math>
<mml:mi mathvariant="script">V</mml:mi>
<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">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>:</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:mrow>
</mml:msub>
<mml:mspace width="2.5pt"/>
<mml:mtext>satisfies</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:mtext>(31)</mml:mtext>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{V}=\{{v_{N}}\in \mathcal{L}(N,K):{v_{N}}\hspace{2.5pt}\text{satisfies}\hspace{2.5pt}\text{(31)}\}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor610_li_021">
<label>Step 4 (Determining the best solution).</label>
<p>Starting from the most promising <inline-formula id="j_infor610_ineq_236"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">V</mml:mi></mml:math><tex-math><![CDATA[${v_{N}}\in \mathcal{V}$]]></tex-math></alternatives></inline-formula> (e.g., with minimal values of <inline-formula id="j_infor610_ineq_237"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="script">P</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">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\textbf{Loss}^{\mathcal{LB}}}([{\mathbb{P}_{1}^{n}}/K]|[{\mathcal{R}^{\cup }},\mathcal{P}({v_{N}})])$]]></tex-math></alternatives></inline-formula>), solve each problem 
<disp-formula id="j_infor610_eq_079">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="script">P</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">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\mathcal{P}({v_{N}})\big]\big)\]]]></tex-math></alternatives>
</disp-formula> 
within <italic>ϵ</italic>-accuracy by partitioning region-units into smaller parts (e.g. as described in Section <xref rid="j_infor610_s_021">5.3</xref>). Keep record of <inline-formula id="j_infor610_ineq_238"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">UB</mml:mi>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${L^{\mathcal{UB}}}$]]></tex-math></alternatives></inline-formula> – the upper bound of the best solution. If we get that 
<disp-formula id="j_infor610_eq_080">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>opt</mml:mtext>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="script">P</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">N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">UB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\text{opt}}}\big(\big[{\mathbb{P}_{1}^{N}}/K\big]\big|\big[{\mathcal{R}^{\cup }},\mathcal{P}({v_{N}})\big]\big)\gt {L^{\mathcal{UB}}},\]]]></tex-math></alternatives>
</disp-formula> 
remove <inline-formula id="j_infor610_ineq_239"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${v_{N}}$]]></tex-math></alternatives></inline-formula> from <inline-formula id="j_infor610_ineq_240"><alternatives><mml:math>
<mml:mi mathvariant="script">V</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{V}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_infor610_s_018">
<label>5</label>
<title>Numerical Example</title>
<p>We apply the ideas from previous sections to the multi-Weber with polyhedral barriers problem. An example of the problem and its <italic>ϵ</italic>-accuracy solution are illustrated in Fig. <xref rid="j_infor610_fig_002">2</xref>. The problem is defined within a unit-square with a <inline-formula id="j_infor610_ineq_241"><alternatives><mml:math>
<mml:mn>10</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>10</mml:mn></mml:math><tex-math><![CDATA[$10\times 10$]]></tex-math></alternatives></inline-formula> grid, with each square initially divided into 4 triangles. The blue polygons are the barriers; it is not allowed to travel through them – these barriers induce the distance metric <inline-formula id="j_infor610_ineq_242"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="script">S</mml:mi>
<mml:mo>×</mml:mo>
<mml:mi mathvariant="script">S</mml:mi>
<mml:mo stretchy="false">↦</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>+</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$d:\mathcal{S}\times \mathcal{S}\mapsto {\mathbf{R}^{+}}$]]></tex-math></alternatives></inline-formula>. There are 10 barriers consisting of 100 triangles in total. The region-union <inline-formula id="j_infor610_ineq_243"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> consists of the remaining 300 gray-coloured triangles (region-units <inline-formula id="j_infor610_ineq_244"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>): <inline-formula id="j_infor610_ineq_245"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">⋃</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>300</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}={\textstyle\bigcup _{m=1}^{300}}{\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>.</p>
<fig id="j_infor610_fig_002">
<label>Fig. 2</label>
<caption>
<p>Location with barriers problem example. We seek to cluster 25 given points into 5 clusters. The solution is proved by our algorithm to be within <inline-formula id="j_infor610_ineq_246"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.01</mml:mn></mml:math><tex-math><![CDATA[$\epsilon =0.01$]]></tex-math></alternatives></inline-formula> accuracy to the global optimum (i.e. the globally optimal loss differs by at most <inline-formula id="j_infor610_ineq_247"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$1\% $]]></tex-math></alternatives></inline-formula> when compared with the reported solution).</p>
</caption>
<graphic xlink:href="infor610_g002.jpg"/>
</fig>
<sec id="j_infor610_s_019">
<label>5.1</label>
<title>Visibility Graph</title>
<fig id="j_infor610_fig_003">
<label>Fig. 3</label>
<caption>
<p>Visibility polygons for selected points.</p>
</caption>
<graphic xlink:href="infor610_g003.jpg"/>
</fig>
<p>To compute the distances <inline-formula id="j_infor610_ineq_248"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</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:math><tex-math><![CDATA[$d({p_{i}},{\mu _{k}})$]]></tex-math></alternatives></inline-formula> between client-points and facility-points, we need to find the so-called visibility-graph <inline-formula id="j_infor610_ineq_249"><alternatives><mml:math>
<mml:mi mathvariant="script">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[$\mathcal{G}(V,E)$]]></tex-math></alternatives></inline-formula> (Viegas and Hansen, <xref ref-type="bibr" rid="j_infor610_ref_020">1985</xref>). Each point <inline-formula id="j_infor610_ineq_250"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$p\in {\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> defines a visibility-polygon as illustrated in Fig. <xref rid="j_infor610_fig_003">3</xref>. This polygon contains the set of points “seen” from the corresponding point directly through a ray; to reach the points outside this polygon, we must bypass some barriers. It is easy to convince oneself that (see Viegas and Hansen, <xref ref-type="bibr" rid="j_infor610_ref_020">1985</xref>), in case point <inline-formula id="j_infor610_ineq_251"><alternatives><mml:math>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$q\in {\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> is not seen directly from point <italic>p</italic>, the shortest path <inline-formula id="j_infor610_ineq_252"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$d(p,q)$]]></tex-math></alternatives></inline-formula> consists of a set of segments with the end-points at the corners of the barrier-regions.<xref ref-type="fn" rid="j_infor610_fn_006">6</xref><fn id="j_infor610_fn_006"><label><sup>6</sup></label>
<p>Except the two segments “starting” at <italic>p</italic> and “ending” at <italic>q</italic>.</p></fn> Therefore, the visibility-polygons for the barrier corner-points are particularly interesting (as in Fig. <xref rid="j_infor610_fig_003">3</xref>b). Barrier corner-points, together with client-points, define the set of vertices <italic>V</italic> for the visibility-graph <inline-formula id="j_infor610_ineq_253"><alternatives><mml:math>
<mml:mi mathvariant="script">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[$\mathcal{G}(V,E)$]]></tex-math></alternatives></inline-formula>. The (directed) edges <italic>E</italic> are inserted as follows: if vertex <inline-formula id="j_infor610_ineq_254"><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 “seen” from a barrier-corner-vertex <italic>w</italic> (i.e. <italic>v</italic> belongs to the visibility polygon of <italic>w</italic>), we add the edge <inline-formula id="j_infor610_ineq_255"><alternatives><mml:math>
<mml:mi mathvariant="italic">w</mml:mi>
<mml:mo stretchy="false">↦</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi></mml:math><tex-math><![CDATA[$w\mapsto v$]]></tex-math></alternatives></inline-formula> to graph (with edge weight equal to the Euclidean-length from point <inline-formula id="j_infor610_ineq_256"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" 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[$p(v)$]]></tex-math></alternatives></inline-formula> to point <inline-formula id="j_infor610_ineq_257"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<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:math><tex-math><![CDATA[$p(w)$]]></tex-math></alternatives></inline-formula>).</p>
<p>To compute the shortest paths from a given facility-point <italic>μ</italic> to each client-vertex <inline-formula id="j_infor610_ineq_258"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<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:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$v({p_{1}}),\dots ,v({p_{N}})$]]></tex-math></alternatives></inline-formula>, we could insert an additional vertex <inline-formula id="j_infor610_ineq_259"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$v(\mu )$]]></tex-math></alternatives></inline-formula> to the graph, find the set of vertices <inline-formula id="j_infor610_ineq_260"><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> “seen” from <italic>μ</italic>, and insert the corresponding edges. Now, the shortest-paths can be found with Dijkstra’s algorithm (Dijkstra, <xref ref-type="bibr" rid="j_infor610_ref_006">1959</xref>).</p>
<p>Visibility graph for our example problem is shown in Fig. <xref rid="j_infor610_fig_004">4</xref>.</p>
<fig id="j_infor610_fig_004">
<label>Fig. 4</label>
<caption>
<p>Visibility graph for the example problem.</p>
</caption>
<graphic xlink:href="infor610_g004.jpg"/>
</fig>
</sec>
<sec id="j_infor610_s_020">
<label>5.2</label>
<title>Minimal Distances to a Triangle-Facility</title>
<p>To apply the ideas from the previous sections, we have to compute the lower-bound distances <inline-formula id="j_infor610_ineq_261"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${d_{nm}^{\hspace{0.1667em}\inf }},\hspace{0.1667em}n\in {\mathbb{N}_{1}^{N}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_262"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[$m\in {\mathbb{N}_{1}^{M}}$]]></tex-math></alternatives></inline-formula>, i.e. the shortest possible distance <inline-formula id="j_infor610_ineq_263"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${d_{nm}^{\hspace{0.1667em}\inf }}$]]></tex-math></alternatives></inline-formula> from the client-point <inline-formula id="j_infor610_ineq_264"><alternatives><mml:math>
<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:math><tex-math><![CDATA[${p_{n}}$]]></tex-math></alternatives></inline-formula> to the region-unit (triangle-facility in our case) <inline-formula id="j_infor610_ineq_265"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>.</p>
<p>For this task, we use the visibility-graph <inline-formula id="j_infor610_ineq_266"><alternatives><mml:math>
<mml:mi mathvariant="script">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[$\mathcal{G}(V,E)$]]></tex-math></alternatives></inline-formula> described in the previous subsection.</p>
<p>To find the lower-bound distances <inline-formula id="j_infor610_ineq_267"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${d_{nm}^{\hspace{0.1667em}\inf }},\hspace{0.1667em}n\in {\mathbb{N}_{1}^{N}}$]]></tex-math></alternatives></inline-formula>, we firstly insert an additional vertex <inline-formula id="j_infor610_ineq_268"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$v({\mathcal{R}_{m}})$]]></tex-math></alternatives></inline-formula> into the graph. Now, we have to take care of the edges. This can be done as follows: for each <inline-formula id="j_infor610_ineq_269"><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>, intersect the visibility polygon <inline-formula id="j_infor610_ineq_270"><alternatives><mml:math>
<mml:mi mathvariant="script">VP</mml:mi>
<mml:mo mathvariant="normal" fence="true" 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[$\mathcal{VP}(v)$]]></tex-math></alternatives></inline-formula> of <italic>v</italic> with triangle <inline-formula id="j_infor610_ineq_271"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>: <inline-formula id="j_infor610_ineq_272"><alternatives><mml:math>
<mml:mi mathvariant="script">I</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="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="script">VP</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>∩</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\mathcal{I}(v,{\mathcal{R}_{m}})=\mathcal{VP}(v)\cap {\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>.<xref ref-type="fn" rid="j_infor610_fn_007">7</xref><fn id="j_infor610_fn_007"><label><sup>7</sup></label>
<p>Since the polygon <inline-formula id="j_infor610_ineq_273"><alternatives><mml:math>
<mml:mi mathvariant="script">VP</mml:mi>
<mml:mo mathvariant="normal" fence="true" 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[$\mathcal{VP}(v)$]]></tex-math></alternatives></inline-formula> is non-convex, it might be that <inline-formula id="j_infor610_ineq_274"><alternatives><mml:math>
<mml:mi mathvariant="script">I</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="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{I}(v,{\mathcal{R}_{m}})$]]></tex-math></alternatives></inline-formula> is a not a single, but a set of polygons.</p></fn> If the intersection <inline-formula id="j_infor610_ineq_275"><alternatives><mml:math>
<mml:mi mathvariant="script">I</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="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{I}(v,{\mathcal{R}_{m}})$]]></tex-math></alternatives></inline-formula> is empty, do nothing. Otherwise, find the nearest point <inline-formula id="j_infor610_ineq_276"><alternatives><mml:math>
<mml:mtext mathvariant="bold">proj</mml:mtext>
<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="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\textbf{proj}(v,{\mathcal{R}_{m}})$]]></tex-math></alternatives></inline-formula> from <inline-formula id="j_infor610_ineq_277"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" 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[$p(v)$]]></tex-math></alternatives></inline-formula> to <inline-formula id="j_infor610_ineq_278"><alternatives><mml:math>
<mml:mi mathvariant="script">I</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="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{I}(v,{\mathcal{R}_{m}})$]]></tex-math></alternatives></inline-formula>.<xref ref-type="fn" rid="j_infor610_fn_008">8</xref><fn id="j_infor610_fn_008"><label><sup>8</sup></label>
<p>The nearest distance from a point to a polygon can be found by iterating the “projections” on the edges of the polygon. Iterating further over the polygons constituting <inline-formula id="j_infor610_ineq_279"><alternatives><mml:math>
<mml:mi mathvariant="script">I</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="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{I}(v,{\mathcal{R}_{m}})$]]></tex-math></alternatives></inline-formula>, we obtain the result.</p></fn> Now, add to <inline-formula id="j_infor610_ineq_280"><alternatives><mml:math>
<mml:mi mathvariant="script">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[$\mathcal{G}(V,E)$]]></tex-math></alternatives></inline-formula> a directed-edge <inline-formula id="j_infor610_ineq_281"><alternatives><mml:math>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">↦</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi></mml:math><tex-math><![CDATA[$v({\mathcal{R}_{m}})\mapsto v$]]></tex-math></alternatives></inline-formula> with weight <inline-formula id="j_infor610_ineq_282"><alternatives><mml:math>
<mml:mo stretchy="false">‖</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">proj</mml:mtext>
<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="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">‖</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\| p(v)-\textbf{proj}(v,{\mathcal{R}_{m}}){\| _{2}}$]]></tex-math></alternatives></inline-formula>. The distances <inline-formula id="j_infor610_ineq_283"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.1667em"/>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${d_{nm}^{\hspace{0.1667em}\inf }},\hspace{0.1667em}n\in {\mathbb{N}_{1}^{N}}$]]></tex-math></alternatives></inline-formula> for the triangle-facility <inline-formula id="j_infor610_ineq_284"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> can now again be found with Dijkstra’s algorithm (Dijkstra, <xref ref-type="bibr" rid="j_infor610_ref_006">1959</xref>).</p>
<p>The output of this procedure is illustrated in Fig. <xref rid="j_infor610_fig_005">5</xref>.</p>
<p>To compute an upper bound for the sum of distances from triangle-facility <inline-formula id="j_infor610_ineq_285"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> to all the clients, we could pick any point <inline-formula id="j_infor610_ineq_286"><alternatives><mml:math>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\mu \in {\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> and calculate the distances as outlined in Section <xref rid="j_infor610_s_019">5.1</xref>, i.e. using the visibility graph. However, in our case where all the region-units are triangles, for finding an upper-bound faster, we can use the following simple idea.</p>
<list>
<list-item id="j_infor610_li_022">
<label>•</label>
<p>Pick the longest edge of the triangle, compute its length <inline-formula id="j_infor610_ineq_287"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${l_{1}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor610_li_023">
<label>•</label>
<p>Pick the middle point of this edge. Define <inline-formula id="j_infor610_ineq_288"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${l_{2}}$]]></tex-math></alternatives></inline-formula> as the distance from this middle-point to the vertex in front of the longest edge.</p>
</list-item>
<list-item id="j_infor610_li_024">
<label>•</label>
<p>All the points within the triangle are at maximum distance <inline-formula id="j_infor610_ineq_289"><alternatives><mml:math>
<mml:mi mathvariant="italic">l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo movablelimits="false">max</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo></mml:math><tex-math><![CDATA[$l=\max \big(\frac{{l_{1}}}{2},{l_{2}}\big)$]]></tex-math></alternatives></inline-formula>. The upper bound for the triangle-facility <inline-formula id="j_infor610_ineq_290"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula> can be found by the formula <inline-formula id="j_infor610_ineq_291"><alternatives><mml:math>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</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:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo maxsize="1.19em" minsize="1.19em" fence="true" mathvariant="normal">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">l</mml:mi></mml:math><tex-math><![CDATA[$\big({\textstyle\sum _{n=1}^{N}}{d_{nm}^{\hspace{0.1667em}\inf }}\big)+Nl$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list>
<fig id="j_infor610_fig_005">
<label>Fig. 5</label>
<caption>
<p>Shortest distances to triangle-facilities. The triangle-facility in Fig. <xref rid="j_infor610_fig_005">5</xref>b has the minimal sum of distances <inline-formula id="j_infor610_ineq_292"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</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:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\textstyle\sum _{n=1}^{N}}{d_{nm}^{\hspace{0.1667em}\inf }}$]]></tex-math></alternatives></inline-formula> from all region-units <inline-formula id="j_infor610_ineq_293"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_294"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</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">M</mml:mi></mml:math><tex-math><![CDATA[$m=1,\dots ,M$]]></tex-math></alternatives></inline-formula>.</p>
</caption>
<graphic xlink:href="infor610_g005.jpg"/>
</fig>
</sec>
<sec id="j_infor610_s_021">
<label>5.3</label>
<title>Finding the Optimal Centre Within a Predefined Accuracy <italic>ϵ</italic></title>
<fig id="j_infor610_fig_006">
<label>Fig. 6</label>
<caption>
<p>Illustration of the triangle-partitioning algorithm.</p>
</caption>
<graphic xlink:href="infor610_g006.jpg"/>
</fig>
<p>To find the globally-optimal centre for a set of points, i.e. optimal centree for some cluster <inline-formula id="j_infor610_ineq_295"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{C}_{k}}$]]></tex-math></alternatives></inline-formula>, we use the triangle-partitioning algorithm in the style of Paulavičius and Žilinskas (<xref ref-type="bibr" rid="j_infor610_ref_016">2013</xref>). For a start, we place all the initial triangles (region-units <inline-formula id="j_infor610_ineq_296"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>) in a MinPQ<xref ref-type="fn" rid="j_infor610_fn_009">9</xref><fn id="j_infor610_fn_009"><label><sup>9</sup></label>
<p>Minimum priority queue.</p></fn> (Sedgewick and Wayne, <xref ref-type="bibr" rid="j_infor610_ref_018">2011</xref>), ordered by the lower-bound value 
<disp-formula id="j_infor610_eq_081">
<label>(32)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<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">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">m</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">M</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}|{\mathcal{R}_{m}}\big)=\sum \limits_{i\in {\mathcal{C}_{k}}}{d_{im}^{\hspace{0.1667em}\inf }},\hspace{1em}m=1,\dots ,M.\]]]></tex-math></alternatives>
</disp-formula> 
Initially, the MinPQ contains <italic>M</italic> elements. Now, pick from MinPQ the triangle-facility <inline-formula id="j_infor610_ineq_297"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{\min }}$]]></tex-math></alternatives></inline-formula> with the smallest lower-bound value (<xref rid="j_infor610_eq_081">32</xref>). Delete this triangle from MinPQ. Next, partition <inline-formula id="j_infor610_ineq_298"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{\min }}$]]></tex-math></alternatives></inline-formula> into two smaller triangles <inline-formula id="j_infor610_ineq_299"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>left</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{\text{left}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_300"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>right</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{\text{right}}}$]]></tex-math></alternatives></inline-formula> along the longest edge (see the partitions of the triangle-facility from Fig. <xref rid="j_infor610_fig_005">5</xref>b in Fig. <xref rid="j_infor610_fig_006">6</xref>a, Fig. <xref rid="j_infor610_fig_006">6</xref>b). Both these triangles have an improved (increased) lower-bound estimates 
<disp-formula id="j_infor610_eq_082">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>left</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="0.2778em"/>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>right</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{\text{left}}}\big),\hspace{0.2778em}{\textbf{Loss}^{\mathcal{LB}}}\big(\{{p_{i}},i\in {\mathcal{C}_{k}}\}\big|{\mathcal{R}_{\text{right}}}\big),\]]]></tex-math></alternatives>
</disp-formula> 
because they were obtained by subdividing <inline-formula id="j_infor610_ineq_301"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{\min }}$]]></tex-math></alternatives></inline-formula> into two smaller pieces. Since the triangles have been shrunk, the gap between the lower bound and the upper bound for these triangles improves, i.e. we have shown that inequality (<xref rid="j_infor610_eq_068">28</xref>) holds with <inline-formula id="j_infor610_ineq_302"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>left</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext>diam</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>left</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\varepsilon _{\text{left}}}=\text{diam}({\mathcal{R}_{\text{left}}})$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_303"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ε</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>right</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext>diam</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>right</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\varepsilon _{\text{right}}}=\text{diam}({\mathcal{R}_{\text{right}}})$]]></tex-math></alternatives></inline-formula>. Insert <inline-formula id="j_infor610_ineq_304"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>left</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{\text{left}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_305"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>right</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{\text{right}}}$]]></tex-math></alternatives></inline-formula> into MinPQ. Continue deleting/partitioning triangles in MinPQ until the distance between the best known lower-bound and the best known upper-bound is within a predefined accuracy <italic>ϵ</italic>, i.e. until condition 
<disp-formula id="j_infor610_eq_083">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mtext>diam</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo movablelimits="false">min</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">ϵ</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \frac{{\textbf{Loss}^{\mathcal{LB}}}(\{{p_{i}},i\in {\mathcal{C}_{k}}\}|{\mathcal{R}_{\min }})}{{\textbf{Loss}^{\mathcal{LB}}}(\{{p_{i}},i\in {\mathcal{C}_{k}}\}|{\mathcal{R}_{\min }})+|{\mathcal{C}_{k}}|\text{diam}({\mathcal{R}_{\min }})}\gt 1-\epsilon \]]]></tex-math></alternatives>
</disp-formula> 
holds for some “small” <italic>ϵ</italic> (take for example <inline-formula id="j_infor610_ineq_306"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0.001</mml:mn></mml:math><tex-math><![CDATA[$\epsilon =0.001$]]></tex-math></alternatives></inline-formula>). The procedure is illustrated in Fig. <xref rid="j_infor610_fig_006">6</xref>.</p>
</sec>
<sec id="j_infor610_s_022">
<label>5.4</label>
<title>Other Steps</title>
<p>Other steps in the algorithm of Section <xref rid="j_infor610_s_017">4</xref> given a routine to calculate <inline-formula id="j_infor610_ineq_307"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mspace width="0.1667em"/>
<mml:mo movablelimits="false">inf</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${d_{nm}^{\hspace{0.1667em}\inf }}$]]></tex-math></alternatives></inline-formula> and a routine to find the optimal centre for a cluster (as described in Section <xref rid="j_infor610_s_021">5.3</xref>) are rather straightforward. We just emphasize that during enumeration procedure at any vertex <inline-formula id="j_infor610_ineq_308"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{n}}\in \mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula>, we use formula (<xref rid="j_infor610_eq_042">17a</xref>) to find 
<disp-formula id="j_infor610_eq_084">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mtext mathvariant="bold">Loss</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">LB</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<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:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">λ</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">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>∪</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo fence="true" stretchy="false">}</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\textbf{Loss}^{\mathcal{LB}}}\big(\big\{{p_{i}},i\in {\mathcal{C}_{\lambda ({v_{n}})}}\cup \{n\}\big\}\big|{\mathcal{R}^{\cup }}\big)\]]]></tex-math></alternatives>
</disp-formula> 
in <inline-formula id="j_infor610_ineq_309"><alternatives><mml:math>
<mml:mi mathvariant="italic">O</mml:mi>
<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[$O(M)$]]></tex-math></alternatives></inline-formula> time.</p>
</sec>
<sec id="j_infor610_s_023">
<label>5.5</label>
<title>Algorithm Analysis</title>
<sec id="j_infor610_s_024">
<label>5.5.1</label>
<title>Improvement by Initial Subdivision of Region-Units</title>
<p>Our initial analysis of the algorithm for the problem instance presented in Fig. <xref rid="j_infor610_fig_002">2</xref> is summarized in Table <xref rid="j_infor610_tab_001">1</xref>.<xref ref-type="fn" rid="j_infor610_fn_010">10</xref><fn id="j_infor610_fn_010"><label><sup>10</sup></label>
<p>The numbers are particular for this problem instance, i.e. the one shown in Fig. <xref rid="j_infor610_fig_002">2</xref> (if <inline-formula id="j_infor610_ineq_310"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mn>25</mml:mn></mml:math><tex-math><![CDATA[$N\lt 25$]]></tex-math></alternatives></inline-formula>, we have used only points referring to <inline-formula id="j_infor610_ineq_311"><alternatives><mml:math>
<mml:mn>0</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>−</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$0,\dots ,N-1$]]></tex-math></alternatives></inline-formula>). We did not seek to perform a statistical experiment for this part as we just wanted to illustrate that a denser subdivision into region-units significantly improves the algorithm.</p></fn> In the experiment, we have analysed algorithm performance for the number of clients <inline-formula id="j_infor610_ineq_312"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>20</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>25</mml:mn></mml:math><tex-math><![CDATA[$N=20,\dots ,25$]]></tex-math></alternatives></inline-formula> and the number of clusters <inline-formula id="j_infor610_ineq_313"><alternatives><mml:math>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>5</mml:mn></mml:math><tex-math><![CDATA[$K=3,4,5$]]></tex-math></alternatives></inline-formula>. Table <xref rid="j_infor610_tab_001">1</xref>a shows time statistics for lower bound calculations (<bold>Step 1</bold> in the algorithm of Section <xref rid="j_infor610_s_017">4</xref>), Table <xref rid="j_infor610_tab_001">1</xref>b shows time statistics for the enumeration of candidate solutions (<bold>Step 3</bold> in the algorithm of Section <xref rid="j_infor610_s_017">4</xref>), and Table <xref rid="j_infor610_tab_001">1</xref>c gives the statistics for the number of candidate solutions to the global optima.</p>
<table-wrap id="j_infor610_tab_001">
<label>Table 1</label>
<caption>
<p>Algorithm statistics for initial triangles (300 region-units). The question mark (?) indicates that the data is missing due to the time limit (see the last column in Table <xref rid="j_infor610_tab_001">1</xref>b and also compare with Table <xref rid="j_infor610_tab_002">2</xref>b).</p>
</caption>
<graphic xlink:href="infor610_g007.jpg"/>
</table-wrap>
<p>While for the lower bound step times differ only slightly, the number of possible candidates to the global solution grows exponentially; the time to enumerate all these solutions is proportional. The reason to this is that our lower bound estimates are considerably (say, within <inline-formula id="j_infor610_ineq_314"><alternatives><mml:math>
<mml:mn>20</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$20\% $]]></tex-math></alternatives></inline-formula>-tolerance) smaller than the value of the globally optimal solution.</p>
<p>We try the following simple “remedy” to this issue: suppose that each triangle-unit <inline-formula id="j_infor610_ineq_315"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_316"><alternatives><mml:math>
<mml:mi mathvariant="italic">m</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>300</mml:mn></mml:math><tex-math><![CDATA[$m=1,\dots ,300$]]></tex-math></alternatives></inline-formula> is subdivided into 2 smaller triangles <inline-formula id="j_infor610_ineq_317"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m1}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_318"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathcal{R}_{m2}}$]]></tex-math></alternatives></inline-formula>.<xref ref-type="fn" rid="j_infor610_fn_011">11</xref><fn id="j_infor610_fn_011"><label><sup>11</sup></label>
<p>Giving <inline-formula id="j_infor610_ineq_319"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">⋃</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>300</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>∪</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}={\textstyle\bigcup _{m=1}^{300}}({\mathcal{R}_{m1}}\cup {\mathcal{R}_{m2}})$]]></tex-math></alternatives></inline-formula> – a union of 600 triangle-units.</p></fn> Such a subdivision gives an improvement of the error between the lower bound and the exact solution (as discussed in Section <xref rid="j_infor610_s_015">3.5</xref>). The updated statistics are presented in Table <xref rid="j_infor610_tab_002">2</xref>. Comparing with Table <xref rid="j_infor610_tab_001">1</xref>, we can see time increase for lower bound calculations (as expected), though this time is not crucial in the total time of the algorithm. But for the numbering the candidate solutions, the effect is clear: the number of candidates is reduced significantly.</p>
<table-wrap id="j_infor610_tab_002">
<label>Table 2</label>
<caption>
<p>Algorithm statistics when initial triangles are halved (600 region-units).</p>
</caption>
<graphic xlink:href="infor610_g008.jpg"/>
</table-wrap>
<p>Continuing the experiment, we have halved the initial triangles 3 times, in total into 8 smaller triangles. The statistics are presented in Table <xref rid="j_infor610_tab_003">3</xref>. Comparing with Table <xref rid="j_infor610_tab_002">2</xref>, we can see that lower bound calculations take approximately 4 times more time, as expected – because we have 4 times more triangle-units. But as can be seen in Table <xref rid="j_infor610_tab_003">3</xref>c, the number of candidates to the global solution further decreases significantly.</p>
<table-wrap id="j_infor610_tab_003">
<label>Table 3</label>
<caption>
<p>Algorithm statistics when initial triangles are divided into 8 pieces (2400 region-units).</p>
</caption>
<graphic xlink:href="infor610_g009.jpg"/>
</table-wrap>
</sec>
<sec id="j_infor610_s_025">
<label>5.5.2</label>
<title>Predicted time</title>
<p>Based on the observations of previous subsection, we decided to test our algorithm performance when initial triangle-units of <inline-formula id="j_infor610_ineq_320"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> are subdivided 4 times into 16 smaller triangles. We have collected time statistics for various random problem instances. These problems were all generated within a unit-square with a <inline-formula id="j_infor610_ineq_321"><alternatives><mml:math>
<mml:mn>10</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>10</mml:mn></mml:math><tex-math><![CDATA[$10\times 10$]]></tex-math></alternatives></inline-formula> grid, with each square initially divided into 4 pieces (in total, 400 problem-triangles). 10 barriers were then randomly generated, with a total of 100 triangles classified as barrier-triangles. The remaining 300 were subdivided into 16 smaller triangles, resulting that <inline-formula id="j_infor610_ineq_322"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\mathcal{R}^{\cup }}$]]></tex-math></alternatives></inline-formula> consists of <inline-formula id="j_infor610_ineq_323"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>300</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>16</mml:mn>
<mml:mo>=</mml:mo>
<mml:mn>4800</mml:mn></mml:math><tex-math><![CDATA[$M=300\times 16=4800$]]></tex-math></alternatives></inline-formula> triangle-units.</p>
<p><fn id="j_infor610_fn_012"><label><sup>12</sup></label>
<p>Models estimated using [R] quantreg package (Koenker, <xref ref-type="bibr" rid="j_infor610_ref_013">2025</xref>).</p></fn></p>
<fig id="j_infor610_fig_007">
<label>Fig. 7</label>
<caption>
<p>Enumeration algorithm visited nodes log-proportion statistics. Number of clients <italic>N</italic> in the <italic>x</italic>-axis, number of clusters <italic>K</italic> in the title. Box-plots represent log-proportion statistics for a fixed <italic>N</italic>. Green line represents the linear model for the median log-proportion (<inline-formula id="j_infor610_ineq_324"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0.5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<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>0.5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo 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>0.5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[${l_{0.5}}(N,K)={\alpha _{0.5}}[K]+{\beta _{0.5}}[K]N$]]></tex-math></alternatives></inline-formula>), red – the 90th percentile. <xref ref-type="fn" rid="j_infor610_fn_012">12</xref></p>
</caption>
<graphic xlink:href="infor610_g010.jpg"/>
</fig>
<p>Algorithmic complexity of our approach is strongly related with the size of the tree <inline-formula id="j_infor610_ineq_325"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula> of Fig. <xref rid="j_infor610_fig_001">1</xref>. Labeling with <inline-formula id="j_infor610_ineq_326"><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:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${S_{2}}(N,K)$]]></tex-math></alternatives></inline-formula> the Stirling’s number of the second kind, and defining <inline-formula id="j_infor610_ineq_327"><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:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</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[${S_{2}}(N,K)=0$]]></tex-math></alternatives></inline-formula> when <inline-formula id="j_infor610_ineq_328"><alternatives><mml:math>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi></mml:math><tex-math><![CDATA[$K\gt N$]]></tex-math></alternatives></inline-formula>, one can calculate that <inline-formula id="j_infor610_ineq_329"><alternatives><mml:math>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula> has 
<disp-formula id="j_infor610_eq_085">
<label>(33)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</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:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</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">K</mml:mi>
</mml:mrow>
</mml:munderover>
<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:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">k</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mathcal{N}(N,K)={\sum \limits_{n=1}^{N}}{\sum \limits_{k=1}^{K}}{S_{2}}(n,k)\]]]></tex-math></alternatives>
</disp-formula> 
nodes. Our algorithm performance depends on what proportion of the tree will be explored. During the experiment, we have recorded the number of tree-nodes visited in the enumeration of candidate solutions step (<bold>Step 3</bold> in the algorithm of Section <xref rid="j_infor610_s_017">4</xref>). The proportion statistics are represented in Fig. <xref rid="j_infor610_fig_007">7</xref>. Using the obtained linear models for log-proportion, we can predict the median time and the 90th percentile time outside of experiment data. On our machine,<xref ref-type="fn" rid="j_infor610_fn_013">13</xref><fn id="j_infor610_fn_013"><label><sup>13</sup></label>
<p>Processor 1.4 GHz Quad-Core Intel Core i5, Memory 8 GB 2133 MHz.</p></fn> processing of a particular <inline-formula id="j_infor610_ineq_330"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">T</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${v_{n}}\in \mathcal{T}(N,K)$]]></tex-math></alternatives></inline-formula> using formula (<xref rid="j_infor610_eq_042">17a</xref>) takes approximately <inline-formula id="j_infor610_ineq_331"><alternatives><mml:math>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>9.098275</mml:mn>
<mml:mo>×</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$c=9.098275\times {10^{-6}}$]]></tex-math></alternatives></inline-formula> seconds.<xref ref-type="fn" rid="j_infor610_fn_014">14</xref><fn id="j_infor610_fn_014"><label><sup>14</sup></label>
<p>The algorithmic complexity of formula (<xref rid="j_infor610_eq_042">17a</xref>) is roughly <italic>M</italic> additions and <italic>M</italic> conditionals; in the experiment, <italic>M</italic> is always fixed to 4800 triangle-units.</p></fn> Thus, we can predict algorithm time using the formulas below: <disp-formula-group id="j_infor610_dg_004">
<disp-formula id="j_infor610_eq_086">
<label>(34a)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0.5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>·</mml:mo>
<mml:mo movablelimits="false">exp</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0.5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo 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>0.5</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {T_{0.5}}(N,K)=c\cdot \exp \big\{{\alpha _{0.5}}[K]+{\beta _{0.5}}[K]N\big\}\cdot \mathcal{N}(N,K),\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_infor610_eq_087">
<label>(34b)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0.9</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>·</mml:mo>
<mml:mo movablelimits="false">exp</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">{</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">α</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0.9</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo 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>0.9</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">}</mml:mo>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<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[\[\begin{aligned}{}& {T_{0.9}}(N,K)=c\cdot \exp \big\{{\alpha _{0.9}}[K]+{\beta _{0.9}}[K]N\big\}\cdot \mathcal{N}(N,K).\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> In the above equations, <inline-formula id="j_infor610_ineq_332"><alternatives><mml:math>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{N}(N,K)$]]></tex-math></alternatives></inline-formula> is the number of nodes in the tree as defined in (<xref rid="j_infor610_eq_085">33</xref>). The predicted times for various combinations of <inline-formula id="j_infor610_ineq_333"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(N,K)$]]></tex-math></alternatives></inline-formula> when the number of triangle-units is fixed to <inline-formula id="j_infor610_ineq_334"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>4800</mml:mn></mml:math><tex-math><![CDATA[$M=4800$]]></tex-math></alternatives></inline-formula> are visualized in Fig. <xref rid="j_infor610_fig_008">8</xref>.</p>
<fig id="j_infor610_fig_008">
<label>Fig. 8</label>
<caption>
<p>Estimated time of the algorithm for various problems <inline-formula id="j_infor610_ineq_335"><alternatives><mml:math>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="double-struck">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mo fence="true" stretchy="false">]</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>∪</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[$[{\mathbb{P}_{1}^{N}}/K]|[{\mathcal{R}^{\cup }}]$]]></tex-math></alternatives></inline-formula> with <italic>K</italic> in the <italic>x</italic>-axis and <italic>N</italic> in the <italic>y</italic>-axis. Blue points represent the pairs for which time statistics were collected, red points have no time statistics corresponding to them and are predicted. In the figure, the letter next to a number means “s”-seconds, “m”-minutes, “h”-hours, “d”-days (<inline-formula id="j_infor610_ineq_336"><alternatives><mml:math>
<mml:mo>=</mml:mo>
<mml:mn>24</mml:mn></mml:math><tex-math><![CDATA[$=24$]]></tex-math></alternatives></inline-formula> hours).</p>
</caption>
<graphic xlink:href="infor610_g011.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_infor610_s_026">
<label>5.6</label>
<title>Solved Example Instances</title>
<p>Some examples of problems solved within <italic>ϵ</italic>-accuracy are shown in Figs. <xref rid="j_infor610_fig_009">9</xref> and <xref rid="j_infor610_fig_010">10</xref>. These are optimal solutions for largest problem instances we can solve in acceptable time. The results suggest themselves to be compared with the work of Rosing (<xref ref-type="bibr" rid="j_infor610_ref_017">1992</xref>), where the author had studied the <bold>unconstrained</bold> multi-Weber problem <bold>without barriers</bold>. This paper was published more than 30 years ago, but the results of their work are comparable to ours in the sense that, just like us (see Fig. <xref rid="j_infor610_fig_010">10</xref>), they reported global solutions for up to 35/5 and 30/6 problems. Our contribution is that we have managed to solve <bold>constrained</bold> multi-Weber problems <bold>with barriers</bold> of the same size, i.e. the ideas presented in this paper allow us to solve much more general class of uncapacitated multi-location problems.</p>
<fig id="j_infor610_fig_009">
<label>Fig. 9</label>
<caption>
<p>Examples of within <italic>ϵ</italic>-accuracy solved problems (<inline-formula id="j_infor610_ineq_337"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$\epsilon =1\% $]]></tex-math></alternatives></inline-formula>).</p>
</caption>
<graphic xlink:href="infor610_g012.jpg"/>
</fig>
<fig id="j_infor610_fig_010">
<label>Fig. 10</label>
<caption>
<p>More examples of within <italic>ϵ</italic>-accuracy solved problems (<inline-formula id="j_infor610_ineq_338"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$\epsilon =1\% $]]></tex-math></alternatives></inline-formula>).</p>
</caption>
<graphic xlink:href="infor610_g013.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_infor610_s_027">
<label>6</label>
<title>Conclusions</title>
<p>In this paper, we have outlined ideas how the globally-optimal solution of a very general multi-locations problem can be approached. The problem of finding the global solution perhaps is more of theoretical and intellectual than practical interest. Also, the question is more of proving that the best found solution is the global optimum. In practice, if one is faced with a barriers problem, a good-quality solution can be obtained by a location-allocation algorithm. The ideas of this paper can be easily extended for an implementation of such an algorithm.</p>
<p>We provided some numerical examples solving the multi-Weber with polyhedral barriers problem instances and predicted time for various sizes of problems. With our approach we have solved the problem instances of <inline-formula id="j_infor610_ineq_339"><alternatives><mml:math>
<mml:mn>60</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$60/2$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_340"><alternatives><mml:math>
<mml:mn>45</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>3</mml:mn></mml:math><tex-math><![CDATA[$45/3$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_341"><alternatives><mml:math>
<mml:mn>40</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>4</mml:mn></mml:math><tex-math><![CDATA[$40/4$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_infor610_ineq_342"><alternatives><mml:math>
<mml:mn>35</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>5</mml:mn></mml:math><tex-math><![CDATA[$35/5$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor610_ineq_343"><alternatives><mml:math>
<mml:mn>30</mml:mn>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mn>6</mml:mn></mml:math><tex-math><![CDATA[$30/6$]]></tex-math></alternatives></inline-formula> (<inline-formula id="j_infor610_ineq_344"><alternatives><mml:math>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">K</mml:mi></mml:math><tex-math><![CDATA[$N/K$]]></tex-math></alternatives></inline-formula> means “<italic>N</italic> points into <italic>K</italic> clusters”) to global optimality (within <italic>ϵ</italic>-accuracy with <inline-formula id="j_infor610_ineq_345"><alternatives><mml:math>
<mml:mi mathvariant="italic">ϵ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$\epsilon =1\% $]]></tex-math></alternatives></inline-formula>). To our knowledge, this is the first time the solution of instances with such a size to global optimality is reported.</p>
</sec>
</body>
<back>
<ack id="j_infor610_ack_001">
<title>Acknowledgements</title>
<p>Our solver for the multi-locations with barriers problem was implemented with java programming language on top of the algorithms and data-structures from Sedgewick and Wayne (<xref ref-type="bibr" rid="j_infor610_ref_018">2011</xref>), which are available at <uri>https://algs4.cs.princeton.edu/home/</uri>. In particular, most of the figures were generated using the <italic>StdDraw.java</italic> class, and we have reused their implementations of Dijkstra’s algorithm (<italic>DijkstraSP.java</italic>) and various data-structures like MinPQ (<italic>MinPQ.java</italic>).</p></ack>
<ref-list id="j_infor610_reflist_001">
<title>References</title>
<ref id="j_infor610_ref_001">
<mixed-citation publication-type="journal"><string-name><surname>Aloise</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Hansen</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Liberti</surname>, <given-names>L.</given-names></string-name> (<year>2012</year>). <article-title>An improved column generation algorithm for minimum sum-of-squares clustering</article-title>. <source>Mathematical Programming</source>, <volume>131</volume>, <fpage>195</fpage>–<lpage>220</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Aneja</surname>, <given-names>Y.P.</given-names></string-name>, <string-name><surname>Parlar</surname>, <given-names>M.</given-names></string-name> (<year>1994</year>). <article-title>Algorithms for Weber facility location in the presence of forbidden regions and/or barriers to travel</article-title>. <source>Transportation Science</source>, <volume>28</volume>(<issue>1</issue>), <fpage>70</fpage>–<lpage>76</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_003">
<mixed-citation publication-type="journal"><string-name><surname>Bischoff</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Klamroth</surname>, <given-names>K.</given-names></string-name> (<year>2007</year>). <article-title>An efficient solution method for Weber problems with barriers based on genetic algorithms</article-title>. <source>European Journal of Operational Research</source>, <volume>177</volume>(<issue>1</issue>), <fpage>22</fpage>–<lpage>41</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Bischoff</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Fleischmann</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Klamroth</surname>, <given-names>K.</given-names></string-name> (<year>2009</year>). <article-title>The multi-facility location–allocation problem with polyhedral barriers</article-title>. <source>Computers &amp; Operations Research</source>, <volume>36</volume>(<issue>5</issue>), <fpage>1376</fpage>–<lpage>1392</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Cooper</surname>, <given-names>L.</given-names></string-name> (<year>1964</year>). <article-title>Heuristic methods for location-allocation problems</article-title>. <source>SIAM Review</source>, <volume>6</volume>(<issue>1</issue>), <fpage>37</fpage>–<lpage>53</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>Dijkstra</surname>, <given-names>E.W.</given-names></string-name> (<year>1959</year>). <article-title>A note on two problems in connexion with graphs</article-title>. <source>Numerische Mathematik</source>, <volume>1</volume>(<issue>1</issue>), <fpage>269</fpage>–<lpage>271</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_007">
<mixed-citation publication-type="other"><string-name><surname>Drezner</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Klamroth</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Schöbel</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Wesolowsky</surname>, <given-names>G.</given-names></string-name> (2002). The Weber Problem. <italic>Facility Location: Applications and Theory</italic>, 1–36.</mixed-citation>
</ref>
<ref id="j_infor610_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>du Merle</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Villeneuve</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Desrosiers</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Hansen</surname>, <given-names>P.</given-names></string-name> (<year>1999</year>). <article-title>Stabilized column generation</article-title>. <source>Discrete Mathematics</source>, <volume>194</volume>(<issue>1</issue>), <fpage>229</fpage>–<lpage>237</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_009">
<mixed-citation publication-type="journal"><string-name><surname>Gilmore</surname>, <given-names>P.C.</given-names></string-name>, <string-name><surname>Gomory</surname>, <given-names>R.E.</given-names></string-name> (<year>1961</year>). <article-title>A linear programming approach to the cutting-stock problem</article-title>. <source>Operations Research</source>, <volume>9</volume>(<issue>6</issue>), <fpage>849</fpage>–<lpage>859</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Hamacher</surname>, <given-names>H.W.</given-names></string-name>, <string-name><surname>Nickel</surname>, <given-names>S.</given-names></string-name> (<year>1995</year>). <article-title>Restricted planar location problems and applications</article-title>. <source>Naval Research Logistics (NRL)</source>, <volume>42</volume>(<issue>6</issue>), <fpage>967</fpage>–<lpage>992</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_011">
<mixed-citation publication-type="journal"><string-name><surname>Kepalas</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Žilinskas</surname>, <given-names>J.</given-names></string-name> (<year>2024</year>). <article-title>Solving net-constrained clustering problem</article-title>. <source>Journal of Nonlinear and Variational Analysis</source>, <volume>8</volume>, <fpage>987</fpage>–<lpage>1012</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_012">
<mixed-citation publication-type="book"><string-name><surname>Klamroth</surname>, <given-names>K.</given-names></string-name> (<year>2002</year>). <source>Single Facility Location Problems with Barriers</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>New York</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_013">
<mixed-citation publication-type="other"><string-name><surname>Koenker</surname>, <given-names>R.</given-names></string-name> (2025). quantreg: Quantile Regression.</mixed-citation>
</ref>
<ref id="j_infor610_ref_014">
<mixed-citation publication-type="other"><string-name><surname>Krau</surname>, <given-names>S.</given-names></string-name> (1997). <italic>Extensions du problème de Weber</italic>. PhD thesis, École Polytechnique de Montréal.</mixed-citation>
</ref>
<ref id="j_infor610_ref_015">
<mixed-citation publication-type="journal"><string-name><surname>Oğuz</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Bektaş</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Bennell</surname>, <given-names>J.A.</given-names></string-name>, <string-name><surname>Fliege</surname>, <given-names>J.</given-names></string-name> (<year>2016</year>). <article-title>A modelling framework for solving restricted planar location problems using phi-objects</article-title>. <source>The Journal of the Operational Research Society</source>, <volume>67</volume>(<issue>8</issue>), <fpage>1080</fpage>–<lpage>1096</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_016">
<mixed-citation publication-type="book"><string-name><surname>Paulavičius</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Žilinskas</surname>, <given-names>J.</given-names></string-name> (<year>2013</year>). <source>Simplicial Global Optimization</source>. <publisher-name>Springer</publisher-name>, <publisher-loc>New York</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Rosing</surname>, <given-names>K.E.</given-names></string-name> (<year>1992</year>). <article-title>An optimal method for solving the (generalized) multi-Weber problem</article-title>. <source>European Journal of Operational Research</source>, <volume>58</volume>(<issue>3</issue>), <fpage>414</fpage>–<lpage>426</lpage>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_018">
<mixed-citation publication-type="book"><string-name><surname>Sedgewick</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Wayne</surname>, <given-names>K.</given-names></string-name> (<year>2011</year>). <source>Algorithms</source>, <edition>4th ed</edition>. <publisher-name>Addison-Wesley Professional</publisher-name>, <publisher-loc>Princeton</publisher-loc>.</mixed-citation>
</ref>
<ref id="j_infor610_ref_019">
<mixed-citation publication-type="other"><string-name><surname>Sumner</surname>, <given-names>M.</given-names></string-name> (2025). sfdct: Constrained Triangulation for Simple Features.</mixed-citation>
</ref>
<ref id="j_infor610_ref_020">
<mixed-citation publication-type="journal"><string-name><surname>Viegas</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Hansen</surname>, <given-names>P.</given-names></string-name> (<year>1985</year>). <article-title>Finding shortest paths in the plane in the presence of barriers to travel (for any lp – norm)</article-title>. <source>European Journal of Operational Research</source>, <volume>20</volume>(<issue>3</issue>), <fpage>373</fpage>–<lpage>381</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>
