<html><body><div style="color:#000; background-color:#fff; font-family:bookman old style, new york, times, serif;font-size:12pt"><div>Hi Scilab users,</div><div><br></div><div>I use Scilab 5.4 for Mac OS X Lion. My codes ran correctly on Scilab 5.3 (for Windows). But on Scilab 5.4,</div><div>it shows errors. I think that "linpro function" has modified on Scilab 5.4 (or it has not included on Scilab optimization function list).</div><div><br></div><div>Both ways of solving LP problem are shown, as follows:</div><div><br></div><div><pre style="font-family:Monospaced;font-style:normal;font-size:14.0;"><span style="color:rgb(1,168,1);font-style:italic;">// PROJECT PROBLEM: find the optimum value of following LP model.</span>

<span style="color:rgb(1,168,1);font-style:italic;">// Maximize 13*x1 + 16*x2 + 16*x3 + 14*x4 + 39*x5</span>
<span style="color:rgb(1,168,1);font-style:italic;">// such as</span>
<span style="color:rgb(1,168,1);font-style:italic;">// 11*x1 + 53*x2 + 5*x3 + 5*x4 + 29*x5 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 40</span>
<span style="color:rgb(1,168,1);font-style:italic;">// 3*x1 + 6*x2 + 5*x3 + x4 + 34*x5 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 20</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x1 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x2 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x3 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x4 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x5 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// xi </span><span style="color:rgb(1,168,1);font-style:italic;">></span><span style="color:rgb(1,168,1);font-style:italic;">= 0 (i = 1,...,5)</span>

<span style="color:rgb(1,168,1);font-style:italic;">// Converting to min LP problem</span>

<span style="color:rgb(1,168,1);font-style:italic;">// Minimize -13*x1 - 16*x2 - 16*x3 - 14*x4 - 39*x5</span>
<span style="color:rgb(1,168,1);font-style:italic;">// such as</span>
<span style="color:rgb(1,168,1);font-style:italic;">// 11*x1 + 53*x2 + 5*x3 + 5*x4 + 29*x5 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 40</span>
<span style="color:rgb(1,168,1);font-style:italic;">// 3*x1 + 6*x2 + 5*x3 + x4 + 34*x5 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 20</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x1 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x2 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x3 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x4 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x5 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// xi </span><span style="color:rgb(1,168,1);font-style:italic;">></span><span style="color:rgb(1,168,1);font-style:italic;">= 0 (i = 1,...,5)</span>

<span style="color:rgb(1,168,1);font-style:italic;">// First resolution of LP problem:   (THIS RESOLUTION WORKED !)</span>

<span style="color:rgb(1,168,1);font-style:italic;">// You can try the karmarkar function built in Scilab :</span>

<span style="color:rgb(1,168,1);font-style:italic;">// Use slack variables:</span>

<span style="color:rgb(1,168,1);font-style:italic;">// Minimize -13*x1 - 16*x2 - 16*x3 - 14*x4 - 39*x5</span>
<span style="color:rgb(1,168,1);font-style:italic;">// such as</span>
<span style="color:rgb(1,168,1);font-style:italic;">// 11*x1 + 53*x2 + 5*x3 + 5*x4 + 29*x5 + e1                = 40</span>
<span style="color:rgb(1,168,1);font-style:italic;">// 3*x1 +   6*x2 + 5*x3 +   x4 + 34*x5 +   e2              = 20</span>
<span style="color:rgb(1,168,1);font-style:italic;">//   x1 +                                    e3            =  1</span>
<span style="color:rgb(1,168,1);font-style:italic;">//            x2 +                             e4          =  1</span>
<span style="color:rgb(1,168,1);font-style:italic;">//                   x3 +                        e5        =  1</span>
<span style="color:rgb(1,168,1);font-style:italic;">//                          x4 +                   e6      =  1</span>
<span style="color:rgb(1,168,1);font-style:italic;">//                                  x5 +             e7    =  1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// xi, ej </span><span style="color:rgb(1,168,1);font-style:italic;">></span><span style="color:rgb(1,168,1);font-style:italic;">= 0 (i = 1,...,5) (j = 1,..., 7)</span>

<span style="color:rgb(1,168,1);font-style:italic;">// The following script solves the problem. Here, the initial guess x0 is given. </span>

