Apuntes Profesora Font

172
PROGRAMACIÓN MATEMÁTICA CUADERNO DE TEORÍA Y EJERCICIOS Begoña Font Belaire

Transcript of Apuntes Profesora Font

Page 1: Apuntes Profesora Font

PROGRAMACIÓN MATEMÁTICA CUADERNO DE TEORÍA Y EJERCICIOS

Begoña Font Belaire

Page 2: Apuntes Profesora Font

2

Introducción a la Optimización 1.- Conceptos básicos de optimización Teoría 1: Concepto de solución y tipos de problemas

2.- Resolución gráfica de problemas de optimización Repaso 1: Representación gráfica de funciones escalares de dos variables

3.- Transformación de problemas Teoría 2: Transformación de problemas

4.- Resolución con ordenador de problemas de optimización

5.- Teoremas básicos de la programación matemática

Repaso 2: Conjuntos compactos, conjuntos convexos, y funciones cóncavas y convexas. Teoría 3: Teoremas básicos de la programación matemática Aprende a demostrar: Teorema local-global

Programación No Lineal

1.- Resolución del problema de programación no lineal en formato estándar

Teoría 1: Condiciones de punto de Kuhn y Tucker Teoría 2: Condiciones necesaria y suficiente de optimalidad de Kuhn y Tucker

2.- Resolución del problema de programación no lineal en formato no estándar

3.- Programación clásica Teoría 3: Condiciones necesaria y suficiente de óptimo en programación clásica

4.- Interpretación de los multiplicadores de Kuhn y Tucker Teoría 4: Teorema de la envolvente. Interpretación de los multiplicadores de Kuhn y Tucker

5.- Justificación de la condición necesaria de óptimo en programas no lineales

Teoría 5: Justificación geométrica de la condición necesaria de óptimo

Introducción a la Programación Lineal

1.- Formulación del problema de programación lineal y consecuencias

Teoría 1: Formulación del problema de programación lineal y consecuencias. Aprende a demostrar

2.- Soluciones factibles básicas

3.- Teoremas fundamentales de la programación lineal Teoría 2: Teoremas fundamentales

El Método Simplex

1.- El algoritmo del Simplex Teoría 1: Mejora de una solución factible básica Teoría 2: El algoritmo del Simplex

2.- Algunos ejemplos

3.- El método de las Penalizaciones

Page 3: Apuntes Profesora Font

3

Pág 6 a 21 Práctica 1: Planteamiento de un problema de optimización. Práctica 2: Resolución gráfica de problemas de optimización Práctica de Ordenador: Resolución de problemas de optimizacioón con GAMS

Colección de Ejercicios Colección de problemas de ordenador

Pág 22 a 43 Práctica 1: Condiciones de punto de Kuhn y Tucker en programas no estándar. Práctica 2: Resolución teórica de problemas de programación lineal Práctica 3: Resolución teórica de problemas de programación clásica Práctica de Ordenador: Resolución completa con ordenador de un PNL Aplicaciones económicas y empresariales: Programación no lineal.

Colección de Ejercicios Colección de problemas de ordenador Test 1: Introducción a la optimización y programación no lineal

Pág 44 a 55 Práctica 1: Clases de problemas lineales Práctica 2: Obtención de soluciones factibles básicas Práctica de Ordenador: Resolución de problemas lineales con GAMS. Aplicaciones económicas y empresariales: Programación lineal.

Colección de Ejercicios Colección de problemas de ordenador

Pág 56 a 73 Práctica 1: La tabla del Simples Práctica 2:Resolución con el algoritmo del Simplex de problemas lineales Práctica de Ordenador: Identificación en GAMS de la tabla del Simplex Práctica 3: El método de las Penalizaciones Práctica 4: Resolución de problemas lineales mixtos

Colección de Ejercicios Colección de problemas de ordenador

Page 4: Apuntes Profesora Font

4

Dualidad en Programación Lineal 1.- Formulación del problema dual

2.- Teoremas básicos de la dualidad Teoría 1: Teoremas básicos de la dualidad Aprende a demostrar: Teorema de la dualidad

3.- Relaciones entre la solución óptima primal y dual

4.- Interpretación económica del problema dual

Análisis de Sensibilidad y Post-Optimización 1.- Análisis de sensibilidad 2.- Análisis de post-optimización

3.- Análisis de sensibilidad y post-optimización con GAMS

Programación Lineal Entera

1.- Definición y clasificación de problemas lineales enteros

2.- Método de ramificación y acotación (Branch and Bound) Teoría: Método de ramificación y acotación

3.- Programación lineal entera con GAMS

Material Complementario A1.- Revisión de algunos elementos de álgebra lineal TEMAS 1 y 3 A2.- Resumen de la sintaxis del GAMS TEMAS 1 a 7 A3.- Modelo de resolución de programación no lineal TEMA 2 A4.- Respuestas del Test 1 TEMAS 1 y 2 A5.- Modelo de resolución de programación lineal y lineal entera

TEMAS 3 a 6 y 7

Bibliografía

Page 5: Apuntes Profesora Font

5

Pág 74 a 87 Práctica 1: Construcción del problema dual Práctica 2: Cálculo de la solución Práctica 3: Interpretación económica del problema dual Práctica de Ordenador 1: Dualidad en programación lineal Práctica de Ordenador 2: Interpretación económica del problema dual

Colección de Ejercicios Colección de problemas de ordenador

Pág 88 a 105 Práctica 1: Análisis de sensibilidad Práctica 2: Análisis de post-optimización Práctica de Ordenador 1: Análisis de dualidad, sensibilidad y post-optimización Práctica de Ordenador 2: Resolución completa con ordenador de un PL

Colección de Ejercicios Colección de problemas de ordenador Test 2: Programación lineal

Pág 106 a 123 Aplicaciones económicas y empresariales: PLE Práctica: Tipos de problemas lineales enteros Práctica de Ordenador 1: Resolución con GAMS de problemas enteros Práctica de Ordenador 2: Resolución completa con ordenador de un PLE

Colección de Ejercicios Colección de problemas de ordenador Test 3: Programación lineal entera

Pág 124 a 171 A6.- Respuestas del Test 2 TEMAS 3 a 6 A7.- Modelo de resolución de programación lineal entera TEMA 7 A8.- Respuestas del Test 3 TEMA 7 A9:- Exámenes oficiales de la asignatura “Programación Matemática” celebrados en la Universidad de Valencia durante el curso 2003-04

TEMAS 1 a 7

Pág 172

Page 6: Apuntes Profesora Font

6

Introducción a la Optimización

1.- Conceptos básicos de optimización

2.- Resolución gráfica de problemas de optimización

3.- Transformación de problemas

4.- Resolución con ordenador de problemas de optimización

5.- Teoremas básicos de la programación matemática Guerrero (1994) Cap. 3, 4 y 5, y Mocholí y Sala (1999) Cap. 3

1.- Conceptos básicos de optimización

PRÁCTICA 1: Planteamiento de un problema de optimización En esta asignatura estudiamos técnicas para el estudio y resolución de problemas de programación matemática. Estos problemas surgen cuando queremos resolver el problema económico que surge al intentar encontrar la asignación eficiente de recursos para cumplir unos objetivos económicos o empresariales.

Lee atentamente la siguiente diapositiva:

1) A partir del enunciado plantea en términos matemáticos el problema, programa o modelo de programación matemática e identifica los siguientes elementos del problema:

Variables principales o de decisión

Restricciones del problema: restricciones de mayor o igual, restricciones de igualdad, condiciones de no negatividad (o positividad), restricciones lineales y no lineales. Y relacionadas con éstas los conceptos de:

• Variables de decisión libres o acotadas, y continuas (toman su valor en R o en un intervalo de R) o discretas (toman su valor en Z).

Page 7: Apuntes Profesora Font

Tema 1

7

• Conjunto factible o de oportunidades del problema.

Función objetivo del problema: función objetivo lineal o no lineal.

2) PRACTICA AHORA TÚ con el siguiente enunciado: “Una tienda dedicada a la fabricación de trofeos deportivos recibe el encargo de un ayuntamiento de elaborar una serie de trofeos para la Semana Deportiva Municipal. Los trofeos que se han de entregar corresponden a las modalidades de fútbol, basket, carrera y tenis. La tienda ingresa 1200 u.m. por cada trofeo de fútbol, 750 u.m. por cada trofeo de basket, 800 u.m. por cada uno de carrera y 1000 u.m. por cada trofeo de tenis.

Cada trofeo requiere una serie de materiales para su fabricación: madera para la base, acero para la estructura y oro para los dorados y embellecedores. Además, se conocen las horas de mano de obra que necesita cada trofeo. Los datos aparecen en la siguiente tabla:

Madera

(en kilos)

Acero

(en kilos)

Oro

(en kilos)

Mano de obra

(en horas)

Fútbol 0.4 0.6 0.2 2.2

Basket 0.5 0.3 0.1 1.7

Carrera 0.6 0.3 0.1 1.2

Tenis 0.4 0.45 0.15 1.3

Las disponibilidades de la tienda son: 55 kilos de madera, 39 kilos de acero, 23 kilos de oro y 175 horas de mano de obra.

Determina cuál es la producción que maximiza los ingresos.”

TEORÍA 1: Concepto de solución y Tipos de problemas Generalizando lo que hemos visto en la sección anterior, el planteamiento matemático de un problema de programación matemática es el siguiente:

mn21m

2n212

1n211

n21

b)x,...,x,(xg

b)x,...,x,(xg b)x,...,x,(xg s.a

)x,...,x,f(xOpt

≤≤

M

donde f: Rn R es la función objetivo, gj:Rn R (j=1,...,m) son las funciones que definen las m restricciones del problema, y bj (j=1,...,m) son los términos independientes de las m restricciones.

Su resolución consistirá en averiguar el valor que han de tomar las variables principales del problema para que, cumpliéndose las restricciones del problema, el valor de la función objetivo sea máximo (en un problema de maximización) o mínimo (en un problema de minimización). En relación al concepto de solución podemos establecer las siguientes definiciones:

Una solución de un problema de programación es cualquier valor de sus variables principales x=(x1,x2,...,xn) para el que estén definidas todas las funciones.

Una solución factible de un problema es una solución que satisface todas las restricciones del problema, esto es, que pertenece al conjunto factible o de oportunidades S del mismo. Si no pertenece se dice que es infactible.

Page 8: Apuntes Profesora Font

Tema 1

8

Una solución factible de un problema es solución interior cuando se cumplen todas las restricciones con desigualdad, esto es, ninguna restricción es activa o saturada en esa solución. Y es solución frontera cuando alguna restricción es activa en dicha solución.

Una solución óptima del problema, cuando existe, es la mejor solución factible del problema, esto es, un máximo cuando consideramos un problema de maximizar o un mínimo cuando consideramos un problema de minimizar. Dada la función objetivo f:Rn R y el conjunto de oportunidades S, podemos distinguir los siguientes tipos de máximo (invirtiendo las relaciones tienes las definiciones correspondientes de mínimo): • x* es máximo local en S si existe ε>0 tal que ε*- : S para ),( f*)( f <∈≥ xxxxx

• x* es máximo local estricto en S si existe ε>0 tal que: ε*- : *}{-S para ),( f*)( f <∈> xxxxxx

• x* es máximo global en S si S para ),( f*)( f ∈≥ xxx

• x* es máximo global estricto en S si *}{-S para ),( f*)( f xxxx ∈>

1) Considera el problema de obtener máximo y mínimo de la función f(x)=x(x-1)(x-3) sin restricciones. ¿La función tiene máximo y/o mínimo global? ¿Y máximo y/o mínimo local?

2) Dibuja el conjunto de oportunidades del problema de programación planteado en la PRÁCTICA 1 y señala una solución, una solución factible, una solución interior y una solución frontera.

Clasificaremos los problemas de programación lineal atendiendo a dos categorías:

Según el tipo de solución distinguimos entre:

• Problemas infactibles: Se llaman así cuando el conjunto de oportunidades S es vacío.

• Problemas factibles: Cuando el conjunto S en no vacío. Pueden ser problemas acotados o no acotados según tengan o no óptimo global respectivamente.

Según la estructura distinguimos entre:

• Problemas de programación no lineal: Son problemas en los que las variables de decisión son continuas y la función objetivo y las restricciones son funciones de clase C2 (existen todas las derivadas parciales de segundo orden y son continuas) en Rn.

• Problemas de programación clásica: Son problemas en los que las variables de decisión son continuas, la función objetivo es de clase C2 en Rn y se cumple una de las siguientes

__________________________________

__________________________________

__________________________________

____________________________

____________________________

____________________________

Page 9: Apuntes Profesora Font

Tema 1

9

situaciones: no hay restricciones o éstas son de igualdad y definidas por funciones de clase C2 en Rn.

• Problemas de programación lineal: Son problemas en las que las variables de decisión son continuas y la función objetivo y las restricciones son funciones lineales.

• Problemas de programación lineal entera: Son problemas en las que algunas de las variables de decisión son enteras y la función objetivo y las restricciones son funciones lineales.

3) Clasifica el problema de programación planteado en la PRÁCTICA 1 según su estructura.

4) PRACTICA AHORA TÚ: Repite el ejercicio 3 con el problema enunciado en la PRÁCTICA 1.

5) PRACTICA AHORA TÚ: Resuelve los ejercicios 1 y 7 de la COLECCIÓN DE EJERCICIOS.

2.- Resolución gráfica de problemas de optimización

REPASO 1: Representación gráfica de funciones escalares de dos variables

Las funciones escalares de dos variables se pueden representar en R3 usando el eje z para recoger el valor de la función para cada par de puntos (x,y) de su dominio de definición, o bien en R2 representando sus curvas de nivel, esto es, los pares de puntos (x,y) para los cuales la función alcanza un determinado valor. La figura de abajo muestra la representación gráfica en R3 y R2 de la función U(x,y)=(x+2)(y+1).

En muchos problemas necesitaremos representar las curvas de nivel y/o conjuntos de nivel superior e inferior de la función f(x,y)=(x-a)2+(y-b)2, con a y b dos parámetros dados. La figura adjunta te muestra todas estas gráficas para a=b=0 (para otros valores de a y b se reproducen figuras análogas centradas en (a,b).)

Page 10: Apuntes Profesora Font

Tema 1

10

PRÁCTICA 2: Resolución gráfica de problemas de optimización Podemos resolver gráficamente, representándolos en R2, problemas de optimización con una o dos variables principales. Los pasos a seguir son los siguientes:

i) Representación del conjunto de oportunidades.

ii) Representación de varias curvas de nivel de la función objetivo. Intenta que alguna pase por el conjunto de oportunidades S para obtener una curva de nivel válida para alguna solución factible.

iii) Observamos en qué dirección se produce el crecimiento de la función objetivo (si estamos maximizando) o el decrecimiento (si estamos minimizando). Representa mentalmente las curvas de nivel que no has dibujado. El óptimo global, si existe, será el punto del conjunto de oportunidades al que corresponde una curva de nivel más alta (si estamos maximizando) o más baja (si estamos minimizando).

La resolución gráfica del problema enunciado en la PRÁCTICA 1 sería la siguiente:

Practiquemos un poco más. Consideremos los siguientes problemas de programación matemática:

(A)

0 x,1y 4y x2x-y s.a

y-Max x

≥≥≤+≤

(B)

0 x,1y 4y x2x-y s.a

y-Min x

≥≥≤+≤

(C)

0 x,1y 2x-y s.a

y-Max x

≥≥≤

(D)

0 x,1y 2x-y s.a

yMin

≥≥≤

(E)

0y ,0 x4y xs.a

yMax x 22

≥≥≤+

+

(F)

1y ,1 x4y xs.a

yMin x 22

−≥−≥≤+

+

(G)

1y ,0 x0y- xs.a

yMin x 22

≥≤≥

+

(H)

1x-y s.ayMin x2

22

+

Page 11: Apuntes Profesora Font

Tema 1

11

1) Resuelve gráficamente y clasifica según solución y estructura los problemas (A) y (B).

2) Plantea y resuelve gráficamente el siguiente problema: “Un monopolista produce un bien, cuya función inversa de demanda es p=10-0.4q. La función de coste total del monopolio viene dada por: CT=2q+5 y el empresario desea maximizar sus ingresos de forma que los beneficios a obtener no sean menores que un valor prefijado de 34.”

3) PRACTICA AHORA TÚ: Resuelve gráficamente y clasifica por los dos criterios los problemas (C) a (H).

3.- Transformación de problemas

TEORÍA 2: Transformación de problemas

En algunas ocasiones es práctico transformar un problema en otro (equivalente) cuya solución está totalmente determinada por la solución del primero pero que tiene algunas características diferentes.

1) Completa, con ayuda del profesor, la siguiente tabla resumen:

Tipo de Cambio Modelo A Modelo B Cambio de objetivo ( )

)x,...,x,f(xMax n21

Eliminación de una constante en la función objetivo ( )

k)x,...,x,f(xMax n21 +

Cambio de una desigualdad

kbxax 21 ≤+

Igualdad por desigualdad

kbxaxkbxax

21

21

≥+≤+

Desigualdad por igualdad

Caso 1: 12111 kxbxa ≤+ Caso 2: 22212 kxbxa ≥+

Variables libres por positivas ( )

0 x,x

xxx-11

111

−=+

−+

_______________________________

_______________________________

_______________________________

_____________________________

_____________________________

_____________________________

_____________________________

Page 12: Apuntes Profesora Font

Tema 1

12

2) Empareja, justificando tu respuesta, los siguientes problemas de programación matemática con los problemas (A) a (H) de la PRÁCTICA 2. ¿Cuáles se quedan sin pareja?

(1) ↔( )

0 x,1y 2y- xs.a

10y-Max x

≥≥−≥

+

(2) ↔( )

0s 0y ,0 x4sy xs.a

yx-Min 22

≥≥≥=++

(3) ↔( )

0y ,y 1xy-y s.a

yMin x2

22

≥−

+

−+

−+

(4) ↔( )

0s 1y ,0 x

0syx s.ayxMax 22

≥≥≥

=−−−

−−

(5) ↔( )

0s,s,sy, x,1 sy

4sy x2sx-y s.a

yx-Max

321

3

2

1

≥=−

=++=+

+

(6) ↔( )

0s,s,sy, , x1,s-y

4syx 2sx -y s.a

y-Max x

321

3

2

1

≥=

=++=+

(7) ↔( )

y)y x,(x 1y ,1 x

4y xs.a)y()(xMin

bb

bb

bb

2b2b

−=−=

≤≤

−≥+

+

(8) ↔( )

0y ,0x 1y

2x-y s.ay-Min

≥≥≥

3) PRACTICA AHORA TÚ: Resuelve los ejercicios 4 y 5 de la COLECCIÓN DE EJERCICIOS.

4.- Resolución con ordenador de problemas de optimización

PRÁCTICA DE ORDENADOR: Resolución de problemas de optimización con GAMS En la práctica, la resolución de los problemas de programación matemática requiere el uso de programas de ordenador. En esta asignatura te proponemos el programa GAMS (General Algebraic Modelling System) que, desarrollado inicialmente por técnicos del Banco Mundial para evaluar los modelos de crecimiento de países en vías de desarrollo, ha sido ampliado para resolver un gran número de problemas, y dispone de una versión estudiante gratuita. En este curso emplearemos la versión GAMS 21.3.

Obtención del programa. Para obtener una copia de este programa conectaremos con la dirección:

http://www.gams.com/download/

En esa pagina web (web site) nos registraremos con una dirección de correo electrónico y recibiremos un e-mail con la contraseña para acceder a la página de descarga del programa.

Creación de un proyecto. El GAMS, para funcionar correctamente necesita crear un archivo con extensión .gpr llamado “proyecto” que guarda información sobre algunas preferencias del usuario y, sobre todo, la información sobre el directorio de trabajo en el que guardaremos todos los documentos, básicamente el archivo de modelo y los archivos generados durante la ejecución del programa.

Creación del archivo de modelo. En los ficheros de modelos, hay que organizar una serie de bloques que son obligatorios y otros bloques que son opcionales.

Los bloques obligatorios son: Variables (VARIABLES), Ecuaciones (EQUATIONS), Modelo (MODEL), y Solución (SOLVE).

Los bloques optativos son: Conjuntos (SET), Datos (DATA) y Visualización (DISPLAY).

Los ficheros de modelo se escriben usando un editor de líneas proporcionado por el GAMS y tienen la extensión .gms. Analicemos línea a línea la estructura obligatoria del archivo de modelo:

Norma general. Cada línea termina con un punto y coma.

Comentarios. Las líneas de comentarios se pueden insertar en cualquier punto del programa y se introducen comenzando la línea con un asterisco (*). No pueden incluir algunos símbolos prohibidos, como por ejemplo, los acentos.

Page 13: Apuntes Profesora Font

Tema 1

13

Bloque de variables. Dentro de este bloque se han de declarar las variables que se van a usar en el modelo: variables principales y una más para nombrar a la función objetivo. La primera línea comienza con el título VARIABLES seguido por los nombres de todas las variables separadas por comas (y con un punto y coma al final). Las líneas siguientes son optativas y sirven para indicar: de qué clase son, cotas sobre las variables, y valor inicial de las variables.

Bloque de ecuaciones. Dentro de este bloque se declaran y definen todas las ecuaciones que se van a usar en el modelo: una para cada restricción y una más para la función objetivo. La primera línea comienza con el título EQUATIONS seguido por los nombres de todas las ecuaciones separados por comas. La segunda línea y siguientes se usan para definir cada ecuación (restricción o función objetivo) con la siguiente sintaxis:

nombre ecuación.. parte_a signo parte_b;

Toda ecuación tiene dos partes en las que aparecen operaciones sobre las variables declaradas (parte_a, parte_b) separadas por un signo de igualdad o desigualdad. Las operaciones suma, resta, multiplicación (ausencia de símbolo produce error) y división se representan por +, −, * y / respectivamente, y la exponenciación se representa por POWER(x,n) si el exponente es entero o por x**n si no lo es y x es una variable estrictamente positiva. Los signos =, ≤, y ≥ se escriben =E=, =L=, y =G= respectivamente.

Bloque de modelo. En este bloque se declara el nombre del problema y las ecuaciones (restricciones y función objetivo) que lo componen. La sintaxis es la siguiente: el título MODEL seguido entre barras (/) por los nombres de todas las ecuaciones separadas por comas. Si el modelo incluye a todas las ecuaciones definidas podemos sustituir la enumeración completa de las mismas por la palabra ALL.

Bloque de solución. En este bloque se ha de indicar qué tipo de algoritmo se ha de usar para resolver el modelo definido, la dirección de optimización, y el nombre de la variable que recoge el valor de la función objetivo. La sintaxis es el título SOLVE seguido por el nombre del modelo, la palabra USING, las iniciales del tipo de algoritmo (NLP para programación no lineal, LP para programación lineal y MIP para programación lineal entera), la palabra MAXIMIZING o MINIMIZING, y el nombre de la variable que recoge el valor de la función objetivo.

La siguiente diapositiva recoge las instrucciones GAMS para resolver el problema planteado en la PRÁCTICA 1 y resuelto gráficamente en la PRÁCTICA 2.

Page 14: Apuntes Profesora Font

Tema 1

14

Ejecución del programa. Resolveremos el programa ejecutando el archivo de modelo mediante el menú FILE RUN. Entonces el GAMS generará un archivo de solución con el mismo nombre que el archivo de trabajo pero con la extensión .lst. De todas las paginas de la solución, la más importante es la pagina titulada REPORT SOLUTION. Esta página contiene:

Resumen de la solución (SOLVE SUMMARY). En esta parte se informa del comportamiento de la solución, del tipo de modelo usado, la dirección de la optimización, etc. Prestemos atención a las líneas inicializadas con cuatro asteriscos (****); la primera nos advierte si el programa ha completado correctamente el proceso, la segunda de qué tipo es la solución, y la tercera indica el valor de la función objetivo en la solución encontrada.

Solución. Corresponde a la solución propiamente dicha. Aparece, en primer lugar, el comportamiento de las ecuaciones, es decir, el valor que toma cada una de las restricciones y la función objetivo. Y en segundo lugar el comportamiento de las variables, es decir, el valor de cada una de las variables en la solución y las cotas. Para interpretar correctamente la solución tengamos en cuenta que:

En los datos numéricos: el punto es la coma decimal, los puntos ( . ) significan “cero”, y la entrada EPS una cantidad muy pequeña aunque no necesariamente nula.

Las columnas LOWER y UPPER nos dan las cotas inferior y superior de las ecuaciones y variables del problema.

La columna MARGINAL contiene los rendimientos marginales de las variables y ecuaciones (lo que más adelante llamaremos multiplicadores de Kuhn y Tucker) y representan lo que variará la función objetivo por cada unidad que pudiéramos hacer variar el término independiente correspondiente.

Errores. En el caso que se produzcan errores durante la ejecución el fichero original, el programa los detectará y señalará proporcionando una breve indicación acerca del tipo de error. Una vez analizados los errores en el fichero .lst (nótese que, a veces, un primer error puede ser el causante de los siguientes y sólo se tiene que corregir el primero), hay que volver al fichero .gms, corregirlos, y volverlo a ejecutar.

(Nota.- En Material Complementario: Anexo 2 se facilita un resumen de la sintaxis del GAMS)

1) Crea un proyecto en el directorio A:\TEMA1 y un archivo de modelo para resolver el problema del consumidor de la PRÁCTICA 1 copiando las instrucciones GAMS de la transparencia anterior, ejecútalo e interpreta la salida (se incluye a continuación).

S O L V E S U M M A R Y MODEL M1 OBJECTIVE U TYPE NLP DIRECTION MAXIMIZE SOLVER MINOS5 FROM LINE 34 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 2 LOCALLY OPTIMAL **** OBJECTIVE VALUE 216.0000 LOWER LEVEL UPPER MARGINAL ---- EQU UTILIDAD . . . 1.000 ---- EQU RENTA -INF 130.000 130.000 3.000 LOWER LEVEL UPPER MARGINAL ---- VAR X . 16.000 +INF . ---- VAR Y . 11.000 +INF EPS ---- VAR U -INF 216.000 +INF .

Page 15: Apuntes Profesora Font

Tema 1

15

2) PRACTICA AHORA TÚ: Resuelve con GAMS los problemas de programación (A) a (H) de la PRÁCTICA 2.

3) PRACTICA AHORA TÚ: Resuelve con GAMS el problema planteado en la PRÁCTICA 1: PRACTICA AHORA TÚ.

4) PRACTICA AHORA TÚ: Plantea, clasifica y resuelve con GAMS los problemas 1 a 4 de la COLECCIÓN DE PROBLEMAS DE ORDENADOR.

5.- Teoremas básicos de la programación matemática

REPASO 2:Conjuntos compactos, conjuntos convexos, y funciones cóncavas y convexas Revisaremos en este apartado algunos conceptos matemáticos necesarios para aplicar los teoremas básicos de la programación lineal. Empecemos con la noción de conjunto compacto:

Conjunto compacto. Un conjunto S⊆Rn se dice que es compacto si es cerrado y acotado.

Conjunto cerrado. Un conjunto S⊆Rn es cerrado si su complementario en el espacio es abierto. En particular, son cerrados los conjuntos definidos por desigualdades ≤, ≥ e = de funciones continuas.

Conjunto acotado. Un conjunto S⊆Rn es acotado si en S están acotadas superior e inferiormente las n variables.

1) Estudia si los siguientes conjuntos son compactos:

}0 x,1y 2,y-/ xRy){(x,S 21 ≥≥−≥∈= ; }2xy-/ Ry){(x,S 22

2 =+∈=

}4y32x/ Ry){(x,S 223 =+∈= ; }4y/ xRy){(x,S 222

4 ≤+∈= ;

}0x,4y/ xRy){(x,S 2225 >≤+∈=

El curso anterior dedicamos un capítulo completo a los conceptos de conjunto convexo y funciones cóncavas y convexas, revisémoslo rápidamente mediante una trasparencia.

(Nota.- En Material Complementario: Anexo 1 se facilita una revisión de los conceptos de álgebra lineal que vas a necesitar para estudiar la convexidad de una función y algunos conceptos que se propondrán a lo largo del curso)

Page 16: Apuntes Profesora Font

Tema 1

16

2) Estudia la convexidad de las funciones U(x,y)=(x+2)(y+1) y f(x,y)=x2+y2 representadas en REPASO 1. Usando las gráficas estudia si sus conjuntos de nivel superior e inferior son o no convexos.

3) Estudia si las siguientes funciones son cóncavas o convexas indicando en su caso si es estrictamente cóncavas/convexas o no

z3y2xz)y,f(x, −+= ; z2y3xz)y,g(x, 22 −+= ; yx eey)h(x, −−=

4) Estudia si los conjuntos del ejercicio 1 son convexos

TEORÍA 3: Teoremas básicos de la programación matemática Lee atentamente el siguiente extracto del libro de Guerrero (1994), pág: 53 y 54:

En las aplicaciones de la programación matemática a la economía buscamos normalmente óptimos globales, ya que los óptimos locales son de escasa utilidad. Sin embargo, como veremos en los siguientes capítulos, tanto la teoría como los métodos de cálculo de la programación matemática más desarrollados hasta el momento actual son los que emplean técnicas de diferenciabilidad, las cuales sólo permiten comparar el valor de la función en un punto con los valores que alcanza en otros puntos situados en sus proximidades, llegando así a la elección del mejor, que resultará ser un óptimo local.

Sólo se podrán localizar los óptimos globales en aquellos programas que cumplan ciertas propiedades de convexidad.

Veamos a continuación dos teoremas que establecen condiciones de optimalidad global. Teorema de Weierstrass. Si X es un subconjunto compacto (cerrado y acotado) en Rn y f una función real continua en X, entonces f posee un máximo y mínimo globales. Demostración... Teorema local-global. Sea el problema general de programación matemática:

Max f(x) s.a. x∈S

Si S es un conjunto convexo y f es una función cóncava en S, todo máximo local de f es máximo global. Si se tratara de un problema de minimización, habría que exigir que f fuera una función convexa. Los problemas que verifican las hipótesis de este teorema son llamados problemas convexos.

Demostración... (véase apartado APRENDE A DEMOSTRAR)

Comentario al teorema local-global.- Si X convexo y f es estrictamente cóncava en X, todo máximo local de f es máximo global estricto.

1) Considera nuevamente el problema del consumidor de la PRÁCTICA 1. ¿Podemos garantizar, aplicando el Teorema de Weierstrass, la existencia de un máximo global?

2) En la PRÁCTICA DE ORDENADOR se obtiene un óptimo local del problema del consumidor. ¿Podemos garantizar que este óptimo local es óptimo global?

3) PRACTICA AHORA TÚ: En la sección “practica ahora tú” de la PRÁCTICA DE ORDENADOR resolvías con GAMS los problemas de programación (A) a (H); estudia ahora, utilizando el teorema local-global, si los óptimos obtenidos son globales.

4) PRACTICA AHORA TÚ: Resuelve los ejercicios 2, 3 y 6 de la COLECCIÓN DE EJERCICIOS.

5) PRACTICA AHORA TÚ: Estudia, aplicando el teorema local-global, si los óptimos locales obtenidos al resolver con GAMS los problemas 1 a 4 de la COLECCIÓN DE PROBLEMAS DE

ORDENADOR en 4) PRÁCTICA AHORA TÜ son óptimos globales.

Page 17: Apuntes Profesora Font

Tema 1

17

APRENDE A DEMOSTRAR: Teorema local-global

Enunciado: Sea el problema general de programación matemática:

Opt f(x) s.a. x∈S

a) Si S es un conjunto convexo, f es una función cóncava en S y x* un máximo local del problema, entonces x* es máximo global del problema.

b) Si S es un conjunto convexo, f es una función convexa en S y x* un mínimo local del problema, entonces x* es mínimo global del problema.

Demostración (apartado (a)):

Realizaremos la demostración por reducción al absurdo. Supongamos que f es una función cóncava, x* es máximo local y x* no es máximo global del problema. Como x* no es máximo global esto quiere decir que existe un x’ tal que: f(x’)>f(x*), y como f es cóncava se cumple que:

f(λx’+(1-λ)x*) ≥ λf(x’)+(1-λ)f(x*) para todo λ∈ [0,1]

Y sustituyendo que f(x’)>f(x*), llegamos a que:

f(λx’+(1-λ)x*) ≥ λf(x’)+(1-λ)f(x*) > λf(x*)+(1-λ)f(x*) = f(x*) para todo λ∈ [0,1]

En particular, para un λ suficientemente pequeño se cumple que el punto x’’=λx’+(1-λ)x*∈S (porque S es conjunto convexo), ||x’’−x*|| <ε (porque tomamos un l suficientemente pequeño para que se cumpla), y además: f(x’’) ≥ f(x*), por tanto x* no es máximo local. Llegamos, por tanto, a una contradicción al negar la conclusión del teorema luego ésta ha de ser cierta.

El apartado (b) se verifica de forma análoga.

Page 18: Apuntes Profesora Font

Tema 1

18

COLECCIÓN DE EJERCICIOS

1.- Utilizando una de las siguientes funciones objetivo:

f(x,y,z)= xy+2x-z g(x,y,z)=x+2y-6z

y una o varias de las siguientes restricciones

x+2y+z≤6 ; x+2y-z=3 ; y+2x+3≥0

enunciar, si es posible, un problema de:

a) Programación clásica.

b) Programación no lineal.

c) Programación lineal.

d) Programación lineal entera.

2.- Dado el siguiente problema:

Max x2 + y2 s.a. x + y = 1

a) Decir, razonadamente, a qué tipo o tipos de programación matemática corresponde (clásica, no lineal, lineal o lineal entera).

b) Escribir el conjunto de oportunidades. Dar, si es posible, una solución factible interior, una solución factible de frontera y una solución no factible.

c) Aplicar el teorema de Weierstrass.

d) Escribir de nuevo el problema de forma que tenga

- objetivo de minimización,

- restricciones de menor o igual,

- todas las variables con condiciones de no negatividad.

3.- Dado el siguiente problema:

Min x2 + y2 s.a. x + y ≤ 6 xy ≤ 4 y ≥ 0

a) Decir, razonadamente, a qué tipo o tipos de programación matemática corresponde (clásica, no lineal, lineal o lineal entera).

b) Escribir el conjunto de oportunidades. Dar, si es posible, una solución factible interior, una solución factible de frontera y una solución no factible.

c) Aplicar el teorema de Weierstrass.

d) Escribir de nuevo el problema de forma que tenga

- objetivo de maximización,

- restricciones de mayor o igual.

Page 19: Apuntes Profesora Font

Tema 1

19

4.- Dado el siguiente problema:

Max 2x+3y+z s.a. x+2y+z ≤ 30 x+y ≥ 20

x≥0 , y≤0

a) Decir, razonadamente, a qué tipo o tipos de programación matemática corresponde (clásica, no lineal, lineal o lineal entera).

b) Escribir el conjunto de oportunidades. Dar, si es posible, una solución factible interior, una solución factible de frontera y una solución no factible.

c) Escribir de nuevo el problema de forma que tenga

- objetivo de minimización,

- restricciones de igual,

- todas las variables con condiciones de no negatividad.

5.- Dado el siguiente problema:

Max 2x+3y+z s.a. x+2y+z ≤ 30 x+y ≥ 20

x≥0 , y≤0 , z ∈ Z

a) Decir, razonadamente, a qué tipo o tipos de programación matemática corresponde (clásica, no lineal, lineal o lineal entera).

b) Escribir el conjunto de oportunidades. Dar, si es posible, una solución factible interior, una solución factible de frontera y una solución no factible.

c) Escribir de nuevo el problema de forma que tenga restricciones de menor o igual.

6.- Dado el siguiente problema:

Max 2x+3y s.a. x+2y ≤ 30 x+y ≥ 20

x≥0 , y≤0

a) Decir, razonadamente, a qué tipo o tipos de programación matemática corresponde (clásica, no lineal, lineal o lineal entera).

b) Escribir el conjunto de oportunidades. Dar, si es posible, una solución factible interior, una solución factible de frontera y una solución no factible.

c) Aplicar el teorema de Weierstrass.

d) Escribir de nuevo el problema de forma que tenga: objetivo de minimización, restricciones de igualdad y todas las variables con condiciones de no negatividad.

7.- Definir problema infactible y problema no acotado. Explicar las diferencias entre ambos.

Page 20: Apuntes Profesora Font

Tema 1

20

COLECCIÓN DE PROBLEMAS DE ORDENADOR

1.- Una empresa produce dos bienes en competencia perfecta, cuyos precios son p1=42 y p2=51. Si q1 y q2 son las cantidades producidas de dichos bienes y la función de costes es:

34.52qq3q1.5q)q,C(q 2221

2121 +++=

calcula los niveles de producción que proporcionan a la empresa el máximo beneficio.

2.- La función de costes de un monopolista que produce dos bienes es:

9010q-q61)q,C(q 2

2121 +=

donde q1 y q2 representan las cantidades producidas de dichos bienes. Supongamos que las funciones de demanda a las que se enfrenta la empresa son las siguientes:

212

211

2p3p430q3p5p680q

−−=−−=

donde p1 y p2 son los precios de cada uno de los bienes. Calcula los niveles de producción que proporcionan al empresario el máximo beneficio.

3.- La función de beneficios de la empresa BLA dedicada a la fabricación y comercialización de teléfonos móviles está dada (en millones de u.m.) por:

222 zyz3xyz18y6xzz)y,B(x, −−−++=

siendo x, y, z los teléfonos móviles (en miles) fabricados de los modelos BLAline, BLAstar y BLAstel respectivamente. Determina el número de móviles de cada tipo a fabricar mensualmente de cada modelo con objeto de maximizar el beneficio.

4.- La función de utilidad de un consumidor es:

2121 xx)x,U(x =

donde x1 y x2 representan las cantidades de dos bienes 1 y 2 consumidas en un periodo de tiempo dado.

a) Si los precios unitarios de cada producto son respectivamente p1=5, p2=4, y el individuo dispone de 50 u.m., cuál es la cantidad a consumir de cada bien si su objetivo es maximizar la utilidad.

b) Supongamos que los bienes 1 y 2 también se pueden adquirir en un mercado alternativo racionado en el que, cada individuo no puede gastar más de 40 u.m. en el periodo de tiempo considerado. Los precios del mercado alternativo son: p1’=3 y p2’=6.¿Cuáles serán en este caso los niveles óptimos de consumo?

c) Supongamos que los precios de los bienes dependen de las cantidades demandadas, de manera que el precio del primer bien es p1=5-0.04x1 y el del segundo p2=4-0.01x2. Si p1 y p2 son tales que p1≥3 y p2≥2, y la renta disponible para el consumidor es de 50 u.m. se pide calcular las cantidades consumidas de cada bien cuando el objetivo del consumidor es maximizar su utilidad.

Page 21: Apuntes Profesora Font

Tema 1

21

ANOTACIONES

Page 22: Apuntes Profesora Font

22

Programación No Lineal

1.- Resolución del problema de programación no lineal en formato estándar

2.- Resolución del problema de programación no lineal en formato no estándar

3.- Programación clásica 4.- Interpretación de los multiplicadores de Kuhn y Tucker 5.- Justificación de la condición necesaria de óptimo en programas

no lineales Guerrero (1994) Cap. 3, 4, 5 y 6, y Mocholí y Sala (1999) Cap. 4 y 5

1.- Resolución del problema de programación no lineal en formato estándar

TEORÍA 1: Condiciones de punto de Kuhn y Tucker Lee atentamente la siguiente diapositiva. En ella aprenderás cómo calcular puntos de Kuhn y Tucker (K-T) para problemas no lineales en formato estándar, esto es, problemas de maximizar sujetos a restricciones del tipo menor o igual. El cálculo de los puntos de K-T es fundamental (véase TEORÍA 2) para la resolución de problemas de optimización diferenciables, esto es, aquellos en los que la función objetivo y restricciones son de clase C2.

Aprende también las tres cualificaciones de restricciones.

Observaciones:

Para escribir las condiciones de punto de Kuhn y Tucker de problemas no lineales en formato no estándar transforma primero el problema a este formato (véase TEMA1: TEORÍA 2).

Las condiciones de punto de Kuhn y Tucker para el problema no lineal en formato estándar con restricciones de no negatividad se obtienen introduciendo estas como restricciones y eliminando los multiplicadores de signo.

Page 23: Apuntes Profesora Font

Tema 2

23

Consideremos los siguientes problemas de programación no lineal (véase ejercicio 1 de la COLECCIÓN DE EJERCICIOS):

a) Max – x2 – y2 s.a. x + y ≤ 1

b) Min x2 + y2 s.a. x + y ≥ -1

c) Max x + y s.a. x2 + y2 ≤ 1

d) Min x + y s.a. x2 + y2 ≤ 1

e) Max x s.a. x2 + y2 ≤ 1 x , y ≥ 0

f) Max y s.a. 6 - x2 - y2 ≥ 0 x2 – y ≥ 0 x , y ≥ 0

1) Resuelve gráficamente los problemas (a) y (b). (Para ayudarte te proporciono varias curvas de nivel de la función z =x2+y2)

(a) (b)

___________________________________ ________________________________

___________________________________ ________________________________

2) Escribe las condiciones de punto de Kuhn y Tucker para los dos problemas, estudia si los óptimos obtenidos cumplen una cualificación de restricción y comprueba si son puntos de Kuhn y Tucker.

Nota: Sigue el siguiente orden para comprobar si un punto es de K-T: factibilidad holgura punto crítico signo.

3) PRACTICA AHORA TÚ: Repite los apartados 1 y 2 para los problemas de PNL (c), (d) y (e).

4) PRACTICA AHORA TÚ: Resuelve el ejercicio2 de la COLECCIÓN DE EJERCICIOS.

TEORÍA 2: Condiciones necesaria y suficiente de optimalidad de Kuhn y Tucker Los siguientes dos extractos de los apuntes de Ivorra (2003) pág 17 y 21 recogen las condiciones necesarias y suficiente de optimalidad para problemas no lineales.

Condiciones necesarias Kuhn y Tucker. Consideremos un problema de programación no lineal en el que tanto la función objetivo como las restricciones sean de clase C2 y que satisfaga una cualificación de restricciones. Entonces, para todo óptimo local x del problema existe un vector λ de multiplicadores tal que (x,λ) es un punto de Kuhn y Tucker.

Teorema (Condición suficiente de Kuhn y Tucker). Consideremos un problema de programación no lineal definido por funciones de clase C2 cuyo conjunto de oportunidades sea convexo. Sea x* un punto de Kuhn y Tucker. • Si la función objetivo es convexa y el problema es de minimizar, entonces x* es un mínimo global • Si la función objetivo es cóncava y el problema es de maximizar, entonces x* es un máximo global

Page 24: Apuntes Profesora Font

Tema 2

24

Ten en cuenta que:

Si se cumple una cualificación de restricción para todos los puntos del conjunto de oportunidades y todas las funciones que definen el problema son de clase C2 los puntos de Kuhn y Tucker recogen a todos los “candidatos” a óptimo global aunque éste podría no existir.

No podemos afirmar que todo punto de Kuhn y Tucker de un problema es una solución óptima. Puede suceder que un punto de Kuhn y Tucker no sea óptimo global ni tampoco óptimo local del problema.

No se deben confundir el teorema local-global con la condición suficiente de Kuhn y Tucker.

Para que se cumpla la condición suficiente de Kuhn y Tucker no se requiere una cualificación de restricción.

El teorema de Weierstrass combinado con la condición necesaria de Kuhn y Tucker proporciona un procedimiento para obtener óptimos globales en problemas no convexos con conjuntos de oportunidades compactos.

1) Explica en qué consiste el procedimiento basado en el teorema de Weierstrass para obtener óptimos globales al que hace referencia el último párrafo.

2) Si se cumplen las hipótesis de la condición suficiente de Kuhn y Tucker ¿el problema puede tener más de un punto de Kuhn y Tucker? En caso afirmativo, ¿cuánto debe valer la función objetivo en todos ellos?

3) Estudia las condiciones necesaria y suficiente de optimalidad para los problemas de PNL (a) y (b) enunciados en TEORÍA 1. ¿Qué se sabe acerca de la solución de estos dos problemas?

4) PRACTICA AHORA TÚ: Estudia las condiciones necesaria y suficiente de optimalidad para los problemas de PNL (c), (d) y (e) enunciados en TEORÍA 1. ¿Qué se sabe acerca de la solución de estos problemas?

5) PRACTICA AHORA TÚ: Resuelve el ejercicio8 de la COLECCIÓN DE EJERCICIOS.

2.- Resolución del problema de programación no lineal en formato no estándar

PRÁCTICA 1: Condiciones de punto de Kuhn y Tucker en programas no estándar Hasta ahora hemos obtenido las condiciones de punto de Kuhn y Tucker de problemas de PNL en formato no estándar transformando previamente el problema a formato estándar. Esta solución no es práctica y requiere operaciones previas en las que nos podemos equivocar. En esta sección veremos cómo escribir directamente las condiciones de un problema de PNL cualquiera.

Deduzcamos cómo escribir las condiciones de punto K-T en problema de PNL de maximizar en el que las restricciones son de mayor o igual.

b )g( s.a.)f(Max ≥x

x

⇒ L(x,η)=f(x)+η[b-g(x)] (a) (η=−λ) 0gη

xf

xL (i)

ii

=∂∂

−∂∂

=∂∂

ix

(b) [ ] 0)g(bη (ii) =− x (c) (iii) η ≤0 (d) b)g( (iv) ≥x

Sigo por aquí ⇒ b- )g(- s.a.

)f(Max ≤x

x

L(x,λ)=f(x)+λ[-b+g(x)] =f(x)−λ[b-g(x)] 0gλ

xf

xL (a)

ii

=∂∂

+∂∂

=∂∂

ix

[ ] [ ] 0)g(b-λ )g(b-λ (b) =−=+ xx 0λ (c) ≥ b)g( (d) ≥x

Page 25: Apuntes Profesora Font

Tema 2

25

1) PRACTICA AHORA TÚ: Siguiendo el mismo procedimiento deduce las condiciones de punto de K-T de los siguientes problemas:

1) Max f(x,y) s.a. x, y ≥ 0

2) Min f(x,y) s.a. g(x,y) ≥ b

3) Min f(x,y) s.a. g(x,y) ≤ b

La tabla adjunta resume los cambios a realizar en las condiciones de punto de K-T del problema de PNL en formato estándar para escribir las condiciones de K-T de un problema de PNL cualquiera.

Maximizar Minimizar Maximizar Minimizar

jj b)(g ≤x [ ]jj

jjj

j

b)(g0)(g-bλ

=

x

x [ ]

jj

jjj

j

b)(g0)(g-bλ

=

x

x 0x i ≥

0x

0),(xLx

0),(xL

i

ii

i

=∂∂

≤∂∂

λx

λx

0x

0),(xLx

0),(xL

i

ii

i

=∂∂

≥∂∂

λx

λx

jj b)(g ≥x [ ]jj

jjj

j

b)(g

0)(g-bλ

=

x

x [ ]jj

jjj

j

b)(g

0)(g-bλ

=

x

x 0x i ≤

0x

0),(xLx

0),(xL

i

ii

i

=∂∂

≥∂∂

λx

λx

0x

0),(xLx

0),(xL

i

ii

i

=∂∂

≤∂∂

λx

λx

jj b)(g =x jj b)(g =x jj b)(g =x Libre x i 0),(

xL

i

=∂∂ λx 0),(

xL

i

=∂∂ λx

2) PRACTICA AHORA TÚ: Considera el problema de programación no lineal:

0z 0,y 0y x

4zy x1zy xs.a

Max xyz

222

≤≥=−

≤++

≥++

Escribe las condiciones de punto de Kuhn y Tucker del problema directamente, tratando las condiciones sobre las variables como restricciones y estandarizando previamente el modelo.

3) PRACTICA AHORA TÚ: Resuelve el ejercicio5 de la COLECCIÓN DE EJERCICIOS.

PRÁCTICA 2: Resolución teórica de problemas de programación no lineal Los métodos explicados en TEORÍA 2:

Resolución de problemas de PNL convexos aplicando las condiciones necesaria y suficiente de optimalidad de Kuhn y Tucker.

Resolución de problema de PNL con conjunto de oportunidades compacto aplicando el teorema de Weierstrass y condición necesaria de Kuhn y Tucker.

Junto con el método explicado en TEMA 1: PRÁCTICA 2:

Resolución gráfica de problemas de optimización con una o dos variables de decisión.

Cuando son aplicables nos proporcionan óptimos globales. Si no son aplicables tendremos que probar otros métodos para estudiar si el problema es acotado o no. Un método para demostrar que un problema (si el problema es diferenciable) es no acotado consiste en encontrar una solución factible que mejore a todos los puntos de Kuhn y Tucker y aquellos puntos (si existen y son un número finito) que no siendo de K-T no cumplan una cualificación de restricciones.

Page 26: Apuntes Profesora Font

Tema 2

26

Resuelve el siguiente problema de PNL:

0 x 0y - x5y xs.a.

yOpt x 22

≥≤≤+

+

Observa antes de comenzar a resolver el problema que:

La función objetivo es convexa [Hf(x,y)=diag(2,2) matriz definida positiva en R2-(0,0)] y el conjunto de oportunidades un polítopo el problema de minimizar es un problema convexo, esto es, se puede aplicar la condición suficiente de mínimo global.

La función objetivo es convexa el problema de maximizar no es un problema convexo, esto es, no se puede aplicar la condición suficiente de máximo global.

El conjunto de oportunidades es cerrado y acotado [x-y≤0 x≤y; x≤y, x≥0 y≥0; x+y≤5,x≥0,y≥0 x,y≤5; resumiendo 0≤x≤5, 0≤y≤5], y la función objetivo continua. Se cumplen por tanto las hipótesis del teorema de Weierstrass y el problema tiene máximo y mínimo global.

El problema se puede resolver gráficamente porque es de dos variables [Gráficamente se demuestra que: tiene un mínimo global estricto en (0,0) y un máximo global estricto en (0,5)]

Problema de Maximizar

Obtengamos los puntos de K-T para el problema de maximizar:

0x0,y x5,y x(d)0λ,λ (c)

0y)x(λ 0,y)x(5λ 0,)λλ x(2x(b)

0λλ2yyL 0,λλ2x

xL (a)

y)x(λy)x(5λy x)λ,λy,L(x,

21

2121

2121

2122

21

≥≤−≤+≥

=+−=−−=−−

=+−=∂∂

≤−−=∂∂

+−+−−++=

0yx- ,0y-x-5 , 0λλ2x :8 Caso0λ ,0y-x-5 , 0λλ2x :7 Caso

0yx- ,0λ , 0λλ2x :6 Caso0λ ,0λ , 0λλ2x:5 Caso

0yx- ,0y-x-5 0, x:4 Caso0λ ,0y-x-5 0, x:3 Caso

0yx- ,0λ 0, x:2 Caso0λ ,0λ 0, x:1 Caso

21

221

121

2121

2

1

21

=+==−−===−−

=+==−−===−−

=+=====

=+=====

Caso 1: (b) se cumple; (a) y=0; (c) y (d) se cumplen (0,0) λ1=λ2=0 es punto K-T. Caso 2: (b) se cumple y=x=0; (a) 2y+λ2=0 λ2=0;(c) y (d) se cumplen (0,0) λ1=λ2=0 es K-T. Caso 3: _______________________________________________________________________ ______________________________________________________ (0,5) λ1=10, λ2=0 es K-T. Caso 4: (b) contradicción Caso 5: _______________________________________________________________________ _________________________________________________________ (0,0) λ1=λ2=0 es K-T. Caso 6: _______________________________________________________________________ _________________________________________________________ (0,0) λ1=λ2=0 es K-T. Caso 7: _______________________________________________________________________ ____________________________________________________ (5/2,5/2) λ1=5, λ2=0 es K-T. Caso 8: _______________________________________________________________________ ____________________________________________________ (5/2,5/2) λ1=5, λ2=0 es K-T. Los puntos de K-T son: (0,0) con f(0,0)=0, (0,5) con f(0,5)=25, y (5/2,5/2) con f(5/2,5/2)=25/2 Razonemos: _____________________________________________________________________________ _____________________________________________________________________________ _______________________________________ (0,5) es máximo global estricto del problema

Page 27: Apuntes Profesora Font

Tema 2

27

Problema de Minimizar Obtengamos los puntos de K-T para el problema de minimizar:

0x0,y x5,y x(d)0λ,λ (c)

0y)x(λ 0,y)x(5λ 0,)λλ x(2x(b)

0λλ2yyL 0,λλ2x

xL (a)

y)x(λy)x(5λy x)λ,λy,L(x,

21

2121

2121

2122

21

≥≤−≤+≤

=+−=−−=−−

=+−=∂∂

≥−−=∂∂

+−+−−++=

_________________________________ :8 Caso_________________________________ :7 Caso_________________________________ :6 Caso_________________________________ :5 Caso

_________________________________ :4 Caso_________________________________ :3 Caso_________________________________ :2 Caso_________________________________ :1 Caso

El único punto de K-T del problema es: (0,0) con multiplicadores λ1=λ2=0.

Razonemos: _____________________________________________________________________________ _____________________________________________________________________________ _______________________________________ (0,0) es mínimo global estricto del problema

1) PRACTICA AHORA TÚ: Resuelve el problema del consumidor que enunciábamos y trabajábamos en el TEMA 1: PRÁCTICA 1, PRÁCTICA 2 Y PRÁCTICA DE ORDENADOR.

2) PRACTICA AHORA TÚ: Resuelve el problema de PNL (f) enunciado en TEORÍA 1.

3) PRACTICA AHORA TÚ: Resuelve los ejercicios 3, 4, 6 y 7 de la COLECCIÓN DE EJERCICIOS.

3.- Programación clásica

TEORÍA 3: Condiciones necesaria y suficiente de óptimo en programación clásica Podemos ver los problemas de programación clásica como un caso particular de los de programación no lineal sin restricciones o con restricciones únicamente del tipo igualdad. Rescribamos para este caso particular las condiciones de punto de Kuhn y Tucker, las cualificaciones de restricción y las condiciones necesaria y suficiente de optimalidad que enunciamos en TEORÍA 1 y TEORÍA 2 para los programas no lineales diferenciables. El resultado queda recogido en la transparencia adjunta que contiene además la condición suficiente de óptimo local.

Page 28: Apuntes Profesora Font

Tema 2

28

Observaciones:

Los candidatos a óptimo en los programas clásicos se llaman puntos críticos y los multiplicadores asociados son los multiplicadores de Lagrange. Observa, rescribiendo como aprendimos en la PRÁCTICA 1 las condiciones de punto de Kuhn y Tucker que en los problemas sin restricciones o con restricciones de igualdad éstas se transforman en la condición de punto crítico más factiblidad (véase el cuadro inferior).

b )g( s.a.)f(Max =x

x

⇒ L(x,λ)=f(x)+η[b-g(x)] (a) (η=λ1−λ2) 0g

xf

xL (i)

ii

=∂∂

−∂∂

=∂∂

ixη

(d) b)g( (ii) =x (c)+(b) (iii) η libre

Sigo por aquí ⇒ b- )g(- b )g( s.a.

)f(Max

≤≤

xx

x

L(x,λ1,λ2)=f(x)+λ1[b-g(x)]+λ2[-b+g(x)]= =f(x)+(λ1−λ2)[b-g(x)] 0g)λλ(

xf

xL (a) 21

ii

=∂∂

−−∂∂

=∂∂

ix

0))g((bλ- 0,))g((bλ (b) 21 =−=− xx 0λ 0,λ (c) 21 ≥≥ b)g( (d) =x

⇐ La cualificación de restricción es la de regularidad y se introduce implícitamente en las

condiciones necesaria y de óptimo local al exigir que el rango de la matriz diferencial o jacobiana de las restricciones sea de rango completo.

Si las restricciones son lineales el conjunto de oportunidades de los problemas clásicos es convexo.

PRÁCTICA 3: Resolución teórica de problemas de programación clásica Apliquemos los teoremas de optimización estudiados en TEORÍA 3 para obtener óptimos globales en problemas de programación clásica. Antes de empezar observa que en programación clásica tenemos nuevamente tres métodos para obtener óptimos globales

Resolución de problemas de programación clásicos convexos aplicando las condiciones necesaria y suficiente de óptimo global. Para aplicar este método ten en cuenta que:

o las restricciones han de ser lineales

o la función objetivo ha de ser convexa en el problema de minimizar y cóncava en el de maximizar. Pero es suficiente con que sea convexa o cóncava restringida al conjunto de oportunidades.

Resolución de problema de PNL con conjunto de oportunidades compacto aplicando el teorema de Weierstrass y condición necesaria de punto crítico.

Resolución gráfica de problemas de optimización con una o dos variables de decisión.

Si no son aplicables tendremos que probar otros métodos para estudiar si el problema es acotado o no. Un método para demostrar que un problema clásico con restricciones independientes es no acotado consiste en encontrar una solución factible que mejore a todos los puntos de críticos.

1) Resuelve el siguiente problema de programación clásica:

0x x3 xs.a.

10xx21xBMax

32

1

322

31

=−=

++−=

Page 29: Apuntes Profesora Font

Tema 2

29

Para ello basta con aplicar las condiciones necesarias y suficiente de óptimo global que repasábamos en TEORÍA 3. Ten en cuenta también las dos observaciones que hemos hecho sobre resolución de problemas clásicos convexos.

Obtengamos los puntos críticos del problema:

L x x x x x x x x x( , , , , ) ( ) ( )1 2 3 1 2 13

22

3 1 1 2 2 3

12

10 2λ λ λ λ= − + + + − + − +

=+−=−

=+=

=−−=

=−=

0xx 0x2

0λ1xL

0λxxL

0λ3xxL

32

1

23

222

121

1

∂∂∂∂∂∂

______________________________________________________

Estudiemos la condición de regularidad:

=110

001)x,x,Dh(x 321

, rango[Dh(x1,x2,x3)]=2(=nº restricciones) S es regular

Razonemos:

____________________________________________________________________________

____________________________________________________________________________

________________________________ el punto (......,......,......) es máximo global del problema

2) Resuelve el siguiente problema de programación clásica:

1xy s.a.yxzOpt

2

22

=+

+=

Observa antes de empezar que la restricción de este problema clásico no es lineal y por lo tanto el conjunto de oportunidades no es convexo y no se puede aplicar la condición suficiente de óptimo ni en el problema de minimizar ni en el problema de maximizar. Y tampoco se puede aplicar el teorema de Weierstrass porque el conjunto de oportunidades es no acotado.

Obtengamos los puntos críticos del problema:

)xyλ(1yxλ)y,L(x, 222 −−++=

0xy1λL

0λ2yyL

02xλ2xxL

2

=−−=∂∂

=−=∂∂

=−=∂∂

______________________________________________________

Estudiemos la condición de regularidad:

(2x,1)y)h(x, =∇ _______________________________

Page 30: Apuntes Profesora Font

Tema 2

30

Razonemos: Como la función objetivo y restricción es de clase C1 (son polinómicas) y todos los puntos de S son regulares, el óptimo del problema, si existe (esto no lo podemos asegurar porque no se cumplen las hipótesis del teorema de Weierstrass), será necesariamente un punto crítico del problema restringido. Resolvamos gráficamente el problema:

3) PRACTICA AHORA TÚ: Resuelve el ejercicio 9 de la COLECCIÓN DE EJERCICIOS.

4.- Interpretación de los multiplicadores de Kuhn y Tucker

TEORÍA 4: Teorema de la envolvente. Interpretación de los multiplicadores de K-T En muchos problemas económicos reales los coeficientes de la función objetivo y restricciones no son conocidos con absoluta exactitud o pueden cambiar; el teorema de la envolvente que revisamos a continuación nos indica cómo varía la función objetivo en el óptimo para variaciones pequeñas (marginales) de uno o varios parámetros del modelo.

El siguiente extracto (adaptado a la definición de problema PNL estándar y función de Lagrange usados en este curso) procede del libro de Barbolla, Cerdá y Sanz (2001) pág. 300.

Definición 5.2. Se considera el problema:

(I)

0)α,....,α,x,...,(xg

0)α,....,α,x,...,(xg s.a.)α,....,α,x,...,f(xMax

k1n1m

k1n11

k1n1

≤MM

Donde f, g1, g2, ..., gm son funciones C2, siendo x=(x1,...,xn) vector de variables de decisión, α=(α1,...,αk) vector de parámetros.

Sea A⊂Rk un conjunto abierto, y supongamos que para todo α∈A, existe x*(α)=(x1*(α),...,xn*(α)) solución óptima del problema (I) en la que se verifican las condiciones de Kuhn-Tucker con multiplicadores asociados λ*(α)=(λ1*(α),...,λm*(α)). Entonces: (i) Se define la función Lagrangiana asociada al problema (I) como:

∑=

⋅−=m

i 1ii )),(gλ),f( ),,L( αααλ xxx

siendo λ=(λ1,...,λm). (ii) Se define la función objetivo indirecta o función valor como:

)xxf( )( αααα ),(),....,(=Φ *n

*1

Teorema 5.8. (Teorema de la Envolvente) Dado el problema (I) y las condiciones de la Definición 5.2, si )xxf( )( αααα ),(),....,(=Φ *

n*1

es la función valor del programa, se verifica que para cada αs, s=1,...,k

s

m

isss α)( g

α)( f

α)( L

α)( *

i

1

***

∂),(∂

)(λ−∂

),(∂=

∂),(),(∂

=∂Φ∂ ∑

=

∗ι

ααα

αααααλα xxx

El Teorema 5.8 y la Definición 5.2 son válidos si el problema es de minimización.

1) Consideremos el siguiente enunciado: “La función de beneficios de una empresa competitiva es:

___________________________________

___________________________________

___________________________________

___________________________________

Page 31: Apuntes Profesora Font

Tema 2

31

wL-rK-L)f(K,pB ⋅=

Donde K y L son las respectivas cantidades a emplear de capital y trabajo, p es el precio unitario al que puede vender el output, r y w son los respectivos precios unitarios a los que paga los factores capital y trabajo. Además, f, su función de producción, es de clase C2.” Escribe las condiciones que deben cumplir las cantidades de capital y trabajo para las que se maximiza el beneficio y demuestra (usando el teorema de la envolvente) que un aumento de p lleva a un aumento del beneficio óptimo y que un aumento de r o de w produce una disminución del beneficio óptimo.

Un caso particular del teorema de la envolvente es estudiar la sensibilidad de la función objetivo ante variaciones de los términos independientes de las restricciones. Para obtener este resultado en el PNL en formato estándar basta con definir: f(x,α=b)≡f(x), gi(x,α=b)≡g(x)-bi, i=1,...,m, y aplicar el teorema de la envolvente. Este caso se conoce en programación no lineal como interpretación económica de los multiplicadores de Kuhn y Tucker y aparece resumido en el siguiente teorema.

Teorema.- Dado un problema no lineal diferenciable y acotado con x* un óptimo con multiplicador de Kuhn-Tucker asociado λ=(λ1,...,λm) se cumple para las restricciones activas que:

ii

*

i

λb

)(f b

)(=

∂∂

=∂Φ∂ bb

Esto es, el multiplicador nos da la tasa marginal de cambio del valor de la función objetivo ante una variación del correspondiente término independiente.

Observaciones:

La ecuación del teorema anterior nos indica que: ii b λ*f ∆⋅≈∆ .

Si la restricción i no está saturada en el óptimo entonces la condición de holgura complementaria implica que λi=0, esto es una pequeña variación de bi no alterara el valor óptimo.

Si la restricción i está saturada y λi=0 no tenemos información sobre el comportamiento del valor óptimo al variar bi.

2) PRACTICA AHORA TÚ: Interpreta económicamente el multiplicador asociado a la restricción presupuestaria del problema del consumidor que resolvimos teóricamente en PRÁCTICA 2.

PRÁCTICA DE ORDENADOR: Resolución completa con ordenador de un PNL Consideremos el siguiente enunciado: “La empresa ZUMIBAN se dedica a la obtención de zumos de frutas exóticas. En el proceso de transformación se utiliza zumo puro, agua y otros aditivos que diferencian los zumos de la empresa respecto a los de la competencia. El zumo puro se obtiene exprimiendo las frutas y desechando las pieles y otros residuos sólidos.

ZUMIBAN fabrica tres tipos de zumo A, B y C combinando zumo puro, agua y aditivos en las siguientes proporciones:

TIPO ZUMO ZUMO PURO AGUA ADITIVOS A 2 1 1 B 5 2 2 C 3 2 1

Page 32: Apuntes Profesora Font

Tema 2

32

Se sabe que la función de ingresos de la empresa es 2x2+y2+2z2 donde x, y, z son los litros de los zumos A, B y C, y que los costes totales por litro son de 10 u.m. para el zumo A, 2 u.m. para el zumo B y 3 u.m. para el zumo C. También se conoce que por cada 10 Kg. de fruta se obtienen 7 litros de zumo puro y la empresa dispone de un stock de 20.000 Kg. de fruta en almacén. No existen límites para el empleo de agua y aditivos. Además, por razones estratégicas se considera que no es conveniente que la producción de un tipo de zumo supere el 40% del total.

Se pide:

a) Sabiendo que el objetivo de la empresa es maximizar su función de beneficios averigua cuántos litros de cada clase de zumo producirá ZUMIBAN.

b) En la actualidad, hay escasez de este tipo de fruta, pero un proveedor ofrece a ZUMIBAN 100 Kg. adicionales a un precio de 200 u.m por Kg. Sabiendo que la empresa compró la fruta a 100 u.m por Kg., razona si ZUMIBAN aceptará la propuesta.”

1) A partir del enunciado plantea en términos matemáticos el problema de programación matemática identificando las variables del problema, la función objetivo y restricciones. Clasifica el problema atendiendo a su estructura. ( Véase apartado “Modelización” en ANEXO 3)

2) Crea un proyecto en el directorio A:\TEMA2 y el fichero GAMS para resolver el problema de programación planteado y ejecútalo para varios puntos de arranque. Rellena el cuadro adjunto. ( Véase apartado “Solución del modelo con ordenador” en ANEXO 3)

PUNTO DE ARRANQUE SUMARIO SOLVER PUNTO ÓPTIMO

[1] (0,0,0)

[2] (1,1,1)

[3] (1000,1000,1000)

B= 510040000 x=10956.522, y=5478.26,

z=10956.522, λ1=72873.732, λ2=36910.106, λ3= 0,

λ4= 36917.106 [4] (11200,0,0)

[5] (0,11200,0)

[6] (0,0,11200)

[7] (5000,0,5000)

3) Interpreta la salida obtenida, estudia si el óptimo obtenido es global e interpreta los multiplicadores de Kuhn y Tucker obtenidos ( Véase apartado “Discusión de la solución” en ANEXO 3)

4) Responde razonadamente a las cuestiones del enunciado. ( Véase apartado “Contestación a las preguntas propuestas” en ANEXO 3)

5) PRACTICA AHORA TÚ: Repite los apartados 1 a 4 de esta sección con los enunciados propuestos en la COLECCIÓN DE PROBLEMAS DE ORDENADOR.

Page 33: Apuntes Profesora Font

Tema 2

33

APLICACIONES ECONÓMICAS Y EMPRESARIALES: Programación no lineal Las técnicas que hemos estudiado en este tema nos van a ayudar a plantear y resolver un gran número de problemas de tipo económico y/o empresarial, citemos entre ellos:

Problemas de utilidad del consumidor. Determinan la cantidad a consumir de varios bienes para maximizar la utilidad del consumidor.

Problemas de producción. Determinan la cantidad a producir de varios bienes para minimizar costes o maximizar ingresos o beneficios cumpliendo restricciones sobre las materias primas disponibles y/o mano de obra disponible.

Problemas de selección de carteras en un entorno media-varianza. Determinan la cantidad a invertir en un grupo de activos financieros con el objeto de minimizar los riesgos (medidos a través de la varianza) para un nivel de rentabilidad esperado dado.

Lee atentamente los siguientes enunciados:

Enunciado 1: “Una agencia de viajes que gestiona tres modelos de viaje por Europa : Francia, Centro Europa e Italia se plantea determinar la cantidad óptima de viajes a ofertar este año con el objetivo de minimizar costes y satisfacer la demanda prevista. Si denotamos por F, CE e I al número de viajes ofertados, se sabe que los costes son :

− Coste fijo : 4000 euros − Coste variable por viaje Francia :

10F+CE euros

− Coste variable por viaje Centro Europa : 2F+10CE euros

− Coste variable por viaje Italia : 8I euros

Después de un estudio de mercado, la agencia ha llegado a la conclusión de que : se debe ofertar este año al menos 2500 viajes en total, la oferta mínima para Centro Europa ha de ser de 1500 viajes, y que se venderán menos de 300 viajes a Italia.”

Enunciado 2: “Un ciudadano desea invertir 2000€ en tres activos financieros. Sea Ri la variable aleatoria que representa el rendimiento anual de un euro invertido en el activo i para i=1, 2, 3, siendo los valores esperados:

0.22)E(R 0.12,)E(R 0.35,)E(R 321 ===

Y las varianzas y covarianzas, respectivamente:

07.0)R,C(R ,05.0)R,C(R ,02.0)R,C(R0.20)V(R 0.10,)V(R 0.40,)V(R

323121

321

======

Se desea determinar la cartera óptima para la que se minimiza la varianza del rendimiento anual y se consigue al menos un rendimiento esperado del 20%.”

Enunciado 3: “Una empresa utiliza una cierta materia prima para producir dos tipos de productos. Una vez procesada, con cada unidad de materia prima se fabrican dos unidades del producto 1 o una unidad del producto 2. Si se producen x1 unidades del producto 1, cada unidad puede venderse a un precio de 50-x1 euros, y si se producen x2 unidades del producto 2, cada unidad puede venderse a un precio de 30-2x2 euros. Una unidad de materia cuesta 5 euros. Plantea el modelo matemático que ha de resolver la empresa para maximizar sus beneficios”.

Enunciado 4: “La función de utilidad de un consumidor es: 1/22

1/3121 xx)x,U(x =

Page 34: Apuntes Profesora Font

Tema 2

34

donde x1 y x2 representan las cantidades de los bienes 1 y 2 consumidos en un periodo de tiempo dado. Sean p1 y p2 los precios unitarios de cada uno de los bienes y M la cantidad de dinero que el individuo va a gastar en la adquisición de ambos bienes. Se desea averiguar la cantidad a consumir de cada uno de los bienes, en función de los parámetros p1, p2 y M si el objetivo es maximizar la utilidad.”

Enunciado 5: “Una empresa se dedica a la fabricación de dos modelos de tartas que vende sin decorar. En el proceso de fabricación se emplean: harina, leche, aceite y azúcar que mezcla en las siguientes proporciones :

Harina Leche Aceite y Azúcar Tarta 1 3 2 1 Tarta 2 4 3 1

En la elaboración de un kilo de masa de tarta 1 se emplean además 3 huevos. Se sabe que la función de ingresos de la empresa es 2x2-xy+y2 donde x e y son los Kgs de masa de tarta fabricada de cada tipo y que las existencias en almacén son: harina 100 Kgs., leche de 50 litros (1 litro equivale a 1Kg) y huevos 20 docenas. Queremos averiguar cuántos Kgs. de cada tipo de masa se tienen que fabricar para maximizar los ingresos de la empresa.”

1) Plantea en términos matemáticos los problemas de programación matemática enunciados identificando las variables del problema, la función objetivo y restricciones. Identifica el tipo de aplicación económica y clasifica el problema atendiendo a su estructura.

2) Abre el proyecto que creaste en el directorio A:\TEMA2 en la PRÁCTICA DE ORDENADOR y crea los correspondientes ficheros GAMS para resolver los problemas de programación planteados (para resolver el enunciado 4 toma los valores p1=10, p2=5, M=1000). Ejecuta los programas para varios puntos de arranque y escribe la solución obtenida: valor de la función objetivo, valor de las variables principales, valor de las variables de holgura y valor de los multiplicadores.

3) Estudia si los óptimos obtenidos son globales e interpreta los multiplicadores de Kuhn y Tucker obtenidos.

4) PRACTICA AHORA TÚ: Resuelve el ejercicio10 de la COLECCIÓN DE EJERCICIOS.

5.- Justificación de la condición necesaria de óptimo en programas no lineales

TEORIA 5: Justificación geométrica de la condición necesaria de óptimo En este apartado del tema estudiaremos por qué las condiciones de punto de Kuhn y Tucker son condiciones necesarias de óptimo en problemas de programación no lineales en los que todos los puntos son regulares. La argumentación se apoya en los apuntes de Ivorra (2003) pág. 25 a 29.

Page 35: Apuntes Profesora Font

Tema 2

35

Comencemos por repasar la interpretación del gradiente de una función (léase el cuadro adjunto):

REPASO: Dado un punto x = (x1,x2,...,xn) y f una función escalar diferenciable en x, sabemos que:

∇f(x) indica la dirección de máximo crecimiento de f en el punto x. −∇f(x) indica la dirección de mínimo crecimiento de f en el punto x. Y las direcciones perpendiculares a ∇f(x) (v/ ∇f(x)⋅v=0) son de crecimiento nulo.

Analicemos las condiciones de Kuhn y Tucker de un problema no lineal en formato estándar.

L(x,λ)=f(x)+ λ1[b1-g1(x)]+...+ λm[bm-gm(x)](1)

0xgλ...

xgλ

xf

xL

i

mm

i

11

ii

=∂∂

−−∂∂

−∂∂

=∂∂

(2) λi [bi-gi(x)] = 0 (3) λi ≥ 0(4) gi(x) ≤ bi

(1) →

i

mm

i

11

i xgλ...

xgλ

xf

∂∂

++∂∂

=∂∂ → mm11 gλ...gλf ∇++∇=∇

(2) y (4) Si la restricción i es no activa entonces λi es cero. (3) Los coeficientes de la combinación lineal de arriba son positivos.

Y resumiendo estas ideas:

Un punto x factible y regular cumple las condiciones de punto de Kuhn y Tucker si y sólo si el gradiente de la función objetivo en x es combinación lineal con coeficientes positivos de los gradientes de las restricciones saturadas en x.

1) Interpreta apoyándote en el análisis de las condiciones de punto de Kuhn y Tucker la cualificación de regularidad.

Introduzcamos ahora unas consideraciones geométricas para entender por qué las condiciones de Kuhn y Tucker son necesarias. Para ello, nos apoyaremos en el siguiente problema de programación no lineal diferenciable:

≤+≤+1y x 1y xs.a

y)(x, fMax 22

2) Escribe las condiciones de punto de Kuhn y Tucker del problema

Dibujemos ahora el conjunto de oportunidades del problema y consideremos tres puntos del mismo: un punto interior, un punto frontera con una restricción activa y un punto frontera con dos restricciones activas, ¿qué condiciones se tienen que cumplir necesariamente si esos puntos son óptimos del problema planteado?

Page 36: Apuntes Profesora Font

Tema 2

36

3) Razona para un punto x1 interior.

4) Razona para un punto x2 frontera con una restricción activa.

5) Razona para un punto x3 frontera con dos restricciones activas.

6) PRACTICA AHORA TÚ: ¿En un problema lineal el óptimo puede ser un punto interior? ¿Por qué?

___________________________

___________________________

___________________________

___________________________

______________________________

______________________________

______________________________

______________________________

___________________________

___________________________

___________________________

___________________________

Page 37: Apuntes Profesora Font

Tema 2

37

COLECCIÓN DE EJERCICIOS

1.- Para los siguientes problemas:

− Aplicar el teorema de Weierstrass.

− Resolverlos gráficamente.

− Estudiar si los óptimos obtenidos, cuando así sea, cumplen las condiciones de Kuhn y Tucker.

− Estudiar si los óptimos obtenidos, cuando así sea, cumplen la condición de regularidad.

− Estudiar si los óptimos obtenidos, cuando así sea, cumplen la condición de suficiencia.

− Aplicando la información de los apartados anteriores que se considere pertinente, razonar qué se sabe acerca de la solución de cada uno de los problemas.

a) Max – x2 – y2 s.a. x + y ≤ 1

b) Min x2 + y2 s.a. x + y ≥ -1

c) Max x + y s.a. x2 + y2 ≤ 1

d) Min x + y s.a. x2 + y2 ≤ 1

e) Max x s.a. x2 + y2 ≤ 1 x , y ≥ 0

f) Max y s.a. 6 - x2 - y2 ≥ 0 x2 – y ≥ 0 x , y ≥ 0

2.- Consideremos el siguiente problema:

Max x2 + y2 s.a. x + y ≤ 1 x – y ≤ 0 -x ≤ 0

a) Demostrar que el conjunto de oportunidades es un poliedro (politopo acotado).

b) Resolver gráficamente el problema y demostrar que el/los óptimo/s obtenido/s son puntos de Kuhn y Tucker.

c) Demostrar que cualquier solución factible es un punto regular. ¿Puede existir un óptimo del problema que no sea punto de Kuhn y Tucker?

3.- Sea el problema de PNL:

Max 6x + 3y - x2 + 4xy - 4y2 s.a. x + y ≤ 3 4x + y ≤ 9 x , y ≥ 0

Sabiendo que (2,1) es su único punto de Kuhn y Tucker, demostrar que es el único máximo global.

4.- Dado el problema de PNL:

Min 2x + y s.a. xy ≤ 4 x - y ≥ - 2 y ≥ 0

a) Escribir las condiciones de Kuhn y Tucker.

Page 38: Apuntes Profesora Font

Tema 2

38

b) Demostrar que el punto (-2,0) es un punto de Kuhn y Tucker utilizando las condiciones del apartado a).

c) Estudia si el punto (-2,0) es un óptimo global del problema.

5.- Escribir la función Lagrangiana y las condiciones de Kuhn y Tucker correspondientes para los siguientes problemas de programación no lineal:

a) Max f(x,y) s.a. g1 (x,y) ≤ b1 g2 (x,y) = b2 y ≥ 0

b) Min f(x,y) s.a. g1 (x,y) ≤ b1 g2 (x,y) = b2

c) Max f(x,y) s.a. g1 (x,y) = b1 x, y ≥ 0

d) Min f(x,y) s.a. g1 (x,y) ≤ b1 g2 (x,y) ≥ b2 x ≤ 0

6.- Para el siguiente problema:

Max (x – 2)2 + (y – 2)2 s.a. x - y ≤ 8 x + y ≥ - 4 x , y ≥ 0

Se pide:

a) Escribir las condiciones de Kuhn y Tucker.

b) Comprobar si los puntos (2,-6) y (8,0) verifican dichas condiciones.

c) Utilizando los resultados del apartado anterior, ¿qué se puede afirmar de su optimalidad?

7.- Dado el problema:

Max - 4x2 - 2xy - y2 s.a. x2 + y2 ≤ 4 2x + 2y ≥ 2

Se pide:

a) Comprobar si los puntos (0,1), (1,0) y (2,2) cumplen las condiciones de Kuhn y Tucker.

b) Para aquellos puntos del apartado a) en que la respuesta sea afirmativa, comprobar si las condiciones de Kuhn y Tucker son necesarias y suficientes.

8.- Dado un problema de programación no lineal se sabe:

- todas sus restricciones son lineales.

- x* es su único punto de Kuhn y Tucker.

¿Qué condiciones deben cumplirse para que x* sea el único óptimo del problema?

9.- Aplique las condiciones de Kuhn y Tucker para resolver (encontrar óptimos globales si puede ser) los siguientes problemas de programación clásica:

a) Min. 3x2+xy+4y2

s.a: 3x+y=6

b) Max. 2x+y

s.a: x+2y2=3

c) Min. x2+y2

s.a: y+x2=1

d) Min. x2+y2-3xy+z2

s.a: x+y+z=6

e) Min. x2+xy+y2-6x+2 f) Max. –x3-x2+xy-y2-4 g) Max. –x2-2y2+4x-6y

Page 39: Apuntes Profesora Font

Tema 2

39

10.- Dado el problema básico del consumidor:

Max. U(x,y) Maximizar la utilidad

s.a: p1x+p2y ≤ M Restricción presupuestaria, con M, p1, p2 > 0

x, y ≥ 0 Consumos no negativos

Se pide:

a) Analice el problema desde el punto de vista de la programación no lineal: existencia de solución, condiciones de Kuhn y Tucker (sin resolverlas) y globalidad y unicidad de la solución de Kuhn y Tucker.

b) Demuestre que si el consumidor es racional, es decir, prefiere más a menos (utilidades marginales estrictamente positivas), los consumos óptimos llevarán a gastar totalmente la renta.

c) Resuelva el problema si U(x,y)=10ln(x)+5ln(y), M=180, p1=5 y p2=3

COLECCIÓN DE PROBLEMAS DE ORDENADOR

1.- La gerencia de una empresa quiere producir tres artículos a los que llama producto 1, producto 2 y producto 3. Dispone de tres máquinas de las cuales conoce la capacidad disponible de cada máquina y el número de horas-máquina que se requiere para cada producto:

Tipo de máquina Tiempo en horas-máquina por

semana

Productividad en horas-máquina por unidad

Prod. 1 Prod. 2 Prod. 3 Fresadora 500 9 3 5 Torno 350 5 4 0 Pulidora 150 3 0 2

Los costes unitarios al producir los artículos 1, 2 y 3 son 25, 10 y 15 unidades monetarias

respectivamente y los precios de venta son 35+100x1-1/3, 15+40x2-1/4 y 20+50x3-1/2,

respectivamente, siendo xi el número de unidades vendidas del producto i.

a) Calcular las cantidades de los tres productos que maximizan los beneficios.

b) Apoyándose en los resultados obtenidos en el apartado anterior, determinar si es conveniente aumentar la capacidad disponible de la pulidora.

Sugerencia: Incluir una cota inferior para cada variable de 0.0001. Volver a resolver el ejercicio sin cotas y observar qué ocurre.

2.-Una empresa en competencia se plantea minimizar los costes de producción. Los costes unitarios de los dos factores que utiliza (capital -K- y trabajo -L-) son de 4 y 5 unidades monetarias, respectivamente. La producción mínima que ha de cubrir la empresa es de 1000 unidades físicas.

La empresa tiene la siguiente función de producción: P(K,L) = 10 * (K0.5 * L0.5) Se pide:

a) Obtener los valores del capital y del trabajo que minimizan el coste de producción de la empresa, así como el coste mínimo.

b) Interpretar el multiplicador. Resolver de nuevo el problema para el caso en que la

Page 40: Apuntes Profesora Font

Tema 2

40

producción mínima sea de 1001 unidades y comparar ambos resultados.

3.- Una empresa produce tres tipos de productos en cantidades x, y, z. El beneficio unitario de cada producto es:

• Beneficio unitario del producto 1: 24 – x. • Beneficio unitario del producto 2: 20 – y. • Beneficio unitario del producto 3: 20 – z.

Se sabe que para producir una unidad del producto 1 se utilizan cuatro horas de trabajo, para producir una unidad del segundo se utilizan dos horas y para producir una unidad del tercer producto se utilizan dos horas. Además, la empresa dispone de 16 trabajadores que trabajan 8 horas cada uno.

Se pide: a) Calcular las cantidades a producir de cada tipo de producto para maximizar el beneficio de

la empresa. b) Determinar, según los resultados obtenidos en el apartado anterior, si a la empresa le

interesa aumentar o reducir el número de horas de trabajo de su plantilla.

4.- En una urbanización se están construyendo dos tipos de viviendas: apartamentos y áticos, cuyos precios son p1 y p2 , respectivamente. La curva de demanda para los apartamentos es d1 = 100 – 2p1 y para los áticos es d2 = 150 – 3p2. El constructor, que ha vendido ya 60 apartamentos, no quiere quedarse con viviendas sin vender. Además ha calculado que, debido a los pedidos ya realizados a sus proveedores de materias primas, le conviene construir 15 veces más apartamentos que áticos. Por otra parte, ha calculado que la construcción de un apartamento le supone un coste total de 5 millones de euros y la de un ático, 3 millones de euros. Sabiendo que tiene un presupuesto de 350 millones de euros, se pide:

a) Calcular los precios de ambos tipos de viviendas para que el constructor maximice su beneficio.

b) ¿Le interesaría aumentar el presupuesto disponible?

5.- Una tienda de quesos tiene 20 kilos de una mezcla de frutas de estación y 60 kilos de un queso caro, con los cuales se prepararán dos tipos de queso para untar, fino y normal, que son populares durante la semana de Navidad. Cada kilo del queso fino para untar se compone de 0'2 kilos de la mezcla de frutas, 0'3 kilos del queso caro y 0'5 kilos de un queso de relleno, que es barato y del cual se tiene abundante reserva. Cada kilo del queso normal para untar se compone de 0'2 kilos de la mezcla de frutas, 0'2 kilos del queso caro y 0'6 kilos de un queso de relleno. Debido a las políticas de precios empleadas en el pasado por la tienda, se sabe que la demanda para cada tipo de queso para untar depende de su precio de la siguiente forma:

d1 = 190 - 25p1 d2 = 250 - 50p2

donde d denota la demanda (en kilos), p denota el precio (en euros por kilo), y los subíndices 1 y 2 se refieren, respectivamente, al queso para untar fino y normal.

a) ¿Cuántas libras de cada tipo de queso para untar deben prepararse, y qué precios deben establecerse, si se desea maximizar el ingreso y vender totalmente ambos tipos hacia el fin de la semana de Navidad? b) ¿Que le ocurrirá al ingreso si la tienda puede dispones de un kilo más de queso caro?

Page 41: Apuntes Profesora Font

Tema 2

41

6.- Una empresa produce tres artículos en cantidades x, y, z. La función de ingresos de la empresa viene determinada por:

I(x,y,z) = x2 + 20y2 +10z2 + 20yz La capacidad máxima productiva de la empresa es de 5000 unidades entre los tres productos. Por razones de mercado no puede vender más de 1500 unidades del segundo producto ni puede ofertar menos de 1000 ni más de 3000 del primero.

a) Calcular las cantidades de cada artículo que debe producir la empresa si desea maximizar sus ingresos.

b) ¿Le convendría a la empresa aumentar su capacidad productiva?

7.- Un consumidor puede elegir entre dos bienes cuyos precios son respectivamente de 5 y 9 euros. Dispone de una renta de 450 euros que debe gastar enteramente entre ambos bienes. La función de utilidad es la siguiente:

U(x,y) = 20 x0.4 y0.6 siendo x las unidades consumidas del primer bien e y las del segundo. Se pide:

a) Obtener las unidades consumidas de cada bien, el valor de la función de utilidad y el valor del multiplicador de Lagrange asociado a la restricción, cuando el consumidor maximiza su utilidad.

b) Interpretar el significado del multiplicador. c) Resolver de nuevo el problema para el caso en que la renta disponible del consumidor sea

de 452 unidades. Comparar el resultado con el obtenido en el apartado b).

8.- Una empresa de transporte de viajeros tiene la concesión de tres rutas, siendo x, y, z el número de viajes a realizar anualmente por cada ruta. Los costes de la empresa son: Coste fijo: 4000 u.m. Coste variable por viaje 1ª ruta: 10x+10y Coste variable por viaje 2ª ruta: 10x+20y Coste variable por viaje 3ª ruta: z Después de un estudio de mercado, la empresa llega a la conclusión de que se deben realizar exactamente 2200 viajes anuales entre las tres rutas.

a) Determinar el número de viajes a realizar por cada ruta para que el coste sea mínimo. b) A la empresa le proponen aumentar en uno el número total de viajes. Razonar, utilizando

los datos obtenidos en el apartado a, si le conviene aceptar la oferta.

9.- Un fabricante produce tres artículos en cantidades x, y, z. El precio de venta de cada uno es una función decreciente de la cantidad ofrecida de acuerdo con las siguientes relaciones:

Precio de venta de una unidad del producto 1: 210 – x. Precio de venta de una unidad del producto 2: 106 – y. Precio de venta de una unidad del producto 3: 65 – z.

Por otra parte, el coste de producción de cada uno de ellos se compone de un coste fijo de mantenimiento de 100, 60 y 30 unidades monetarias, respectivamente, y un coste variable por unidad producida de 10, 6 y 5 unidades monetarias.

a) Determinar las cantidades de cada producto que maximizan el beneficio de la empresa, teniendo en cuenta que se deben producir exactamente 360 unidades entre los tres productos.

b) Si el empresario pudiera producir más de 360 unidades, ¿aumentaría su beneficio?

Page 42: Apuntes Profesora Font

Tema 2

42

TEST 1: INTRODUCCIÓN A LA OPTIMIZACIÓN Y PROGRAMACIÓN NO LINEAL PREGUNTA 1: Dado el siguiente problema:

12 z y xs.a.404z4y4xMax

222 =++

−+−

Se pide: a) Aplica el teorema de Weierstrass. b) Obtén los puntos críticos del problema. c) ¿Se puede aplicar en este problema la condición suficiente de óptimo global? ¿Por qué? d) Utilizando los resultados de los apartados anteriores, ¿qué se sabe acerca de la solución de este

problema? (2.5 puntos)

PREGUNTA 2: Resuelve gráficamente el siguiente problema. Indica si el conjunto de oportunidades es compacto o convexo. Clasifica el problema e indica si la solución óptima es interior o de frontera. Calcula el valor óptimo de la función objetivo.

0y , x0 y - x4 y xs.a.

y Opt x

2

22

22

≥≥

≤+

+

(1 puntos)

PREGUNTA 3: Dado el siguiente problema:

0y 0y x

1 xs.a.y Min x 22

≤≥+

≤+

Se pide: a) Plantea las condiciones de punto de Kuhn y Tucker. b) Estudia si los puntos (0,0), (1,1) y (1,0) cumplen las condiciones de Kuhn y Tucker. c) Razona si son óptimos globales.

(2.5 puntos)

PREGUNTA 4: Una constructora piensa edificar una urbanización con dos tipos de viviendas: apartamento y chalet adosado, cuyos precios son p1 y p2 respectivamente. El coste de cada apartamento es de 3 u.m. y el de cada chalet adosado de 5 u.m. La curva de demanda para los apartamentos es d1=100-2p1 y para los chalet adosados d2=200-3p2. El constructor desea maximizar sus beneficios, no quiere dejar viviendas sin vender, ya ha vendido 35 apartamentos y dispone de un presupuesto de 350 u.m.

Page 43: Apuntes Profesora Font

Tema 2

43

La solución que proporciona el GAMS es: LOWER LEVEL UPPER MARGINAL ---- EQU PRESUPUES~ -INF 350.000 350.000 6.800 ---- EQU BENEFICIO . . . -1.000 LOWER LEVEL UPPER MARGINAL ---- VAR APTO 35.000 35.000 +INF -5.400 ---- VAR CHALET . 49.000 +INF . ---- VAR B -INF 3603.833 +INF .

a) Modeliza el problema anterior. b) Interpreta todas las cantidades que aparecen en la tabla. c) ¿Le interesa a la empresa aumentar el presupuesto disponible en 50 u.m.? ¿Por qué? d) Plantea y resuelve con GAMS el problema enunciado en la pregunta 3.

(2.5 puntos)

PREGUNTA 5: Sea el problema:

MIN 10z3 – xy s.a.: x2 + y2 – z ≤ 4 2x + 3z ≥ 40 x ≥ 0 y ≤ 60 z ≥ 3

a) Utilícese GAMS para resolver el problema tomando como punto inicial el (0,0,15). Indica el valor de las variables en el óptimo local encontrado y el valor de la función objetivo en dicho punto.

Nota : Grabar el problema en el disquete con el nombre model1.gms (o model1.lg4) y la solución como model1.lst (o model1.lgr).

b) Escribe el valor de los multiplicadores asociados a la primera y la segunda restricción.

c) ¿Si pudiese aumentar o disminuir el término independiente de alguna de las dos primeras restricciones qué modificación sería la más conveniente? Razona la respuesta.

(1.5 puntos)

Nota.- El TEST 1 está resuelto en MATERIAL COMPLEMENTARIO: ANEXO 4.

Page 44: Apuntes Profesora Font

44

Introducción a la Programación Lineal

1.- Formulación del problema de programación lineal y consecuencias

2.- Soluciones factibles básicas

3.- Teoremas fundamentales de la programación lineal Guerrero (1994) Cap. 9, Mocholí y Sala (1999) Cap. 6, Mocholí y Sala (1993) Cap. 1

En el TEMA 2 hemos visto algunos procedimientos para resolver problemas de programación no lineal diferenciables en general, y problemas clásicos (dedicamos un apartado en el TEMA 2) en particular. Aunque esta teoría también se puede aplicar para resolver problemas lineales, al no aprovechar las consecuencias que se derivan de la linealidad, no constituye la forma más eficiente de abordar estos problemas. Dedicaremos los próximos TEMAS 3 a 6 a la resolución de problemas de programación lineales.

1.- Formulación del problema de programación lineal y consecuencias

TEORÍA 1: Formulación del problema de programación lineal y consecuencias Empezaremos este tema, estableciendo algunas notaciones específicas de la programación lineal. Como puedes observar en la diapositiva adjunta, aplicando las reglas que vimos en TEMA1: TEORÍA 2, podemos transformar un problema cualquiera de programación lineal (cuando no ajusta a la forma canónica de maximizar –en la transparencia− se dice que esta escrito en forma mixta) en un problema lineal escrito en forma estándar o forma matricial estándar. La estandarización de un problema lineal es el paso previo para aplicar los algoritmos de resolución de problemas lineales que veremos en el TEMA 4.

Fíjate en la nomenclatura introducida en la formulación matricial. Y lee atentamente el apartado “consecuencias de la formulación” que incluye las consecuencias inmediatas de la teoría general que ya conocemos.

Page 45: Apuntes Profesora Font

Tema 3

45

1) Escribe el siguiente problema mixto de programación lineal en forma estándar y señala cuál son las variables principales y de holgura, el vector de coeficientes, la matriz técnica y el vector de términos independientes.

libre x0, x0, x5x2x

4x x32x xs.a.

x4x3x-Min

321

31

32

21

321

≤≥≤+

=−≥+

++

2) Demuestra que el conjunto de oportunidades de un problema lineal es convexo.

3) Razona por qué en programación lineal son ciertas las siguientes afirmaciones:

a) “Los óptimos de los problemas lineales son siempre óptimos globales”

b) “Las condiciones de punto de Kuhn y Tucker son condiciones necesarias y suficientes de óptimo.”

c) “Si el conjunto de oportunidades del problema es acotado y no vacío podemos garantizar la existencia de óptimo global”

4) Apoyándote en el apartado “Justificación geométrica de la condición necesaria de óptimo” que estudiamos en el TEMA 2: TEORÍA 5 explica por qué los óptimos de un problema lineal son siempre puntos frontera.

5) PRACTICA AHORA TÚ: Transforma en formato estándar los problemas (A) a (H) enunciados en la PRÁCTICA 1 y señala cuál son las variables principales y de holgura, el vector de coeficientes, la matriz técnica y el vector de términos independientes.

6) PRACTICA AHORA TÚ: Resuelve el ejercicio 2 de la COLECCIÓN DE EJERCICIOS.

PRÁCTICA 1: Clases de problemas lineales Repasa la clasificación de los problemas según tipo de solución que vimos en TEMA1: TEORÍA 1 y el procedimiento de resolución gráfico que vimos en TEMA1: PRÁCTICA 2. Y observa que en los problemas lineales: las curvas de nivel son hiperplanos (rectas en R2) que crecen en la dirección indicada por el gradiente, y las restricciones definen polítopos (poliedros si están acotados).

Dados los siguientes problemas de programación lineal:

(A)

≥≤+≤+

+

0y x, 6y2x 4y xs.a.

2yMax x

(B)

≥≤+≤+

+

0y x, 6y2x 4y xs.a.

yMax x

(C)

≥≤≤+

+

0y x, 4y 2y x- s.a.

y2x-Max

(D)

≥≤≤+

+

0y x, 4y 2y x- s.a.

yx-Max

(E)

≥≤≤+

0y x, 4y 2y x- s.a.

Max x

(F)

≥≤≤+

0y x, 4y 2y x- s.a.

yMax

(G)

≥≥+≤+

+

0y x, 4y2x- 4y 2 x- s.a.

yMax x

(H)

≥≥+≥−

0y x, 1y x0y xs.a.

y-Min x

Page 46: Apuntes Profesora Font

Tema 3

46

1) Resuelve gráficamente los problemas (A) y (D), y clasifícalos atendiendo a su solución.

2) PRACTICA AHORA TÚ: En programación lineal las soluciones óptimas de un problema acotado pueden ser de tipo: vértice, arista o cara finita, arista o cara infinita. ¿De qué tipo son los óptimos en (A) y (D)? Resuelve gráficamente los problemas (B), (C) y (E) a (H), clasifícalos atendiendo a su solución y en caso de problemas acotados identifica el tipo de óptimo obtenido.

6) PRACTICA AHORA TÚ: Resuelve el ejercicio 1 de la COLECCIÓN DE EJERCICIOS.

APRENDE A DEMOSTRAR Enunciado: Si un problema lineal es acotado entonces tiene solución única o infinitas soluciones. Además, dadas dos soluciones óptimas del problema lineal también es solución óptima cualquier punto del segmento lineal cerrado que las une.

Demostración:

Dadas x1 y x2 dos soluciones óptimas de un problema lineal en formato estándar y z* el valor de la función objetivo en el óptimo se cumple que:

z*=ctx1= ctx2 Y las condiciones de factibilidad: Ax1=Ax2=b, x1,x2≥0. Tomemos ahora un punto x cualquiera del segmento que une estas dos soluciones óptimas, entonces por estar en dicho segmento podemos expresar, para un determinado valor de λ entre 0 y 1, este punto como:

x =λ⋅x1+(1− λ )⋅x2 El punto x satisface las condiciones de factibilidad:

Ax=A[λ⋅x1+(1− λ )⋅x2] = λ⋅Ax1+(1− λ )⋅Ax2= λ⋅b+(1− λ )⋅b= [λ⋅+(1− λ )]⋅b=b x =λ⋅x1+(1− λ )⋅x2 ≥ λ⋅0+(1− λ )⋅0 = 0

y además, es óptimo ya que:

ctx = ct[λ⋅x1+(1− λ )⋅x2]= =λ⋅ ct x1+(1− λ )⋅ ct x2=λ⋅z*+(1− λ )⋅z*= [λ⋅+(1− λ )]⋅z*=z* Con lo que queda demostrado todo el enunciado (nótese que si hay más de una solución óptima, hay al menos dos y como entonces como son también soluciones óptimas cualquier punto del segmento hay infinitas soluciones óptimas).

_________________________________

_________________________________

_________________________________

__________________________________

__________________________________

__________________________________

Page 47: Apuntes Profesora Font

Tema 3

47

2.- Soluciones factibles básicas

PRÁCTICA 2: Obtención de soluciones factibles básicas Como veremos en el próximo apartado de este tema la obtención de óptimos en los programas lineales se basa en el cálculo de soluciones factibles básicas. Introduzcamos ahora este concepto y algunas de sus consecuencias inmediatas.

Consideremos nuevamente un problema lineal en su forma matricial estándar:

0≥=

xbAx

xc

s.a.

Max t

con x el (n+m)-vector de variables del problema, c el (n+m)-vector de coeficientes, b el m-vector de términos independientes y A la m×(n+m)-matriz de coeficientes técnicos del problema (rango(A)=m).

Apoyándonos en este formato del problema podemos descomponer la matriz A en una matriz B m×m con determinante no nulo, que llamaremos básica y una matriz N m×n formada por las restantes columnas, que llamaremos no básica. Atendiendo a esta división A=(B|N) podemos dividir el vector x de variables del problema (no distinguimos aquí entre variables principales y de holgura) en un m-vector xB de variables básicas y un n-vector xN de variables no básicas (xt=(xB

t,xNt)). A partir de esta descomposición, diremos que:

Solución básica, es todo vector x que tiene a lo sumo m componentes no nulas, satisface las restricciones Ax=b, y la submatriz B asociada a esas componentes no nulas tiene determinante no nulo. (Las a lo sumo m componentes no nulas son las variables básicas, y las n restantes son las variables no básicas.)

Solución factible, es todo vector x que verifica el sistema de restricciones y las condiciones de no negatividad.

Solución factible básica, es un vector x que es solución factible y básica a la vez. En los procedimientos de resolución de problemas lineales se distingue entre:

• Solución factible básica no degenerada, cuando el vector x tiene exactamente m componentes no nulas.

• Solución factible básica degenerada, cuando alguna de las componentes básicas del vector x es nula.

Observemos que, si x es solución factible básica entonces:

0bBx bBxbNxBxxx

NBAx 1-

B0x≥===+=

= →→

≠=B

0BNB

N

B

N

)|(

Esto es, tenemos dos procedimientos equivalentes para obtener, si existe, la solución factible básica asociada a un grupo de m variables básicas, xB:

Primer Método • Demostrar que: |B|≠0 • Hacer xN=0 y resolver el sistema: Ax=b • Comprobar que xB≥0

Segundo Método • Demostrar que: |B|≠0 • Obtener la inversa de B. • Calcula y comprueba: xB=B-1b≥0

Si falla alguna de las condiciones de cualquiera de los dos métodos no existe solución factible básica asociada a ese grupo de variables básicas.

Page 48: Apuntes Profesora Font

Tema 3

48

1) Obtén todas las soluciones factibles básicas del problema de programación lineal:

0y x, 5y 8y2x s.a

y4xMax

≥≤≤+

+

Empezaremos por escribir el problema en formato estándar:

( )0014

58 ,

10100112tsyx

t =

=

=

c

bA

Cada solución factible básica (SFB) tendrá a lo sumo m=2 componentes no nulas. Hay 6 posibilidades para las variables básicas: (1) (s,t), (2) (s,y), (3) (x,y), (4) (x,s), (5) (x,t), y (6) (y,t).

(1) xB= (s,t)t, xN= (x,y)t = 0t

Aplicando el segundo procedimiento:

=

1001

B |B|=1≠0

=

10011-B 0bbBx 1- ≥

===

58

B (0,0,8,5)t es SFB

(2) xB= (s,y)t, xN= (x,t)t = 0t

Aplicando el segundo procedimiento:

=

1011

B |B|=1≠0

−− bBNBIbNB 11

53

1012

1001

58

1002

1011 0bBx 1- ≥

==

53

B (0,5,3,0)t SFB

(3) xB= (x,y)t, xN= (s,t)t = 0t

Aplicando el primer procedimiento:

=

1012

B |B|=2≠0 5y ,23x5y 8y2x

==→

==+ 3/2, 5 ≥0 (3/2,5,0,0)t SFB

(4) xB= (x,s)t, xN= (y,t)t = 0t

_____________________________________________________________________________

(5) xB= (x,t)t, xN= (y,s)t = 0t

_____________________________________________________________________________

(6) xB= (y,t)t, xN= (x,s)t = 0t

_____________________________________________________________________________

Observa: si el problema de PL es canónico, es muy fácil obtener un primera SFB (la (1)).

Page 49: Apuntes Profesora Font

Tema 3

49

2) Dibuja el conjunto de oportunidades del problema lineal anterior. Y observa que: las soluciones factibles básicas se corresponden con los vértices del poliedro (Hay un teorema, que enunciaremos en el próximo apartado, que garantiza esta correspondencia entre SFB y vértices). ¿Hay alguna solución factible básica en este problema que sea degenerada?

3) PRACTICA AHORA TÚ: Resuelve los ejercicios 3, 4, 5 y 6 de la COLECCIÓN DE EJERCICIOS.

4) PRACTICA AHORA TÚ: Calcula todas las soluciones factibles básicas del problema:

0y x, 1y -x 02y -x 1y xs.a

y2xMax

≥≤≥≥+

+ (Solución: apuntes Ivorra (2003), pág. 39-40)

PRÁCTICA DE ORDENADOR: Resolución de problemas lineales con GAMS Hemos razonado en el apartado 1 de este tema que los óptimos de un problema lineal, en caso de existir, son siempre globales, y hemos indicado que este óptimo pueden ser: único, arista o cara finita, o arista o cara infinita. En esta práctica de ordenador nos centraremos en identificar los distintos tipos de solución obtenidos al resolver un problema lineal con GAMS.

Consideremos nuevamente los problema lineales (A) a (H) que hemos resuelto gráficamente en Práctica 1.

1) Crea un proyecto en el directorio A:\TEMA3 y los correspondientes ficheros GAMS para resolver los problemas de programación (A) a (G) planteados. Recuerda que: en el bloque de variables no necesitas poner punto de arranque y que en el bloque solución tienes que escribir LP (Linear Programming).

2) Ejecuta los programas GAMS anterior y compara tus salidas con las siguientes: S O L V E S U M M A R Y

MODEL OBJECTIVE F TYPE LP DIRECTION MAXIMIZE SOLVER OSL FROM LINE 12

**** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 4 INFEASIBLE **** OBJECTIVE VALUE 4.0000

LOWER LEVEL UPPER MARGINAL ---- EQU OBJ . . . 1.000 ---- EQU R1 -INF 8.000 4.000 . ---- EQU R2 4.000 4.000 +INF 1.000

LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF 3.000 ---- VAR Y . 4.000 +INF . ---- VAR F -INF 4.000 +INF .

S O L V E S U M M A R Y

MODEL OBJECTIVE F TYPE LP DIRECTION MAXIMIZE SOLVER OSL FROM LINE 11

**** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 8.0000

LOWER LEVEL UPPER MARGINAL ---- EQU OBJ . . . 1.000 ---- EQU R1 -INF 4.000 4.000 2.000 ---- EQU R2 -INF 4.000 6.000 .

LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF -1.000 ---- VAR Y . 4.000 +INF . ---- VAR F -INF 8.000 +INF .

S O L V E S U M M A R Y

MODEL OBJECTIVE F TYPE LP DIRECTION MAXIMIZE SOLVER OSL FROM LINE 11

**** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 4.0000

LOWER LEVEL UPPER MARGINAL ---- EQU OBJ . . . 1.000 ---- EQU R1 -INF 2.000 2.000 EPS ---- EQU R2 -INF 4.000 4.000 1.000

LOWER LEVEL UPPER MARGINAL ---- VAR X . 2.000 +INF . ---- VAR Y . 4.000 +INF . ---- VAR F -INF 4.000 +INF .

S O L V E S U M M A R Y

MODEL OBJECTIVE F TYPE LP DIRECTION MAXIMIZE SOLVER OSL FROM LINE 11

**** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 2.0000

LOWER LEVEL UPPER MARGINAL ---- EQU OBJ . . . 1.000 ---- EQU R1 -INF 2.000 2.000 1.000 ---- EQU R2 -INF 2.000 4.000 .

LOWER LEVEL UPPER MARGINAL ---- VAR X . . +INF EPS ---- VAR Y . 2.000 +INF . ---- VAR F -INF 2.000 +INF .

Page 50: Apuntes Profesora Font

Tema 3

50

Relaciona solución de GAMS con problema de optimización, compara la solución proporcionada por el programa con la obtenida gráficamente y establece normas para escribir el punto óptimo (variables principales y de holgura) e identificar en su caso el tipo de óptimo.

3) La introducción de datos en GAMS en los problemas lineales es más sencilla si se escribe el problema en formato matricial y se usan bloques opcionales. Resolvamos el problema (H) usando bloques opcionales. El fichero GAMS en este caso es: * Ejercicio H usando bloques opcionales SET I /1*2/; SET J /1*2/; PARAMETER C(J) /1 1 2 -1/; PARAMETER B(I) /1 0 2 1/;

TABLE A(I,J) 1 2 1 1 -1 2 1 1; VARIABLES Z, X(J); POSITIVE VARIABLES X(J); EQUATIONS OBJ, R(I); OBJ.. Z =E= SUM(J, C(J)*X(J)); R(I).. SUM( J, A(I,J)*X(J)) =G= B(I); MODEL H /ALL/; SOLVE H USING LP MINIMIZING Z;

Deduce a partir del fichero GAMS el procedimiento de bloques, ejecútalo, y escribe el valor del óptimo e indica el tipo de óptimo encontrado.

4) PRACTICA AHORA TÚ: Resuelve usando GAMS con bloques opcionales los problemas lineales planteados en (1) y (4) de PRÁCTICA 2. (Nota.- El (4) requiere una pequeña transformación previa).

APLICACIONES ECONÓMICAS Y EMPRESARIALES: Programación lineal La programación lineal es útil para resolver muchos problemas de decisión en la empresa (recordemos que muchas funciones y relaciones se pueden aproximar linealmente), citemos entre ellos:

Problemas de asignación de recursos.

Problemas de planificación de la producción.

Problemas de mezclas.

Problemas de selección de inversiones.

Tenéis ejemplos de todos estos tipos de problemas de decisión y algunos más en la COLECCIÓN DE

PROBLEMAS DE ORDENADOR que se incluyen al final de los TEMAS 3 A 6. Te proponemos los siguientes enunciados para que empieces a practicar.

Enunciado 1: “El directivo de distribución de una empresa comercial en Valencia se plantea el problema de optimizar los suministros desde los dos almacenes de la empresa a sus tres centros comerciales: Centro, Nuevo Centro y Ciudad Ciencias. El número de Kms desde cada almacén a cada centro comercial se detalla en la tabla adjunta:

Centro Nuevo Centro Ciudad Ciencias Almacén 1 25 12 40 Almacén 2 20 45 10

Sabiendo que las existencias de un producto tipo son de 1200 unidades en el Almacén A y de 2000 en el Almacén B, que tiene que enviar al menos 500, 1000 y 1500 unidades de producto tipo a los centros: Centro, Nuevo Centro y Ciudad Ciencias respectivamente, y que el precio por Km y unidad de producto es de 0.06 euros, averigua cuántas unidades se tienen que enviar de un producto tipo desde cada almacén a cada centro comercial para minimizar el coste total.”

Page 51: Apuntes Profesora Font

Tema 3

51

Enunciado 2: “Un fabricante de juguetes comercializa tres modelos de muñecas: Andadora, Parlanchina y Repollo. La cantidad de materiales y mano de obra para su fabricación así como las existencias de esos materiales vienen dadas en la siguiente tabla:

Plástico Telas Mano de obra Andadora 300 g. 100 cm. 2 h. Parlanchina 450 g. 75 cm. 15 h. Repollo 700 g. 150 cm. 1.25 h Disponibilidades 800 Kg. 1500 m. 8000 h.

Andadora y Parlanchina llevan además un pequeño motor eléctrico y las existencias de ese motor son de800 unidades. El fabricante estima que puede vender no menos de 500 muñecas ni más de 1300 y además, que por estar de moda, la demanda de la muñeca Repollo será superior a la de las otras dos juntas. Sabiendo que el beneficio neto por la venta de las muñecas es: Andadora, 10 euros; Parlanchina, 15 euros; y Repollo, 17 euros. Plantea un modelos de programación para maximizar beneficios.”

1) Plantea en términos matemáticos los problemas de programación enunciados identificando las variables del problema, la función objetivo y restricciones.

2) Abre el proyecto que creaste en el directorio A:\TEMA3 en la PRÁCTICA DE ORDENADOR y crea los correspondientes ficheros GAMS para resolver los problemas de programación planteados. Ejecuta los programas y escribe la solución obtenida: valor de la función objetivo, valor de las variables principales y valor de las variables de holgura.

3) PRACTICA AHORA TÚ: Plantea y resuelve los problemas de la COLECCIÓN DE PROBLEMAS DE

ORDENADOR. Responde a las cuestiones planteadas.

3.- Teoremas fundamentales de la programación lineal

TEORÍA 2: Teoremas fundamentales La resolución de los problemas de programación lineal se apoya en las consecuencias de la formulación que vimos en TEORÍA 1 y en los siguientes cuatro teoremas (demostraciones en Mocholí y Sala (1999) pág: 145 a 151):

Page 52: Apuntes Profesora Font

Tema 3

52

De acuerdo con estos teoremas podemos resolver un problema de programación lineal acotado siguiendo el siguiente procedimiento:

Paso 1.- Plantear el problema en formato estándar.

Paso 2.- Calcular todas las soluciones factibles básicas del problema y el valor de la función objetivo en todas ellas.

Paso 3.- Si el problema está acotado, entonces la solución factible básica con mayor valor de la función objetivo (si estamos maximizando) o con menor valor de la función objetivo (si minimizamos) es un óptimo global del problema.

Este procedimiento tiene dos inconvenientes importantes. El primero, que necesitamos saber si el problema está acotado; y en segundo, el elevado coste computacional de calcular todas las soluciones factibles básicas del problema.

1) ¿Por qué necesitamos asumir en el procedimiento anterior que el problema lineal es acotado? ¿Bajo qué hipótesis podemos demostrar que el problema es acotado? ¿Son esas hipótesis necesarias?

2) Resuelve el problema de programación lineal planteado en el apartado (1) de la PRÁCTICA 2.

3) La siguiente figura representa al conjunto de oportunidades de un problema de programación lineal en forma canónica, y las letras sobre las aristas la variable de holgura correspondiente a cada restricción.

Responde razonadamente a las siguientes cuestiones:

a) ¿Cuántas componentes básicas y no básicas hay en una solución factible básica?

b) ¿Cuántas soluciones factibles básicas tiene el problema? Señálalas en el conjunto de oportunidades.

c) Señala en el conjunto de oportunidades una solución infactible, una solución factible no básica y una solución factible básica.

d) De los tres puntos dibujados en la figura indica cuáles pueden ser óptimos del problema y cuáles no.

e) Para cada uno de los puntos indica qué variables son positivas, negativas o cero.

f) Localiza, si existe, una solución factible básica degenerada.

g) ¿El problema es acotado? ¿Puede ser infactible? ¿Puede tener soluciones óptimas de arista? ¿Y de arista infinita?

4) PRACTICA AHORA TÚ: Resuelve el Ejercicio 7 de la COLECCIÓN DE EJERCICIOS.

5) PRACTICA AHORA TÚ: Resuelve el problema lineal planteado en el apartado (4) de PRÁCTICA 2.

Page 53: Apuntes Profesora Font

Tema 3

53

COLECCIÓN DE EJERCICIOS

1.- Resuelva gráficamente los siguientes problemas de PL, obteniendo la solución óptima e indicando de qué tipo es:

a) Max x+y s.a. -x+y≤2 x+2y≤6 2x+y≤6 x,y≥0

b) Max 2x+y s.a. -x+y≤2 x+2y≤6 2x+y≤6 x,y≥0

c) Max x+y s.a. -x+y≤2 y≤4 x,y≥0

d) Max x+3y s.a. x+y≤6 -x+2y≤8 x,y≥0

e) Min 6x+8y s.a. 3x+y≥4 5x+2y≥7 x,y≥0

f) Min -x-y s.a. x-y≥10 -x+y≥1 x,y≥0

2.- Exprese los siguientes problemas lineales en forma estándar y canónica:

a) Max x+y s.a. -x+y=2 x+2y≤6 2x+y≥6 x ≥0 y≤0

b) Max 2x+3y+z s.a. 4x+3y+z≤20 x+y≤20 x≥0, y≤0, z libre

c) Min x+y s.a. -x+y≤2

3.- ¿Cuántas variables distintas de cero tiene como máximo una solución factible básica de un problema lineal de n variables y m restricciones?

4.- Dado el siguiente problema de PL:

Max 2x+3y+z s.a. x+2y+z ≤30 x+y ≤20

x,y,z≥0 Razonar cuál o cuáles de los siguientes puntos son soluciones factibles básicas.

a) (10,10,0,0,0) c) (20,0,5,5,0) e) (20,0,5, 0,0)

b) (0,0,0, 30,20) d) (0,0,30, 0,20)

5.- Dado el siguiente problema de PL, calcular todas las soluciones factibles básicas del problema e indicar la base que tiene asociada cada una de ellas.

Max 2x - 3y s.a. x + y ≤ 1 x – y ≤ 0 x, y ≥ 0

Page 54: Apuntes Profesora Font

Tema 3

54

6.- Dado el siguiente problema:

Max x1+2x2+4x3 s.a. x1+x2≤10

x1+2x2+x3=14 x1 , x2 , x3 ≥0

a) Determinar la solución factible básica cuya base asociada es {P1, P2}.

b) Calcular dos soluciones factibles básicas más.

c) Calcular una solución factible pero no básica.

d) Calcular una solución básica pero no factible.

7.- Un cierto problema lineal de maximizar tiene el siguiente conjunto factible:

1 2 3 4 5 6

1

2

3

4

5

a) Enumerar todas las soluciones factibles básicas de dicho problema:

b) Si se sabe que la función objetivo de dicho problema es 4x-y, ¿se puede calcular cuál es la solución óptima? Si la respuesta es afirmativa, indicar cuál es y qué debería ocurrir para que no se pudiese. Si la respuesta es negativa, razonar qué debería ocurrir para que sí se pudiese.

COLECCIÓN DE PROBLEMAS DE ORDENADOR

1.- Una empresa estudia poner en marcha un negocio de alquiler de coches. Tras un estudio de mercado se estima que los ingresos semanales por alquilar un coche utilitario son de 40000 €, si el coche es familiar el ingreso es de 60000 € y si es de lujo de 100000 €

Ese mismo estudio indica que el total de coches a comprar no debe superar las 50 unidades debido a limitaciones de demanda. Por otra parte, la empresa dispone de un capital inicial de 105 millones para realizar su inversión en la compra de coches, cuyos precios son de 1,5 millones si es utilitario, 3 millones si es familiar y 10 millones si es de lujo.

Se pide:

a) Indicar el número de coches que comprará de cada tipo si la empresa desea maximizar el ingreso semanal esperado.

b) Interpretar el valor de la variable de holgura de la restricción de capital inicial para comprar coches.

Page 55: Apuntes Profesora Font

Tema 3

55

2.- La NORI & LEETS CO. es una de las mayores productoras de acero del mundo situada en la ciudad de Aceroburgo. Dado que la contaminación no controlada del aire está arruinando la apariencia de la ciudad y poniendo en peligro la salud de sus habitantes, el consejo directivo de la empresa y las autoridades de la ciudad han establecido estándares rigurosos de la calidad del aire para la ciudad de Aceroburgo. Los tres tipos principales de contaminantes, y la reducción requerida en la tasa de emisión anual de los mismos para cumplir los nuevos estándares, son:

• Partículas de materia, con una reducción de 60 millones de kilos.

• Óxidos de azufre, con una reducción de 150 millones de kilos.

• Hidrocarburos, con una reducción de 125 millones de kilos.

Para conseguir dicha reducción, el personal de ingeniería de la compañía ha determinado que las dos fuentes principales de contaminación son los altos hornos y los hornos de hogar abierto. Y que los tres métodos mas eficaces de reducción son aumentar la altura de las chimeneas, usar filtros en las chimeneas e incluir limpiadores de alto grado en los combustibles de los hornos, aunque todos ellos tienen limitaciones tecnológicas en cuanto a la cantidad de emisión que pueden eliminar. La reducción efectuada por cada método (medida en millones de kg por año) al ser empleado en su totalidad es:

Chimeneas altas Filtros Mejores comb. Altos

hornos Hogar abierto

Altos hornos

Hogar abierto

Altos hornos

Hogar abierto

Partícula 12 9 25 20 17 13 Oxidos 35 42 18 31 56 49 Hidrocar. 37 53 28 24 29 20

Con estos datos, es evidente que ningún método por sí solo podía lograr las reducciones requeridas. Por otro lado, la reducción de la combinación de los tres métodos a toda su capacidad resulta mucho mayor de lo que se pide y demasiado cara. Luego, convendría usar alguna combinación de métodos con capacidades fraccionarias en base a sus costes. Dichos costes, considerando cada método utilizado al total de su capacidad y medidos en millones de euros, son:

Altos hornos Hogar abierto Chimeneas altas 8 10 Filtros 7 6 Mejor combustible 11 9

a) ¿Qué tipo de métodos y a qué fracción de su capacidad deben emplearse para conseguir la reducción requerida por las autoridades?

b) ¿Cuál sería la nueva solución si la reducción requerida de óxidos de azufre fuese de 175 millones de kilos?

Page 56: Apuntes Profesora Font

56

El Método Simplex

1.- El algoritmo del Simplex

2.- Algunos ejemplos

3.- El método de las Penalizaciones Guerrero (1994) Cap. 9, Mocholí y Sala (1999) Cap. 7, Mocholí y Sala (1993) Cap. 2

Terminamos el TEMA 3 con un procedimiento de resolución de problemas lineales que presentaba dos inconvenientes: que sólo era válido para problemas acotados y el elevado coste computacional que supone el cálculo de todas las soluciones factibles básicas. En este tema estudiaremos un algoritmo conocido como método Simplex que simplifica considerablemente los cálculos y da una respuesta final sobre si el problema es acotado o no, indicando en el primer caso la/s solución/nes óptima/s del problema.

1.- El algoritmo del Simplex

TEORÍA 1: Mejora de una solución factible básica Partamos del procedimiento de resolución con el que terminábamos en el tema anterior y supongamos durante toda la explicación que el problema es de maximizar, la idea más sencilla para reducir los costes computacionales es reducir el número de soluciones factibles básicas a calcular. Notemos que si el problema es acotado para obtener la solución bastará, partiendo de una solución factible básica inicial, con recorrer aquellas soluciones factibles básicas subyacentes (para no dejarnos ninguna posible SFB relevante para la solución) que mejoren (o al menos no empeoren) el valor de la función objetivo.

Concretemos esta idea. En primer lugar una definición, una solución factible básica subyacente a una dada es una solución factible básica que se diferencia de la dada únicamente en una variable básica que lo es para una pero no para la otra. En segundo lugar veamos algebraicamente, qué significa pasar de unas solución factible básica dada xt=(xB

t,xNt) a una solución factible básica

adyacente mejor. Haciendo unas pequeñas operaciones, la nueva solución factible básica adyacente mejor se construirá haciendo entrar en la base una variable no básica (una componente de xN) y haciendo salir de la base una variable básica (una componente de xB) de modo que se cumplan las siguientes dos ecuaciones:

0NxB- bBx bNxBxxx

NBAx 1-1-

B≥==+=

= →

≠NB

0NB

N

B)|( (1)

( )bBcN)xBc-(cbBc

xcNxBc- bBcxx

cc

1-

1-

1-tBN

tB

tN

1-tB

Nt

NNt

B1-t

BN

BtN

tBz (2)

≥+=

+=

=

Notemos que (2) indica cuál es la variable no básica que ha de entrar en la base y la magnitud del cambio por unidad, y (1) limita el valor que tomará esta variable al entrar en la base para que la nueva solución sea factible. Sea j una variable no básica candidata a entrar y denotemos por: Wj=cj-cB

tB-1Pj al rendimiento marginal de esta variable (lo que aumenta el objetivo por el incremento de una unidad) y por: Yj=B-1 Pj a la variación que experimentarán las variables básicas cuando la

Page 57: Apuntes Profesora Font

Tema 4

57

variable j entre en la base, siendo Pj la columna de la matriz técnica correspondiente a la variable j. Estudiemos algunos casos:

Si existe una o más variables no básicas con Wj≥0. Entonces introduciremos en la base a la variable j que maximiza {Wj=cj-cB

tB-1Pj/ Wj≥0}. Si el rendimiento es estrictamente positivo la nueva SFB adyacente mejorará estrictamente la antigua y si es cero igualará la antigua. Podemos encontrarnos dos casos:

• Yj≤0.

- Si Wj>0, el problema es no acotado, ya que podemos hacer crecer infinitamente el valor de la función aumentando el valor de la variable j.

- Si Wj=0, el problema es acotado con solución de arista o cara infinita.

• Existe una o más variables básicas con Yij≥0. Entonces el valor que puede tomar la variable j está limitado y saltaremos a otro vértice en el que se mejorará estrictamente el valor de la función objetivo si Wj>0.

Si para toda las variables no básicas Wj<0. En este caso no podemos mejorar la solución factible básica de partida que es el óptimo del problema.

Veamos todo lo anterior con números. Consideremos nuevamente el problema planteado en el apartado (1) de TEMA3: PRÁCTICA 2:

0y x, 5y 8y2x s.a

y4xMax

≥≤≤+

+

Y tomemos como punto de partida la solución factible básica: x=(3/2,5,0,0)t con valor de la función objetivo z=11. Para esta solución se tiene que:

( ) ( ) 1 W,2 W,12101/2-1/214 ,

101/2-1/2

ts

ts1t

B1 =−=−=

=

= −− NBcNB

Las dos posibles soluciones factibles adyacentes serán aquellas en las que s ó t entren en la base. Veamos lo que sucede en cada caso:

Si t entra en la base: se va a producir un aumento del valor de la función objetivo de 1 por unidad de t, y se tiene que cumplir que:

4 x5,t1/2)t(3/2x

0t-5y0y0 t

11/2-

53/2

==→

+===

→=→≥

Esto es, y pasa a valer 0, x pasa a valer 4, t pasa a valer 5 y s continua valiendo 0, la nueva solución factible básica es (4,0,0,5) t con z=11+1⋅5=16.

Si s entra en la base: se va a producir una reducción del valor de la función objetivo de 2 por unidad de s (esto es, un empeoramiento), y se tiene que cumplir que:

0 t3,s0(1/2)s3/25y0,x0s 0

1/25

3/2==→=−→==→≥

Esto es, x pasa a valer 0, y pasa a valer 5 (en este caso no cambia), s pasa a valer 3 y t continua valiendo 0, la nueva solución factible básica es (0,5,3,0) t con z=11-2⋅3=5.

Page 58: Apuntes Profesora Font

Tema 4

58

Observa: Fijada la variable j que entra en la base si existe una o más variables básicas con Yij≥0

saldrá aquella que minimice

> 0Y / Y

xijij

i .

En resumen, para pasar de una solución factible básica dada a una solución factible básica mejor o que iguale la función objetivo (y para que esta mejora sea lo más grande posible) la variable no básica que entra y la variable básica que sale vienen determinadas por los siguientes criterios de entrada y salida respectivamente:

Criterio de entrada (para maximizar). Entra la variable j que maximiza {Wj=cj-cBtB-1Pj / Wj≥0}.

Criterio de entrada (para minimizar). Entra la variable j que minimiza {Wj=cj-cBtB-1Pj / Wj≤0}.

Criterio de salida (para maximizar y minimizar). Fijada la variable j que entra sale la variable i

que minimiza

> 0Y / Yx

ijiji .

PRACTICA AHORA TÚ: Repite los cálculos partiendo ahora de la SFB inicial: x=(0,0,8,5)t

PRÁCTICA 1: La tabla del Simplex Los cálculos algebraicos que hemos presentado en TEORÍA 1 para cambiar de una solución factible básica a otra se pueden presentar y realizar conjuntamente mediante una tabla conocida como tabla del Simplex. La siguiente diapositiva muestra la estructura de la tabla del Simplex y revisa el significado de cada uno de sus elementos. Léela conjuntamente con TEORÍA 1 e intenta interiorizar el papel de cada uno de sus elementos en el proceso de optimización.

Page 59: Apuntes Profesora Font

Tema 4

59

⌦ Interpretación y cálculo de la tabla Volvamos nuevamente al ejemplo que hemos trabajado brevemente en TEORÍA 1:

1) Calcula la tabla del Simplex correspondiente a dicho ejemplo y a las variables básicas x, y.

xB=(x,y), xN=(s,t)

=

1012

B |B|=2≠0

−− bBNBIbNB 11

53/2

101/21/2

1001

58

1001

1012

0bbBx 1- ≥

===

53/2

B (3/2,5,0,0)t SFB

4 1 0 0 x y s t

4 x 1 0 1/2 -1/2 3/2 1 y 0 1 0 1 5 Zj 4 1 2 -1 Wj 0 0 -2 1 11

Observación.- Podemos mejorar la solución introduciendo en la base t y sacando de la base y.

Observaciones:

Los rendimientos marginales asociados a variables básicas son cero. Cuando todas las restricciones del problema lineal son menor o igual (por ejemplo, en

problemas de maximizar en forma canónica) y b≥0, es muy fácil construir una tabla inicial del Simplex, concretamente aquella que tiene como variables básicas las variables de holgura del problema. Si la matriz técnica incluye a la matriz identidad, en cada tabla las columnas asociadas a esa

matriz identidad (en su orden) forman la inversa de la matriz básica, B–1,asociada a la solución factible básica correspondiente a la tabla.

2) Calcula una tabla del Simplex para el ejemplo anterior.

xB=(s,t), xN=(x,y)

=

1001

B |B|=1≠0 B-1A=A, B-1b=b≥0

(0,0,8,5)t SFB

4 1 0 0 x y s t

0 s 2 1 1 0 8 0 t 0 1 0 1 5 Zj 0 0 0 0 Wj 4 1 0 0 0

3) Dado el siguiente problema de programación lineal:

0z,y,x b2z-y x- 8z y2 x.a.s

zyxc Max

2

1

≥≤+≤++

−+

y la siguiente tabla del Simplex:

c1 1 -1 0 0 X y z s t

c1 x 2 1 1 0 8 0 t 3 -1 1 1 16 Zj 2 2 0 Wj -3 -3 -2 0

a) Escribe la solución factible básica asociada indicando cuáles son las variable básicas y no básicas.

b) Averigua los valores de c1 y b2 y completa la tabla.

4) PRACTICA AHORA TÚ: Resuelve el Ejercicio 3 de la COLECCIÓN DE EJERCICIOS.

Page 60: Apuntes Profesora Font

Tema 4

60

⌦ Actualización de la tabla del Simplex El proceso de cambio de una solución factible dada a otra adyacente mejor se puede realizar de forma sencilla usando la tabla del Simplex, los pasos de actualización los siguientes:

Paso 1.- Determinar el elemento pivote de la tabla, es decir, el elemento que está en la intersección de la columna de la variable que entra en la base y la fila de la variable que sale de la base. (Véanse los criterios de entrada y salida en TEORÍA 1)

Paso 2.- Dividir toda la fila de la variable que sale por el valor del elemento pivote. El elemento pivote vale ahora 1. La nueva fila corresponde a los elementos de la nueva variable básica j.

Paso 3.- Las restantes filas de las variables básicas que permanecen se actualizan realizando las operaciones necesarias, vía la fila de la nueva variable básica, para que la columna del elemento pivote tenga, exceptuando el pivote, todos los elementos nulos.

Paso 4.- La fila correspondiente a los Zj y z se calcula multiplicando mediante el producto escalar de los coeficientes de las variables básicas por cada una de las columnas. La fila correspondiente a los Wj restando el vector de coeficientes y la fila de los Zj.

5) Actualiza la tabla del Simplex obtenida en (1). ¿Podemos obtener una solución factible básica estrictamente mejor o igual a la que acabamos de obtener? ¿Qué puedes concluir sobre la optimalidad del problema?

4 1 0 0 x y s t

4 x 1 0 1/2 -1/2 3/2 1 y 0 1 0 1 5 Zj 4 1 2 -1 Wj 0 0 -2 1↑ 11

4 x 1 1/2 1/2 0 4 0 t 0 1 0 1 5 Zj 4 2 2 0 Wj 0 -1 -2 0 16

La última tabla es óptima (Wj≤0 ∀j).

Solución única (vértice) en el punto (4,0,0,5)

x*=4, y*=0, z*=16

(La solución es única porque todos los Wj son estrictamente menores que cero.)

6) Actualiza la tabla del Simplex obtenida en (2). ¿Podemos obtener una solución factible básica estrictamente mejor o igual a la que acabamos de obtener? Sigue actualizando la tabla del Simplex hasta que no puedas continuar. ¿Qué puedes concluir sobre la optimalidad del problema?

7) PRACTICA AHORA TÚ: Resuelve el Ejercicio 6 de la COLECCIÓN DE EJERCICIOS.

(Nota.- Una tabla de Simplex se dice que es óptima cuando no puede salir ningún elemento de la base, es decir, si estamos maximizando Wj<0 para todo j, y si estamos minimizando Wj>0 para todo j.)

Page 61: Apuntes Profesora Font

Tema 4

61

TEORÍA 2: El algoritmo del Simplex Lee atentamente el siguiente extracto ligeramente adaptado de Guerrero (1994), pág: 158 y 159:

El algoritmo facilita las pautas operativas que han de seguirse en la aplicación del método del Simplex. Consideremos nuestro problema tipo

0xbAx

xc

≥=

s.a.

Max t

Etapa 1ª Determinar una solución básica factible inicial que estará asociada a la base canónica para facilitar los cálculos posteriores. Etapa 2ª Calcular los valores cj-zj, ∀j=1,...,n+m; aquellos que correspondan a los vectores que forman la base serán cero:

a) Si todos los cj-zj<0 no básicos (j=m+1,..,n+m) se ha hallado la solución. FIN. b) Si cj-zj=0 para algún j=m+1,...,n+m y los restantes cj-zj no básicos son negativos, entonces el último x* es solución del problema, pero además posee otra u otras soluciones óptimas extremas y por tanto infinitas soluciones. FIN. c) Si no se dan los casos anteriores, elegir j tal que

cj-zj=Max{cs-zs / cs-zs>0, s=m+1,...,n+m} entra en la base la variable no básica j.

Etapa 3ª Elegido el índice j en la etapa anterior, observar el signo de las componentes de Pj, es decir, de los valores Yij, i=1,...,m. Puede suceder:

a) Que Yij≤0, ∀i=1,...,m, entonces el problema es no acotado. FIN. b) Si no ocurre el caso anterior, sale de la base la variable i tal que

=>= m1,...,k 0,Y / Y

xMinYx

kjkjk

iji

Etapa 4ª Sustituir en la base la variable i por la variable j, lo que obliga a realizar en la tabla del Simplex los cambios algebraicos oportunos para que en la columna correspondiente a la variable j aparezca el correspondiente vector de la base canónica. VOLVER A LA ETAPA 2ª

Observaciones:

Si al aplicar el criterio de entrada hay empates entre varios candidatos, podemos elegir entre cualquiera de ellos. Y el número de iteraciones a realizar no cambia de forma significativa.

Si al aplicar el criterio de salida hay empates, la elección arbitraria puede producir ciclajes y que nunca se llegue a la solución óptima. Para deshacer el ciclaje, en caso de empate hay que elegir la variable con menor subíndice.

El algoritmo de Simplex anterior está enunciado para problemas de maximización. Si el problema es de minimización tenemos dos soluciones posibles: (i) cambiar el objetivo de minimizar a maximizar y aplicar el Simplex tal y como esta enunciado o (ii) cambiar el criterio de entrada del algoritmo sustituyéndolo por el indicado en TEORÍA 1. y los criterios de parada de la etapa 1 a y b:

a) Si todos los cj-zj>0 no básicos (j=m+1,..,n+m) se ha hallado la solución. FIN.

b) Si cj-zj=0 para algún j=m+1,...,n+m y los restantes cj-zj no básicos son positivos, entonces el último x* es solución del problema, pero además posee otra u otras soluciones óptimas extremas y por tanto infinitas soluciones. FIN.

Los problemas lineales mixtos se resuelven escribiendo el problema en su formato estándar y aplicando el algoritmo Simplex. (Véanse PRÁCTICA 3 y 4.)

Si no existe una solución factible básica asociada a una matriz básica identidad, para aplicar el algoritmo del Simplex tenemos que calcular una solución factible básica que sirva de partida al algoritmo. En el apartado 3 de este tema veremos un procedimiento para solucionar este problema evitando la complejidad de los cálculos que se derivan de localizar esta SFB en problemas lineales no estándar o estándar con vector de términos independientes no positivo.

Nota que al aplicar el Simplex estás resolviendo el problema lineal en su formato estándar y no en su formato original y que las consideraciones sobre unicidad o no de la solución se refieren al problema estándar. Recuerda del Tema 1, antes de establecer conclusiones definitivas el tipo

Page 62: Apuntes Profesora Font

Tema 4

62

de solución óptima del problema original, que en algunas ocasiones un óptimo del problema original se puede corresponder con infinitos óptimos del problema estandarizado.

1) PRACTICA AHORA TÚ: Resuelve los siguientes problemas lineales usando el algoritmo del Simplex.

(I)

0y x, 12y- x 4y x 2yx- s.a.

3y-2xMax

≥≤≤+≤+

(II)

0y x, 12y-x 4y x 2yx- s.a.

2y2x-Max

≥≤≤+≤+

+

(III)

0y x, 12y- x

2yx- s.a.2y-2xMax

≥≤

≤+

(Solución: Guerrero(1994) pág. 160-164)

2) PRACTICA AHORA TÚ: La última tabla del Simplex de un determinado problema lineal de maximización en forma canónica es:

1 2 0 0 x y s1 s2

2 y -1 1 1 0 1 0 s2 -1 0 -3 1 3 Zj -2 2 2 0 Wj 3 0 -2 0 2

a) Escribe la solución factible básica que aparece en la tabla y calcula su matriz básica asociada.

b) Calcula los términos independientes del problema.

3) PRACTICA AHORA TÚ: Resuelve los ejercicios 1 y 7 de la COLECCIÓN DE EJERCICIOS.

2.- Algunos ejemplos

PRÁCTICA 2: Resolución con el algoritmo del Simplex de problemas lineales En esta sección aplicaremos el algoritmo del Simplex para resolver problemas de programación lineal. Consideremos nuevamente los 8 problemas lineales planteados en TEMA3: PRÁCTICA 1:

(A)

≥≤+≤+

+

0y x, 6y2x 4y xs.a.

2yMax x

(B)

≥≤+≤+

+

0y x, 6y2x 4y xs.a.

yMax x

(C)

≥≤≤+

+

0y x, 4y 2y x- s.a.

y2x-Max

(D)

≥≤≤+

+

0y x, 4y 2y x- s.a.

yx-Max

(E)

≥≤≤+

0y x, 4y 2y x- s.a.

Max x

(F)

≥≤≤+

0y x, 4y 2y x- s.a.

yMax

(G)

≥≥+≤+

+

0y x, 4y2x- 4y 2 x- s.a.

yMax x

(H)

≥≥+≥−

0y x, 1y x0y xs.a.

y-Min x

Page 63: Apuntes Profesora Font

Tema 4

63

1) Resuelve usando el algoritmo del Simplex los problemas (A), (D), (E) y (F). Indica de qué tipo son e identifica, en su caso, todas sus soluciones óptimas.

1 2 0 0 x y s t

0 s 1 1 1 0 4 → 0 t 2 1 0 1 6 Zj 0 0 0 0 Wj 1 2↑ 0 0 0

2 y 1 1 1 0 4 0 t 1 0 -1 1 2 Zj 2 2 2 0 Wj -1 0 -2 0 8

(A)

Solución vértice: x*=0, y*=4, z*=8

(D)

Solución arista finita. z*=2 Las soluciones son de la forma:

1 ,1,0 ,

0042

α

2020

α

tsyx

212121 =+≤≤

+

=

αααα

Geométricamente y considerando únicamente variables principales, la arista que une los vértices (0,2) y (2,4)

-1 1 0 0 x y s t

0 s -1 1 1 0 2 → 0 t 0 1 0 1 4 Zj 0 0 0 0 Wj -1 1↑ 0 0 0

1 y -1 1 1 0 2 0 t 1 0 -1 1 2 Zj -1 1 1 0 Wj 0 0 -1 0 2 Zj Wj

1 0 0 0 x y s t

0 s 0 t Zj Wj

(E)

Problema no acotado (no sale nadie y w1>0)

(F)

Solución arista infinita. z*=4 Las soluciones son de la forma:

0β ,

0101

β

0042

tsyx

+

=

Geométricamente y considerando únicamente variables principales, la arista x≥2, y=4.

0 1 0 0 x y s t

0 s 0 t Zj Wj Zj Wj Zj Wj

Page 64: Apuntes Profesora Font

Tema 4

64

2) Resuelve usando el algoritmo del Simplex el problema de minimización (H).

(H) Busquemos en primer lugar una SFB inicial:

(i) xB=(s,t) no existe SFB (ii) xB=(y,s) no existe SFB (iii) xB=(x,s) SFB

___________________________________

A partir de la última tabla del Simplex:

___________________________________ ___________________________________ ___________________________________

x y s t x s

3) PRACTICA AHORA TÚ: Resuelve usando el algoritmo del Simplex los problemas lineales (B) y (C). Indica de qué tipo son e identifica, en su caso, todas sus soluciones óptimas

4) PRACTICA AHORA TÚ: Resuelve los ejercicios 4 y 5 de la COLECCIÓN DE EJERCICIOS.

PRÁCTICA DE ORDENADOR: Identificación en GAMS de la tabla del Simplex Aunque el programa GAMS no proporciona directamente la tabla óptima del problema, ésta se puede deducir interpretando la salida y haciendo algunos cálculos algebraicos. Lee e interpreta la diapositiva que presentamos a continuación en la que se resumen esquemáticamente los pasos para obtener a partir de la salida GAMS los elementos más importantes de la última tabla del Simplex de un problema lineal de maximizar en forma canónica, y responde a las siguientes cuestiones.

0) Resuelve el problema propuesto en la transparencia “a mano” y usando GAMS, y reproduce los resultados obtenidos en la transparencia.

Consideremos ahora el siguiente enunciado de un problema lineal: “Un empresario textil produce dos tipos de tejido T1 y T2. Para obtener una unidad de longitud del tejido T1 necesita 3 unidades de materia prima R1, 5 unidades de R2 y 2 unidades de R3. Para producir una unidad de T2 se precisan 1, 2 y 4 unidades de R1, R2 y R3. Las cantidades disponible de R1, R2 y R3 son, respectivamente, de 56, 105 y 67 unidades. Las estimaciones del empresario son que por la venta

Page 65: Apuntes Profesora Font

Tema 4

65

de una unidad de T1 obtendrá un beneficio de 4 u.m. y por la de una unidad de T2 el beneficio será de 5 u.m. Determinar las cantidades a fabricar de los dos tipos de tela para maximizar beneficios.”

1) Plantea en términos matemáticos el problema de programación matemática enunciado identificando las variables del problema, la función objetivo y restricciones.

2) Crea un proyecto en el directorio A:\TEMA4 y el fichero GAMS para resolver el problema de programación planteado. Incluye la opción: OPTION SOLSLACK=1 para obtener directamente el valor de las variables de holgura.

3) Ejecuta el programa GAMS. Interpreta la salida, escribe la última tabla del Simplex y razona si el óptimo encontrado es único y/o degenerado.

La salida del GAMS es: S O L V E S U M M A R Y MODEL TEJIDOS OBJECTIVE B TYPE LP DIRECTION MAXIMIZE SOLVER CPLEX FROM LINE 22 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 107.3000 LOWER SLACK UPPER MARGINAL ---- EQU OBJ . . . 1.000 ---- EQU R1 -INF . 56.000 0.600 ---- EQU R2 -INF 8.700 105.000 . ---- EQU R3 -INF . 67.000 1.100 LOWER LEVEL UPPER MARGINAL ---- VAR T1 . 15.700 +INF . ---- VAR T2 . 8.900 +INF . ---- VAR B -INF 107.300 +INF . **** REPORT SUMMARY : 0 NONOPT 0 INFEASIBLE 0 UNBOUNDED

4) PRACTICA AHORA TÚ: Obtén a partir de la salida GAMS de los problemas (A) a (D), (F) y (H) (véase TEMA 3: PRÁCTICA DE ORDENADOR) la tabla óptima del Simplex. ¿Cómo se obtienen los rendimientos en problemas de maximizar con restricciones mayor o igual?

5) PRACTICA AHORA TÚ: Prepárate algunos problemas y averigua: ¿Cómo se obtienen los rendimientos marginales si el problema es de maximizar y las restricciones son mayor o igual? ¿Y si el problema es de minimizar con restricciones menor o igual?

6) PRACTICA AHORA TÚ: Obtén a partir de la salida GAMS la tabla óptima de los problemas (I) y (II) de TEORÍA 2: PRACTICA AHORA TÚ.

7) PRACTICA AHORA TÚ: Plantea y resuelve con GAMS los problemas 1 a 4 de la COLECCIÓN

DE PROBLEMAS DE ORDENADOR. Estudia si la solución es única y/o degenerada y responde a las cuestiones planteadas en cada problema.

Page 66: Apuntes Profesora Font

Tema 4

66

3.- El método de las Penalizaciones

PRÁCTICA 3: El método de las Penalizaciones El método del Simplex requiere de una solución factible inicial, y deseablemente para facilitar los cálculos que dicha solución este asociada a una base canónica. Además esta necesidad no sólo es un inconveniente computacional inicial sino que hace inútil el algoritmo para resolver problemas infactibles. (Si intentamos resolver un problema infactible con Simplex la búsqueda de la solución factible básica inicial es infructuosa pero esta circunstancia se averigua después de haber comprobado todas las posibles combinaciones de variables básicas.) El método de las penalizaciones es una variante del método del Simplex que permite solucionar estos dos problemas.

Para aplicar el método de las penalizaciones seguimos los siguientes pasos:

Paso 1.- Escribimos el problema en forma estándar y observamos que los términos independientes de las restricciones sean no negativos. Si alguno es negativo cambiamos el signo a las restricciones necesarias para que así sea. Obtenemos la matriz técnica asociada:

a) Si la matriz técnica tiene una submatriz identidad, obtenemos la solución factible básica asociada. ETAPA 2 DEL MÉTODO DEL SIMPLEX CON EL PROBLEMA INICIAL.

b) Si la matriz técnica no tiene una submatriz identidad, añadimos nuevas variables al problema, llamadas variables artificiales, de modo que formen una submatriz identidad. Las variables artificiales se introducen en la función objetivo con un coeficiente arbitrariamente grande (conocido por M>0), y con un signo acorde con la dirección de optimización que garantice su salida de la base en las primeras iteraciones si el problema es factible (negativo en el caso de maximizar y positivo en el caso de minimizar). Escribimos el nuevo problema en forma matricial y obtenemos la solución factible básica asociada a la base canónica. ETAPA 2 DEL MÉTODO DEL SIMPLEX CON EL PROBLEMA CON VARIABLES

ARTIFICIALES.

Paso 2.- Finalizado el algoritmo del Simplex miramos la solución:

a) Si el algoritmo del Simplex termina antes de que todas las variables artificiales salgan de la base, el problema lineal original es infactible. FIN.

b) Si acaba con todas las variables artificiales fuera de la base el problema será no acotado o acotado con una o infinitas soluciones de acuerdo con la interpretación habitual de la última tabla del Simplex quitando las columnas correspondientes a variables artificiales. FIN.

Page 67: Apuntes Profesora Font

Tema 4

67

1) Resuelve por el método de penalizaciones el problema (H) de PRÁCTICA 2.

El problema (H) con variables artificiales es:

≥=++

=+−++

0a ,a ,s ,s y, x, 1a s-y x

0 a s-y xs.a.MaMay-Min x

2121

22

11

21

A partir de la última tabla del Simplex concluimos que : ___________________________ ___________________________ ___________________________ ___________________________

1 -1 0 0 M M x y s1 s2 a1 a2

M a1 1 -1 -1 0 1 0 0 M a2 1 1 0 -1 0 1 1 Zj 2M 0 -M -M M M Wj 1-2M↑ -1 M M 0 0 M

1 x 1 -1 -1 0 1 0 0 M a2 0 2 1 -1 -1 1 1 Zj 1 -1+2M -1+M -M 1-M M Wj 0 -2M↑ 1-M M -1+2M 0 M

1 x 1 0 -1/2 -1/2 1/2 1/2 1/2 -1 y 0 1 1/2 -1/2 -1/2 1/2 1/2 Zj 1 -1 -1 0 1 0 Wj 0 0 1 0 M-1 M 0

2) Resuelve el problema (G) de PRÁCTICA 2.

1 1 0 0 -M x y s1 s2 a

0 s1 -1 2 1 0 0 4 -

M a -2 1 0 -1 1 4

Zj 2M -M 0 M -M Wj 1-2M 1+M 0 -M 0

-4M

Zj Wj

El problema (G) con variables artificiales es: ________________________________ ________________________________ ________________________________ A partir de la última tabla del Simplex concluimos que: ________________________________ ________________________________ ________________________________

3) PRACTICA AHORA TÚ:. Dado el siguiente problema de programación lineal : Min 2x - 3y - zs.a. x + y + z 3 x y z 1 x, y, z 0

≥− − ≤

a) Obtén una tabla inicial que sirva de arranque para la resolución del problema mediante el algoritmo del Simplex.

b) Obtén sin iterar la tabla del Simplex cuyas variables básicas son xB=(y,t)t. ¿Es una tabla óptima o final? En caso afirmativo, escribe la solución del problema lineal e indica de qué tipo es. En caso negativo, realiza una iteración más.

4) PRACTICA AHORA TÚ: Resuelve los ejercicios 9 y 10 de la COLECCIÓN DE EJERCICIOS.

Page 68: Apuntes Profesora Font

Tema 4

68

PRÁCTICA 4: Resolución de problemas lineales mixtos

1) Resuelve el siguiente problema lineal:

0x, x 5 3x x 10 3x 2x s.a.

x43x Min

21

21

21

21

≥≥+≤+

+

3 4 0 0 M x1 x2 s1 s2 a

0 s1 2 3 1 0 0 10 10/3 M a 1 3 0 -1 1 5 5/3→ Zj M 3M 0 -M M Wj 3-M 4-3M↑ 0 M 0 5M

0 s1 1 0 1 1 -1 5 4 x2 1/3 1 0 -1/3 1/3 5/3 Zj 4/3 4 0 -4/3 4/3 Wj 5/3 0 0 4/3 -4/3+M 20/3

El PL en su forma estándar es:

0,,x, x 5 s- x3 x

10 3x 2x s.a.x43xMin

2121

221

121

21

≥=+=++

+

ss

s

Emplearemos el método de las penalizaciones resolviendo el problema:

0,,x, x 5 a s- x3 x 10 3x 2x s.a.

Max43xMin

2121

221

121

21

≥=++=++

++

ss

s

El algoritmo se detiene en tabla óptima y las variables artificiales están fuera de la base, por tanto, la solución óptima (única) del problema de minimización es:

x1*=0, x2

*=5/3, s1*=5, s2

*=0, z*=20/3

2) Resuelve el ejercicio 2 de la COLECCIÓN DE EJERCICIOS.

Como paso previo necesitamos reformular el problema de PL en formato estándar (en este caso hemos mantenido el objetivo de minimizar ) y obtener una SFB inicial.

Para obtener la condición de positividad realizaremos los cambios de variable: x2= −x2

− y x3= x3

+−x3− con x2

−, x3+, x3

− ≥ 0, después introduciremos variables de holgura para convertir la desigualdad en igualdad, el resultado es el siguiente:

0 x, x, x, x

14 x-x2x x

10s x xs.a.

)x4(x2xMin x

-3321

-33

-2

-2

33-21

1

11

=+−

=+−

−+−

+−

+

−+

Y tomando como base B=(P5,P3)=I2, B-1=I2, B-

1N=N, B-1b=b, obtenemos la SFB (0,0,14,0,10) que permite construir la primera tabla del Simplex.

1 -2 4 -4 0 x1 x2

− x3+ x3

− s1 b 0 s1 1 -1 0 0 1 10 10 4 x3

+ 1 -2 1 -1 0 14 14 Zk 4 -8 4 -4 0 Wk -3↑ 6 0 0 0 56 1 x1 1 -1 0 0 1 10 4 x3

+ 0 -1 1 -1 -1 4 Zk 1 -5 4 -4 -3 Wk 0 3 0 0 3 26

El Simplex se detiene en una tabla óptima (es de minimizar y todos los rendimientos son mayores o iguales a cero) y la solución del problema reformulado es una solución de arista infinita definida por: (10,0,4,0,0)+α(0,0,1,1,0) = (10,0,4+ α , α,0) con

α ≥0, F*=26 Deshaciendo los cambios para volver al problema original:

x1*=10, x2

*= −x2−*=0, x3

*= x3+*−x3

−*= 4, z* = 26 (solución única)

3) PRACTICA AHORA TÚ: Resuelve el ejercicio 8 de la COLECCIÓN DE EJERCICIOS.

Page 69: Apuntes Profesora Font

Tema 4

69

COLECCIÓN DE EJERCICIOS

1.- Dado el siguiente problema de PL:

Max 2x+2y+10 s.a. 4x+2y≤16 x+2y≤8 x,y≥0

¿Con cuántas tablas diferentes podría empezar el algoritmo del símplex? Plantear dos de ellas e indicar en cada una, si es procedente, la variable de entrada, la variable de salida y el elemento pivote.

2.- Resolver por el método símplex:

Min x1+2x2+4x3 s.a. x1+x2≤10 x1+2x2+x3=14 x1≥0, x2≤0, x3 libre

3.- Dado el PL:

Max c1x1+2x2+x3 s.a. x1+2x2+a13x3≤8 2x1+4x3≤b2 xi≥0 ∀i

y conociendo los siguientes valores de la tabla óptima:

x1 x2 x3 s1 s2 b x2 1/2 x1 3 wj -7 -1 -1

Hallar los valores de c1, a13, b2 y completar la tabla.

4.- La última tabla del símplex correspondiente a un determinado PL de maximizar escrito en forma canónica es:

1 -2 -1 0 0 0 x1 x2 x3 s1 s2 s3 B 1 x1 1 -2 1 0 0 1 2 0 s2 0 1 -1 0 1 0 1 0 s1 0 ½ 0 1 0 ½ 4 cj-zj 0 0 -2 0 0 -1 Z=2

a) ¿Existe solución? ¿ es única? Razonar la respuesta y, si la solución no es única, obtener las soluciones restantes. b) ¿Qué le ocurriría al valor de la función objetivo si se decidiese cambiar de solución

introduciendo x3 en la base?

c) Calcular el problema original.

Page 70: Apuntes Profesora Font

Tema 4

70

5.- Dado el problema de PL:

Max 2x1+x2 s.a. -x1+x2 ≤2 x1+2x2 ≤6 2x1+x2 ≤6 x1≥0, x2≥0

y sabiendo que en el óptimo x1=2 y x2=2, calcular la tabla óptima del símplex sin realizar

ninguna iteración. ¿De qué tipo es la solución?

6.- Dado el problema de PL

Max x1+x2 s.a. -x1+x2≤2 x2 ≤4 x1 , x2 ≥0

Obtener, sin iterar, la tabla del símplex en la cual las variables básicas son x2 y s2. ¿Es la tabla

óptima? En caso afirmativo, indicar la solución y el valor de la función objetivo. En caso negativo, realizar una iteración más.

7.- Se calculan tres tablas del símplex para un problema lineal de minimización de las cuales se sabe:

- En la segunda tabla, existe una variable básica cuyo valor es cero.

- La función objetivo toma un valor de 4 en la primera tabla, 3 en la segunda y 3 en la tercera.

- En la tercera tabla uno de los rendimientos marginales básicos vale tres.

Se puede afirmar, con total seguridad, que ha habido algún error de cálculo. Explicar por qué.

8.- Dado el siguiente problema lineal:

Max 5x1-x2 s.a. 2x1+x2≥3 x1+5x2=1 xi≥0, ∀i

a) Resolverlo utilizando el método de las penalizaciones.

b) ¿Es imprescindible añadir variables artificiales? En caso negativo, indicar cuál podría ser la tabla inicial del símplex.

9.- Cuando en un problema de programación lineal de maximizar se llega a una tabla con todos los wj≤0 y una variable artificial es básica, ¿qué se sabe sobre la solución del problema?

10.- Ponga un ejemplo de un problema lineal que tenga al menos una restricción de igualdad y no necesite variables artificiales para que la matriz básica de la primera tabla sea la identidad.

Page 71: Apuntes Profesora Font

Tema 4

71

COLECCIÓN DE PROBLEMAS DE ORDENADOR

1.- Un exportador de cítricos adquiere naranjas a los agricultores de su zona para manipularla y exportarla a distintos países de la UE. Los precios en el campo y los costes de manipulación determinan unos márgenes de beneficio que dependen de la variedad de la naranja. La tabla siguiente proporciona estos datos y los meses del año en que se puede recolectar cada variedad.

x1.Marisol x2.Clemenules x3.Clemenvilla Beneficio €/Kg 0.03 0.07 0.08

Meses Oct. a Dic. Nov. a Ene. Dic. a Feb.

La oferta máxima de naranja en la zona para esta campaña es de 200000 Kg para cada una de las variedades 1 y 3 y de 400000 para la variedad 2. Los clientes extranjeros demandan naranja según los meses del año, sin importarles mucho la variedad de la que se trate. Las demandas mínimas que deben ser satisfechas vienen dadas en la tabla siguiente.

Octubre Noviembre Diciembre Enero Febrero Demanda (Kg) 60000 150000 230000 90000 70000

La limitaciones del almacén donde se manipula la naranja suponen que de cada variedad y en cada mes no se pueden tratar más de 130000 Kgs.

a) Con estas limitaciones, plantee el problema que proporciona a este exportador la cantidad de Kgs que debe comercializar de cada variedad en cada mes para maximizar el beneficio.

b) Determina la cantidad a exportar de cada variedad de naranja en cada mes y los beneficios.

c) Razona si la restricción demanda de octubre satisface con igualdad o desigualdad.

2.- Una compañía financiera planifica sus operaciones para el año próximo. La compañía concede tres clases de préstamos que tienen los siguientes tipos de interés:

• Préstamo personal: 9%

• Préstamo para mobiliario: 5%

• Préstamo para automóviles: 7%

La política de la compañía impone ciertas restricciones sobre el reparto de los montantes en las diferentes categorías. Los préstamos personales no deberán exceder el 25% del presupuesto de la compañía, mientras que los préstamo personal y mobiliario no deberán exceder el 45% del presupuesto. El montante concedido a los préstamos para automóviles no deberá exceder el 70% del presupuesto, pero será al menos el 80% del presupuesto concedido a los préstamos personales y de mobiliario. La compañía tiene un presupuesto de 500 unidades monetarias.

a) Determinar el reparto óptimo del presupuesto para maximizar el rendimiento.

b) ¿Se agota todo el presupuesto? Si se rebaja el tipo de interés para los préstamos personales en un punto ¿cambiará el reparto del presupuesto? (Para responder interpreta el rendimiento marginal de la variable de holgura correspondiente)

3.- Una empresa se dedica a comprar y vender un producto durante algunos meses. El precio de mercado tanto de compra como de venta, por tonelada, es

Page 72: Apuntes Profesora Font

Tema 4

72

Enero Febrero Marzo Abril 60 90 80 110

Se sabe que el coste de almacenamiento es de 10 u.m. por mes y tonelada, y el almacén tiene una capacidad de 20 toneladas. Se supone que tanto la compra como la venta se realiza al principio de mes, que el 1 de enero no hay stock y que no debe haber stock al final de abril.

a) Determinar la mejor política de compra/venta.

b) Indica la capacidad de almacenaje disponible por mes en el almacén.

4.- Un experimento social interesante en la región del Mediterráneo es el sistema de kibbutzim, o comunidades agrícolas comunales en Israel. Es usual que algunos grupos de kibbutzim se unan para compartir los servicios técnicos comunes y coordinar su producción. Uno de estos grupos formado por tres kibbutzim es la Confederación Sur de Kibbutzim.

La planificación global de la Confederación Sur de Kibbutzim se hace en su oficina de coordinación técnica. En la actualidad están planificando la producción agrícola para el próximo año.

La producción agrícola está limitada tanto por la extensión de terreno disponible para irrigación como por la cantidad de agua que la Comisión de Aguas asigna para irrigarlo. Los datos son:

Kibbutzim Terreno para uso (acres)

Asignación de agua (pies-acre)

1 400 600 2 600 800 3 300 375

El tipo de cosecha apropiada para la región incluye remolacha, algodón y sorgo, y éstas precisamente se están estudiando para la estación venidera. Las cosechas difieren primordialmente en su rendimiento neto por acre esperado y en su consumo de agua. Además, el Ministerio de Agricultura ha establecido una cantidad máxima de acres que la Confederación puede dedicar a estas cosechas. Las cantidades son:

Cosecha Cant. máxima acres

Consumo agua pies-acre/acre

Rend. Neto dólar/acre

Remolacha 600 3 400 Algodón 500 2 300

Sorgo 325 1 100

Los tres kibbutzim que pertenecen a la Confederación Sur están de acuerdo en que cada kibbutzim sembrará la misma proporción de sus tierras irrigables disponibles. Cualquier combinación de estas cosechas se puede sembrar en cualquiera de los kibbutzim.

a) ¿Cuántos acres deben asignarse a cada tipo de cosecha en cada kibbutzim, cumpliendo con las restricciones dadas e intentando maximizar el rendimiento neto para la Confederación Sur?

b) Indica cuántos acres asignados por el Ministerio para cada uno de los cultivos queda sin cultivarse.

c) Interpreta los rendimientos marginales de todas las variables.

Page 73: Apuntes Profesora Font

Tema 4

73

ANOTACIONES

Page 74: Apuntes Profesora Font

74

Dualidad en Programación Lineal

1.- Formulación del problema dual

2.- Teoremas básicos de la dualidad

3.- Relaciones entre la solución óptima primal y dual

4.- Interpretación económica del problema dual Guerrero (1994) Cap. 10, Mocholí y Sala (1999) Cap. 8, Mocholí y Sala (1993) Cap. 3

Dado un problema lineal (problema primal) es posible plantear un problema dual en el que las variables de decisión son los multiplicadores del primero y es equivalente al primero en el sentido de que la solución óptima de uno permite calcular la del otro. El estudio de los problemas duales es interesante porque:

Permite resolver de forma más eficiente problemas en los que el número de restricciones es mayor que el número de variables.

Permite realizar interpretaciones interesantes de los problemas económicos y empresariales subyacentes al problema de programación lineal inicial.

Permite generar métodos de resolución (p.e. el método dual del Simplex) que son útiles en post-optimización y análisis de sensibilidad (véase TEMA 6).

1.- Formulación del problema dual

PRÁCTICA 1: Construcción del problema dual En programación lineal los problemas primal y dual existen siempre y son problemas lineales que se caracterizan por:

• Tener la misma función de Lagrange e idénticas condiciones de punto de Kuhn y Tucker.

• Las variables principales del problema primal son los multiplicadores del dual y viceversa.

Consideremos para comenzar los siguientes problemas lineales, uno dual del otro:

0y x, 22y x 1y xs.a

5y3xMax (PP)

≥≤+≥+

+

0µ 0,λ 5µ 2λ 3µ λ s.a

µ 2λMin (PD)

≥≤≥+≥+

+

1) Escribe las condiciones de punto de Kuhn y Tucker de los dos problemas y observa que las variables principales del problema primal (PP) son los multiplicadores de Kuhn y Tucker del problema dual (PD) y viceversa.

Page 75: Apuntes Profesora Font

Tema 5

75

Problema Primal (PP) LP(x,y,λ,µ)=3x+5y+λ(1-x-y)+µ(2-x-2y) LD(λ,µ,x,y) (i) ∂LP/∂x=3−λ−µ≤0 (b.3) , ∂LP/∂y=5−λ−2µ≤0 (b.4) (ii) x, y≥0 (d), x+y≥1 (a.1), x+2y≤2 (a.2) (iii) x(3−λ−µ)=0, y(5−λ−2µ)=0, λ(1-x-y)=0, µ(2-x-2y)=0 (c) (iv) λ≤0 (b.1), µ≥0 (b.2)

Problema Dual (PD) LD(λ,µ,x,y)=λ+2µ+x(3-λ-µ)+y(5-λ-2µ) (a) ∂LD/∂λ=1−x−y≤0, ∂LD/∂µ=2−x−2y≥0 (b) λ≤0, µ≥0, λ+µ≥3, λ+2µ≥5 (c) λ(1−x−y)=0, µ(2−x−2y)=0, x(3-λ-µ)=0, y(5-λ-2µ)=0 (d) x, y≥0

2) Fíjate en los dos problemas e intenta deducir las reglas que relacionan la dirección de optimización y el signo de las variables de decisión del problema primal con las desigualdades de las restricciones del problema dual y las desigualdades del problema primal con el signo de las variables de decisión del problema dual.

En la práctica, la construcción del problema dual sigue las reglas recogidas en la siguiente diapositiva:

Observaciones:

Cuando los problemas primales están escritos en su forma canónica (maximizar con restricciones menor o igual y condiciones de no negatividad de las variables o minimizar con restricciones mayor o igual y condiciones de no negatividad de las variables) los duales son asimismo canónicos y se dicen duales simétricos. Los duales de problema lineales en forma no canónica se dicen duales asimétricos.

El dual de un problema dual es el problema primal original.

Page 76: Apuntes Profesora Font

Tema 5

76

3) Resuelve por el método del Simplex el problema primal y obtén los multiplicadores asociados (la solución dual) ¿Qué relación guardan los rendimientos marginales de la tabla del Simplex y la solución dual? (véanse más detalles en el apartado 3 de este tema)

La tabla óptima del Simplex es:

3 5 0 0 x y s t

3 x 1 2 0 1 2 0 s 0 1 1 1 1 Zj 3 6 0 3 Wj 0 -1 0 -3

6

Solución única: x*=2, y*=0, s*=1, t*=0, z*=6

Usando la condición (iii) de punto de K-T: λ(1-x-y)=λ(1-2-0)=0 λ=0 x(3-λ-µ)=2(3-0-µ)=0 µ=3

4) PRACTICA AHORA TÚ: Realiza los ejercicios 1, 2 y 10 de la COLECCIÓN DE EJERCICIOS.

2.- Teoremas básicos de la dualidad

TEORÍA: Teoremas básicos de la dualidad Veremos en este apartado los tres teoremas fundamentales de la dualidad. Estos teoremas nos permitirán asegurar bajo que condiciones existe la solución del problema dual y como ésta coincide con la solución del primal. Extraeremos estos teoremas de Guerrero (1994) pág. 182-185, y las demostraciones no presentes en el texto se pueden consultar también en dicha referencia.

Teorema de Existencia. La condición necesaria y suficiente para que un problema de programación lineal tenga solución es que, tanto el conjunto de oportunidades del primal (S) como el conjunto de oportunidades del dual (S’) sean no vacíos, es decir que ambos problemas sean factibles.

∅≠∧∅≠↔∃ S'S*)*,( λx

Observación 1: El teorema de existencia se apoya en la siguiente argumentación: si escribimos el problema primal en forma canónica y ambos problemas son factibles entonces existen x y λ tales que: Ax≤b, x≥0 y Atλ≥c, λ≥0. Y multiplicando la primera por λt y la segunda por x: λtAx≤ λt b, λtAx≥ctx, se tiene que: ctx≤ λtAx ≤ λt b. Entonces, se tiene que una solución factible dual es una cota superior del problema primal de maximizar, esto es, el problema primal es acotado; y una solución factible primal es una cota inferior del problema dual de minimizar, esto es, el problema dual es acotado.

En consecuencia, los cuatro posibles casos que pueden darse son:

a) ∅≠∧∅≠ S'S Ambos problemas lineales son acotados

b) ∅≠∧∅= S'S El problema primal es infactible y el dual es no acotado

c) ∅=∧∅≠ S'S El problema primal es no acotado y el dual es infactible

d) ∅=∧∅= S'S Ambos problemas son infactibles

1) PRACTICA AHORA TÚ: Realiza los ejercicios 5 y 6 de la COLECCIÓN DE EJERCICIOS.

Page 77: Apuntes Profesora Font

Tema 5

77

Teorema de la Dualidad. La condición necesaria y suficiente para que exista solución óptima del primal (x*), es que exista una solución óptima para el dual (λ*) en cuyo caso el valor de la función objetivo de ambos programas será el mismo, es decir F(x*)=G(λ*).

*)G(*)F(/ * * λxλx =∃↔∃

Observación 2.- Por este teorema si ambos problemas tienen solución entonces:

∗)(=∗== λλbxcx G**)F( tt ( ) bλbBcxc 1- ttB

t * ∗== ( ) 1-Bcλ tB

t =∗

jt

jj1t

Bjj *)(ccW PλPBc −=−= − jt

jj *)(cW Pλ−=

Teorema de la Holgura complementaria. La condición necesaria y suficiente para que (x*, λ*) sean soluciones óptimas del problema primal y dual, es que satisfagan las condiciones de holgura complementaria.

Observación 3.- Como corolarios del teorema de la holgura complementaria se deducen los distintos procedimientos que veremos en el apartado 3 para obtener la solución óptima dual a partir de la solución óptima del primal cuando ambos problemas son factibles (y por lo tanto acotados).

2) PRACTICA AHORA TÚ: Resuelve los problemas duales de los problemas lineales enunciados en los ejercicios 1 y 2 de la COLECCIÓN DE EJERCICIOS y deduce la solución primal aplicando el Teorema de la Holgura Complementaria. (Nota.- En PRÁCTICA 1: EJERCICIO 3 hemos aplicado este resultado para obtener la solución dual a partir de la primal)

APRENDE A DEMOSTRAR: Teorema de la dualidad Enunciado: La condición necesaria y suficiente para que exista solución óptima del primal (x*), es que exista una solución óptima para el dual (λ*) en cuyo caso el valor de la función objetivo de ambos programas será el mismo, es decir F(x*)=G(λ*).

*)G(*)F(/ * * λxλx =∃↔∃

Demostración:

Comprobaremos sin pérdida de generalidad esta doble implicación para duales simétricos:

s.a

)F(Max (PP) t

0xbAxxcx

≥≤=

s.a ) G(Min (PD) t

0λcλAλbλ

t

≥≥

=

(⇒) Como las condiciones de Kuhn y Tucker son necesarias y suficientes en los problemas lineales si x* es una solución óptima del (PP) entonces x* es punto de Kuhn y Tucker y existe un λ∗≥0 tal que:

[b-Ax*]t⋅ λ∗=0, [c-At λ*]t⋅ x∗=0

Por tanto: F(x) = ct x =( λ∗)t A x* = ( λ∗)t b = bt λ∗ = G(λ∗)

Nótese, además, que λ∗ es solución óptima del (PD) porque éste es un problema lineal y las condiciones de punto de Kuhn y Tucker de los dos problemas coinciden. (⇐) Si existe un λ∗≥0 una solución óptima del (PD), por ser solución factible cumple que: Atλ≥c, λ≥0, y transponiendo y multiplicando por x una solución factible cualquiera del (PP) (que sabemos que existe por el teorema de existencia) se tiene que:

G(λ∗)=( λ∗)t b=( λ∗)t A x ≥ct x=F(x)

A partir de ahí, aplicando que F(x*)=G(λ∗) (hipótesis del teorema) tenemos que: F(x*)≥F(x) para toda solución factible del (PP), y por lo tanto que x* es solución óptima del (PP).

Page 78: Apuntes Profesora Font

Tema 5

78

3.- Relaciones entre la solución óptima primal y dual

PRÁCTICA 2: Cálculo de la solución El teorema de existencia garantiza que si ambos problemas son factibles entonces ambos problemas tienen solución óptima. Cabe ahora preguntarse cuál es la relación entre las soluciones de ambos problemas y para ello haremos uso de los teoremas de dualidad y de la holgura complementaria. Distinguiremos dos casos: los problemas en forma canónica (también podríamos incluir en este grupo problemas en los que no hayan restricciones de igualdad y/o variables libres) y los problemas en forma no canónica.

⌦ Problemas en forma canónica Partiendo de las condiciones de holgura complementaria:

1. Las variables principales del problema primal se corresponden con las variables de holgura del dual. Y las variables de holgura primales se corresponden con las variables principales del dual.

2. Las variables básicas del problema primal se corresponden con las variables no básicas del dual y las no básicas del primal con las básicas del dual.

3. El valor de las variables duales es (salvo signo) el rendimiento marginal correspondiente.

4. El valor óptimo de la función objetivo primal coincide en ambos problemas.

5. Las variables artificiales de uno de los problemas no tienen relación alguna en el otro.

1) Volvamos al problema lineal que estudiamos en los TEMAS 3 y 4:

0y x, 5y 8y2x s.a

y4xMax

≥≤≤+

+

a) Obtén su problema dual simétrico.

b) Resuelve el problema primal usando el Simplex.

c) Resuelve a partir de (b) el problema dual y recupera su tabla óptima del Simplex. El problema dual es:

0µ λ, 1µλ 4 2λ s.a

5µ8λMin

≥≥+≥

+

La última tabla del Simplex del problema primal (véase 5 en TEMA 4: PRÁCTICA 1) es:

4 1 0 0 x y s t

4 x 1 1/2 1/2 0 4 0 t 0 1 0 1 5 Zj 4 2 2 0 Wj 0 -1 -2 0 16

Solución: x*=4, y*=0, s*=0, t*=5, F*=16

Y se corresponden: P. Primal P. Dual

x*=4 Wx=0 s’*=0 Ws’=4 y*=0 Wy=-1 t’*=1 Wt’=0 s*=0 Ws=-2 λ*=2 Wλ=0 t*=5 Wt=0 µ*=0 Wµ=5

F*=16 G*=16 La tabla óptima del problema dual es:

−−−

=

=1/211/20

,11

02 1- NBB

8 5 0 0 λ µ s’ t’

8 λ 1 0 -1/2 0 2 0 t’ 0 -1 -1/2 1 1 Zj 8 0 -4 0 Wj 0 5 4 0

16

Page 79: Apuntes Profesora Font

Tema 5

79

2) Resuelve gráficamente el problema lineal:

5 2,..., 1,i 0, x 3 xx2xxx 6x3xxxx s.a

4x2xx5x3xMin

i

54321

54321

54321

=≥≥−++−−

−≥−−−−−−+−+

El problema dual es: ___________________________________

A partir de la solución gráfica del dual, y por las relaciones entre las soluciones óptimas de los dos problemas, la solución del problema primal es: __________________________________

__________________________________

__________________________________

__________________________________

La resolución gráfica del dual es:

Esto es, la solución óptima del dual es: ________________________________________

3) PRACTICA AHORA TÚ: Dado el problema lineal:

0x, x 6 x2x 103x x2 xx- s.a.

Max x

21

21

21

21

1

≥≤−≤+≤+

Se pide:

a) Obtén, sin iterar, la tabla del Simplex que corresponde a la solución factible básica (x1,x2,s1,s2,s3)=(3,0,5,7,0). ¿Esta tabla es óptima?, en caso afirmativo, indica la solución y el valor de la función objetivo y, en caso negativo, realiza las iteraciones necesarias para resolver el PL.

b) Plantea el problema dual asociado y resuélvelo a partir de la solución del primal.

4) PRACTICA AHORA TÚ: Realiza los ejercicios 7 y 8 de la COLECCIÓN DE EJERCICIOS.

⌦ Problemas no canónicos Básicamente podemos aplicar tres procedimientos:

1. Si tenemos la tabla óptima del problema primal y teniendo en cuenta que al estandarizar un problema primal no canónico (duplicando variables libres, cambiando el signo a variables no positivas e introduciendo variables de holgura y artificiales) las variables principales del problema dual no cambian, podemos obtener el óptimo dual aplicando que:

jt

jj *)(cW Pλ−=

Page 80: Apuntes Profesora Font

Tema 5

80

2. Alternativamente, también podemos obtener el óptimo del problema dual aplicando que:

( ) 1-Bcλ tB

t =∗

3. Y finalmente, sin necesidad de usar el Simplex, siempre podremos calcular la solución óptima dual usando directamente las condiciones de holgura complementaria.

5) Dado el siguiente problema de programación lineal:

0 x0, x 62 x2x 422x2x 10 x x2x s.a.

22xMax

21

321

321

321

321

≤≥≥++=++≤++

++

xx

xx

cuya última tabla del Simplex (hacemos los cambios: x2=-x2-, x3=x3

+−x3-) viene dada por:

2 -2 1 -1 0 -M 0 -M x1 x2

- x3+ x3

- s1 a1 s2 a2 -1 x3

- 0 0 -1 1 1 0 1 -1 4 2 x1 1 0 0 0 1 -1/2 0 0 8 -2 x2

- 0 1 0 0 0 -1 -1 1 2 Zj 2 -2 1 -1 1 1 1 -1 Wj 0 0 0 0 -1 -1-M -1 1-M 8

Plantea el problema dual asociado y obtén su solución.

6) Considera el siguiente problema lineal:

0 x 13x2x x 2 x4x3x s.a.

x2xMax x

3

321

321

321

≥≤++

≤++++

Obtén el problema dual y halla la solución de ambos problema resolviendo un problema de los dos.

El problema dual es: ______________________________________

______________________________________

______________________________________

______________________________________

Por tanto, su solución óptima es: λ∗=0, µ∗=1, G*=1

Aplicando las condiciones de holgura complementaria: ______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

Por tanto, las soluciones óptimas del primal satisfacen que:

x1+2x2=1, x3=0, F*=1

7) PRACTICA AHORA TÚ: Realiza los ejercicios 3 y 4 de la COLECCIÓN DE EJERCICIOS.

Page 81: Apuntes Profesora Font

Tema 5

81

4.- Interpretación económica del problema dual

PRÁCTICA 3: Interpretación económica del problema dual Como las variables principales del problema dual corresponden a los multiplicador de Kuhn y Tucker del problema primal su interpretación económica coincide con la de éstos, es decir, miden la sensibilidad de la función objetivo respecto a cambios infinitesimales en los términos independientes de las restricciones activas.

PRACTICA AHORA TÚ: Realiza el ejercicio 9 de la COLECCIÓN DE EJERCICIOS.

PRÁCTICA DE ORDENADOR 1: Dualidad en programación lineal La introducción del concepto de dualidad permite una interpretación más sencilla y completa de la información facilitada en la salida del programa GAMS. Revisa la sección TEMA 4: PRÁCTICA DE

ORDENADOR y estudia la diapositiva adjunta (fíjate en especial en el punto “Resumen”).

Considera ahora el siguiente problema lineal:

Min f = 2x1+3x2+5x3+2x4+3x5

s.a. x1+x2+2x3+x4+3x5 ≥4

2x1-x2+3x3+x4+x5 ≥3

x1, x2, x3, x4, x5 ≥ 0

y responde a las siguientes cuestiones.

1) Escribe el problema lineal dual

2) Crea un proyecto en el directorio A:\TEMA5 y el fichero GAMS para resolver el problema primal

3) A partir de la solución GAMS del problema primal: a) recupera la última tabla del Simplex, b) indica el tipo de solución del problema primal, y c) obtén la solución del problema dual y reconstruye la última tabla Simplex del problema dual

Page 82: Apuntes Profesora Font

Tema 5

82

Problema Primal

Solución: ______________________________

______________________________________

Problema Dual

Solución: ______________________________

______________________________________

4) Resuelve con GAMS el problema dual.

5) A partir de la solución GAMS del problema dual: a) recupera la última tabla del Simplex y comprueba que coincide con la obtenida en el apartado 3, b) indica el tipo de solución del problema dual, y c) comprueba que a partir de la tabla del problema dual puedes reconstruir la tabla del problema primal.

PRÁCTICA DE ORDENADOR 2: Interpretación económica del problema dual Considera el siguiente enunciado de programación matemática: “Una fábrica de muebles produce en una de sus secciones tres modelos de librerías denominados París, Berlín y Viena, usando como materia prima tablero tipo DM, 5 trabajadores que trabajan 40 horas semanales cada uno, y tres máquinas iguales que se pueden utilizar indistintamente. Se sabe que se dispone en almacén de 100 tablero DM y que las necesidades y los beneficios unitarios de cada tipo de librería vienen dados por la siguiente tabla:

París Berlín Viena Tablero DM 1 1 3 Horas m.o 2 3 3

Horas máquina 1 2 2 Beneficio (€/unidad) 10 15 21

Además se sabe por experiencia comercial que se venden al menos tantas librerías del modelo París como de los modelos Berlín y Viena conjuntamente .El objetivo de la empresa es determinar el número de librerias de cada modelo a fabricar para maximizar el beneficio.”

1) Plantea en términos matemáticos el problema de programación matemática enunciado identificando las variables del problema, la función objetivo y restricciones.

2) Abre el proyecto que has creado en PRÁCTICA DE ORDENADOR 1 en el directorio A:\TEMA5 y crea el fichero GAMS para resolver el problema de programación planteado.

Page 83: Apuntes Profesora Font

Tema 5

83

3) Planteado y resuelto el problema usando el programa GAMS se obtuvo la siguiente solución:.

S O L V E S U M M A R Y MODEL MUEBLES OBJECTIVE B TYPE LP DIRECTION MAXIMIZE SOLVER CPLEX FROM LINE 17 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 1060.0000 LOWER LEVEL UPPER MARGINAL ---- EQU BENEFICIO . . . 1.000 ---- EQU TABLERO -INF 100.000 100.000 3.000 ---- EQU HORAS_PER -INF 200.000 200.000 3.800 ---- EQU HORAS_MAQ -INF 120.000 120.000 . ---- EQU DEMANDA . . +INF -0.600 LOWER LEVEL UPPER MARGINAL ---- VAR PARIS . 40.000 +INF . ---- VAR BERLIN . 30.000 +INF . ---- VAR VIENA . 10.000 +INF . ---- VAR B -INF 1060.000 +INF .

Responde razonadamente a las siguientes cuestiones:

a) Determine la cantidad de librerías a producir de cada modelo para maximizar el beneficio.

b) ¿Qué cantidad de tablero DM utiliza semanalmente?

c) ¿Le interesa a la empresa hacer horas extraordinarias a un precio adicional de 2€? Razona la respuesta.

4) PRACTICA AHORA TÚ: Realiza los ejercicios 1 a 3 de la COLECCIÓN DE PROBLEMAS DE

ORDENADOR.

Page 84: Apuntes Profesora Font

Tema 5

84

COLECCIÓN DE EJERCICIOS

1.- Dado el siguiente problema de PL:

Max x1+x2+x4 s.a. 2x1+x2+4x3=10 x1+2x4≤8 xi≥0, ∀i=1,3, x4 libre, x2≤0

Plantea el problema dual asociado.

2.- Dado el siguiente problema de PL:

Min x1+x2+x4 s.a. 2x1+x2+4x3=10 x1+2x4≤8 xi≥0, ∀i=1,3, x4 libre, x2≤0

Plantea el problema dual asociado

3.- Resuelve gráficamente el siguiente problema:

Min 2x+3y+5s+2t+3u s.a.: x+y+2s+t+u≥4 2x+2y+3s+t+u≥3 x,y,s,t,u≥0

4.- Dado el siguiente problema lineal:

Max 4x1+3x2+x3 s.a. x1+x2+x3≤4 x1+x3≥4 xi≥0, ∀i

Plantea el problema dual asociado, obtenga su solución y calcule, a partir de él, la solución primal.

5.- El conjunto de oportunidades de un determinado problema lineal es

S= { (x , y ) ∈ R2 / -2x + 5y ≤ 10 , 2x + y ≤ 6 , -x + 3y ≤ 3 , x + 2y ≥ 2 , x ≥ 0 , y ≥ 0}

Supongamos que resolvemos el problema dual asociado. Analiza cuáles de los siguientes casos son posibles:

a) El problema dual tiene solución óptima.

b) El problema dual es no factible.

c) El problema dual es no acotado.

Page 85: Apuntes Profesora Font

Tema 5

85

6.- Dado un problema lineal con cinco variables, se sabe que (0,3,0,1,4) es una solución factible.

Supongamos que resolvemos el problema dual asociado. Analiza cuáles de los siguientes casos son posibles:

a) El problema dual tiene solución óptima.

b) El problema dual es no factible.

c) El problema dual es no acotado.

7.- Dado un problema lineal de maximizar en forma canónica cuya solución viene dada por:

F(x1,x2,x3)=20

(x1,x2,x3,s1,s2)=(1,0,3,0,0)

(wx1,wx2,wx3,ws1,ws2)=(0,-2,0,-2 ,-4)

Indica las variables básicas y las no básicas del óptimo dual, así como su valor, los wj duales y el

valor de la función objetivo dual en el óptimo.

8.- Dado un problema lineal de minimizar en forma canónica, se sabe que el óptimo es degenerado.

¿Qué se puede saber acerca del óptimo dual?

9.- Cierto fabricante produce sillas y mesas para lo que requiere la utilización de dos secciones de

producción: la sección de montaje y la sección de pintura. La producción de una silla requiere una hora de trabajo en la sección de montaje y 2 horas en la de pintura. Por su parte, la fabricación de una mesa precisa de tres horas en la sección de montaje y una hora en la de pintura. La sección de montaje sólo puede estar 9 horas diarias en funcionamiento, mientras que la de pintura sólo 8 horas. El beneficio que se obtiene produciendo mesas es el doble que el de sillas. El fabricante pretende maximizar beneficios. Se pide:

a) Plantea el problema como un problema lineal y resolverlo mediante el método símplex.

b) Interpreta el valor de las variables principales y el de las de holgura.

c) Interpreta el valor de los costes reducidos.

d) Calcula las variables duales e interpretar su valor.

e) Utilizando aquellas interpretaciones de los apartados anteriores que se consideren pertinentes, razona si al empresario le conviene aumentar las horas de funcionamiento de la sección de montaje ¿Y de la de pintura?

10.- ¿Es posible resolver gráficamente un problema lineal de 4 variables y 2 restricciones?. En caso

afirmativo explicar cómo; en caso negativo, indicar el número máximo de variables y restricciones que debe tener un problema para poder ser resuelto gráficamente.

Page 86: Apuntes Profesora Font

Tema 5

86

COLECCIÓN DE PROBLEMAS DE ORDENADOR

1.- MONDESCOR es una empresa que fabrica dos modelos de coches en dos plantas de producción y los vende en Madrid, Barcelona y Valencia. Los costes de transportar un coche, independientemente del modelo, de cada fábrica a cada ciudad, vienen dados en unidades monetarias en la siguiente tabla:

Madrid Barcelona Valencia Planta 1 30 20 40 Planta 2 100 90 40

Y la demanda de cada modelo en cada ciudad es:

Madrid Barcelona Valencia Modelo 1 800 2000 4500 Modelo 2 1200 1000 1500

La capacidad máxima de producción de cada planta es de 10000 y 8000 coches, respectivamente, sumando los dos modelos.

a) Determina cuántos coches de cada modelo se deben transportar desde cada planta a cada ciudad para satisfacer la demanda y minimizar los costes de transporte.

b) ¿Qué ocurrirá con la solución anterior si en Madrid se produce un aumento de demanda del 10% para el modelo uno?

2.- Un fabricante de carrocerías de coches utiliza chapa metálica en la producción de tres modelos de coches, que divide en cuatro secciones. Las características de su sistema de producción se resumen en la siguiente tabla:

Necesidades (horas/unidad) Sección Modelo 1 Modelo 2 Modelo 3 Horas dis. Cortar 0'02 0'04 0'01 500

Ensamblar 0'04 0'03 0'04 600 Pintar 0'03 0'03 0'02 300

Montar 0'05 0'04 0'04 1000

Se dispone de 40000 metros cuadrados de chapa metálica para la semana próxima. La chapa se

utiliza en los tres tipos de coches en cantidades de 6, 5 y 4 metros cuadrados, respectivamente.

Existen niveles máximos de producción y niveles de demanda mínimos a satisfacer, también se

dispone de los precios de venta de cada modelo y del coste unitario variable.

Modelo Precio vta Coste var. Prod. max. Dem. min 1 100 30 20000 3000 2 120 35 10000 1000 3 75 25 25000 5000

a) Resuelve el modelo que calcula las cantidades a producir de cada modelo de coche de

forma que se maximicen los beneficios.

Page 87: Apuntes Profesora Font

Tema 5

87

b) A la empresa le ofrecen 5000 metros cuadrados de chapa a un coste total de 79000

unidades monetarias. ¿Por qué la empresa aceptará la oferta? Calcula el beneficio

máximo que puede obtener bajo estas nuevas condiciones.

3.- Un exportador de cítricos adquiere naranjas a los agricultores de su zona para manipularla y exportarla a distintos países de la UE. Los precios en el campo y los costes de manipulación determinan unos márgenes de beneficio que dependen de la variedad de la naranja. La tabla siguiente proporciona estos datos y los meses del año en que se puede recolectar cada variedad:

x1.Marisol x2.Clemenules x3.Clemenvilla Beneficio €/Kg 0.03 0.07 0.08

Meses Oct. a Dic. Nov. a Ene. Dic. a Feb.

La oferta máxima de naranja en la zona para esta campaña es de 200000 Kg para cada una de las variedades 1 y 3 y de 400000 para la variedad 2. Los clientes extranjeros demandan naranja según los meses del año, sin importarles mucho la variedad de la que se trate. Las demandas mínimas que deben ser satisfechas vienen dadas en la tabla siguiente:

Octubre Noviembre Diciembre Enero Febrero Demanda (Kg) 60000 150000 230000 90000 70000

La limitaciones del almacén donde se manipula la naranja suponen que de cada variedad y en cada mes no se pueden tratar más de 130000 Kgs.

a) Determina la cantidad de Kgs que debe comercializar de cada variedad en cada mes para maximizar el beneficio.

b) Razona si la restricción demanda de octubre satisface con igualdad o desigualdad.

c) Si el exportador puede incrementar en 1000 Kg adicionales la oferta máxima para esta temporada de naranja Celemenvilla (x3) adquiriendo estos kilos al precio de 0.06 €/Kg, ¿le interesará esta posibilidad?

Page 88: Apuntes Profesora Font

88

Análisis de Sensibilidad y Post-Optimización

1.- Análisis de sensibilidad

2.- Análisis de post-optimización

3.- Análisis de sensibilidad y post-optimización con GAMS Guerrero (1994) Cap. 11 y 12, Mocholí y Sala (1999) Cap. 9 y 10,

Mocholí y Sala (1993) Cap. 4 y 5

Cuando resolvemos un problema de programación lineal asumimos que los coeficientes, términos independientes y coeficientes de la matriz técnica son conocidos con certeza y permanecen constantes en el tiempo. Estas hipótesis son admisibles como mucho a muy corto plazo y en periodos de planificación más largos es muy probable que estos coeficientes cambien haciendo, tal vez inadecuada la solución óptima obtenida.

Estos cambios en los parámetros pueden afectar a las dos condiciones que ha de satisfacer una solución óptima x* que son:

• La condición de factiblidad, que para un problema de maximizar en forma canónica

queda expresada por: 0bBx ≥= −1B

• La condición de optimalidad, que para un problema de maximizar en forma canónica

queda expresada por: mn1,2,...,j 0,cW j1t

Bjj +=≤−= − PBc

En este tema estudiaremos el rango o campo de variación admisible para los diferentes parámetros del problema dentro del cual la solución actual se mantiene como factible y óptima (análisis de sensibilidad) y cómo quedan afectadas las condiciones de optimalidad y factibilidad de la solución actual cuando se modifican uno o varios parámetros del problema (análisis de post-optimización).

1.- Análisis de sensibilidad

PRÁCTICA 1: Análisis de sensibilidad El análisis de sensibilidad trata de la obtención de los intervalos en los que se puede variar un parámetro dado sin que se modifique la estructura de la solución óptima. Y decimos estructura porque en dicho intervalo no varía cuales son las variables básicas del problema y cuales no son pero si puede variar el valor concreto de las variables básicas.

Estos intervalos de sensibilidad se calculan estudiando el campo posible de variación del parámetro para que se sigan cumpliendo las condiciones de factibilidad y optimalidad a las que hacíamos referencia en la introducción de este tema. Veremos cómo se realiza el análisis de sensibilidad para algunos parámetros mediante un ejemplo.

Sea el programa lineal:

0x, x6 x2x 4 x xs.a.

x2 xMax

21

21

21

21

≥≤+≤+

+

cuya solución óptima es x1=0, x2=4.

Page 89: Apuntes Profesora Font

Tema 6

89

1) Obtén la tabla del Simplex sin realizar ninguna iteración

Una vez estandarizado el problema y sustituyendo en las ecuaciones se obtiene que s1=0, s2=2 y por lo tanto que las variables básicas en la solución óptima son x2 y s2.

__________________________________

__________________________________

__________________________________

La tabla óptima del Simplex es:

1 2 0 0 x1 x2 s1 s2

2 x2 1 1 1 0 4 0 s2 1 0 -1 1 2 Zj 2 2 2 0 Wj -1 0 -2 0 8

⌦ Cambios en los coeficientes de la función objetivo: afectan a la condición de optimalidad y en el intervalo de sensibilidad se modifica el valor de la función objetivo en el óptimo y no el valor de las variables.

2) Calcula el intervalo de sensibilidad de c1 ( no básico) y c2 (básico)

Coeficiente función objetivo c1:

c1 2 0 0 x1 x2 s1 s2

2 x2 1 1 1 0 4 0 s2 1 0 -1 1 2 Zj 2 2 2 0 Wj c1-2 0 -2 0 8

Para que la tabla siga siendo óptima: W1= c1-2 ≤ 0 → c1≤ 2

Coeficiente función objetivo c2:

Para que la tabla siga siendo óptima: ______________________________________ ______________________________________

⌦ Cambios en los coeficientes de los términos independientes: afectan a la condición de factibilidad y en el intervalo de sensibilidad se mantiene la estructura de la solución pero no el valor de la función en el óptimo ni el valor de las variables. En este tipo de análisis es práctico observar que si la matriz técnica tiene una identidad en la tabla del Simplex asociadas a las variables que conforman esa identidad (y en su correspondiente orden) tenemos a la matriz B-1 correspondiente a las variables básicas de la correspondiente solución factible básica.

3) Calcula el intervalo de sensibilidad de b1 y b2

Coeficiente restricción b1: El cambio afecta a la factibilidad de la solución. A partir de la tabla del Simplex identificamos:

=−

11011B

para mantener la solución como factible:

06b

b6b

1101

1

111 ≥

+−

=

=− bB

→ 0 ≤ b1≤ 6

Coeficiente restricción b2: _____________________________________

_____________________________________

_____________________________________

_____________________________________

_____________________________________

Page 90: Apuntes Profesora Font

Tema 6

90

⌦ Cambios en los coeficientes técnicos de variables no básicas: afectan a la condición de optimalidad y en el intervalo de sensibilidad se modifica el valor de la función objetivo en el óptimo y no el valor de las variables. (No se estudian los cambios en variables básicas porque puede pasar cualquier cosa.)

4) Obtén el intervalo de sensibilidad de a11

5) PRACTICA AHORA TÚ: Responde razonadamente a las cuestiones teóricas 3 a 6 de la COLECCIÓN DE EJERCICIOS.

6) PRACTICA AHORA TÚ: Considera el siguiente enunciado: “Un fabricante ha decidido lanzar al mercado dos variedades, A y B, de un nuevo artículo. El beneficio unitario que espera obtener en cada variedad es de 5 y 3 unidades monetarias (u.m.), respectivamente. Dichos productos han de someterse a dos procesos de elaboración, P y Q, y los tiempos requeridos de cada proceso en horas por semana vienen expresados en la tabla siguiente:

P Q A 2 2 B 5 4

Cada uno de estos procesos tiene una limitación de utilización semanal de 20 y 10 horas, respectivamente. El objetivo es determinar la producción que maximiza los beneficios.

Se pide:

a) Plantea el problema y determina la producción de A y B que maximiza los beneficios.

b) Calcula el intervalo de variación del beneficio bruto unitario del producto A para que se mantenga la misma base óptima.

c) Calcula el intervalo de sensibilidad para el beneficio unitario de la variedad B.

d) Hallar el intervalo de variación de la limitación de horas de trabajo de los procesos P y Q para que se mantenga la misma base óptima.

e) Realiza el análisis de sensibilidad del coeficiente definido por las horas requeridas del proceso Q para producir una unidad de B.

(Solución en: Guerrero (1994) pág. 200-201, 218-219, 221-222 y 225

2.- Análisis de post-optimización

PRÁCTICA 2: Análisis de post-optimización El análisis de post-optimización consiste en obtener la nueva solución óptima de un problema lineal cuando se produce una modificación en alguno de los parámetros del problema, se introduce una nueva variable de decisión o nuevas restricciones intentando aprovechar la solución óptima del problema previo.

Consideremos nuevamente el problema propuesto en la Práctica 1 y estudiemos a partir de él cómo se realiza el análisis de post-optimización en varios supuestos.

Page 91: Apuntes Profesora Font

Tema 6

91

⌦ Cambios en los coeficientes de la función objetivo

1) ¿Qué sucede cuando c1 pasa a valer 3/2?

3/2 2 0 0 x1 x2 s1 s2 b 2 x2 1 1 1 0 4 0 s2 1 0 -1 1 2 Zj 2 2 2 0 Wj -1/2 0 -2 0 8

Corresponde a una variables no básica y por lo tanto, su modificación altera únicamente la condición de optimalidad de la variable x1.

w1=3/2-2=-1/2<0 Como se sigue cumpliendo la condición de optimalidad, la solución sigue siendo válida con el mismo valor de la función objetivo.

Solución: x1

*=0, x2*=4, s1

*=0, s2*=2, F*=8

Tipo solución: única o vértice

2) ¿Qué sucede cuando c2 pasa a valer 4?

3) ¿Qué sucede cuando c2 pasa a valer 1/2?

1 1/2 0 0 x1 x2 s1 s2 b 1/2 x2 1 1 1 0 4 4 0 s2 1 0 -1 1 2 2→ Wj 1/2↑ 0 -1/2 0 2 1/2 x2 0 1 2 -1 2 1 x1 1 0 -1 1 2 Wj 0 0 0 -1/2 3

___________________________________

___________________________________

___________________________________

___________________________________

___________________________________ Solución: x1

*=2, x2*=2, s1

*=0, s2*=0, F*=3

Tipo solución: arista finita

⌦ Cambios en los coeficientes de los términos independientes

4) ¿Qué sucede cuando b1 pasa a valer 5?

Page 92: Apuntes Profesora Font

Tema 6

92

5) ¿Qué sucede cuando b1 pasa a valer 10 y b2 pasa a valer 8?

Y resolviendo el dual usando el Simplex: 10 8 0 0 λ1 λ2 h1 h2 b 10 λ1 1 1 0 -1 2 0 h1 0 -1 1 -1 1 Zj 10 10 0 -10 Wj 0 -2↑ 0 10

20

8 λ2 1 1 0 -1 2 0 h1 1 0 1 -2 3 Wj 2 0 0 8 16

Afecta a la factibilidad de la solución:

02

10bB 1 ≥/

=−

La solución deja de ser óptima para recuperar la optimalidad se pasa a resolver el dual (una solución básica no factible del primal que cumple el criterio de optimalidad es una solución factible básica del dual), se aplica el algoritmo dual del Simplex, o se soluciona el problema desde el principio. El problema dual a resolver es:

0 , 2 1 2 s.a.

810Min

21

21

21

21

≥λλ≥λ+λ≥λ+λλ+λ

Como las variables básicas del primal son: x2 y s2, las variables básicas del dual serán λ1 y h1. La matriz técnica del dual es:

−=

10110121

A D

luego:

−−−

→→

−−

−− D1DD1DDDD )(12

1111

)(1001

21

1102

0111

bBNBIbNB

L

La solución óptima del dual es:

λ1*=0, λ2*=2, h1*=3, h2*=0, F*=16 w1=2, w2=0, wh1*=0, wh2*=8 y por lo tanto, la solución óptima primal es:

s1*=2, s2*=0, x1*=0, x2*=8, F*=16 ws1=0, ws2=-2, w1=-3, w2*=0 Solución del problema:

x1*=0, x2

*=8, s1*=2, s2

*=0, F*=16 Tipo solución: única o vértice

⌦ Otros cambios: en coeficientes técnicos no básicos, introducción de nuevas variables e introducción de nuevas restricciones.

6) ¿Cuál es la solución óptima del problema si introducimos una nueva variable x3 con c3=6 y P3=(2,2)t?

Introduciremos una nueva columna en el Simplex:

=−

02

PB 31 , 02

02

)0,2(6w 3 >=

−=

La solución deja de ser óptima y hay que hacer iteraciones del Simplex hasta recuperar la optimalidad.

1 2 6 0 0 x1 x2 x3 s1 s2 b

2 x2 1 1 2 1 0 4 0 s2 1 0 0 -1 1 2 Wj -1 0 2↑ -2 0 8

6 x3 1/2 1/2 1 1/2 0 2 0 s1 -1 0 0 -1 1 2 Wj -2 -1 0 -3 0 12

Sol: x1

*=0, x2*=0, x3=2, s1

*=0, s2*=2, F*=12

Tipo solución: única o vértice

Page 93: Apuntes Profesora Font

Tema 6

93

7) PRACTICA AHORA TÚ: Considera otra vez el enunciado propuesto en PRÁCTICA 1: 6) PRÁCTICA AHORA TÚ. Estudia si la solución óptima sigue siendo válida bajo los siguientes supuestos y si ya no lo es determina la nueva solución óptima.

a) Si el beneficio unitario del primer producto pasa a ser de 7 u.m.

b) Si el beneficio unitario del segundo producto pasa a ser de 12 u.m.

c) Si la limitación semanal del segundo proceso se amplía a 30 horas.

d) Si el tiempo que requiere la variedad B en el proceso Q es 1 hora por semana.

e) Si al fabricante le proponen fabricar otra variedad C con la que obtendrá un beneficio unitario de 6 u.m., sabiendo que para fabricar una unidad de este producto se requieren 3 y 2 horas semanales de los procesos P y Q.

f) Si el fabricante tiene como limitación no producir más de 6 unidades semanales en total.

(Solución en: Guerrero (1994) pág. 203-211

8) PRACTICA AHORA TÚ: Realiza los ejercicios 1, 2 y 7 de la COLECCIÓN DE EJERCICIOS.

3.- Análisis de sensibilidad y post-optimización con GAMS

PRÁCTICA DE ORDENADOR 1: Análisis de dualidad, sensibilidad y post-optimización Además de la solución estándar del problema de programación lineal que hemos analizado en profundidad en los TEMAS 3, 4 y 5, podemos pedir al programa GAMS, cuando usamos los algoritmos de resolución CPLEX ó OSL, que nos haga un análisis de sensibilidad de los coeficientes y términos independientes de las restricciones. Para implementar este análisis con el Solver CPLEX , una vez creado/abierto un proyecto tenemos que crear un archivo del tipo .opt que llamaremos cplex.opt con las líneas:

objrng all rhsrng all

y añadir tres instrucción al archivo del problema GAMS. La siguiente diapositiva resume el procedimiento para efectuar el análisis y cómo se debe interpretar la salida obtenida.

Page 94: Apuntes Profesora Font

Tema 6

94

Observaciones:

Fíjate bien en la diapositiva, en la versión GAMS 21.3 se obtienen directamente los intervalos de sensibilidad de coeficientes y términos independientes.

El programa GAMS no realiza análisis de post-optimización, para hacer este análisis hay que modificar el fichero GAMS y volverlo a ejecutar.

El análisis de sensibilidad se realiza siempre sobre los resultados del problema introducido (si cambias algún coeficiente del problema cambia, en consecuencia, el análisis de sensibilidad).

Consideremos un problema de dieta para repasar la interpretación económica de los rendimientos marginales y las variables duales, y realizar análisis de sensibilidad y post-optimización con GAMS. El enunciado es el siguiente:

“Un médico receta a un paciente una dieta basada en 6 grupos alimenticios básicos: fruta (F), verdura (V), lácteos (L), carne (Ca), pescado (P) y cereales (Ce). Para que la dieta cumpla los requerimientos energéticos del paciente y sea equilibrada debe sumar un contenido calórico mínimo de 2000 calorías y los productos de los grupos carne y pescado (se consideran a este nivel sustitutos), cereales, y verduras deben representar al menos el 7, 15 y 43% del total respectivamente.

La tabla adjunta indica para cada grupo: las calorías que proporciona por término medio un kilo de alimento, y el precio medio (en euros) de un kilo de alimento.

Fruta Verdura Lácteos Carne Pescado Cereales Calorías/Kg 900 500 1800 3200 1500 2500 Precio/Kg. 2.5 3 0.6 7 6.5 0.5

El paciente desea determinar la dieta más barata que cumple con los requisitos dietéticos indicados.”

1) Plantea en términos matemáticos el problema de programación matemática enunciado identificando las variables del problema, la función objetivo y las restricciones.

2) Crea un proyecto en el directorio A:\TEMA6, el fichero cplex.opt y el fichero GAMS para resolver el problema con análisis de sensibilidad.

Page 95: Apuntes Profesora Font

Tema 6

95

La salida GAMS 21.3 con análisis de sensibilidad es:

S O L V E S U M M A R Y MODEL DIETA OBJECTIVE C TYPE LP DIRECTION MINIMIZE SOLVER CPLEX FROM LINE 16 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 2.4038 EQUATION NAME LOWER CURRENT UPPER ------------- ----- ------- ----- VERDURA -0.3374 0 0.7078 CAR_Y_PES -0.08537 0 0.3619 CEREALES -INF 0 0.4144 CALORIAS 0 2000 +INF COSTE -INF 0 +INF VARIABLE NAME LOWER CURRENT UPPER ------------- ----- ------- ----- F -1.423 2.5 +INF V -0.2493 3 34.75 L -0.3413 0.6 +INF CA 1.172 7 8.66 P 4.957 6.5 +INF CE -2.566 0.5 1.687 C -INF 1 +INF LOWER LEVEL UPPER MARGINAL ---- EQU VERDURA . . +INF 4.904 ---- EQU CAR_Y_PES . . +INF 5.659 ---- EQU CEREALES . 0.414 +INF . ---- EQU CALORIAS 2000.000 2000.000 +INF 0.001 ---- EQU COSTE . . . 1.000 LOWER LEVEL UPPER MARGINAL ---- VAR F . . +INF 3.923 ---- VAR V . 0.509 +INF . ---- VAR L . . +INF 0.941 ---- VAR CA . 0.083 +INF . ---- VAR P . . +INF 1.543 ---- VAR CE . 0.592 +INF . ---- VAR C -INF 2.404 +INF . **** REPORT SUMMARY : 0 NONOPT 0 INFEASIBLE 0 UNBOUNDED

Determina la dieta más barata que cumple con los requisitos. ¿Cuál es el coste mínimo? ¿Qué requisitos se cumplen con igualdad? ¿La dieta óptima es única?

3) ¿Qué efecto aproximado tendrá sobre la función de costes en el óptimo la recomendación médica de reducir el número de calorías a 1500 calorías/día?

4) ¿Qué efecto tendría sobre la función de costes la introducción del pescado en la dieta?

5) Escribe e interpreta el intervalo de sensibilidad para el consumo de calorías.

6) Si aumenta el precio de la carne y pasa a ser de 8€/Kg. ¿La solución seguirá siendo óptima? Si la respuesta es negativa, ¿cuál será la nueva solución?

Page 96: Apuntes Profesora Font

Tema 6

96

8) Si aumenta el precio de los cereales a 2€/Kg. ¿La solución seguirá siendo óptima? Si la respuesta es negativa, ¿cuál será la nueva solución? 9) Si podemos comprar pescado a 4.8€/Kg. ¿La solución seguirá siendo óptima? Si la respuesta es negativa, ¿cuál será la nueva solución?

10) PRACTICA AHORA TÚ: Realiza los ejercicios 1 a 3 de la COLECCIÓN DE PROBLEMAS DE

ORDENADOR.

PRÁCTICA DE ORDENADOR 2: Resolución completa con ordenador de un PL Consideremos el siguiente enunciado: “La empresa FERCA, S.A. se dedica a la fabricación de tres tipos de fertilizantes: tipo 1, 2 y 3, que envasa y vende en cajas de pesos diferentes con unos beneficios unitarios de 25, 30 y 35 u.m. respectivamente.

Los fertilizantes se elaboran a partir de tres componentes básicos (A, B y C) de forma que por caja: el tipo 1 contiene 10 Kg. de componente A, 20 Kg. de componente B y 18 Kg. de componente C; el tipo 2 requiere 13, 22 y 20 Kg. de componente A, B y C respectivamente; y el tipo 3 se fabrica con 18, 20 y 24 Kg. de componente A, B y C respectivamente.

La empresa dispone actualmente en el almacén de 2.324 Kg. de componente A, 2.550 Kg. de componente B y 1.568 Kg. de componente C. Determina el número de cajas de fertilizante que la empresa debe vender para maximizar su beneficio.

Se pide:

a) ¿Qué efecto tendría sobre el beneficio la venta de fertilizante del tipo A?

b) ¿Qué efecto tendría sobre el beneficio la compra de 100 Kgs. del componente C?

c) ¿Qué efecto tiene sobre la solución óptima que el beneficio unitario del fertilizante del tipo A pase a ser de 28u.m.?

d) ¿Qué efecto tiene sobre la solución óptima el disminuir las disponibilidades del componente C hasta 1100 Kgs?”

1) A partir del enunciado plantea en términos matemáticos el problema de programación matemática identificando las variables del problema, la función objetivo y restricciones. ( Véase apartado “Modelización” en ANEXO 5)

2) Abre el proyecto que creaste en el directorio A:\TEMA6 en la PRÁCTICA DE ORDENADOR 1, crea un fichero GAMS para resolver el problema de programación planteado que contenga el análisis de sensibilidad. ( Véase apartado “Solución del programa lineal con ordenador” en ANEXO 5)

3) Escribe la solución, reconstruye la última tabla del Simplex e indica de qué tipo es. ( Véase apartado “Discusión de la solución del problema lineal: Descripción de la solución” en ANEXO 5)

4) Interpreta la columna MARGINAL de GAMS e identifica la solución dual. ( Véanse los apartados “Discusión de la solución del problema lineal: Interpretación dela columna MARGINAL del GAMS” y “Planteamiento y resolución del problema dual” en MATERIAL COMPLEMENTARIO: ANEXO 5)

5) Escribe los intervalos de sensibilidad de los coeficientes y términos independientes. ( Véanse los apartados “Discusión de la solución del problema lineal: Intervalos de sensibilidad de los coeficientes de la función objetivo” y “Discusión de la solución del problema lineal: Intervalos de sensibilidad de los términos independientes” en MATERIAL COMPLEMENTARIO: ANEXO 5)

Page 97: Apuntes Profesora Font

Tema 6

97

6) Responde razonadamente a las cuestiones del enunciado. ( Véanse apartados “Discusión de la solución del problema lineal: Interpretación dela columna MARGINAL del GAMS”, “Discusión de la solución del problema lineal: Valores fuera del rango de sensibilidad” y “Discusión de la solución del problema lineal: Intervalos de sensibilidad de los términos independientes” en MATERIAL COMPLEMENTARIO: ANEXO 5)

7) PRACTICA AHORA TÚ: Estudia atentamente la parte correspondiente a programación lineal del “Modelo de resolución de programación lineal y lineal entera” en MATERIAL COMPLEMENTARIO: ANEXO 5 y reprodúcela con los enunciados propuestos en la COLECCIÓN DE PROBLEMAS DE

ORDENADOR de los Temas 4 a 6.

Page 98: Apuntes Profesora Font

Tema 6

98

COLECCIÓN DE EJERCICIOS

1.- Considera el siguiente problema de programación lineal:

Max Z = 2x1 +x2 -x3 s.a. x1 + 2x2 + x3 ≤ 8

- x1 + x2 - 2x3 ≤ 8 x1, x2, x3 ≥ 0

Cuya tabla óptima es:

2 1 -1 0 0 x1 x2 x3 s1 s2

2 x1 1 2 1 1 0 8 0 s2 0 3 -1 1 1 16 zj 2 4 2 2 0 wj 0 -3 -3 -2 0 16

a) Obtén el intervalo de sensibilidad del término independiente b2.

b) A partir de la tabla determina la solución óptima si c2=5.

2.- Una empresa planea producir dos artículos en cantidades x e y. Los beneficios unitarios son de 2 y 5 u.m. respectivamente. El coste de producción unitario es de 3 u.m. para el primero y 5 u.m. para el segundo, y la empresa dispone de un presupuesto de 30 u.m. diarias. Por otra parte, la empresa dispone de un máximo de 20 horas diarias de mano de obra, con lo que el problema de maximizar beneficios resulta ser:

0 , producción de diarias Horas 202

diaria producción la de Coste 3053 s.a.beneficios deFunción 52Max

≥≤+≤+

+

yxyxyxyx

La tabla óptima es

2 5 0 0 x y s1 s2

5 y 3/5 1 1/5 0 6 0 s2 -1/5 0 -2/5 1 8 Zj 3 5 1 0 Wj -1 0 -1 0

30

a) Indica el valor óptimo de las variables, el tipo de solución e interpreta económicamente los wj.

b) Plantea el problema dual y obtén su solución óptima a partir de la tabla anterior.

c) Intervalo de sensibilidad del presupuesto disponible.

d) La solución muestra que no resulta rentable producir el primer artículo. Ante esta situación, la empresa se plantea la posibilidad de reducir de algún modo el coste de producción. Determina la producción óptima si el coste se redujera a a11=1.

3.- Si el coeficiente en la función objetivo de una variable básica cambia, pero sin salirse de su intervalo de sensibilidad, analiza los cambios que se producen sobre la composición de la base, el valor de las variables básicas y el valor de la función objetivo en el óptimo del nuevo problema.

Page 99: Apuntes Profesora Font

Tema 6

99

4.- Si un coeficiente técnico asociado a una variable no básica cambia, pero sin salirse de su intervalo de sensibilidad, analiza los cambios que se producen sobre la composición de la base, el valor de las variables básicas y el valor de la función objetivo en el óptimo del nuevo problema.

5.- Si el coeficiente en la función objetivo de una variable no básica cambia pero sin salirse de su intervalo de sensibilidad, analiza los cambios que se producen sobre la composición de la base, el valor de las variables básicas y el valor de la función objetivo en el óptimo del nuevo problema.

6.- Si un término independiente de una restricción cambia, pero sin salirse de su intervalo de sensibilidad, analiza los cambios que se producen sobre la composición de la base, el valor de las variables básicas y el valor de la función objetivo en el óptimo del nuevo problema.

7.- Un botellero embotella y comercializa tres tipos de vino A, B y C, obteniendo un beneficio por cuba de 50, 25 y 20 u.m., respectivamente. Cada cuba ha de pasar por dos fases, llenado y precintado. La primera trabaja hasta un total de 640 horas semanales y la segunda 900 horas semanales.

El número de horas que una cuba necesita en cada fase viene dado por la tabla:

Llenado Precintado A 16 30 B 4 5 C 6 10

La solución óptima del modelo lineal que representa el problema es (0,160,0,0,100).

a) ¿Cuántas cubas de tipo C rellenaría si las horas totales de la sección de llenado fueran 700?

b) Si el beneficio por cuba tipo A fuese 55 u.m., ¿cuántas cubas tipo B se llenarían?

c) ¿Cuánto puede disminuir el beneficio unitario de las cubas del tipo A sin que la solución varíe?

d) Calcula e interpreta el intervalo de sensibilidad del beneficio por cuba del tipo B.

Page 100: Apuntes Profesora Font

Tema 6

100

COLECCIÓN DE PROBLEMAS DE ORDENADOR

1.- Una empresa de piensos elabora tres tipos de piensos utilizando cuatro tipos de cereales. Cada saco de pienso, de 50 kilos, se vende a un precio y de cada cereal existe una disponibilidad máxima en los almacenes. Para obtener un saco de cada tipo de pienso se necesitan determinados kilos de cada cereal. En la siguiente tabla, donde los datos aparecen en kilos y euros, se resumen los datos:

Pienso Avena Maíz Cebada Mijo Precio 1 25 25 0 0 1500 2 0 20 20 10 2000 3 20 0 30 0 1200

Existencias 50000 80000 40000 10000

Se pide:

a) Determinar el número de sacos que deberá producir la empresa de cada tipo de pienso para maximizar el ingreso, suponiendo que vende toda su producción. ¿Le sobrarán existencias de cebada?

b) Para potenciar el consumo de mijo la Unión Europea decide conceder una subvención a los piensos que lo contengan. Esto supone 200 euros adicionales por saco del pienso 2. ¿Qué ocurrirá con la solución actual si la empresa decide solicitar la subvención?

2.- Un inversor desea invertir 150000 euros como mucho de forma que maximice los intereses esperados al final del año. Tras un estudio de las distintas alternativas de inversión selecciona seis activos con las siguientes características:

Activo

Tipo

Moneda

Interés esperado

1 Renta fija Euro 4% 2 Renta fija Euro 6% 3 Renta variable Euro 16% 4 Renta fija Dólar 4% 5 Renta variable Dólar 11% 6 Renta variable Yen 18%

Tras consultar con un asesor financiero para disminuir el riesgo de su inversión, decide invertir cumpliendo los siguientes requisitos:

• Invertir al menos un 60% del capital total disponible en renta fija.

• Invertir al menos un 30% del capital total disponible en euros.

• Invertir al menos un 30% del capital total invertido en dólares.

Se pide:

a) Obtén cómo distribuirá el inversor su capital entre los distintos activos para maximizar el total de intereses esperados y calcular qué intereses recibirá si realiza la inversión óptima.

b) El interés esperado del sexto activo es muy incierto. Calcula cuáles son los valores entre los cuales este activo se mantiene en la inversión óptima.

Page 101: Apuntes Profesora Font

Tema 6

101

3.- La empresa Veleros Valencianos, S.A. que se dedica a la fabricación de embarcaciones a vela esta planificando la producción para atender a la demanda de los próximos tres años.

Sabiendo que:

• La demanda prevista para los años 2004, 2005 y 2006 es de 50, 75 y 90 embarcaciones respectivamente.

• Los precios de venta de estas embarcaciones son de 100.000€ en 2004, 110.000€ en 2005 y 120.000€ en 2006.

• Los costes de producción son de 80.000€ por unidad. • Las embarcaciones producidas y no vendidas se pueden almacenar con un coste anual

de 1.000€ por embarcación y año. • A finales de 2003 la empresa posee 10 embarcaciones en el almacén. • Y que la producción de este modelo de embarcación se interrumpirá a finales de 2006

para introducir un nuevo modelo, razón por la cual el almacén debe quedarse vacío. Se pide:

a) Determina la producción en cada uno de los meses, para que el beneficio de la empresa sea máximo.

b) La dirección estima que la nominación de Valencia como sede de la Copa América 07 puede afectar a la demanda de esta embarcación y a su precio de venta y desea conocer:

• El efecto sobre los beneficios de un incremento de las demandas de 2, 7 y 13 unidades para los años 2004, 2005 y 2006 respectivamente.

• Para que intervalo de precios por unidad y año la solución inicial seguirá siendo óptima.

Page 102: Apuntes Profesora Font

Tema 6

102

TEST 2: PROGRAMACIÓN LINEAL PREGUNTA 1: Dado el siguiente problema de PL:

Min 2x + y + zs.a. x + y 1 2x + y + z = 0 x 0, y 0, z 0

≤ ≤ ≥

Se pide:

a) Plantea el problema dual asociado.

b) Resuelve gráficamente el problema dual. ¿ Qué puedes decir acerca de la solución del problema primal?

(2.25 puntos)

PREGUNTA 2: Dado el problema de PL :

Max 2x + 3ys.a. x + y + z = 4 y + z 2 x, y, z 0

≤≥

cuya tabla óptima es :

x y z s b x 1 0 0 -1 2 y 0 1 1 1 2 zj 2 3 3 1 wj 0 0 -3 -1 10

Se pide :

a) Calcula a partir del enunciado del problema una tabla inicial para resolver el problema usando el algoritmo del Simplex.

b) Escribe la solución completa del problema indicando qué variables son básicas y cuáles no lo son. Indica también si la solución es única o no y explica por qué. E interpreta los valores de los redimientos marginales.

c) Obtén el intervalo de sensibilidad para el término independiente b2.

d) Obtén la solución óptima cuando c3=3. ¿ De qué tipo es?

e) Obtén la solución óptima cuando c3=8 y a13=3. ¿ De qué tipo es?

(3.75 puntos)

PREGUNTA 3: Un fabricante de carrocerías de coche utiliza chapa metálica en la producción de tres modelos. El proceso de fabricación se divide en cuatro secciones con las características dadas por la tabla siguiente :

Page 103: Apuntes Profesora Font

Tema 6

103

Necesidades (horas/unidad) Horas Sección Modelo 1 Modelo 2 Modelo 3 disponibles Corte 0.02 0.04 0.01 500

Ensamblado 0.04 0.03 0.04 600 Pintura 0.03 0.03 0.02 300 Montaje 0.05 0.04 0.04 1000

Se disponen de 45000 m2 de chapa metálica en el almacén y los requerimientos por cada unidad de cada modelo son de 6, 5 y 4 m2 de chapa respectivamente. Por otra parte, sabemos que los beneficios unitarios de cada modelo son de 70, 85 y 50 u.m. respectivamente.

El fabricante desea averiguar cuántas carrocerías de cada modelo ha de fabricar para maximizar sus beneficios.

La solución óptima que proporciona el GAMS es:

EQUATION NAME LOWER CURRENT UPPER ------------- ----- ------- ----- CORTE 360 500 +INF ENSAMBLADO 270 600 +INF PINTURA 270 300 +INF MONTAJE 360 1000 +INF CHAPA 0 4.5e+004 5e+004 BENEFICIO -INF 0 +INF VARIABLE NAME LOWER CURRENT UPPER ------------- ----- ------- ----- M1 -INF 0 32 M2 -22.5 0 +INF

M3 -INF 0 18 B 0 1 +INF LOWER LEVEL UPPER MARGINAL ---- EQU CORTE -INF 360.000 500.000 . ---- EQU ENSAMBLADO -INF 270.000 600.000 . ---- EQU PINTURA -INF 270.000 300.000 . ---- EQU MONTAJE -INF 360.000 1000.000 . ---- EQU CHAPA -INF 45000.000 45000.000 17.000 ---- EQU BENEFICIO . . . 1.000 LOWER LEVEL UPPER MARGINAL ---- VAR M1 . . +INF -32.000 ---- VAR M2 . 9000.000 +INF . ---- VAR M3 . . +INF -18.000 ---- VAR B -INF 7.6500E+5 +INF .

a) Modeliza el problema anterior.

b) Indica la cantidad óptima a fabricar de cada modelo y los beneficios obtenidos

c) Razona si se consumen o no totalmente las horas disponibles en cada una de las 4 secciones del proceso productivo.

d) Determina el coeficiente de sensibilidad para el beneficio unitarios del modelo 2.

e) A la empresa le ofrecen 5000 m2 de chapa por 79000 u.m. adicionales sobre el precio habitual ¿le interesa a la empresa aceptar la oferta?¿qué beneficio obtendrá bajo estas condiciones? ¿cuál será en este caso la estrategia de fabricación de la empresa?

(2 puntos)

Page 104: Apuntes Profesora Font

Tema 6

104

PREGUNTA 4: Un inversor desea invertir como máximo 150.000 euros maximizando los intereses esperados al final del año. Tras un estudio de las distintas alternativas de inversión selecciona seis activos, todos ellos denominados en euros, con las siguientes características :

Activo Tipo País Interés Activo Tipo País Interés 1 R. F. Z. Euro 4% 4 R. F. EEUU 4% 2 R. F. Z. Euro 6% 5 R. V. EEUU 11% 3 R. V. Z. Euro 16% 6 R. V. Argentina 18%

Notación.- R.F. = Renta Fija, R.V.= Renta Variable Tras consultar con un asesor financiero para disminuir el riesgo de su inversión, decide invertir cumpliendo los siguientes requisitos :

• Invertir como máximo un 60% del capital total disponible en renta fija. • Invertir como máximo un 30% del capital total disponible en activos de la zona Euro. • Invertir al menos un 30% del capital total invertido en EEUU.

Se pide : a) Modeliza y plantea matemáticamente el problema, indicando: variables, función objetivo y

restricciones.

b) Soluciona el problema creando un fichero GAMS (clineal.gms) y resolviéndolo (clineal.lst). El fichero GAMS debe incluir las instrucciones necesarias para realizar el análisis de sensibilidad y ambos ficheros impresos se entregarán grapados con esta hoja.

c) Obtén cómo distribuirá el inversor su capital entre los distintos activos, el total invertido, la inversión óptima en renta fija, activos en zona euro y qué interés recibirá si realiza la inversión óptima. Reconstruye la última tabla del Simplex y describe, justificando tu respuesta, el tipo de solución obtenida (global/local, única/múltiple, …)

d) Escribe el problema dual y su solución. e) Escribe e interpreta el intervalo de sensibilidad para el coeficiente del activo 6.

(2 puntos)

Nota.- El Test 2 está resuelto en MATERIAL COMPLEMENTARIO: ANEXO 6.

Page 105: Apuntes Profesora Font

Tema 6

105

ANOTACIONES

Page 106: Apuntes Profesora Font

106

Programación Lineal Entera

1.- Definición y clasificación de problemas lineales enteros

2.- Método de ramificación y acotación (Branch and Bound)

3.- Programación lineal entera con GAMS Mocholí y Sala (1999) Cap. 12, Mocholí y Sala (1993) Cap. 7

Hasta este tema cuando estudiábamos un problema lineal asumíamos que las variables de decisión del problema eran continuas. Muchos problemas lineales por sus propias características (problemas enteros directos), porque incluyen alguna variable de decisión de tipo cualitativo (problemas codificados), o porque para ser formulados requieren de la introducción de variables artificiales enteras (problemas transformados) exigen considerar una o varias variables de decisión enteras. Dedicaremos este tema a plantear y resolver algunos de estos problemas que reciben el nombre de problemas de programación entera.

1.- Definición y clasificación de problemas lineales enteros

APLICACIONES ECONÓMICAS Y EMPRESARIALES: Programación lineal entera Las técnicas que vamos a estudiar en este tema nos van a ayudar a plantear y resolver un gran número de problemas de tipo económico y/o empresarial, citemos entre ellos:

Problemas de transporte. Determinan el número de elementos a transportar desde varios orígenes a varios destinos con el objeto de minimizar los costes de transporte.

Problemas de asignación. Estudian como asignar de manera óptima individuos a objetos (trabajos, instalaciones,…).

Problemas de mochila. Estudian cuál es la elección óptima entre un conjunto de elementos que cumplen una determinada restricción de volumen o peso.

Problemas de producción y selección de inversiones con especificaciones especiales. Nos referimos, por ejemplo, a problemas de producción en los que los productos se fabrican en lotes o para los que existen determinadas restricciones relativas al proceso de fabricación que requieren para su formulación de variables enteras. Y a problemas de selección de inversiones en los que se tiene que decidir sobre invertir o no invertir en un proyecto concreto.

Lee atentamente los siguientes enunciados:

Enunciado 1: “Un fabricante de plásticos tiene en existencia 1200 cajas de envoltura transparente en la fábrica A y otras 1000 cajas en la fábrica B. El fabricante tiene que enviar a tres detallistas diferentes 1000, 700 y 500 cajas respectivamente. Los costes unitarios de envío (pts/caja) de las fábricas a los detallistas se especifican en la siguiente tabla:

Detallista 1 Detallista 2 Detallista 3 Fábrica A 14 13 11 Fábrica B 13 13 12

Determina el número de cajas que se enviarán desde cada fábrica hasta cada detallista de modo que se minimice el coste total.”

Page 107: Apuntes Profesora Font

Tema 7

107

Enunciado 2: “El encargado de recursos humanos de una empresa debe asignar a tres directivos de la empresa matriz con sede en Madrid a tres puestos directivos distintos en los departamentos: Comercial, Financiación y Producción de su nueva sede en Valencia. Tras evaluar las aptitudes de cada candidato para cada cargo se obtuvo la siguiente tabla de calificaciones:

Comercial Financiación Producción Directivo 1 7 6 7.5 Directivo 2 9.2 7 8.5 Directivo 3 7.5 5.5 7

Plantea un problema que permita determinar la asignación óptima de cada directivo a un puesto.”

Enunciado 3: “Un excursionista debe determinar qué objetos (como máximo uno de cada tipo) debe llevar consigo en la mochila para maximizar su utilidad sabiendo que el peso máximo que puede llevar es de 100 Kgs.

Los objetos que puede llevar, su peso y su utilidad quedan recogidos en la tabla adjunta.”

Objeto Peso Utilidad Linterna 40 40

Saco 50 80 Cocina 30 10 Manta 10 10

Comida 10 4 Ropa 40 20

Varios 30 60

Enunciado 4: “Una ciudad tiene tres escuelas y el Consejo Directivo de Escuelas ha decidido redistribuir las zonas escolares asignadas a cada escuela. La ciudad está dividida en 4 secciones, cada una de ellas con una población estimada de estudiantes para los próximos años. Se ha determinado la distancia (en Kms) del centro de cada sección a cada una de las escuelas.

Distancia Sección Alumnos Escuela A Escuela B Escuela C

1 450 1.2 1.5 3.3 2 400 2.6 4 5.5 3 500 0.7 1.1 2.8 4 500 1.8 1.3 2

Capacidad escuela 750 700 550

El Consejo desea averiguar cuántos estudiantes de cada sección deben asistir a cada una de las escuelas para que la distancia total recorrida por el conjunto de estudiantes sea mínima.”

Enunciado 5: “Una empresa dedicada a la elaboración y manufacturación de productos naturistas fabrica pastillas de magnesio en dos formatos: 30 pastillas y 100 pastillas que vende a 5€ y 15€ respectivamente. Sabiendo que para fabricar cada pastilla se requieren 200 mg. de magnesio y las disponibilidades máximas de la empresa son de 500g. determina el número de envases a fabricar de cada tipo para maximizar los ingresos.”

Page 108: Apuntes Profesora Font

Tema 7

108

Enunciado 6: “Una empresa de productos plásticos fabrica mesas y sillas de terraza. Las sillas y mesas se producen en unos moldes por inyección del plástico y la empresa tiene una capacidad máxima de inyección de 325 Kg. diarios, siendo las necesidades de cada producto de 3 Kg. por silla y 12 Kg. por mesa. Por razones técnicas se han de producir un mínimo de 60 sillas y 30 mesas cada vez que se instala el molde. Sabiendo que los beneficios unitarios son de 6€ por silla y 24€ por mesa determina el número de mesas y sillas a fabricar.”

♣ Plantea en términos matemáticos estos problemas de programación matemática identificando las variables del problema, la función objetivo y restricciones. E identifica el tipo de aplicación económica.

PRÁCTICA: Tipos de problemas lineales enteros Un problema es de programación lineal entera cuando, prescindiendo de las condiciones de integridad, el problema resultante es de programación lineal. A este problema de programación lineal se le conoce por problema lineal asociado (PLA) o relajación lineal.

Los problemas de programación lineal entera se clasifican:

Atendiendo al tipo de variables que intervienen en el problema lineal entero:

• Problemas enteros puros, son aquellos en los que todas las variables del problema únicamente pueden tomar valores enteros.

• Problemas mixtos, son aquellos en los que al mismo tiempo hay variables continuas y discretas.

• Problemas binarios, cuando aparece al menos una variable binaria. Pueden ser binarios puros y binarios mixtos. (Una variable binaria es aquella que sólo puede tomar los valores 0 ó 1.)

Atendiendo al tipo de problema que tratan de resolver:

• Problemas directos, cuando el problema de decisión por su propia naturaleza implica que las variables han de tomar valores enteros.

• Problemas codificados, cuando se trata de un problema que toma decisiones sobre alguna cuestión de orden cualitativa.

• Problemas transformados, cuando el problema no incluye directamente variables de decisión enteras, pero para ser formulado requiere del uso de variables enteras o binarias.

♣ Clasifica los problemas planteados en la sección APLICACIONES ECONÓMICAS Y EMPRESARIALES atendiendo al tipo de variables que intervienen y el tipo de problema que tratan de resolver y escribe su problema lineal asociado.

2.- Método de ramificación y acotación (Branch and Bound)

TEORÍA: Método de ramificación y acotación Aunque el conjunto de oportunidades de un problema de programación lineal entera es finito la resolución de estos problema es más compleja que la resolución de problema lineales ya que el número de soluciones posibles aunque finito suele ser muy grande y al no ser convexo dichas soluciones no pueden escribirse como combinación lineal convexa de los vértices del polítopo generado por sus restricciones.

Page 109: Apuntes Profesora Font

Tema 7

109

El método de ramificación y acotación (Branch and Bound) que describimos en la próxima diapositiva se apoya en las siguientes ideas:

Resolver en primer lugar el problema lineal asociado, si la solución cumple las condiciones de integridad exigidas hemos resuelto el problema lineal entero. Si el problema lineal asociado no cumple las condiciones de integridad exigidas evitaremos la

tentación de redondear la solución y considerarla como válida, por dos razones importantes: (i) la solución obtenida por redondeo no es óptima y puede ser incluso muy diferente a la solución óptima del problema entero, y (ii) puede ocurrir que al efectuar el redondeo la solución obtenida no cumpla las restricciones y por lo tanto sea no óptima e infactible. Si al resolver el problema lineal asociado el óptimo no cumple las condiciones de integridad

exigidas podemos dividir, a partir de una variable no entera xi, el problema en dos nuevos subproblemas con restricciones excluyentes (el 1º con la restricción xi≥[xi]+1 y el 2º con la restricción xi≤[xi] ) que dividen el problema original en dos partes en las que se eliminan soluciones no enteras. Este proceso de ramificación favorece, a través de la resolución de estos problemas, la obtención de candidatos a solución entera óptima del problema lineal entero. Si a un problema de programación de maximizar se le añaden restricciones adicionales, el valor

de la función objetivo en el óptimo del problema con más restricciones es menor o igual que en el problema original. Y al contrario, en un problema de minimizar si se añaden restricciones adicionales el valor de la función objetivo en el óptimo es mayor o igual que en el problema original. Si al aplicar el proceso de ramificación que hemos descrito antes obtenemos una solución

entera (un candidato a óptimo del problema lineal entero original), el valor de la función objetivo en esta solución se convierte en una cota que de acuerdo con la observación anterior interrumpirá (porque por esa rama no podemos obtener una solución entera mejor) aquellos procesos de ramificación en los que el valor de la función objetivo en el óptimo (no necesariamente entero) del subproblema lineal asociado sea en el problema de maximizar menor o igual al valor de la función objetivo en esa solución entera, y en el problema de minimizar mayor o igual. El proceso de ramificación se puede detener por el criterio de acotación o por llegar a un

problema infactible.

Page 110: Apuntes Profesora Font

Tema 7

110

Observaciones:

Los problemas lineales que se construyen en cada nudo se resolverán por el método gráfico si el número de variables de decisión es una o dos, o usando el algoritmo del Simplex. En este último caso, es útil aplicar las técnicas de análisis de post-optimización que vimos en el TEMA

6.

Los problemas lineales enteros mixtos se resuelven aplicando el mismo método aplicado a las variables principales que han de tomar valor entero. En estos casos, el valor de la función objetivo en el óptimo no será necesariamente un entero.

Consideremos el siguiente problema de programación lineal entera pura:

+∈≥

≤++

Zy x,0,y x,

256y14x s.a11y28xMax

resolvamos este problema lineal entero gráficamente y aplicando el método de ramificación y acotación que acabamos de explicar.

Resolución PLE y del PLA (nodo 0)

♣ Comenta brevemente el procedimiento y resultados parciales: _____________________________________

_____________________________________

_____________________________________

_____________________________________

_____________________________________

_____________________________________

_____________________________________

_____________________________________

_____________________________________

_____________________________________ Resolución de los PL nodos 1 y 2

Resolución de los PL nodos 1.1 y 1.2

Page 111: Apuntes Profesora Font

Tema 7

111

Resolución de los PL nodos 1.2.1 y 1.2.2

Resolución de los PL nodos 1.2.2.1 y 1.2.2.2

Resumiendo, el árbol de ramificación del problema sería el siguiente:

Responde a las siguientes preguntas:

1) Razona a partir del árbol por qué el objetivo de problema es de maximización y no de minimización.

2) Usando el árbol presentado escribe cuáles son las restricciones adicionales impuestas para pasar de un nodo al siguiente. Escribe el problema que se ha resuelto en los nodos 0 (PLA), 1.1 y 1.2.2.1.

3) Razona por qué se ha acabado el proceso de ramificación. Indica por qué razón han quedado saturados los nodos 2, 1.1, 1.2.1, 1.2.2.1 y 1.2.2.2.

4) ¿Se ha llegado al óptimo del problema lineal entero? En caso afirmativo ¿cuál es el valor del óptimo?

Page 112: Apuntes Profesora Font

Tema 7

112

5) PRACTICA AHORA TÚ: Considera el siguiente problema de programación lineal entera pura:

+∈≥

≤+≤+

+

Zy x,0,y x,

243y 8x 246y4x s.a

10y8xMax

Plantea el árbol de ramificación del problema resolviendo gráficamente los problemas lineales asociados de cada nodo, y responde razonadamente a las preguntas 1) a 4) de esta sección.

Solución: Mocholí y Sala (1999), pág. 352-355

6) PRACTICA AHORA TÚ: Responde los ejercicios 1 a 5 de la COLECCIÓN DE EJERCICIOS.

3.- Programación lineal entera con GAMS

PRÁCTICA DE ORDENADOR 1: Resolución con GAMS de problemas enteros La siguiente diapositiva resume las instrucciones para resolver un problema lineal entero con GAMS:

Fíjate en el tercer grupo de instrucciones, el GAMS es un programa de uso profesional y como tal incorpora algunas limitaciones para evitar búsquedas de solución demasiado largas. En primer lugar, acota por defecto el conjunto de oportunidades garantizando la existencia de un óptimo en un cubo de lado 100. Y en segundo lugar, establece un nivel de tolerancia de modo que si obtiene una solución entera que cumple este nivel de tolerancia se detiene. Estos dos niveles por defecto pueden modificarse a costa de hacer más lento el proceso de optimización, la pregunta es ¿en qué situaciones? Si las restricciones del problema nos hacen sospechar que la solución óptima supera el valor de 100 habrá que aumentar la cota. (En algunas ocasiones nos damos cuenta de esta circunstancia porque sin cambiar la cota el problema se vuelve infactible.) Si el problema es relativamente pequeño (los que vamos a ver en este curso lo son) como el riesgo de alargar excesivamente el tiempo de resolución es pequeño en el caso de que la solución no nos dé óptima lo que haremos es cambiar la tolerancia a un valor muy bajo (por ejemplo, el 0.01% como aparece en la transparencia).

Consideremos para practicar los enunciados 1, 3 y 6 que planteábamos matemáticamente en la sección APLICACIONES ECONÓMICAS Y EMPRESARIALES de este tema.

Page 113: Apuntes Profesora Font

Tema 7

113

1) Crea un proyecto en el directorio A:\TEMA7 y los correspondientes ficheros GAMS para resolver estos tres problemas y ejecútalos.

Deberías obtener las siguientes salidas para los enunciados 1, 3 y 6 respectivamente:

S O L V E S U M M A R Y MODEL TRANS OBJECTIVE C TYPE MIP DIRECTION MINIMIZE SOLVER OSL FROM LINE 18 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 27600.0000 LOWER LEVEL UPPER MARGINAL ---- EQU FAB_A -INF 1200.000 1200.000 . ---- EQU FAB_B -INF 1000.000 1000.000 -1.000 ---- EQU DET_1 1000.000 1000.000 1000.000 14.000 ---- EQU DET_2 700.000 700.000 700.000 14.000 ---- EQU DET_3 500.000 500.000 500.000 13.000 ---- EQU COSTE . . . 1.000 LOWER LEVEL UPPER MARGINAL ---- VAR XA1 . . 1200.000 EPS ---- VAR XA2 . 700.000 1200.000 -1.000 ---- VAR XA3 . 500.000 1200.000 -2.000 ---- VAR XB1 . 1000.000 1000.000 EPS ---- VAR XB2 . . 1000.000 EPS ---- VAR XB3 . . 1000.000 EPS ---- VAR C -INF 27600.000 +INF .

S O L V E S U M M A R Y MODEL MOCHILA OBJECTIVE U TYPE MIP DIRECTION MAXIMIZE SOLVER OSL FROM LINE 14 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 154.0000 LOWER LEVEL UPPER MARGINAL ---- EQU UTILIDAD . . . 1.000 ---- EQU PESO -INF 100.000 100.000 0.400 LOWER LEVEL UPPER MARGINAL ---- VAR LINTERNA . . 1.000 24.000 ---- VAR SACO . 1.000 1.000 60.000 ---- VAR COCINA . . 1.000 -2.000 ---- VAR MANTA . 1.000 1.000 6.000 ---- VAR COMIDA . 1.000 1.000 EPS ---- VAR ROPA . . 1.000 4.000 ---- VAR VARIOS . 1.000 1.000 48.000 ---- VAR U -INF 154.000 +INF .

Page 114: Apuntes Profesora Font

Tema 7

114

S O L V E S U M M A R Y MODEL PLASTICO OBJECTIVE B TYPE MIP DIRECTION MAXIMIZE SOLVER OSL FROM LINE 24 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 648.0000 LOWER LEVEL UPPER MARGINAL ---- EQU OBJ . . . 1.000 ---- EQU R1 -INF 324.000 325.000 . ---- EQU R2 . 48.000 +INF . ---- EQU R3 . . +INF EPS ---- EQU R4 -INF -292.000 . . ---- EQU R5 -INF . . . LOWER LEVEL UPPER MARGINAL ---- VAR X . 108.000 400.000 6.000 ---- VAR Y . . 400.000 24.000 ---- VAR B -INF 648.000 +INF . ---- VAR B1 . 1.000 1.000 EPS ---- VAR B2 . . 1.000 .

¿Coinciden estas salidas con las que has obtenido? En caso afirmativo enhorabuena, en caso negativo, vuelve a leer el tercer bloque de instrucciones.

2) ¿Qué valores por defecto del programa GAMS has tenido que modificar para obtener la solución óptima?

3) Escribe la solución óptima de los tres problemas propuestos

4) PRACTICA AHORA TÚ: Resuelve con GAMS los restantes enunciados que planteábamos matemáticamente en la sección APLICACIONES ECONÓMICAS Y EMPRESARIALES de este tema y responde a las cuestiones 2) y 3) de esta sección.

PRÁCTICA DE ORDENADOR 2: Resolución completa con ordenador de un PLE Consideremos el siguiente enunciado: “Un bufete de abogados ha aceptado cinco nuevos casos, cada uno de los cuales puede ser llevado adecuadamente por cualquiera de los cinco asociados más recientes. Debido a la diferencia en experiencia y práctica, los abogados emplearán distintos tiempos en sus casos. Uno de los asociados más experimentados ha estimado las necesidades de tiempo (en horas) como sigue:

Caso 1 Caso 2 Caso 3 Caso 4 Caso 5 Abogado 1 145 122 130 95 115 Abogado 2 80 63 85 48 78 Abogado 3 121 107 93 69 95 Abogado 4 118 83 116 80 105 Abogado 5 97 75 120 80 111

Determinar la forma óptima de asignar los casos a los abogados, de manera que cada uno de ellos se dedique a un caso diferente y que el tiempo total de horas empleadas sea mínimo.”

1) A partir del enunciado plantea en términos matemáticos el problema de programación matemática identificando las variables del problema, la función objetivo y restricciones. ( Véase apartado “Modelización” en MATERIAL COMPLEMENTARIO: ANEXO 7)

Page 115: Apuntes Profesora Font

Tema 7

115

2) Abre el proyecto que creaste en el directorio A:\TEMA7 en la PRÁCTICA DE ORDENADOR 1 y crea un fichero GAMS para resolver el problema de programación planteado ( Véase apartado “Solución del modelo de programación lineal entera” en MATERIAL COMPLEMENTARIO: ANEXO 7)

3) ¿Cuál es la forma óptima de asignar los casos? ¿Cuál es el tiempo mínimo necesario para prepararlos? ( Véase apartados “Discusión de la solución del problema lineal entero” en MATERIAL COMPLEMENTARIO: ANEXO 7)

4) PRACTICA AHORA TÚ: Considera nuevamente el enunciado sobre la empresa de fertilizantes FERCA S.A. presentado en Tema 6: Práctica de Ordenador 2 asumiendo que la empresa sólo puede vender cajas enteras: plantea el modelo matemático, resuélvelo con el programa GAMS y determina el número óptimo de cajas a vender de cada tipo de fertilizante y el beneficio óptimo asociado. ( Véase la parte correspondiente a programación lineal entera del “Modelo de resolución de programación lineal y lineal entera” en MATERIAL COMPLEMENTARIO: ANEXO 5.)

5) PRACTICA AHORA TÚ: Estudia atentamente el “Modelo de resolución de programación lineal y lineal entera” en ANEXO 7 y reprodúcela con los enunciados propuestos en la COLECCIÓN DE

PROBLEMAS DE ORDENADOR.

Page 116: Apuntes Profesora Font

Tema 7

116

COLECCIÓN DE EJERCICIOS

1.- Dado un cierto problema de programación lineal entera pura cuyo árbol de ramificación es el siguiente:

0

1

2

1 .1

1 .2

1 .2 .1

1 .2 .2

F ( x ,y ,z ) = 4 1 ,3 6x = 0 .0 5y = 8z = 8 .5 8

F ( x ,y ,z ) = 4 1 .3 3x = 0y = 8z = 8 .6 7

F ( x ,y ,z ) = 3 9x = 0y = 7 .6 7z = 8

x < = 0

x > = 1

z < = 8

z > = 9

F ( x ,y ,z ) = 2 6 .4x = 1y = 4 .4z = 4 .6

In fa c t ib le

In fa c t ib le

y < = 7

y > = 8

F ( x ,y ,z ) = 3 7x = 0y = 7z = 8

a) Razone si el objetivo del problema es de maximización o minimización

b) ¿Se ha llegado al óptimo? En caso afirmativo explicar por qué y, en caso negativo, indicar qué nodo debería ramificarse y por medio de qué restricciones.

c) Escriba el problema que se ha resuelto en el nodo 1.2.1.

2.- Dado un cierto problema de programación lineal entera pura cuyo árbol de ramificación es el siguiente:

0

1

2

1.1

1.2

1.2.1

1.2.2

x=1,88y=1,87

F(x,y)=7,49

F(x,y)=7.38x=2y=1,79

Infactib le

x>=2

x<=1

y>=2

y<=1F(x,y)=6.61x=1y=1,87

F(x,y)=6,23x=3,23y=1

x>=4

x<=3

F(x,y)=5,5x=4y=0,5

F(x,y)=6x=3y=1

a) Razonar si el objetivo del problema es de maximización o minimización

b) ¿Se ha llegado al óptimo? En caso afirmativo explicar por qué y, en caso negativo, indicar qué nodo debería ramificarse y por medio de qué restricciones.

c) Escribir el problema que se ha resuelto en el nodo 1.2.1.

Page 117: Apuntes Profesora Font

Tema 7

117

3.- Dado un cierto problema de programación lineal entera pura cuyo árbol de ramificación es el siguiente:

0

1

2

2.1

2.2

x=2.5y=1.8

F(x,y)=16

F(x,y)=14x=3y=1

F(x,y)=15x=2y=2.1

F(x,y)=14.5x=0.8y=3

F(x,y)=14.8x=2y=2

Se pide:

a) Situar en cada ramificación la restricción que se ha añadido.

b) ¿Se ha llegado al óptimo? En caso afirmativo explicar por qué y, en caso negativo, indicar qué nodo debería ramificarse y por medio de qué restricciones.

4.- Sea un cierto problema de programación lineal entera pura de cuyo árbol de ramificación y acotación se conocen los siguientes datos:

a) Razone si el objetivo del problema es de maximización o minimización

b) ¿Se ha llegado al óptimo? En caso afirmativo explique por qué y, en caso negativo, indique qué nodo debería ramificarse y por medio de qué restricciones.

c) Escriba el problema que se ha resuelto en el nodo 6.

Page 118: Apuntes Profesora Font

Tema 7

118

5.- Dado un cierto problema de programación lineal entera mixta, donde las variables x , z tienen condiciones de integridad, y cuyo árbol de ramificación es el siguiente:

a) Razone si el objetivo del problema es de maximización o minimización

b) ¿Se ha llegado al óptimo? En caso afirmativo explique por qué y, en caso negativo, indique qué nodo debería ramificarse y por medio de qué restricciones.

c) Escriba el problema que se ha resuelto en el nodo 1.2.

COLECCIÓN DE PROBLEMAS DE ORDENADOR

1.- El equipo de motociclismo de AGRT (Andrés García Racing Team) decide inscribirse en el campeonato del mundo de motociclismo como equipo privado. El equipo ha conseguido un nuevo patrocinador, gracias a lo cual tiene la posibilidad de adquirir de la fábrica HANDO, entre otras mejoras, una serie de kits de competición que mejorarán la velocidad punta de su moto HANDO de competición. La siguiente tabla refleja el incremento de velocidad que puede proporcionarle cada kit y su coste medido en miles de euros:

Kit 1 Kit 2 Kit 3 Kit 4 Kit 5 Kit 6 Coste 10.2 6 23 11.1 9.8 31.6

Incremento 8 3 15 7 10 12

Determina los kits que adquirirá el equipo para maximizar el incremento de su velocidad, sabiendo que el nuevo patrocinador va a aportar 35000 euros.

Page 119: Apuntes Profesora Font

Tema 7

119

2.- La Consellería de Obras Públicas dispone de un presupuesto para infraestructuras de 5000 millones de euros en los próximos 4 años. Para determinar las obras a realizar, se hace una lista de actuaciones preferentes, con el siguiente coste e impacto de beneficio social:

Obra Coste (en millones de euros) Índice de impacto 1 2000 4 2 3000 5 3 1000 3 4 1500 3 5 4000 7 6 500 2 7 1000 4 8 1000 3

Determina los proyectos que se han de llevar a cabo para maximizar la suma de los índices de impacto.

3.- La ciudad de Villa Arriba tiene tres escuelas de enseñanza media superior. El consejo directivo de escuelas de la ciudad ha decidido redistribuir las zonas escolares asignadas a cada escuela. La ciudad está dividida en 10 secciones, cada una de ellas con una población estimada de estudiantes para los próximos años. Se ha determinado la distancia (en km) del centro de cada sección a cada una de las escuelas. La siguiente tabla recoge estos datos junto con la capacidad máxima de cada escuela:

Distancia Sección Alumnos Escuela 1 Escuela 2 Escuela 3

1 450 1.2 1.5 3.3 2 400 2.6 4 5.5 3 500 0.7 1.1 2.8 4 500 1.8 1.3 2 5 400 1.5 0.4 2.3 6 450 2 0.6 1.7 7 450 1.2 1.4 3.1 8 500 3.5 2.3 1.2 9 400 3.2 1.2 0.7

10 450 3.8 1.8 1 Capacidad escuela 1500 2000 1300

El consejo directivo de escuelas desea determinar cuántos estudiantes de cada sección deben asistir a cada una de las escuelas para que la distancia total recorrida por el conjunto de estudiantes de la ciudad sea mínimo.

Page 120: Apuntes Profesora Font

Tema 7

120

4.- Una compañía minera opera con tres minas. El mineral de cada una se separa antes de embarcarse, en dos grados. La capacidad diaria de producción de las minas así como sus costes diarios (medidos en millones de euros) son los siguientes:

Mineral grado alto(Tm/día) Mineral grado bajo(Tm/día) Costes diarios Mina 1 4 4 2 Mina 2 6 4 2.2 Mina 3 1 6 1.8

La compañía se comprometió a entregar 54 toneladas de mineral de grado alto y 65 toneladas de mineral de grado bajo para fines de la siguiente semana. Además, tiene contratos de trabajo que garantizan a los trabajadores de las tres minas el pago del día completo por cada día o fracción de día que la mina esté abierta.

Determina el número de días que cada mina debería operar durante la siguiente semana, si la compañía ha de cumplir su compromiso con un coste total mínimo, justificando que se trata de un problema entero.

5.- El encargado de recursos humanos de una gran empresa debe asignar a los 3 trabajadores que se encargan de la parte contable a 3 tareas que hasta ahora realizaban indistintamente: tesorería, financiación y contabilidad. Tras realizarles una prueba de conocimientos en los tres campos obtienen una calificación en cada parte que le indica el rendimiento de cada trabajador en cada puesto de trabajo. Los datos de la prueba son:

Tesorería Financiación Contabilidad Trabajador 1 7.5 8.6 8.4 Trabajador 2 5.3 7.2 6.1 Trabajador 3 6.7 7.9 7.5

El encargado debe decidir qué trabajador asigna a cada tarea para maximizar el rendimiento total.

Page 121: Apuntes Profesora Font

Tema 7

121

TEST 3: PROGRAMACIÓN LINEAL ENTERA PREGUNTA 1: Dado un cierto problema de programación lineal entera pura cuyo árbol de ramificación es el siguiente:

a) Razone si el objetivo del problema es de maximización o minimización.

b) Usando el árbol presentado escribe cuáles son las restricciones adicionales impuestas para pasar de un nodo al siguiente.

c) ¿Se ha llegado al óptimo? En caso afirmativo explicar por qué indicando las razones de saturación de cada nodo final y escribir el valor del óptimo, y en caso negativo, indicar qué nodo debería ramificarse y por medio de qué restricciones.

d) Escriba el problema que se ha resuelto en los nodos 1.2, 1.1.1 y 1.2.1.2.1. (2.5 puntos)

PREGUNTA 2: Un pequeño fabricante de juguetes produce dos modelos para montar aviones y coches por los que obtiene un beneficio de 3 y 4 € por modelo respectivamente. Los modelos deben pasar por las secciones de modelado e impresión con una disponibilidad diaria de 45 y 30 minutos respectivamente para cada proceso. Los aviones requieren 2 minutos e cada una de las secciones mientras que los coches requieren 3 minutos en moldeado y 1 en impresión. El juguetero querría saber cuántos juguetes de cada clase ha de fabricar para maximizar el beneficio obtenido.

Hasta ahora hemos obtenido el siguiente árbol de ramificación:

a) A partir del enunciado plantea en términos matemáticos el problema de optimización.

b) Usando el árbol presentado escribe cuáles son las restricciones adicionales impuestas para pasar de un nodo al siguiente.

Page 122: Apuntes Profesora Font

Tema 7

122

c) ¿Se ha llegado al óptimo? En caso afirmativo explicar por qué indicando las razones de saturación de cada nodo final y, en caso negativo, indicar qué nodo debería ramificarse (si hay más de una elige la más prometedora) y termina el proceso de ramificación resolviendo los correspondientes problemas lineales.

d) Escribe el problema que se ha resuelto en el nodo 1.2. (4 puntos)

PREGUNTA 3: Dado el problema lineal entero:

+∈≥

≤++≤++≤++

++

Zy x,0,z y, x,

2404z6y5x 200 4z3y 5x 3008z8y5x s.a

zyMax x

a) Resuelve usando GAMS el problema lineal asociado, escribe la solución completa e interpreta la columna MARGINAL.

b) Resuelve usando GAMS el problema lineal entero y escribe su solución. (1.5 puntos)

PREGUNTA 4: Una empresa dispone de 500.000 € para invertir entre 5 alternativas:

P1: Adquirir el edificio América para dedicarlo a alquiler de oficinas. P2: Adquirir acciones de una empresa de Telecomunicaciones. P3: Adquirir litros de gasóleo previendo el incremento de los precios del petróleo. P4: Adquirir una flota de vehículos con objeto de alquiler. P5: Adquirir una avioneta tipo CSNA X-100 para los viajes de directivos de la empresa.

El coste individual de cada una de estas alternativas, y su rentabilidad esperada es:

Proyecto Coste Rendimiento P1 450.000 40.000 P2 25 3 P3 0.75 0.08 P4 50.000 6.000 P5 300.000 50.000

Se desea determinar qué inversión ha de realizar la empresa, teniendo el cuenta las particularidades específicas de cada tipo de alternativa, es decir, su facionabilidad o repetitividad.

a) A partir del enunciado plantea en términos matemáticos el problema de optimización, identificando: variables de decisión, función objetivo y restricciones. Clasifica el problema.

b) Soluciona con GAMS el problema propuesto. Entrega impreso con esta hoja el fichero .lst. (Nota.- No olvides incluir en el archivo .gms las instrucciones necesarias para que la solución del problema, en caso de existir, sea óptima.)

c) Describe la inversión óptima a realizar y determina su rendimiento óptimo.

(2.5 puntos)

Nota.- El TEST 3 está resuelto en MATERIAL COMPLEMENTARIO: ANEXO 8.

(Observación posterior al Test.- El árbol de ramificación del problema 1 corresponde a la resolución por el método de ramificación y acotación del problema entero asociado al enunciado presentado en TEMA6: PRÁCTICA DE ORDENADOR 2.)

Page 123: Apuntes Profesora Font

Tema 7

123

ANOTACIONES

Page 124: Apuntes Profesora Font

124

Material Complementario

Anexo 1.- Revisión de algunos elementos de álgebra lineal

Anexo 2.- Resumen de la sintaxis del GAMS

Anexo 3.- Modelo de resolución de programación no lineal

Anexo 4.- Respuestas del TEST 1

Anexo 5.- Modelo de resolución de programación lineal y lineal entera

Anexo 6.- Respuestas del TEST 2

Anexo 7.- Modelo de resolución de programación lineal entera

Anexo 8.- Respuestas del TEST 3

Anexo 9.- Exámenes oficiales de la asignatura “Programación Matemática” de la Diplomatura en Ciencias Empresariales celebrados en la Universidad de Valencia durante el curso 2002-03

ANEXO 1: Revisión de algunos elementos de álgebra lineal

1.- Cálculo de determinantes. Supongamos que queremos calcular :

A A A A Aa

b

=

− −− −

− −− − −

= − ⋅ + ⋅ + ⋅ + − ⋅

= − ⋅ −− −

− −− −

+ − ⋅ −−

−− − −

= − ⋅ − ⋅ + − ⋅ − ⋅

+ +

2 0 0 10 2 0 10 0 2 11 1 1 0

2 0 0 1

2 12 0 1

0 2 11 1 0

1 10 2 00 0 21 1 1

2 1 4 1 1

11 12 13 14

1 1 1 4

2 5

( )

( )

( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

(c)

( )− = − − = −4 8 4 12

donde :

[ ]− −

− −− −

= − ⋅ − ⋅ + ⋅ − ⋅ − + − ⋅ ⋅ − − − ⋅ − ⋅ − + ⋅ ⋅ + − ⋅ − ⋅ − =2 0 1

0 2 11 1 0

2 2 0 0 1 1 1 0 1 1 2 1 0 0 0 2 1 1 4( )

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )d

[ ]0 2 00 0 21 1 1

0 0 1 2 2 1 0 0 1 0 0 1 2 0 1 0 2 1 4−

−− − −

= ⋅ ⋅ − + − ⋅ − ⋅ − + ⋅ ⋅ − − ⋅ ⋅ − + − ⋅ ⋅ − + ⋅ − ⋅ − = −( )

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )d

o alternativamente, calculando el primer determinante de esta otra forma :

[ ]

− −− −

− −=

− − ⋅− − ⋅

− − − ⋅= − ⋅

−−

− −= − ⋅

− + ⋅+ ⋅ −

− + ⋅ −= − ⋅ −

− −

= − ⋅ + ⋅ + ⋅ = −

2 0 10 2 11 1 0

2 0 1 10 2 1 11 1 1 1

12 0 1

0 2 11 1 0

12 2 1 0 1

0 2 1 2 11 2 0 1 0

10 0 12 2 11 1 0

1 0 0 1 111 12 13

( ) ( ) ( )

( ) ( )

( )( )( )

( ) ( ) ( )

( ) (

e f g

a bA A A [ ]) ( ) ( ) ( ) ( ) ( ) ( )⋅ ⋅ −

−− −

= − ⋅ ⋅ − ⋅ − − − ⋅ − =+1 12 21 1

1 1 1 2 1 2 1 41 3 4

(a) Método de adjuntos : “un determinante es igual a la suma de los productos de los elementos de una fila (/columna) por sus respectivos adjuntos”. Se llama adjunto del elemento aij, y se

Page 125: Apuntes Profesora Font

Material Complementario

125

representa por Aij al determinante que resulta de la supresión de la fila i y columna j multiplicado por (-1)i+j. En este caso hemos aplicado el resultado sobre la primera fila.

(b) Sustituyendo los adjuntos por su expresión. (c) Calculando los determinantes resultantes 3×3 (ver más abajo). (d) Regla de Sarrus : “|A|=a11a22a33+a12a23a31+a13a21a32−a13a22a31−a11a23a32−a12a21a33”

(e) Método del pivote : Consiste en modificar los elementos de una fila (/columna) haciendo

operaciones con columnas (/filas) para que todos los elementos de la fila (/columna) salvo uno, que llamamos pivote, sean cero, y luego aplicar el método de adjuntos sobre dicha fila (/columna). Las operaciones se basan en dos propiedades :

• “Al multiplicar una columna (/fila) por un escalar, el determinante queda multiplicado por dicho escalar”.

• “El valor del determinante no varía si a una columna (/fila) de un determinante se le suma otra columna multiplicada por un escalar.”

En este caso, convertiremos en pivote el “-1” de la primera fila y cuarta columna. (f) Aplicando la primera propiedad para obtener el pivote “1” operando con la columna cuarta. (g) Aplicando la segunda propiedad para que el resto de los elementos de la primera fila sean cero.

2.- Determinar si un sistema de vectores es libre. Supongamos que queremos averiguar si los vectores de R4: (1,-2,0,-1), (1,0,-2,-1) y (1,-1,-1,0) forman un sistema libre. Podemos aplicar la siguiente propiedad “un sistema de m vectores de Rn es libre si el rango de la matriz que se forma disponiendo los vectores en filas (/columnas) tiene rango m, esto es, podemos construir con esa matriz un matriz cuadrada m×m con determinante no nulo”. En nuestro caso : n=4, m=3, la matriz

es: 1 2 0 11 0 2 11 1 1 0

− −− −

− −

y el determinante de orden 3 : − −

− −− −

≠2 0 1

0 2 11 1 0

0 (ver arriba) ; por lo tanto el

rango de la matriz es igual 3 (=m) y el sistema de vectores (1,-2,0,-1), (1,0,-2,-1) y (1,-1,-1,0) es libre (en otras palabras, los tres vectores son linealmente independientes).

3.- Cálculo de la inversa. Supongamos que queremos obtener la matriz inversa de

A =

2 3 11 2 03 5 3

. Podemos calcular la inversa aplicando dos métodos:

A) Método de Gauss. Para obtener la inversa se coloca a la derecha la matriz identidad y se hacen operaciones para convertir la matriz de la original en la identidad, la nueva matriz de la derecha es la inversa. Las operaciones permitidas son: cambiar el orden de filas, multiplicar toda una fila por un escalar y sumar a una fila otra multiplicada por un escalar.

1-

2/12/12/12/12/32/3123

100010001

111133010

200020021

111021010

200110

021

130021010

310110021

100001010

353132021

100010001

353021132

AI

IA

−−−

−−

−−−

−−−

−↔

−−

−−↔

Page 126: Apuntes Profesora Font

Material Complementario

126

B) Método de Adjuntos. Sabiendo que: “la inversa de una matriz A se obtiene a partir de la

expresión : AA

Adj A t− =1 1| |

( ) , con |A|≠0, Adj A Aij i jn( ) ( ) ,= =1 la matriz adjunta de A y Aij el adjunto

del elemento aij”, obtenemos A-1 de la siguiente manera : (a) |A| = 2⋅2⋅3+3⋅0⋅3+1⋅1⋅5−1⋅2⋅3−3⋅1⋅3−2⋅0⋅5=2≠0

(b) A111 1

121 2

131 31

2 05 3

6 11 03 3

3 11 23 5

1= −

= = −

= − = −

= −+ + +( ) , ( ) , ( ) , A A

A 212 1

222 2

232 31

3 15 3

4 12 13 3

3 12 33 5

1= −

= − = −

= = −

= −+ + +( ) , ( ) , ( ) , A A

A 313 1

323 2

333 31

3 12 0

2 12 11 0

1 12 31 2

1= −

= − = −

= = −

=+ + +( ) , ( ) , ( ) . A A

(c)

−−−

−−=

−−−

−−=

−−−−−

=

−−−−−

=2/12/12/12/12/32/3123

111133246

21

112134136

21Ay ,

112134136

)( 1-

t

AAdj

4.- Determinación del signo de una forma cuadrática Lee atentamente la siguiente diapositiva:

Observación: Los menores principales de orden p de una matriz cuadrada son los determinantes de orden p que contienen p elementos de la diagonal principal. Por ejemplo, en una matriz cuadrada de orden 3 los menores principales son:

orden 1: |a11|, |a22| y |a33| orden 3: aaaaaaaaa

333231

232221

131211

orden 2: 3331

1311

3332

2322

2221

1211

aaaa

y aaaa

, aaaa

Page 127: Apuntes Profesora Font

Material Complementario

127

ANEXO 2: Resumen de la sintaxis del GAMS

CONSTRUCClÓN DEL PROBLEMA

1. Líneas de comentario - $ONTEXT, $OFFTEXT para párrafos

Ej $ONTEXT Comentario Comentario $OFFTEXT

- para líneas aisladas. No usar acentos, ni ñ Ej * Comentario

2. Bloque de variables - Cabecera: VARIABLES - Nombre de las variables: (máximo 8 caracteres)

- una variable por línea o todas seguídas en una línea separadas por comas - se ha de incluir una variable para la función objetivo Esta variable no puede tener

ninguna restricción, no puede ponerse como positiva, binaria, etc - después de la última variable hay que poner ";"

Ej (Opción l) VARIABLES x, y, z, F; Ej (Opción 2) VARIABLES x variable 1

y variable 2 z variable 3 F objetivo;

- Clase de variables: (optativo) - libres (FREE) valor por defecto - no negativas (POSITIVE) - binarias (BINARY) - enteras positivas (lNTEGER)

Ej: POSITIVE VARIABLES x. y; - Cotas sobre las variables: (optativo) Por defecto están entre –Inf y +Inf. Enteras entre 0 y 100.

- cota superior. Nom.UP = valor; - cota inferior. Nom.LO = valor;

Ej: x.up = 10; x.lo = 3; - Valor inicial de las variables: (optativo) Por defecto (0,...,0)

- Nom.L = valor; (Recomendado en NLP) Ej: x.l = 2;

3. Bloque de ecuaciones (han de tener nombres diferentes al de las variables) - Cabecera: EQUATIONS - Nombre de las funciones v restricciones: (Máximo 8 caracteres)

- una por línea o todas seguidas en una línea separadas por comas - después del último nombre hay que poner ";"

Ej (Opción l) EQUATIONS REST1, REST2, OBJ; Ej (Opción 2) EQUATIONS REST1 nombre de la primera restricción

REST2 nombre de la segunda restricción OBJ nombre de la función objetivo;

(Recomendado) - Definición de las funciones v restricciones:

- Una por línea yal final de cada línea ";" - Los signos de igualdad y de desigualdad son: =E= (para =), =L= (para ≤), =G= (para ≥) - Los signos de las operaciones son. + , -, * , / , ** ( o power(x,n), con n entero)

Ej: OBJ.. F =E= 2+4*x**2+y*z; Ej: REST1.. 4*x+2*z=L=3;

Page 128: Apuntes Profesora Font

Material Complementario

128

4. Bloque de modelo

- Una única línea - Hay que asignarle un nombre al modelo (puede ser distinto al nombre con que el problema se

guardará en el disco) - Hay que declarar entre barras (/.../) las ecuaciones que formarán parte del modelo definido, Si son

todas se pone /ALL/ y si sólo se usan algunas deben detallarse cuáles son. Esto permite para una única entrada de datos definir varios modelos y resolverlos todos, si se desea, en una sola ejecución del GAMS

Ej: MODEL Problem1 /OBJ, REST1/; Ej: MODEL Problem2 /ALL/;

5. Bloque de solución - Una única línea con:

- La palabra SOLVE - El nombre del modelo (el mismo que el usado en el bloque de modelo) - El tipo de problema precedido de la palabra USING: NLP, LP, MIP, RMIP, ó DNLP - La dirección de la optimización: MAXIMIZING o MINIMIZING - Nombre de la variable correspondiente a la función objetivo - Acabaremos con ";"

Ej: SOLVE Probleml USING NLP MAXIMIZING F; - Si deseamos resolver más de un modelo pondremos una línea por modelo

EJECUCIÓN DEL PROGRAMA

- El problema debe guardarse con la extensión gms. Ej: a :\NornProb.gms

- El resultado de la ejecución del programa GAMS se guarda automáticamente en un fichero con el mismo nombre que el problema pero con extensión Ist (NornProb.lst)

- El directorio por defecto donde se guardará este fichero será el del PROYECTO en que estemos trabajando

- Se genera un fichero intermedio con extensión LOG que sirve para visualizar la ejecución - Si el fichero gms tiene errores, el fichero lst, en vez de la solución, indicará cuáles son estos. Habrá

que corregirlos en cl fichero gms y volver a ejecutar el gams

SINTAXIS ESPECÍFICA

1.- Programación Lineal Para que el GAMS realice y muestre el análisis de sensibilidad de los términos independientes de las restricciones y de los coeficientes de la función objetivo:

- Añadir entre el bloque de modelo y el bloque de solución las siguientes líneas: option lp=cplex; NomModelo.dictfile=4; NomModelo.optfile= 1;

NomModelo deberá coincidir con el nombre que se le haya asignado al modelo; los otros valores siempre serán los indicados.

- En el directorio del PROYECTO donde estemos trabajando debe estar grabado el fichero CPLEX.OPT el cual debe contener sólo las dos siguientes líneas:

objrng all rhsrng all

2.- Programación Entera Para ajustar la tolerancia o distancia al óptimo del problema de la solución entera proporcionada por GAMS, (el valor por defecto es 0.), añadir la siguiente línea al principio del fichero gms

option optcr=0.0001;

Page 129: Apuntes Profesora Font

Material Complementario

129

ANEXO 3: Modelo de resolución de programación no lineal

1.- ENUNCIADO La empresa ZUMIBAN se dedica a la obtención de zumos de frutas exóticas. En el proceso de transformación se utiliza zumo puro, agua y otros aditivos que diferencian los zumos de la empresa respecto a los de la competencia. El zumo puro se obtiene exprimiendo las frutas y desechando las pieles y otros residuos sólidos.

ZUMIBAN fabrica tres tipos de zumo A, B y C combinando zumo puro, agua y aditivos en las siguientes proporciones:

TIPO ZUMO ZUMO PURO AGUA ADITIVOS A 2 1 1 B 5 2 2 C 3 2 1

Se sabe que la función de ingresos de la empresa es 2x2+y2+2z2 donde x, y, z son los litros de los zumos A, B y C, y que los costes totales por litro son de 10 u.m. para el zumo A, 2 u.m. para el zumo B y 3 u.m. para el zumo C. También se conoce que por cada 10 Kg. de fruta se obtienen 7 litros de zumo puro y la empresa dispone de un stock de 20.000 Kg. de fruta en almacén. No existen límites para el empleo de agua y aditivos. Además, por razones estratégicas se considera que no es conveniente que la producción de un tipo de zumo supere el 40% del total.

Se pide:

a) Sabiendo que el objetivo de la empresa es maximizar su función de beneficios averigua cuántos litros de cada clase de zumo producirá ZUMIBAN.

b) En la actualidad, hay escasez de este tipo de fruta, pero un proveedor ofrece a ZUMIBAN 100 Kg. adicionales a un precio de 200 u.m por Kg. Sabiendo que la empresa compró la fruta a 100 u.m por Kg., razona si ZUMIBAN aceptará la propuesta.

2.- MODELIZACIÓN Identificación de las variables:

La empresa ZUMIBAN precisa averiguar la cantidad (en litros) a fabricar de sus tres tipos de zumo, por tanto las variables son:

x número de litros a fabricar del zumo tipo A

y número de litros a fabricar del zumo tipo B

z número de litros a fabricar del zumo tipo C

con x, y, z cantidades no negativas (condición de no negatividad).

Función objetivo:

El objetivo que se persigue es maximizar el beneficio que se obtiene a partir de la diferencia entre ingresos y costes.

El enunciado indica que la función de ingresos viene dada por:

I(x,y,z) = 2x2+ y2 + 2z2

Por otra parte, como los costes totales son de 10, 2 y 3 u.m. por litro fabricado de los zumos A, B y C respectivamente, se tiene que:

C(x,y,z) = 10x + 2y +3z

Page 130: Apuntes Profesora Font

Material Complementario

130

Y la función de beneficios de la empresa es:

B(x,y,z)=I(x,y,z)-C(x,y,z)= 2x2+ y2 + 2z2 − (10x + 2y +3z)

Restricciones y conjunto de oportunidades:

Los posibles beneficios de ZUMIBAN están sujetos a dos tipos de restricciones: la debida a las disponibilidades en almacén de fruta (20000 Kg.) ya que no hay restricciones en el agua ni en los aditivos, y las referidas a condiciones estratégicas del mercado.

En relación a la primera, notemos que:

• Los 20000 Kg. de fruta equivalen a 14000 litros de zumo puro. Este resultado se obtiene aplicando una simple regla de tres: 10 Kg son a 7 litros como 20000 Kg. son a ? litros.

• A partir de la tabla sobre las proporciones necesarias de zumo puro, agua y otros aditivos se tiene que:

− 1 litro de zumo A se fabrica con 2/(2+1+1)=1/2 de litro de zumo puro, 1/(2+1+1)=1/4 de litro de agua y 1/(2+1+1)=1/4 de litro de aditivos.

− 1 litro de zumo B se fabrica con 5/(5+2+2)=5/9 de litro de zumo puro, 2/(5+2+2)=2/9 de litro de agua y 2/(5+2+2)=2/9 de litro de aditivos.

− 1 litro de zumo A se fabrica con 3/(3+2+1)=1/2 de litro de zumo puro, 2/(3+2+1)=1/3 de litro de agua y 1/(3+2+1)=1/6 de litro de aditivos.

Con lo que la única restricción sobre disponibilidad de materias primas se puede formular como:

14000z21y

95x

21

≤++

Respecto a las restricciones estratégicas, observemos que éstas pueden formularse de dos formas alternativas que van a conducir a un mismo resultado óptimo:

• Como restricciones lineales:

0z)y0.4(xz0z)y0.4(xy0z)y0.4(xx

≤++−≤++−≤++−

(a)

Esta formulación tiene la ventaja de que así podemos garantizar al ser todas las restricciones lineales que el máximo del problema si existe es un punto de Kuhn y Tucker, la desventaja es que es menos interpretable el multiplicador asociado (al menos en porcentaje sobre el total).

• Como restricciones no lineales:

0.4z)y(xz0.4z)y(xy0.4z)y(xx

≤++≤++≤++

(b)

En este caso, se complica la resolución (restricciones no lineales) pero en cambio el multiplicador da una indicación clara sobre el efecto que se produciría si se incrementara o redujera el porcentaje de fabricación de cada tipo de zumo sobre el total.

Page 131: Apuntes Profesora Font

Material Complementario

131

Como restricción adicional recordemos la condición de no negatividad de las variables x, y, z ya introducida en el apartado de variables.

El conjunto de oportunidades queda definido en la alternativa (a) por:

{}0z 0,y 0, x0, z)y0.4(x-z 0, z)y0.4(x-y

0, z)y0.4(x- x14000,z21y 9

5x21 :Rz)y,(x,S 3

≥≥≥≤++≤++

≤++≤++∈=

Modelo matemático:

Por todo lo anterior el problema queda descrito en términos del siguiente programa no lineal:

0 z y, x, 0z)y0.4(xz 0z)y0.4(xy 0z)y0.4(x x

14000z21y9

5x21 s.a.

3z2y10x2zy2xz)y,B(x,Max 222

≥≤++−≤++−≤++−

≤++

−−−++=

3.- SOLUCIÓN DEL MODELO CON ORDENADOR El fichero GAMS es: $ONTEXT PROBLEMA MODELO DE PROGRAMACIÓN NO LINEAL $OFFTEXT *BLOQUE VARIABLES VARIABLES X, Y, Z, I, C, B; POSITIVE VARIABLES X, Y, Z; X.L=3700; Y.L=3700; Z.L=3700; *BLOQUE ECUACIONES EQUATIONS COSTE, INGRESO, BENEFICIO, STOCK, L1, L2, L3; COSTE.. C =E= 10*X+2*Y+3*Z; INGRESO.. I =E= 2*POWER(X,2)+POWER(Y,2)+2*POWER(Z,2); BENEFICIO.. B =E= I - C; STOCK.. (1/2)*X+(5/9)*Y+(1/2)*Z =L= 14000; L1.. X - 0.4*(X+Y+Z) =L= 0; L2.. Y - 0.4*(X+Y+Z) =L= 0; L3.. Z - 0.4*(X+Y+Z) =L= 0; *BLOQUE MODELO MODEL NOLINEAL /ALL/; *BLOQUE SOLUCION SOLVE NOLINEAL USING NLP MAXIMIZING B;

Page 132: Apuntes Profesora Font

Material Complementario

132

Y la solución: S O L V E S U M M A R Y

MODEL NOLINEAL OBJECTIVE B TYPE NLP DIRECTION MAXIMIZE SOLVER CONOPT FROM LINE 28 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 2 LOCALLY OPTIMAL **** OBJECTIVE VALUE 510039425.3308 LOWER LEVEL UPPER MARGINAL ---- EQU COSTE . . . -1.000 ---- EQU INGRESO . . . 1.000 ---- EQU BENEFICIO . . . 1.000 ---- EQU STOCK -INF 14000.000 14000.000 72873.732 ---- EQU L1 -INF . . 36910.106 ---- EQU L2 -INF -5478.261 . ---- EQU L3 -INF . . 36917.106 LOWER LEVEL UPPER MARGINAL ---- VAR X . 10956.522 +INF . ---- VAR Y . 5478.261 +INF . ---- VAR Z . 10956.522 +INF . ---- VAR I -INF 5.1019E+8 +INF . ---- VAR C -INF 1.5339E+5 +INF . ---- VAR B -INF 5.1004E+8 +INF . **** REPORT SUMMARY : 0 NONOPT 0 INFEASIBLE 0 UNBOUNDED 0 ERRORS

Se ha rodado en programa GAMS con los puntos de arranque: (1000,1000,1000), (10000,10000,10000), (11200,0,0), (0,11200,0), (0,0,11200), (3700,3700,3700) y (5000,0,5000) obteniendo en todos los casos salida normal, óptimo local y punto óptimo el indicado en la solución impresa. (También se rodó el programa con puntos de arranque (0,0,0) y (1,1,1) obteniéndose salida normal, y óptimo local en el punto (0,0,0) con multiplicadores asociados todos igual a 0, obviamente éste no es el máximo global buscado)

A continuación se ha estudiado el modelo de programación no lineal con restricciones estratégicas no lineales (b); el archivo GAMS es el mismo cambiando las líneas de las restricciones L1, L2 y L3 por:

L1.. X/(X+Y+Z) =L= 0.4; L2.. Y/(X+Y+Z) =L= 0.4; L3.. Z/(X+Y+Z) =L= 0.4;

Page 133: Apuntes Profesora Font

Material Complementario

133

Y la salida GAMS es: LOWER LEVEL UPPER MARGINAL ---- EQU COSTE . . . -1.000 ---- EQU INGRESO . . . 1.000 ---- EQU BENEFICIO . . . 1.000 ---- EQU STOCK -INF 14000.000 14000.000 72873.732 ---- EQU L1 -INF 0.4 0.400 1.0110E+9 ---- EQU L2 -INF 0.200 0.400 . ---- EQU L3 -INF 0.400 0.400 1.0112E+9 LOWER LEVEL UPPER MARGINAL ---- VAR X . 10956.522 +INF . ---- VAR Y . 5478.261 +INF . ---- VAR Z . 10956.522 +INF . ---- VAR I -INF 5.1019E+8 +INF . ---- VAR C -INF 1.5339E+5 +INF . ---- VAR B -INF 5.1004E+8 +INF .

4.- DISCUSIÓN DE LA SOLUCIÓN Análisis de la globalidad de la solución

En este problema no se satisfacen las hipótesis del Teorema Local-Global: • El conjunto de oportunidades S es convexo ya que es intersección de semiespacios, los

semiespacios son convexos y la intersección de convexos es un conjunto convexo. (S es un polítopo.)

• Pero, la función objetivo no es cóncava (es estrictamente convexa en R3)

400020004

z)y,HB(x, ,3)4z 2,2y 10,(4xz)y,B(x,

=−−−=∇

Por lo que no podemos asegurar que el óptimo local obtenido por GAMS sea un óptimo global del problema planteado. Como no se cumplen las hipótesis de la condición suficiente de máximo global para problemas convexos no podemos asegurar que el óptimo local obtenido por GAMS sea óptimo global del problema planteado ni que dicho óptimo global exista.

Sin embargo, la existencia de máximo global del problema es comprobable de forma teórica aplicando el teorema de Weierstrass. Efectivamente, S es cerrado por intersección finita de conjuntos cerrados (las restricciones lineales definen semiespacios cerrados) y es acotado (véase demostración más abajo) y por lo tanto compacto, y la función de beneficios es continua en S (es C2 en R3); se cumplen las hipótesis del teorema de Weierstrass y por lo tanto la función B alcanza un máximo global y mínimo global en S.

Para ver que S es acotado notemos que:

28000z y, x,0 28000zyx

y9128000zyx28000140002y)9

1zy(x

14000y)91zy(x2

1z)y910(x2

1z21y9

5x21

0zy,x,0y

≤≤⇒≤++⇒

−≤++⇒=⋅≤+++⇒

≤+++=++=++

≥≥

En consecuencia, el máximo global buscado existe y el programa GAMS debe ser capaz de encontrarlo si le proporcionamos un número suficientemente amplio de puntos de arranque. No hay garantías teóricas para asegurar que el óptimo que hemos obtenido aplicando el GAMS (el que

Page 134: Apuntes Profesora Font

Material Complementario

134

proporciona un mayor valor de la función objetivo de los dos encontrados) sea el máximo global buscado aunque la reiteración del resultado al rodar con distintos puntos de arranque el programa nos hace creer que sí lo es.

Interpretación de los multiplicadores de Kuhn y Tucker

El valor del multiplicador de Kuhn y Tucker de las restricciones activas nos indica la variación que sufre la función objetivo cuando varía infinitesimalmente el término independiente de dicha restricción. Para el máximo local solución (el que creemos global), rescribiendo el problema según la alternativa (b), hay tres restricciones activas con multiplicadores asociados: λ1

*=72873.732, λ2

*=1.0110⋅109 y λ4*=1.0112⋅109.

De acuerdo con el primer multiplicador, si la empresa aumenta su stock de fruta en 10/7 Kg. o equivalentemente en 1 litro de zumo puro (y el coste de la materia prima no varía) aumentará su beneficio en 72873.732 u.m.

De acuerdo con el segundo y cuarto las restricciones estratégicas sobre la producción de zumos de tipo A y C sobre el total reducen (si no cambian las condiciones del mercado) posibles beneficios de la empresa, ya que:

− Si aumento a un 41% el porcentaje del zumo A sobre el total, el beneficio aumenta en 10.110⋅106 u.m

− Si aumento a un 41% el porcentaje del zumo C sobre el total, el beneficio aumenta en 10.112⋅106 u.m

− Y si aumento a un 41% el porcentaje del zumo A y C sobre el total, el beneficio aumenta en 20.222⋅106 u.m

5.- CONTESTACIÓN A LAS PREGUNTAS PROPUESTAS a) Sabiendo que el objetivo de la empresa es maximizar su función de beneficios averigua

cuántos litros de cada clase de zumo producirá ZUMIBAN.

La empresa fabricará 10956.522 litros de zumo A, 5478.261 litros de zumo B y 10956.522 litros de zumo C, y obtendrá unos beneficios de 510.04 millones de u.m.

b) En la actualidad, hay escasez de este tipo de fruta, pero un proveedor ofrece a ZUMIBAN 100 Kg. adicionales a un precio de 200 u.m por Kg. Sabiendo que la empresa compró la fruta a 100 u.m por Kg., razona si ZUMIBAN aceptará la propuesta.

100 Kg adicionales de fruta representan 70 litros adicionales de zumo puro y en consecuencia un incremento aproximado del beneficio a igualdad de costes de 70λ1

*=72873.732*70=5101161.2 u.m. Como el incremento de coste es de 100 u.m por Kg, esto es, 100*100=10000 u.m., la empresa aceptará la propuesta con un beneficio neto (después de descontar el incremento de costes) aproximado de 5.09 millones de u.m.

Page 135: Apuntes Profesora Font

Material Complementario

135

ANEXO 4: Respuestas del TEST 1

PREGUNTA 1:

a) El conjunto de oportunidades es no vacío (el punto (2,2,2) pertenece a él), acotado (esta incluido en la bola de centro (0,0,0) y radio √12) y cerrado (está definido por un restricción de forma igualdad de una función continua), y la función objetivo es continua, por lo tanto, el problema tiene máximo y mínimo globales.

b)

1λ2),2,2,(1λ2,2),(2,

12zyx

02zλ4zL

02yλ4yL

02xλ4xL

)zyxλ(12404z4y4xλ)z,y,L(x,

222

222

−=−−=−

=++

=−=∂∂

=−−=∂∂

=−=∂∂

−−−+−+−=

c) No se puede aplicar la condición suficiente de óptimo global porque el conjunto de oportunidades no es convexo (es una esfera).

d) Por el teorema de Weierstrass sabemos que el problema tiene solución global, y por la condición necesaria (se cumple la condición de regularidad ya que el gradiente de la restricción es (2x,2y,2z) y es linealmente independiente ya que no se anula en ningún punto del conjunto de oportunidades) sabemos que dicho óptimo es un punto crítico. Por lo tanto, el máximo ha de ser el punto (2,-2,2) ó el (-2,2,-2). Como z(2,-2,2)=-16 y z(-2,2,-2)=-64, el máximo global será el punto (2,-2,2).

PREGUNTA 2:

S es compacto porque es cerrado y acotado S no es convexo (se pueden dibujar segmentos entre dos puntos del conjunto que no están contenidos en S) Las soluciones óptimas son soluciones frontera. Se trata de un problema no lineal con óptimo global: *Máximo no único en arco azul, z = 4 *Mínimo único en (0,0) con z=0.

PREGUNTA 3:

a) L(x,y,λ1,λ2)=x2+y2+λ1(1-x)+λ2(-x-y)

0y x10.0y)x(λ 9.

0λ 8.

1 x7.0x)(1λ 6.

0λ 5.

0y 4.

0)λy(2yyLy 3.

0λ2yyL 2.

0λλ2xxL 1.

2

2

1

1

2

2

21

≥+=−−

≤=−

=−=∂∂

≤−=∂∂

=−−=∂∂

Page 136: Apuntes Profesora Font

Material Complementario

136

b) El punto (1,1) es infactible y por tanto no es punto de K-T; ell punto (1,0) no es punto de K-T porque no satisface todas las ecuaciones a la vez ; y el punto (0,0) es K-T con multiplicadores asociados iguales a cero.

c) La función objetivo es estrictamente convexa (la hessiana de la función es una matriz diagonal con elementos en la diagonal iguales a 2 y por tanto positivos); el conjunto de oportunidades es un polítopo y por tanto un convexo, y (0,0) es punto de K-T, por la condición suficiente de óptimo global de problemas no lineales se tiene que (0,0) es mínimo global estricto del problema.

PREGUNTA 4: a) La constructora no quiere dejar viviendas sin vender y por lo tanto ajusta sus precios a la

demanda existente. El problema a resolver es:

≥≤+

+

0C A, 3505C3A

35A s.a.

5C-3A-C3

C-200A2

A-100Max

b) * La solución óptima es construir 35 apartamentos y 49 chalet con un beneficio de 3603.83 u.m. * No se vende ningún apartamento adicional a los ya vendidos. * Se gasta todo el presupuesto disponible. * Un aumento de 1 u.m. en el presupuesto disponible repercutirá en un aumento de los beneficios de 6.8 u.m. * Una disminución de los apartamentos vendidos hubiera repercutido en un aumento de los beneficios de 5.4 u.m. por apartamento.

c) Si, el incremento de beneficios aproximado es de 50*6.8= 340 u.m.

PREGUNTA 5: VARIABLES X, Y, Z, F; POSITIVE VARIABLE X; Y.UP=60; Z.LO=3; X.L=0; Y.L=0; Z.L=15; EQUATIONS R1, R2, OBJ; R1.. POWER(X,2)+POWER(Y,2)-Z =L= 4; R2.. 2*X+3*Z =G= 40; OBJ.. F =E= 10*POWER(Z,3)-X*Y; MODEL TEST1 /ALL/; SOLVE TEST1 USING NLP MINIMIZING F;

S O L V E S U M M A R Y MODEL TEST1 OBJECTIVE F TYPE NLP DIRECTION MINIMIZE SOLVER CONO FROM LINE 10 LOWER LEVEL UPPER MARGINAL ---- EQU R1 -INF 4.000 4.000 -277.776 ---- EQU R2 40.000 40.000 +INF 1067.579 ---- EQU OBJ . . . 1.000 LOWER LEVEL UPPER MARGINAL ---- VAR X . 3.843 +INF . ---- VAR Y -INF 0.007 60.000 2.2826E-6 ---- VAR Z 3.000 10.771 +INF . ---- VAR F -INF 12496.317 +INF .

a) x*=3.843, y*=0.007, z* = 10.771, f*= 12496.317 b) λ1*= -277.776, λ2*=1067.579 c) La opción más interesante para cambios en idéntica magnitud es disminuir el término

independiente de la segunda restricción, ya que por cada unidad que disminuye el término independiente de la segunda restricción el valor de la función objetivo disminuye 1067.579 unidades, frente a la disminución de 277.776 si aumentamos en una unidad el término independiente de la primera.

Page 137: Apuntes Profesora Font

Material Complementario

137

ANEXO 5.- MODELO DE RESOLUCIÓN DE PROGRAMACIÓN LINEAL Y LINEAL ENTERA

1.- ENUNCIADO La empresa FERCA, S.A. se dedica a la fabricación de tres tipos de fertilizantes: tipo 1, 2 y 3, que envasa y vende en cajas de pesos diferentes con unos beneficios unitarios de 25, 30 y 35 u.m. respectivamente.

Los fertilizantes se elaboran a partir de tres componentes básicos (A, B y C) de forma que por caja: el tipo 1 contiene 10 Kg. de componente A, 20 Kg. de componente B y 18 Kg. de componente C; el tipo 2 requiere 13, 22 y 20 Kg. de componente A, B y C respectivamente; y el tipo 3 se fabrica con 18, 20 y 24 Kg. de componente A, B y C respectivamente.

La empresa dispone actualmente en el almacén de 2.324 Kg. de componente A, 2.550 Kg. de componente B y 1.568 Kg. de componente C.

Se pide:

a) Determinar el número de cajas de fertilizante (asumiendo que esta variable puede tomar un valor fraccional) que la empresa debe vender para maximizar su beneficio.

b) Bajo el supuesto del apartado (a) plantear y resolver el problema dual.

c) Determinar el número entero de cajas que maximiza el beneficio.

2.- MODELIZACIÓN Identificación de las variables:

La empresa FERCA, S.A. desea averiguar el número de cajas que debe vender de sus tres tipos de fertilizante, por tanto las variables son:

x1 número de cajas a fabricar y vender del fertilizante tipo 1

x2 número de cajas a fabricar y vender del fertilizante tipo 2

x3 número de cajas a fabricar y vender del fertilizante tipo 3.

Como x1, x2, x3 son cantidades a fabricar y vender serán cantidades positivas, esto es, exigiremos para las tres variables la condición de no negatividad. Además, como son cajas de producto en principio pueden considerarse dos posibilidades de venta: (i) que la empresa considere conveniente vender, dada la naturaleza del producto, facciones de caja en cuyo caso las variables x1, x2 y x3 podrán tomar cualquier valor real positivo (situación considerada en el apartado (a) y (b)), o (ii) que la empresa decida vender cajas enteras de fertilizante y en este caso sólo se admitan soluciones con x1, x2 y x3 variables enteras y positivas (situación considerada en el apartado (c)).

Función objetivo:

El objetivo que se persigue es maximizar el beneficio que vendrá dado, en función del número de cajas fabricadas y vendidas por la siguiente función lineal:

B(x1,x2,x3) = 25x1+30x2+35x3

Page 138: Apuntes Profesora Font

Material Complementario

138

Restricciones y conjunto de oportunidades:

Los beneficios de FERCA, S.A. están limitados por los recursos (limitados) en almacén de los componentes A, B y C que se precisan para fabricar las cajas de los tres tipos de fertilizante. Tenemos tres restricciones relativas a los tres componentes que se emplean en la fabricación de los fertilizantes que son:

Componente A: 10x1 + 13x2 + 18x3 ≤ 2.324

Componente B: 20x1 + 22x2 + 20x3 ≤ 2.550

Componente C: 18x1 + 20x2 + 24x3 ≤ 1.568

Como restricción adicional recordemos la condición de no negatividad de las variables x1, x2 y x3 para los planteamientos (i) y (ii), y la condición adicional de variables enteras para el planteamiento (ii).

El conjunto de oportunidades quedará definido en la alternativa (i) por:

{}0 x0, x0, x1.568,24x20x18x 550.2x20x2220x ,324.2x18x1310x :R)x,x,(xS

321321

3213213

321

≥≥≥≤++≤++≤++∈=

y en la alternativa (ii) por:

{}Nx,x, x1.568,24x20x18x

550.2x20x2220x ,324.2x18x1310x :R)x,x,(xS

321321

3213213

321e

∈≤++≤++≤++∈=

Modelo matemático:

Por todo lo anterior el problema queda descrito para resolver el apartado (a) y (b) (o alternativa (i)) en términos del siguiente programa lineal (en forma canónica):

0 x, x, x 568.1x24x2018x 550.2x20x2220x 324.2x18x1310x s.a.

35x30x25x)x,x,B(xMax

321

321

321

321

321321

≥≤++≤++≤++

++=

Y para resolver el apartado (c) (o alternativa (ii)) en términos del siguiente programa lineal entera:

N x, x, x 568.1x24x2018x 550.2x20x2220x 324.2x18x1310x s.a.

35x30x25x)x,x,B(xMax

321

321

321

321

321321

∈≤++≤++≤++

++=

Page 139: Apuntes Profesora Font

Material Complementario

139

3.- SOLUCIÓN DEL PROGRAMA LINEAL CON ORDENADOR

Después de generar el archivo CPLEX.OPT con las líneas:

objrng all

rhsrng all

y situarlo en el directorio de ejecución de GAMS, el fichero GAMS, que incluye solución y análisis de sensibilidad. En este fichero se incluye además la opción de ver el valor de las variables de holguras , es decir, se saber como se satisfacen las restricciones del problema (OPTION SOLSLACK = 1):

$ONTEXT PROBLEMA MODELO DE PROGRAMACIÓN LINEAL (apartado (a)) SOLUCIÓN DEL PROBLEMA (PRIMAL) CON ANÁLISIS DE SENSIBILIDAD ALUMNO ________________________________________ GRUPO _________ $OFFTEXT OPTION SOLSLACK = 1; *BLOQUE VARIABLES VARIABLES X1, X2, X3, B; POSITIVE VARIABLES X1, X2, X3; *BLOQUE ECUACIONES EQUATIONS BENEFICIO, COMP_A, COMP_B, COMP_C; BENEFICIO.. B =E= 25*X1+30*X2+35*X3; COMP_A.. 10*X1+13*X2+18*X3 =L= 2324; COMP_B.. 20*X1+22*X2+20*X3 =L= 2550; COMP_C.. 18*X1+20*X2+24*X3 =L= 1568; *BLOQUE MODELO MODEL LINEAL /ALL/; *BLOQUE SOLUCION OPTION LP=CPLEX; LINEAL.DICTFILE=4; LINEAL.OPTFILE=1; SOLVE LINEAL USING LP MAXIMIZING B;

Page 140: Apuntes Profesora Font

Material Complementario

140

Y la solución GAMS: S O L V E S U M M A R Y MODEL LINEAL OBJECTIVE B TYPE LP DIRECTION MAXIMIZE SOLVER CPLEX FROM LINE 23 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 2352.0000 RESOURCE USAGE, LIMIT 0.110 1000.000 ITERATION COUNT, LIMIT 3 10000 User supplied options: objrng all rhsrng all=2 Optimal solution found. Objective : 2352.000000 EQUATION NAME LOWER CURRENT UPPER ------------- ----- ------- ----- BENEFICIO -INF 0 +INF COMP_A 1019 2324 +INF COMP_B 1725 2550 +INF COMP_C 0 1568 2318 VARIABLE NAME LOWER CURRENT UPPER ------------- ----- ------- ----- X1 -INF 25 27 X2 29.1667 30 +INF X3 -INF 35 36 B 0 1 +INF LOWER SLACK UPPER MARGINAL ---- EQU BENEFICIO . . . 1.000 ---- EQU COMP_A -INF 1304.800 2324.000 . ---- EQU COMP_B -INF 825.200 2550.000 . ---- EQU COMP_C -INF . 1568.000 1.500 LOWER LEVEL UPPER MARGINAL ---- VAR X1 . . +INF -2.000 ---- VAR X2 . 78.400 +INF . ---- VAR X3 . . +INF -1.000 ---- VAR B -INF 2352.000 +INF .

Page 141: Apuntes Profesora Font

Material Complementario

141

4.- DISCUSIÓN DE LA SOLUCIÓN DEL PROGRAMA LINEAL Descripción de la solución:

De acuerdo con la salida de GAMS el programa lineal estandarizado se detiene en un máximo global definido por:

Variables principales: x1*=0, x2

*=78’4, x3*=0

Variables de holgura: s1*=1.304’8, s2

*=825’2, s3*=1.568−1.568=0

Y valor de la función objetivo en el óptimo igual a 2.352 u.m. ¿Es este máximo global único y por tanto estricto (solución vértice) o estamos ante un máximo global no estricto (solución arista finita o infinita)?, para verlo reconstruiremos la tabla del Simplex a partir de la columna marginal del GAMS. Como tenemos tres restricciones el número de variables básicas es asimismo tres, las variables básicas mirando el resumen superior (la solución factible básica contiene a lo sumo 3 componentes no negativas que corresponden a las básicas) y la columna marginal del GAMS (debe valer cero en las variables básicas) son: x2

*=78’4, s1*=1.304’8 y s2

*=825’2 con rendimientos marginales (Wj) asociados 0 y las no básicas son: x1

*=x3*=s3

*=0 con rendimientos marginales asociados –2, −1 y –1’5 respectivamente. Como los rendimientos de todas las variables no básicas son estrictamente negativos podemos concluir que la solución obtenida es única, y que la solución de vender 0 cajas del fertilizante tipo 1, 78’4 cajas del fertilizante tipo 2 y 0 cajas del fertilizante tipo 3 es un máximo global estricto (o solución vértice) del programa planteado.

Haciendo algunos cálculos adicionales podemos reconstruir toda la tabla óptima del Simplex:

25 30 35 0 0 0 x1 x2 x3 s1 s2 s3 b

30 x2 0’9 1 1’2 0 0 0’05 78’4 0 s1 −1’7 0 2’4 1 0 −0’65 1.304’8 0 s2 0’2 0 −6’4 0 1 −1’1 825’2 Wj −2 0 −1 0 0 −1’5 2.352

−−−−=

−−−−=→

−−=→

=→

=

2'8251'14'62'08'304.165'04'27'1

4'7805'02'19'0

5/412610/115/325/15/652420/135/1210/17

5/39220/15/610/9)b|N(B

10/111020/1301

20/100B

002010220113

B100242018010202220001181310

A

1

1

Interpretación de las variables principales:

La solución del problema es x1*=0, x2

*=78’4, x3*=0, esto es, vender 0 cajas del fertilizante tipo 1,

78.4 cajas del fertilizante tipo 2 y 0 cajas del fertilizante tipo 3.

Interpretación de las variables de holgura:

Las variables de holgura s1, s2 y s3 están asociadas a las restricciones de disponibilidad máxima (son restricciones ≤) de los componentes A, B y C respectivamente, y en consecuencia representan en el óptimo las cantidades no utilizadas de cada uno de los componentes a realizar la decisión óptima.

Page 142: Apuntes Profesora Font

Material Complementario

142

En consecuencia, de los 2.324 Kg iniciales de componente A quedan en el almacén sin utilizar s1

*=1.304’8 Kg., de los 2.550 Kg. iniciales de componente B quedan sin utilizar s2*=825’2 Kg., y se

consumen totalmente los 1.568 Kg. disponibles de componente C (s3*=0).

Interpretación de la columna MARGINAL del GAMS:

Los rendimientos marginales de las variables principales no básicas x1 y x3 (véase la columna MARGINAL del bloque de variables) son: W1

*= –2, W3*= −1 y representan la contribución en la

función objetivo de la decisión de vender cajas de fertilizantes del tipo 1 y 3 respectivamente. Concretamente, indican que si vendemos fertilizante del tipo 1 la función objetivo disminuirá en 2 u.m y si vendemos fertilizante del tipo 3 en 1 u.m.

El coste de oportunidad de la variable de holgura no básica s3 (véase la columna MARGINAL del bloque de ecuaciones) es: λ3=1’5 y su interpretación está directamente relacionada con la interpretación de las variables duales principales del problema. Por lo tanto, podemos decir que, si la empresa aumenta las disponibilidades en almacén en 1 Kg. más del componente C entonces su beneficio se incrementará en 1’5 u.m, y al contrario, si reduce su stock de componente C en 1 Kg. su beneficio disminuirá en 1’5 u.m. Identificación de las solución dual:

A partir de la solución que nos proporciona el GAMS podemos obtener también la solución del correspondiente problema dual; esta solución nos interesa fundamentalmente por la interpretación económica de las variables duales principales como precios sombra o costes de oportunidad (véase el segundo párrafo del apartado interpretación de la columna MARGINAL del GAMS).

La solución dual es:

Variables principales: λ1*=0, λ2

*=0, λ3*=1’5 (véase la columna MARGINAL de

ecuaciones)

Variables de holgura: λ1h*=2, λ2

h*= 0, λ3h*=1 (véase la columna MARGINAL cambiada

de signo de variables)

Interpretación de la función objetivo:

La función objetivo representa el beneficio que obtiene la empresa FERCA, S.A. al implementar la decisión óptima obtenida, en este caso: 2.352 u.m.

Intervalos de sensibilidad de los términos independientes:

Los intervalos de sensibilidad para b1, b2 y b3 se obtienen directamente del fichero de la solución, es decir, el rango entre los valores de LOWER y UPPER, por ejemplo para:

COMP_A 1019 2324 +INF

el intervalo en donde la solución se mantiene como óptima (considerando esto como el mantenimiento de las variables básicas, pero no su valor) es: [1.019, +∞).

Page 143: Apuntes Profesora Font

Material Complementario

143

Para las otras restricciones será de [1.725, +∞) para COMP-B y [0, 2.318] para COMP-C. Estos intervalos indican que la solución óptima obtenida sigue siendo valida si las existencias disponibles en el almacén del componente A no son inferiores a 1.019 Kg1., las existencias del componente B no son inferiores a 1.725 Kg. y las existencias del componente C están comprendidas entre los 0 y 2.318 Kg ambos inclusive2.

Intervalos de sensibilidad de los coeficientes de la función objetivo:

La obtención de los intervalos de sensibilidad de los coeficientes de la función objetivo se obtienen también directamente del fichero de la solución, es decir, el rango entre los valores de LOWER y UPPER.

, por ejemplo para sigue en proceso diferentes del que hemos visto anteriormente, ya que lo que nos proporciona el análisis de sensibilidad de CPLEX son los posibles incrementos y decrementos del coeficiente original. Es decir que para determinar el rango de variación hemos de aplicar la expresión, por ejemplo para:

X1 -INF 25 27

el intervalo en donde la solución se mantiene como óptima (no sólo en estructura sino también en valor, lo único que puede cambiar es el valor de la función objetivo en el óptimo) es: (−∞, 27]

Como los intervalos de sensibilidad indican entre qué valores puede variar un dato del problema (en este caso el coeficiente) de manera que el óptimo encontrado siga siendo válido diremos que: la solución óptima obtenida sigue siendo válida si el beneficio por fertilizante de tipo 1 no supera las 27 u.m por caja, el beneficio por caja de fertilizante de tipo 2 no baja de las 29’167 u.m., y el beneficio por caja de fertilizante tipo 3 no supera las 36 u.m. Al igual que en el caso anterior, el

1 Por ejemplo para el termino independiente de la primera restricción = 2000. La solución es:

LOWER SLACK UPPER MARGINAL ---- EQU BENEFICIO . . . 1.000 ---- EQU COMP_A -INF 980.800 2000.000 . ---- EQU COMP_B -INF 825.200 2550.000 . ---- EQU COMP_C -INF . 1568.000 1.500 LOWER LEVEL UPPER MARGINAL ---- VAR X1 . . +INF -2.000 ---- VAR X2 . 78.400 +INF . ---- VAR X3 . . +INF -1.000 ---- VAR B -INF 2352.000 +INF . 2 Por ejemplo para el termino independiente de la tercera restricción = 1100. La solución es:

LOWER SLACK UPPER MARGINAL ---- EQU BENEFICIO . . . 1.000 ---- EQU COMP_A -INF 1609.000 2324.000 . ---- EQU COMP_B -INF 1340.000 2550.000 . ---- EQU COMP_C -INF . 1100.000 1.500 LOWER LEVEL UPPER MARGINAL ---- VAR X1 . . +INF -1.000 ---- VAR X2 . 55.000 +INF . ---- VAR X3 . . +INF -1.000 ---- VAR B -INF 1650.000 +INF .

Page 144: Apuntes Profesora Font

Material Complementario

144

valor de algunos de los componentes de la solución pueden cambiar, por ejemplo, el valor de función objetivo puede verse alterada si cambia el coeficiente de alguna variable básica3.

Valores fuera del rango de sensibilidad

No siempre las posibles modificaciones coinciden dentro del intervalo de sensibilidad, y ello provoca que haya cambios en la solución. Estos cambios afectan tanto a las variables básicas como a su valor, y por ello la nueva solución tiene poco que ver con la anterior. No obstante, conviene señalar que para obtener la nueva solución GAMS no comienza a resolver el problema desde el principio sino que trata de aprovechar de solución actual y derivar de ella la solución correcta.

Consideremos el siguiente caso: El coeficiente del tipo 1, pasa de ser 25 a ser 28. El valor de 28, está fuera del rango de sensibilidad, con lo que el nuevo archivo GAMS será:

*BLOQUE VARIABLES VARIABLES X1, X2, X3, B; POSITIVE VARIABLES X1, X2, X3; *BLOQUE ECUACIONES EQUATIONS BENEFICIO, COMP_A, COMP_B, COMP_C; BENEFICIO.. B =E= 28*X1+30*X2+35*X3; COMP_A.. 10*X1+13*X2+18*X3 =L= 2324; COMP_B.. 20*X1+22*X2+20*X3 =L= 2550; COMP_C.. 18*X1+20*X2+24*X3 =L= 1568; *BLOQUE MODELO MODEL LINEAL /ALL/; *BLOQUE SOLUCION SOLVE LINEAL USING LP MAXIMIZING B;

Y la solución:

LOWER LEVEL UPPER MARGINAL ---- EQU BENEFICIO . . . 1.000 ---- EQU COMP_A -INF 871.111 2324.000 . ---- EQU COMP_B -INF 1742.222 2550.000 . ---- EQU COMP_C -INF 1568.000 1568.000 1.556 LOWER LEVEL UPPER MARGINAL ---- VAR X1 . 87.111 +INF . ---- VAR X2 . . +INF -1.111 ---- VAR X3 . . +INF -2.333 ---- VAR B -INF 2439.111 +INF .

3 Por ejemplo si cambia el coeficiente del tipo 2, es decir, pasa de ser 30 a ser 33. La nueva solución es: LOWER SLACK UPPER MARGINAL ---- EQU BENEFICIO . . . 1.000 ---- EQU COMP_A -INF 1304.800 2324.000 . ---- EQU COMP_B -INF 825.200 2550.000 . ---- EQU COMP_C -INF . 1568.000 1.650 LOWER LEVEL UPPER MARGINAL ---- VAR X1 . . +INF -4.700 ---- VAR X2 . 78.400 +INF . ---- VAR X3 . . +INF -4.600 ---- VAR B -INF 2587.200 +INF .

Page 145: Apuntes Profesora Font

Material Complementario

145

5.- PLANTEAMIENTO Y RESOLUCIÓN DEL PROBLEMA DUAL

Planteamiento del problema dual:

Problema Primal (véase apartado 2):

0 x, x, x 568.1x24x2018x 550.2x20x2220x 324.2x18x1310x s.a.

35x30x25x)x,x,B(xMax

321

321

321

321

321321

≥≤++≤++≤++

++=

Problema Dual simétrico*:

0,, 35242018 30202213 25182010 s.a.

568.1550.22.324Min

321

321

321

321

321

≥λλλ≥λ+λ+λ≥λ+λ+λ≥λ+λ+λ

λ+λ+λ

*El problema dual se obtiene aplicando la tabla de Tucker sobre el problema primal.

El problema dual reformulado en su forma estándar es:

0λ,λ,λ,λ,λ,λ

35λ24λ20λ18λ

30λ20λ22λ13λ

25λ18λ20λ10λ s.a.

1.568λ2.550λ2.324λMin

h3

h2

h1321

h3321

h2321

h1321

321

=+++

=+++

=+++

++

Solución con GAMS del problema dual:

Y el fichero GAMS para la resolución del problema dual es: $ONTEXT PROBLEMA MODELO DE PROGRAMACIÓN LINEAL (apartado (b)) SOLUCIÓN DEL PROBLEMA DUAL ALUMNO ________________________________________ GRUPO _________ $OFFTEXT *BLOQUE VARIABLES VARIABLES Y1, Y2, Y3, G; POSITIVE VARIABLES Y1, Y2, Y3; *BLOQUE ECUACIONES EQUATIONS OBJD, R1D, R2D, R3D; OBJD.. G =E= 2324*Y1+2550*Y2+1568*Y3; R1D.. 10*Y1+20*Y2+18*Y3 =G= 25; R2D.. 13*Y1+22*Y2+20*Y3 =G= 30; R3D.. 18*Y1+20*Y2+24*Y3 =G= 35; *BLOQUE MODELO MODEL DUAL /ALL/; *BLOQUE SOLUCION OPTION LP=CPLEX; SOLVE DUAL USING LP MINIMIZING G;

Page 146: Apuntes Profesora Font

Material Complementario

146

Y la solución GAMS: S O L V E S U M M A R Y MODEL DUAL OBJECTIVE G TYPE LP DIRECTION MINIMIZE SOLVER CPLEX FROM LINE 26 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 2352.0000 LOWER LEVEL UPPER MARGINAL ---- EQU OBJD . . . 1.000 ---- EQU R1D 25.000 27.000 +INF . ---- EQU R2D 30.000 30.000 +INF 78.400 ---- EQU R3D 35.000 36.000 +INF . LOWER LEVEL UPPER MARGINAL ---- VAR Y1 . . +INF 1304.800 ---- VAR Y2 . . +INF 825.200 ---- VAR Y3 . 1.500 +INF . ---- VAR G -INF 2352.000 +INF . **** REPORT SUMMARY : 0 NONOPT 0 INFEASIBLE 0 UNBOUNDED

Discusión de la solución del problema dual:

De acuerdo con la salida de GAMS el programa dual en formato maximizar estandarizado se detiene en un máximo global definido por:

Variables principales: λ1*=0, λ2

*=0, λ3*=1’5

Variables de holgura: λ1h*= 27−25=2, λ2

h*=0, λ3h*= 36−35=1

Función objetivo: 2.352

Además, la solución es única porque los rendimientos marginales asociados a las variables no básicas (λ1, λ2 y λ2

h) son estrictamente positivos (1.304’8, 825’2 y 78’4 respectivamente). Este resultado de unicidad era conocido de antemano, por los teoremas de dualidad. Los elementos de la tabla óptima de Simplex del problema que podemos identificar desde el GAMS son (los restantes se pueden generar realizando algunas operaciones algebraicas -véase primer subapartado del apartado 4):

2.324 2.550 1.568 0 0 0 λ1 λ2 λ3 λ1

h λ2h λ3

h bdual 1.568 λ3 1 0 0 1’5

0 λ1h 0 1 0 2

0 λ3h 0 0 1 1

Wjdual 1.304’8 825’2 0 0 78’4 0 2.352

Y, recordando que la solución del problema primal coincide para las variables principales con los rendimientos marginales de las variables duales holgura y para las variables de holgura con los rendimientos marginales de las variables duales principales, se tiene la siguiente solución del

Page 147: Apuntes Profesora Font

Material Complementario

147

primal: x1*=0, x2

*=78’4, x3*=0 (véase la columna MARGINAL de ecuaciones), s1

*=1.304’8, s2

*=825’2, s3*=0 (véase la columna MARGINAL de variables).

6.- SOLUCIÓN DEL PROGRAMA LINEAL ENTERO CON ORDENADOR Solucionaremos ahora el problema lineal entero que planteábamos en el apartado 2 para solucionar la alternativa de venta ii y la pregunta (c) del enunciado. El archivo GAMS es: $ONTEXT PROBLEMA MODELO DE PROGRAMACIÓN LINEAL ENTERA(apartado (c)) ALUMNO ________________________________________ GRUPO _________ $OFFTEXT *BLOQUE VARIABLES VARIABLES X1, X2, X3, B; INTEGER VARIABLES X1, X2, X3; *BLOQUE ECUACIONES EQUATIONS BENEFICIO, COMP_A, COMP_B, COMP_C; BENEFICIO.. B =E= 25*X1+30*X2+35*X3; COMP_A.. 10*X1+13*X2+18*X3 =L= 2324; COMP_B.. 20*X1+22*X2+20*X3 =L= 2550; COMP_C.. 18*X1+20*X2+24*X3 =L= 1568; *BLOQUE MODELO MODEL LINEALE /ALL/; *BLOQUE SOLUCION OPTION MIP=OSL; OPTION OPTCR=0.00001; SOLVE LINEALE USING MIP MAXIMIZING B;

Notemos que para garantizar que la solución que obtenga el GAMS sea óptima se ha introducido una cota máxima de 100 cajas para las tres variables enteras (la solución de las variables principales del problema lineal son 0, 78’4, 0 para los tipos de fertilizante 1, 2 y 3 respectivamente). Se trata de una condición que introduce GAMS directamente de forma que evita tener que hacer muchas ramificaciones. No obstante si consideramos que el valor que pueden tomar la variables es superior, basta con introducir una cota “artificial”, por ejemplo: X1.UP= 100000 para que desaparezca la fijada por GAMS.

Asimismo hemos reducido el criterio relativo de optimalidad4 del programa para la resolución de problemas de programación lineal entera.

La solución GAMS óptima es:

S O L V E S U M M A R Y MODEL LINEALE OBJECTIVE B TYPE MIP DIRECTION MAXIMIZE SOLVER OSL FROM LINE 30 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 2350.0000 LOWER LEVEL UPPER MARGINAL ---- EQU BENEFICIO . . . 1.000 ---- EQU COMP_A -INF 1024.000 2324.000 . ---- EQU COMP_B -INF 1712.000 2550.000 . ---- EQU COMP_C -INF 1568.000 1568.000 1.500

4 Si no se fija explícitamente el criterio de optimalidad GAMS lo fija en 0,1, es decir, en el 10 por ciento de la diferencia de la mejor solución posible, que por lo general es la solución del Programa Lineal

Page 148: Apuntes Profesora Font

Material Complementario

148

LOWER LEVEL UPPER MARGINAL ---- VAR X1 . . 100.000 -2.000 ---- VAR X2 . 76.000 100.000 EPS ---- VAR X3 . 2.000 100.000 -1.000 ---- VAR B -INF 2350.000 +INF . **** REPORT SUMMARY : 0 NONOPT 0 INFEASIBLE 0 UNBOUNDED

7.- DISCUSIÓN DE LA SOLUCIÓN DEL PROGRAMA LINEAL ENTERO Interpretación de la solución:

Según la solución entera proporcionada por el GAMS, se venderán 0 cajas de fertilizante tipo 1, 76 cajas del fertilizante tipo 2 y 2 cajas del fertilizante tipo 3. Para implementar esta solución se consumirá todo el componente C disponible en almacén, 1.024 Kg. del componente A (quedarán en almacén 1.300 Kg.) y 1.712 Kg. del componente B (quedarán en almacén 838 Kg.).

Interpretación de la función objetivo:

La función objetivo representa el beneficio que obtiene la empresa FERCA, S.A. al implementar la decisión óptima obtenida, en este caso: 2.350 u.m. (Nótese que la solución entera representa un sacrificio de 2 u.m. de beneficio respecto a la no entera.)

8.- CONTESTACIÓN A LAS PREGUNTAS PROPUESTAS a) Determinar el número de cajas de fertilizante (asumiendo que esta variable puede tomar un

valor fraccional) que la empresa debe vender para maximizar su beneficio.

La solución del problema es x1*=0, x2

*=78’4, x3*=0, esto es, vender 0 cajas del fertilizante tipo

1, 78.4 cajas del fertilizante tipo 2 y 0 cajas del fertilizante tipo 3 con un beneficio en el máximo de 2.352 u.m. (véanse apartados 2, 3 y 4)

b) Bajo el supuesto del apartado (a) plantear y resolver el problema dual.

El problema dual es:

0,, 35242018 30202213 25182010 s.a.

568.1550.22.324Min

321

321

321

321

321

≥λλλ≥λ+λ+λ≥λ+λ+λ≥λ+λ+λ

λ+λ+λ

Y su solución óptima: λ1*=0, λ2

*=0, λ3*=1’5, λ1

h*= 2, λ2h*=0, λ3

h*= 1 con un valor objetivo en el mínimo de 2.352 u.m. (véase el apartado 5).

c) Determinar el número entero de cajas que maximiza el beneficio.

La solución del problema lineal entero es vender 0 cajas de fertilizante tipo 1, 76 cajas del fertilizante tipo 2 y 2 cajas del fertilizante tipo 3 con un beneficio máximo de 2.350 u.m.

Page 149: Apuntes Profesora Font

Material Complementario

149

ANEXO 6: Respuestas del TEST 2

PREGUNTA 1:

a) El problema dual es:

libre 0, 1 1 22 s.a.

Max

ηληηληλ

λ

≥≤≥+≥+

b) Gráficamente,

Por tanto, el problema dual es no acotado y el primal es infactible.

PREGUNTA 2:

a) El problema en formato estándar es:

0 s z, y, x, 2s z+y 4= z+y+ xs.a.

3y+2xMax

≥=+

( )0032c

,24

b ,11100111

A

=

=

=

Por tanto, podemos obtener fácilmente una tabla inicial tomando como variables básicas x y s (que tienen asociada a la base identidad). La tabla inicial será:

b) La solución óptima del problema es: x=2, y=2, z=0, s=0, F=10. Las variables básicas son x e y, y las no básicas z y s. Esta solución es un óptimo global único porque los rendimientos marginales de todas las variables son negativos o cero (condición de óptimo en maximizar) y los de las variables no básicas estrictamente negativos (condición de solución única). Los rendimientos de las variables no básicas son: -3 y –1 respectivamente y quieren decir que: si z se hace positivo por cada unidad que incrementemos z la función objetivo disminuirá en 3 unidades, y que si aumentamos la segunda restricción (b2=2) por cada unidad que la aumentemos la función crecerá 1 unidad (-1 es el rendimiento marginal de s y , desde la interpretación del dual, el multiplicador de K-T asociado a la segunda restricción.).

Page 150: Apuntes Profesora Font

Material Complementario

150

c) La base asociada a la solución óptima, su inversa y el intervalo de sensibilidad se obtienen a partir de:

4b 0

0b

b4b4

1011

b4

B1011

B1011

1001

1001

1011

2

2

2

22

11

≤≤→

−=

−=

−=→

−−

d) A partir de la tabla óptima:

La solución anterior sigue siendo óptima con el mismo valor de la función objetivo en el óptimo, pero ahora la solución no es única (hay un rendimiento marginal no básico igual a cero), hay infinitas soluciones (solución arista finita).

e) Modificando la tabla óptima, teniendo en cuenta que:

=

−=

12

13

1011

1a

B 131

llegamos a la tabla no óptima ni final siguiente e iterando a una nueva solución óptima:

La nueva solución óptima y única es: x=0, y=1, z=1, s=0, F=11.

PREGUNTA 3:

a) Si denotamos por Mi (i=1,2,3) a las unidades a fabricar de cada modelo de carrocería, el problema a resolver es:

0 M3 M2, M1, 300,0.02M30.03M20.03M1 450004M35M26M1 600, 0.04M30.03M20.04M1

10000.04M30.04M20.05M1 500,0.01M30.04M20.02M1 s.a.50M385M270M1 BMax

≥≤++≤++≤++

≤++≤++++=

b) M1=0, M2=9000, M3=0, B=765000 u.m.

c) En ninguna sección se consumen todas las horas disponibles. En la sección corte restan s1=500-360=140 horas, en la sección ensamblado s2=600-270=330 horas, en la sección pintura s3=300-270=30 horas, y en la sección montaje s4=1000-360=640 horas.

Page 151: Apuntes Profesora Font

Material Complementario

151

d) El intervalo de sensibilidad para el coeficiente de beneficios del modelo 2 es: [62.5, ∞).

e) A partir del marginal de la ecuación chapa sabemos que (a igualdad de costos) 5000 m2 adicionales supondrán un aumento aproximado del beneficio de 17*5000=85000 u.m. Como este aumento del beneficio supera los costes adicionales de 79000 u.m., a la empresa le interesará aceptar la oferta con un beneficio final adicional aproximado de 85000-79000=6000 u.m.

Por otra parte, 5000 m2 más de chapa supone tener en el almacén 45000+5000=50000 m2 de chapa. El valor 50000 pertenece al intervalo de sensibilidad del término independiente chapa que es: [0,50000], y por tanto la estrategia de fabricar únicamente el modelo 2 seguirá siendo óptima (aunque no la cantidad calculada en esta salida).

PREGUNTA 4:

a) Si denotamos por Xi a la cantidad en euros invertida en el activo i (i=1,...,6), el problema a resolver es:

0X6X5,X4, X3, X2, X1, )X6X5X4X3X2X1()3.0(X5X4

150000)3.0(X3X2X1 150000(0.6) X4X2X1

150000X6X5X4X3X2X1 s.a.X60.18X50.11X40.04 X30.16X20.06X10.04 RMax

≥+++++⋅≥+

⋅≤++⋅≤++

≤+++++⋅+⋅+⋅+⋅+⋅+⋅=

0X6X5,X4, X3, X2, X1, 0X60.3X57.0X40.7-X30.3X20.3X10.3

00045X3X2X1 90000 X4X2X1

150000X6X5X4X3X2X1 s.a.X60.18X50.11X40.04 X30.16X20.06X10.04 RMax

≥≤⋅+⋅−⋅⋅+⋅+⋅

≤++≤++

≤+++++⋅+⋅+⋅+⋅+⋅+⋅=

c) X1, X2, X3, X4=0, X5=45000, X6=105000, se invierten 150000€, la inversión en renta fija y en la zona euro es de 0€ y en EEUU de 45000€, el interés que percibirá es de 23850€.

La última tabla del Simplex es:

0.04 0.06 0.16 0.04 0.11 0.18 0 0 0 0 X1 X2 X3 X4 X5 X6 H1 H2 H3 H4

0.11 X5 0 0 0 1 1 0 0.3 0 0 -1 45000 0.18 X6 1 1 1 0 0 1 0.7 0 0 1 105000

0 H2 1 1 0 1 0 0 0 1 0 0 90000 0 H3 1 1 1 0 0 0 0 0 1 0 45000 Wj -0.14 -0.12 -0.027 -

0.07 0 0 -0.159 0 0 -0.07 23850

La solución obtenida es global y única porque el rendimiento marginal de las variables no básicas es estrictamente negativo.

d) El problema dual es:

0Y4 Y3, Y2,Y1, 0.18Y40.3Y1 0.11, Y47.0Y1

0.04Y47.0Y2Y1 0.16, Y40.3 Y3Y1 0.06Y40.3Y3Y2Y1 ,04.0Y40.3Y3Y2Y1 s.a.

Y345000Y290000Y1150000Min

≥≥⋅+≥⋅−

≥⋅−+≥⋅++≥⋅+++≥⋅+++

⋅+⋅+⋅

La solución del problema dual (columna MARGINAL del GAMS) es: Y1=0.159, Y2=Y3=0, Y4=0.07, y la función dual en el óptimo vale 23850. (El problema dual tiene asimismo una única solución óptima.)

e) El intervalo de sensibilidad para el coeficiente del activo 6 es: [0.15545,∞), esto es, se deja de invertir en este activo para rentabilidades inferiores al 15.545%.

Page 152: Apuntes Profesora Font

Material Complementario

152

ANEXO 7: MODELO DE RESOLUCIÓN DE PROGRAMACIÓN LINEAL ENTERA

1.- ENUNCIADO

Un bufete de abogados ha aceptado cinco nuevos casos, cada uno de los cuales puede ser llevado adecuadamente por cualquiera de los cinco asociados más recientes. Debido a la diferencia en experiencia y práctica, los abogados emplearán distintos tiempos en sus casos. Uno de los asociados más experimentados ha estimado las necesidades de tiempo (en horas) como sigue:

Caso 1 Caso 2 Caso 3 Caso 4 Caso 5 Abogado 1 145 122 130 95 115 Abogado 2 80 63 85 48 78 Abogado 3 121 107 93 69 95 Abogado 4 118 83 116 80 105 Abogado 5 97 75 120 80 111

Determinar la forma óptima de asignar los casos a los abogados, de manera que cada uno de ellos se dedique a un caso diferente y que el tiempo total de horas empleadas sea mínimo.

2.- MODELIZACIÓN

Identificación de variables:

Este problema se puede modelizar como un problema de asignación. Puesto que se trata de decidir qué abogado llevará cada caso, definimos xij que valdrá 1 si el abogado i es asignado al caso j y 0

en caso contrario, donde i, j=1,...,5. Estas 25 variables son las variables principales del problema y nos indicarán que decisión tomar.

Función objetivo:

Nuestro objetivo es asignar óptimamente los abogados a los casos (o viceversa) siendo obvio que una asignación es mejor que otra si el número total de horas dedicadas a la preparación de los casos es menor. Por ello, la función objetivo debe representar el número de horas que los cinco abogados utilizan para preparar los cinco casos.

Si supiésemos a priori qué abogado prepara cada caso, sumaríamos las horas empleadas por los cinco y obtendríamos el tiempo total. Sin embargo, esto es precisamente lo que trata de resolver nuestro problema. Por ello, para poder plantear la función de tiempo total correctamente debemos razonar del siguiente modo: si el abogado 1 tiene que preparar el caso 1 empleará 145 horas mientras que si no tiene que prepararlo no empleará ninguna, es decir, empleará 0 horas. Según hemos definido las variables xij, podemos representar matemáticamente esta afirmación verbal con

la expresión 145xij . Repitiendo el mismo razonamiento para cada abogado y para cada caso,

llegamos a la conclusión de que la función objetivo es

Horas = 145x11 + 122x12 + 130x13 + 95x14 + 115x15 +

80x21 + 63x22 + 85x23 + 48x24 + 78x25 +

121x31 + 107x32 + 93x33 + 69x34 + 95x35 +

118x41 + 83x42 + 116x43 + 80x44 + 105x45 +

97x51 + 75x52 + 120x53 + 80x54 + 111x55

Page 153: Apuntes Profesora Font

Material Complementario

153

Conjunto de oportunidades:

Las restricciones del problema surgen porque se exige que cada abogado se dedique a un caso diferente. Si el abogado 1 sólo puede llevar un caso, debe ocurrir que una, y sólo una, de las variables x1j , j=1,...,5, valga 1, mientras que las otras cuatro deberán valer cero. Esta condición

puede representarse por la ecuación:

x11 + x12 + x13 + x14 + x15 = 1

Para el abogado 2, tendremos que:

x21 + x22 + x23 + x24 + x25 = 1

Y así sucesivamente para los abogados 3, 4 y 5.

Además, estas restricciones, junto con el hecho de que hay tantos abogados como casos, implican necesariamente que cada caso sólo puede ser preparado por un abogado. Por tanto, para el caso 1 exigiremos que:

x11 + x21 + x31 + x41 + x51 = 1

Y así sucesivamente para los casos 2, 3, 4 y 5.

Por último, no debemos olvidar que las condiciones que indican que las variables son binarias, xij

∈ {0,1}, también deben incluirse en el conjunto de oportunidades. No añadimos condiciones de no negatividad porque, en este caso, serían redundantes.

Modelo matemático:

Min Horas = 145x11 + 122x12 + 130x13 + 95x14 + 115x15 +

80x21 + 63x22 + 85x23 + 48x24 + 78x25 +

121x31 + 107x32 + 93x33 + 69x34 + 95x35 +

118x41 + 83x42 + 116x43 + 80x44 + 105x45 +

97x51 + 75x52 + 120x53 + 80x54 + 111x55

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

x11 + x21 + x31 + x41 + x51 = 1

x12 + x22 + x32 + x42 + x52 = 1

x13 + x23 + x33 + x43 + x53 = 1

x14 + x24 + x34 + x44 + x54 = 1

x15 + x25 + x35 + x45 + x55 = 1

xij ∈ {0,1} , i,j = 1,...,5

Page 154: Apuntes Profesora Font

Material Complementario

154

3.- SOLUCIÓN DEL MODELO DE PROGRAMACIÓN LINEAL ENTERA El fichero GMS es:

* MODELO DE PROGRAMACION LINEAL ENTERA VARIABLES Z; BINARY VARIABLES X11, X12, X13, X14, X15, X21, X22, X23, X24, X25, X31, X32, X33, X34, X35, X41, X42, X43, X44, X45, X51, X52, X53, X54, X55; EQUATIONS OBJ, A1, A2, A3, A4, A5, C1, C2, C3, C4, C5; OBJ.. Z =E=145*X11 + 122*X12 + 130*X13 + 95*X14 + 115*X15 + 80*X21 + 63*X22 + 85*X23 + 48*X24 + 78*X25 + 121*X31 + 107*X32 + 93*X33 + 69*X34 + 95*X35 + 118*X41 + 83*X42 + 116*X43 + 80*X44 + 105*X45 + 97*X51 + 75*X52 + 120*X53 + 80*X54 + 111*X55; A1.. X11 + X12 + X13 + X14 + X15 =E= 1; A2.. X21 + X22 + X23 + X24 + X25 =E= 1; A3.. X31 + X32 + X33 + X34 + X35 =E= 1; A4.. X41 + X42 + X43 + X44 + X45 =E= 1; A5.. X51 + X52 + X53 + X54 + X55 =E= 1; C1.. X11 + X21 + X31 + X41 + X51 =E= 1; C2.. X12 + X22 + X32 + X42 + X52 =E= 1; C3.. X13 + X23 + X33 + X43 + X53 =E= 1; C4.. X14 + X24 + X34 + X44 + X54 =E= 1; C5.. X15 + X25 + X35 + X45 + X55 =E= 1; MODEL ABOGADOS /ALL/ SOLVE ABOGADOS USING MIP MINIMIZING Z;

La solución es:

S O L V E S U M M A R Y MODEL ABOGADOS OBJECTIVE Z TYPE MIP DIRECTION MINIMIZE SOLVER OSL FROM LINE 29 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 436.0000

Page 155: Apuntes Profesora Font

Material Complementario

155

LOWER LEVEL UPPER MARGINAL ---- EQU OBJ . . . 1.000 ---- EQU A1 1.000 1.000 1.000 43.000 ---- EQU A2 1.000 1.000 1.000 . ---- EQU A3 1.000 1.000 1.000 17.000 ---- EQU A4 1.000 1.000 1.000 25.000 ---- EQU A5 1.000 1.000 1.000 17.000 ---- EQU C1 1.000 1.000 1.000 80.000 ---- EQU C2 1.000 1.000 1.000 58.000 ---- EQU C3 1.000 1.000 1.000 76.000 ---- EQU C4 1.000 1.000 1.000 52.000 ---- EQU C5 1.000 1.000 1.000 78.000 LOWER LEVEL UPPER MARGINAL ---- VAR Z -INF 436.000 +INF . ---- VAR X11 . . 1.000 22.000 ---- VAR X12 . . 1.000 21.000 ---- VAR X13 . . 1.000 11.000 ---- VAR X14 . . 1.000 EPS ---- VAR X15 . 1.000 1.000 -6.000 ---- VAR X21 . . 1.000 EPS ---- VAR X22 . . 1.000 5.000 ---- VAR X23 . . 1.000 9.000 ---- VAR X24 . 1.000 1.000 -4.000 ---- VAR X25 . . 1.000 EPS ---- VAR X31 . . 1.000 24.000 ---- VAR X32 . . 1.000 32.000 ---- VAR X33 . 1.000 1.000 EPS ---- VAR X34 . . 1.000 EPS ---- VAR X35 . . 1.000 EPS ---- VAR X41 . . 1.000 13.000 ---- VAR X42 . 1.000 1.000 EPS ---- VAR X43 . . 1.000 15.000 ---- VAR X44 . . 1.000 3.000 ---- VAR X45 . . 1.000 2.000 ---- VAR X51 . 1.000 1.000 EPS ---- VAR X52 . . 1.000 EPS ---- VAR X53 . . 1.000 27.000 ---- VAR X54 . . 1.000 11.000 ---- VAR X55 . . 1.000 16.000

4.- DISCUSIÓN DE LA SOLUCIÓN DEL PROBLEMA LINEAL ENTERO Interpretación de las variables principales:

Según la solución que nos proporciona GAMS, tenemos que x11 = 0, lo cual significa que el

abogado 1 no llevará el caso 1. Tampoco llevará los casos 2, 3 y 4 puesto que x12=x13=x14=0.

Pero como x15 = 1, el abogado 1 llevará el caso 5. El resto de las variables se interpreta de forma

análoga.

Resumiendo, el abogado 1 preparará el caso 5, el abogado 2 el 4, el abogado 3 el 3, el abogado 4 el 2 y el abogado 5 el 1.

Interpretación de la función objetivo:

La función objetivo representa el número total de horas invertidas en la preparación de los cinco casos. El bufete de abogados empleará un total de 436 horas.

Page 156: Apuntes Profesora Font

Material Complementario

156

ANEXO 8: Respuestas del TEST 3

PREGUNTA 1:

a) El objetivo del problema es de maximización porque al añadir restricciones al problema lineal asociado el valor de la función objetivo en el óptimo disminuye.

b) Véase el árbol adjunto.

c) Si se ha llegado al óptimo porque todos los nodos están saturados y hemos obtenido una solución entera. Las razones de saturación de cada nodo están escritas en el árbol adjunto. La solución entera óptima es x*=0, y*=76, z*=2, con valor óptimo de 2350.

d) Nodo 1.2: PLA+(y≤78,z ≥1); Nodo 1.1.1:PLA+(y≤78, z≤0, x≤0);

Nodo 1.2.1.2.1: PLA+(y≤78,z ≥1, y≤77, z≤1, x ≥1)

(Nota:- PLA=Problema Lineal Asociado)

PREGUNTA 2:

a) Si denotamos por x, y al número de aviones y coches a fabricar respectivamente, el problema que tenemos que resolver es:

+∈≥

≤+≤+

+

Zy x,0,y x,

30y 2x 453y2x s.a.

4y3xMax

b) Véase el árbol adjunto.

c) No se ha llegado a un óptimo, porque los nodos 2 y 1.1 no están saturados. Podemos proseguir el proceso de ramificación por cualquiera de los dos nodos pero siguiendo las indicaciones del ejercicio seguiremos por el 1.1 porque es el que tiene un valor de la función objetivo mayor y estamos maximizando.

Page 157: Apuntes Profesora Font

Material Complementario

157

Los primeros dos problemas a resolver son:

0y x,8,y 10 x 8,y 30y 2x 45,3y2x s.a.

4y3xMax

≥≤≤≥

≤+≤++

1.1.1 Nodo

0y x,9,y 10 x 8,y 30y 2x 45,3y2x s.a.

4y3xMax

≥≥≤≥

≤+≤++

1.1.2 Nodo

Observa que el problema 1.1.1 implica que y*=8, con lo que el problema a resolver es:

Max 3x+32, s.a. 2x ≤ 21, 2x ≤ 22, x ≤ 10, x ≥ 0 Max 3x+32, s.a. x ≤ 10, x ≥ 0 x*=10, z*=62

Resumiendo, la solución de 1.1.1 es x*=10, y*=8, z*=62 Nodo saturado por solución entera.

El problema 1.1.2 no permite tanta simplificación y queda de la forma:

Max 3x+4y s.a. 2x+3y ≤ 45 2x+y ≤ 30, y ≥ 9, x ≤ 10, x ≥ 0

Gráficamente, la solución satisface que: 2x+3y=45, y=9 2x=18, y=9 x*=9, y*=9 z*=63

Resumiendo, la solución de 1.1.2 es x*=9, y*=9, z*=63 Nodo saturado por solución entera. Además, la solución de 1.1.2 es la mejor solución entera por el momento y sirve para establecer la cota. Y como en el nodo 2, el valor de la función objetivo en el óptimo es 62.5, es decir peor que la cota, concluimos que el nodo 2 esta saturado por acotación. No queda ninguna rama por saturar y concluimos que la solución óptima del problema entero es x*=9, y*=9, z*=63

d) Nodo 1.2: Max 3x+4y, s.a. 2x+3y ≤ 45, 2x+y ≤ 30, y ≥ 8, x ≥ 11.

Page 158: Apuntes Profesora Font

Material Complementario

158

PREGUNTA 3:

a) La solución óptima y única (los rendimientos de las variables no básicas son: -0.05, -0.1 y –0.05, esto es estrictamente negativos) del problema lineal asociado es: x*=25.33, y*=13.33, z*=8.33, con un valor de la función objetivo en el óptimo igual a 47.

La columna MARGINAL recoge en el bloque de variables los rendimientos marginales de las mismas, como todas las variables principales están en la base estos rendimientos son iguales a cero. Esta misma columna recoge en el bloque de ecuaciones la solución dual del problema (que en este caso –primal canónico− coincide con los rendimientos cambiados de signo de las variables de holgura) que es λ*=0.05, µ*=0.1, ρ*=0.05 con un valor de la función objetivo en el óptimo dual igual a 47.

b) La solución del problema lineal entero planteado es: x*=25, y*=13, z*=8.875, f*=46.875. (Para obtener el óptimo se necesita introducir en el archivo de programa la línea: option optcr=0.0001;)

PREGUNTA 4:

a) El planteamiento matemático del problema es:

{ } +∈∈≥

≤⋅+⋅+⋅+⋅+⋅⋅+⋅+⋅+⋅+⋅

ZP4 P2, ,0,1P5 P1, 0,P5 P4, P3, P2, P1,

500000P5300000P450000P30.75P225P1450000 s.a.P550000P46000P30.08P23P140000Max

donde P1 y P5 son variables binarias que toman el valor 1 cuando se hace la inversión 1 o 2 respectivamente y 0 en otro caso; P2 y P4 son variables enteras que indican el número de acciones a adquirir en la empresa de Telecomunicaciones o número de vehículos a adquirir con objeto de alquiler respectivamente, y P3 es una variable continua que indica el número de litros de gasóleo a adquirir.

El problema planteado es un problema lineal entero mixto y de tipo codificado.

c) La inversión óptima es: adquirir la avioneta y con el presupuesto restante (el presupuesto disponible se agota totalmente) comprar 4 coches para alquilar. El rendimiento óptimo de esta solución es de 74000€.

(Nota.- Para solucionar correctamente el problema entero se debe poner: P2.UP=20000; ya que con 500000€ podemos comprar –si sólo compramos acciones- hasta 20000 acciones, y la cota por defecto de 100 del GAMS elimina muchas soluciones posibles del problema que podrían ser óptimas)

Page 159: Apuntes Profesora Font

Material Complementario

159

ANEXO 9: Exámenes oficiales de la asignatura “Programación Matemática” celebrados en la

Universidad de Valencia durante el curso 2003-04

Nota Importante.- Todos los exámenes incluyen dos partes: una parte escrita que se resuelve en el aula normal (incluye las preguntas teórico-prácticas y el planteamiento del problema) que vale 7.5 y una parte de ordenador (que incluye la resolución e interpretación completa de un problema planteado) que se resuelve en aula informática y vale 2.5 puntos.

Page 160: Apuntes Profesora Font

Material Complementario

160

PROGRAMACIÓN MATEMÁTICA (1ª Convocatoria) 02/02/04 LICENCIATURAS EN ADE Y ECO APELLIDOS ………………………………………….. NOMBRE …..……………….

1.- (1.5 puntos.) Consideremos el problema de programación no lineal:

0 x 1 y- x

1 1)-(y+ xs.a.y x-Max

22

2

≥+≥

+

Se pide: a) Demuestra que el punto (0, 2) es un punto de Kuhn y Tucker. Calcula los multiplicadores

asociados. b) Comprueba que (0, 2) es un punto regular. c) Verifica que se cumplen las hipótesis del teorema de suficiencia de Kuhn y Tucker. 2.- (1 punto.) a) Enuncia el teorema de Weierstrass. b) Justifica que en programación lineal todos los óptimos (si existen) son globales. 3.- (1 punto.) Considera el problema:

0 y x, 22y x 4y x 3y - x s.a.

5y 2xMax

≥≥+=+≤

+

Se pide: a) Construye la primera tabla del Simplex. b) Enuncia el problema dual. 4.- (2 puntos.) Un empresario fabrica dos productos en cantidades x1 y x2. El beneficio unitario que obtiene es de 3 y 5 unidades monetarias respectivamente. Cada producto requiere para su fabricación de un proceso de montaje y de un proceso de pulido. La disponibilidad de horas de trabajo en estas secciones está limitada a 8 horas de montaje y 14 de pulido. Para maximizar beneficios, el empresario se plantea el problema lineal:

0 x, x (pulido) 14 3x x2 (montaje) 8 2x+ xs.a.

x53x-Max

21

21

21

21

≥≤+≤

+

Sabiendo que la tabla óptima del problema es:

3 5 0 0 x1 x2 s1 s2

3 x1 1 0 -3 2 4 5 x2 0 1 2 -1 2 Zj 3 5 1 1 Wj 0 0 -1 -1 22

Page 161: Apuntes Profesora Font

Material Complementario

161

Se pide: a) Calcula las cantidades a producir para maximizar el beneficio y el beneficio máximo. ¿Sobran

horas de montaje o de pulido? b) Calcula la solución óptima del problema dual. Interpreta el valor de las variables duales. c) Calcula el intervalo de sensibilidad de las horas de montaje (b1). d) La empresa decide lanzar al mercado un tercer producto x3 con coeficiente 3 en la función

objetivo y vector de coeficientes técnicos (1,1). Calcula la nueva solución óptima. ¿Es única la solución? Si no lo es, calcula otra solución factible básica óptima.

5.- (1 punto.) El siguiente árbol corresponde a un problema de programación entera con dos variables:

Indica si el problema es de maximización o minimización. Sitúa sobre cada rama la restricción que se ha añadido y razona si se ha llegado al óptimo. En caso de que falte por ramificar algún nodo indica cuál es y qué restricciones habría que añadir. 6.- (1 punto.) Un fabricante de juguetes comercializa tres modelos de muñecas:

Plástico Telas Mano obra Andadora 250g 150cm 2h

Parlanchina 450g 75cm 12h Repollo 600g 175cm 1.5h

Disponibilidad 800Kg 1800m 6000h Andadora y Parlanchina llevan además un pequeño motor eléctrico. Las existencias de este motor son de 800 unidades. El fabricante calcula que se puede vender no menos de 500 muñecas ni más de 1500. Además, se estima que por estar de moda, la demanda de la muñeca Repollo será superior a la de las otras dos juntas. El beneficio neto por la venta de las muñecas es: Andadora, 12 euros; Parlanchina, 15 euros; Repollo, 18 euros. Plantea un modelo de programación para maximizar beneficios.

Page 162: Apuntes Profesora Font

Material Complementario

162

PROGRAMACIÓN MATEMÁTICA (1ª Convocatoria) 02/02/04 LICENCIATURAS EN ADE Y ECO APELLIDOS ………………………………………….. NOMBRE …..……………….

7.- (2.5 puntos.) Dos pozos A y B suministran agua a tres fábricas de un mismo propietario. El precio pagado por litro suministrado es proporcional a la distancia, cobrando 0.07 euros el pozo A por litro y km. Y 0.08 euros el pozo B. Las distancias en Km. aparecen en la siguiente tabla:

Pozo A Pozo B Fábrica 1 12 18 Fábrica 2 20 11 Fábrica 3 13 32

Diariamente, el pozo A es capaz de suministrar 1000 litros, mientras que el pozo B 2000. Los requerimientos diarios de las fábricas 1, 2 y 3 son 250.6, 1200, y 750.8 litros respectivamente.

El problema para que el propietario de las fábricas minimice su gasto diario quedaría formulado como sigue:

ijij

2313

2212

2111

232221

131211

232221

131211

x 0 x 750.8x x 1200x x 250.6x x

2000xx x1000xx xs.a.

)32x11x18x(08.0 )13x20x(12x0.07Min

∀≥≥+≥+≥+

≤++≤++

++⋅++++⋅

a) ¿Cuál es la definición de las variables xij en el modelo anterior? b) Resuelve el modelo anterior utilizando el programa GAMS/LINGO. c) ¿Cuál es la solución óptima del problema? ¿Y el coste mínimo? d) Indica cuáles son las variables básicas y no básicas en la solución óptima. e) La modificación del conducto de tuberías ha supuesto una reducción de la distancia del pozo A

a la fábrica 1 en 2 Km. (la nueva distancia es de 10 Km.) ¿Es posible conocer la nueva solución óptima sin resolver el problema? En caso afirmativo, indica cuál es la nueva solución óptima y el nuevo coste óptimo.

Page 163: Apuntes Profesora Font

Material Complementario

163

PROGRAMACIÓN MATEMÁTICA (1ª Convocatoria) 25/06/04 DIPLOMATURA EN C. EMPRESARIALES APELLIDOS ………………………………………….. NOMBRE …..……………….

1.- (1.5 puntos.) Dado el siguiente problema de programación no lineal:

0 z 5y x 3 z+y+ xs.a.

z2yz2y2xyMin x 222

≤=+≥

++++

a) Demuestra que el punto (3, 2,-2) es un punto de Kuhn y Tucker. Calcula los multiplicadores

asociados. b) ¿Es posible encontrar para este problema un óptimo global que no cumpla las condiciones de

Kuhn y Tucker? Razona tu respuesta. c) Estudia si se cumplen o no las hipótesis del teorema de suficiencia de Kuhn y Tucker. ¿Qué se

puede afirmar acerca de la optimalidad del punto (3, 2,-2). 2.- (1.5 puntos.) Dado el siguiente problema de programación lineal:

0 z y, x, 8 zy2 x 4y + xs.a.

2z-y 2x-Max

≥=+−

≥+

a) Razona si de los siguientes puntos (x,y,z,s) son solución factible y/o básica: (5,1,3,1), (8,0,0,4) y

(2,2,10,0). b) Obtén sin iterar la tabla del Simplex asociada a la solución factible básica (x,y,z,s)=(4,0,4,0).

¿Es una tabla óptima o final? En caso afirmativo, escribe la solución del problema lineal y explica, en su caso, si la solución es única y/o degenerada. En caso negativo, realiza un iteración más.

c) Justifica que en programación lineal todos los óptimos (si existen) son globales. 3.- (2.5 puntos.) Dado el problema de programación lineal:

0 y x, 4 y 2y x2 62y + x- s.a.

y x-Max

≥≤≤+−≤

+

cuya solución óptima viene dada por la tabla :

3 -3 0 0 0 x y s t u

-1 x 1 0 1/3 -2/3 0 2/3 1 y 0 1 2/3 -1/3 0 10/3 0 u 0 0 -2/3 1/3 1 2/3 Zj -1 1 1/3 1/3 0 Wj 0 0 -1/3 -1/3 0 8/3

a) Escribe la solución del problema: valor de las variables y de la función objetivo en el óptimo,

explicando si es solución única y/o degenerada.

Page 164: Apuntes Profesora Font

Material Complementario

164

b) Plantea el problema dual y calcula su solución óptima: valor de las variables, valor de la función objetivo dual en el óptimo y rendimientos marginales, explicando si es solución única y/o degenerada.

c) Realiza el análisis de sensibilidad del término independiente b1 del problema primal. Explica en qué sentido la solución obtenida sigue siendo óptima para aquellos problemas en los que el primer término independiente pertenece al intervalo de sensibilidad encontrado.

d) ¿Cuál es la solución óptima del problema primal si el nuevo objetivo del problema es maximizar la función 3x-y? Escribe la solución del problema e indica, en su caso: valor de las variables y de la función objetivo en el óptimo, y si es única y/o degenerada.

4.- (1 punto.) Al resolver un problema de programación lineal entera se obtiene el siguiente árbol de ramificación:

a) Determina razonadamente si se trata de un problema de maximización o minimización. b) Añade sobre cada rama la restricción añadida. c) ¿Se ha llegado al óptimo? En caso afirmativo explica por qué e indica cuál es, en caso negativo,

escribe las ramas siguientes y las restricciones asociadas. 5.- (1 punto.) En una carpintería en la que se fabrican estanterías (E) y armarios (A) se producen tres tipos de desechos de fabricación: serrín, virutas y restos de madera en las siguientes cantidades (en Kg.) por mueble:

Serrín Virutas Restos madera Estantería 5 6 9 Armario 4 15 19

Los desechos se almacenan y una vez a la semana son recogidos por una empresa de reciclaje. La capacidad de almacenamiento es limitada: como máximo se pueden almacenar 200 Kg. de serrín, 350 Kg. de virutas y 400 Kg. de madera troceada. Y la empresa de reciclaje trabaja con una furgoneta que no puede cargar más de 600 Kg. y hace sólo un viaje. Plantea el problema a resolver para averiguar cuántas unidades de cada mueble se tienen que fabricar por semana para maximizar los beneficios de la empresa sabiendo que los beneficios unitarios son de 15-E € por estantería y 20-A € por armario.

Page 165: Apuntes Profesora Font

Material Complementario

165

PROGRAMACIÓN MATEMÁTICA (1ª Convocatoria) 25/06/04 DIPLOMATURA EN C. EMPRESARIALES APELLIDOS ………………………………………….. NOMBRE …..……………….

6.- (2.5 puntos.) El directivo de distribución de una empresa comercial en Valencia se plantea el problema de optimizar los suministros desde los dos almacenes de la empresa a sus tres centros comerciales: Centro, Nuevo Centro y Ciudad Ciencias. El número de Kms desde cada almacén a cada centro comercial se detalla en la tabla adjunta:

Centro Nuevo Centro Ciudad Ciencias Almacén 1 25 12 40 Almacén 2 20 45 10

Sabiendo que las existencias de un producto tipo son de 1200 unidades en el Almacén A y de 2000 en el Almacén B, que tiene que enviar al menos 500, 1000 y 1500 unidades de producto tipo a los centros: Centro, Nuevo Centro y Ciudad Ciencias respectivamente, y que el precio por Km y unidad de producto es de 0.06 euros, averigua cuántas unidades se tienen que enviar de un producto tipo desde cada almacén a cada centro comercial para minimizar el coste total. El problema de programación quedaría planteado de la siguiente manera:

+∈

≥+≥+

≥+≤++≤++

+++++⋅

ZX,X,X,X,X,X

1500XX 1000XX

500XX 2000XXX 1200XXX s.a.

)10X45X20X 40X12X(25X0.06Min

2CC2NC2C1CC1NC1C

2CC1CC

2NC1NC

2C1C

2CC2NC2C

1CC1NC1C

2CC2NC2C

1CC1NC1C

a) ¿Cuál es la definición de las variables de decisión del problema? b) Resuelve este modelo utilizando el programa GAMS. La salida (centros.lst) debe contener el

análisis de sensibilidad del problema. c) ¿Cuál es la solución del problema? ¿Y el coste mínimo? ¿Qué restricciones son activas? d) Indica cuáles son las variables básicas y no básicas en la solución óptima y estudia si la solución

es única y/o degenerada. e) ¿Qué efecto aproximado tendría sobre el coste si se tuvieran que trasladar al centro Ciudad

Ciencias 1600 unidades de producto tipo? f) La construcción de un nuevo puente ha reducido el trayecto entre el Almacén 2 y el centro

Ciudad de las Ciencias en 2 Km. (La nueva distancia es de 8 Km.). ¿Es posible conocer la nueva solución óptima sin volver a resolver el problema? En caso afirmativo, indica cuál es la nueva solución óptima y el nuevo coste óptimo.

Page 166: Apuntes Profesora Font

Material Complementario

166

PROGRAMACIÓN MATEMÁTICA (2ª Convocatoria) 29/06/04 LICENCIATURAS EN ADE Y ECO APELLIDOS ………………………………………….. NOMBRE …..……………….

1.- (2’25 puntos.) Dado el siguiente problema:

0 y 4 y x

12 y 3x 116y + x2 s.a.

y Min x 22

≥=+≤+≥

+

Se pide: a) ¿Es posible encontrar para este problema un óptimo global que no cumpla las condiciones de

Kuhn y Tucker? Razona tu respuesta. b) Comprueba si el punto (2, 2) cumple o no las condiciones de Kuhn y Tucker, indicando en caso

afirmativo el valor de los multiplicadores asociados. c) Utilizando los resultados del apartado anterior, ¿qué se puede afirmar de la optimalidad del

punto (2,2)? d) Si el término independiente de la tercera restricción pasase a valer 4,25 ¿Puedes indicar

aproximadamente cuál será el valor óptimo del nuevo problema? e) Transformar el problema de forma que tenga objetivo de maximización, todas las restricciones

de igualdad y todas las variables con condiciones de no negatividad. 2.- (1 punto.) a) Enuncia el teorema local-global para el caso de maximización. b) Define problema infactible y problema no acotado. Explica la principal diferencia entre ambos. 3.- (2’25 puntos.) Considera el problema siguiente:

0 x 1y x- 3y x s.a.

2y Max x

≥≥+≤+

a) Ponlo en forma estándar y escribe la matriz técnica del problema resultante. b) Estudia si el punto (x, y1, y2, s1, s2)=(3,0,0,0,-4) es una solución básica del problema. ¿Es

factible? c) Enuncia el problema dual del problema inicial (no del que has puesto en forma estándar)

Page 167: Apuntes Profesora Font

Material Complementario

167

4.- (1 punto.) Al resolver un problema de programación lineal entera obtenemos el árbol siguiente:

a) Determine razonadamente si se trata de un problema de máximo o de mínimo.

b) Añada sobre cada rama la restricción añadida.

c) ¿Se ha llegado al óptimo? En caso afirmativo, indique cuál es, en caso negativo añada la siguiente ramificación.

5.- (1 punto.) La empresa CRISCRASH es líder mundial en fabricación de lunas para coches. Las fábrica utilizando cristal para coche, mano de obra, maquinaria de corte y maquinaria de viselado. Las horas semanales que necesita de mano de obra y de cada tipo de máquina para fabricar una unidad de cada tipo de luna y las horas disponibles son:

Horas semanales por tipo de luna

Luna Delantera

Luna Trasera

Luna Lateral

Horas semanales disponibles

Mano de obra 1 1 0,5 800 Máquina de corte 0,25 0,3 0,2 300 Máquina de viselado 0,5 0,4 0,25 400

Además cada luna delantera o trasera requiere 2,5 m2 de cristal frente a los 1’5 m2 que requiere cada luna lateral. La disponibilidad semanal de cristal es de 1800 m2.

Para adaptarse a la demanda semanal habitual, la empresa siempre fabrica el doble de lunas laterales que de lunas delanteras y el triple de lunas laterales que de lunas traseras.

Plantee matemáticamente el problema que debe resolver esta empresa si su objetivo es fabricar el mayor número total de lunas posibles a la semana.

Page 168: Apuntes Profesora Font

Material Complementario

168

PROGRAMACIÓN MATEMÁTICA (2ª Convocatoria) 29/06/04 LICENCIATURAS EN ADE Y ECO APELLIDOS ………………………………………….. NOMBRE …..……………….

6.- (2.5 puntos.) Una empresa fabrica tres artículos en cantidades x, y, z. El beneficio por cada unidad producida es de 3€, 2€ y 4€ respectivamente. Además, la empresa dispone de una materia prima M limitada a 800 unidades disponibles, así como un máximo de 1000 horas de mano de obra. Por otra parte, la empresa se ha comprometido a fabricar al menos 30 unidades del primer artículo. Así pues, el beneficio máximo que puede obtener la empresa viene dado por el problema:

0z y, , x artículoprimer del mínima Producción 30 x

sdisponible obra de mano de Horas 10004z10y5x M de máximas ades Unid8003z15y2x s.a.

€en beneficios deFunción 4z2y3x Max

≥≥

≤++≤++

++

a) Resuelve el problema utilizando el programa GAMS/LINGO.

b) ¿Cuál es la producción óptima?

c) ¿Cuál es el beneficio máximo?

d) ¿Cuántas unidades de M empleará la empresa?

e) Calcula la solución completa (x,y,z,s,t).

f) Interpreta económicamente la fila de la solución (archivo lst o lgr) correspondiente a la segunda restricción (limitación de horas de mano de obra).

g) Supón que la empresa se ha comprometido a entregar una unidad del segundo artículo. ¿Cómo afecta esto a sus beneficios?

h) La empresa está interesada en producir el segundo artículo. Estudia si alguna de estas medidas podría hacer rentable su producción:

h.1) Aumentar la mano de obra disponible hasta 1200 horas.

h.2) Aumentar el beneficio unitario del segundo artículo hasta 5€.

Page 169: Apuntes Profesora Font

Material Complementario

169

PROGRAMACIÓN MATEMÁTICA (2ª CONVOCATORIA) 8/09/04 DIPLOMATURA EN CIENCIAS EMPRESARIALES APELLIDOS................................................................................ NOMBRE........................ 1.- (2’25 puntos). Considera el problema siguiente:

0y x, 5 2y x20y 2x s.a.

x-200y300xBMax 2

≥≤+≤+

+=

donde B es la función de beneficios de una empresa y las variables x, y representan las cantidades producidas de dos artículos A y B. a) ¿Podemos asegurar que la solución óptima (todavía no calculada) cumple las

condiciones de punto de Kuhn y Tucker? b) Estudia si la solución (x,y)=(5,0) cumple las condiciones de punto de Kuhn y Tucker. c) Enuncia la condición suficiente de Kuhn y Tucker para problemas de maximización y

utilízala para demostrar que el punto anterior es un óptimo global del problema. d) ¿Se puede aplicar el teorema de Weierstrass? En caso afirmativo, indica qué

conclusiones extraes de su aplicación. e) Si el término independiente de la 2ª restricción pasa a valer 4’5 ¿puedes indicar cuál

será el beneficio máximo aproximado del nuevo problema?

2.- (2’25 puntos). Una empresa fabrica dos productos en cantidades diarias x e y. Dispone de 200 horas diarias de mano de obra y el segundo artículo requiere una materia prima de la que se dispone a razón de 30 unidades diarias. Los beneficios unitarios son de 2 y 5 u.m. respectivamente. El problema es:

0 y x, 30 3y 200 5y 3x s.a.

5y2xMax

≥≤≤+

+

a) Sabiendo que el óptimo es (50,10), calcula la tabla óptima. b) ¿Cuántas unidades de cada artículo fabricará la empresa? ¿Cuál es el beneficio

máximo? Interpreta el valor de las variables de holgura. c) Razona si el óptimo obtenido es de vértice, de arista o de arista infinita. d) Calcula las variables principales duales e interprétalas. ¿Le interesaría a la empresa

pagar 10 horas extra diarias a 1 u.m. cada una? e) ¿Hasta cuánto se podrían reducir los beneficios unitarios del 2º artículo de modo que la

solución siguiese siendo válida?

Page 170: Apuntes Profesora Font

Material Complementario

170

3.- (1 punto). La última tabla del Simplex de un determinado problema lineal de maximización en forma canónica es:

1 2 0 0 x y s1 s2 2 y -1 1 1 0 1 0 s2 -1 0 -3 1 3 Zj -2 2 2 0 Wj 3 0 -2 0 2

a) Escribe la solución factible básica que aparece en la tabla y calcula su matriz básica asociada.

b) Calcula los términos independientes del problema. c) ¿Qué se puede deducir acerca de la solución del problema dual?

4.- (1 punto). Dado un problema de programación lineal entera con tres variables (X1,X2,X3), cuyo árbol de ramificación y acotación es el siguiente:

a) Razona si el problema es de maximización o de minimización. b) ¿Se ha llegado al óptimo? En caso afirmativo, indica cuál es la solución óptima y en

caso negativo, escribe las siguientes ramificaciones. c) Indica qué restricción se ha añadido al vértice 3 para obtener el problema lineal del

vértice 4.

5.- (1 punto). Una empresa utiliza una cierta materia prima para producir dos tipos de productos. Una vez procesada, con cada unidad de materia prima se fabrican dos unidades del producto 1 o una unidad del producto 2. Si se producen x1 unidades del producto 1, cada unidad puede venderse a un precio de 49-x1 euros, y si se producen x2 unidades del producto 2, cada unidad puede venderse a un precio de 30-2x2 euros. Una unidad de materia cuesta 5 euros. Plantea el modelo matemático que ha de resolver la empresa para maximizar sus beneficios.

Page 171: Apuntes Profesora Font

Material Complementario

171

PROGRAMACIÓN MATEMÁTICA (2ª CONVOCATORIA) 8/09/04 DIPLOMATURA EN CIENCIAS EMPRESARIALES ORDENADOR APELLIDOS................................................................................ NOMBRE........................ 6.- (2’5 puntos). Dado el problema de optimización siguiente donde cada variable representa el capital invertido (en cientos de euros) en cada uno de los 4 activos considerados:

100z0 0 t y, x,

0 t - z -y x 1000 t z y x 500000t2'5z1'5y xs.a.

2t 8z 5y 3x Max 2222

≤≤≥

≥+≤+++

≤+++

+++

(maximización de la rentabilidad –en euros-) (limitación del riesgo) (limitación del capital disponible) (condición de diversificación)

a) Resuelve el problema. Guarda en el disquete el archivo de programa GAMS y el archivo solución con el nombre EXAMEN_A. Escribe a continuación la solución obtenida:

Valor de la función objetivo Valor de las variables principales Valor de las variables de holgura Valor de los multiplicadores

b) Interprete económicamente el valor de la función objetivo, el valor de la variable x, el valor de la variable de holgura asociada a la 2ª restricción y el valor del multiplicador asociado a la 1ª restricción. Responde en la parte de atrás de la hoja

c) Analiza si la solución obtenida es un máximo global. Responde en la parte de atrás de la hoja

d) Vuelve a resolver el problema eliminando la limitación de riesgo y la cota superior de la variable z. La resolución ha de incluir el análisis de sensibilidad. Guarde en el disquete el archivo de programa GAMS y el archivo solución con el nombre EXAMEN_D. Escribe a continuación la solución obtenida:

Valor de la función objetivo Valor de variables principales Valor de las variables de holgura Valor de los multiplicadores

Y los intervalos de sensibilidad correspondientes. Rentabilidad 1er activo (c1) c1 ∈ [ , ] Capital disponible (b1) b1 ∈ [ , ]

Page 172: Apuntes Profesora Font

172

BIBLIOGRAFÍA

Ivorra, C. (2004): “Programación Matemática: Apuntes de Teoría”. Disponible en el Servicio de Reprografía del Campus de Tarongers.

Guerrero, F. M. (1994): "Curso de Optimización. Programación Matemática”. Ed. Ariel Economía. Barcelona.

Mocholí, M. y Sala, R. (1993): "Programación Lineal. Metodología y Problemas". Ed. Tebar Flores. Madrid.

Mocholí, M. y Sala, R. (1999): "Decisiones de Optimización". Segunda Edición. Ed. Tirant Lo Blanc. Valencia.

Página web de GAMS: http://www.gams.com

Y diverso material preparado por los profesores del Departamento de Matemática Económicoempresarial para la docencia de la asignatura durante los cursos 2001-02, 2002-02 y 2003-04. Citemos especialmente:

La colección de “Problemas Teórico-Prácticos y Ejercicios para Ordenador” del curso 2004-05. Disponible en el Servicio de Reprografía del Campus de Tarongers.

El “Cuaderno de Prácticas de Ordenador con GAMS” del curso 2004-05. Disponible en el Servicio de Reprografía del Campus de Tarongers.