<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ruta más corta archivos &#187; Ingenieria Industrial Online</title>
	<atom:link href="https://ingenieriaindustrialonline.com/tag/ruta-mas-corta/feed/" rel="self" type="application/rss+xml" />
	<link>https://ingenieriaindustrialonline.com/tag/ruta-mas-corta/</link>
	<description>ingenieriaindustriaonline.com</description>
	<lastBuildDate>Thu, 15 Apr 2021 23:24:21 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/cropped-faVicon-32x32.png</url>
	<title>Ruta más corta archivos &#187; Ingenieria Industrial Online</title>
	<link>https://ingenieriaindustrialonline.com/tag/ruta-mas-corta/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Algoritmo de la ruta más corta</title>
		<link>https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-la-ruta-mas-corta/</link>
					<comments>https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-la-ruta-mas-corta/#respond</comments>
		
		<dc:creator><![CDATA[Bryan Salazar López]]></dc:creator>
		<pubDate>Wed, 12 Jun 2019 19:14:22 +0000</pubDate>
				<category><![CDATA[Investigación de operaciones]]></category>
		<category><![CDATA[Investigación de Operaciones]]></category>
		<category><![CDATA[Ruta más corta]]></category>
		<category><![CDATA[Teoría de redes]]></category>
		<category><![CDATA[WinQSB]]></category>
		<guid isPermaLink="false">http://contentlab.co/ingenieria/?p=1233</guid>

					<description><![CDATA[<p>Ya el nombre de este tipo de algoritmo es bastante sugestivo. El algoritmo de la ruta más corta  consiste, si es necesario decirlo, en una modalidad de problemas de redes, en la cual se debe determinar el plan de rutas que genere la trayectoria con la mínima distancia total, que una un nodo fuente con un nodo destino, sin importar el &#8230;</p>
<p>La entrada <a href="https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-la-ruta-mas-corta/">Algoritmo de la ruta más corta</a> se publicó primero en <a href="https://ingenieriaindustrialonline.com">Ingenieria Industrial Online</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ya el nombre de este tipo de algoritmo es bastante sugestivo. El <strong>algoritmo de la ruta más corta</strong>  consiste, si es necesario decirlo, en una modalidad de <a href="https://ingenieriaindustrialonline.com/investigacion-de-operaciones/teoria-de-redes/"><em><strong>problemas de redes</strong></em></a>, en la cual se debe determinar el plan de rutas que genere la trayectoria con la mínima distancia total, que una un <em>nodo fuente</em> con un <em>nodo destino</em>, sin importar el número de nodos que existan entre estos.</p>

		<div class="box info  alignleft">
			<div class="box-inner-block">
				<span class="fa tie-shortcode-boxicon"></span>Esta modalidad de problemas puede solucionarse como un modelo de transbordo normal, sin embargo la principal sugerencia es la de establecer una oferta en el nodo fuente igual a una unidad (1) y establecer una demanda en el arco destino igual a una unidad (1).
			</div>
		</div>
	
<p>Vale la pena considerar, que en la práctica, es muy frecuente la utilización del algoritmo resultante con variaciones que consisten en la minimización de tiempos, no necesariamente de distancias.</p>
<h2>Algoritmo de la ruta más corta &#8211; Ejemplo</h2>
<h3>El caso</h3>
<blockquote class="aligncenter quote-simple "><p>Un minero ha quedado atrapado en una mina, la entrada a la mina se encuentra ubicada en el nodo 1, se conoce de antemano que el minero permanece atrapado en el nodo 9, para llegar a dicho nodo hay que atravesar una red de túneles que van conectados entre sí. El tiempo de vida que le queda al minero sin recibir auxilio es cada vez menor y se hace indispensable hallar la ruta de acceso al nodo 9 más corta. Las distancias entre nodos de la mina se encuentran en la siguiente gráfica dadas en cientos de metros. Formule un modelo de transbordo y resuelva mediante cualquier paquete de herramientas de investigación operativa que permita establecer la ruta más corta para poder así auxiliar al minero.</p></blockquote>
<p><img decoding="async" class="aligncenter size-full wp-image-2674" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-293.png" alt="" width="662" height="287" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-293.png 662w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-293-300x130.png 300w" sizes="(max-width: 662px) 100vw, 662px" /></p>
<div id="cc-m-6470947513" class="j-module n j-header ">
<h3 id="cc-m-header-6470947513" class=""><em>Variables de decisión</em></h3>
</div>
<div id="cc-m-6470947613" class="j-module n j-text ">
<p>El nombre de las variables en este caso poco importa, dado que de ser escogida para la solución básica eso significa simplemente que será empleada como ruta para ir a rescatar al minero, sin embargo nada tiene de malo el que se le pueda asociar con el envío de unidades desde la entrada de la mina hacia el minero, por ende puede sugerirse este como nombre de las variables. «<em>Cantidad de unidades enviadas desde el nodo i hacia el nodo j».</em></p>
<p><strong>X<sub>12</sub> =</strong> Cantidad de unidades enviadas desde el nodo 1, hacia el nodo 2</p>
<p><strong>X<sub>13</sub> =</strong> Cantidad de unidades enviadas desde el nodo 1, hacia el nodo 3</p>
<p><strong>X<sub>23</sub> =</strong> Cantidad de unidades enviadas desde el nodo 2, hacia el nodo 3</p>
<p><strong>X<sub>24</sub> =</strong> Cantidad de unidades enviadas desde el nodo 2, hacia el nodo 4</p>
<p><strong>X<sub>32</sub> =</strong> Cantidad de unidades enviadas desde el nodo 3, hacia el nodo 2</p>
<p><strong>X<sub>34</sub> =</strong> Cantidad de unidades enviadas desde el nodo 3, hacia el nodo 4</p>
<p><strong>X<sub>35</sub> =</strong> Cantidad de unidades enviadas desde el nodo 3, hacia el nodo 5</p>
<p><strong>X<sub>46</sub> =</strong> Cantidad de unidades enviadas desde el nodo 4, hacia el nodo 6</p>
<p><strong>X<sub>47</sub> =</strong> Cantidad de unidades enviadas desde el nodo 4, hacia el nodo 7</p>
<p><strong>X<sub>54</sub> =</strong> Cantidad de unidades enviadas desde el nodo 5, hacia el nodo 4</p>
<p><strong>X<sub>56</sub> =</strong> Cantidad de unidades enviadas desde el nodo 5, hacia el nodo 6</p>
<p><strong>X<sub>57</sub> =</strong> Cantidad de unidades enviadas desde el nodo 5, hacia el nodo 7</p>
<p><strong>X<sub>58</sub> =</strong> Cantidad de unidades enviadas desde el nodo 5, hacia el nodo 8</p>
<p><strong>X<sub>67</sub> =</strong> Cantidad de unidades enviadas desde el nodo 6, hacia el nodo 7</p>
<p><strong>X<sub>69</sub> =</strong> Cantidad de unidades enviadas desde el nodo 6, hacia el nodo 9</p>
<p><strong>X<sub>76</sub> =</strong> Cantidad de unidades enviadas desde el nodo 7, hacia el nodo 6</p>
<p><strong>X<sub>78</sub> =</strong> Cantidad de unidades enviadas desde el nodo 7, hacia el nodo 8</p>
<p><strong>X<sub>79</sub> =</strong> Cantidad de unidades enviadas desde el nodo 7, hacia el nodo 9</p>
<p><strong>X<sub>87</sub> =</strong> Cantidad de unidades enviadas desde el nodo 8, hacia el nodo 7</p>
<p><strong>X<sub>89</sub> =</strong> Cantidad de unidades enviadas desde el nodo 8, hacia el nodo 9</p>
<h3><em>Restricciones</em></h3>
<div id="cc-m-6470947813" class="j-module n j-text ">
<p style="padding-left: 40px;"><em><strong>Restricciones de Oferta y Demanda</strong></em></p>
<p>Hay que recordar que el objetivo de este modelo es la consecución de un plan de ruta que nos permita encontrar al minero lo más pronto posible al recorrer la distancia mínima posible, por ende la clave para plantear el modelo como si fuese de transbordo es establecer una demanda y oferta igual a la unidad (1).</p>
<p><strong>X<sub>12</sub> + X<sub>13</sub> =</strong> 1</p>
<p><strong>X<sub>69</sub> + X<sub>79</sub> + X<sub>89</sub> =</strong> 1</p>
<p style="padding-left: 40px;"><em><strong>Restricciones de Balance</strong></em></p>
<p><strong>X<sub>12</sub> + X<sub>32</sub> &#8211; X<sub>23</sub> &#8211; X<sub>24</sub> = 0</strong></p>
<p><strong>X<sub>13</sub> + X<sub>23</sub> &#8211; X<sub>32</sub> &#8211; X<sub>34</sub> &#8211; X<sub>3</sub><sub>5</sub> =</strong> 0</p>
<p><strong>X<sub>24</sub> + X<sub>34</sub> + X<sub>54</sub> &#8211; X<sub>46</sub> &#8211; X<sub>47</sub> =</strong> 0</p>
<p><strong>X<sub>35</sub> &#8211; X<sub>54</sub> &#8211; X<sub>56</sub> – X<sub>57</sub> – X<sub>58</sub> =</strong> 0</p>
<p><strong>X<sub>46</sub> + X<sub>56</sub> + X<sub>57</sub> &#8211; X<sub>67</sub> – X<sub>69</sub> =</strong> 0</p>
<p><strong>X<sub>67</sub> + X<sub>47</sub> + X<sub>57</sub> + X<sub>87</sub> – X<sub>76</sub> – X<sub>78</sub> – X<sub>79</sub> =</strong> 0</p>
<p><strong>X<sub>78</sub> + X<sub>58</sub> – X<sub>89</sub> =</strong> 0</p>
<p>En palabras sencillas: «Todo lo que entra a cada nodo es igual a lo que sale de él»</p>
</div>
<h3><em>Función objetivo</em></h3>
<div id="cc-m-6470948013" class="j-module n j-text ">
<p><strong>Z<sub>MIN</sub> = 4X<sub>12</sub> + 2X<sub>13</sub> + 2X<sub>23</sub> + 7X<sub>24</sub> + 4X<sub>32</sub> + 9X<sub>34</sub> + 6X<sub>35</sub> + 1X<sub>46</sub> + 5X<sub>47</sub> + 2X<sub>54</sub> + 4X<sub>56</sub> + 3X<sub>57</sub>+ 2X<sub>58</sub> + 1X<sub>67</sub> + 5X<sub>69</sub> + 4X<sub>76</sub> + 3X<sub>78</sub> + 5X<sub>79</sub> + 2X<sub>87</sub> + 7X<sub>89</sub></strong></p>
</div>
<h3>Ingresando los datos en WinQSB</h3>
<p><img decoding="async" class="aligncenter size-full wp-image-2675" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-294.png" alt="" width="1023" height="234" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-294.png 1023w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-294-300x69.png 300w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-294-768x176.png 768w" sizes="(max-width: 1023px) 100vw, 1023px" /></p>
<div id="cc-m-6470948313" class="j-module n j-header ">
<h3 id="cc-m-header-6470948313" class="">Solución obtenida mediante WinQSB</h3>
</div>
<div id="cc-m-6470948413" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><a rel="lightbox" data-href="https://image.jimcdn.com/app/cms/image/transf/dimension=origxorig:format=jpg/path/s075f076504dfea8d/image/i401a4f149a2639f4/version/1514941035/la-ruta-m%C3%A1s-corta.jpg" data-title="ingenieriaindustrialonline-60e499.ingress-alpha.easywp.com" data-index="0"><img decoding="async" class="aligncenter size-full wp-image-2676" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-295.png" alt="" width="552" height="635" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-295.png 552w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-295-261x300.png 261w" sizes="(max-width: 552px) 100vw, 552px" /></a><figcaption></figcaption></figure>
</div>
<div id="cc-m-6470948613" class="j-module n j-text ">
<p>La ruta más corta para rescatar al minero  tiene como distancia total 1600 metros (dado que las distancias estaban dadas en cientos de metros) y es tal como se muestra en la siguiente gráfica:</p>
<p><img decoding="async" class="aligncenter wp-image-2677 size-full" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-296.png" alt="La ruta más corta - Bryan Salazar López" width="670" height="291" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-296.png 670w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-296-300x130.png 300w" sizes="(max-width: 670px) 100vw, 670px" /></p>
<p>Sin embargo, WinQSB cuenta con una metodología mucho más sencilla de resolución de algoritmos de ruta más corta, metodología que explicaremos más adelante, de todas formas hemos encontrado cómo, aplicando debidamente la razón y un <a href="https://ingenieriaindustrialonline.com/investigacion-de-operaciones/problema-de-transbordo/"><em><strong>algoritmo conocido como el de transbordo</strong></em></a>, podemos solucionar problemas distintos en teoría.</p>

		<div class="clearfix"></div>
		<hr style="margin-top:20px; margin-bottom:20px;" class="divider divider-solid">
	
<h3 id="cc-m-header-5185600813" class="">Solución del algoritmo de la ruta más corta mediante WinQSB</h3>
<p>El módulo del WinQSB que permite la resolución del <strong>algoritmo de la ruta más corta</strong> es el <em>Network Modeling</em>, el cual utiliza una interfaz muy sencilla en forma de matriz en la cual hay que ingresar el valor de los ramales (dependiendo del contexto este valor puede representar distancias, tiempo, costos etc.) correspondiente a cada relación de un nodo con otro.</p>
<p><em><strong>Paso a paso</strong></em></p>
<p>Primero se debe ingresar al módulo Network Modeling del paquete WinQSB, una vez nos encontremos en este aparecerá el menú que se muestra en la siguiente gráfica, menú en el cual tendremos que seleccionar la opción <span class="tie-highlight tie-highlight-green"><strong><em>Shortest Path Problem </em>(Problema de la ruta más corta)<em>.</em></strong></span>
<div id="cc-m-5185811713" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2678" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-297.png" alt="" width="626" height="460" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-297.png 626w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-297-300x220.png 300w" sizes="(max-width: 626px) 100vw, 626px" /><figcaption></figcaption></figure>
</div>
<div id="cc-m-5185812813" class="j-module n j-text ">
<p>Además en este menú emergente debemos de ingresar la cantidad de nodos que conforman la red del problema y tenemos la posibilidad de asignarle un nombre al mismo, en nuestro caso la cantidad de nodos de la red es igual a 9; clic en OK y aparecerá la siguiente ventana.</p>
</div>
<div id="cc-m-5185833013" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2679" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-298.png" alt="" width="662" height="330" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-298.png 662w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-298-300x150.png 300w" sizes="(max-width: 662px) 100vw, 662px" /><figcaption></figcaption></figure>
</div>
<div id="cc-m-5185835713" class="j-module n j-text ">
<p>En esta ventana se debe ingresar la magnitud de cada ramal correspondiente a cada relación entre los nodos, tal como veremos a continuación.</p>
</div>
<div id="cc-m-5185848613" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2680" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-299.png" alt="" width="660" height="324" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-299.png 660w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-299-300x147.png 300w" sizes="(max-width: 660px) 100vw, 660px" /><figcaption></figcaption></figure>
</div>
<div id="cc-m-5185855113" class="j-module n j-text ">
<p>Damos clic en <em>Solve and Analize</em> y tendremos un menú emergente en el cual tendremos que seleccionar el nodo fuente y el nodo destino, tal como se muestra en la siguiente gráfica.</p>
</div>
<div id="cc-m-5185869413" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><a rel="lightbox" data-href="https://image.jimcdn.com/app/cms/image/transf/dimension=origxorig:format=jpg/path/s075f076504dfea8d/image/i822f908d88f41cb6/version/1416592109/image.jpg" data-title="ingenieriaindustrialonline-60e499.ingress-alpha.easywp.com" data-index="0"><img decoding="async" class="aligncenter size-full wp-image-2681" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-300.png" alt="" width="429" height="350" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-300.png 429w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-300-300x245.png 300w" sizes="(max-width: 429px) 100vw, 429px" /></a><figcaption></figcaption></figure>
</div>
<div id="cc-m-5185872113" class="j-module n j-text ">
<p>Una vez efectuada la selección tendremos la opción de ver el tabulado final y la opción de ver un paso a paso gráfico; para el tabulado final click en <strong><em>SOLVE</em></strong> y para el paso a paso clic en <em><strong>SOLVE AND DISPLAY STEPS</strong></em>.</p>
</div>
<div id="cc-m-5185899013" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><a rel="lightbox" data-href="https://image.jimcdn.com/app/cms/image/transf/dimension=origxorig:format=jpg/path/s075f076504dfea8d/image/i17c2f4efb246e1b8/version/1416592119/image.jpg" data-title="ingenieriaindustrialonline-60e499.ingress-alpha.easywp.com" data-index="0"><img decoding="async" class="aligncenter size-full wp-image-2682" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-301.png" alt="" width="625" height="510" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-301.png 625w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-301-300x245.png 300w" sizes="(max-width: 625px) 100vw, 625px" /></a></figure>
<p>Podemos cotejar la solución que obtuvimos al plantear este problema como un modelo de transbordo con esta solución. La eficiencia se encuentra determinada en escoger la herramienta adecuada para resolver el problema planteado.</p>
<hr />
<p><span>Le recomendamos revisar: <a href="https://ingenieriaindustrialonline.com/investigacion-de-operaciones/problema-de-la-ruta-mas-corta-en-google-or-tools/"><em><strong>Problema de la ruta más corta en Google OR-Tools</strong></em></a></span><em>. </em><span>Descubre esta poderosa herramienta de modelamiento y solución de problemas de optimización.</span></p>
</div>
</div>
</div>
<p>La entrada <a href="https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-la-ruta-mas-corta/">Algoritmo de la ruta más corta</a> se publicó primero en <a href="https://ingenieriaindustrialonline.com">Ingenieria Industrial Online</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-la-ruta-mas-corta/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Algoritmo de Dijkstra</title>
		<link>https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-dijkstra/</link>
					<comments>https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-dijkstra/#comments</comments>
		
		<dc:creator><![CDATA[Bryan Salazar López]]></dc:creator>
		<pubDate>Wed, 12 Jun 2019 18:46:46 +0000</pubDate>
				<category><![CDATA[Investigación de operaciones]]></category>
		<category><![CDATA[Algoritmo de Dijkstra]]></category>
		<category><![CDATA[Ruta más corta]]></category>
		<category><![CDATA[Teoría de redes]]></category>
		<guid isPermaLink="false">http://contentlab.co/ingenieria/?p=1230</guid>

					<description><![CDATA[<p>El Algortimo de Dijkstra, también denominado Algoritmo de caminos mínimos, es un modelo que se clasifica dentro de los algoritmos de búsqueda. Su objetivo, es determinar la ruta más corta, desde el nodo origen, hasta cualquier nodo de la red. Su metodología se basa en iteraciones, de manera tal que en la práctica, su desarrollo se dificulta a &#8230;</p>
<p>La entrada <a href="https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-dijkstra/">Algoritmo de Dijkstra</a> se publicó primero en <a href="https://ingenieriaindustrialonline.com">Ingenieria Industrial Online</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>El <em><strong>Algortimo de Dijkstra</strong></em>, también denominado <em><strong>Algoritmo de caminos mínimos</strong></em>, es un modelo que se clasifica dentro de los algoritmos de búsqueda. Su objetivo, es determinar la ruta más corta, desde el nodo origen, hasta cualquier nodo de la red. Su metodología se basa en iteraciones, de manera tal que en la práctica, su desarrollo se dificulta a medida que el tamaño de la red aumenta, dejándolo en clara desventaja, frente a métodos de optimización basados en programación matemática.</p>
<h2>¿Qué tipos de redes pueden resolverse por medio del Algortimo de Dijkstra?</h2>
<p>Este algoritmo, al igual que el método de Floyd, tienen la capacidad de resolver el problema de la ruta más corta, tanto para redes cíclicas, como para redes acíclicas. De manera tal que los bucles que presente una red, no restringen el uso del algoritmo.</p>
<p>El algoritmo de Dijkstra hace uso y define etiquetas a partir del nodo origen y para cada uno de los nodos subsiguientes. Estas etiquetas contienen información relacionada con un <strong><em>valor acumulado</em></strong> del tamaño de los arcos y con la <strong><em>procedencia más próxima de la ruta</em></strong>.</p>
<p>Las etiquetas corresponden a los nodos, no a los arcos. En el algortimo de Dijkstra, estas etiquetas son temporales y permanentes. Las etiquetas temporales son aquellas que son susceptibles de modificarse mientras exista la posibilidad de hallar para sí, una ruta más corta; de lo contrario, dicha etiqueta pasa a ser permanente.</p>
<p style="text-align: center;"><strong>Etiqueta</strong> = [acumulado, nodo procedente] <em>iteración</em></p>

		<div class="clearfix"></div>
		<hr style="margin-top:20px; margin-bottom:20px;" class="divider divider-solid">
	
<h2>Algoritmo de Dijkstra &#8211; Ejemplo</h2>
<div id="cc-m-6487087313" class="j-module n j-text ">
<p>Teniendo en cuenta la siguiente red, que tiene como origen el nodo 1:</p>
</div>
<div id="cc-m-6487087713" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2684" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-302.png" alt="" width="623" height="286" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-302.png 623w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-302-300x138.png 300w" sizes="(max-width: 623px) 100vw, 623px" /></figure>
<div class="cc-clear"></div>
</div>
<div id="cc-m-6487088613" class="j-module n j-text ">
<p>Procedemos con las iteraciones, partimos de la <em><strong>iteración 0</strong></em>, es decir, asignar la etiqueta para el nodo origen:</p>
</div>
<div id="cc-m-6487089313" class="j-module n j-text ">
<p><em><strong>Iteración 0</strong></em></p>
<p>En este paso, asignamos una etiqueta permanente para el nodo origen. Recordemos que la etiqueta se compone por un valor acumulado, que en este caso debe ser 0, ya que es el punto base y que no existe procedencia:</p>
<p style="text-align: center;">Etiqueta nodo 1 = [valor acumulado, procedencia] <em>iteración</em></p>
<p style="text-align: center;">Etiqueta nodo 1 = [0, -] <em>0</em></p>
<p><em><strong>Iteración 1</strong></em></p>
<p>En este paso, evaluamos a cuáles nodos se puede llegar desde el nodo 1. En este caso se puede llegar a los nodos 2 y 3. De manera que debemos asignar las etiquetas para cada nodo:</p>
<p style="text-align: center;">Etiqueta nodo 2 = [valor acumulado, procedencia] <em>iteración</em></p>
<p style="text-align: center;">Etiqueta nodo 2 = [<strong>0</strong> + <strong>100</strong>, 1] <strong><i>1</i></strong></p>
<p><i><strong>0</strong> es el valor acumulado en la etiqueta del nodo de procedencia, en este caso el valor acumulado para el nodo 1. <strong>100</strong> es el valor del arco que une el nodo procedencia (1) y el nodo destino (2). <strong>1</strong> es el número de la iteración.</i></p>
<p style="text-align: center;">Etiqueta nodo 3 = [valor acumulado, procedencia] <em>iteración</em></p>
<p style="text-align: center;">Etiqueta nodo 3 = [0 + 30, 1] <i>1</i></p>
<p>En este caso, podemos observar que la etiqueta del nodo 3, ya contiene el menor valor acumulado posible para llegar a este. Ya que 30 es la mínima distancia posible, toda vez que para llegar al nodo 3 por medio del nodo 2, tendrá que recorrer como mínimo el valor absoluto del arco que une el origen con el nodo 2 = 100. Así entonces, <strong>la etiqueta del nodo 3 pasa a ser permanente</strong>.</p>
</div>
<div id="cc-m-6487091013" class="j-module n j-text ">
<p><em>Tabulamos la iteración 1:</em></p>
</div>
<div id="cc-m-6487127713" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2686" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-303.png" alt="" width="473" height="93" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-303.png 473w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-303-300x59.png 300w" sizes="(max-width: 473px) 100vw, 473px" /></figure>
<div class="cc-clear"></div>
</div>
<div id="cc-m-6487131313" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2687" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-304.png" alt="" width="607" height="341" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-304.png 607w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-304-300x169.png 300w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-304-390x220.png 390w" sizes="(max-width: 607px) 100vw, 607px" /></figure>
<div class="cc-clear"></div>
</div>
<div id="cc-m-6487131413" class="j-module n j-text ">
<p><em><strong>Iteración 2:</strong></em></p>
<p>En este paso, evaluamos las posibles salidas desde el nodo 3, es decir los nodos 4 y 5. De manera que debemos asignar las etiquetas para cada nodo:</p>
<p style="text-align: center;">Etiqueta nodo 4 = [valor acumulado, procedencia] <em>iteración</em></p>
<p style="text-align: center;">Etiqueta nodo 4 = [30 + 10, 3] <i>2</i></p>
<p style="text-align: center;">Etiqueta nodo 4 = [40, 3] <i>2</i></p>
<p><i><span class="tie-highlight tie-highlight-green"><strong>30 es el valor acumulado en la etiqueta del nodo de procedencia, en este caso el valor acumulado para el nodo 3. 10 es el valor del arco que une el nodo procedencia (3) y el nodo destino (4). 2 es el número de la iteración.</strong></span></i></p>
<p style="text-align: center;">Etiqueta nodo 5 = [valor acumulado, procedencia] <em>iteración</em></p>
<p style="text-align: center;">Etiqueta nodo 5 = [30 + 60, 3] <i>2</i></p>
<p style="text-align: center;">Etiqueta nodo 4 = [90, 3] <i>2</i></p>
<p><i><span class="tie-highlight tie-highlight-green"><strong>30 es el valor acumulado en la etiqueta del nodo de procedencia, en este caso el valor acumulado para el nodo 3. 60 es el valor del arco que une el nodo procedencia (3) y el nodo destino (5). 2 es el número de la iteración.</strong></span></i></p>
<div id="cc-m-6487131413" class="j-module n j-text ">
<p>En este caso, podemos observar que la etiqueta del nodo 4, contiene el menor valor acumulado posible para llegar a este. Así entonces, la etiqueta del nodo 4 pasa a ser permanente.</p>
<p><em>Tabulamos la iteración 2:</em></p>
</div>
<div id="cc-m-6487141213" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2688" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-305.png" alt="" width="485" height="139" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-305.png 485w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-305-300x86.png 300w" sizes="(max-width: 485px) 100vw, 485px" /></figure>
<div class="cc-clear"></div>
</div>
<div id="cc-m-6487143513" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2689" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-306.png" alt="" width="609" height="341" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-306.png 609w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-306-300x168.png 300w" sizes="(max-width: 609px) 100vw, 609px" /></figure>
<div class="cc-clear"></div>
</div>
<div id="cc-m-6487311113" class="j-module n j-text ">
<p><em><strong>Iteración 3:</strong></em></p>
<p>En este paso, evaluamos las posibles salidas desde el nodo 4, es decir los nodos 2 y 5. De manera que debemos asignar las etiquetas para cada nodo:</p>
<p style="text-align: center;">Etiqueta nodo 2 = [valor acumulado, procedencia] <em>iteración</em></p>
<p style="text-align: center;">Etiqueta nodo 2 = [40 + 15, 4] <i>3</i></p>
<p style="text-align: center;">Etiqueta nodo 2 = [55, 4] <i>3</i></p>
<p><i><span class="tie-highlight tie-highlight-green"><strong>40 es el valor acumulado en la etiqueta del nodo de procedencia, en este caso el valor acumulado para el nodo 4. 15 es el valor del arco que une el nodo procedencia (4) y el nodo destino (2). 3 es el número de la iteración.</strong></span></i></p>
<p style="text-align: center;">Etiqueta nodo 5 = [valor acumulado, procedencia] <em>iteración</em></p>
<p style="text-align: center;">Etiqueta nodo 5 = [40 + 50, 4] <i>3</i></p>
<p style="text-align: center;">Etiqueta nodo 5 = [90, 4] <i>3</i></p>
<p><i><span class="tie-highlight tie-highlight-green"><strong>40 es el valor acumulado en la etiqueta del nodo de procedencia, en este caso el valor acumulado para el nodo 3. 50 es el valor del arco que une el nodo procedencia (4) y el nodo destino (5). 3 es el número de la iteración.</strong></span></i></p>
<div id="cc-m-6487143813" class="j-module n j-text ">
<p>En este caso, podemos observar que el nodo 2 ahora cuenta con 2 etiquetas temporales, y definitivas, ya que no existe otra ruta hacia dicho nodo. De manera que se elige la etiqueta que tenga el menor valor acumulado. Así entonces, la etiqueta del nodo 2 con procedencia del nodo 4, pasa a ser permanente.</p>
<p><em>Tabulamos la iteración 3:</em></p>
</div>
<div id="cc-m-6487164213" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2690" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-307.png" alt="" width="475" height="154" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-307.png 475w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-307-300x97.png 300w" sizes="(max-width: 475px) 100vw, 475px" /></figure>
<div class="cc-clear"></div>
</div>
<div id="cc-m-6487164313" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-3"><img decoding="async" class="aligncenter size-full wp-image-2691" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-308.png" alt="" width="608" height="390" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-308.png 608w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-308-300x192.png 300w" sizes="(max-width: 608px) 100vw, 608px" /></figure>
<div class="cc-clear"></div>
</div>
<div id="cc-m-6487164513" class="j-module n j-text ">
<p><strong><em>Iteración 4:</em></strong></p>
<p>En este paso, evaluamos las posibles salidas desde el nodo 2 y el nodo 5. Sin embargo, el nodo 2 solo tiene un posible destino, el nodo 3, el cual ya tiene una etiqueta permanente, de manera que no puede ser reetiquetado. Ahora, evaluamos el nodo 5 y es un nodo que no tiene destinos. Así entonces, su etiqueta temporal pasa a ser permanente, en este caso cuenta con 2 etiquetas que tienen el mismo valor, es decir, alternativas óptimas. De esta manera concluye el <em><strong>algortimo de Dijkstra</strong></em>.</p>
</div>
<div id="cc-m-6487171113" class="j-module n j-imageSubtitle ">
<figure class="cc-imagewrapper cc-m-image-align-1"><img decoding="async" class="aligncenter size-full wp-image-2692" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-309.png" alt="" width="608" height="391" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-309.png 608w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-309-300x193.png 300w" sizes="(max-width: 608px) 100vw, 608px" /></figure>
<blockquote class="aligncenter quote-simple "><p><em><strong>¿Cuál es la ruta más corta?</strong></em> La ruta más corta entre el nodo 1 (origen) y cualquier otro nodo de la red (destino), se determina partiendo desde el nodo destino y recorriendo las procedencias de sus etiquetas. Por ejemplo:</p></blockquote>
<p><em><strong>¿Cuál es la ruta más corta entre el nodo 1 y el nodo 4?</strong></em></p>
<p>En este caso, debemos partir desde la etiqueta del nodo 4.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-2693" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-310.png" alt="" width="324" height="94" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-310.png 324w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-310-300x87.png 300w" sizes="(max-width: 324px) 100vw, 324px" /></p>
<p><img decoding="async" class="aligncenter size-full wp-image-2694" src="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-311.png" alt="Algoritmo de Dijkstra - Bryan Salazar López" width="632" height="329" srcset="https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-311.png 632w, https://ingenieriaindustrialonline.com/wp-content/uploads/2019/06/Sin-título-311-300x156.png 300w" sizes="(max-width: 632px) 100vw, 632px" /></p>
<p><em>La ruta más corta entre el nodo 1 y el nodo 4 tiene un valor acumulado de: 40</em></p>
<p>Es necesario considerar, que los valores utilizados en los arcos de la red objeto de estudio del algoritmo de Dijkstra, no necesariamente representan distancias. Si bien, es un modelo que aborda el denominado «problema de la ruta más corta»; en la práctica, puede utilizarse para optimizar: <strong><em>distancia, costos, tiempo</em></strong>.</p>
<p>De hecho, los sistemas de ruteo utilizados en la actualidad, priorizan los costos y el tiempo como variable decisión de los modelos de optimización.</p>
</div>
</div>
</div>
<p>La entrada <a href="https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-dijkstra/">Algoritmo de Dijkstra</a> se publicó primero en <a href="https://ingenieriaindustrialonline.com">Ingenieria Industrial Online</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ingenieriaindustrialonline.com/investigacion-de-operaciones/algoritmo-de-dijkstra/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
