# data[].attributes.attachment_link.title
El consejo matemático del día del maestro Jiménez es el siguiente

# data[].attributes.body
El problema de transporte maneja la distribución de bienes desde varios puntos de oferta (orígenes o fuentes) hasta varios puntos de demanda (destinos).
Los modelos de transporte sirven también cuando una empresa intenta decidir dónde localizar una nueva instalación.

# data[].attributes.attachment_caption
Vogel, solución inicial de un modelo de transporte.Ejemplo 

# data[].attributes.body
Representación en red de un problema de transporte con costos, demandas y ofertas.

Nota:  El número de variables y restricciones para un problema de transporte típico se determina por el número de fuentes y destinos

# data[].attributes.attachment_link.title
Vogel, solución inicial de un modelo de transporte.Ejemplo 1.

# data[].attributes.body
Un problema de asignación es equivalente a un problema de transporte, donde cada oferta y cada demanda son iguales a 1.
El problema de asignación se refiere a la clase de problemas de programación lineal que implica determinar la asignación más eficiente de individuos a proyectos, vendedores a territorios, auditores a compañías para auditarlas, contratos a licitadores, trabajos a máquinas, equipo pesado (como grúas) a labores de construcción, etcétera.
El objetivo es casi siempre minimizar el costo total o el tiempo total para realizar las tareas. Una característica importante de los problemas de asignación es que tan solo un trabajo o empleado se asigna a una máquina o un proyecto

# data[].attributes.body
Las variables especiales 0-1 se utilizan en el modelo de asignación.
En el problema de asignación, se requiere que las variables tomen el valor 0 o 1. Por la estructura especial de este problema con coeficientes de las restricciones como 0 o 1, y todos los lados derechos iguales a 1, el problema se resuelve con programación lineal. La solución a este tipo de problemas (si existe una) siempre tendrá variables iguales a 0 o 1.

# data[].attributes.attachment_link.title
Modelos de Redes 03 El Problema de Asignación

# data[].attributes.body
En un problema de transporte, si los artículos deben pasar por un punto intermedio (llamado punto de trasbordo) antes de llegar al destino final, se trata de un problema de trasbordo.
Las restricciones especiales de trasbordo forman parte del problema con programación lineal.

# data[].attributes.body
Las variables de decisión deberían representar el número de unidades enviadas desde cada fuente hasta cada punto de trasbordo, y el número de unidades enviadas de cada punto de trasbordo a cada destino final, ya que son las decisiones que deben tomar los gerentes.

# data[].attributes.body
El algoritmo de transporte es un procedimiento iterativo donde se encuentra y evalúa una solución a un problema de transporte, mediante un procedimiento especial para determinar si la solución es óptima. Si lo es, el proceso se detiene. Si no es óptima, se genera una nueva solución. Esta nueva solución es al menos tan buena como la anterior y suele ser mejor. Esta nueva solución se evalúa y si no es óptima, se genera otra solución. El proceso continúa hasta que se encuentra la solución óptima.

# data[].attributes.body
La demanda y la oferta balanceadas ocurren cuando la demanda
total es igual a la oferta total.
Se llega a una solución factible cuando se cumplen todas las restricciones de demanda y de oferta.

# data[].attributes.attachment_link.title
ALGORITMO DE TRANSPORTE OFERTA MAYOR A DEMANDA

# data[].attributes.body
El método del salto de piedra en piedra es una técnica iterativa para movernos de una solución factible inicial a una solución factible óptima.
Este proceso tiene dos partes distintas: La primera se trata de probar la solución actual para determinar si es posible mejorarla, y la segunda implica hacer cambios a la solución actual con la finalidad de obtener una solución mejorada.
Para aplicar el método del salto de piedra en piedra a un problema de transporte, debe observarse primero una regla sobre el número de rutas de embarque: El número de rutas (o cuadros) ocupada(o)s siempre debe ser igual a la suma del número de renglones más el número de columnas menos uno.

# data[].attributes.body
El método del salto de piedra en piedra implica probar cada ruta que no se usa para saber si el envío de una unidad por esa ruta aumentaría o disminuiría el costo total.
¿Cómo funciona el método del salto de piedra en piedra? Su enfoque consiste en evaluar la efectividad de costos de los bienes enviados por las rutas de transporte que no están en la solución.

