Problema de la asignación

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

El problema del asignación es encontrar un emparejamiento de peso máximo en un grafo bipartido ponderado. Es uno de los problemas fundamentales de optimización combinatoria de la rama de optimización o investigación operativa en matemática.

Una descripción apropiada de lo que trata de lograr el modelo de asignación es:

“La mejor persona para el trabajo”

El problema de asignación tiene que ver con la designación de tareas a empleados, de territorios a vendedores, de contratos a postores o de trabajos a plantas, etc. En otras palabras, a la disposición de algunos recursos(máquinas o personas) para la realización de ciertos productos a 'costo mínimo.

Una definición más formal pudiera ser:

Problema de Asignación: Caso particular del problema de Transporte donde los asignados son recursos destinados a la realización de tareas, los asignados pueden ser personas, máquinas, vehículos, plantas o períodos de tiempo. En estos problemas la oferta en cada origen es de valor 1 y la demanda en cada destino es también de valor 1.

Índice

Historia[editar]

El problema de asignación tuvo su origen en la revolución industrial, ya que el surgimiento de las máquinas hizo que fuera necesario asignar una tarea a un trabajador.

Thomas Jefferson en 1792 lo sugirió para asignar un representante a cada estado, pero formalmente aparece este problema en 1941, cuando F.L. Hitchcook publica una solución analítica del problema, pero no es hasta 1955 cuando Harold W. Kuhn plantea el Método húngaro, que fue posteriormente revisado por James Munkres en 1957; dicho método está basado fundamentalmente en los primeros trabajos de otros dos matemáticos húngaros: Dénes Köning y Jenö Egervary.

Hoy en día en pleno apogeo de la globalización este problema surge cada vez con mayor frecuencia el uso de este problema de la rama de la investigación de operaciones, podemos decir que es la aplicación del método científico para asignar los recursos o actividades de forma eficaz, en la gestión y organización de sistemas complejos, su objetivo es ayudar a la toma de decisiones.

Definición del problema de asignación[editar]

En su forma más general, el problema es como sigue:

Hay un número de agentes y un número de tareas. Cualquier agente puede ser asignado para desarrollar cualquier tarea, contrayendo algún coste que puede variar dependiendo del agente y la tarea asignados. Es necesario para desarrollar todas las tareas asignar un solo agente a cada tarea para que el coste total del asignación sea minimizado.

Este tipo de problemas son lineales, con una estructura de transporte, sólo que la oferta en cada origen es de valor uno y la demanda en cada destino es también de valor uno. Sería muy ineficiente resolver este tipo de problemas por medio del método simplex o por medio del de transporte. Debido a la estructura propia de los problemas de asignación, existen métodos de solución llamados algoritmos de asignación que son más eficientes que el simplex o que el método de transporte.

Los problemas de asignación presentan una estructura similar a los de transporte, pero con dos diferencias: asocian igual número de orígenes con igual número de demandas y las ofertas en cada origen es de valor uno, como lo es la demanda en cada destino.

La restricción importante para cada agente es que será asignado a una y solo una tarea.

Características[editar]

El problema de asignación presenta las siguientes características:

  • El Problema de Asignación debe estar equilibrado, es decir, que las ofertas y las demandas sean igual a 1. Un elemento importante para el problema de asignación es la matriz de costos, si el número de renglones o columnas no son iguales el problema esta desbalanceado y se puede obtener una solución incorrecta,para obtener una solución correcta la matriz debe ser cuadrada.
  • Si el número de agentes y tareas son iguales y el coste total de la asignación para todas las tareas es igual a la suma de los costes de cada agente (o la suma de los costes de cada tarea, que es lo mismo en este caso), entonces el problema es llamado problema de asignación lineal. Normalmente, cuando hablamos de problema de asignación sin ninguna matización adicional, nos referimos al problema de asignación lineal.

Oferta: Cantidad que representa la disponibilidad del artículo en la fuente/fabrica de donde proviene. 4

Demanda: Cantidad de artículos que necesita recibir el destino para cumplir sus necesidades. 4

Diferencias con el Modelo de Transporte y Asignación[editar]

Los problemas de asignación son un caso particular de los problemas de transporte y constituyen la clase mas sencilla de los problemas lineales, en el cual los trabajadores representan las fuentes y los puestos representan los destinos.

  • En el problema de transporte existen m orígenes y n destinos, y el flujo se realiza desde un origen hacia cada uno de los diferentes destinos. Si en este caso permitimos el flujo en ambos sentidos (de origen a destino y destino a origen) se puede hablar de un problema de m + n orígenes y m + n destinos. A este tipo de problemas se les conoce con el nombre de problemas de transbordo (transhipment problems) o transporte con nodos intermedios.
  • En el caso mas general, cada punto origen o destino pude ser un punto de transbordo, es decir, cada origen puede evitar o transportar a otros orígenes o a distintos; y los destinos pueden transportar a su vez a otros destinos o volver a los orígenes. Un punto conserva su identidad, origen o destino, solamente cuando sea respectivamente, un punto que originalmente disponga de un suministro o un punto que tenga una demanda a satisfacer.
  • En los problemas de asignación las ofertas en cada origen es de valor uno, como lo es la demanda en cada destino; una gran diferencia con respecto a los problemas de transporte.

Formas de representación de un problema de asignación[editar]

  1. Red.
  2. Modelo de programación lineal.
  3. Matriz de costos.
  4. Tabla de transporte.

Asignación Inicial[editar]

Implica asignar números a las celdas para satisfacer las restricciones de oferta y demanda. Para realizar esto se puede emplear alguno de estos métodos: El método de la esquina noroccidental, el método de menor costo y el método de aproximación de Vogel.

Elementos del problema de asignación[editar]

Tabla de transporte

Tabla de transporte: Otra forma de plantear el problema de transporte ( recordemos que el problema de asignación es un caso especial del de transporte) es mediante una tabla llamada tabla de transporte, la cual tiene forma de matriz donde los renglones representan las fuentes y las columnas los destinos o trabajos.

  • En las casillas que se encuentran en la esquina se colocan los coeficientes de costo.
  • Una vez realizado esto, utilizamos alguno de los métodos (vogel, esquina noroeste, costos mínimos) para obtener una solución inicial
  • Donde no exista un coeficiente de costo se le anota una M. 4

Matriz de costos: Es una matriz cuadrada de n*n, donde cada elemento representa el costo de asignar el enésimo trabajador al enésimo trabajo; renglones = trabajadores. Es la tabla en donde, se identifica, se evalúa y se cuantifica los beneficios económicos, costos y riesgos de los productos/servicios, después de definir la necesidad el alcance y el alineamiento estratégico de los productos/servicios, en donde se evalúa el beneficio total de la propiedad (características), una vez creada la matriz se demuestra el valor económico para la realización del producto o servicio correspondiente. 4

Matriz de Costos Reducida Es la matriz que se obtiene después de haber restado el elemento más pequeño a cada renglón (reducción de renglones) y restarle a esa nueva matriz el elemento más pequeño a cada columna (reducción de columnas).

