Está en la página 1de 62

Optimización

Grado en Marina

Curso 2023-2024
Indice

1 Introducción

2 Problemas de Programación Lineal

3 Optimización con Excel

4 Modelizacion. Ejemplos
Introducción

En el diseño, construcción y mantenimiento de cualquier


sistema de ingenierı́a, los ingenieros tienen que tomar muchas
decisiones tecnológicas y de gestión.

• Ubicación de un nuevo almacen.


• Organigrama de mantenimiento y reemplazo de equipos.
• Planificación y análisis de operaciones existentes.
• Aumentar/reducir plantilla.
• Reducir el consumo energético y/o los costos operativos.
• Incrementar las ganancias.
• Aumentar la fiabilidad del sistema.
Ejemplo A: Taller de manufactura.
• Una máquina procesa diferentes tareas, pero sólo una a la vez.
• La máquina requiere cierta configuración (tamaño y colocación
de cuchillas, colorantes para alguna fibra, ...)
• Cada vez que una tarea termine, es necesario preparar la
máquina para procesar una nueva tarea (invertir tiempo).
• Durante las labores de preparación de la máquina no se pude
ejecutar ninguna de las tareas, (tiempo perdido, costo para la
empresa).

Encontrar el orden en el cual deben ejecutarse las tareas con el fin


de reducir al mı́nimo todo ese tiempo perdido.
Ejemplo B: Elección del diámetro económico de una
tuberı́a
• A mayor diámetro mayor es el costo fijo (contiene más material)
pero disminuyen los costos operativos (potencia de bombeo).
• A menores diámetros, disminuyen los costos fijos pero
aumentan los operativos.
Solución óptima: será aquella que minimice la suma de ambos
costos, es decir el costo total.
Nuestro Objetivo
Cómo la optimización puede ayudar en la toma de decisiones.

Optimización
Es el acto de obtener el mejor resultado, en determinadas
circunstancias.

Investigación Operativa
La Investigación de Operaciones es una rama de las
matemáticas relacionadas con la aplicación de métodos
cientı́ficos y técnicas en la mejora de la efectividad en las
operaciones, decisiones y gestión.
La Investigación Operativa

La Investigación Operativa se ocupa de la toma de decisiones


óptimas y de modelar sistemas que se originan en la vida.
Objetivo de un modelo
Reproducir la realidad de la forma más fiel posible, tratando de
entender cómo se comporta el mundo real y obteniendo las
respuestas que pueden esperarse de determinadas acciones.
Modelización