<span style="color:rgb(0,0,0);">Aeq</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span>
       <span style="color:rgb(188,143,143);">11</span> <span style="color:rgb(188,143,143);">53</span> <span style="color:rgb(188,143,143);">5</span> <span style="color:rgb(188,143,143);">5</span> <span style="color:rgb(188,143,143);">29</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">3</span>  <span style="color:rgb(188,143,143);">6</span> <span style="color:rgb(188,143,143);">5</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">34</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">1</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span>
      <span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>  <span style="color:rgb(1,168,1);font-style:italic;">// coefficients of constraint matrix</span>

<span style="color:rgb(0,0,0);">beq</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">40</span> <span style="color:rgb(188,143,143);">20</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">'</span><span style="color:rgb(0,0,0);">;</span>    <span style="color:rgb(1,168,1);font-style:italic;">// vector of independent terms</span>
<span style="color:rgb(0,0,0);">c</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">13</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">16</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">16</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">14</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">39</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(74,85,219);">]</span><span
 style="color:rgb(92,92,92);">'</span><span style="color:rgb(0,0,0);">;</span>     <span style="color:rgb(1,168,1);font-style:italic;">// coefficients of objective function</span>
<span style="color:rgb(74,85,219);">[</span><span style="color:rgb(0,0,0);">n</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">p</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(50,185,185);">size</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Aeq</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>

<span style="color:rgb(1,168,1);font-style:italic;">// Now, assume that the initial guess x0 is unknown.</span>
<span style="color:rgb(1,168,1);font-style:italic;">// To find a feasible point, we solve the following problem : </span>
<span style="color:rgb(0,0,0);">cc</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(50,185,185);">zeros</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">p</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">AAeq</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(0,0,0);">Aeq</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">beq</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(0,0,0);">Aeq</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(50,185,185);">ones</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">p</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">bbeq</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">beq</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">z0</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">ones</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">p</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">zopt</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(174,92,176);text-decoration:underline;">karmarkar</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">AAeq</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">bbeq</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">cc</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">z0</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">0.99</span><span style="color:rgb(74,85,219);">)</span>
<span style="color:rgb(0,0,0);">x0</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(0,0,0);">zopt</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(0,0,0);">p</span><span style="color:rgb(74,85,219);">)</span>  <span style="color:rgb(1,168,1);font-style:italic;">// This gives a very small value of zopt(p+1)</span>
<span style="color:rgb(1,168,1);font-style:italic;">// The previous script allows to produces the initial guess: x0</span>
<span style="color:rgb(1,168,1);font-style:italic;">// We now plug the initial guess x0 into the original problem and get: </span>
<span style="color:rgb(0,0,0);">xopt</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(174,92,176);text-decoration:underline;">karmarkar</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Aeq</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">beq</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">c</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">x0</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">1.e-10</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">0.999</span><span style="color:rgb(74,85,219);">)</span>  <span style="color:rgb(1,168,1);font-style:italic;">// optimization result</span>
<span style="color:rgb(1,168,1);font-style:italic;">// where the components xopt(1:4) are the original variables and xopt(5:) are slack variables.</span>
<span style="color:rgb(0,0,0);">f</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">c</span><span style="color:rgb(92,92,92);">'</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">xopt</span>  <span style="color:rgb(1,168,1);font-style:italic;">// result of objetive function</span>

<span style="color:rgb(1,168,1);font-style:italic;">// Second resolution of LP problem:   (THIS RESOLUTION WORKED !)</span>

<span style="color:rgb(1,168,1);font-style:italic;">// You can also try the </span><span style="color:rgb(1,168,1);font-style:italic;">"</span><span style="color:rgb(1,168,1);font-style:italic;">quapro</span><span style="color:rgb(1,168,1);font-style:italic;">"</span><span style="color:rgb(1,168,1);font-style:italic;"> module and the linpro function.</span>

<span style="color:rgb(1,168,1);font-style:italic;">// Minimize -13*x1 - 16*x2 - 16*x3 - 14*x4 - 39*x5</span>
<span style="color:rgb(1,168,1);font-style:italic;">// such as</span>
<span style="color:rgb(1,168,1);font-style:italic;">// 11*x1 + 53*x2 + 5*x3 + 5*x4 + 29*x5 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 40</span>
<span style="color:rgb(1,168,1);font-style:italic;">// 3*x1 + 6*x2 + 5*x3 + x4 + 34*x5 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 20</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x1 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x2 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x3 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x4 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// x5 </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= 1</span>
<span style="color:rgb(1,168,1);font-style:italic;">// xi </span><span style="color:rgb(1,168,1);font-style:italic;">></span><span style="color:rgb(1,168,1);font-style:italic;">= 0 (i = 1,...,5)</span>