Distribución óptima: Sean un conjunto de fragmentos F = {F1, F2,..., Fn} y una red formada por el conjunto de sitios S = {S1, S2,..., Sm} en la cual un conjunto de aplicaciones Q = {q1, q2,..., qq} se ejecutan. El problema de la asignación implica encontrar la distribución óptima de F sobre S. (multi)

Método simplex: Método de solución de los problemas de programación lineal donde se obtiene una solución factible y óptima (en donde se pueden obtener resultados como solución múltiple, solución no acotada, o que el problema no tenga solución).

Solución Óptima: El conjunto de los vértices del recinto se denomina conjunto de soluciones factibles básicas y el vértice donde se presenta la solución óptima se llama solución máxima (o mínima según el caso).

Red[editar]

Muchos problemas de redes son más que una representación abstracta de procesos o actividades, tales como el camino crítico en las actividades entre las redes de un proyecto. Para definir lo que es una red necesitaremos saber que es un nodo.

Nodo: Es uno de los elementos de una lista enlazada, de un árbol o de un grafo. Cada nodo será una estructura o registro que dispondrá de varios campos, y al menos uno de esos campos será un puntero referencia a otro nodo, de forma que, conocido un nodo, a partir de esa referencia, será posible en teoría tener acceso a otros nodos de la estructura.

Una red consiste en una serie de nodos enlazados con arcos (o ramas). La notación para describir una red es (N,A), donde N es el conjunto de nodos y A es el conjunto de arcos. Redes

Casos especiales[editar]

Oferta y demanda desiguales. Cuando la oferta y la demanda son desiguales, se asigna una actividad ficticia con un costo de cero para mantener la condición de método que deben ser igual número de ofertas y demandas

Problemas de maximización. Considere un problema de asignación en el que la respuesta a cada asignación es una utilidad en vez de un costo. Considere la matriz de utilidades del problema como la característica nueva la cual consiste en que el número que aparece en cada celdilla representa un beneficio en lugar de un costo.

Problemas con asignación inaceptable. Supóngase que se está resolviendo un problema de asignación y que se sabe que ciertas asignaciones son inaceptables. Para alcanzar esta meta, simplemente asigna un costo arbitrariamente grande representado mediante la letra M. M es un número tan grande que si se le resta un número finito cualquiera, queda todavía un valor mayor que los demás.

Problema de selección: Es un caso especial donde la función u objetivo es maximizar pero el problema se trata igual que una minimización al multiplicar por (-1).

Método de selección[editar]

Cuando el problema de asignación es de maximización se le llama problema de selección

Balanceado[editar]

Se dice que un problema de asignación se encuentra balanceado, si los recursos totales son iguales a las demandas totales, en caso contrario se dice que no está balanceado el problema.

Además en el modelo, m = n (obtener una matriz cuadrada), en donde m número de renglones y n es número de columnas.

Para lograr que el modelo este balanceado se pueden agregar trabajadores/tareas ficticias con costos de cero.

Algoritmos y generalizaciones[editar]

El algoritmo Húngaro es uno de los muchos algoritmos que han sido diseñados para resolver el problema del asignación lineal con un tiempo acotado por una expresión polinómica del número de agentes.

El problema del asignación es un caso especial del problema del transportador, que es un caso especial del problema del flujo de coste mínimo. El problema de asignación también puede ser resuelto por medio del algoritmo simplex (creado en 1947 por el matemático George Dantzig). El método del simplex se utiliza, sobre todo, para resolver problemas de programación lineal en los que intervienen tres o más variables, es un método iterativo que permite ir mejorando la solución en cada paso. Cada especialización tiene algoritmos más eficientes tomando ventaja de su estructura espacial.

Si Xij=1 Si se asigna el trabajador i a la tarea j. Si Xij=0 No se asigna el trabajador i a la tarea j. Cij: Costo de asignar al trabajador i la tarea j.

Parámetro M: M es un numero muy grande en los problemas de asignación se utiliza para representar que al trabajador i no se le puede asignar la tarea j.

Modelo binario[editar]

Problema Binario: Son los problemas en los cuales la variable Xij solo puede tomar valores de 0 y 1; el problema de asignación es un problema binario.

Es un modelo de programación lineal donde en la solución las variables sólo pueden tomar los valores de cero o uno.

 {x}_{ij}\left\{\begin{matrix} 1 , & \mbox{Si el asignado i realiza la asignación j}\\ 0 , & \mbox{En caso contrario } \end{matrix}\right.

Teorema Fundamental de la Asignación[editar]

Si a todos los elementos de una fila o de una columna de una matriz de rendimientos se le suma o se le resta una cantidad constante la asignación óptima no varia.

Definición matemática formal[editar]

La definición formal del problema del asignación (o problema asignación lineal) es

Dados dos conjuntos, A y T. de igual tamaño, juntos con una función peso C: A × TR. Encuentra una biyección f: AT como la función de coste:
\sum_{a\in A}C(a,f(a))
está minimizada.

Normalmente la función peso es vista como una matriz cuadrada de valores reales C, con lo que el coste de la función queda así:

\sum_{a\in A}C_{a,f(a)}

El problema es "lineal" porque la función coste a optimizar así como todas las restricciones contienen solo términos lineales.

Método Húngaro[editar]

Pasos para el método húngaro

Paso 1: Encontrar primero el elemento más pequeño en cada fila de la matriz de costos m*m; se debe construir una nueva matriz al restar de cada costo el costo mínimo de cada fila; encontrar para esta nueva matriz, el costo mínimo en cada columna. A continuación se debe construir una nueva matriz (denominada matriz de costos reducidos) al restar de cada costo el costo mínimo de su columna.

Paso 2: Consiste en trazar el número mínimo de líneas (horizontales o verticales o ambas únicamente de esas maneras) que se requieren para cubrir todos los ceros en la matriz de costos reducidos; si se necesitan m líneas para cubrir todos los ceros, se tiene una solución óptima entre los ceros cubiertos de la matriz. Si se requieren menos de m líneas para cubrir todos los ceros, se debe continuar con el paso 3. El número de líneas para cubrir los ceros es igual a la cantidad de asignaciones que hasta ese momento se pueden realizar (En algunos textos este paso se atribuye a Flood).

Paso 3: Encontrar el menor elemento diferente de cero (llamado k) en la matriz de costos reducidos, que no está cubierto por las líneas dibujadas en el paso 2; a continuación se debe restar k de cada elemento no cubierto de la matriz de costos reducidos y sumar k a cada elemento de la matriz de costos reducidos cubierto por dos líneas (intersecciones). Por último se debe regresar al paso 2. (scrib2)

Paso 4: En caso de no encontrar una solución factible con los pasos anteriores aplicar entonces este:

1) Trace el número mínimo de lineas horizontales y verticales en la última matriz reducida que cubrirá TODAS las entradas cero.
2) Selecciones el elemento no cubierto más pequeño y réstelo de todos los elementos no cubiertos; después, súmelos a todos los elementos en la intersección de dos líneas.
3) Si no es posible encontrar una asignación factible entre las entradas cero resultantes, repita es paso. De lo contrario regrese al paso 3 para determinar la asignación óptima.

