Está en la página 1de 7

Instituto Tecnológico de Oaxaca

Departamento
19 de Noviembre del 2023 Ciencias de la tierra

Carrera
Ingeniería Civil

Modelos de optimización de recursos


3 UNIDAD
“Algoritmos especiales de Programación Lineal”

Presentan:
Cruz Pérez Nayreli
De la Cruz Hernández Alexis
Herrera Martínez Reina Celeste
Jiménez reyes Lilia Paola
Martínez García Jesús Enrique

Docente:
M.C Hernández Moreno Francisco
Problema de la asignación.
Introducción.

El problema de asignación consiste en encontrar la forma de asignar ciertos recursos disponibles


(máquinas o personas) para la realización de determinadas tareas al menor coste, suponiendo que
cada recurso se destina a una sola tarea, y que cada tarea es ejecutada por uno solo de los
recursos. Es uno de los problemas fundamentales de optimización combinatoria de la rama de
optimización o investigación operativa en matemática. El modelo se puede aplicar a la asignación
de empleados a tareas, de fábricas a productos, de vendedores a territorios, de postores a
contratos, etc. Con una sencilla manipulación, el método también se puede aplicar al caso en el
que se pretende maximizar cierta cantidad. Formalmente, el problema de la asignación consiste en
encontrar un emparejamiento de peso óptimo en un grafo bipartito ponderado. El problema de
asignación es un caso particular del problema de transporte, en el que la oferta en cada origen y la
demanda en cada destino son ambas de valor 1.

Características

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

El Problema de Asignación debe estar equilibrado, es decir, que la relación entre 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 está 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/fábrica de donde


proviene.

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

Diferencias con el Modelo de Transporte y Asignación

Los problemas de asignación son casos particulares de los problemas de transporte y constituyen
la clase más 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 más general, cada punto de 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.

Balanceado

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.

Método Húngaro

El método húngaro es un método de optimización de problemas de asignación, conocido como tal


gracias a que los primeros aportes al método clásico definitivo fueron de Dénes König y Jenő
Egerváry dos matemáticos húngaros. Este método utiliza la propiedad de reducción de matrices
para reducir la matriz original de costo, hasta que los costos C i j asociados con la asignación
óptima, sean cero y todos los otros costos sean no negativos.

En cada iteración del método húngaro, se reduce la matriz de tal manera que haya al menos un
cero en cada renglón y columna, comprobando con el teorema de König si se ha alcanzado la
solución óptima. Si el número mínimo de renglones y/o columnas necesarios para cubrir todos los
ceros es n, entonces existe una asignación óptima (no necesariamente única).

El algoritmo tal como se detallará a continuación está diseñado para la resolución de problemas de
minimización únicamente, ya que es más eficaz para resolver el problema del transporte por el alto
grado de degeneración que pueden presentar los problemas de asignación. Los problemas de
asignación incluyen aplicaciones tales como asignar personas a tareas.

Aunque sus aplicaciones parecen diferir de las del problema del transporte, constituye un caso
particular. Los problemas de transporte y asignación son casos particulares de un grupo más
grande de problemas, llamados problemas de flujo en redes.

Suposiciones de un problema de asignación:

1. El número de asignados es igual al número de tareas (se denota por n). (esto puede variar).

2. Cada asignado se asigna exactamente a una tarea.

3. Cada tarea debe realizarla exactamente un asignado.

4. Existe un costo cij asociado con el asignado i (i=1,2,…,n).


5. El objetivo es determinar cómo deben hacerse las asignaciones para minimizar los costos totales

Procedimiento:

El Método Húngaro consta de los siguientes pasos:

Paso 1: En la matriz original de costo, identificar el mínimo de cada fila y restarlo de todos los
elementos de la fila.

Paso 2: En la matriz que resulte del Paso 1, identificar el mínimo de cada columna, y restarlo de
todos los elementos de la columna.

Paso 3: Identificar la solución óptima como la asignación factible asociada con los elementos cero
de la matriz obtenida en el Paso 2.

El problema de transporte
El problema de transporte es una de las primeras aplicaciones importantes de la programación
lineal. Se puede representar con un modelo lineal y utilizar el método simplex para resolverlo. Sin
embargo, dada la estructura especial de este modelo lineal, se puede construir un método más
eficaz para su resolución. En este tema nos ocuparemos del estudio de este método.

El problema es determinar el número de unidades xij que se deben enviar desde cada origen Oi
hasta cada destino Dj para realizar el transporte a coste mínimo, teniendo en cuenta que hay que
satisfacer las restricciones de oferta y demanda.