Definición de Modelo
Esquema teórico, generalmente en forma matemática, de un
sistema o de una realidad compleja, que se elabora para
facilitar su comprensión y el estudio de su comportamiento
(RAE).
Dos riesgos importantes:
• Modelado Exhaustivo, cuasi real. Puede ocasionar la
carencia de un algoritmo que solucione el problema.
• Modelado Simplista para utilizar un algoritmo disponible.
Pueden llegar a darse soluciones de un problema que no
existe.
El modelado debe ser un compromiso entre ambos.
Ejemplo
En un puerto se realizan cuatro tipos de trabajos: A,B,C,D para
cargar un barco y las autoridades portuarias pueden contratar dos
grupos de estibadores, M y N.
¿Cuántos grupos de cada tipo deben contratar para que el costo de
cargar un barco sea mı́nimo?
Fases en la construcción de un
modelo de Optimización
1) Identificación del problema
A partir de la realidad a analizar se obtiene un resumen de la
misma con la identificación de los objetivos y los recursos
involucrados.
• Objetivo: ¿Cuántos grupos de tipo M y N deben contratarse
para que el costo de cargar un barco sea mı́nimo?
• Recursos involucrados:
• La carga de trabajo que cada tipo de estibador puede
realizar para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de cada tarea para cargar un barco:
Tarea A: al menos 400 horas
Tarea B: al menos 600 horas
Tarea C: al menos 2000 horas
Tarea D: al menos 1700 horas.
Fases en la construcción de un
modelo de Optimización
1) Identificación del problema
A partir de la realidad a analizar se obtiene un resumen de la
misma con la identificación de los objetivos y los recursos
involucrados.
• Objetivo: ¿Cuántos grupos de tipo M y N deben contratarse
para que el costo de cargar un barco sea mı́nimo?
• Recursos involucrados:
• La carga de trabajo que cada tipo de estibador puede
realizar para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de cada tarea para cargar un barco:
Tarea A: al menos 400 horas
Tarea B: al menos 600 horas
Tarea C: al menos 2000 horas
Tarea D: al menos 1700 horas.
Fases en la construcción de un
modelo de Optimización
1) Identificación del problema
A partir de la realidad a analizar se obtiene un resumen de la
misma con la identificación de los objetivos y los recursos
involucrados.
• Objetivo: ¿Cuántos grupos de tipo M y N deben contratarse
para que el costo de cargar un barco sea mı́nimo?
• Recursos involucrados:
• La carga de trabajo que cada tipo de estibador puede
realizar para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de cada tarea para cargar un barco:
Tarea A: al menos 400 horas
Tarea B: al menos 600 horas
Tarea C: al menos 2000 horas
Tarea D: al menos 1700 horas.
Fases en la construcción de un
modelo de Optimización
1) Identificación del problema
A partir de la realidad a analizar se obtiene un resumen de la
misma con la identificación de los objetivos y los recursos
involucrados.
• Objetivo: ¿Cuántos grupos de tipo M y N deben contratarse
para que el costo de cargar un barco sea mı́nimo?
• Recursos involucrados:
• La carga de trabajo que cada tipo de estibador puede
realizar para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de cada tarea para cargar un barco:
Tarea A: al menos 400 horas
Tarea B: al menos 600 horas
Tarea C: al menos 2000 horas
Tarea D: al menos 1700 horas.
Fases en la construcción de un
modelo de Optimización
2) Construcción de un modelo matemático
Identificar conjunto de variables de decisión con las cuales se
formulan de forman los objetivos a alcanzar y las restricciones
asociadas a la utilización de los recursos.
• Variables:
Número de estibadores de tipo M.
Número de estibadores de tipo N.
• Restricciones:
• Horas necesarias de tarea A para cargar un barco
debe ser al menos 400.
• Horas necesarias de tarea B para cargar un barco
debe ser al menos 600.
• Horas necesarias de tarea C para cargar un barco
debe ser al menos 2000.
• Horas necesarias de tarea D para cargar un barco
debe ser al menos 1700.
Fases en la construcción de un
modelo de Optimización
2) Construcción de un modelo matemático
Identificar conjunto de variables de decisión con las cuales se
formulan de forman los objetivos a alcanzar y las restricciones
asociadas a la utilización de los recursos.
• Variables:
Número de estibadores de tipo M.
Número de estibadores de tipo N.
• Restricciones:
• Horas necesarias de tarea A para cargar un barco
debe ser al menos 400.
• Horas necesarias de tarea B para cargar un barco
debe ser al menos 600.
• Horas necesarias de tarea C para cargar un barco
debe ser al menos 2000.
• Horas necesarias de tarea D para cargar un barco
debe ser al menos 1700.
Fases en la construcción de un
modelo de Optimización
2) Construcción de un modelo matemático
Identificar conjunto de variables de decisión con las cuales se
formulan de forman los objetivos a alcanzar y las restricciones
asociadas a la utilización de los recursos.
• Variables:
Número de estibadores de tipo M.
Número de estibadores de tipo N.
• Restricciones:
• Horas necesarias de tarea A para cargar un barco
debe ser al menos 400.
• Horas necesarias de tarea B para cargar un barco
debe ser al menos 600.
• Horas necesarias de tarea C para cargar un barco
debe ser al menos 2000.
• Horas necesarias de tarea D para cargar un barco
debe ser al menos 1700.
Fases en la construcción de un
modelo de Optimización

2) Construcción de un modelo matemático