Caso especial al aplicar el Método Húngaro cuando se trata de Maximizar[editar]

Cuando hay que pasar de maximizar a minimizar en lugar de operar con el mayor de toda la matriz podemos ir tomando el mayor de cada fila o columna e ir restándole todos los elementos de esa fila o columna con lo cual conseguiremos de camino obtener por lo menos un cero como mínimo en cada fila o columna. Si en alguna columna no hubiera ceros le quitamos el mayor a la columna..

Método de Flood[editar]

Este método es utilizado en aquellos casos donde no se ha podido hacer una asignación óptima después de haber realiza el método húngaro.

El método consta de los siguientes pasos: Paso 1: Señalar todas las filas que no tienen una asignación. (Cuando se dice señalar puede ser una pequeña X a la izquierda de la fila o arriba de la columna)

Paso 2: Señalar todas las columnas que tengan un cero en la columna señalada.

Paso 3: Señalar todas las filas que tienen una asignación en las columnas indicadas.

Paso 4: Repetir estos pasos hasta que no pueda señalarse más columnas o filas. (No hay más filas que no tengan asignación) Dibujar una línea por cada fila NO señalada y por cada columna SI señalada.

Paso 5: Encontrar el mínimo valor de los elementos no cubiertos y restarlo a todos los elementos no cubiertos, y sumar este valor a cada elemento que se encuentre en la intersección de una línea horizontal con una línea vertical.

Paso 6: Realizar la asignación como en el método húngaro. (arqui)

Ejemplos[editar]

Ejemplo 1[editar]

Una empresa de logística cuenta con 4 máquinas para realizar 3 tareas, cada máquina realiza la tarea según el tiempo en que esta pueda ejecutarla. En la siguiente tabla se muestran los tiempos en horas para dichas tareas.

Tablawiki1

Se plantea la red de la siguiente forma:

Tablawiki2

Ejemplo 1: Balanceando[editar]

Para resolver el problema usando el método Húngaro será necesario equilibrar la tabla de costos, si se construye una tabla en base a la red tendremos 4 filas ≠ 3 columnas, por tanto será necesario agregar una nueva columna con costos 0, esto significa que se añadirá una tarea falsa.

Tablawiki3

Ahora se tienen 4 filas = 4 columnas, por tanto el modelo esta balanceado y listo para aplicar el método Húngaro para su solución.

Ejemplo 2[editar]

Machineco tiene cuatro maquinas y cuatro tareas por completar. Cada maquina se debe asignar para completar una tarea. El tiempo requerido para preparar cada maquina para completar cada tarea se muestra en la siguiente tabla. Machineco desea reducir el tiempo de preparación total necesario para completar las cuatro tareas.

Tabla de asignación

Planteamiento del modelo de programación lineal

Machineco debe determinar qué máquina debe asignarse a cada tarea. Xij=1 si la máquina i se asigna para satisfacer las demandas de la tarea j Xij=0 si la máquina i no se asigna para satisfacer las demandas de la tarea j

Ejemplo 2: Modelo de Programación Lineal[editar]

Entonces el modelo de P.L. de Machineco es el siguiente:

\begin{align}&\min z=14x_{11}+5x_{12}+8x_{13}+7x_{14}+2x_{21}+12x_{22}+6x_{23}+5x_{24}+7x_{31}+8x_{32}\\&\qquad\qquad\qquad +3x_{33}+9x_{34}+2x_{41}+4x_{42}+6x_{43}+10x_{44}\\& s.a.\\&\qquad\qquad\left.\begin{array}{l}x_{11}+x_{12}+x_{13}+x_{14}=1\\x_{21}+x_{22}+x_{23}+x_{24}=1\\x_{31}+x_{32}+x_{33}+x_{34}=1\\x_{41}+x_{42}+x_{43}+x_{44}=1\end{array}\right\}\text{Restricciones de maquina}\\ \\&\qquad\qquad\left.\begin{array}{l}x_{11}+x_{21}+x_{31}+x_{41}=1\\x_{12}+x_{22}+x_{32}+x_{42}=1\\x_{13}+x_{23}+x_{33}+x_{43}=1\\x_{14}+x_{24}+x_{34}+x_{44}=1\end{array}\right\}\text{Restricciones de trabajo}\\&\qquad\qquad\ \ x_{ij}=1\quad o\quad x_{ij}=0\quad i,j=1,2,3,4\end{align}

Las restricciones de maquina aseguran que cada maquina se asignó a una tarea, y las restricciones de trabajo aseguran que se completó cada tarea. Si Xij = 1 entonces la función objetivo tomará el tiempo requerido para preparar la maquina i para la tarea j, si Xij =0 entonces la función objetivo no tomara el tiempo requerido.

Se puede notar que Machineco enfrenta un problema de transporte equilibrado en el que cada punto de suministro tiene un suministro de 1 y cada punto de demanda tiene una demanda de 1. En general el problema de asignación es un problema de transporte equilibrado en el que suministros y demandas son iguales a 1, Así, un problema de asignación se caracteriza porque se conoce el costo de asignar cada punto de suministro a cada punto de demanda.

Ejemplo 2: Matriz de costos[editar]

Matriz costos

Ejemplo 2: Solución por el Método Húngaro[editar]

Paso 1: Reste el numero más pequeño de cada renglón a cada número del renglón. Esto se llama reducción de renglón.

Paso1 húngaro

Paso 2: Reste el número más pequeño de la nueva matriz a cada número de la columna. Esto se llama reducción de columna.

Paso2 húngaro

Al momento de realizar los dos pasos anteriores la matriz nueva recibe el nombre de matriz reducida de costos.

Paso 3: Pruebe si se puede hacer una asignación óptima, se hace mediante la determinación del número mínimo de líneas necesarias para cubrir todos los ceros.

Paso3 húngaro Como el número de líneas no es igual al número de renglones no es posible hacer una asignación, en este caso se continúa con el método.

Paso 4: Reste el número no cubierto más pequeño de todos los números no cubiertos de la matriz. Sume el número no cubierto más pequeño a los números que se encuentren en intersección de líneas. Los números cruzados pero que no se encuentran en intersección de líneas permanece igual.

Paso4 húngaro

Paso 5: Repetir los pasos 3 y 4 hasta que el número de líneas sea igual al número de renglones de la matriz.

Paso5 húngaro

Como el número de líneas es igual al número de renglones se tiene una solución óptima. Se puede pasar al último paso.

Paso 6: Se hacen las asignaciones una a una en las posiciones que tienen elemento cero. Comience con los renglones y columnas que tienen sólo un cero. Cada renglón y columna necesita recibir exactamente una asignación, después continúe con los renglones y columnas que no han sido asignados. Continúe hasta que todos los renglones y columnas estén asignados.

Paso6 húngaro

