<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">AJOR</journal-id><journal-title-group><journal-title>American Journal of Operations Research</journal-title></journal-title-group><issn pub-type="epub">2160-8830</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/ajor.2017.71002</article-id><article-id pub-id-type="publisher-id">AJOR-73373</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  Posterior Constraint Selection for Nonnegative Linear Programming
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>H.</surname><given-names>W. Corley</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Alireza</surname><given-names>Noroziroshan</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jay</surname><given-names>M. Rosenberger</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Center on Stochastic Modeling, Optimization, &amp;amp; Statistics (COSMOS), The University of Texas at Arlington, Arlington, TX, USA</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>corley@uta.edu(HWC)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>27</day><month>12</month><year>2016</year></pub-date><volume>07</volume><issue>01</issue><fpage>26</fpage><lpage>40</lpage><history><date date-type="received"><day>17,</day>	<month>November</month>	<year>2016</year></date><date date-type="rev-recd"><day>8,</day>	<month>January</month>	<year>2017</year>	</date><date date-type="accepted"><day>11,</day>	<month>January</month>	<year>2017</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Posterior constraint optimal selection techniques (COSTs) are developed for nonnegative linear programming problems (NNLPs), and a geometric interpretation is provided. The posterior approach is used in both a dynamic and non-dynamic active-set framework. The computational performance of these methods is compared with the CPLEX standard linear programming algorithms, with two most-violated constraint approaches, and with previously developed COST algorithms for large-scale problems.
 
