Método gráfico para resolver problemas de programación lineal en ...

33
Aumentando ganancias restringidas por desigualdades (programación lineal) José Luis Gómez Muñoz http://homepage.cem.itesm.mx/jose.luis.gomez/ ¿Qué vas a hacer en esta práctica? En esta práctica vas a utilizar Excel para resolver un ejercicio donde hay que aumentar ganancias restringidas por desigualdades. Primero vas a crear una tabla de las ganancias para diferentes situaciones, después a mostrar en azul aquellas que sí cumplen con las desigualdades, y finalmente seleccionarás la situación que, cumpliendo con esas restricciones, da la mayor ganancia. Este tipo de ejercicios son muy importantes en ingeniería industrial y en la administración de empresas.

Transcript of Método gráfico para resolver problemas de programación lineal en ...

Page 1: Método gráfico para resolver problemas de programación lineal en ...

Aumentando ganancias restringidas por

desigualdades (programación lineal)

José Luis Gómez Muñoz http://homepage.cem.itesm.mx/jose.luis.gomez/

¿Qué vas a hacer en esta práctica?

En esta práctica vas a utilizar Excel para resolver un ejercicio donde hay que aumentar

ganancias restringidas por desigualdades. Primero vas a crear una tabla de las ganancias

para diferentes situaciones, después a mostrar en azul aquellas que sí cumplen con las

desigualdades, y finalmente seleccionarás la situación que, cumpliendo con esas

restricciones, da la mayor ganancia.

Este tipo de ejercicios son muy importantes en ingeniería industrial y en la administración

de empresas.

Page 2: Método gráfico para resolver problemas de programación lineal en ...

Ejemplo paso a paso

Las 20 chicas y los 10 chicos de un curso del Tec organizan un viaje, para el cual

necesitan dinero. Deciden pedir trabajo por las tardes en una compañía

encuestadora que contrata a dos tipos de equipos de jóvenes:

TIPO A: Equipos de cuatro, formados por tres chicas y un chico

TIPO B: Parejas: una chica y un chico

1. Si la compañía paga $4000 a cada equipo de 4, y paga $1000 a cada pareja,

¿Cómo les conviene distribuirse para sacar la mayor cantidad posible de

dinero?

2. Si la compañía paga $5000 a cada equipo de 4, y paga $3000 a cada pareja,

¿Cómo les conviene distribuirse para sacar la mayor cantidad posible de

dinero?

(No importa si algunos chicos o chicas no trabajan, lo que importa es obtener el

máximo de ganancias)

Solución en Excel:

Para resolver el ejercicio descrito arriba, vamos a hacer una tabla de las ganancias

correspondientes a diferentes combinaciones de equipos de 4 y de parejas. En esa tabla

vamos a mostrar en azul aquellas combinaciones que sí puedan realizarse con un máximo

de 20 chicas y un máximo de 10 chicos, para finalmente seleccionar entre ellas cuál da la

máxima ganancia posible.

En una hoja de Excel escribe Ganancia de Equipo de 4 en la celda A1 y escribe Ganancia

por parejas en la celda A2:

Page 3: Método gráfico para resolver problemas de programación lineal en ...

En las celdas C1 y C2 vas a escribir las ganancias por equipo y por pareja. Para indicar que

estas celdas son especiales, vamos a colorearlas de amarillo. Selecciona con el ratón las

celdas C1 y C2. Selecciona ambas celdas y a click derecho sobre ellas, escoge formato de

celdas:

Page 4: Método gráfico para resolver problemas de programación lineal en ...

En la ventana de Formato de Celdas elige la pestaña Relleno. Elige el color amarillo y

oprime el botón Aceptar:

Page 5: Método gráfico para resolver problemas de programación lineal en ...

Escribe en las celdas C1 y C2 las ganancias correspondientes: 4000 para cada equipo de 4 y

1000 para cada pareja:

Page 6: Método gráfico para resolver problemas de programación lineal en ...

Vamos a construir una tabla de las ganancias. Vamos a llamar y a los renglones de la tabla.

Para esto necesitaremos utilizar la herramienta de Nombres definidos que por default no