La formulación lineal de este problema es la siguiente:

Las primeras m restricciones están asociadas a las ofertas de los orígenes, que no se deben
sobrepasar. Las n siguientes restricciones aseguran que se deben satisfacer las demandas de los
destinos. Las variables no pueden tomar valores negativos, ya que representan cantidades de
producto que se transportan.

La forma estándar del problema de transporte es la siguiente:


Teoremas y definiciones
Para adecuar el método simplex a la búsqueda de una solución óptima para el problema de
transporte, veamos los teoremas que verifican las soluciones de un problema de este tipo.

Teorema 6.4.1

Para que el problema de transporte tenga solución es condición necesaria y suficiente que la oferta
total sea igual a la demanda total.

Demostración.

De la forma estándar del problema se tiene que la oferta de cada origen verifica la restricción

Sumando las ofertas de todos los orígenes, la oferta total es

Por otra parte, las demandas de los destinos verifican las restricciones

La demanda total es

Los miembros izquierdos de las fórmulas (6.1) y (6.2) son iguales. Por tanto, dichas fórmulas se
verifican si y sólo si
En el teorema anterior se demuestra que para que un problema de transporte tenga solución la
oferta total debe ser igual a la demanda total. Sin embargo, esta condición no se verifica en todos
los problemas. En los casos en los que dicha condición no se verifica es necesario adecuar el
problema y posteriormente interpretar la solución obtenida.

Solución factible básica inicial


Para calcular una solución para el problema del transporte, utilizaremos una tabla, de las mismas
dimensiones que la tabla de costes, a la que llamaremos tabla de flujos (ver Figura 6.2). En esta
tabla colocaremos los flujos de transporte, es decir, las cantidades de producto transportadas
desde cada origen hasta cada destino.

El método de la esquina noroeste


Dado un problema equilibrado, se obtiene una solución factible básica inicial con los siguientes
pasos.

Paso 1. Elegir la esquina noroeste (i, j) de la tabla de flujos (inicialmente i = 1, j = 1).

Paso 2. Asignar el mayor flujo posible de transporte, xij, en esa posición. Es decir:

xij = min {ai, bj}.

Actualizar la oferta ai y la demanda bj.

• Si el mínimo es ai, la oferta del origen Oi se actualiza a cero y se prescinde de la fila i para
asignaciones posteriores. Se actualiza la demanda a bj − ai.
• Si el mínimo es bj, la demanda del destino Dj se actualiza a cero y se prescinde de la columna j en
las asignaciones siguientes. Se actualiza la oferta a ai − bj.

• Si ai y bj tienen el mismo valor, se actualizan la oferta y la demanda a cero al mismo tiempo. Se


prescinde de la fila i y de la columna j en asignaciones posteriores.

Paso 3. Se pueden dar dos casos:

• Si queda sólo una fila o sólo una columna, se asignan todas las unidades que están sin asignar.
Parar.

• En otro caso, ir al Paso 1

Método de Vogel

El método de la esquina noroeste y el método de Vogel se diferencian únicamente en el paso de


selección de la variable a asignar. Para la selección de dicha variable se calculan en la tabla de
costes las diferencias por filas y por columnas que se definen de la siguiente manera.

• DFi = diferencia en valor absoluto de los 2 costes menores de la fila i.

• DCj = diferencia en valor absoluto de los 2 costes menores de la columna j.

Paso 1. Calcular las diferencias por fila y por columna en la tabla de costes. Seleccionar la fila o
columna de mayor diferencia y en ella la casilla (i, j) de mínimo coste cij .

Paso 2. En la tabla de flujos, asignar a la variable xij el flujo máximo posible en la posición
seleccionada xij = min{ai , bj}. Actualizar la oferta ai y la demanda bj .

• Si el mínimo es ai , actualizar la oferta del origen Oi a cero y prescindir de la fila i para


asignaciones posteriores. Se actualiza la demanda a bj − ai .

• Si el mínimo es bj , actualizar la demanda del destino Dj a cero y prescindir de la columna j en


asignaciones posteriores. Se actualiza la oferta a ai − bj .

• Si ai y bj tienen el mismo valor, la oferta y la demanda se actualizan a cero al mismo tiempo. Se


prescinde de la fila i y de la columna j en asignaciones posteriores.

Paso 3. Se pueden dar dos casos:

• Si queda sólo una fila o sólo una columna, se asignan todas las unidades que están sin asignar.
Parar.

• En otro caso, ir al Paso 1.

También podría gustarte