Ejemplo 2: Interpretación de resultados[editar]

Solución asignación

'z = 2 + 5 + 3 + 5 = 15'

Ejemplo 3[editar]

Doc Concillman reúne a un equipo de relevos para el relevo de 400 metros.Cada nadador debe nadar 100 metros de brazada de pecho, dorso, mariposa o estilo libre. Doc cree que cada nadador obtendrá los tiempos en segundos dados en la tabla. ¿Qué nadador debe nadar que estilo?

Nadador Libre Pecho Mariposa Dorso
Gary 54 54 51 53
Mark 51 57 52 52
Jim 50 53 54 56
Chet 56 54 55 53

Ejemplo 3: Modelo de Programación Lineal[editar]

Min z= 54x11 + 54x12 + 51x13 + 53x14 + 51x21 + 57x22 + 52x23 + 52x24 + 50x31 + 53x32 + 54x33 + 56x34 + 56x41 + 54x42 + 55x43 + 53x44

S.A

       x11 + x12 + x13 + x14  = 1
       x21 + x22 + x23 + x24  = 1
       x31 + x32 + x33 + x34  = 1
       x41 + x42 + x43 + x44  = 1
       x11 + x21 + x31 + x41  = 1
       x12 + x22 + x32 + x42  = 1
       x13 + x23 + x33 + x43  = 1
       x14 + x24 + x34 + x44  = 1
        xij = {0,1}      i,j = Z

Ejemplo 3: Tabla de Transporte[editar]

1 2 3 4
1 54 54 51 53 1
2 51 57 52 52 1
3 50 53 54 56 1
4 56 54 55 53 1
1 1 1 1 1

Ejemplo 3: Solución por el Método Húngaro[editar]

1. Se escribe la matriz de costos.

\begin{pmatrix}
  54 & 54 & 51 & 53    \\
  51 & 57 & 52 & 52    \\                     
  50 & 53 & 54 & 56    \\
  56 & 54 & 55 & 53    \end{pmatrix}

2. Se escoge el número más pequeño de cada renglón y se le resta a cada numero del renglón y los resultados se pone en una nueva matriz. Queda de la siguiente manera:

\begin{vmatrix}54&54&\color{Red}51&53\\\color{Red}51&57&52&52\\\color{Red}50&53&54&56\\56&54&55&\color{Red}53\end{vmatrix}\Rightarrow\begin{vmatrix}3&3&0&2\\0&6&1&1\\0&3&4&6\\3&1&2&0\end{vmatrix}

3. De la nueva matriz se escoge el número más pequeño de cada columna y se le resta a cada numero de la columna. Queda de la siguiente manera:

\begin{vmatrix}3&3&\color{red}0&2\\\color{red}0&6&1&1\\0&3&4&6\\3&\color{red}1&2&\color{red}0\end{vmatrix}\Rightarrow\begin{vmatrix}3&2&0&2\\0&5&1&1\\0&2&4&6\\3&0&2&0\end{vmatrix}

4. Procedemos a encontrar el número mínimo de rectas que cubren todos los ceros de la matriz.

Matriz

5.Si el número de rectas es igual al número de renglones es posible hacer una asignación, como en este caso son diferentes se hace el siguiente paso.

6. Se escoge el número más pequeño no cubierto y se le resta a los demás números no cubiertos. En los números de intersección de rectas se suma este número.

Opti2.jpg

Procedemos a encontrar el número mínimo de rectas que cubren todos los ceros de la matriz.

Opti3.jpg

Como el número de rectas es igual al número de renglones procedemos a asignar. Se escoge el cero donde solo este una vez en el renglón o la columna.

Opti4.jpg

Así queda la asignación.

Nadador Estilo
1 3
4 2
2 4
3 1

Ejemplo 3: Interpretación de resultados[editar]

Con esto se hizo una asignación la cual quiere decir que:

El nadador 1 hará el estilo mariposa.
El nadador 4 hará el estilo pecho.
El nadador 2 hará el estilo dorso.
El nadador 3 hará el estilo libre.

En total se harán como mínimo 207 minutos entre los 4 nadadores.

Ejemplo 4[editar]

Una empresa ha preseleccionado 5 candidatos para ocupar 4 puestos de trabajo en dicha empresa. Los puestos de trabajo consisten en manejar 4 máquinas diferentes (un trabajador para cada máquina). La empresa puso a prueba a los 5 trabajadores en las 4 máquinas, realizando el mismo trabajo todos ellos en cada una de las máquinas, obteniendo los siguientes tiempos:

Ejemplo 4: Tabla de asignación[editar]

Maquina1 Maquina2 Maquina3 Maquina4
Candidato1 10 6 6 5
Candidato2 8 7 6 6
Candidato3 8 6 5 6
Candidato4 9 7 7 6
Candidato5 8 7 6 5

Ejemplo 4: Red[editar]

Comenzamos por plantear la red

1ZWptAK23DThtwPCBLvYdOwh dXexBlU

Posteriormente se determina qué candidatos debe seleccionar la empresa y a qué máquinas debe asignarlos. Se determinan las variables de decisión, en este caso: Xij: acción de que el trabajador i es asignado a la máquina j (0 indica que el trabajador no ha sido asignado y 1 que sí ha sido asignado)

Se determinan las restricciones y se expresan como ecuaciones o inecuaciones de las variables de decisión. Dichas restricciones son que cada trabajador debe ser asignado a una sola máquina y no debe quedar ninguna máquina sin un trabajador asignado a ella: Cada trabajador debe estar asignado a una sola máquina o a ninguna si no se selecciona:

Ejemplo 4: Modelo de Programación Lineal[editar]

  • X11 + X12 + X13 + X14 ≤ 1
  • X21 + X22 + X23 + X24 ≤ 1
  • X31 + X32 + X33 + X34 ≤ 1
  • X41 + X42 + X43 + X44 ≤ 1
  • X51 + X52 + X53 + X54 ≤ 1

En cada máquina debe haber un trabajador:

  • X11 + X21 + X31 + X41 + X51 = 1
  • X12 + X22 + X32 + X42 + X52 = 1
  • X13 + X23 + X33 + X43 + X53 = 1
  • X14 + X24 + X34 + X44 + X54 = 1

Se expresan todas las condiciones implícitamente establecidas por la naturaleza de las variables: que no puedan ser negativas, que sean enteras, que solo puedan tomar determinados valores,... En este caso las restricciones son que las asignaciones de trabajadores a máquinas no puede ser negativa y debe ser además una variable booleana (0 no se asigna, 1 se asigna):

  • Xij ≥ 0
  • Xij es booleano

Se determina la función objetivo:

Min Z = 10X11 + 8X21 + 8X31 + 9X41 + 8X51 + 6X12 + 7X22 + 6X32 + 7X42 + 7X52 + 6X13 + 6X23 + 5X33 + 7X43 + 6X53 + 5X14 + 6X24 + 6X34 + 6X44 + 5X54

Ejemplo 4: Solución[editar]