# data[].attributes.attachment_link.title
Método de cruce de arroyo o piedra en piedra, solución óptima de un modelo de tranporte. Ejemplo 1.

# data[].attributes.headline
Esta prueba de cada cuadro no usado se realiza mediante los cinco pasos siguientes:

# data[].attributes.subject
Esta prueba de cada cuadro no usado se realiza mediante los cinco pasos siguientes:

# data[].attributes.body
Resumen de los pasos del algoritmo de transporte (minimización)
1. Establecer una tabla de transporte balanceada.
2. Desarrollar una solución inicial con el método de la esquina noroeste.
3. Calcular un índice de mejora para cada celda vacía con el método del salto de piedra en piedra. Si los índices de mejora son todos no negativos, hay que detenerse; se encontró la solución óptima. Si hay algún índice negativo, se debe continuar al paso 4.
4. Seleccionar la celda con el índice de mejora que indique la mayor disminución en el costo. Llenar este cuadro con la trayectoria del salto de piedra en piedra e ir al paso 3.

# data[].attributes.headline
5. Situaciones especiales con el algoritmo de transporte

# data[].attributes.subject
5. Situaciones especiales con el algoritmo de transporte

# data[].attributes.body
Cuando se aplica el algoritmo de transporte, quizá surjan algunas situaciones especiales, que incluyen problemas desbalanceados, soluciones degeneradas, soluciones óptimas múltiples y rutas inaceptables. Este algoritmo se puede modificar para maximizar la utilidad total, en vez de minimizar el costo total. Todas estas situaciones se estudiarán y se presentarán otras modificaciones del algoritmo de transporte
Se usan fuentes o destinos ficticios o artificiales para balancear los problemas donde la demanda no sea igual a la oferta.

# data[].attributes.body
Una situación que ocurre con frecuencia en los problemas de la vida real es el caso en que la demanda total no es igual a la oferta total. Estos problemas desbalanceados se manejan con facilidad con los procedimientos de solución anteriores, si primero introducimos las fuentes ficticias o los destinos ficticios. En el caso de que la oferta total sea mayor que la demanda total, se crea un destino (almacén) ficticio con demanda exactamente igual que el excedente. Si la demanda total es mayor que la oferta total, se introduce una fuente (fábrica) ficticia con una oferta igual al exceso de demanda sobre la oferta. En cualquier caso, se asignan coeficientes de costo de envío iguales a cero a cada sitio o ruta ficticia, ya que en realidad no se harán envíos desde una fábrica ficticia o a un almacén ficticio. Cualesquiera unidades asignadas a un destino ficticio representan exceso de capacidad y las unidades asignadas a una fuente ficticia representan demanda no satisfecha.

# data[].attributes.headline
5.2 Degeneración en los problemas de transporte

# data[].attributes.subject
5.2 Degeneración en los problemas de transporte

# data[].attributes.body
Mencionamos brevemente el tema de la degeneración antes en este capítulo. Ocurre cuando el número de cuadros ocupados o rutas asignadas en una tabla de solución de transporte es menor que el número de filas más el número de columnas menos 1. Esta situación puede surgir en la solución inicial o en cualquier solución subsecuente.

# data[].attributes.body
Más de una solución óptima. Al igual que en los problemas de PL, es posible que un problema de transporte tenga soluciones óptimas múltiples. Una situación de estas se indica cuando uno o más índices de mejora calculados para cada cuadro sin usar es cero en la solución óptima, lo cual significa que es posible diseñar otras rutas de embarque con el mismo costo total de envío. La solución óptima alterna se determina enviando la mayoría de este cuadro sin usar con el método del salto de piedra en piedra. Hablando en términos prácticos, las soluciones óptimas múltiples brindan a la gerencia mayor flexibilidad en la selección y uso de los recursos.