Una vez construido el modelo...
• Identificación del tipo de problema: Programación Lineal
(PL), Programación Entera (PE), no lineal (PNL)...
• Análisis de tamaño y estructura del problema (cuántas
variables y restricciones tiene...)
Fases en la construcción de un
modelo de Optimización
3) Resolución
Condicionada por el tipo de modelo y su complejidad.
4) Verificación y validación del modelo y solución obtenida
Los modelos no suelen ser siempre perfectos, sino que son una
aproximación de la realidad, por ello es necesario contrastar los
resultados de los mismos con la realidad.
5) Establecimiento de controles sobre la solución
Disponer de un mecanismo de control sobre el comportamiento
del sistema modelado que considere la detección de los
cambios y las oportunos ajustes del modelo para adaptarse a
los mismo.
6) Puesta en marcha de la solución.
Recoger la utilidad de las soluciones obtenidas para ser
aplicadas en la práctica.
Elementos de un modelo

• Función objetivo.
Medida cuantitativa del funcionamiento del sistema que se
desea optimizar (maximizar o minimizar). Podemos encontrar
lineales, cuadráticas, no lineales, convexas, cóncavas, etc.
Objetivo: ¿Cuántos estibadores de tipos M y N deben
contratarse para que el costo de cargar un barco sea
mı́nimo?
La contratación (en miles) de un grupo M cuesta 20
eur/semana y el grupo N 8 eur/semana.
Elementos de un modelo

• Variables.
Representan las decisiones que se pueden tomar para afectar el
valor de la función objetivo. Encontramos variables no negativas,
enteras, binarias, etc.
xM : Cuántos grupos de tipo M.
xN : Cuántos grupos de tipo N.
Elementos de un modelo
• Restricciones.
Representan el conjunto de relaciones (expresadas mediante
ecuaciones e inecuaciones) que ciertas variables están
obligadas a satisfacer.

La carga de trabajo que cada tipo de estibador puede realizar


para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de tarea A para cargar un barco debe ser
al menos 400.
Total de horas que se pueden echar en la tarea A con
todos los grupos contratados de tipo M y grupo N ≥ 400.

100 ∗ xM + 0 ∗ xN ≥ 400.
Elementos de un modelo
• Restricciones.
Representan el conjunto de relaciones (expresadas mediante
ecuaciones e inecuaciones) que ciertas variables están
obligadas a satisfacer.

La carga de trabajo que cada tipo de estibador puede realizar


para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de tarea A para cargar un barco debe ser
al menos 400.
Total de horas que se pueden echar en la tarea A con
todos los grupos contratados de tipo M y grupo N ≥ 400.

100 ∗ xM + 0 ∗ xN ≥ 400.
Elementos de un modelo
• Restricciones.
Representan el conjunto de relaciones (expresadas mediante
ecuaciones e inecuaciones) que ciertas variables están
obligadas a satisfacer.

La carga de trabajo que cada tipo de estibador puede realizar


para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de tarea B para cargar un barco debe ser
al menos 600.
Total de horas que se pueden echar en la tarea B con
todos los grupos contratados de tipo M y grupo N ≥ 600.

0 ∗ XM + 80 ∗ xN ≥ 600.
Elementos de un modelo
• Restricciones.
Representan el conjunto de relaciones (expresadas mediante
ecuaciones e inecuaciones) que ciertas variables están
obligadas a satisfacer.

La carga de trabajo que cada tipo de estibador puede realizar


para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de tarea B para cargar un barco debe ser
al menos 600.
Total de horas que se pueden echar en la tarea B con
todos los grupos contratados de tipo M y grupo N ≥ 600.

0 ∗ XM + 80 ∗ xN ≥ 600.
Elementos de un modelo
• Restricciones.
Representan el conjunto de relaciones (expresadas mediante
ecuaciones e inecuaciones) que ciertas variables están
obligadas a satisfacer.

La carga de trabajo que cada tipo de estibador puede realizar


para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de tarea C para cargar un barco debe ser
al menos 2000.
Total de horas que se pueden echar en la tarea C con
todos los grupos contratados de tipo M y grupo N ≥ 2000.