<span style="color:rgb(0,0,0);">p</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">13</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">16</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">16</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">14</span> <span style="color:rgb(92,92,92);">-</span><span style="color:rgb(188,143,143);">39</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">'</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(1,168,1);font-style:italic;">// coefficients of objective function</span>

<span style="color:rgb(0,0,0);">C</span> <span style="color:rgb(92,92,92);">=</span>  <span style="color:rgb(74,85,219);">[</span>
       <span style="color:rgb(188,143,143);">11</span> <span style="color:rgb(188,143,143);">53</span> <span style="color:rgb(188,143,143);">5</span> <span style="color:rgb(188,143,143);">5</span> <span style="color:rgb(188,143,143);">29</span>
        <span style="color:rgb(188,143,143);">3</span>  <span style="color:rgb(188,143,143);">6</span> <span style="color:rgb(188,143,143);">5</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">34</span>
        <span style="color:rgb(188,143,143);">1</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">1</span>  <span style="color:rgb(188,143,143);">0</span>
        <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span>  <span style="color:rgb(188,143,143);">1</span>
      <span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">;</span>  <span style="color:rgb(1,168,1);font-style:italic;">// coefficients of constraint matrix</span>

     
<span style="color:rgb(0,0,0);">b</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">40</span> <span style="color:rgb(188,143,143);">20</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">'</span><span style="color:rgb(0,0,0);">;</span>  <span style="color:rgb(1,168,1);font-style:italic;">// vector of independent terms</span>

<span style="color:rgb(0,0,0);">ci</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">'</span><span style="color:rgb(0,0,0);">;</span>  <span style="color:rgb(1,168,1);font-style:italic;">// initial values (boundary condition)</span>

<span style="color:rgb(0,0,0);">cs</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(218,112,214);">%inf</span> <span style="color:rgb(218,112,214);">%inf</span> <span style="color:rgb(218,112,214);">%inf</span> <span style="color:rgb(218,112,214);">%inf</span> <span style="color:rgb(218,112,214);">%inf</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">'</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(1,168,1);font-style:italic;">// final values</span>

<span style="color:rgb(74,85,219);">[</span><span style="color:rgb(0,0,0);">x1</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">lagr</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">f</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(0,0,0);">linpro</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">p</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">C</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">b</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">ci</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">cs</span><span style="color:rgb(74,85,219);">)</span>  <span style="color:rgb(1,168,1);font-style:italic;">// x1 represents the optimum solution</span>

<span style="color:rgb(1,168,1);font-style:italic;">// PS: </span>
<span style="color:rgb(1,168,1);font-style:italic;">// [x,lagr,f]=linpro(p,C,b,ci,cs [,x0]) when minimize p</span><span style="color:rgb(1,168,1);font-style:italic;">'</span><span style="color:rgb(1,168,1);font-style:italic;">*x under the constraints C*x </span><span style="color:rgb(1,168,1);font-style:italic;"><</span><span style="color:rgb(1,168,1);font-style:italic;">= b</span>
<span style="color:rgb(1,168,1);font-style:italic;">// [x,lagr,f]=linpro(p,-C,-b,ci,cs [,x0]) when minimize p</span><span style="color:rgb(1,168,1);font-style:italic;">'</span><span style="color:rgb(1,168,1);font-style:italic;">*x under the constraints C*x </span><span style="color:rgb(1,168,1);font-style:italic;">></span><span style="color:rgb(1,168,1);font-style:italic;">= b</span>

<span style="color:rgb(74,85,219);">[</span><span style="color:rgb(50,185,185);">clean</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">x1</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(50,185,185);">clean</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">xopt</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(50,185,185);">size</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">p</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">]</span>
<span style="color:rgb(0,0,0);">a</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">;</span><span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">i</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(50,185,185);">size</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">p</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(0,0,0);">a</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(0,0,0);">a</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(0,0,0);">x1</span><span style="color:rgb(74,85,219);">(</span><span
 style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span><span style="color:rgb(160,32,240);">end</span><span style="color:rgb(0,0,0);">;</span><span style="color:rgb(0,0,0);">a</span> <span style="color:rgb(1,168,1);font-style:italic;">//sum of optimal values using linpro</span>
<span style="color:rgb(0,0,0);">b</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">;</span><span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">i</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(50,185,185);">size</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">p</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> <span style="color:rgb(0,0,0);">b</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(0,0,0);">b</span><span style="color:rgb(92,92,92);">+</span><span style="color:rgb(0,0,0);">xopt</span><span style="color:rgb(74,85,219);">(</span><span
 style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span><span style="color:rgb(160,32,240);">end</span><span style="color:rgb(0,0,0);">;</span><span style="color:rgb(0,0,0);">b</span> <span style="color:rgb(1,168,1);font-style:italic;">//sum of optimal values using Karmarkar</span></pre><pre style="font-family: Monospaced; "><span><br></span></pre><pre style="font-family: Monospaced; "><span>The result is shown, as follows:</span></pre><pre style="font-family: Monospaced; "><span>->Aeq = [
-->       11 53 5 5 29 1 0 0 0 0 0 0
-->        3  6 5 1 34 0 1 0 0 0 0 0
-->        1  0 0 0  0 0 0 1 0 0 0 0
-->        0  1 0 0  0 0 0 0 1 0 0 0
-->        0  0 1 0  0 0 0 0 0 1 0 0
-->        0  0 0 1  0 0 0 0 0 0 1 0
-->        0  0 0 0  1 0 0 0 0 0 0 1
-->      ];  
 