</p></abstract><kwd-group><kwd>Linear Programming</kwd><kwd> Nonnegative Linear Programming</kwd><kwd> Large-Scale Problems</kwd><kwd> Active Set Methods</kwd><kwd> Constraint Selection</kwd><kwd> Posterior Method</kwd><kwd> COSTs</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><sec id="s1_1"><title>1.1. The Nonnegative Linear Programming</title><p>Consider the linear programming (LP) problem</p><p>( P ) Maximize z = c T x (1)</p><p>subject to</p><p>A x ≤ b (2)</p><p>x ≥ 0 , (3)</p><p>where c and x are n-dimensional column vectors of objective coefficients and variables respectively; A is an m &#215; n matrix [ a i j ] with 1 &#215; n row vectors a i , i = 1 , ⋯ , m ; b is an m &#215; 1 column vector; and 0 is an n &#215; 1 vector of zeros.</p><p>The non-polynomial simplex methods and the polynomial interior-point barrier-function algorithms are currently the principal two-solution approaches for solving problem P , but for either there are problem instances for which it performs poorly [<xref ref-type="bibr" rid="scirp.73373-ref1">1</xref>] . Since the principle use of LP in industrial applications is in binary and integer programming algorithms, however, pivoting algorithms with efficient post-optimality analysis are frequently preferable to interior-point methods. On the other hand, simplex methods often cannot solve large-scale LPs at a speed required by many current applications. The purpose here is to develop an approach for solving a certain class of LPs faster than existing methods.</p><p>In this paper we consider the nonnegative linear programming problem (NNLP), which is the special case of P with a i ≥ 0 but a i ≠ 0 , i = 1 , ⋯ , m ; b &gt; 0 ; and c &gt; 0. NNLPs model a large number of linear programming applications such as determining an optimal driving path for navigation systems using traffic data [<xref ref-type="bibr" rid="scirp.73373-ref2">2</xref>] , updating flight status due to weather conditions [<xref ref-type="bibr" rid="scirp.73373-ref3">3</xref>] , and detecting errors in DNA sequences [<xref ref-type="bibr" rid="scirp.73373-ref4">4</xref>] . NNLPs have the following two important properties:</p><p>1) the origin x = 0 is feasible,</p><p>2) x j ≤ min i = 1 , ⋯ , m { b i a i j : a i j &gt; 0 } , j = 1 , ⋯ , n .</p><p>Thus NNLPs have a bounded feasible region and bounded objective function if and only if no column of A is a zero vector. It follows that the boundedness of an NNLP objective function is easily verifiable without computation.</p></sec><sec id="s1_2"><title>1.2. Background</title><p>We propose here an active-set method to solve nonnegative linear programming problems faster than current approaches. Our method divides the constraints of problem P into operative and inoperative constraints at each active-set iteration. Operative constraints are those active in the current relaxed subproblem P r , r = 1 , 2 , ⋯ , of P at iteration r , while the inoperative ones are constraints of the problem P not active in P r . In our active-set method we iteratively solve P r , r = 1 , 2 , ⋯ , of P after adding one or more violated inoperative constraints from (2) to P r − 1 until the solution x r * to P r is a solution to P .</p><p>Active-set methods have been studied by Stone [<xref ref-type="bibr" rid="scirp.73373-ref5">5</xref>] , Thompson et al. [<xref ref-type="bibr" rid="scirp.73373-ref6">6</xref>] , Adler et al. [<xref ref-type="bibr" rid="scirp.73373-ref7">7</xref>] , Zeleny [<xref ref-type="bibr" rid="scirp.73373-ref8">8</xref>] , Myers and Shih [<xref ref-type="bibr" rid="scirp.73373-ref9">9</xref>] , Curet [<xref ref-type="bibr" rid="scirp.73373-ref10">10</xref>] , and Bixby et al. [<xref ref-type="bibr" rid="scirp.73373-ref11">11</xref>] , among others. The term ‘‘constraint selection technique’’ was introduced in [<xref ref-type="bibr" rid="scirp.73373-ref9">9</xref>] , while the approaches of [<xref ref-type="bibr" rid="scirp.73373-ref7">7</xref>] and [<xref ref-type="bibr" rid="scirp.73373-ref8">8</xref>] illustrate two distinct classes of active-set methods. When the constraint selection metric for choosing violated inoperative constraints to be added to P r does not depend on the solution x r * , the associated active-set method is called a prior method. On the other hand, if the constraint selection at P r does depend on x r * , it is called a posterior method. Adler et al. [<xref ref-type="bibr" rid="scirp.73373-ref7">7</xref>] developed a prior method in which a violated inoperative constraint was chosen randomly at each active-set iteration. Zeleny [<xref ref-type="bibr" rid="scirp.73373-ref8">8</xref>] proposed a posterior method in which the inoperative constraint most violated by x r * was added. This method is a classical cutting-plane generation technique and is called VIOL here. VIOL is also used as a pricing rule in delayed column generation [<xref ref-type="bibr" rid="scirp.73373-ref12">12</xref>] , as an approach for adding multiple constraints in the interior point cutting plane method of [<xref ref-type="bibr" rid="scirp.73373-ref13">13</xref>] , and as part of the sifting algorithm of [<xref ref-type="bibr" rid="scirp.73373-ref11">11</xref>] for column generation.</p><p>More recently, Corley et al. [<xref ref-type="bibr" rid="scirp.73373-ref14">14</xref>] developed a geometric prior active-set method for P called the cosine simplex method. At each active-set iteration r , a single violated constraint maximizing the cosine of the angle between a i and c is added to the operative set for P r . This cosine constraint selection criterion is equivalent to the “most-obtuse-angle” pivot rule for the modified simplex algorithm introduced by Pan [<xref ref-type="bibr" rid="scirp.73373-ref15">15</xref>] , where it was applied to the dual problem for P. Junior and Lins [<xref ref-type="bibr" rid="scirp.73373-ref16">16</xref>] also utilized a cosine criterion to choose an initial basis for the simplex algorithm on P resulting in a fewer number of simplex iterations.</p><p>References [<xref ref-type="bibr" rid="scirp.73373-ref17">17</xref>] [<xref ref-type="bibr" rid="scirp.73373-ref18">18</xref>] [<xref ref-type="bibr" rid="scirp.73373-ref19">19</xref>] [<xref ref-type="bibr" rid="scirp.73373-ref20">20</xref>] are most directly related to the current work and involve the authors here. In [<xref ref-type="bibr" rid="scirp.73373-ref17">17</xref>] , Corley and Rosenberger proposed the constraint selection metric maximizing</p><p>R A D ( a i , b i , c ) = a i c b i (4)</p><p>for NNLPs. RAD is a geometric constraint selection criterion for determining the constraints most likely to be binding at optimality. In the associated active-set algorithm of [<xref ref-type="bibr" rid="scirp.73373-ref18">18</xref>] , all constraints of (2) are initially ordered by decreasing value of RAD prior to solving an initial bounded problem P 0 by the primal simplex. The dual simplex is then used when violated inoperative constraints are added according to their RAD value. In computational experiments, RAD proved superior to existing linear programming methods for NNLPs. A similar constraint selection metric GRAD was developed in [<xref ref-type="bibr" rid="scirp.73373-ref19">19</xref>] to solve general linear programs (LPs). Finally, in [<xref ref-type="bibr" rid="scirp.73373-ref20">20</xref>] a dynamic active-set method was developed for adding a varying number of violated constraints at P r based on progress at P r − 1 . It was incorporated into both RAD and GRAD to improve the computational results of [<xref ref-type="bibr" rid="scirp.73373-ref18">18</xref>] and [<xref ref-type="bibr" rid="scirp.73373-ref19">19</xref>] .</p></sec><sec id="s1_3"><title>1.3. Overview</title><p>In this paper a posterior constraint selection metric NVRAD is developed for NNLPs. NVRAD may be considered as a posterior version of RAD. The posterior NVRAD is then implemented in the dynamic framework of [<xref ref-type="bibr" rid="scirp.73373-ref20">20</xref>] . It should be noted that a constraint selection metric and the associated active-set method are identified by the same name - in this case NVRAD. For the active-set method NVRAD, we provide extensive computational extensive computational experiments to show that it solves NNLPs faster than other computational methods, including RAD and various versions of the existing posterior active-set method VIOL described above.</p><p>More specifically, in Section 2 we state the posterior constraint selection metric NVRAD and provide a geometric interpretation. A dynamic version of NVRAD for NNLPs is then developed. In Section 2 we extend NVRAD to a hybrid approach HYBR, where RAD and NVRAD are alternated. In Section 3, computational results are presented. NVRAD is shown to be significantly faster for NNLPs than all CPLEX solvers, as well as faster than VIOL and RAD. HYBR appears slightly faster than NVRAD. In Section 4, we present conclusions. Throughout the paper, both a constraint selection metric and the associated active-set algorithm are identified by the same name-RAD or NVRAD, for example. The use the term should be clear from context. The active-set algorithm itself is called a COST, i.e., a “Constraint Optimal Selection Technique”.</p></sec></sec><sec id="s2"><title>2. NVRAD</title><sec id="s2_1"><title>2.1. Definition and Interpretation</title><p>Let x r * be the current optimal solution for some P r with a perpendicular dis-</p><p>tance d = a i x r * − b i ‖ a i ‖ to a violated hyperplane a i x = b i . It follows that</p><p>d b i ‖ a i ‖ = a i x r * − b i b i . (5)</p><p>Note that b i ‖ a i ‖ is the perpendicular distance of hyperplane a i x = b i to the</p><p>origin. Consequently, it follows that choosing a violated hyperplane a i x = b i</p><p>with a maximum value a i x r * − b i b i on the right side of (5) can be interpreted</p><p>from the left side of (5) as selecting a violated constraint giving the deepest cut</p><p>based on information derived from x r * . But from [<xref ref-type="bibr" rid="scirp.73373-ref18">18</xref>] , the expression a i c b i on</p><p>the right side of (4) is the distance from the origin to the hyperplane a i x ≤ b i along the vector c , i.e., the direction of steepest ascent for the objective function (1) of the NNLP P . For this reason, in [<xref ref-type="bibr" rid="scirp.73373-ref18">18</xref>] the inoperative constraint maximizing R A D ( a i , b i , c ) is deemed the best constraint to add to P r based on prior information. We combine this prior information (4) with the posterior information on the right side of (5) by multiplying them to give</p><p>N V R A D ( a i , b i , c , x r * ) = a i c b i 2 ( a i x r * − b i ) . (6)</p><p>Equation (6) thus incorporates global information from RAD with local information at x r * , and our posterior active-set method adds to P r an inoperative constraint i * for which</p><p>i * ∈ arg max i ∉ OPERATIVE { a i c b i 2 ( a i x r * − b i ) : a i x r * &gt; b i } . (7)</p><p>We mention that the term b i 2 in the denominator of (7) works better than simply b i . This fact was established in computational results not reported here but obtained to support the above derivation.</p></sec><sec id="s2_2"><title>2.2. The Dynamic Active-Set Algorithm</title><p>A dynamic version of RAD was developed by the authors in [<xref ref-type="bibr" rid="scirp.73373-ref20">20</xref>] . A similar approach is now used for NVRAD. Let x r * be the optimal extreme point for P r , with θ r the angle between x r * and c . Then</p><p>cos θ i = c T x r * ‖ x r * ‖ ‖ c ‖ , (8)</p><p>is nonnegative since P r is also an NNLP. We would like to decrease θ r at each active-set iteration so that x r * points more in the same direction as the gradient c of the objective function in (1). We adapt our dynamic heuristic of [<xref ref-type="bibr" rid="scirp.73373-ref20">20</xref>] that adds a varying number of violated inoperative constraints to P r according to the progress made P r − 1 in reducing the angle θ r − 1 .</p><p>As our ideal goal, let θ r = 0 in (8) to give</p><p>c T x r * = ‖ x r * ‖ ‖ c ‖ . (9)</p><p>When θ r = 0 , it follows from (9) that</p><p>∑ j = 1 n c j x r j * ∑ j = 1 n c j 2 = ∑ j = 1 n ( x r j * ) 2 . (10)</p><p>Letting | ⋅ | denote absolute value, define</p><p>δ r ( x r * ) = | ∑ j = 1 n c j x r j * ∑ j = 1 n c j 2 − ∑ j = 1 n ( x r j * ) 2 | (11)</p><p>as a measure of the performance of our active-set method at iteration r . The value of δ r ( x r * ) decreases as θ r decreases. Such a decrease usually occurs as x r * approaches an optimal extreme point of P itself.</p><p>The dynamic COST NVRAD for solving NNLPs is described as follows. Constraints are initially ordered by the RAD constraint selection metric (4). To construct P 0 we choose constraints from (2) in descending order of RAD (since there is no x r * ) until the A 0 matrix of has no 0 column, i.e., until each variable x j has an a i j &gt; 0. These selected constraints become the constraints of P 0 , and we say that the variables are covered by the inequality constraints of the initial problem. P 0 is then solved by the primal simplex to achieve an initial solution x 0 * , and δ 0 ( x 0 * ) is calculated. At iteration r let γ r be the number of constraints of problem P violated by x r * . Then at iteration r − 1 and r , the values of δ r − 1 ( x r − 1 * ) and δ r ( x r * ) are calculated; and the percentage of improvement made in reducing the angle between vectors x r * and c at iteration r is measured by</p><p>ω r = max { 0 , ( δ r − 1 ( x r − 1 * ) − δ r ( x r * ) δ r − 1 ( x r − 1 * ) ) } &#215; 100 , r = 1 , 2 , ⋯ . (12)</p><p>With [ ⋅ ] denoting the greatest integer function, let</p><p>{ φ r + 1 = φ r &#215; ( 1 + [ ( ln ω r ) − 1 ] ) , r = 1 , 2 , ⋯ , if ω r &gt; 1 φ r + 1 = γ r , r = 1 , 2 , ⋯ , if ω r ≤ 1 , (13)</p><p>where φ 1 = 200. The value of φ r is an upper bound on the possible number of violated constraints that can be added at active-set iteration r . The actual number added is min { φ r + 1 , γ r } . The active-set function φ r increases at every iteration since the optimal value of the objective function for P r is usually less affected by a constraint with a small value of (6) than one with a large value. Hence, more violated constraints should be added as r increases. Equation (13) represents one approach for doing so. If ω r &gt; e (Euler’s number), for example, then φ r + 1 = φ r . If ω r = 1.01 , then φ r + 1 = 101 φ r . In other words, a much larger number and perhaps all of the remaining violated constraints could be added. NVRAD stops when γ r = 0 , i.e., when there are no more violated constraints.</p><p>The pseudocode for dynamic NVRAD algorithm is as follows.</p><p>Step 1―Identify constraints to initially bound the problem.</p><p>1: a * ← 0 , BOUNDING ← ∅</p><p>2: while a * ≯ 0 do</p><p>3: Let i * ∈ arg max i ∉ EXPLORED R A D ( a i , b i , c ) .</p><p>4: if ∃ j | a j * = 0 and a i j * &gt; 0 then</p><p>5: BOUNDING ← BOUNDING ∪ { i }</p><p>6: end if</p><p>7: a * ← a * + a i *</p><p>8. Optimized ← false</p><p>9: end while</p><p>Step 2―Using the primal simplex method, obtain an optimal x 0 * for the initial problem.</p><p>( P 0 ) Maximize z = c T x subjectto a i x ≤ b i , i ∈ BOUNDING x ≥ 0.</p><p>Step 3―Perform the following iterations until an answer to problem P is found.</p><p>1: r ← 0</p><p>2: while Optimized = false do</p><p>3: Calculate δ r ( x r * ) .</p><p>4: if r &gt; 1 then ω r = max { 0 , ( δ r − 1 ( x r − 1 * ) − δ r ( x r * ) δ r − 1 ( x r − 1 * ) ) } &#215; 100</p><p>5: if ω r &gt; 1 then φ r + 1 = φ r &#215; ( 1 + [ ( ln ω r ) − 1 ] )</p><p>6: else if ω r ≤ 1 then φ r + 1 = γ r</p><p>7: end if</p><p>8: else φ r ← 0</p><p>9: end if</p><p>10: if a i x r * &gt; b i , i = 1 , ⋯ , rowsthen</p><p>11: γ r ← #{ { a i x r * &gt; b i , i = 1 , ⋯ , rows }</p><p>12: Let i * ∈ arg max i ∉ OPERATIVE { N V R A D ( a i , b i , c , x r * ) = a i c b i 2 ( a i x r * − b i ) : a i x r * &gt; b i } .</p><p>13: for i = 1 , ⋯ , min { φ r + 1 , γ r } OPERATIVE ← OPERATIVE ∪ { i } end</p><p>14: Solve the following P r by the dual simplex method to obtain x r * .</p><p>15: r ← r + 1</p><p>16: Go to 3</p><p>17: elseOptimized ← true / / x r * is an optimal solution to P .</p><p>18: end if</p><p>19: end while</p></sec><sec id="s2_3"><title>2.3. A Hybrid Approach</title><p>A reasonable conjecture is that that combining the global information of RAD and the local information of NVRAD might be advantageous. Therefore, we will also consider an approach that alternates the dynamic RAD and NVRAD metrics in a single algorithm at even and odd iterations, respectively, to yield a hybrid COST designated here as HYBR. The results obtained for HYBR demonstrate that combining posterior and prior COSTs may be superior to either a prior or posterior approach by itself.</p></sec></sec><sec id="s3"><title>3. Computational Experiments</title><p>Dynamic NVRAD is compared in this section with the CPLEX primal simplex, dual simplex, and barrier methods. It is also compared with the prior active-set method RAD and the standard posterior active-set method VIOL, as well as to a normalized version of VIOL called NVIOL that was superior to VIOL in computational results not reported here. Both dynamic and multi-bound, multi-cut versions of NVRAD were compared to dynamic and multi-bound, multi-cut versions of the other active-set methods for insight into the individual merits of the dynamic and posterior approaches.</p><sec id="s3_1"><title>3.1. Problem Instances</title><p>Five sets of NNLPs from [<xref ref-type="bibr" rid="scirp.73373-ref18">18</xref>] are used to evaluate the performance of the dynamic posterior COST NVRAD. Each of Sets 1 - 4 contains 105 randomly generated NNLPs at 21 different density levels ranging from 0.005 to 1, and four ratios of ( m constraints)/( n variables) ranging from 200 to 1. The ratios for Sets 1 - 4 are 200, 20, 2, and 1, respectively. For each of Sets 1 - 4, there are five problem instances per combination of density level and ratio. In these problem sets, randomly generated real numbers between 1 and 5, 1 and 10, and 1 and 10 were assigned to the elements of A , b , and c , respectively. To prevent any constraint of P from having the form of an upper bound on some variable, each constraint is required to have at least two nonzero a i j . Next, problem Set 5 of NNLPs is a set of large-scale problems with 5000 variables and 1,000,000 constraints. In this set, real numbers between 1 and 100 are assigned to the elements of b and c with densities p ranging from 0.0004 to 0.06. Again, each constraint is required to have at least two nonzero a i j .</p></sec><sec id="s3_2"><title>3.2. CPLEX Preprocessing</title><p>Two CPLEX parameters for solving linear programming are discussed here. The preprocessing pre-solve indicator (PREIND) and the preprocessing dual setting (PREDUAL) are the two parameters that CPLEX uses for solving linear programming. Preprocessing pre-solver is enabled with the parameter setting PREIND = 1 (ON), which reduces both the number of variables and the constraints before any type of algorithm is used. The pre-solver routine in CPLEX is disabled by setting PREIND = 0 (OFF). The second preprocessing parameter in CPLEX affecting the computational speed is PREDUAL. By setting parameter PREDUAL = 0 (ON) or PREDUAL = −1 (OFF), CPLEX automatically selects whether to solve the dual of the original LP or not, respectively.</p><p>Both PREIND and PREDUAL were turned off for CPLEX when CPLEX was used as part of NVRAD or HYBR. However, all computational results reported here for any individual CPLEX solver had PREIND and PREDUAL turned on. In other words, our NVRAD was compared to CPLEX at its fastest setting. CPLEX would choose automatically whether to solve either the primal or dual, whichever seemed best. Moreover, preprocessing would substantially reduce the size of any problem P by removing appropriate rows or columns of the constraint matrix A before applying the primal simplex, dual simplex, or interior-point barrier method. In fact, much of the speed of the CPLEX solvers is due to its proprietary preprocessing routines.</p></sec><sec id="s3_3"><title>3.3. Computational Results</title><p>The experiments were performed on an Intel<sup>&#174;</sup>Core<sup>TM</sup> 2 Duo X9650 3.00 GHz processor with a Linux 64-bit operating system and 8 GB of RAM. The COST NVRAD uses the IBM CPLEX 12.5 callable library to solve P 0 by the primal simplex and then P r , r = 1 , 2 , ⋯ by the dual simplex when selected constraints are added to P r − 1 . The CPU times shown in the tables below represent the average computation time of five problem instances at each density level.</p><p>The results of <xref ref-type="table" rid="table1">Table 1</xref> for Set 1 compare NVRAD to VIOL, as well as to both a dynamic and non-dynamic version of NVIOL. In addition, the dynamic NVRAD described in Section 2.2 was compared to a non-dynamic NVRAD that applies the multi-cut and multi-bound technique of [<xref ref-type="bibr" rid="scirp.73373-ref18">18</xref>] . The dynamic version was significantly faster. The efficacy of the dynamic approach was further demonstrated by the fact that in higher density problems a dynamic version of NVIOL was up to 21 times faster than the multi-cut, multi-bound NVIOL. Overall, dynamic NVRAD was faster than VIOL and NVIOL on every problem instance.</p><p>In <xref ref-type="table" rid="table2">Table 2</xref>, the CPU times of the test problems solved by dynamic NVRAD are compared with those for RAD. In problem Set 1, RAD is slightly faster than NVRAD over all densities and averages 3.98 compared to 4.55 seconds. However, in problem Set 2, the average computation times for RAD and dynamic</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> CPU times for multi-cut, multi-bound and dynamic active-set approaches on problem Set 1 for random NNLPs with 1000 variables, 200,000 constraints, and a i j = 1 − 5 , b i = 1 − 10 , c j = 1 − 10 </title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  ></th><th align="center" valign="middle"  rowspan="2"  ></th><th align="center" valign="middle" >VIOL<sup>−−</sup></th><th align="center" valign="middle" >NVIOL<sup>−−</sup></th><th align="center" valign="middle" >NVRAD<sup>−−</sup></th><th align="center" valign="middle" >NVIOL<sup>−−</sup></th><th align="center" valign="middle" >NVRAD<sup>−−</sup></th></tr></thead><tr><td align="center" valign="middle"  colspan="3"  >Multi-Cut &amp; Multi-Bound</td><td align="center" valign="middle"  colspan="2"  >Dynamic</td></tr><tr><td align="center" valign="middle"  colspan="7"  >Density No.CPU Time (Sec)<sup>++</sup>CPU Time (Sec)<sup>++</sup></td></tr><tr><td align="center" valign="middle" >0.005</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >6.54</td><td align="center" valign="middle" >4.56</td><td align="center" valign="middle" >2.51</td><td align="center" valign="middle" >2.49</td><td align="center" valign="middle" >2.26</td></tr><tr><td align="center" valign="middle" >0.006</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >6.84</td><td align="center" valign="middle" >5.06</td><td align="center" valign="middle" >2.92</td><td align="center" valign="middle" >2.96</td><td align="center" valign="middle" >2.62</td></tr><tr><td align="center" valign="middle" >0.007</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >7.15</td><td align="center" valign="middle" >5.34</td><td align="center" valign="middle" >3.03</td><td align="center" valign="middle" >3.03</td><td align="center" valign="middle" >2.75</td></tr><tr><td align="center" valign="middle" >0.008</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >6.61</td><td align="center" valign="middle" >4.96</td><td align="center" valign="middle" >3.02</td><td align="center" valign="middle" >3.13</td><td align="center" valign="middle" >2.83</td></tr><tr><td align="center" valign="middle" >0.009</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >7.02</td><td align="center" valign="middle" >5.16</td><td align="center" valign="middle" >3.11</td><td align="center" valign="middle" >3.39</td><td align="center" valign="middle" >3.09</td></tr><tr><td align="center" valign="middle" >0.01</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >6.83</td><td align="center" valign="middle" >5.14</td><td align="center" valign="middle" >3.41</td><td align="center" valign="middle" >3.51</td><td align="center" valign="middle" >3.12</td></tr><tr><td align="center" valign="middle" >0.02</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >6.11</td><td align="center" valign="middle" >4.81</td><td align="center" valign="middle" >3.36</td><td align="center" valign="middle" >3.79</td><td align="center" valign="middle" >3.44</td></tr><tr><td align="center" valign="middle" >0.03</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" >5.79</td><td align="center" valign="middle" >4.79</td><td align="center" valign="middle" >3.33</td><td align="center" valign="middle" >3.99</td><td align="center" valign="middle" >3.52</td></tr><tr><td align="center" valign="middle" >0.04</td><td align="center" valign="middle" >9</td><td align="center" valign="middle" >5.71</td><td align="center" valign="middle" >4.45</td><td align="center" valign="middle" >3.31</td><td align="center" valign="middle" >3.99</td><td align="center" valign="middle" >3.71</td></tr><tr><td align="center" valign="middle" >0.05</td><td align="center" valign="middle" >10</td><td align="center" valign="middle" >5.41</td><td align="center" valign="middle" >4.62</td><td align="center" valign="middle" >3.49</td><td align="center" valign="middle" >4.10</td><td align="center" valign="middle" >3.64</td></tr><tr><td align="center" valign="middle" >0.06</td><td align="center" valign="middle" >11</td><td align="center" valign="middle" >5.32</td><td align="center" valign="middle" >4.3</td><td align="center" valign="middle" >3.52</td><td align="center" valign="middle" >3.91</td><td align="center" valign="middle" >3.63</td></tr><tr><td align="center" valign="middle" >0.07</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >5.87</td><td align="center" valign="middle" >4.73</td><td align="center" valign="middle" >3.79</td><td align="center" valign="middle" >3.93</td><td align="center" valign="middle" >3.73</td></tr><tr><td align="center" valign="middle" >0.08</td><td align="center" valign="middle" >13</td><td align="center" valign="middle" >5.53</td><td align="center" valign="middle" >4.68</td><td align="center" valign="middle" >3.68</td><td align="center" valign="middle" >3.86</td><td align="center" valign="middle" >3.61</td></tr><tr><td align="center" valign="middle" >0.09</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >5.76</td><td align="center" valign="middle" >4.89</td><td align="center" valign="middle" >3.99</td><td align="center" valign="middle" >4.06</td><td align="center" valign="middle" >3.65</td></tr><tr><td align="center" valign="middle" >0.1</td><td align="center" valign="middle" >15</td><td align="center" valign="middle" >6.04</td><td align="center" valign="middle" >5.07</td><td align="center" valign="middle" >4.31</td><td align="center" valign="middle" >4.08</td><td align="center" valign="middle" >3.89</td></tr><tr><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >16</td><td align="center" valign="middle" >10.9</td><td align="center" valign="middle" >9.64</td><td align="center" valign="middle" >8.28</td><td align="center" valign="middle" >4.96</td><td align="center" valign="middle" >4.82</td></tr><tr><td align="center" valign="middle" >0.3</td><td align="center" valign="middle" >17</td><td align="center" valign="middle" >17.3</td><td align="center" valign="middle" >15.15</td><td align="center" valign="middle" >13.05</td><td align="center" valign="middle" >6.03</td><td align="center" valign="middle" >5.68</td></tr><tr><td align="center" valign="middle" >0.4</td><td align="center" valign="middle" >18</td><td align="center" valign="middle" >24.64</td><td align="center" valign="middle" >22.12</td><td align="center" valign="middle" >20.53</td><td align="center" valign="middle" >7.28</td><td align="center" valign="middle" >6.56</td></tr><tr><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >19</td><td align="center" valign="middle" >32.93</td><td align="center" valign="middle" >29.85</td><td align="center" valign="middle" >27.67</td><td align="center" valign="middle" >7.63</td><td align="center" valign="middle" >7.34</td></tr><tr><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >62.21</td><td align="center" valign="middle" >57.36</td><td align="center" valign="middle" >54.97</td><td align="center" valign="middle" >10.53</td><td align="center" valign="middle" >10.50</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >21</td><td align="center" valign="middle" >261.23</td><td align="center" valign="middle" >251.65</td><td align="center" valign="middle" >245.5</td><td align="center" valign="middle" >11.43</td><td align="center" valign="middle" >11.13</td></tr><tr><td align="center" valign="middle" >Average</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >23.89</td><td align="center" valign="middle" >21.82</td><td align="center" valign="middle" >20.04</td><td align="center" valign="middle" >4.86</td><td align="center" valign="middle" >4.55</td></tr></tbody></table></table-wrap><p><sup>++</sup>Average of 5 instances at each density. <sup>−−</sup> Used CPLEX presolve = OFF and predual = OFF.</p><p>NVRAD over all densities are 19.07 and 16.86 seconds, respectively. For Set 3, dynamic NVRAD is superior to RAD averaging 38.91 seconds compared to 41.87 seconds. Similarly, for Set 4 the averages are 41.87 for NVRAD as compared to 46.98 for RAD. Thus the results of <xref ref-type="table" rid="table2">Table 2</xref> affirm NVRAD’s ability to add appropriate constraints at each iteration. The results for Set 1 simply reflect how well the prior COST RAD performs when m is very much larger than n .</p><p><xref ref-type="table" rid="table3">Table 3</xref> presents the CPU times for problem Sets 1 - 4 solved by dynamic versions of both RAD and HYBR. In <xref ref-type="table" rid="table3">Table 3</xref> HYBR is superior to RAD. Moreover, a comparison of <xref ref-type="table" rid="table3">Table 3</xref> with <xref ref-type="table" rid="table2">Table 2</xref> shows that HYBR is also slightly better than dynamic NVRAD on these problem sets. Such observations suggest that combining the global information of RAD and the local information of NVRAD gives a superior performance than either RAD or NVRAD by itself. We note further that HYBR can probably be improved. However, it is not our goal to seek the optimal combination of RAD and NVRAD in HYBR since an optimal combination would likely differ depending on various factors such as density and the ratio m/n.</p><p><xref ref-type="table" rid="table4">Table 4</xref>, taken from [<xref ref-type="bibr" rid="scirp.73373-ref18">18</xref>] , provides a comparison of the posterior COST NVRAD with the standard CPLEX solvers. Comparing the results of <xref ref-type="table" rid="table4">Table 4</xref> for the CPLEX solvers with the results for NVRAD in <xref ref-type="table" rid="table2">Table 2</xref> shows that NVRAD was significantly faster across virtually all ratios m / n and all densities. For example, the primal simplex was the most robust CPLEX solver, but on the average across all densities the primal simplex took approximately 3 to 14 times more CPU time for the different rations m / n than NVRAD. For the dual simplex, the av-</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> CPU times for multi-cut, multi-bound and dynamic active-set approaches on problem Sets 1 - 4 for random NNLPs with a i j = 1 − 5 , b i = 1 − 10 , c j = 1 − 10 </title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" ></th><th align="center" valign="middle"  colspan="6"  >NVRAD<sup>−−</sup></th><th align="center" valign="middle"  colspan="4"  >RAD<sup>−−</sup></th></tr></thead><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >n</td><td align="center" valign="middle"  colspan="2"  >1000</td><td align="center" valign="middle"  colspan="2"  >3163</td><td align="center" valign="middle" >10,000</td><td align="center" valign="middle" >14,143</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >3163</td><td align="center" valign="middle" >10,000</td><td align="center" valign="middle" >14,143</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >m</td><td align="center" valign="middle"  colspan="2"  >200,000</td><td align="center" valign="middle"  colspan="2"  >63,246</td><td align="center" valign="middle" >20,000</td><td align="center" valign="middle" >14,143</td><td align="center" valign="middle" >200,000</td><td align="center" valign="middle" >63,246</td><td align="center" valign="middle" >20,000</td><td align="center" valign="middle" >14,143</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >m/n</td><td align="center" valign="middle"  colspan="2"  >200</td><td align="center" valign="middle"  colspan="2"  >20</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >200</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle"  colspan="6"  >Dynamic Active-Set</td><td align="center" valign="middle"  colspan="4"  >Multi-Cut &amp; Multi Bound</td></tr><tr><td align="center" valign="middle" >Density</td><td align="center" valign="middle" >No.</td><td align="center" valign="middle"  colspan="6"  >CPU Time (Sec)<sup>++</sup></td><td align="center" valign="middle"  colspan="4"  >CPU Time (Sec)<sup>++</sup></td></tr><tr><td align="center" valign="middle" >0.005</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2.26</td><td align="center" valign="middle"  colspan="2"  >25.00</td><td align="center" valign="middle"  colspan="2"  >88.36</td><td align="center" valign="middle" >106.27</td><td align="center" valign="middle" >2.10</td><td align="center" valign="middle" >30.82</td><td align="center" valign="middle" >108.70</td><td align="center" valign="middle" >127.55</td></tr><tr><td align="center" valign="middle" >0.006</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2.62</td><td align="center" valign="middle"  colspan="2"  >27.23</td><td align="center" valign="middle"  colspan="2"  >88.73</td><td align="center" valign="middle" >97.31</td><td align="center" valign="middle" >2.42</td><td align="center" valign="middle" >31.48</td><td align="center" valign="middle" >104.87</td><td align="center" valign="middle" >114.03</td></tr><tr><td align="center" valign="middle" >0.007</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >2.75</td><td align="center" valign="middle"  colspan="2"  >25.79</td><td align="center" valign="middle"  colspan="2"  >82.04</td><td align="center" valign="middle" >90.65</td><td align="center" valign="middle" >2.65</td><td align="center" valign="middle" >29.41</td><td align="center" valign="middle" >92.45</td><td align="center" valign="middle" >104.18</td></tr><tr><td align="center" valign="middle" >0.008</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >2.83</td><td align="center" valign="middle"  colspan="2"  >27.49</td><td align="center" valign="middle"  colspan="2"  >78.04</td><td align="center" valign="middle" >78.92</td><td align="center" valign="middle" >2.54</td><td align="center" valign="middle" >30.63</td><td align="center" valign="middle" >88.20</td><td align="center" valign="middle" >90.73</td></tr><tr><td align="center" valign="middle" >0.009</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >3.09</td><td align="center" valign="middle"  colspan="2"  >27.43</td><td align="center" valign="middle"  colspan="2"  >74.65</td><td align="center" valign="middle" >75.18</td><td align="center" valign="middle" >2.78</td><td align="center" valign="middle" >30.10</td><td align="center" valign="middle" >83.53</td><td align="center" valign="middle" >85.21</td></tr><tr><td align="center" valign="middle" >0.01</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >3.12</td><td align="center" valign="middle"  colspan="2"  >26.07</td><td align="center" valign="middle"  colspan="2"  >68.23</td><td align="center" valign="middle" >73.29</td><td align="center" valign="middle" >2.79</td><td align="center" valign="middle" >27.81</td><td align="center" valign="middle" >77.90</td><td align="center" valign="middle" >80.43</td></tr><tr><td align="center" valign="middle" >0.02</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >3.44</td><td align="center" valign="middle"  colspan="2"  >22.48</td><td align="center" valign="middle"  colspan="2"  >45.06</td><td align="center" valign="middle" >46.24</td><td align="center" valign="middle" >3.09</td><td align="center" valign="middle" >24.69</td><td align="center" valign="middle" >47.63</td><td align="center" valign="middle" >49.95</td></tr><tr><td align="center" valign="middle" >0.03</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" >3.52</td><td align="center" valign="middle"  colspan="2"  >18.59</td><td align="center" valign="middle"  colspan="2"  >34.78</td><td align="center" valign="middle" >38.25</td><td align="center" valign="middle" >3.22</td><td align="center" valign="middle" >20.49</td><td align="center" valign="middle" >36.68</td><td align="center" valign="middle" >38.33</td></tr><tr><td align="center" valign="middle" >0.04</td><td align="center" valign="middle" >9</td><td align="center" valign="middle" >3.71</td><td align="center" valign="middle"  colspan="2"  >16.92</td><td align="center" valign="middle"  colspan="2"  >29.96</td><td align="center" valign="middle" >30.75</td><td align="center" valign="middle" >3.33</td><td align="center" valign="middle" >19.06</td><td align="center" valign="middle" >32.74</td><td align="center" valign="middle" >32.53</td></tr><tr><td align="center" valign="middle" >0.05</td><td align="center" valign="middle" >10</td><td align="center" valign="middle" >3.64</td><td align="center" valign="middle"  colspan="2"  >15.47</td><td align="center" valign="middle"  colspan="2"  >26.31</td><td align="center" valign="middle" >28.01</td><td align="center" valign="middle" >3.34</td><td align="center" valign="middle" >16.97</td><td align="center" valign="middle" >28.23</td><td align="center" valign="middle" >28.59</td></tr><tr><td align="center" valign="middle" >0.06</td><td align="center" valign="middle" >11</td><td align="center" valign="middle" >3.63</td><td align="center" valign="middle"  colspan="2"  >13.62</td><td align="center" valign="middle"  colspan="2"  >24.62</td><td align="center" valign="middle" >25.62</td><td align="center" valign="middle" >3.20</td><td align="center" valign="middle" >14.94</td><td align="center" valign="middle" >27.58</td><td align="center" valign="middle" >27.27</td></tr><tr><td align="center" valign="middle" >0.07</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >3.73</td><td align="center" valign="middle"  colspan="2"  >12.93</td><td align="center" valign="middle"  colspan="2"  >22.24</td><td align="center" valign="middle" >23.19</td><td align="center" valign="middle" >3.41</td><td align="center" valign="middle" >14.88</td><td align="center" valign="middle" >23.59</td><td align="center" valign="middle" >23.79</td></tr><tr><td align="center" valign="middle" >0.08</td><td align="center" valign="middle" >13</td><td align="center" valign="middle" >3.61</td><td align="center" valign="middle"  colspan="2"  >11.99</td><td align="center" valign="middle"  colspan="2"  >20.74</td><td align="center" valign="middle" >22.30</td><td align="center" valign="middle" >3.32</td><td align="center" valign="middle" >13.57</td><td align="center" valign="middle" >23.44</td><td align="center" valign="middle" >24.19</td></tr><tr><td align="center" valign="middle" >0.09</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >3.65</td><td align="center" valign="middle"  colspan="2"  >11.39</td><td align="center" valign="middle"  colspan="2"  >20.47</td><td align="center" valign="middle" >21.64</td><td align="center" valign="middle" >3.38</td><td align="center" valign="middle" >12.67</td><td align="center" valign="middle" >23.09</td><td align="center" valign="middle" >23.80</td></tr><tr><td align="center" valign="middle" >0.1</td><td align="center" valign="middle" >15</td><td align="center" valign="middle" >3.89</td><td align="center" valign="middle"  colspan="2"  >10.81</td><td align="center" valign="middle"  colspan="2"  >19.65</td><td align="center" valign="middle" >20.18</td><td align="center" valign="middle" >3.39</td><td align="center" valign="middle" >12.92</td><td align="center" valign="middle" >22.93</td><td align="center" valign="middle" >20.85</td></tr><tr><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >16</td><td align="center" valign="middle" >4.82</td><td align="center" valign="middle"  colspan="2"  >8.98</td><td align="center" valign="middle"  colspan="2"  >16.31</td><td align="center" valign="middle" >19.44</td><td align="center" valign="middle" >4.30</td><td align="center" valign="middle" >11.09</td><td align="center" valign="middle" >18.87</td><td align="center" valign="middle" >20.31</td></tr><tr><td align="center" valign="middle" >0.3</td><td align="center" valign="middle" >17</td><td align="center" valign="middle" >5.68</td><td align="center" valign="middle"  colspan="2"  >8.84</td><td align="center" valign="middle"  colspan="2"  >15.66</td><td align="center" valign="middle" >19.09</td><td align="center" valign="middle" >4.97</td><td align="center" valign="middle" >10.58</td><td align="center" valign="middle" >18.11</td><td align="center" valign="middle" >19.46</td></tr><tr><td align="center" valign="middle" >0.4</td><td align="center" valign="middle" >18</td><td align="center" valign="middle" >6.56</td><td align="center" valign="middle"  colspan="2"  >9.77</td><td align="center" valign="middle"  colspan="2"  >15.76</td><td align="center" valign="middle" >17.23</td><td align="center" valign="middle" >5.76</td><td align="center" valign="middle" >12.31</td><td align="center" valign="middle" >18.55</td><td align="center" valign="middle" >18.88</td></tr><tr><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >19</td><td align="center" valign="middle" >7.34</td><td align="center" valign="middle"  colspan="2"  >10.60</td><td align="center" valign="middle"  colspan="2"  >15.82</td><td align="center" valign="middle" >17.89</td><td align="center" valign="middle" >6.98</td><td align="center" valign="middle" >11.92</td><td align="center" valign="middle" >18.00</td><td align="center" valign="middle" >19.89</td></tr><tr><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >10.50</td><td align="center" valign="middle"  colspan="2"  >11.24</td><td align="center" valign="middle"  colspan="2"  >15.80</td><td align="center" valign="middle" >16.73</td><td align="center" valign="middle" >8.26</td><td align="center" valign="middle" >12.01</td><td align="center" valign="middle" >17.19</td><td align="center" valign="middle" >18.06</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >21</td><td align="center" valign="middle" >11.13</td><td align="center" valign="middle"  colspan="2"  >11.34</td><td align="center" valign="middle"  colspan="2"  >13.85</td><td align="center" valign="middle" >11.12</td><td align="center" valign="middle" >8.39</td><td align="center" valign="middle" >12.20</td><td align="center" valign="middle" >17.71</td><td align="center" valign="middle" >18.50</td></tr><tr><td align="center" valign="middle" >Average</td><td align="center" valign="middle" ><sup> </sup></td><td align="center" valign="middle" >4.55</td><td align="center" valign="middle"  colspan="2"  >16.86</td><td align="center" valign="middle"  colspan="2"  >38.91</td><td align="center" valign="middle" >41.87</td><td align="center" valign="middle" >3.98</td><td align="center" valign="middle" >19.07</td><td align="center" valign="middle" >44.28</td><td align="center" valign="middle" >46.98</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap><p><sup>++</sup>Average of 5 instances of LP at each density. <sup>−−</sup>Used CPLEX presolve = OFF and predual = OFF.</p><p>erage CPU across all densities was approximately 15 to 50 times greater than NVRAD over the different ratios. However, the CPLEX barrier method was slightly faster than NVRAD in problem instances with m / n = 20 and with densities less than 0.02. On the other hand, when the density reached 0.08 for m / n = 20 , NVRAD was already more than ten times faster than the barrier solver. Furthermore, note that average CPU times in <xref ref-type="table" rid="table4">Table 4</xref> greater than 3000 seconds (50 minutes) at any density were not reported. This situation occurred for the CPLEX barrier solver for the ratios 1, 2, 20, and 200 with densities at least 0.3, 0.4, 0.5, and 0.75, respectively.</p><p>Finally, for large-scale, low-density test problems with n = 5000 and</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> CPU times for dynamic HYBR and dynamic RAD on problem Sets 1 - 4 for random NNLPs with a i j = 1 − 5 , b i = 1 − 10 , c j = 1 − 10 </title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  ></th><th align="center" valign="middle"  colspan="5"  >RAD<sup>−−</sup></th><th align="center" valign="middle"  colspan="4"  >HYBR<sup>−−</sup></th></tr></thead><tr><td align="center" valign="middle" >n</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >3163</td><td align="center" valign="middle" >10,000</td><td align="center" valign="middle" >14,143</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >3163</td><td align="center" valign="middle" >10,000</td><td align="center" valign="middle" >14,143</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >m</td><td align="center" valign="middle" >200,000</td><td align="center" valign="middle" >63,246</td><td align="center" valign="middle" >20,000</td><td align="center" valign="middle" >14,143</td><td align="center" valign="middle" >200,000</td><td align="center" valign="middle" >63,246</td><td align="center" valign="middle" >20,000</td><td align="center" valign="middle" >14,143</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >m/n</td><td align="center" valign="middle" >200</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >200</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle"  colspan="4"  >Dynamic Active-Set</td><td align="center" valign="middle"  colspan="4"  >Dynamic Active-Set</td></tr><tr><td align="center" valign="middle" >Density</td><td align="center" valign="middle" >No.</td><td align="center" valign="middle"  colspan="4"  >CPU Time (Sec)<sup>++</sup></td><td align="center" valign="middle"  colspan="4"  >CPU Time (Sec)<sup>++</sup></td></tr><tr><td align="center" valign="middle" >0.005</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2.02</td><td align="center" valign="middle" >29.51</td><td align="center" valign="middle" >106.42</td><td align="center" valign="middle" >127.70</td><td align="center" valign="middle" >2.19</td><td align="center" valign="middle" >27.14</td><td align="center" valign="middle" >94.26</td><td align="center" valign="middle" >113.63</td></tr><tr><td align="center" valign="middle" >0.006</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2.32</td><td align="center" valign="middle" >30.20</td><td align="center" valign="middle" >107.61</td><td align="center" valign="middle" >116.08</td><td align="center" valign="middle" >2.53</td><td align="center" valign="middle" >28.51</td><td align="center" valign="middle" >95.25</td><td align="center" valign="middle" >103.78</td></tr><tr><td align="center" valign="middle" >0.007</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >2.49</td><td align="center" valign="middle" >29.07</td><td align="center" valign="middle" >95.87</td><td align="center" valign="middle" >104.79</td><td align="center" valign="middle" >2.78</td><td align="center" valign="middle" >26.14</td><td align="center" valign="middle" >84.13</td><td align="center" valign="middle" >95.47</td></tr><tr><td align="center" valign="middle" >0.008</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >2.47</td><td align="center" valign="middle" >29.80</td><td align="center" valign="middle" >89.37</td><td align="center" valign="middle" >93.12</td><td align="center" valign="middle" >2.76</td><td align="center" valign="middle" >27.63</td><td align="center" valign="middle" >78.88</td><td align="center" valign="middle" >83.75</td></tr><tr><td align="center" valign="middle" >0.009</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >2.67</td><td align="center" valign="middle" >28.59</td><td align="center" valign="middle" >80.46</td><td align="center" valign="middle" >86.46</td><td align="center" valign="middle" >2.93</td><td align="center" valign="middle" >27.21</td><td align="center" valign="middle" >77.09</td><td align="center" valign="middle" >81.11</td></tr><tr><td align="center" valign="middle" >0.01</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >2.65</td><td align="center" valign="middle" >27.09</td><td align="center" valign="middle" >75.60</td><td align="center" valign="middle" >81.28</td><td align="center" valign="middle" >3.02</td><td align="center" valign="middle" >25.68</td><td align="center" valign="middle" >70.59</td><td align="center" valign="middle" >75.25</td></tr><tr><td align="center" valign="middle" >0.02</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >2.85</td><td align="center" valign="middle" >22.01</td><td align="center" valign="middle" >45.39</td><td align="center" valign="middle" >48.01</td><td align="center" valign="middle" >3.28</td><td align="center" valign="middle" >20.90</td><td align="center" valign="middle" >44.45</td><td align="center" valign="middle" >46.91</td></tr><tr><td align="center" valign="middle" >0.03</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" >2.83</td><td align="center" valign="middle" >17.30</td><td align="center" valign="middle" >33.40</td><td align="center" valign="middle" >36.20</td><td align="center" valign="middle" >3.19</td><td align="center" valign="middle" >17.46</td><td align="center" valign="middle" >34.44</td><td align="center" valign="middle" >36.18</td></tr><tr><td align="center" valign="middle" >0.04</td><td align="center" valign="middle" >9</td><td align="center" valign="middle" >2.82</td><td align="center" valign="middle" >14.97</td><td align="center" valign="middle" >29.29</td><td align="center" valign="middle" >27.47</td><td align="center" valign="middle" >3.18</td><td align="center" valign="middle" >15.08</td><td align="center" valign="middle" >27.58</td><td align="center" valign="middle" >29.31</td></tr><tr><td align="center" valign="middle" >0.05</td><td align="center" valign="middle" >10</td><td align="center" valign="middle" >2.97</td><td align="center" valign="middle" >13.91</td><td align="center" valign="middle" >24.38</td><td align="center" valign="middle" >24.70</td><td align="center" valign="middle" >3.04</td><td align="center" valign="middle" >13.68</td><td align="center" valign="middle" >24.61</td><td align="center" valign="middle" >24.94</td></tr><tr><td align="center" valign="middle" >0.06</td><td align="center" valign="middle" >11</td><td align="center" valign="middle" >2.85</td><td align="center" valign="middle" >11.43</td><td align="center" valign="middle" >22.31</td><td align="center" valign="middle" >22.82</td><td align="center" valign="middle" >3.19</td><td align="center" valign="middle" >11.81</td><td align="center" valign="middle" >23.03</td><td align="center" valign="middle" >23.32</td></tr><tr><td align="center" valign="middle" >0.07</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >2.93</td><td align="center" valign="middle" >11.04</td><td align="center" valign="middle" >19.40</td><td align="center" valign="middle" >20.48</td><td align="center" valign="middle" >3.31</td><td align="center" valign="middle" >11.55</td><td align="center" valign="middle" >19.99</td><td align="center" valign="middle" >20.88</td></tr><tr><td align="center" valign="middle" >0.08</td><td align="center" valign="middle" >13</td><td align="center" valign="middle" >2.91</td><td align="center" valign="middle" >10.37</td><td align="center" valign="middle" >18.75</td><td align="center" valign="middle" >19.87</td><td align="center" valign="middle" >3.30</td><td align="center" valign="middle" >10.36</td><td align="center" valign="middle" >19.19</td><td align="center" valign="middle" >20.72</td></tr><tr><td align="center" valign="middle" >0.09</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >3.16</td><td align="center" valign="middle" >9.16</td><td align="center" valign="middle" >18.11</td><td align="center" valign="middle" >18.93</td><td align="center" valign="middle" >3.34</td><td align="center" valign="middle" >9.37</td><td align="center" valign="middle" >18.52</td><td align="center" valign="middle" >19.54</td></tr><tr><td align="center" valign="middle" >0.1</td><td align="center" valign="middle" >15</td><td align="center" valign="middle" >3.06</td><td align="center" valign="middle" >9.54</td><td align="center" valign="middle" >17.35</td><td align="center" valign="middle" >17.34</td><td align="center" valign="middle" >3.51</td><td align="center" valign="middle" >9.18</td><td align="center" valign="middle" >17.74</td><td align="center" valign="middle" >17.89</td></tr><tr><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >16</td><td align="center" valign="middle" >4.34</td><td align="center" valign="middle" >8.12</td><td align="center" valign="middle" >14.39</td><td align="center" valign="middle" >15.99</td><td align="center" valign="middle" >4.36</td><td align="center" valign="middle" >7.92</td><td align="center" valign="middle" >14.01</td><td align="center" valign="middle" >15.55</td></tr><tr><td align="center" valign="middle" >0.3</td><td align="center" valign="middle" >17</td><td align="center" valign="middle" >5.70</td><td align="center" valign="middle" >8.57</td><td align="center" valign="middle" >13.31</td><td align="center" valign="middle" >15.32</td><td align="center" valign="middle" >5.40</td><td align="center" valign="middle" >7.86</td><td align="center" valign="middle" >12.92</td><td align="center" valign="middle" >14.66</td></tr><tr><td align="center" valign="middle" >0.4</td><td align="center" valign="middle" >18</td><td align="center" valign="middle" >7.00</td><td align="center" valign="middle" >9.28</td><td align="center" valign="middle" >13.55</td><td align="center" valign="middle" >14.58</td><td align="center" valign="middle" >6.50</td><td align="center" valign="middle" >8.95</td><td align="center" valign="middle" >12.65</td><td align="center" valign="middle" >13.93</td></tr><tr><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >19</td><td align="center" valign="middle" >7.95</td><td align="center" valign="middle" >9.85</td><td align="center" valign="middle" >13.60</td><td align="center" valign="middle" >16.35</td><td align="center" valign="middle" >7.84</td><td align="center" valign="middle" >9.60</td><td align="center" valign="middle" >13.38</td><td align="center" valign="middle" >14.52</td></tr><tr><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >10.64</td><td align="center" valign="middle" >12.05</td><td align="center" valign="middle" >14.43</td><td align="center" valign="middle" >15.56</td><td align="center" valign="middle" >9.81</td><td align="center" valign="middle" >10.77</td><td align="center" valign="middle" >12.38</td><td align="center" valign="middle" >14.13</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >21</td><td align="center" valign="middle" >12.66</td><td align="center" valign="middle" >11.71</td><td align="center" valign="middle" >12.60</td><td align="center" valign="middle" >14.72</td><td align="center" valign="middle" >11.00</td><td align="center" valign="middle" >9.76</td><td align="center" valign="middle" >11.39</td><td align="center" valign="middle" >11.59</td></tr><tr><td align="center" valign="middle" >Average</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >4.25</td><td align="center" valign="middle" >16.84</td><td align="center" valign="middle" >41.22</td><td align="center" valign="middle" >44.66</td><td align="center" valign="middle" >4.31</td><td align="center" valign="middle" >16.03</td><td align="center" valign="middle" >38.40</td><td align="center" valign="middle" >41.76</td></tr></tbody></table></table-wrap><p><sup>++</sup>Average of 5 instances of LP at each density. <sup>−−</sup>Used CPLEX presolve = OFF and predual = OFF.</p><p>m = 1 , 000 , 000. <xref ref-type="table" rid="table5">Table 5</xref> compares dynamic NVRAD to multi-cut and multi-bound RAD, VIOL, NVIOL, and NVRAD, as well as to the CPLEX primal simplex, dual simplex, and barrier solvers. Only the prior COST RAD was competitive. NVRAD averaged 63.45 seconds overall as compared to 71.79 for RAD. It should be noted that the highest density used in problem Set 5 was 0.0600 since the CPLEX solvers could not solve denser problems of such magnitude in a reasonable amount of time. Average CPU times greater than 2400 seconds (40 minutes) at any density were not reported in <xref ref-type="table" rid="table5">Table 5</xref>. This situation occurred beginning at some individual threshold density level for each CPLEX solver.</p><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> CPU times from [<xref ref-type="bibr" rid="scirp.73373-ref18">18</xref>] for CPLEX solvers on problem Sets 1 - 4 for random NNLPs with a i j = 1 − 5 , b i = 1 − 10 , c j = 1 − 10 </title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" ></th><th align="center" valign="middle"  colspan="4"  >Primal<sup>+</sup><sub> </sub></th><th align="center" valign="middle"  colspan="4"  >Dual<sup>+</sup></th><th align="center" valign="middle"  colspan="4"  >Barrier<sup>+</sup></th></tr></thead><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >n</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >3163</td><td align="center" valign="middle" >10,000</td><td align="center" valign="middle" >14,143</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >3163</td><td align="center" valign="middle" >10,000</td><td align="center" valign="middle" >14,143</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >3163</td><td align="center" valign="middle" >10,000</td><td align="center" valign="middle" >14,143</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >m</td><td align="center" valign="middle" >200,000</td><td align="center" valign="middle" >63,246</td><td align="center" valign="middle" >20,000</td><td align="center" valign="middle" >14,143</td><td align="center" valign="middle" >200,000</td><td align="center" valign="middle" >63,246</td><td align="center" valign="middle" >20,000</td><td align="center" valign="middle" >14,143</td><td align="center" valign="middle" >200,000</td><td align="center" valign="middle" >63,246</td><td align="center" valign="middle" >20,000</td><td align="center" valign="middle" >14,143</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >m/n</td><td align="center" valign="middle" >200</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >200</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >200</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Density</td><td align="center" valign="middle" >No.</td><td align="center" valign="middle"  colspan="4"  ></td><td align="center" valign="middle"  colspan="4"  >CPU Time (Sec)<sup>++</sup></td><td align="center" valign="middle"  colspan="4"  ></td></tr><tr><td align="center" valign="middle" >0.005</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >7.01</td><td align="center" valign="middle" >71.02</td><td align="center" valign="middle" >228.51</td><td align="center" valign="middle" >309.83</td><td align="center" valign="middle" >54.84</td><td align="center" valign="middle" >762.62</td><td align="center" valign="middle" >1597.24</td><td align="center" valign="middle" >1169.04</td><td align="center" valign="middle" >2.36</td><td align="center" valign="middle" >14.52</td><td align="center" valign="middle" >240.17</td><td align="center" valign="middle" >650.83</td></tr><tr><td align="center" valign="middle" >0.006</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >10.36</td><td align="center" valign="middle" >77.28</td><td align="center" valign="middle" >245.60</td><td align="center" valign="middle" >291.07</td><td align="center" valign="middle" >60.29</td><td align="center" valign="middle" >803.97</td><td align="center" valign="middle" >1607.16</td><td align="center" valign="middle" >2413.42</td><td align="center" valign="middle" >2.39</td><td align="center" valign="middle" >16.30</td><td align="center" valign="middle" >224.08</td><td align="center" valign="middle" >666.54</td></tr><tr><td align="center" valign="middle" >0.007</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >12.98</td><td align="center" valign="middle" >75.84</td><td align="center" valign="middle" >219.72</td><td align="center" valign="middle" >265.09</td><td align="center" valign="middle" >91.39</td><td align="center" valign="middle" >876.85</td><td align="center" valign="middle" >1483.20</td><td align="center" valign="middle" >1702.47</td><td align="center" valign="middle" >3.04</td><td align="center" valign="middle" >18.34</td><td align="center" valign="middle" >233.55</td><td align="center" valign="middle" >671.56</td></tr><tr><td align="center" valign="middle" >0.008</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >15.72</td><td align="center" valign="middle" >82.01</td><td align="center" valign="middle" >206.45</td><td align="center" valign="middle" >239.30</td><td align="center" valign="middle" >100.06</td><td align="center" valign="middle" >912.75</td><td align="center" valign="middle" >1445.54</td><td align="center" valign="middle" >1236.76</td><td align="center" valign="middle" >3.90</td><td align="center" valign="middle" >20.70</td><td align="center" valign="middle" >232.38</td><td align="center" valign="middle" >668.82</td></tr><tr><td align="center" valign="middle" >0.009</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >19.25</td><td align="center" valign="middle" >80.35</td><td align="center" valign="middle" >196.72</td><td align="center" valign="middle" >216.23</td><td align="center" valign="middle" >114.95</td><td align="center" valign="middle" >898.99</td><td align="center" valign="middle" >1375.73</td><td align="center" valign="middle" >427.95</td><td align="center" valign="middle" >4.76</td><td align="center" valign="middle" >22.66</td><td align="center" valign="middle" >232.23</td><td align="center" valign="middle" >649.26</td></tr><tr><td align="center" valign="middle" >0.01</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >21.92</td><td align="center" valign="middle" >78.50</td><td align="center" valign="middle" >182.47</td><td align="center" valign="middle" >216.60</td><td align="center" valign="middle" >123.49</td><td align="center" valign="middle" >912.63</td><td align="center" valign="middle" >1252.05</td><td align="center" valign="middle" >436.31</td><td align="center" valign="middle" >5.53</td><td align="center" valign="middle" >24.29</td><td align="center" valign="middle" >228.76</td><td align="center" valign="middle" >650.30</td></tr><tr><td align="center" valign="middle" >0.02</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >39.90</td><td align="center" valign="middle" >78.80</td><td align="center" valign="middle" >118.28</td><td align="center" valign="middle" >127.59</td><td align="center" valign="middle" >203.08</td><td align="center" valign="middle" >963.66</td><td align="center" valign="middle" >807.29</td><td align="center" valign="middle" >362.34</td><td align="center" valign="middle" >17.13</td><td align="center" valign="middle" >32.08</td><td align="center" valign="middle" >242.54</td><td align="center" valign="middle" >711.26</td></tr><tr><td align="center" valign="middle" >0.03</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" >45.42</td><td align="center" valign="middle" >79.75</td><td align="center" valign="middle" >98.02</td><td align="center" valign="middle" >108.60</td><td align="center" valign="middle" >217.18</td><td align="center" valign="middle" >1207.76</td><td align="center" valign="middle" >545.91</td><td align="center" valign="middle" >723.98</td><td align="center" valign="middle" >28.79</td><td align="center" valign="middle" >45.03</td><td align="center" valign="middle" >266.90</td><td align="center" valign="middle" >727.61</td></tr><tr><td align="center" valign="middle" >0.04</td><td align="center" valign="middle" >9</td><td align="center" valign="middle" >50.30</td><td align="center" valign="middle" >78.78</td><td align="center" valign="middle" >89.75</td><td align="center" valign="middle" >88.32</td><td align="center" valign="middle" >248.75</td><td align="center" valign="middle" >1489.40</td><td align="center" valign="middle" >450.08</td><td align="center" valign="middle" >539.92</td><td align="center" valign="middle" >41.50</td><td align="center" valign="middle" >62.28</td><td align="center" valign="middle" >292.15</td><td align="center" valign="middle" >806.80</td></tr><tr><td align="center" valign="middle" >0.05</td><td align="center" valign="middle" >10</td><td align="center" valign="middle" >55.16</td><td align="center" valign="middle" >78.92</td><td align="center" valign="middle" >81.09</td><td align="center" valign="middle" >82.14</td><td align="center" valign="middle" >256.49</td><td align="center" valign="middle" >1746.46</td><td align="center" valign="middle" >418.69</td><td align="center" valign="middle" >519.50</td><td align="center" valign="middle" >53.72</td><td align="center" valign="middle" >81.32</td><td align="center" valign="middle" >327.01</td><td align="center" valign="middle" >837.67</td></tr><tr><td align="center" valign="middle" >0.06</td><td align="center" valign="middle" >11</td><td align="center" valign="middle" >60.34</td><td align="center" valign="middle" >77.49</td><td align="center" valign="middle" >77.28</td><td align="center" valign="middle" >78.27</td><td align="center" valign="middle" >251.39</td><td align="center" valign="middle" >2124.31</td><td align="center" valign="middle" >378.71</td><td align="center" valign="middle" >409.47</td><td align="center" valign="middle" >67.58</td><td align="center" valign="middle" >100.48</td><td align="center" valign="middle" >359.53</td><td align="center" valign="middle" >897.58</td></tr><tr><td align="center" valign="middle" >0.07</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >62.07</td><td align="center" valign="middle" >78.93</td><td align="center" valign="middle" >70.44</td><td align="center" valign="middle" >70.37</td><td align="center" valign="middle" >251.74</td><td align="center" valign="middle" >2446.69</td><td align="center" valign="middle" >310.89</td><td align="center" valign="middle" >544.15</td><td align="center" valign="middle" >84.70</td><td align="center" valign="middle" >125.49</td><td align="center" valign="middle" >401.72</td><td align="center" valign="middle" >948.01</td></tr><tr><td align="center" valign="middle" >0.08</td><td align="center" valign="middle" >13</td><td align="center" valign="middle" >62.92</td><td align="center" valign="middle" >76.96</td><td align="center" valign="middle" >70.21</td><td align="center" valign="middle" >69.81</td><td align="center" valign="middle" >264.48</td><td align="center" valign="middle" >2799.62</td><td align="center" valign="middle" >307.25</td><td align="center" valign="middle" >388.94</td><td align="center" valign="middle" >99.51</td><td align="center" valign="middle" >149.37</td><td align="center" valign="middle" >454.01</td><td align="center" valign="middle" >1038.86</td></tr><tr><td align="center" valign="middle" >0.09</td><td align="center" valign="middle" >14</td><td align="center" valign="middle" >66.57</td><td align="center" valign="middle" >79.07</td><td align="center" valign="middle" >71.46</td><td align="center" valign="middle" >72.37</td><td align="center" valign="middle" >258.14</td><td align="center" valign="middle" >2523.03</td><td align="center" valign="middle" >718.04</td><td align="center" valign="middle" >427.95</td><td align="center" valign="middle" >119.26</td><td align="center" valign="middle" >186.06</td><td align="center" valign="middle" >495.28</td><td align="center" valign="middle" >1153.31</td></tr><tr><td align="center" valign="middle" >0.1</td><td align="center" valign="middle" >15</td><td align="center" valign="middle" >71.00</td><td align="center" valign="middle" >74.57</td><td align="center" valign="middle" >67.43</td><td align="center" valign="middle" >62.64</td><td align="center" valign="middle" >287.36</td><td align="center" valign="middle" >2251.10</td><td align="center" valign="middle" >267.14</td><td align="center" valign="middle" >436.31</td><td align="center" valign="middle" >138.67</td><td align="center" valign="middle" >207.54</td><td align="center" valign="middle" >539.64</td><td align="center" valign="middle" >1194.56</td></tr><tr><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >16</td><td align="center" valign="middle" >87.49</td><td align="center" valign="middle" >83.12</td><td align="center" valign="middle" >64.38</td><td align="center" valign="middle" >62.99</td><td align="center" valign="middle" >294.39</td><td align="center" valign="middle" >1450.82</td><td align="center" valign="middle" >201.73</td><td align="center" valign="middle" >362.34</td><td align="center" valign="middle" >379.68</td><td align="center" valign="middle" >691.77</td><td align="center" valign="middle" >1298.76</td><td align="center" valign="middle" >2529.97</td></tr><tr><td align="center" valign="middle" >0.3</td><td align="center" valign="middle" >17</td><td align="center" valign="middle" >94.57</td><td align="center" valign="middle" >77.91</td><td align="center" valign="middle" >67.14</td><td align="center" valign="middle" >66.61</td><td align="center" valign="middle" >341.44</td><td align="center" valign="middle" >1280.71</td><td align="center" valign="middle" >175.16</td><td align="center" valign="middle" >267.16</td><td align="center" valign="middle" >657.45</td><td align="center" valign="middle" >1333.29</td><td align="center" valign="middle" >2418.75</td><td align="center" valign="middle" ><sup>b </sup></td></tr><tr><td align="center" valign="middle" >0.4</td><td align="center" valign="middle" >18</td><td align="center" valign="middle" >99.33</td><td align="center" valign="middle" >78.46</td><td align="center" valign="middle" >73.58</td><td align="center" valign="middle" >71.48</td><td align="center" valign="middle" >384.10</td><td align="center" valign="middle" >1236.30</td><td align="center" valign="middle" >146.09</td><td align="center" valign="middle" >233.39</td><td align="center" valign="middle" >985.86</td><td align="center" valign="middle" >2076.09</td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b</sup></td></tr><tr><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >19</td><td align="center" valign="middle" >111.30</td><td align="center" valign="middle" >84.30</td><td align="center" valign="middle" >86.50</td><td align="center" valign="middle" >75.62</td><td align="center" valign="middle" >427.16</td><td align="center" valign="middle" >1173.49</td><td align="center" valign="middle" >133.49</td><td align="center" valign="middle" >208.65</td><td align="center" valign="middle" >1350.82</td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b</sup></td></tr><tr><td align="center" valign="middle" >0.75</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >128.26</td><td align="center" valign="middle" >99.35</td><td align="center" valign="middle" >115.00</td><td align="center" valign="middle" >102.51</td><td align="center" valign="middle" >410.98</td><td align="center" valign="middle" >1056.18</td><td align="center" valign="middle" >132.25</td><td align="center" valign="middle" >181.95</td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b</sup></td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >21</td><td align="center" valign="middle" >207.55</td><td align="center" valign="middle" >94.09</td><td align="center" valign="middle" >393.54</td><td align="center" valign="middle" >145.96</td><td align="center" valign="middle" >375.89</td><td align="center" valign="middle" >411.19</td><td align="center" valign="middle" >148.90</td><td align="center" valign="middle" >165.45</td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b</sup></td></tr><tr><td align="center" valign="middle" >Average</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >63.30</td><td align="center" valign="middle" >80.26</td><td align="center" valign="middle" >134.46</td><td align="center" valign="middle" >134.45</td><td align="center" valign="middle" >238.93</td><td align="center" valign="middle" >1396.60</td><td align="center" valign="middle" >662.03</td><td align="center" valign="middle" >626.55</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >n/a</td><td align="center" valign="middle" >n/a</td></tr></tbody></table></table-wrap><p><sup>+</sup>CPLEX presolve = ON and predual = ON. <sup>++</sup>Average of 5 instances at each density. <sup>b</sup> Runs with CPU times &gt; 3000 s are not report.</p><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> CPU times for NVRAD versus RAD, VIOL, NVIOL, and the CPLEX solvers on problem Set 5 for random NNLPs with 5000 variables, 1,000,000 constraints, and a i j = 1 − 5 , b i = 1 − 100 , c j = 1 − 100 </title></caption><table><tbody><thead><tr><th align="center" valign="middle" >No.</th><th align="center" valign="middle" >Density</th><th align="center" valign="middle" >NVRAD<sup>−−</sup></th><th align="center" valign="middle" >RAD<sup>−−</sup></th><th align="center" valign="middle" >VIOL<sup>−−</sup></th><th align="center" valign="middle" >NVIOL<sup>−−</sup></th><th align="center" valign="middle" >NVRAD<sup>−−</sup></th><th align="center" valign="middle" >CPLEX Primal<sup>+</sup></th><th align="center" valign="middle"  colspan="2"  >CPLEX Dual<sup>+</sup></th><th align="center" valign="middle" >CPLEX Barrier<sup>+</sup></th></tr></thead><tr><td align="center" valign="middle"  rowspan="2"  ></td><td align="center" valign="middle"  rowspan="2"  ></td><td align="center" valign="middle" >Dynamic</td><td align="center" valign="middle"  colspan="4"  >Multi-Cut &amp; Multi-Bound</td><td align="center" valign="middle"  colspan="4"  >Not Active-Set Methods</td></tr><tr><td align="center" valign="middle"  colspan="5"  >CPU Time (Sec)<sup>++</sup></td><td align="center" valign="middle"  colspan="4"  >CPU Time (Sec)<sup>++</sup></td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.0004</td><td align="center" valign="middle" >6.21</td><td align="center" valign="middle" >7.54</td><td align="center" valign="middle" >157.92</td><td align="center" valign="middle" >73.09</td><td align="center" valign="middle" >72.19</td><td align="center" valign="middle" >11.90</td><td align="center" valign="middle" >14.08</td><td align="center" valign="middle"  colspan="2"  >12.31</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >0.0005</td><td align="center" valign="middle" >9.22</td><td align="center" valign="middle" >12.26</td><td align="center" valign="middle" >177.96</td><td align="center" valign="middle" >100.86</td><td align="center" valign="middle" >106.31</td><td align="center" valign="middle" >23.41</td><td align="center" valign="middle" >29.83</td><td align="center" valign="middle"  colspan="2"  >16.61</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >0.0006</td><td align="center" valign="middle" >11.94</td><td align="center" valign="middle" >16.51</td><td align="center" valign="middle" >252.74</td><td align="center" valign="middle" >75.41</td><td align="center" valign="middle" >76.12</td><td align="center" valign="middle" >13.45</td><td align="center" valign="middle" >107.61</td><td align="center" valign="middle"  colspan="2"  >20.45</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >0.0007</td><td align="center" valign="middle" >15.45</td><td align="center" valign="middle" >22.19</td><td align="center" valign="middle" >282.95</td><td align="center" valign="middle" >92.70</td><td align="center" valign="middle" >93.64</td><td align="center" valign="middle" >18.99</td><td align="center" valign="middle" >176.50</td><td align="center" valign="middle"  colspan="2"  >24.60</td></tr><tr><td align="center" valign="middle" >5</td><td align="center" valign="middle" >0.0008</td><td align="center" valign="middle" >20.16</td><td align="center" valign="middle" >27.66</td><td align="center" valign="middle" >325.51</td><td align="center" valign="middle" >108.42</td><td align="center" valign="middle" >95.22</td><td align="center" valign="middle" >28.88</td><td align="center" valign="middle" >257.06</td><td align="center" valign="middle"  colspan="2"  >27.43</td></tr><tr><td align="center" valign="middle" >6</td><td align="center" valign="middle" >0.0009</td><td align="center" valign="middle" >23.70</td><td align="center" valign="middle" >33.24</td><td align="center" valign="middle" >346.76</td><td align="center" valign="middle" >120.57</td><td align="center" valign="middle" >91.06</td><td align="center" valign="middle" >40.17</td><td align="center" valign="middle" >339.49</td><td align="center" valign="middle"  colspan="2"  >29.80</td></tr><tr><td align="center" valign="middle" >7</td><td align="center" valign="middle" >0.0010</td><td align="center" valign="middle" >28.01</td><td align="center" valign="middle" >39.81</td><td align="center" valign="middle" >374.06</td><td align="center" valign="middle" >141.35</td><td align="center" valign="middle" >107.34</td><td align="center" valign="middle" >50.91</td><td align="center" valign="middle" >427.60</td><td align="center" valign="middle"  colspan="2"  >31.73</td></tr><tr><td align="center" valign="middle" >8</td><td align="center" valign="middle" >0.0020</td><td align="center" valign="middle" >70.01</td><td align="center" valign="middle" >89.57</td><td align="center" valign="middle" >393.48</td><td align="center" valign="middle" >222.63</td><td align="center" valign="middle" >174.78</td><td align="center" valign="middle" >173.03</td><td align="center" valign="middle" >1775.03</td><td align="center" valign="middle"  colspan="2"  >48.79</td></tr><tr><td align="center" valign="middle" >9</td><td align="center" valign="middle" >0.0030</td><td align="center" valign="middle" >90.09</td><td align="center" valign="middle" >104.83</td><td align="center" valign="middle" >368.92</td><td align="center" valign="middle" >245.17</td><td align="center" valign="middle" >190.37</td><td align="center" valign="middle" >244.01</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  >61.31</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0.0040</td><td align="center" valign="middle" >99.32</td><td align="center" valign="middle" >113.40</td><td align="center" valign="middle" >346.56</td><td align="center" valign="middle" >224.35</td><td align="center" valign="middle" >183.58</td><td align="center" valign="middle" >316.53</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  >85.60</td></tr><tr><td align="center" valign="middle" >11</td><td align="center" valign="middle" >0.0050</td><td align="center" valign="middle" >103.78</td><td align="center" valign="middle" >113.17</td><td align="center" valign="middle" >322.98</td><td align="center" valign="middle" >215.49</td><td align="center" valign="middle" >172.42</td><td align="center" valign="middle" >366.80</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  >91.11</td></tr><tr><td align="center" valign="middle" >12</td><td align="center" valign="middle" >0.0060</td><td align="center" valign="middle" >112.15</td><td align="center" valign="middle" >122.85</td><td align="center" valign="middle" >320.97</td><td align="center" valign="middle" >217.81</td><td align="center" valign="middle" >171.40</td><td align="center" valign="middle" >443.43</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  >112.46</td></tr><tr><td align="center" valign="middle" >13</td><td align="center" valign="middle" >0.0070</td><td align="center" valign="middle" >106.61</td><td align="center" valign="middle" >116.00</td><td align="center" valign="middle" >283.16</td><td align="center" valign="middle" >214.48</td><td align="center" valign="middle" >160.63</td><td align="center" valign="middle" >474.40</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  >136.03</td></tr><tr><td align="center" valign="middle" >14</td><td align="center" valign="middle" >0.0080</td><td align="center" valign="middle" >100.14</td><td align="center" valign="middle" >113.05</td><td align="center" valign="middle" >258.56</td><td align="center" valign="middle" >184.76</td><td align="center" valign="middle" >148.74</td><td align="center" valign="middle" >529.44</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  >158.54</td></tr><tr><td align="center" valign="middle" >15</td><td align="center" valign="middle" >0.0090</td><td align="center" valign="middle" >94.43</td><td align="center" valign="middle" >104.68</td><td align="center" valign="middle" >229.32</td><td align="center" valign="middle" >165.47</td><td align="center" valign="middle" >138.51</td><td align="center" valign="middle" >566.20</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  >198.31</td></tr><tr><td align="center" valign="middle" >16</td><td align="center" valign="middle" >0.0100</td><td align="center" valign="middle" >100.91</td><td align="center" valign="middle" >112.82</td><td align="center" valign="middle" >233.08</td><td align="center" valign="middle" >171.28</td><td align="center" valign="middle" >137.64</td><td align="center" valign="middle" >629.59</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  >239.87</td></tr><tr><td align="center" valign="middle" >17</td><td align="center" valign="middle" >0.0200</td><td align="center" valign="middle" >76.77</td><td align="center" valign="middle" >83.83</td><td align="center" valign="middle" >142.85</td><td align="center" valign="middle" >106.45</td><td align="center" valign="middle" >90.60</td><td align="center" valign="middle" >1134.77</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  >899.87</td></tr><tr><td align="center" valign="middle" >18</td><td align="center" valign="middle" >0.0300</td><td align="center" valign="middle" >69.41</td><td align="center" valign="middle" >76.69</td><td align="center" valign="middle" >114.25</td><td align="center" valign="middle" >86.83</td><td align="center" valign="middle" >76.77</td><td align="center" valign="middle" >1740.28</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  ><sup>b </sup></td></tr><tr><td align="center" valign="middle" >19</td><td align="center" valign="middle" >0.0400</td><td align="center" valign="middle" >65.87</td><td align="center" valign="middle" >67.36</td><td align="center" valign="middle" >103.22</td><td align="center" valign="middle" >79.26</td><td align="center" valign="middle" >71.60</td><td align="center" valign="middle" >1865.70</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  ><sup>b </sup></td></tr><tr><td align="center" valign="middle" >20</td><td align="center" valign="middle" >0.0500</td><td align="center" valign="middle" >63.71</td><td align="center" valign="middle" >64.58</td><td align="center" valign="middle" >100.60</td><td align="center" valign="middle" >80.35</td><td align="center" valign="middle" >71.87</td><td align="center" valign="middle" >2159.55</td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  ><sup>b </sup></td></tr><tr><td align="center" valign="middle" >21</td><td align="center" valign="middle" >0.0600</td><td align="center" valign="middle" >64.57</td><td align="center" valign="middle" >65.62</td><td align="center" valign="middle" >102.05</td><td align="center" valign="middle" >82.42</td><td align="center" valign="middle" >74.41</td><td align="center" valign="middle" ><sup>b</sup></td><td align="center" valign="middle" ><sup>b </sup></td><td align="center" valign="middle"  colspan="2"  ><sup>b </sup></td></tr><tr><td align="center" valign="middle" >Average</td><td align="center" valign="middle" ></td><td align="center" valign="middle" >63.45</td><td align="center" valign="middle" >71.79</td><td align="center" valign="middle" >249.42</td><td align="center" valign="middle" >143.29</td><td align="center" valign="middle" >119.29</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1040525x197.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1040525x198.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle"  colspan="2"  ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/2-1040525x199.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap><p><sup>++</sup>Average of 5 instances at each density.<sup>b</sup> Runs with CPU times &gt; 2400 s are not reported. <sup>−−</sup>Used CPLEX presolve = OFF and predual = OFF. <sup>+</sup>Used CPLEX presolve = ON and predual = ON.</p></sec></sec><sec id="s4"><title>4. Conclusion</title><p>An efficient posterior COST called NVRAD was developed here for NNLPs to utilize both prior global information and posterior local information. The associated constraint selection metric NVRAD is a heuristic, so a geometric interpretation was presented to offer insight into its performance. NVRAD’s inherent active-set efficiency was enhanced by a dynamic approach varying the number of constraints added at each iteration. In addition to NVRAD, adynamic active-set approach HYBR was also proposed. HYBR alternates between the posterior method NVRAD and the prior method RAD. To check their performance, both NVRAD and HYBR were used to solve five sets of large-scale NNLPs. Dynamic NVRAD outperformed the previously developed COST RAD, as well as the standard posterior cutting-plane method VIOL. Dynamic NVRAD significantly outperformed the CPLEX primal simplex, dual simplex, and barrier solvers. On the other hand, HYBR appears slightly faster than NVRAD or RAD. The results of this paper provide further evidence that active-set methods may be the fastest approach for solving linear programming problems.</p></sec><sec id="s5"><title>Cite this paper</title><p>Corley, H.W., Noroziroshan, A. and Rosenberger, J.M. (2017) Posterior Constraint Selection for Nonnegative Linear Programming. American Journal of Operations Research, 7, 26- 40. http://dx.doi.org/10.4236/ajor.2017.71002</p></sec></body><back><ref-list><title>References</title><ref id="scirp.73373-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Todd, M.J. (2002) The Many Facets of Linear Programming. Mathematical Programming, 91, 417-436. https://doi.org/10.1007/s101070100261</mixed-citation></ref><ref id="scirp.73373-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Dare, P. and Saleh, H. (2000) GPS Network Design: Logistics Solution Using Optimal and Near-Optimal Methods. Journal of Geodesy, 74, 467-478.  
https://doi.org/10.1007/s001900000104</mixed-citation></ref><ref id="scirp.73373-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Rosenberger, J.M., Johnson, E.L. and Nemhauser, G.L. (2003) Rerouting Aircraft for Airline Recovery. Transportation Science, 37, 408-421.  
https://doi.org/10.1287/trsc.37.4.408.23271</mixed-citation></ref><ref id="scirp.73373-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Li, H.-L. and Fu, C.-J. (2005) A Linear Programming Approach for Identifying a Consensus Sequence on DNA Sequences. Bioinformatics, 21, 1838-1845.  
https://doi.org/10.1093/bioinformatics/bti286</mixed-citation></ref><ref id="scirp.73373-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Stone, J.J. (1958) The Cross-Section Method, an Algorithm for Linear Programming. DTIC Document, P-1490.</mixed-citation></ref><ref id="scirp.73373-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Thompson, G.L., Tonge, F.M. and Zionts, S. (1996) Techniques for Removing Nonbinding Constraints and Extraneous Variables from Linear Programming Problems. Management Science, 12, 588-608. https://doi.org/10.1287/mnsc.12.7.588</mixed-citation></ref><ref id="scirp.73373-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Adler, I., Karp, R. and Shamir, R. (1986) A Family of Simplex Variants Solving an   Linear Program in Expected Number of Pivot Steps Depending on d Only. Mathematics of Operations Research, 11, 570-590.  
https://doi.org/10.1287/moor.11.4.570</mixed-citation></ref><ref id="scirp.73373-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Zeleny, M. (1986) An External Reconstruction Approach (ERA) to Linear Programming. Computers &amp; Operations Research, B, 95-100.  
https://doi.org/10.1016/0305-0548(86)90067-5</mixed-citation></ref><ref id="scirp.73373-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Myers, D.C. and Shih, W. (1988) A Constraint Selection Technique for a Class of Linear Programs. Operations Research Letters, 7, 191-195.  
https://doi.org/10.1016/0167-6377(88)90027-2</mixed-citation></ref><ref id="scirp.73373-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Curet, N.D. (1993) A Primal-Dual Simplex Method for Linear Programs. Operations Research Letters, 13, 233-237. https://doi.org/10.1016/0167-6377(93)90045-I</mixed-citation></ref><ref id="scirp.73373-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Bixby, R.E., Gregory, J.W., Lustig, I.J., Marsten, R.E. and Shanno, D.F. (1992) Very Large-Scale Linear Programming: A Case Study in Combining Interior Point and Simplex Methods. Operations Research, 40, 885-897.  
https://doi.org/10.1287/opre.40.5.885</mixed-citation></ref><ref id="scirp.73373-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Barnhart, C., Johnson, E., Nemhauser, G., Savelsbergh, M. and Vance, P. (1998) Branch-and-Price: Column Generation for Solving Huge Integer Programs. Operations Research, 46, 316-329. https://doi.org/10.1287/opre.46.3.316</mixed-citation></ref><ref id="scirp.73373-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Mitchell, J.E. (2000) Computational Experience with an Interior Point Cutting Plane Algorithm. SIAM Journal on Optimization, 10, 1212-1227.  
https://doi.org/10.1137/S1052623497324242</mixed-citation></ref><ref id="scirp.73373-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Corley, H.W., Rosenberger, J., Yeh, W.-C. and Sung, T.K. (2006) The Cosine Simplex Algorithm. The International Journal of Advanced Manufacturing Technology, 27, 1047-1050. https://doi.org/10.1007/s00170-004-2278-1</mixed-citation></ref><ref id="scirp.73373-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Pan, P.-Q. (1990) Practical Finite Pivoting Rules for the Simplex Method. Operations-Research-Spektrum, 12, 219-225. https://doi.org/10.1007/BF01721801</mixed-citation></ref><ref id="scirp.73373-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Junior, H.V. and Lins, M.P.E. (2005) An Improved Initial Basis for the Simplex Algorithm. Computers and Operations Research, 32, 1983-1993.  
https://doi.org/10.1016/j.cor.2004.01.002</mixed-citation></ref><ref id="scirp.73373-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Corley, H.W. and Rosenberger, J.M. (2011) System, Method and Apparatus for Allocating Resources by Constraint Selection. US Patent No. 8082549.</mixed-citation></ref><ref id="scirp.73373-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Saito, G., Corley, H.W., Rosenberger, J.M., Sung, T.-K. and Noroziroshan, A. (2015) Constraint Optimal Selection Techniques (COSTs) for Nonnegative Linear Programming Problems. Applied Mathematics and Computation, 251, 586-598.  
https://doi.org/10.1016/j.amc.2014.11.080</mixed-citation></ref><ref id="scirp.73373-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Saito, G., Corley, H.W. and Rosenberger, J. (2012) Constraint Optimal Selection Techniques (COSTs) for Linear Programming. American Journal of Operations Research, 3, 53-64. https://doi.org/10.4236/ajor.2013.31004</mixed-citation></ref><ref id="scirp.73373-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Noroziroshan, N., Corley, H.W. and Rosenberger, J. (2015) A Dynamic Active-Set Method for Linear Programming. American Journal of Operations Research, 5, 526-535. https://doi.org/10.4236/ajor.2015.56041</mixed-citation></ref></ref-list></back></article>