{"id":8302,"date":"2022-07-10T13:02:25","date_gmt":"2022-07-10T18:02:25","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/analisisnumerico\/?p=8302"},"modified":"2026-04-05T20:02:10","modified_gmt":"2026-04-06T01:02:10","slug":"s1eva2022paoi_t2-capacidad-de-alimentos-para-pacientes-internos","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s1eva30\/s1eva2022paoi_t2-capacidad-de-alimentos-para-pacientes-internos\/","title":{"rendered":"s1Eva2022PAOI_T2 Capacidad de alimentos para pacientes internos"},"content":{"rendered":"\n<p><strong>Ejercicio<\/strong>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-1eva30\/1eva2022paoi_t2-capacidad-de-alimentos-para-pacientes-internos\/\" data-type=\"post\" data-id=\"8277\">1Eva2022PAOI_T2 Capacidad de alimentos para pacientes internos<\/a><\/p>\n\n\n\n<p>a) Realice el planteamiento del sistema de ecuaciones que permita determinar la cantidad m\u00e1xima de pacientes de cada grupo que podr\u00edan ser atendidos usando todos los productos disponibles. Una vez planteadas las ecuaciones, se le indica que la capacidad de atenci\u00f3n para emergencia sea fija en K = 10 pacientes (variable libre).<\/p>\n\n\n\n<figure class=\"wp-block-table alignwide\"><table><thead><tr><th>Producto\\ Paciente<\/th><th>Maternidad<\/th><th><br>Pos - operatorio<\/th><th><br>Covid_19<\/th><th>emergencia<\/th><th>Suministro diario<\/th><\/tr><\/thead><tbody><tr><td>Producto A<\/td><td>0.2<\/td><td>0.1<\/td><td>1.7<\/td><td>0.25<\/td><td>135<\/td><\/tr><tr><td>Producto B<\/td><td>0.5<\/td><td>2<\/td><td>0.05<\/td><td>0.4<\/td><td>320<\/td><\/tr><tr><td>Producto C<\/td><td>1.5<\/td><td>0.2<\/td><td>0.75<\/td><td>1.4<\/td><td>410<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Sistema de ecuaciones usando la columna de emergencias como variable libre y valor constante para la variable igual a K=10<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 0.2 x_1 + 0.1 x_2 +1.7 x_3 = 135-0.25 K <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 0.5 x_1 + 2 x_2 +0.05 x_3 = 320-0.4 K <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 1.5 x_1 + 0.2 x_2 +0.75 x_3 = 410-1.4 K <\/span>\n\n\n\n<p>b) Muestre los pasos detallados para la matriz aumentada y pivoteo parcial por filas.<\/p>\n\n\n\n<p>matriz aumentada<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{pmatrix} 0.2 &amp; 0.1 &amp; 1.7 &amp; 135-0.25*10 \\\\ 0.5 &amp; 2 &amp;0.05 &amp; 320-0.4*10 \\\\ 1.5 &amp; 0.2 &amp; 0.75 &amp;410-1.4*10 \\end{pmatrix} <\/span>\n\n\n\n<p>pivoteo parcial por filas<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\begin{pmatrix} 1.5 &amp; 0.2 &amp; 0.75 &amp; 396 \\\\ 0.5 &amp; 2 &amp;0.05 &amp; 316 \\\\ 0.2 &amp; 0.1 &amp; 1.7 &amp; 132.5 \\end{pmatrix} <\/span>\n\n\n\n<p>c) Desarrolle al menos 3 iteraciones para el m\u00e9todo requerido, con expresiones completas.<\/p>\n\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 1.5 x_1 + 0.2 x_2 +0.75 x_3 = 396 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 0.5 x_1 + 2 x_2 +0.05 x_3 = 316 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> 0.2 x_1 + 0.1 x_2 +1.7 x_3 = 132.5 <\/span>\n\n\n\n<p>ecuaciones a usar<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_1 = \\frac{1}{1.5}(396 - 0.2 x_2 - 0.75 x_3) <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_2 = \\frac{1}{2}(316 - 0.5 x_1 - 0.05 x_3)<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_3 = \\frac{1}{1.7}(132.5 - 0.2 x_1 - 0.1 x_2) <\/span>\n\n\n\n<p>Dado que el valor de la variable libre se establec\u00eda con K=10, el vector inicial podr\u00eda ser el doble de este valor<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_0 = [20,20,20] <\/span>\n\n\n\n<p><em><strong>itera=1<\/strong><\/em><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_0 = [20,20,20] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_1 = \\frac{1}{1.5}(396 - 0.2(20) - 0.75(20)) =251.33 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_2 = \\frac{1}{2}(316 - 0.5(20) - 0.05 (20)) = 152.5<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_3 = \\frac{1}{1.7}(132.5 - 0.2 (20) - 0.1 (20)) =74.41<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> diferencia = [231.33, 132.5, 54.41] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = max |[231.33, 132.5, 54.41]| = 231.33 <\/span>\n\n\n\n<p><em><strong>itera=2<\/strong><\/em><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_1 = [251.33, 152.5, 74.41] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_1 = \\frac{1}{1.5}(396 - 0.2(152.5) - 0.75(74.41)) =206.46 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_2 = \\frac{1}{2}(316 - 0.5(251.33) - 0.05 (74.41)) = 96.30<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_3 = \\frac{1}{1.7}(132.5 - 0.2 (251.33) - 0.1 (152.5)) =39.40<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> diferencia = [-44.86, -59.27, -211.92] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = max |[-44.86, -59.27, -211.92]| = 211.92 <\/span>\n\n\n\n<p><em><strong>itera=3<\/strong><\/em><\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_2 = [231.85, 105.39, 48.16] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_1 = \\frac{1}{1.5}(396 - 0.2(105.39) - 0.75(48.16)) =231.85 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_2 = \\frac{1}{2}(316 - 0.5(231.85) - 0.05 (48.16)) = 105.39 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x_3 = \\frac{1}{1.7}(132.5 - 0.2 ( 231.85) - 0.1 (105.39)) =48.16 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> diferencia = [25.39, 121.09, -158.29] <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> errado = max |[25.39, 121.09, -158.29]| = 158.29 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> X_3 = [231.85, 105.39, 48.16] <\/span>\n\n\n\n<p>d) Realice las observaciones necesarias sobre los errores entre iteraciones y la convergencia.<\/p>\n\n\n\n<p>El error entre iteraciones disminuye, el m\u00e9todo converge a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>respuesta X: \n&#091;&#091;228.22]\n &#091; 99.81]\n &#091; 44.92]]<\/code><\/pre>\n\n\n\n<p>e) Si se decide no atender a los pacientes del grupo emergencias, \u00bfQu\u00e9 aumento individual de cada una de otros grupos de pacientes podr\u00eda soportarse con la cantidad diaria de alimento disponible? (use el algoritmo.py).<\/p>\n\n\n\n<p>Se interpreta como K=0 y usando el algoritmo se obtiene:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>respuesta X: \n&#091;&#091;237.23]\n &#091; 99.54]\n &#091; 45.64]]<\/code><\/pre>\n\n\n\n<p>el aumento de pacientes entre grupos es<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>diferencia = &#091;9.01, -0.27, 0.72]<\/code><\/pre>\n\n\n\n<p>en t\u00e9rminos de pacientes, como n\u00famero entero, solo se gana 9 pacientes para el primer grupo. Se descarta la parte decimal si los pacientes no se cuentan en miles, por lo que las otras variaciones se interpretan como cero.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n\n<p>Datos tomados luego de pivoteo parcial por filas<\/p>\n\n\n\n<p>Resultados:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>0 &#091;20. 20. 20.]\n0 &#091;251.33333333 152.5         74.11764706]\n1 &#091;206.60784314  93.31372549  39.10784314]\n2 &#091;232.00424837 105.37034314  47.85121107]\n3 &#091;226.02501538  98.80265763  44.15418589]\n4 &#091;228.74921937 100.38989151  45.24395951]\n5 &#091;227.99270138  99.68159617  44.83009822]\n6 &#091;228.2940714   99.8810722   44.96076477]\n7 &#091;228.20214132  99.80246303  44.91357559]\n8 &#091;228.23621714  99.82662528  44.92901496]\n9 &#091;228.22527582  99.81772034  44.92358473]\n10 &#091;228.22917825  99.82059143  44.92539577]\n11 &#091;228.22788993  99.81957054  44.92476777]\n12 &#091;228.22834004  99.81990832  44.92497939]\n13 &#091;228.2281892   99.8197905   44.92490656]\n14 &#091;228.22824132  99.81983004  44.92493124]\nnumero de condicion: 2.166985328561448\nrespuesta con Jacobi\n&#091;&#091;228.22824132]\n &#091; 99.81983004]\n &#091; 44.92493124]]\nverificando:\n&#091;&#091;396.00002641]\n &#091;316.00002729]\n &#091;132.00001438]]<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 1Eva_2022PAOI_T2 Capacidad de alimentos para pacientes internos\nimport numpy as np\n\ndef jacobi(A,B,tolera,X,iteramax=100):\n    tamano = np.shape(A)\n    n = tamano&#x5B;0]\n    m = tamano&#x5B;1]\n    diferencia = np.ones(n, dtype=float)\n    errado = np.max(diferencia)\n    xnuevo = np.copy(X)\n\n    itera = 0\n    print(itera, X)\n    while not(errado&lt;=tolera or itera&gt;iteramax):\n        \n        for i in range(0,n,1):\n            nuevo = B&#x5B;i]\n            for j in range(0,m,1):\n                if (i!=j): # excepto diagonal de A\n                    nuevo = nuevo-A&#x5B;i,j]*X&#x5B;j]\n            nuevo = nuevo\/A&#x5B;i,i]\n            xnuevo&#x5B;i] = nuevo\n        diferencia = np.abs(xnuevo-X)\n        errado = np.max(diferencia)\n        print(itera, xnuevo)\n        X = np.copy(xnuevo)\n        itera = itera + 1\n    # Vector en columna\n    X = np.transpose(&#x5B;X])\n    # No converge\n    if (itera&gt;iteramax):\n        X=itera\n    return(X)\n\n\n# INGRESO\nA = np.array(&#x5B;&#x5B;1.5, 0.2, 0.75],\n              &#x5B;0.5, 2.0, 0.05],\n              &#x5B;0.2, 0.1, 1.7 ]],\n             dtype=float)\n\nB = np.array(&#x5B;396.,316.,132.],\n             dtype=float)\ntolera = 1e-4\n\nX = np.array(&#x5B;20.,20.,20.],\n             dtype=float)\n\n# PROCEDIMIENTO\n\n# numero de condicion\nncond = np.linalg.cond(A)\n\nrespuesta = jacobi(A,B,tolera,X)\n\nverifica = np.dot(A,respuesta)\n\n# SALIDA\nprint('numero de condicion:', ncond)\nprint('respuesta con Jacobi')\nprint(respuesta)\nprint('verificando:')\nprint(verifica)\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2022PAOI_T2 Capacidad de alimentos para pacientes internos a) Realice el planteamiento del sistema de ecuaciones que permita determinar la cantidad m\u00e1xima de pacientes de cada grupo que podr\u00edan ser atendidos usando todos los productos disponibles. Una vez planteadas las ecuaciones, se le indica que la capacidad de atenci\u00f3n para emergencia sea fija en K [&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":[46],"tags":[58,54],"class_list":["post-8302","post","type-post","status-publish","format-standard","hentry","category-mn-s1eva30","tag-ejemplos-python","tag-mnumericos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/8302","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=8302"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/8302\/revisions"}],"predecessor-version":[{"id":23836,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/8302\/revisions\/23836"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=8302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=8302"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=8302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}