-->
 
-->beq = [40 20 1 1 1 1 1]';    
 
-->c = [-13 -16 -16 -14 -39 0 0 0 0 0 0 0]';     
 
-->[n,p]=size(Aeq);
 
-->
 
-->cc = [zeros(p,1);1];
 
-->AAeq = [Aeq,beq-Aeq*ones(p,1)];
 
-->bbeq = beq;
 
-->z0 = ones(p+1,1);
 
-->zopt=karmarkar(AAeq,bbeq,cc,z0,0,0.99)
 zopt  =
 
    0.4651227  
    0.3447924  
    0.4790839  
    0.4846474  
    0.3723201  
    0.9937153  
    0.9969277  
    0.5348773  
    0.6552076  
    0.5209161  
    0.5153526  
    0.6276799  
    1.00D-162  
 
-->x0=zopt(1:p)  
 x0  =
 
    0.4651227  
    0.3447924  
    0.4790839  
    0.4846474  
    0.3723201  
    0.9937153  
    0.9969277  
    0.5348773  
    0.6552076  
    0.5209161  
    0.5153526  
    0.6276799  
 
-->
 
-->xopt=karmarkar(Aeq,beq,c,x0,1.e-10,0.999)  
 xopt  =
 
    1.0017139  
    0.2009097  
    0.9994057  
    1.0011172  
    0.2881802  
    1.034D-13  
    3.512D-13  
    5.532D-16  
    0.7990812  
    8.466D-15  
    8.225D-14  
    0.7119165  
 
-->
 
-->f = c'*xopt  
 f  =
 
  - 57.481994  
 
-->
 
-->p = [-13 -16 -16 -14 -39]'; 
 
-->
 
-->C =  [
-->       11 53 5 5 29
-->        3  6 5 1 34
-->        1  0 0 0  0
-->        0  1 0 0  0
-->        0  0 1 0  0
-->        0  0 0 1  0
-->        0  0 0 0  1
-->      ];  
 
-->
 
-->b = [40 20 1 1 1 1 1]';  
 
-->
 
-->ci=[0 0 0 0 0]';  
 
-->
 
-->cs=[%inf %inf %inf %inf %inf]'; 
 
-->
 
-->[x1,lagr,f]=linpro(p,C,b,ci,cs)  
                                !--error 4 
Variável indefinida: linpro
 
 
-->
 
-->[clean(x1) clean(xopt(1:size(p,1)))]
         !--error 4 
Variável indefinida: x1
 
 
-->a=0;for i=1:size(p,1); a=a+x1(i);end;a 
                                 !--error 4 
Variável indefinida: x1
 
 
-->b=0;for i=1:size(p,1); b=b+xopt(i);end;b 
 b  =
 
    3.4913266  <br></span></pre><pre style="font-family: Monospaced; "><span><br></span></pre><pre style="font-family: Monospaced; "><span>Thank you in advance for suggestions !</span></pre><pre style="font-family: Monospaced; "><span>All best,</span></pre><pre style="font-family: Monospaced; "><span>Reinaldo.</span></pre><pre style="font-family: Monospaced; "><span><br></span></pre><pre style="font-family:Monospaced;font-style:normal;font-size:14.0;"><span style="color:rgb(1,168,1);font-style:italic;"><br></span></pre></div></div></body></html>