Maximización en problemas de transporte. Si en un problema de transporte el objetivo es maximizar la utilidad, se requiere un cambio menor en el algoritmo de transporte. Como el índice de mejora para una celda vacía indica el cambio en el valor de la función objetivo, si se coloca una unidad en esa celda vacía, la solución óptima se logra cuando todos los índices de mejora son negativos o cero. Si algún índice es positivo, se selecciona la celda con la mejora positiva más grande para usarse con el método del salto de piedra en piedra. La nueva solución se evalúa y el proceso continúa hasta que no haya índices de mejora positivos.

Rutas prohibidas o inaceptables. Existen problemas de transporte donde una de las fuentes no puede enviar a uno o más destinos. Cuando esto ocurre, se dice que el problema tiene rutas prohibidas o inaceptables. En un problema de minimización, se asigna a una ruta prohibida un costo muy alto, para evitar que se use en la solución óptima. Este costo se coloca luego en la tabla de transporte y se resuelve el problema con las técnicas ya presentadas. En un problema de maximización, el costo muy alto usado en los problemas de minimización tendrá un signo negativo, que lo convierte en una muy mala utilidad.

Otros métodos de transporte. Mientras que el método de la esquina noroeste es muy sencillo, hay otros métodos para encontrar una solución inicial a un problema de transporte. Dos de ellos son el método del menor costo y el método de aproximación de Vogel. De manera similar, el método del salto de piedra en piedra sirve para evaluar las celdas vacías, pero existe otra técnica llamada método de distribución modificada (MODI), que puede evaluar celdas vacías. Para problemas muy grandes, el método MODI suele ser mucho más rápido que el del salto de piedra en piedra.

# data[].attributes.headline
6. Análisis de localización de instalaciones

# data[].attributes.subject
6. Análisis de localización de instalaciones

# data[].attributes.body
La localización de una nueva instalación dentro de un sistema de distribución general es auxiliada por el método de transporte.
El método de transporte ha probado ser útil en especial para ayudar a una empresa a decidir dónde ubicar una nueva fábrica o un nuevo almacén. Como una nueva localización es un aspecto de gran importancia financiera para una compañía, deben considerarse y evaluarse varios sitios alternativos

# data[].attributes.headline
Ejemplo Análisis de localización de instalaciones

# data[].attributes.subject
Ejemplo Análisis de localización de instalaciones

# data[].attributes.body
Resolvemos los dos problemas de transporte para encontrar la nueva planta con el menor costo del sistema

# data[].attributes.body
El segundo algoritmo de PL con fines específicos que se estudia en este capítulo es el método de asignación. Cada problema de asignación está asociado con una tabla o matriz. En general, los renglones contienen los objetos o las personas que deseamos asignar, en tanto que las columnas comprenden las tareas o cosas que queremos asignar a esos objetos o personas.
Una manera de resolver problemas (pequeños) es enumerar todos los resultados posibles

# data[].attributes.body
El método húngaro de asignación brinda un medio eficiente para encontrar la solución óptima sin tener que hacer una comparación directa de todas las opciones. Funciona sobre el principio de reducción de matrices, que significa que restando y sumando los números adecuados en la tabla o matriz de costos, podemos reducir el problema a una matriz de costos de oportunidad. Los costos de oportunidad muestran la penalización relativa asociada con asignar a cualquier persona a un proyecto, en comparación con hacer la mejor asignación o la de menor costo. Nos gustaría hacer asignaciones cuyo costo de oportunidad para cada asignación sea cero. El método húngaro indica cuándo es posible hacer tales asignaciones.

# data[].attributes.body
1. Encontrar la tabla del costo de oportunidad. Como ya se mencionó, el costo de oportunidad de cualquier decisión que tomemos en la vida consiste en las oportunidades que se sacrifican al tomar esa decisión.   Los costos de oportunidad de fila y columna reflejan el costo que sacrificamos al no hacer la selección del menor costo.   Los costos de oportunidad totales reflejan el análisis del costo de oportunidad por fila y columna.

2.  Prueba para una asignación óptima. El objetivo para el dueño de Fix-It Shop es asignar a los tres trabajadores a los proyectos de reparación, de manera que el costo total de mano de obra se mantenga en un mínimo. Cuando se traduce a efectuar asignaciones usando la tabla del costo de oportunidad total, ello significa que nos gustaría tener un costo de oportunidad asignado total de cero. En otros términos, una solución óptima tiene costos de oportunidad de cero para todas las asignaciones.  Cuando se encuentra un costo de oportunidad de cero para todas las asignaciones, se puede hacer una asignación óptima.  Esta prueba de línea se usa para saber si una solución es óptima.