\begin{pmatrix}10&6&6&5&0\\8&7&6&6&0\\8&6&5&6&0\\9&7&7&6&0\\8&7&6&5&0\end{pmatrix}\Rightarrow\begin{pmatrix}2&0&1&0&0\\0&1&1&1&0\\0&0&0&1&0\\1&1&2&1&0\\0&1&1&0&0\end{pmatrix}

Ejemplo 4: Interpretación de resultados =[editar]

Por lo tanto: El canditado 1 trabajara con la maquina 2 El canditado 2 trabajara con la maquina 1 El canditado 3 trabajara con la maquina 3 El canditado 5 trabajara con la maquina 4 El canditado 4 no trabajaría Así tendremos un costo de: 24 ( Z*=6+8+5+0+5)

Ejemplo 5[editar]

Un profesor han determinado 4 capítulos de un libro X y está pensando en pedir ayuda ´para terminarlo. Él ha elegido a 4 secretarias que podrían tipearle cada uno de sus capítulos. El costo asociado refleja la velocidad de la secretaria y la exactitud del trabajo.

Ejemplo 5: Tabla de asignación[editar]

Los datos están en la tabla. Nuevaasignacion.jpg

Ejemplo 5: Solución[editar]

Solucion1.jpg Soluciontotal.jpg

Ejemplo 6[editar]

El profesor Michell ha terminado 4 capítulos de su libro y está pensando en pedir ayuda para terminarlo. Él ha elegido a 4 secretarias que podrían mecanografiarle cada uno de sus capítulos. El costo asociado refleja la velocidad de la secretaría y la exactitud con la que realiza el trabajo. Además los capítulos difieren en la cantidad de hojas y en la complejidad. ¿Qué puede hacer el profesor si conoce la siguiente tabla:

Ejemplo 6: Tabla de asignación[editar]

CAPITULO 14 CAPITULO 15 CAPITULO 16 CAPITULO 17
SECRETARIA1 96 99 105 108
SECRETARIA2 116 109 107 96
SECRETARIA3 120 102 113 111
SECRETARIA4 114 105 118 115

Ejemplo 6: Modelo de programación lineal[editar]

Xij =Secretaria i asignada al Capítulo j.

Min Z= 96X11 + 99X12 + 105X13 +108X14 + 116X21 + 109X22 + 107X23 + 96X24 + 120X31 + 102X32 + 113X33 + 111X34 + 114X41 + 105X42 + 118X43 + 115X44.
s.a
X11 + X12 + X13 + X14 = 1
X21 + X22 + X23 + X24 = 1
X31 + X32 + X33 + X34 = 1
X41 + X42 + X43 + X44 = 1


X11 + X21 + X31 + X41 = 1
X12 + X22 + X32 + X42 = 1
X13 + X23 + X33 + X43 = 1
X14 + X24 + X34 + X44 = 1
Xij ≥0

Después de aplicar el Método Húngaro se obtiene la solución:

CAPITULO 14 CAPITULO 15 CAPITULO 16 CAPITULO 17
SECRETARIA1 0 5 0 14
SECRETARIA2 18 13 0 0
SECRETARIA3 16 0 0 9
SECRETARIA4 7 0 2 10

Por lo que al tomar los valores en donde existan ceros,se elige alguno y se eliminan los ceros consecuentes por fila y por columna, por lo tanto la solucioón es:

Ejemplo 6: Interpretación de resultados[editar]

Juana escribirá el Cap.14 María escribirá Cap. 17 Jackeline escribirá Cap.16 Edith escribirá Cap.15 Costo de Asignación es: 96 + 96 + 113 + 105 = 410

Ejemplo 7[editar]

En la empresa Sinco se tienen tres vacantes, que ya han sido solicitadas por tres profesionistas, Jorge, Karen y Armando. El gerente de recursos humanos, Martin, pidió propuestas de salarios a cada uno de los profesionistas para las actividades de capturista de datos, programador y análista de base de datos, que todos los solicitantes podrían realizar. Se sobreentiende que después los tres aceptarán la decisión de Martín sobre quién hace que actividad. La tabla siguiente resume las propuestas recibidas por lo que cobra un profesionista por realizar las diferentes actividades por hora.

Capturista de datos Programador Analista de base de datos
Jorge 160 110 100
Karen 100 160 110
Armando 110 130 90

Con base en esta información ¿ Cómo debe asignar las actividades el gerente de recursos humanos?

Ejemplo 7: Modelo de Programación lineal[editar]

xij = La asignación del profesionista i a la actividad j

Min z = 160 X11+ 110X12 + 100X13 + 100X21 + 160X22 + 110X23 + 110X31 + 130X32 + 90X33

s.a.

Delimitamos a los profesionistas
X11 + X12 + X13 = 1
X21 + X22 + X23 = 1
X31 + X32 + X33 = 1

Delimitamos a las tareas
X11 + X21 + X31 = 1
X12 + X22 + X32 = 1
X13 + X23 + X33 = 1
Xij ≥ 0, xij ε {0,1}

Ejemplo 7: Matriz de costos[editar]

\begin{pmatrix}
160 & 110 & 100    \\
100 & 160 & 110    \\                     
110 & 130 & 90     \end{pmatrix}

Ejemplo 7: Solución por medio del Método Húngaro[editar]

Reste el número más pequeño de cada renglón, esto se llama reducción de renglón. Introduzca los resultados en una nueva matriz

\begin{pmatrix}
60 & 10 & 0    \\
0 & 60 & 10    \\                     
20 & 40 & 0     \end{pmatrix}

Reste el número más pequeño de la nueva matriz a cada número de la columna, esto se llama reducción de columna. Introduzca los nuevos datos en otra matriz.

\begin{pmatrix}
60 & 0 & 0\\
0 & 50 & 10\\                     
20 & 30 & 0\end{pmatrix}

Pruebe si puede hacer una asignación óptima. Hágalo mediante la determinación del número mínimo de lineas necesarias para cubrir todos los ceros ( horizontales y verticales). Si el número de líneas es igual al número de renglones entonces es posible hacer una asignación.

Métodohúngarolineas.png

En este caso tuvimos suerte, el número de líneas es igual al número de renglones de la matriz por lo tanto podemos hacer una asignación.

Nos pasamos al paso 6, les dejó también los pasos que hubieramos tenido que realizar en caso de no fuera igual el número de renglones que de columnas.

Si el número de líneas es menor que el número de renglones, modifique la matriz de la siguiente forma: a) Reste el número no cubierto más pequeño de todos los números no cubiertos de la matriz. b) Sume el número no cubierto más pequeño a los números que se encuentran en intersección de líneas. c) Los números cruzados pero que no se encuentren en intersección de líneas permanecen igual.

Repita los pasos 3 y 4 hasta que el número de líneas sea igual al número de renglones de la matriz.

Haga las asignaciones una a una en las posiciones que tienen elementos cero, comience con los renglones y columnas que tienen un sólo cero. Cada renglón y columna necesita recibir exactamente una asignación, después continue con los renglones y columnas que no han sido asignados, continue hasta que todos los renglones y columnas hayan sido asignados.