100 ∗ XM + 200 ∗ xN ≥ 2000.


Elementos de un modelo
• Restricciones.
Representan el conjunto de relaciones (expresadas mediante
ecuaciones e inecuaciones) que ciertas variables están
obligadas a satisfacer.

La carga de trabajo que cada tipo de estibador puede realizar


para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de tarea C para cargar un barco debe ser
al menos 2000.
Total de horas que se pueden echar en la tarea C con
todos los grupos contratados de tipo M y grupo N ≥ 2000.

100 ∗ XM + 200 ∗ xN ≥ 2000.


Elementos de un modelo
• Restricciones.
Representan el conjunto de relaciones (expresadas mediante
ecuaciones e inecuaciones) que ciertas variables están
obligadas a satisfacer.

La carga de trabajo que cada tipo de estibador puede realizar


para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de tarea D para cargar un barco debe ser
al menos 1700.
Total de horas que se pueden echar en la tarea D con
todos los grupos contratados de tipo M y grupo N ≥ 1700.
150 ∗ XM + 120 ∗ xN ≥ 1700.

´
Elementos de un modelo
• Restricciones.
Representan el conjunto de relaciones (expresadas mediante
ecuaciones e inecuaciones) que ciertas variables están
obligadas a satisfacer.

La carga de trabajo que cada tipo de estibador puede realizar


para cargar un barco (en horas):
A B C D
M 100 100 150
N 80 200 120
• Horas necesarias de tarea D para cargar un barco debe ser
al menos 1700.
Total de horas que se pueden echar en la tarea D con
todos los grupos contratados de tipo M y grupo N ≥ 1700.
150 ∗ XM + 120 ∗ xN ≥ 1700.

´
Problema de optimización con restricciones
 
x1
 x2 
Encontrar X =  .  que minimice o maximice f (X )
 
.
 . 
xn
sujeto a las restricciones

gj (X ) ≤ 0, j = 1, 2, . . . , m
hj (X ) ≥ 0, j = 1, 2, . . . , k
lj (X ) = 0, j = 1, 2, . . . , p,

X : vector de decisión
f (X ): función objetivo
gj (X ), hj (X ) y lj (X ): restricciones del problema.
Ejemplos:

max Q = 4x1 + 2x2 − 0,5x12 − 0,25x22


s.a. 480x1 + 300x2 ≤ 24000
xi ≥ 0

max 2x1 + x2
s.a. 5x1 + 2x2 ≤ 10
3x1 + 5x2 ≤ 15
x1 , x2 ≥ 0.

min 60x1 + 210x2


s.a. 1000x1 + 2000x2 ≥ 3000
25x1 + 100x2 ≥ 100
x1 , x2 ≥ 0.
Ejemplo 1. Problema de Programación Lineal
Una almacén de cereales posee contenedores de tipo A y B para ser
transportados. El personal de dicho almacén dispone de 180 horas
mensuales destinadas a esta actividad. La capacidad de dicho
almacén es de 1000 toneladas de cereales. El contenedor de tipo A
necesita 20 toneladas para ser llenados y el B 10 toneladas. El
número de horas necesarias para cargar contenedor de tipo A es 3 y
2 para el de tipo B. Y los beneficios obtenidos de la venta son 500 y
300 euros para los de tipo A y B respectivamente. Calcular el número
de cada tipo que deben de rellenarse para que el beneficio sea
máximo.
Ejemplo 1. Problema de Programación Lineal
Una almacén de cereales posee contenedores de tipo A y B para ser transportados. El
personal de dicho almacén dispone de 180 horas mensuales destinadas a esta
actividad. La capacidad de dicho almacén es de 1000 toneladas de cereales. El
contenedor de tipo A necesita 20 toneladas para ser llenados y el B 10 toneladas. El
número de horas necesarias para cargar contenedor de tipo A es 3 y 2 para el de tipo
B. Y los beneficios obtenidos de la venta son 500 y 300 euros para los de tipo A y B
respectivamente. Calcular el número de cada tipo que deben de rellenarse para que el
beneficio sea máximo.