se encuentra a la vista en la barra de herramientas, primero tendremos que habilitarla. Da

click derecho sobre un espacio vació en la barra de herramientas y selecciona la opción

personalizar barra de herramientas y de acceso rápido.

Page 7: Método gráfico para resolver problemas de programación lineal en ...

En la ventana que emerge selecciona la opción comandos más utilizados y todos los

comandos, te aparecerá una lista con todos los comandos con los que cuenta Excel, busca

y selecciona el comando Nombres definidos, da click en agregar y el comando se instalara

en la barra de acceso rápido, da click en aceptar para finalizar.

Page 8: Método gráfico para resolver problemas de programación lineal en ...
Page 9: Método gráfico para resolver problemas de programación lineal en ...

Ahora si podemos definir y, el renglón y=0 en la tabla va a ser el renglón 17 de la hoja de

Excel, el renglón y=1, el 16 de la hoja, etc., primero selecciona el comando Nombres

definidos, Agregar nombre a un rango, Definir nombre, en la ventana que emergerá

escribe “y” en Nombre y “=17-Fila()” en Hace referencia a:

Page 10: Método gráfico para resolver problemas de programación lineal en ...
Page 11: Método gráfico para resolver problemas de programación lineal en ...

En la celda A5 escribe la fórmula =y como se ve en la figura:

Page 12: Método gráfico para resolver problemas de programación lineal en ...

La fórmula =y en la celda A5 produce un resultado de 12:

Page 13: Método gráfico para resolver problemas de programación lineal en ...

Ahora copia y pega (copy-paste) la celda A5 en las celdas A6 a A17. Esto se puede hacer

arrastrando (drag) la celda A5 con el ratón oprimido desde la esquina inferior derecha de

la celda A5 hasta la celda A17:

Page 14: Método gráfico para resolver problemas de programación lineal en ...

Vamos a llamar x a las columnas de la tabla. Para definir x, otra vez selecciona el comando

Definir nombre, Agregar nombre a un rango, Definir nombre.

Page 15: Método gráfico para resolver problemas de programación lineal en ...

En la ventana que emerja escribe “x” en el cuadro de Nombre, “x” en Comentarios, la

fórmula “=Columna()-2” en Hace referencia a, aceptar.

Page 16: Método gráfico para resolver problemas de programación lineal en ...

En la celda B18 escribe la fórmula =x como se ve en la figura:

Page 17: Método gráfico para resolver problemas de programación lineal en ...

La fórmula =x en la celda B18 produce un resultado de 0:

Page 18: Método gráfico para resolver problemas de programación lineal en ...

Ahora copia y pega (copy-paste) la celda B18 en las celdas C18 a I18. Esto se puede hacer

arrastrando (drag) la celda B18 con el ratón oprimido desde la esquina inferior derecha de

la celda B18 hasta la celda I18:

Page 19: Método gráfico para resolver problemas de programación lineal en ...

En la celda A4 escribe y parejas, cambia la trama de las celdas A4 a A17 a color verde

usando el menú Formato, opción Celdas. En la celda J18 escribe x equipos de 4, cambia la

trama de las celdas B18 a K18 a color rosa usando el menú Formato, opción Celdas:

Page 20: Método gráfico para resolver problemas de programación lineal en ...

La ganancia se obtiene sumando la ganancia por equipo por el número de equipos más la

ganancia por parejas por el número de parejas. La ganancia por equipo está en la celda C1,

pero vamos a escribirla como $C$1 para que no cambie esta referencia cuando se copie la

fórmula a otra celda. De forma similar la ganancia de parejas corresponde a $C$2. El

número de equipos es x, y el número de parejas es y. Entonces la ganancia viene dada por

la fórmula:

=$C$1*x+$C$2*y

Escribe esta fórmula en la celda B5:

Page 21: Método gráfico para resolver problemas de programación lineal en ...

La fórmula en la celda B5 produce la ganancia si hubieran 12 parejas y 0 equipos:

Page 22: Método gráfico para resolver problemas de programación lineal en ...

Ahora copia y pega (copy-paste) la celda B5 en las celdas B6 a B17. Esto se puede hacer

