Método gráfico para resolver problemas de programación lineal en ...
Transcript of 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.
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:
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:
En la ventana de Formato de Celdas elige la pestaña Relleno. Elige el color amarillo y
oprime el botón Aceptar:
Escribe en las celdas C1 y C2 las ganancias correspondientes: 4000 para cada equipo de 4 y
1000 para cada pareja:
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.
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.
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:
En la celda A5 escribe la fórmula =y como se ve en la figura:
La fórmula =y en la celda A5 produce un resultado de 12:
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:
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.
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.
En la celda B18 escribe la fórmula =x como se ve en la figura:
La fórmula =x en la celda B18 produce un resultado de 0:
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:
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:
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:
La fórmula en la celda B5 produce la ganancia si hubieran 12 parejas y 0 equipos:
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:
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:
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:
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”):
Ahora selecciona Formato, Relleno, escoge un color azul y da click en aceptar y aceptar
otra vez para cerrar la ventana principal.
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:
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?
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; ...)
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.
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
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
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/