• Paso 1: Determinar las variables de decision o de entrada


y representarlas algebraicamente.
Ejemplo 1. Problema de Programación Lineal
Una almacén de cereales posee contenedores de tipo A y B para ser transportados. El
personal de dicho almacén dispone de 180 horas mensuales destinadas a esta
actividad. La capacidad de dicho almacén es de 1000 toneladas de cereales. El
contenedor de tipo A necesita 20 toneladas para ser llenados y el B 10 toneladas. El
número de horas necesarias para cargar contenedor de tipo A es 3 y 2 para el de tipo
B. Y los beneficios obtenidos de la venta son 500 y 300 euros para los de tipo A y B
respectivamente. Calcular el número de cada tipo que deben de rellenarse para que el
beneficio sea máximo.

• Paso 1: Determinar las variables de decision o de entrada


y representarlas algebraicamente.

x1 = número de contenedores tipo A


x2 = número de contenedores tipo B.
Ejemplo 1. Problema de Programación Lineal
Una almacén de cereales posee contenedores de tipo A y B para ser transportados. El
personal de dicho almacén dispone de 180 horas mensuales destinadas a esta
actividad. La capacidad de dicho almacén es de 1000 toneladas de cereales. El
contenedor de tipo A necesita 20 toneladas para ser llenados y el B 10 toneladas. El
número de horas necesarias para cargar contenedor de tipo A es 3 y 2 para el de tipo
B. Y los beneficios obtenidos de la venta son 500 y 300 euros para los de tipo A y B
respectivamente. Calcular el número de cada tipo que deben de rellenarse para que el
beneficio sea máximo.

x1 = número de contenedores tipo A


x2 = número de contenedores tipo B.

• Paso 2: Determinar las restricciones expresándolas como


ecuaciones o inecuaciones de las variables de decision.

Capacidad
Horas disponibles
Ejemplo 1. Problema de Programación Lineal
Una almacén de cereales posee contenedores de tipo A y B para ser transportados. El
personal de dicho almacén dispone de 180 horas mensuales destinadas a esta
actividad. La capacidad de dicho almacén es de 1000 toneladas de cereales. El
contenedor de tipo A necesita 20 toneladas para ser llenados y el B 10 toneladas. El
número de horas necesarias para cargar contenedor de tipo A es 3 y 2 para el de tipo
B. Y los beneficios obtenidos de la venta son 500 y 300 euros para los de tipo A y B
respectivamente. Calcular el número de cada tipo que deben de rellenarse para que el
beneficio sea máximo.

x1 = número de contenedores tipo A


x2 = número de contenedores tipo B.

• Paso 2: Determinar las restricciones expresándolas como


ecuaciones o inecuaciones de las variables de decision.

Capacidad 20x1 + 10x2 ≤ 1000


Horas disponibles 3x1 + 2x2 ≤ 180
Ejemplo 1. Problema de Programación Lineal
Una almacén de cereales posee contenedores de tipo A y B para ser transportados. El
personal de dicho almacén dispone de 180 horas mensuales destinadas a esta
actividad. La capacidad de dicho almacén es de 1000 toneladas de cereales. El
contenedor de tipo A necesita 20 toneladas para ser llenados y el B 10 toneladas. El
número de horas necesarias para cargar contenedor de tipo A es 3 y 2 para el de tipo
B. Y los beneficios obtenidos de la venta son 500 y 300 euros para los de tipo A y B
respectivamente. Calcular el número de cada tipo que deben de rellenarse para que el
beneficio sea máximo.

• Paso 3: Expresar todas las condiciones implı́citamente