arrastrando (drag) la celda B5 con el ratón oprimido desde la esquina inferior derecha de

la celda B5 hasta la celda B17:

Page 23: Método gráfico para resolver problemas de programación lineal en ...

Ahora copia y pega (copy-paste) las celdas B5:B17 en las celdas C5 a I17. Esto se puede

hacer arrastrando (drag) las celdas B5:B17 con el ratón oprimido desde la esquina inferior

derecha de las celdas B5:B17 hasta la celda I17:

Page 24: Método gráfico para resolver problemas de programación lineal en ...

Ya tenemos una tabla que da las ganancias para diferentes situaciones. Observa, por

ejemplo, que la tabla nos dice que con x=5 parejas y con y=8 equipos se obtendría una

ganancia de 28000. Sin embargo, no se pueden obtener esos valores, porque se

necesitarían en total 13 chicos, y solamente hay 10 chicos. Debemos marcar de alguna

manera en la tabla aquellas configuraciones que requieran un máximo de 10 chicos y un

máximo de 20 chicas (no importa si algunos chicos o chicas no trabajan, lo que importa es

obtener el máximo de ganancias).

Para marcar las configuraciones que cumplen con las restricciones, primero selecciona las

celdas del la tabla, desde la celda B5 hasta la celda I17. Con las celdas seleccionadas, elige

en el menú Formato condicional, Resaltar regla de celdas, Más reglas:

Page 25: Método gráfico para resolver problemas de programación lineal en ...

En la venta que emerja selecciona la opción Utilice una fórmula que determine las celdas

para aplicar formato, escribe la siguiente fórmula:

=Y(x+y<=10, 3*x+y<=20)

En esa fórmula, la Y mayúscula antes del paréntesis quiere decir “ambos”, como en

“naranjas Y manzanas”, o en “perros Y gatos” (“dogs AND cats”):

Page 26: Método gráfico para resolver problemas de programación lineal en ...

Ahora selecciona Formato, Relleno, escoge un color azul y da click en aceptar y aceptar

otra vez para cerrar la ventana principal.

Page 27: Método gráfico para resolver problemas de programación lineal en ...

Listo, aquellas ganancias que son posibles tomando en cuenta que sólo hay 20 chicas y 10

chicos son aquellas que tienen fondo (trama) azul:

Page 28: Método gráfico para resolver problemas de programación lineal en ...

Respuesta a la primera pregunta: Si la compañía paga $4000 a cada equipo de 4, y paga

$1000 a cada pareja, ¿Cómo les conviene distribuirse para sacar la mayor cantidad

posible de dinero?

En la tabla más arriba podemos ver que la ganancia máxima posible (azul) es de 26000, y

se obtiene con x=6, y=2. Es decir, deben formar 6 equipos y 2 parejas. Nota que en esta

configuración, aunque es la de máxima ganancia, trabajarían las 20 mujeres pero sólo

trabajarían 8 chicos (podríamos enviar a los dos chicos restantes a comprar los refrescos).

Respuesta a la segunda pregunta: Si la compañía paga $5000 a cada equipo de 4, y paga

$3000 a cada pareja, ¿Cómo les conviene distribuirse para sacar la mayor cantidad

posible de dinero?

Page 29: Método gráfico para resolver problemas de programación lineal en ...

Es muy fácil responder a la segunda pregunta con la hoja de Excel que construimos. Sólo

cambia los valores de las celdas C1 y C2 a 5000 y 3000 respectivamente, y la tabla se

actualiza inmediatamente:

De la tabla arriba podemos ver que con estas ganancias por equipo y pareja, la máxima

ganancia posible (azul) se obtiene con x=5, y=5, es decir, con 5 equipos y 5 parejas. A

diferencia de la pregunta anterior, en este caso si trabajan todos los chicos y todas las

chicas.

Ahora puedes ir a resolver los ejercicios.

Comandos de Excel que fueron utilizados

Y(valor_lógico1;valor_lógico2; ...)

Page 30: Método gráfico para resolver problemas de programación lineal en ...

Valor_lógico1, Valor_lógico2, ... son entre 1 y 30 condiciones que se desea comprobar y

que pueden ser VERDADERO o FALSO.

