Los problemas combinatorios son aquellos en los cuales se desea determinar combinaciones óptimas. Se caracterizan por tener un número finito de soluciones factibles. Generalmente, este número es muy grande

Problema de Distribución o Transporte

Tenemos un conjunto de lugares, cada uno de los cuales tiene disponible una cantidad de unidades de un producto. Otro conjunto de lugares, cada uno de los cuales demanda una cantidad de unidades de un producto. Se conoce el costo de enviar una unidad desde el origen hasta el destino . Si la cantidad de unidades de un producto no es igual a la demanda, entonces tendremos que definir destinos ficticios, ya sean para indicar faltantes como sobrantes.

El objetivo es determinar la cantidad de unidades de producto que cada origen envía a cada destino, para minimizar los costos de transporte totales en un cierto periodo de tiempo.

Supondremos que el producto es homogéneo (el mismo en origen y en destino), y los costos de envío son lineales (proporcionales a la cantidad de producto enviado).

Formulación

Definimos como la cantidad de unidades del origen a enviar al destino . Debemos asegurarnos que se cumpla la demanda y la disponibilidad de todos los productos.

Para definir el funcional, definiremos las constantes que indica el costo de distribuir unidad del origen al destino

Existe un teorema que demuestra que, si todas las ofertas son números enteros, y todas las demandas son números enteros, siendo todas las restricciones igualdades, el problema de distribución o transporte tendrá como resultado que todas las variables tomarán valor entero.

Problema de Transbordo

En este problema, las unidades no son enviadas directamente desde los orígenes hacia los destinos, sino que las unidades van desde los orígenes hasta alguno de los centros de transbordo y desde este a alguno de los destinos.

Formulación

Definimos como la cantidad de unidades que son enviadas desde el origen hasta el transbordo . También definimos la cantidad de unidades que son enviadas del transbordo hasta el destino . Debemos asegurarnos que se cumpla la demanda y la disponibilidad de todos los productos.

Por otro lado, todo lo que entra en un transbordo debe salir

Para calcular el funcional, definimos la constante como el costo de enviar una unidad del origen al transbordo . También definimos como el costo de enviar una unidad del transbordo al destino .

Problema de Asignación

Sean , dos conjuntos con elementos. El problema de asignación consiste en encontrar el conjunto tal que cada elemento de es un par , tal que minimice una función de costo . Se debe cumplir que cada elemento de debe aparecer en exactamente una vez, y cada elemento de debe aparecer en exactamente una vez.

Definimos la variable bivalente como positiva si el elemento de está asignado al elemento de . Luego restringimos a que cada elemento aparezca una sola vez.

Para el funcional, definimos la constante como el costo de asociar el elemento con el elemento .

Asignación Cuadrática

Ocurre cuando existe un costo o beneficio que se produce únicamente si se dan dos asociaciones particulares en conjunto.

Sea el costo asociado al par de asociaciones y . Entonces el funcional valdría:

Parece que el funcional es cuadrático. Para solucionarlo, definimos una nueva variable que tome valor uno si ambas asociaciones se cumplen:

Cambiamos el funcional por el linealizado

Problema de la Mochila

Este problema se caracteriza por tener una persona con una mochila con una cierta capacidad, y tiene que elegir qué elementos pondrá en ella. Cada elemento aportará un valor, pero también ocupará espacio en la mochila.

Definiendo las siguientes variables:

  • Capacidad de la mochila constante: .
  • Beneficio unitario por llevar el producto :
  • Peso del producto :
  • Cantidad de elementos constante:

Por último, defino como verdadero si llevo el elemento en la mochila. Entonces podemos plantear el modelo como:

El problema es simple, pero existen múltiples variantes

Acotado

En lugar de contar con un elemento de cada tipo, podremos llevar muchos. Bastaría con utilizar variables enteras en lugar de las bivalentes, definiendo límites de ser necesario.

Suma de Subconjuntos

Si el beneficio de cada elemento equivale a su peso, estamos ante un problema de suma de subconjuntos.

Múltiples Mochilas

En este caso, definiremos si se lleva el elemento en la mochila . Luego

Cada elemento puede estar en una única mochila

Calendarización (Scheduling)

Se busca encontrar una solución a la pregunta ¿En qué orden deberán ejecutarse las tareas? ¿Quién deberá ejecutar cada tarea? Analicemos el caso de una fábrica.

Definimos dos variables. como el tiempo en el que empieza la tarea en la máquina , y como el tiempo en el que finaliza la tare en la máquina . Si las tareas no se interrumpen, tendremos que:

Siendo el tiempo constante que le toma a la máquina ejecutar la tarea .

Si únicamente tenemos dos tareas, y si las tareas deben ejecutarse primero en la máquina y luego en la máquina , entonces debemos definir que:

Si buscamos el tiempo total que toma completar el trabajo, entonces tendremos que:

Las tareas no pueden ejecutarse a la vez en cada máquina, esto se puede plantear indicar que se deben cumplir uno de dos casos. La tarea finaliza antes de que empiece la tarea . La tarea finaliza antes de que empiece la tarea . Planteamos entonces para cada par desordenado de tareas en cada máquina .

Notación

Es un problema tan común que se propuso una notación para identificarlos:

El término representa el entorno de máquinas. Una única máquina se representa con un uno, máquinas idénticas se identifica con .

El segundo término índica las características de la tarea. en este término indica que las tareas son interrumpibles

El último término incluye la función objetivo. Minimizar el término se denota con .

Satisfacibilidad Booleana - SAT

Dada una función proposicional en su forma normal conjuntiva, hallar los valores para los cuales la proposición es verdadera.

Se definen como variables binarias o bivalentes y definimos como verdadera si existe solución. Luego planteamos las restricciones de la forma:

Donde son las proposiciones cuya intersección forma la función proposicional original.

Uncapacitated Facility Location (UFL)

Se debe decidir dónde abrir los depósitos, qué proporción de la demanda de los clientes satisface cada depositó abierto.

Definimos como la fracción de la demanda de la zona satisfecha por el depósito ubicado en . Por otro lado, valdrá cuando se establece un depósito en .

Conoceremos como el costo anual fijo de establecer un depósito en el lugar , y como el costo de producción y distribución si el depósito que está ubicado en le proporcionará al cliente todo lo que este demanda.

El modelo propuesto por Erlenkotter (1978) es minimizar:

Se debe satisfacer toda la demanda de todos los clientes

Para que una fábrica distribuya producto, deberá haber sido establecida

Para que tenga sentido, se define como bivalente y como positiva,