establecidas por la naturaleza de las variables (que no
puedan ser negativas, que sean enteras, que solo pueden
tomar determinados valores, etc.)
Debemos imponer que sean x1 ≥ 0 y x2 ≥ 0.
Ejemplo 1. Problema de Programación Lineal
Una almacén de cereales posee contenedores de tipo A y B para ser transportados. El
personal de dicho almacén dispone de 180 horas mensuales destinadas a esta
actividad. La capacidad de dicho almacén es de 1000 toneladas de cereales. El
contenedor de tipo A necesita 20 toneladas para ser llenados y el B 10 toneladas. El
número de horas necesarias para cargar contenedor de tipo A es 3 y 2 para el de tipo
B. Y los beneficios obtenidos de la venta son 500 y 300 euros para los de tipo A y B
respectivamente. Calcular el número de cada tipo que deben de rellenarse para que el
beneficio sea máximo.

• Paso 4: Determinar la función objetivo.


El objetivo de este problema es maximizar beneficios:
max 500x1 + 300x2 .
max 500x1 + 300x2
s.a.
20x1 + 10x2 ≤ 1000
3x1 + 2x2 ≤ 180
x1 , x2 ≥ 0

• Como veremos más adelante, este es un ejemplo de un


Problema de Programación Lineal (función objetivo y
restricciones lineales).
• Si añadimos que las variables sean, además de no
negativas, enteras, se trata de un Problema de
Programación Lineal Entera (PPE).
• Los modelos de programación entera son una extensión
de los modelos lineales en los que algunas variables
toman valores enteros.
• Con frecuencia las variables enteras sólo toman valores
0-1, ya que este tipo de variables permiten representar
condiciones lógicas,
• Este tipo de modelos permite representar sistemas mucho
más complejos.
• A cambio, la resolución de los mismos se complica
excesivamente (problemas con unas decenas de variables
pueden ser casi imposibles de resolver).
Problemas de Programación Lineal

Definición
Una función f (x1 , x2 , . . . , xn ) de x1 , x2 , . . . , xn es una función
lineal si y sólo si para algún conjunto de constantes
c1 , c2 , . . . , cn es f (x1 , x2 , . . . , xn ) = c1 x1 + c2 x2 + . . . + cn xn .
Ejemplo: f (x1 , x2 ) = 2x1 + x2 es una función lineal de x1 y x2 , pero
f (x1 , x2 ) = x12 x2 no es una función lineal de x1 y x2 .
Definición
Para cualquier función lineal f (x1 , x2 , . . . , xn ) y cualquier
número b, las desigualdades f (x1 , x2 , . . . , xn ) ≤ b y
f (x1 , x2 , . . . , xn ) ≥ b son desigualdades lineales.
Ejemplo: 2x1 + 3x2 ≤ 3 y 2x1 + x2 ≥ 3 son desigualdades lineales,
pero x12 x2 ≥ 3 no es una desigualdad lineal.
Un Problema de Programación Lineal (PPL ó PL) es un
problema de optimización para el cuál se efectúa lo siguiente:
1 Se intenta maximizar (minimizar) una función lineal de las
variables de decisión (función objetivo).
2 Los valores de las variables de decisión deben satisfacer
un conjunto de restricciones, donde cada restricción debe
ser una ecuación lineal o una desigualdad lineal.
3 Se relaciona una restricción de signo con cada variable.
Para cualquier variable xi , la restricción de signo
especifica que xi no debe ser negativa (xi ≥ 0) o no tener
restricciones de signo.
En general un Problema de Programación Lineal podrá
plantearse como:

maximizar(minimizar) c1 x1 + c2 x2 + . . . + cn xn
s.a.
a11 x1 + a12 x2 + . . . + a1n xn (=, ≤, ≥)b1
a21 x1 + a22 x2 + . . . + a2n xn (=, ≤, ≥)b2
..
.
am1 x1 + am2 x2 + . . . + amn xn (=, ≤, ≥)bm
xj ≥ 0; j = 1, . . . , n.
Problemas de Programación Lineal
Problemas de Programación Lineal

• Solución factible: solución para la que se satisfacen


todas las restricciones.
• Región factible: conjunto de todas las soluciones
factibles.
• Solución óptima: una solución factible que tiene el valor
más favorable de la función objetivo (si minimizamos, el
menor valor, si maximizamos, el valor más grande).
Problemas de Programación Lineal
Región Factible: situaciones que se pueden presentar