En nuestro ejemplo asignamos las posiciones X21, X12 y X33.

Ejemplo 7: Interpretación de resultados[editar]

Profesionista Actividad
1 2
2 1
3 3

Jorge va a ser el programador, Karen la capturista de datos y Armando el analista de base de datos. El costo total será de 110 + 100 + 90 = $300 por hora.

Ejemplo 8[editar]

En la empresa de computo llamada “El Lago Azul” se tienen 6 circuitos lógicos para ser colocados en 5 equipos. Se requiere saber cual es el costo mínimo en la adaptación de los circuitos a las computadoras. En la siguiente tabla se muestran los costos que se llevan a cabo en la adaptación:

Tabla cero.jpg

Ejemplo 8: Modelo de Programación Lineal[editar]

Xij = Circuito i, Computadora j

Min z = 1000X11 + 1500X12 + 3200X13 + 500X14 + 1900X15 + 700X21 + 920X22 + 2000X23 + 1100X24 + 3000X25 + 840X31 + 799X32 + 1600X33 + 2300X34 + 1500X35 + 1500X41 + 2000X42 + 1800X43 + 3400X44 + 2600X45 + 1300X51 + 3200X52 + 600X53 + 980X54 + 1000X55 + 2000X61 + 2500X62 + 700X63 + 640X64 + 1500X65.

s.a
X11 + X12 + X13 + X14 + X15≤1
X21 + X22 + X23 + X24 + X25≤1
X31 + X32 + X33 + X34 + X35≤1
X41 + X42 + X43 + X44 + X45≤1
X51 + X52 + X53 + X54 + X55≤1
X61 + X62 + X63 + X64 + X65≤1


X11 + X21 + X31 + X41 + X51 + X61 = 1
X12 + X22 + X32 + X42 + X52 + X62 = 1
X13 + X23 + X33 + X43 + X53 + X63 = 1
X14 + X24 + X34 + X44 + X54 + X64 = 1
X15 + X25 + X35 + X45 + X55 + X65 = 1
X16 + X26 + X36 + X46 + X56 + X66 = 1

Ejemplo 8: Tabla de transporte[editar]

Para resolver el problema es necesario balancearlo, la tabla resulta de la siguiente forma:

Ejemplo 8: Solución por medio del Método Húngaro[editar]

Resta por renglón. Para realizar la resta por renglón elegimos el menor numero que se encuentra en cada uno, en este caso todos los números menores por renglón pertenecen a la columna ficticia por lo tanto en este ejemplo no habrá ningún cambio.

Tabla dos.jpg

Resta por columna. Ahora restamos el numero menor que se encuentra en cada columna, que son los marcados de color verde, a cada elemento que se encuentre en la columna correspondiente. El resultado de los pasos anteriores se le llama matriz resultante.

Tabla tres.jpg

Trazado de lineas. Ahora trazamos la menor cantidad de lineas que cubra la mayor cantidad de ceros, todos los ceros deben de terminar cubiertos, nosotros los marcamos de color rojo.

Tabla 4.jpg

6 renglones y 5 lineas. Para que el problema se de por terminado tendría que ser igual el numero de renglones con el numero de lineas, en este caso no se cumple. Por lo tanto se realiza una segunda iteración.

Se elige el numero menor no marcado en este caso que no este de color rojo y lo restamos a los demás números no marcados mientras tanto en las intersecciones de las lineas anteriormente marcadas le sumamos este numero. En este caso es el numero 100.

Tabla cinco.jpg

Trazado de lineas Ahora nuevamente trazamos las lineas, y en este caso se cumple la condición.

Tabla seis.jpg

Elegimos las columnas que tengan un cero y esa sera la asignación de cada circuito a computadora. En el caso que tengan 2 ceros asignamos uno que no haya sido asignado anteriormente mientras que tachamos el cero sobrante.

Tabla 7.jpg

Finalmente aquí se puede apreciar mejor cada asignación. Como podemos ver el circuito 4 no tiene computadora asignada, si recordamos anteriormente agregamos una columna ficticia para balancear el problema por lo tanto sobrara un circuito.

Tabla ocho.jpg

Ejemplo 8: Interpretación de resultados[editar]

z = 500 + 700 + 799 + 1000 + 700 = $ 3699

Lo que buscaba el problema era encontrar el costo mínimo así que ya dada la asignación sumamos los costos que cada celda tenia en la primera tabla.

Ejemplo 9[editar]

Suponga que Aero-México tiene el siguiente horario de vuelos diarios

Captura de pantalla 2011-09-07 a las 18.45.20

El problema que tiene Aero-México es la calendarización de la tripulación en estos vuelos. Resulta que una tripulación que sale de México un lunes a las 7:30, llega a Río el mismo lunes a las 13:30; sale el martes de Río a las 9 y llega a México a las 15 horas. El tiempo transcurrido desde las 13:30 del lunes hasta las 9 del martes siguiente, es un tiempo muerto. Se trata entonces de reducir los tiempos muertos de as tripulaciones en estos vuelos, sujeto a ciertas condiciones. En este caso, las condiciones son que cada tripulación debe descansar al menos 8 horas, pero no más de 24.

El problema se puede enunciar de la siguiente manera: dónde deben vivir las tripulaciones y qué tripulaciones deben asignarse a qué vuelos, tal que los tiempos muertos totales se minimicen y al mismo tiempo se respeten las condiciones de descanso de las tripulaciones.

Suponga que una tripulación que vive en la ciudad de México que trabaja en el vuelo C y regresa en el vuelo 2 de Río de Janeiro. De acuerdo con los tiempos de vuelo, esa tripulación llega a las 17:30 y sale a las 9 de la mañana rumbo a México, tras 15 y media horas de tiempo muerto. En cambio, una tripulación que vive en Río y sale en el vuelo 1 hacia México, y regresa en el vuelo A a Río, tiene un tiempo muerto de 18 y media horas. Así se pueden construir 2 matrices de tiempos muertos, a saber:

Captura de pantalla 2011-09-07 a las 18.48.09

Dadas estas dos matrices, se construye una nueva, donde los elementos tij serán.

tij=mín (tij1, tij2),

siempre y cuando 8≤tij≤24. En caso de que tij no cumpla con esta restricción, la asignación i,j es imposible y por lo tanto, tij = M, donde

M>>0.

En efecto, la nueva matriz es:

Captura de pantalla 2011-09-13 a las 00.34.39

Ejemplo 9: Modelo de Programación Lineal[editar]

Así el Modelo de Programación Lineal quedaría: Minimizar Z= 17.5 Xa1 + 15Xa21 + 9Xa3 +... 12Xe4 + 17.5Xe5

s.a
Xa1 + Xa2 + Xa3 + Xa4 + Xa5 = 1
Xb1 + Xb2 + Xb3 + Xb4 + Xb5 = 1
Xc1 + Xc2 + Xc3 + Xc4 + Xc5 = 1
Xd1 + Xd2 + Xd3 + Xd4 + Xd5 = 1
Xe1 + Xe2 + Xe3 + Xe4 + Xe5 = 1