3.  Revisar la tabla del costo de oportunidad. Rara vez se obtiene una solución óptima de la tabla del costo de oportunidad inicial. Con frecuencia debe revisarse la tabla, para cambiar uno (o más) de los ceros de su lugar actual (cubierto por líneas) a un nuevo sitio sin cubrir en la tabla. De forma intuitiva, queremos que este lugar sin cubrir surja con un nuevo costo de oportunidad de cero.

# data[].attributes.body
Hacer una asignación óptima implica verificar primero las filas y columnas que tengan tan solo una celda con cero.

# data[].attributes.headline
8. Situaciones especiales con el algoritmo de asignación

# data[].attributes.subject
8. Situaciones especiales con el algoritmo de asignación

# data[].attributes.body
Hay dos situaciones especiales que requieren procedimientos especiales cuando usemos el algoritmo húngaro para problemas de asignación. La primera incluye problemas no balanceados; y la segunda, resolver un problema de maximización en vez de minimización.

# data[].attributes.headline
8.1 Problemas de asignación no balanceados

# data[].attributes.subject
8.1 Problemas de asignación no balanceados

# data[].attributes.body
En un problema de asignación balanceado, el número de filas es igual al número de columnas .
El procedimiento de solución de los problemas de asignación que se acaba de describir requiere que el número de filas en la tabla sea igual al número de columnas. Este tipo de problema se llama problema de asignación balanceado.
No obstante, con frecuencia el número de individuos u objetos que deben asignarse no es igual al número de tareas, clientes o máquinas listadas en las columnas, y el problema se considera no balanceado. Cuando esto ocurre y tenemos más filas que columnas, simplemente agregamos una columna o una tarea ficticia (igual que como manejamos los problemas de transporte no balanceados antes en este capítulo). Si el número de tareas que deben realizarse excede el número de personas disponibles, agregamos una fila ficticia. Esto crea una tabla de dimensiones iguales y nos permite resolver el problema como antes. Como la tarea o la persona ficticia en realidad no existen, es razonable ingresar ceros en su columna o fila, como el costo o tiempo estimados.

# data[].attributes.headline
8.2 Problemas de asignación de maximización

# data[].attributes.subject
8.2 Problemas de asignación de maximización

# data[].attributes.body
Es muy sencillo convertir los problemas de maximización en problemas de minimización. Esto se hace restando cada clasificación de la mayor clasificación en la tabla.
Algunos problemas de asignación están establecidos en términos de maximización del pago, la utilidad o la efectividad de una asignación, en vez de minimización de costos. Es sencillo obtener un problema de minimización equivalente si convertimos todos los números de la tabla en costos de oportunidad. Esto se logra restando cada número de la tabla de pagos original del número mayor que hay en la tabla. Los elementos transformados representan costos de oportunidad; resulta que al maximizar dichos costos de oportunidad se produce la misma asignación que el problema de maximización original. Una vez calculada la asignación óptima para este problema transformado, la ganancia o la utilidad total se encuentran sumando los pagos originales de las celdas que están en la asignación óptima.

# data[].attributes.body
Primero convertimos la tabla de eficiencia para maximizar en una tabla del costo de oportunidad para minimizar, lo cual se logra restando cada puntuación de 100, la más alta en toda la tabla. Los costos de oportunidad que se obtienen están dados en la tabla 9.31.

Ahora seguimos los pasos 1 y 2 del algoritmo de asignación. El número más pequeño en cada fila se resta de todos los números en esa fila (véase la tabla 9.32); luego, el número menor en cada columna se resta de cada número en esa columna (como se indica en la tabla 9.33).   El número mínimo de líneas necesario para cubrir todos los ceros en esta tabla del costo total de oportunidad es cuatro. Entonces, ya se puede hacer una asignación óptima. Para este momento, debería poder descubrir la mejor solución; a saber, el barco 1 al sector D, el barco 2 al sector C, el barco 3 al sector B y el barco 4 al sector A.