Devuelve VERDADERO si todos los argumentos son VERDADERO; devuelve FALSO si uno o

más argumentos son FALSO.

Referencias relativas

Una referencia relativa en una fórmula, como A1, se basa en la posición relativa de la

celda que contiene la fórmula y de la celda a la que hace referencia. Si cambia la posición

de la celda que contiene la fórmula, se cambia la referencia. Si se copia la fórmula en filas

o columnas, la referencia se ajusta automáticamente. De forma predeterminada, las

nuevas fórmulas utilizan referencias relativas. Por ejemplo, si copia una referencia relativa

de la celda B2 a la celda B3, se ajusta automáticamente de =A1 a =A2.

Referencias absolutas

Una referencia de celda absoluta en una fórmula, como $A$1, siempre hace referencia a

una celda en una ubicación específica. Si cambia la posición de la celda que contiene la

fórmula, la referencia absoluta permanece invariable. Si se copia la fórmula en filas o

columnas, la referencia absoluta no se ajusta. De forma predeterminada, las nuevas

fórmulas utilizan referencias relativas y es necesario cambiarlas a referencias absolutas.

Por ejemplo, si copia una referencia absoluta de la celda B2 a la celda B3, permanece

invariable en ambas celdas =$A$1.

Page 31: Método gráfico para resolver problemas de programación lineal en ...

Comandos de Excel en Inglés

Si tienes Excel en Inglés entonces debes escribir And en lugar de Y.

Ejercicios

Ejercicio 1:

Si la compañía paga $4000 a cada equipo de 4, y paga $1000 a cada pareja, y la compañía

añade la restricción de que el número de parejas debe ser mayor o igual que el número

de equipos de 4, marca de color azul todas las configuraciones que cumplen con las

nuevas restricciones.

Ejercicio 2:

Un fabricante produce sillas y mesas para las 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 1 hora de trabajo en la sección de montaje y de 2 horas en la de pintura. Por su

parte, la fabricación de una mesa precisa de 3 horas en la sección de montaje y de 1 hora

en la de pintura. La sección de montaje sólo puede estar un máximo de 9 horas diarias en

Page 32: Método gráfico para resolver problemas de programación lineal en ...

funcionamiento, mientras que la de pintura un máximo de 8 horas. La ganancia por cada

silla es de $100 y la ganancia por cada mesa es de $200. Utiliza Excel para responder:

¿Cuál ha de ser la producción diaria de mesas y sillas para que la ganancia sea máxima?

Conclusión

El tipo de ejercicios que resolviste en esta práctica son muy importantes en la ingeniería

industrial y en la administración de empresas. Usualmente se estudian en una materia

llamada Investigación de Operaciones (Operations Research), y dentro de esa materia el

tema se llama Programación Lineal (Linear Programming). Los ejercicios de esta práctica

fueron escogidos de tal manera que puedan ser resueltos fácilmente en Excel, y que el

lenguaje utilizado sea accesible para un estudiante que acaba de terminar la preparatoria.

Sin embargo, los ejercicios de este tipo que puedes encontrar en libros y en Internet

usualmente manejan un lenguaje más aplicado a la industria, en términos de limitaciones

de transporte, limitaciones de espacio de almacenamiento, limitaciones en la capacidad

de inventario, etc. Todas estas limitaciones pueden ponerse en forma de desigualdades,

como se hizo en el ejemplo con las limitaciones en las cantidades de chicos y chicas.

La forma en que se resolvió el ejemplo fue diseñada para enfatizar el papel de las

desigualdades en las aplicaciones. También puede utilizarse como una introducción a la

Page 33: Método gráfico para resolver problemas de programación lineal en ...

programación lineal. Sin embargo, existen métodos mucho más sofisticados y poderosos

para resolver problemas de este tipo que sean más complicados. De hecho Excel tiene un

poderos complemento, el "Solver", que permite resolver ejercicios de programación lineal

sin tener que hacer tablas ni gráficas.

Si te gustó esta práctica, quizás debas estudiar ingeniería industrial.

José Luis Gómez Muñoz http://homepage.cem.itesm.mx/jose.luis.gomez/