{"id":3587,"date":"2017-11-08T09:00:25","date_gmt":"2017-11-08T14:00:25","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=3587"},"modified":"2026-04-05T19:50:01","modified_gmt":"2026-04-06T00:50:01","slug":"s1eva2008tii_t1-distribuidores-de-productos","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s1eva10\/s1eva2008tii_t1-distribuidores-de-productos\/","title":{"rendered":"s1Eva2008TII_T1 Distribuidores de productos"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-1eva10\/1eva2008tii_t1-distribuidores-de-productos\/\" data-type=\"post\" data-id=\"472\">1Eva2008TII_T1 Distribuidores de productos<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">literal a<\/h2>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"681\" height=\"451\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/11\/DistribuidoresProducto01.png\" alt=\"Distribuidores Producto\" class=\"wp-image-14018\" \/><\/figure>\n\n\n\n<p>Siguiendo las instrucciones del enunciado, el promedio de precios del nodo A, se conforma de los precios en los nodos aleda\u00f1os menos el costo de transporte.<\/p>\n\n\n\n<p>precio en X<sub>1<\/sub>&nbsp;para A = precio en nodo<sub>A<\/sub> - costo de transporte<sub>A<\/sub><\/p>\n\n\n\n<p>siguiendo el mismo procedimiento,<\/p>\n\n\n\n<p>precio en X<sub>1<\/sub> para A: (3.1-0.2)<br>precio de X<sub>1<\/sub> para B: (2.8-0.3)<br>precio de X<sub>1<\/sub> para C: (2.7-0.4)<br>precio de X<sub>1<\/sub> para X<sub>2<\/sub>: (X<sub>2<\/sub>-0.1)<br>precio de X<sub>1<\/sub> para X<sub>3<\/sub>: (X<sub>3<\/sub>-0.5)<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_1 = \\frac{1}{5} \\Big[ (3.1-0.2)+(2.8-0.3)+(2.7-0.4)+<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> +(x_2-0.1)+(x_3-0.5)\\Big] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_1 = \\frac{1}{5} \\Big[ 2.9+2.5 +2.3+x_2+x_3-0.6\\Big] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_1 = \\frac{1}{5} (7.1+x_2+x_3) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">5x_1 = 7.1+x_2+x_3 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">5x_1-x_2-x_3 = 7.1 <\/span>\n\n\n\n<p>Se continua con el mismo proceso para los siguientes nodos:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_2 = \\frac{1}{4} \\Big[ (3.2-0.5)+(3.4-0.3) +(x_1-0.1)+(x_3-0.2)\\Big] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">4x_2 = (3.2-0.5)+(3.4-0.3) +(x_1-0.1)+(x_3-0.2)<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">4x_2 = 2.7+3.1 +x_1+x_3-0.3 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">-x_1+4x_2-x_3 = 5.5 <\/span>\n\n\n\n<p>Para X<sub>3<\/sub><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_3 = \\frac{1}{4} \\Big[ (3.3-0.3)+(2.9-0.2) +(x_1-0.5)+(x_2-0.2)\\Big] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">4x_3 = 3.0+2.7+x_1+x_2-0.7 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">4x_3 = 5+x_1+x_2 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">-x_1-x_2+4x_3= 5 <\/span>\n\n\n\n<p>El sistema de ecuaciones se convierte en:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{cases} 5x_1-x_2-x_3 = 7.1 \\\\ -x_1+4x_2-x_3 = 5.5 \\\\-x_1-x_2+4x_3= 5 \\end{cases}<\/span>\n\n\n\n<p>Para resolver se cambia a la forma Ax=B<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} 5 &amp;&amp; -1 &amp;&amp; -1 \\\\ -1 &amp;&amp; 4 &amp;&amp; -1 \\\\ -1 &amp;&amp; -1 &amp;&amp; 4 \\end{bmatrix} . \\begin{bmatrix} x_1 \\\\ x_2 \\\\ x_3 \\end{bmatrix} = \\begin{bmatrix} 7.1 \\\\ 5.5 \\\\5 \\end{bmatrix} <\/span>\n\n\n\n<p>En los m\u00e9todos directos se usa la forma de matriz aumentada<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} 5 &amp;&amp; -1 &amp;&amp; -1 &amp;&amp; 7.1 \\\\ -1 &amp;&amp; 4 &amp;&amp; -1 &amp;&amp; 5.5 \\\\ -1 &amp;&amp; -1 &amp;&amp; 4 &amp;&amp; 5 \\end{bmatrix}<\/span>\n\n\n\n<p>pivoteo: no es necesario, pues la matriz ya est\u00e1 ordenada de forma diagonalmente dominante.<\/p>\n\n\n\n<p>Eliminaci\u00f3n hacia adelante<\/p>\n\n\n\n<p>i=0, f=0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} 5 &amp;&amp; -1 &amp;&amp; -1 &amp;&amp; 7.1 \\\\ -1-5\\big(\\frac{-1}{5}\\big) &amp;&amp; 4 -(-1)\\big(\\frac{-1}{5}\\big) &amp;&amp; -1 -(-1)\\big(\\frac{-1}{5}\\big) &amp;&amp; 5.5-7.1\\big(\\frac{-1}{5}\\big) \\\\ -1-5\\big(\\frac{-1}{5}\\big) &amp;&amp; -1-(-1)1\\big(\\frac{-1}{5}\\big) &amp;&amp; 4-(-1)\\big(\\frac{-1}{5}\\big) &amp;&amp; 5-7.1\\big(\\frac{-1}{5}\\big) \\end{bmatrix}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{bmatrix} 5 &amp;&amp; -1 &amp;&amp; -1 &amp;&amp; 7.1 \\\\ 0 &amp;&amp; 3.8 &amp;&amp; -1.2 &amp;&amp; 6.92 \\\\ 0 &amp;&amp; -1.2 &amp;&amp; 3.8 &amp;&amp; 6.42 \\end{bmatrix}<\/span>\n\n\n\n<p>Eliminaci\u00f3n hacia adelante para i = 1, j=1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Elimina hacia adelante\n&#091;&#091; 5.         -1.         -1.          7.1       ]\n &#091; 0.          3.8        -1.2         6.92      ]\n &#091; 0.          0.          3.42105263  8.60526316]]<\/code><\/pre>\n\n\n\n<p>Eliminaci\u00f3n hacia atr\u00e1s, continuando el desarrollo de forma semejante a los pasos anteriores se obtiene:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Elimina hacia atr\u00e1s\n&#091;&#091; 1.         -0.         -0.          2.44615385]\n &#091; 0.          1.         -0.          2.61538462]\n &#091; 0.          0.          1.          2.51538462]]\nel vector soluci\u00f3n X es:\n&#091;&#091;2.44615385]\n &#091;2.61538462]\n &#091;2.51538462]]\nverificar que A.X = B\n&#091;&#091;7.1]\n &#091;5.5]\n &#091;5. ]]<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">literal b<\/h2>\n\n\n\n<p>Para el <strong>literal b<\/strong> se usa como referencia el n\u00famero de condici\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; np.linalg.cond(A)\n2.5274158815808474<\/code><\/pre>\n\n\n\n<p>El n\u00famero de condici\u00f3n es cercano a 1, dado que la matriz A es diagonalmente dominante pues los valores mayores de la fila se encuentran en la diagonal. Como el n\u00famero de condici\u00f3n es cercano a 1 el sistema converge usando m\u00e9todos iterativos.<\/p>\n\n\n\n<p>La selecci\u00f3n del vector inicial para las iteraciones siguiendo el enunciado del problema, se evita el vector cero dado que el precio de un producto para una fabrica no puede ser cero. Se observa los valores de los precios, y se encuentra que el rango de existencia en los nodos es [ 2.7, 3.4] que restando el valor de transporte podr\u00edan ser un valor menor a 2.7. Por lo que un buen vector inicial ser\u00e1 [2,2,2]<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">literal c<\/h3>\n\n\n\n<p>Se plantean las ecuaciones para el m\u00e9todo de Jacobi a partir del sistema de ecuaciones, a partir del pivoteo por filas:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{cases} 5x_1-x_2-x_3 = 7.1 \\\\ -x_1+4x_2-x_3 = 5.5 \\\\-x_1-x_2+4x_3= 5 \\end{cases}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_1 = \\frac{7.1 +x_2 + x_3}{5} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_2 = \\frac{ 5.5 +x_1 + x_3}{4} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_3 = \\frac{5 +x_1 + x_2}{4} <\/span>\n\n\n\n<p>Si consideramos que el costo m\u00ednimo podr\u00eda ser 2, el precio deber\u00eda ser mayor x0 = [2,2,2]<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">itera =&nbsp; 0<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_1 = \\frac{7.1 +(2) + (2)}{5} = 2.22<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_2 = \\frac{ 5.5 +(2) + (2)}{4} = 2.375<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_3 = \\frac{5 +(2) + (2)}{4} =2.25 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = max|[2.22-2, 2.375-2, 2.25-2]|<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = max |[0.22, 0.375, 0.25]| = 0.375 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_1 = [2.22, 2.375, 2.25]|<\/span>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 1<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_1 = \\frac{7.1 +(2.375) + (2.25)}{5} = 2.345 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_2 = \\frac{ 5.5 +(2.22) + (2.25)}{4} = 2.4925<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_3 = \\frac{5 +(2.22) + (2.375)}{4} =2.39875 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = max|[2.345-2.22, 2.4925-2.375, 2.39875 - 2.25]| <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 0.14874999999999972 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_2 = [2.345, 2.4925, 2.39875] <\/span>\n\n\n\n<h3 class=\"wp-block-heading\">itera = 2<\/h3>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_1 = \\frac{7.1 +(2.4925) + (2.39875)}{5} = 2.39825 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_2 = \\frac{ 5.5 +(2.345) + (2.39875)}{4} = 2.5609375 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\">x_3 = \\frac{5 +(2.345) + (2.4925)}{4} = 2.459375 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = max|[2.39825 - 2.345, 2.5609375- 2.4925, 2.459375 - 2.39875]| <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = 0.06843749999999993 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_3 = [2.39825, 2.5609375, 2.459375 ] <\/span>\n\n\n\n<p>El error disminuye entre iteraciones, por lo que el m\u00e9todo converge.<\/p>\n\n\n\n<p>Los datos de las iteraciones usando el algoritmo son:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>Matriz aumentada\n&#091;&#091; 5.  -1.  -1.   7.1]\n &#091;-1.   4.  -1.   5.5]\n &#091;-1.  -1.   4.   5. ]]\nPivoteo parcial:\n  Pivoteo por filas NO requerido\nIteraciones Jacobi\nitera,&#091;X]\n     ,errado,|diferencia|\n0 &#091;2. 2. 2.]\n  nan\n1 &#091;2.22  2.375 2.25 ]\n  0.375 &#091;0.22  0.375 0.25 ]\n2 &#091;2.345   2.4925  2.39875]\n  0.14874999999999972 &#091;0.125   0.1175  0.14875]\n3 &#091;2.39825 2.56094 2.45937]\n  0.06843749999999993 &#091;0.05325 0.06844 0.06062]\n4 &#091;2.42406 2.58941 2.4898 ]\n  0.030421875000000043 &#091;0.02581 0.02847 0.03042]\n5 &#091;2.43584 2.60346 2.50337]\n  0.014058593750000181 &#091;0.01178 0.01406 0.01357]\n6 &#091;2.44137 2.6098  2.50983]\n  0.006459179687499983 &#091;0.00553 0.00634 0.00646]\n7 &#091;2.44393 2.6128  2.51279]\n  0.0029962402343750583 &#091;0.00256 0.003   0.00297]\n8 &#091;2.44512 2.61418 2.51418]\n  0.001388874511718985 &#091;0.00119 0.00138 0.00139]\n9 &#091;2.44567 2.61482 2.51482]\n  0.0006453167724607134 &#091;0.00055 0.00065 0.00064]\n10 &#091;2.44593 2.61512 2.51512]\n  0.00029983517456066977 &#091;0.00026 0.0003  0.0003 ]\n11 &#091;2.44605 2.61526 2.51526]\n  0.0001393951034542873 &#091;0.00012 0.00014 0.00014]\n12 &#091;2.44611 2.61533 2.51533]\n  6.480845146183967e-05 &#091;5.57342e-05 6.47786e-05 6.48085e-05]\nMetodo de Jacobi\nnumero de condici\u00f3n: 2.5274158815808474\nX:  &#091;2.44611 2.61533 2.51533]\nerrado: 6.480845146183967e-05\niteraciones: 12<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 1Eva2008TII_T1 Distribuidores de productos\n# Metodo de Jaboci para sistemas de ecuaciones\nimport numpy as np\n \ndef jacobi(A,B,X0, tolera, iteramax=100,\n           vertabla=False, precision=4):\n    ''' M\u00e9todo de Jacobi, tolerancia, vector inicial X0\n        para mostrar iteraciones y tabla: vertabla=True\n    '''\n    # Matrices como arreglo, numeros reales\n    A = np.array(A,dtype=float)\n    B = np.array(B,dtype=float)\n    X0 = np.array(X0,dtype=float)\n    tamano = np.shape(A) # tama\u00f1o A\n    n = tamano&#x5B;0]\n    m = tamano&#x5B;1]\n     \n    # valores iniciales\n    diferencia = 2*tolera*np.ones(n, dtype=float)\n    errado = 2*tolera     # np.max(diferencia)\n    tabla = &#x5B;np.copy(X0)] # tabla de iteraciones\n    tabla = np.concatenate((tabla,&#x5B;&#x5B;np.nan]]),\n                            axis=1) # errado\n \n    if vertabla==True:\n        print('Iteraciones Jacobi')\n        print('itera,&#x5B;X]')\n        print('     ,errado,|diferencia|')\n        print(0,X0)\n        print(' ',np.nan)\n        np.set_printoptions(precision)\n \n    itera = 0 # Jacobi\n    X = np.copy(X0)\n    Xnuevo = np.copy(X0)\n    while errado&gt;tolera and itera&lt;=iteramax:\n         \n        for i in range(0,n,1): # una ecuacion\n            suma = B&#x5B;i]\n            for j in range(0,m,1): # un coeficiente\n                if (i!=j): # excepto diagonal de A\n                    suma = suma-A&#x5B;i,j]*X&#x5B;j]\n            Xnuevo&#x5B;i] = suma\/A&#x5B;i,i]\n        diferencia = abs(Xnuevo-X)\n        errado = np.max(diferencia)\n        X = np.copy(Xnuevo)\n \n        Xfila = np.concatenate((Xnuevo,&#x5B;errado]),axis=0)\n        tabla = np.concatenate((tabla,&#x5B;Xfila]),axis=0)\n \n        itera = itera + 1\n \n        if vertabla==True:\n            print(itera, Xnuevo)\n            print(' ',errado,diferencia)\n \n    # No converge\n    if (itera&gt;iteramax):\n        X = np.nan\n        print('No converge,iteramax superado')\n \n    if vertabla==True:\n        X = &#x5B;X,tabla]\n    return(X)\n \ndef pivoteafila(A,B,vertabla=False):\n    '''\n    Pivotea parcial por filas, entrega matriz aumentada AB\n    Si hay ceros en diagonal es matriz singular,\n    Tarea: Revisar si diagonal tiene ceros\n    '''\n    A = np.array(A,dtype=float)\n    B = np.array(B,dtype=float)\n    # Matriz aumentada\n    nB = len(np.shape(B))\n    if nB == 1:\n        B = np.transpose(&#x5B;B])\n    AB  = np.concatenate((A,B),axis=1)\n     \n    if vertabla==True:\n        print('Matriz aumentada')\n        print(AB)\n        print('Pivoteo parcial:')\n     \n    # Pivoteo por filas AB\n    tamano = np.shape(AB)\n    n = tamano&#x5B;0]\n    m = tamano&#x5B;1]\n     \n    # Para cada fila en AB\n    pivoteado = 0\n    for i in range(0,n-1,1):\n        # columna desde diagonal i en adelante\n        columna = np.abs(AB&#x5B;i:,i])\n        dondemax = np.argmax(columna)\n         \n        # dondemax no es en diagonal\n        if (dondemax != 0):\n            # intercambia filas\n            temporal = np.copy(AB&#x5B;i,:])\n            AB&#x5B;i,:] = AB&#x5B;dondemax+i,:]\n            AB&#x5B;dondemax+i,:] = temporal\n \n            pivoteado = pivoteado + 1\n            if vertabla==True:\n                print(' ',pivoteado, 'intercambiar filas: ',i,'y', dondemax+i)\n    if vertabla==True:\n        if pivoteado==0:\n            print('  Pivoteo por filas NO requerido')\n        else:\n            print('AB')\n            print(AB)\n    return(AB)\n \n# PROGRAMA B\u00fasqueda de solucion  --------\n# INGRESO\nA = &#x5B;&#x5B;  5, -1, -1],\n     &#x5B; -1,  4, -1],\n     &#x5B; -1, -1,  4]]\nB = &#x5B;7.1, 5.5,5]\nX0  = &#x5B;2,2,2]\n \ntolera = 0.0001\niteramax = 100\nverdecimal = 5\n \n# PROCEDIMIENTO\nAB = pivoteafila(A,B,vertabla=True)\nn,m = np.shape(AB)\nA = AB&#x5B;:,:n] # separa en A y B\nB = AB&#x5B;:,n]\n \n&#x5B;X, tabla] = jacobi(A,B,X0,tolera,iteramax,\n                    vertabla=True,\n                    precision=verdecimal)\nn_itera = len(tabla)-1\nerrado = tabla&#x5B;-1,-1]\n \n# numero de condicion\nncond = np.linalg.cond(A)\n \n# SALIDA\nprint('Metodo de Jacobi')\nprint('numero de condici\u00f3n:', ncond)\nprint('X: ',X)\nprint('errado:',errado)\nprint('iteraciones:', n_itera)\n<\/pre><\/div>\n\n\n<p>Gr\u00e1fica de errores por iteraci\u00f3n<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# GRAFICA de iteraciones\nerrados = tabla&#x5B;:,n]\n \nimport matplotlib.pyplot as plt\n# grafica de error por iteracion\nfig2D = plt.figure()\ngraf = fig2D.add_subplot(111)\ngraf.plot(errados)\ngraf.set_xlabel('itera')\ngraf.set_ylabel('|error|')\ngraf.set_title('M\u00e9todo de Jacobi: error&#x5B;itera]')\ngraf.grid()\n \nplt.show()\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"642\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/11\/1Eva2008TII_T1_DistribuidoresProductos_ErradoItera.png\" alt=\"1Eva2008TII_T1 Distribuidores Productos Errado Itera Jacobi\" class=\"wp-image-21407\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2008TII_T1 Distribuidores de productos literal a Siguiendo las instrucciones del enunciado, el promedio de precios del nodo A, se conforma de los precios en los nodos aleda\u00f1os menos el costo de transporte. precio en X1&nbsp;para A = precio en nodoA - costo de transporteA siguiendo el mismo procedimiento, precio en X1 para A: (3.1-0.2)precio [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-mn-ejemplo","format":"standard","meta":{"footnotes":""},"categories":[44],"tags":[58,54],"class_list":["post-3587","post","type-post","status-publish","format-standard","hentry","category-mn-s1eva10","tag-ejemplos-python","tag-mnumericos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=3587"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3587\/revisions"}],"predecessor-version":[{"id":23802,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/3587\/revisions\/23802"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=3587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=3587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=3587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}