Región factible acotada: el problema tiene solución (puede ser


única o tener varias soluciones):
Problemas de Programación Lineal
Región Factible: situaciones que se pueden presentar

Región factible NO acotada: el problema puede tener solución


finita o solución no acotada):

min 60x1 + 210x2


s.a.
1000x1 + 2000x2 ≥ 3000
25x1 + 100x2 ≥ 100
x1 , x2 ≥ 0.
Problemas de Programación Lineal
Región Factible: situaciones que se pueden presentar
Región factible vacı́a: el problema es infactible, no tiene
ninguna solución factible y por tanto, no tiene solución:

max 4x1 + 3x2


s.a.
x1 + x2 ≤ 3
2x1 − x2 ≤ 3
x1 ≥ 4
xj ≥ 0, j = 1, 2.
Resolución de un problema de
programación lineal

• Resolución gráfica (2 variables)


• Algoritmo Simplex (Dantzig, 1947).
• Excel, Lindo, Cplex, Xpress...
• LP Solver, R, ...
• PHP Simplex (online)
Optimización con Excel

El Solver es un complemento de la hoja de cálculo Excel orientado a


la resolución de problemas de optimización básicos.
• Alternativa sencilla y practica a los programas especializados de
optimización (cuando no se trata de problemas de gran escala).
• Resuelve problemas de optimización lineal, entera y no lineal.
• Resuelve problemas que tengan hasta 200 variables de
decisión, 100 restricciones explı́citas y 400 simples (cotas
superior e inferior o restricciones enteras sobre las variables de
decisión).
Optimización con Excel

Instalando Solver: si está instalado, debe aparecer en la


pestaña “Datos”. Si no aparece instalar siguiendo una ruta
similar (dependiendo de la versión) a

Archivo/Opciones/complementos/Administrar complementos de Excel/ir/Solver

Observación: No existe una forma única para colocar los datos


de un problema de optimización.
Optimización con Excel

Ejemplo:

max x1 + 0,7x2
s.a.
0,7x1 + 0,31x2 ≤ 6000
0,06x1 + 0,09x2 ≤ 2400
0,24x1 + 0,6x2 ≤ 12000
x1 , x2 ≥ 0.
Ponemos 0

= D4+0.7*E4

= 0.7*D4+0.31*E4
Las restricciones de no
= 0.06*D4+0.09*E4 negatividad 𝑥1 ≥ 0, 𝑥2 ≥ 0
no se añaden aquí
= 0.24*D4+0.6*E4
Celda donde está la función objetivo

Celda donde están las variables Añadimos las restricciones pulsando


Agregar

Marcar para que las variables sean


no negativas
Celda donde está el lado dcho.
de la restricción
Celda donde está el lado izqdo.
de la restricción
Especificar tipo de desigualdad

Damos a agregar e introducimos la


siguiente restricción
Valor óptimo de la función objetivo
Valor óptimo de las variables

Informa de si encontró una solución


(puede haber más de una) o no

Se puede observar cuánto se ajustan los


valores en las restricciones
Modelización. Ejemplos

Ejemplo 3
Fábrica produce dos tipos de turbinas.
La primera se vende a 450 euros y contiene 150 gramos de un
componente C1, 100 gramos de componente C2 y 80 gramos de
componente C3.
El segundo se vende a 560 euros y contiene 200 gramos del
componente C1, 100 gramos del componente C2 y 100 gramos del
componente C3.
Se dispone de 200 kg del componente C1, 130 kg del componente
C2 y 104 kg del componente C3.
La empresa sólo puede fabricar 1200 turbinas en total.
¿Cuántas turbinas de cada tipo convendrı́a fabricar para que el
beneficio sea máximo?
Modelización. Ejemplos