Xa1 + Xb1 + Xc1 + Xd1 + Xe1 = 1
Xa2 + Xb2 + Xc2 + Xd2 + Xe2 = 1
Xa3 + Xb3 + Xc3 + Xd3 + Xe3 = 1
Xa4 + Xb4 + Xc4 + Xd4 + Xe4 = 1
Xa5 + Xb5 + Xc5 + Xd5 + Xe5 = 1
Xij = { 0, 1 } Xij Z

Ejemplo 9: Solución por medio del Método Húngaro[editar]

Como A ya está balanceada, se le aplica el método Húngaro para obtener la solución. Paso 1. Ceros en cada columna

Captura de pantalla 2011-09-13 a las 00.37.05

Ceros en cada renglón

Captura de pantalla 2011-09-13 a las 00.37.14

Paso 2. Vemos si se puede hacer una asignación, determinando el número mínimo de líneas necesario para cubrir los ceros (para poder hacerse el número de líneas tiene que ser igual al número de renglones)

Captura de pantalla 2011-09-13 a las 00.37.25

No se puede hacer la asignación, por tanto seguimos con el paso 3 Paso3. Si el número de líneas es menor que el de renglones

a) Restamos el número no cubierto más pequeño a todos los números no cubiertos

b) sumamos el número no cubierto más pequeño a los números que se encuentran en las intersecciones de las líneas

c) Los demás números permanecen igual.

Captura de pantalla 2011-09-13 a las 00.37.26.png

Con esta iteración ya son 5 lineas y por tanto ya podemos continuar

Paso 4. Hacemos asignaciones 1 a 1 de acuerdo a las posiciones de los ceros. Comenzamos por los renglones y columnas que sólo tienen un cero. Cada renglón y cada columna debe recibir una sola asignación.

La asignación óptima queda

Captura de pantalla 2011-09-13 a las 00.37.42
A- 3 con tiempo muerto de 9 horas
B- 5 con tiempo muerto de 10.5 horas
C- 1 con tiempo muerto de 12 horas
D- 2 con tiempo muerto de 8 horas
E- 4 con tiempo muerto de 12 horas

Ejemplo 9: Interpretación de resultados[editar]

Refiriéndonos a las 2 matrices originales se tiene que en términos de donde viven las tripulaciones la asignación óptima es:

Captura de pantalla 2011-09-13 a las 00.37.54

El tiempo muerto total mínimo es de 51.5 horas.

Ejemplo 10[editar]

Los tres hijos de Joe Klyne, John, Karen y Terri, quieren ganar algún dinero para cubrir sus gastos personales durante un viaje organizado por la escuela al zoológico local. El señor Klyne eligió tres tareas para sus hijos: podar el césped, pintar la cochera y lavar los automóviles de la familia. Para evitar las competencias anticipadas entre hermanos, les pidió que presentaran licitaciones (secretas) para lo que ellos creían era un pago justo para cada una de las tres tareas. Quedaba entendido que los tres hijos aceptarían la decisión de su padre en lo concerniente a quién desempeñaría cada tarea. La siguiente tabla resume las licitaciones recibidas.

Ejemplo 10: Tabla de asignación[editar]

Podar Pintar Lavar
John $15 $10 $9
Karen $9 $15 $10
Terri $10 $12 $8

Ejemplo 10: Solución por medio del Método Húngaro[editar]

Basándose en esta información, ¿Cómo debe asignar las tareas el señor Klyne? Este problema se resolverá con los primeros tres pasos del método Húngaro.

1.ª iteración.

Podar Pintar Lavar renglón minimo
John 15 10 9 p1=9
Karen 9 15 10 p2=9
Terri 10 12 8 p3=8

En seguida restamos el renglón mínimo de cada renglón respectivo, para obtener la matriz reducida.

Podar Pintar Lavar
John 6 1 0
Karen 0' 6 1
Terri 2 4 0
columna minima q1=0 q2=1 q3=0

La aplicación del paso 2 nos da los mínimos en la columna. restando estos valores de las columnas respectivas obtenemos las matriz reducida.

Podar Pintar Lavar
John 6 0 0
Karen 0 5 1
Terri 2 3 0

Ejemplo 10: Interpretación de resultados[editar]

Los cuadros con las entradas cero en negritas proporcionan la solución óptima. Eso quiere decir que John pintará la cochera, Karen podará el césped y Terri lavará los automóviles de la familia. El costo total para el sr Klyne es 9+10+8 =27 dólares. Además esa cantidad siempre igualará (p1 + p2 + p3) + (q1 + q2 + q3)=(9+9+8)+(0+1+0)= 27 dólares.

Ejemplo 11[editar]

Asignar maximizando el siguiente Problema.
Selección 1
Como este es un problema de maximización entonces primero pasaremos aconvertirlo en minimización: lo pasamos a minimización con operación columna
2b
Ahora como una minimización primero operación fila:
3c
Ahora operación columna
4d
Como aquí se encuentra la solución entonces se compara con la matriz original, Por lotanto el resultado será:
A le corresponde e
B se le asigna c
C lo canalisamos con d
D lo asignamos a b
E le corresponde a
⇒ Z=8 + 6 + 5 + 7 + 4 =30

Ejemplo 12[editar]

Una agencia de publicidad trata cual de entre 4 ejecutivos de contabilidad debe asignarse a cada uno de los clientes mayores. Use el método conveniente para encontrar la solución óptima, a continuación se presentan los costos estimados de la asignación de cada ejecutivo.

Ejemplo 12: Solución por medio del Método Húngaro[editar]

Realizando operación renglón, primero buscamos el menor de la fila correspondiente. Como no se tienen los suficientes ceros pasamos a operación columna: Pero como no se encuentran los suficientes Ceros para cada fila se procede a buscar el menor de toda la matriz que no estén tachados (en nuestro caso con rojo). En este caso el menor es 1. Entonces restaremos este valor a cada uno de los elementos no tachados y sumaremos este mismo valor a los elementos que están en las intersecciones, los demás se copian sin operación alguna.

Como tampoco obtenemos al menos un cero en las filas se vuelve a realizar la operación anterior. Entonces el menor de los elementos de la matriz no tachada será nuevamente 1, entonces queda:

Aquí encontramos al menos un cero en todas las filas, entonces si tenemos más de 1 Cero en una determinada fila se compara quien es el menor y se toma este. Luego se tacha los ceros que podrían existir en las filas y columnas correspondientes al número tomado. Luego comparamos con la matriz original y se toman los números en las que están los ceros no tachados, luego sumamos y encontramos la solución óptima.

(A, 1)=15 (B, 4)=14 (C, 3)=15 (D, 2)=24 entonces 15 + 14 + 15 + 24 = 68, en otras palabras el cliente A estará con el contador 1, el B con el 4, el C con el 3 y el cliente D con el contador 2.