Ejemplo 4
En un puerto hay dos grúas, un jefe de operaciones y tres
estibadores. En las grúas se hacen operaciones carga y descarga en
general.
Un servicio de carga requiere: 0.75 horas de la grúa, 1.5 de trabajo
de un estibador y 0.25 horas de trabajo del jefe.
Un servicio de descarga requiere: 0.75 horas de la grúa, 1 hora de
trabajo de un estibador y 0.5 horas de trabajo del jefe.
Por cada operación de carga se obtiene un beneficio de 30 euros y
por cada servicio de descarga se obtiene un beneficio de 25 euros.
Tanto el jefe de operaciones como los estibadores trabajan 8 horas
diarias.
¿Cómo se deben distribuir el trabajo, entre cargas y descargas, para
que el beneficio sea máximo? Formula el modelo.
Modelización. Ejemplos

Ejemplo 5
Un destacamento militar formado por 40 soldados de Ingenieros, 36 especialistas
dinamiteros, 88 antiguerrilleros y 120 infantes como tropa de apoyo, ha de
transportarse hasta una posición estratégica importante. En el parque de la base se
dispone de 4 tipos de vehı́culos A,B,C,D, acondicionados para el transporte de tropas.
El número de personas que cada vehı́culo puede transportar se detalla en la siguiente
tabla:

Ingenieros Dinamiteros Antiguerrillas Infantes


A 3 2 1 4
B 1 1 2 3
C 2 1 2 2
D 3 2 3 1

Los gastos de gasolina de cada vehı́culo hasta el punto de destino se estiman en 160,
80, 40 y 120 litros respectivamente. Si queremos ahorrar gasolina. ¿Cuántos vehı́culos
de cada tipo habrá que utilizar para que el gasto de gasolina sea el menor posible?
min 160x1 + 80x2 + 40x3 + 120x4
s.a. Solución en Excel: infactible.
¿Qué pasa?
3x1 + x2 + 2x3 + 3x4 = 40 ¿Qué ocurririrá si ponemos las
2x1 + x2 + x3 + 2x4 = 36 restricciones como ӳx1 + 2x2 + 2x3 + 3x4 = 88 ¿Y si las ponemos como ”≤¿
4x1 + 3x2 + 2x3 + x4 = 120
xi ≥ 0; enteros
Modelización. Ejemplos

Problema de la dieta. Ejemplo 6


Sobre dos alimentos diferentes tenemos la siguiente
información por kg:

Alimento Calorı́as Proteı́nas (gr) Precio (eur)


A 1000 25 60
B 2000 100 210

Hallar el coste mı́nimo de una dieta formada sólo por este tipo
de alimentos y que al menos aporte 3000 calorı́as y 100
gramos de proteı́nas.
Modelización. Ejemplos

Problemas de transporte. Ejemplo 7


Una empresa maderera posee dos almacenes: almacén 1 y almacén
2. Tiene que suministrar madera a dos fábricas de muebles, A y B.
Los almacenes tienen un capacidad de 120 toneladas de madera en
el almacén 1 y 250 toneladas en el almacén 2.
Las fábricas de muebles A y B requieren al menos 200 toneladas y
150 toneladas, respectivamente.
Llevar la madera desde cada almacén a cada fábrica tiene un coste
de transporte (en cientos de euros) en función de las toneladas que
se transporten. Ası́,

Fábrica A Fábrica B
Almacén 1 5 4
Almacén 2 5 6

¿Qué cantidad de madera debe transportarse desde cada almacén a


cada fábrica de forma que se minimice el coste total de transporte?
Solución en Excel: ¿Tiene solución?¿Cuándo
min 5x1A + 4x1B + 5x2A + 6x2B no tendrı́a solución?
s.a. • Capacidad total de los dos almacenes
x1A + x1B ≤ 120 (madera de la que se dispone):
120+250=370
x2A + x2B ≤ 250
• Demanda total de las fábricas (madera
x1A + x2A ≥ 200 que se necesita): 200 + 150 = 350
x1B + x2B ≥ 150
Tiene que ser CAPACIDAD ≥ DEMANDA
x1A , x1B , x2A , x2B ≥ 0.

También podría gustarte