Ejemplo 13: Ejemplo con oferta ficticia[editar]

Existen 3 empleados que se pueden asignar al trabajo con 4 máquinas. Un estudio de tiempos y movimientos ha arrojado los siguientes tiempos por empleado para las 4 máquinas. Indicar que empleado debe trabajar en que máquina y cuál de ellas no será asignado a ningún empleado.

Máquina 1 Máquina 2 Máquina 3 Máquina 4
Empleado 1 10 7 9 8
Empleado 2 7 5 8 9
Empleado 3 9 8 10 7

Como la matriz no esta balanceada, es necesario incluir un empleado ficticio: (esto es fundamental para asegurar que haya una respuesta. Si la matriz no está balanceada, el problema no será factible de resolver)

Máquina 1 Máquina 2 Máquina 3 Máquina 4
Empleado 1 10 7 9 8
Empleado 2 7 5 8 9
Empleado 3 9 8 10 7
Ficticio 0 0 0 0

Xij = Se debe asignar el operario i a la máquina j? Sí o no?

Existen dos números cuyas propiedades hacen que puedan representar estas respuestas son el 1 y el 0, debido a que todo número multiplicado por 1 da el mismo número entonces el 1 se puede reemplazar por la respuesta Sí y como todo número multiplicado por cero da cero entonces se puede reemplazar por la respuesta No. Así por ejemplo: 10X11 + 7X12 + 9X13 + 8X14

representa el tiempo sumado que requiere el empleado 1 en operar las máquinas, pero solo una variable de las tres anteriores puede tomar el valor de Sí, o sea de 1 las demás tendrán que tomar el valor de 0, y eso es debido a que el empleado 1 sólo puede ser asignado a una máquina, lo que significaría que el tiempo que utilice el empleado1 puede ser ya sea de "10" de "7" o de "9". o de “8”.

Con base en esto podemos formular la función objetivo:

Min Z = 10X11 + 7X12 + 9X13 + 8X14 + 7X21 + 5X22 + 8X23 + 9x24 +9X31 + 8X32 + 10X33 + 7x34

Restricciones:

Como cada empleado sólo puede estar asignado a una máquina.

X11 + X12 + X13 + X14 = 1 X21 + X22 + X23 + X24 = 1 X31 + X32 + X33 + X34 = 1 X41 + X42 + X43 + X44 = 1

Y como cada máquina solo puede tener un operario asignado... X11 + X21 + X31 + X41 = 1 X12 + X22 + X32 + X42 = 1 X13 + X23 + X33 + X43 = 1 X14 + X24 + X34 + X44 = 1 Xij = 1 o 0 para toda i,j.

Al resolver utilizando Software, por ejemplo el Solver del Excel, la respuesta que se obtiene es la siguiente:

Máquina 1 Máquina 2 Máquina 3 Máquina 4
Empleado 1 0 0 1 0
Empleado 2 0 1 0 0
Empleado 3 0 0 0 1
Ficticio 1 0 0 0

Esto significa que al empleado 1 queda asignado a la maquina 3, el empleado 2 se asigna a la máquina 2, el empleado 3 se asigna a la máquina 4 y el empleado Ficticio se asigna a la maquina 1 (es decir, es la que sobra).

Ejemplo 14[editar]

DocConcilman reune a un equipo de relevos para el relevo de 400m. cada nadador debe nadar 100m de brazada de pecho, dorso, mariposa o estilo libre. Doc cree que cada nadador obtendrá los tiempos en segundos dados en la tabla. Que nadador debe nadar que estilo?

Libre Pecho Mariposa Dorso
Gary 54 54 51 53
Mark 51 57 52 52
Jim 50 53 54 56
Chat 56 54 55 53

Xij = Asignar el nadador i al estilo j? Sí o no?

 Planteamiento:
  El Modelo de Programación Lineal sera un modelo binario.
         1 Se asigna al asigna en nadador i a la tarea j
 Xij =
         0 No se asigna

Min Z= 54X11 + 54 X12 + 51X13 +53X14 +... + 55X43 +53X44

        s.a.
                 X11 + X12  +X13 +X14= 1
                 X21 + X22  +X23 +X24= 1
                 X31 + X32  +X33 +X34= 1              NADADORES
                 X41 + X42  +X43 +X44= 1
                 X11 + X21  +X31 +X41= 1
                 X12 + X22  +X32 +X41= 1
                 X13 + X23  +X33 +X43= 1               ESTILOS
                 X14 + X24  +X34 +X44= 1
                         Xij>=0
   APLICACIÓN DEL MÉTODO HÚNGARO
           1. Obtener matriz de costos.
           2. Realizar la reducción por renglón, restando el número más pequeño del renglón
a cada renglón, después realizar lo mismo para las columnas.
        Archivo:Tableau dos.png
           3. Determinación del numero de lineas necesario para hacer una asignación óptima.
        Archivo:Tableau tres.png
 El numero de renglones es 4, y es mayor que el numero de columnas que cubren los ceros,
por lo tanto realizaremos el paso 5
           5.  Como el numero de lineas es menor que el numero de renglones,
               modificaremos la matriz de la siguiente manera:
                  Restaremos el numero no cubierto más pequeño al numero que se encuentra en
                      intersección de las lineas.
                  Sumaremos el numero no cubierto más pequeño a los números que se encuentran
                      en la intersección de las lineas.

Archivo:Tableau cuatro.png

RESULTADOS

  Como el numero de renglones es igual al numero de Lineas que cubren los ceros,
    podemos hacer una asignación óptima.

Archivo:Tableau cinco.png

INTERPRETACIÓN DE RESULTADOS.

 De esta forma, se observa que la mejor asignación de nadadores a estilos según sus tiempos,
   es la siguiente:

Archivo:Tableau seis.png

Referencias[editar]

(1) * Autor: Anónimo. Polilibros del IPN. Investigación de Operaciones. Capítulo 4. Aplicaciones de la Programación Lineal. 4.3.3. Modelo de asignación pura. http://148.204.211.134/polilibros/portal/Polilibros/P_Terminados/Investigacion_de_Operaciones_Careaga/Common/IO-modulo4-asignacionpura.htm

(2) * Autor: Dr. Franco Bellini. Investigación de Operaciones. Curso de la Escuela de Administración y Contaduría Universidad Santa María, Tema 4: Modelos de transporte, Caracas-Venezuela, Julio 2004. http://www.investigacion-operaciones.com/modelo_de_transporte.htm

(3) * Autor: Anónimo. Medelo de Asignación http://antiguo.itson.mx/dii/elagarda/apagina2001/PM/asignacion.html#define

(4) * Hamdy A. Taha. (2004). Investigación de operaciones. México. Pearson Educación.

(5) * Wayne L. Winston. (2005) Investigación de operaciones y aplicación de algoritmos, 4.ª ed.. México, Ed Thomson.

(6) * Tutorial del Método de asignación http://www.ingenieria-industrial.net/index.php?accion=1&id=73 Ingenieria-industrial.net] Tutorial del Método de Asignación