Sei sulla pagina 1di 22

Segn el Programa Matemtico que se

tenga, ser muy til revisar los parmetros


por defecto de Solver, para garantizar que se
encuentre la solucin, sobre todo en
programas enteros y no lineales de
crecimiento rpido.
Segn la documentacin en lnea, Solver
utiliza el mtodo de optimizacin no lineal
GRG2 desarrollado en la Universidad Leon
Lasdon de Austin Texas y la Universidad de
Allan Waren en Cleveland e implementado por el equipo de programacin de
Frontline Systems y de Optimal Methods Inc.
Es muy importante tener en cuenta las opciones de Solver al resolver un
programa, debido a que la resolucin de un problema lineal y de uno no lineal
difieren bastante. Los problemas lineales son por mucho, ms fciles de resolver
que los no lineales. Existen algoritmos bastante eficientes como lo son las
variantes del Simplex y los de Punto Interior utilizados en la resolucin de los
primeros. El problema est con los no lineales...
Hace 400 aos un ingls cre el clculo diferencial para describir la mecnica
celeste y la filosofa de la naturaleza, hoy en da, los analistas de Investigacin de
Operaciones lo utilizamos para describir la mecnica terrestre ($$$) y la filosofa
humana. En este orden de ideas (o mejor desorden?), al buscar el ptimo de un
programa no lineal, efectuamos una serie de derivadas parciales que
representarn el ritmo de crecimiento o decrecimiento de la funcin objetivo,
encontramos el mximo o el mnimo al igualar a cero y despejamos los valores de
las variables, para esto se puede utilizar el mtodo de Newton de varias variables,
modificamos la base e iteramos hasta que converja al ptimo segn un valor de
tolerancia.
Las alternativas a tener en cuenta son estas: (Al hacer click en el botn de
Opciones...)
Tiempo: Por defecto es de 100 segundos, si al cabo de ste tiempo Solver no ha
convergido (segn la tolerancia), mostrar un mensaje diciendo que no ha hallado
la solucin. Dependiendo del tamao del problema se debe aumentar ste valor,
para que Solver tenga tiempo de buscar la solucin ptima. Hasta el momento no
he necesitado ms de 300 segundos en problemas de hasta 200 variables (por
supuesto esto depender de la velocidad de la mquina). No se puede establecer
un valor mayor a 32367 segundos, pero... hay alguien dispuesto a esperar todo
eso?
Iteraciones: La eleccin de ste parmetro depende de nuevo del tamao del
problema; por defecto es de 100, pero en los problemas de programacin entera,

ser mejor el aumentar ste valor para asegurar la convergencia (siempre y


cuando exista una solucin).
Precisin: En la prctica las restricciones no son tan inflexibles como las solemos
tratar en los modelos acadmicos, siempre hay un nivel de desfase por pequeo
que sea que se puede permitir. Solver introduce ste parmetro para especificar la
precisin. Es un valor entre 0 y 1 (sin tomarlos) , a mayor precisin menor debe
ser ste parmetro es decir ms cercano a cero.
Tolerancia: En porcentaje que tan lejos de la solucin ptima se considera
aceptable. Al haber una mayor tolerancia se encuentra ms rpido una solucin,
pero no se garantiza la optimidad en ese mismo porcentaje.
Convergencia: Cada cambio que haga Solver en las variables de decisin se
reflejar en la celda objetivo, cuando estos cambios en las variables proveen
cambios muy pequeos en la celda objetivo se dice que est convergiendo.
Podemos establecer que valor de cambio es el que dar la convergencia.
Supongamos que se establece 0.1; en las ltimas cinco iteraciones si Solver
encuentra un valor de la celda objetivo de 7.1 y luego de 7.2 (para maximizar), se
detendr. A mayor exactitud menor debe ser ste parmetro.
Adoptar Modelo Lineal: Es necesario cuando el modelo es lineal.
Asumir No Negativos: Si se chequea sta opcin, las variables de decisin
sern mayores o iguales a cero; no ser necesario incluir sta restriccin a mano.

La correccin: Un amigo me escribe desde Canada para aclarar sobre


la autoria de Solver. El que sabe, sabe. Aqu va su mensaje (BTW:
Muchas gracias Nolberto)
Estimo que usted cometio un error involuntario cuando habla de Solver y da
creditos a universidades. A mi entender los nombres que usted da NO
corresponden a universidades sino a indivuduos. Asi, es Leon Lasdon del MSIS
Department de la Universidad de Texas en Austin.
Por otro lado NO es la universidad de Allan Waren sino Mr. Allan Waren, del
Departamento de Computacion y Ciencias de la Informacion de la Universidad del
Estado de Cleveland.
Creo que deberia tambien mencionar a Daniel Fylstra de Frontline Systens y a
John Whatson de Software Engines, todos los cuales han tenido una participacion
capital en el desarrollo del Solver de Excel.
Por otro lado no encuentro en su ejemplo de los minimos cuadrados, donde esta la

aplicacion o como usa Solver para resolver el problema.


Por favor acepte mis felicitaciones por la didactica que usted muestra. Las
explicaciones, breves, sinteticas y concisas sobre el algoritmo de Brunch and
Bound y el comentario sobre las derivadas parciales para alcanzar la solucion
optima, son magnificas.
Programacin Lineal Continua y Entera:
La Trminus Chemistry Inc, manufactura Acido Sulfrico y deseara determinar un
plan agregado para los siguientes seis meses. Actualmente la empresa tiene 70
trabajadores y 9000 litros de cido en inventario. Cada trabajador puede producir
100 litros al mes y le pagan 5 dlares por hora (160 horas de tiempo normal al
mes). El tiempo extra se paga al 150% del costo normal. Se puede utilizar hasta
un mximo del 20% adicional al tiempo normal en cualquier mes dado. Cuesta 80
centavos almacenar una litro de cido al ao, 200 dlares contratar a un
trabajador y 500 dlares despedirlo. El pronstico de ventas de los siguientes 6
meses es de 8000, 10000,12000,8000,6000 y 5000 litros de cido.
Cul es el nivel de mano de obra y de inventario que se debe manejar para
obtener unos costos mnimos?
Nota: como no tenia tiempo de pensar en un problema propio, saqu ste de un
problema propuesto en un libro (Administracin de Operaciones de Roger
Schroeder, tercera edicin, pg 359), ah es con dulces pero me parece ms
sofisticado con cido sulfrico, no es cierto?

Resumen de Datos:
Condiciones iniciales: 70 trabajadores y 9000 litros de cido.
Produccin Estndar: 100 lt/mes. => 0.625 Lt / hora
Tiempo Normal: 160 Horas/mes
Costo tiempo extra: 150% del costo normal
Tiempo extra mximo: 20% de tiempo normal en cualquier mes
Costos:

80 centavos/litro al ao
200 dlares contratar

500 dlares despedir


Sueldo Normal: 5 dlares/hora
Pronstico de Ventas:
Enero

Febrero Marzo

Abril

Mayo

Junio

8000

10000

8000

6000

5000

12000

Formulacin Matemtica:
Variables:
Ti = No de trabajadores para el mes i; i = 1,2,3... (enero, febrero, marzo...) Entero
No negativo
Ci = No de trabajadores contratados en el mes i; i=1,2,3... Entero No Negativo
Di = No de trabajadores despedidos en el mes i; i=1,2,3... Entero No Negativo
Ii = Inventario final del mes i; i = 1,2,3 ... Continua No negativa (Si se deja tomar
valores negativos, se asumira que se pueden presentar retrasos en las ordenes,
que podemos vender algo que aun no se tiene en la bodega, para suplirlo ms
adelante con ms produccin.)
Costo de llevar inventarios mensual: 80 centavos/12 = 6.6667 centavos =
0.066667 dlares/mes
Hi = Horas de tiempo extra en el mes i. (la suma de las horas utilizadas por todos
los trabajadores)
As que se tienen 30 variables, seis para cada tem.
Costo de un trabajador al mes: 5 U$ /hora * 160 horas/ mes = 800 U$ /
mes...Obvio microbio, jajaja. A propsito, esos textos gringos si son picados!!! 800
dlares/mes!!! Aqu (Colombia) se ganaran esos trabajadores unos 130 dlares, y
eso... y el ministro de hacienda que tena ganas de bajar el sueldo mnimo para
generar ms esclavitud...ehh digo, empleo.
Costo de hora en tiempo extra: 5U$ * 1.5 = 7.5 U$.
A los trabajadores que laboran en tiempo normal se les paga 800U$ /mes. En total
en un mes se les paga: 800T. Claro. El nmero de trabajadores en ese mes, por el

sueldo mensual; y as es para todas las variables, el costo unitario de la variable


multiplicado por la variable.
Funcin Objetivo:
Min Z = 800T1 +800T2 + 800T3+800T4+800T5+800T6 (el total de salarios en
tiempo normal)
+200C1 +200C2+200C3+200C4+200C5+200C6 (el costo de contratar C
empleados por mes)
+500D1 +500D2+500D3 +500D4 +500D5 +500D6 (el costo de despedir D
empleados por mes)
+0.066i1 +0.066i2 +0.066i3 + 0.066i4 + 0.066i5+0.066i6 (costo de llevar
inventario cada mes)
+7.5H1 +7.5H2 +7.5H3+7.5H4+7.5H5 +7.5H6 (costo de utilizar H horas
extras en el mes)
En forma resumida:

Min Z = 800 Ti + 200 Ci +500 Di +0.06 ii + 7.5 Hi (i=1,2,3,4,5,6)

Y las restricciones...
No de trabajadores por cada perodo:
El nmero de trabajadores por cada perodo, ser los trabajadores con que
comenz el perodo mas los que contrat menos los que despidi. Claro que las
matemticas no son tontas, y no van a contratar y a despedir gente al mismo
tiempo. En algn perodo contratarn y en otro despedirn.
Ti= Ti-1 (No trabajadores del perodo anterior) + Ci (los contratados en el perodo)
- Di (los despedidos).
Para enero:
T1 = 70 + C1 - D1. Que tambin se puede escribir as:
T1-C1+D1= 70
Para febrero:

T2 = T1 (an no se sabe cuanto) +C2 - D2 Tambin:


T2 -T1 -C2+D2= 0 e igual los dems:
En resumen:
Restriccin de No de trabajadores:
T1
T2 - T1
T3 - T2
T4 - T3
T5 - T4
T6 - T5

- C1 +D1 = 70
-C2 +D2 = 0
-C3 +D3 = 0
-C4 +D4 = 0
-C5 +D5 = 0
-C6 +D6 = 0

Restriccin: Cumplir con la demanda. En palabras...


Inventario Inicial + Produccin - Ventas (demanda pronsticada) = Inventario
Final. Tambin...
Inventario Inicial + Produccin en tiempo normal + Produccion en tiempo extra pronostico = IF
Para Enero:
9.000 + (100 T1 + 0.625 H1) - 8.000 = I1 Tambin:
I1 - 100T1 - 0.625 H1 = 1.000
Para febrero: (El inventario inicial de un perodo es el inventario final del pasado)
I1 + 100T2 +0.625 H2 - 10.000 = I2
I1 + 100T2 +0.625 H2 - I2
= 10.000 Lo mismo para los dems. En
resumen
Restriccin de Demanda:
I1 - 100T1
I1 + 100T2
I2 + 100T3
I3 + 100T4
I4 + 100T5
I5 + 100T6

- 0.625 H1
+ 0.625 H2 - I2
+ 0.625 H3 - I3
+ 0.625 H4 - I4
+ 0.625 H5 - I5
+ 0.625 H6 - I6

= 1.000
= 10.000
= 12.000
= 8.000
= 6.000
= 5.000

Restriccin de Horas extras: en cada perodo el no de horas extras debe ser


menor al 20% de las horas normales.

El total de horas normales en un mes es de : 160T. El 20% ser de 0.2*160T=


32T O sea:
Hi <= 32 Ti

Hi - 32 Ti <= 0

H1 - 32T1 <= 0
H2 - 32T2 <= 0
H3 - 32T3 <= 0
H4 - 32T4 <= 0
H5 - 32T5 <= 0
H6 - 32T6 <= 0
Modelo Completo
Min Z = 800T1 +800T2 + 800T3+800T4+800T5+800T6 (el total de salarios en
tiempo normal)
+200C1 +200C2+200C3+200C4+200C5+200C6 (el costo de contratar
C empleados por mes)
+500D1 +500D2+500D3 +500D4 +500D5 +500D6 (el costo de despedir D
empleados por mes)
+0.06i1 +0.06i2 +0.06i3 + 0.06i4 + 0.06i5+0.06i6 (costo de llevar
inventario cada mes)
+7.5H1 +7.5H2 +7.5H3+7.5H4+7.5H5 +7.5H6 (costo de utilizar H horas
extras en el mes)
Sujeto a:
T1
T2 - T1
T3 - T2
T4 - T3
T5 - T4
T6 - T5

- C1 +D1 = 70
-C2 +D2 = 0
-C3 +D3 = 0
-C4 +D4 = 0
-C5 +D5 = 0
-C6 +D6 = 0

I1 - 100T1
I1 + 100T2
I2 + 100T3
I3 + 100T4
I4 + 100T5
I5 + 100T6

- 0.625 H1
+ 0.625 H2 - I2
+ 0.625 H3 - I3
+ 0.625 H4 - I4
+ 0.625 H5 - I5
+ 0.625 H6 - I6

= 1.000
= 10.000
= 12.000
= 8.000
= 6.000
= 5.000

H1 - 32T1 <= 0
H2 - 32T2 <= 0
H3 - 32T3 <= 0
H4 - 32T4 <= 0
H5 - 32T5 <= 0
H6 - 32T6 <= 0
C.N:N

Hay infinidad de formas para modelar ste programa dentro del Excel Solver, por
ejemplo se podra dejar como variables de decisin el nmero de contratos,
despidos y horas extras, y todo lo dems en funcin de esto, o dejar el nmero de
despidos y de contratos en funcin del nmero de trabajadores y que estos fueran
las variables de decisin... en fin. Lo unico que se necesita para comenzar a ver
estas variantes de modelamientos, es comenzar a desarrollar ejercicios; primero
los simples, como los de programacin lineal continua de dos o tres variables,
comenzar a cambiarlos, etc. Cuando lo haya hecho notar que se pueden
modelar mucho ms fcil y rpido si no se fuerza a que el mdelo en Excel quede
exactamente igual que el matemtico, sino reemplazarlo por uno equivalente.
Bueno, pero como ya habia dicho, eso es con un poco de prctica, as es primero
sigamos el modelo estndar de PM que ya planteamos:
...Pasito, por pasito, para no perdernos.
1. Primero que todo, el formato:
He comprobado estadsticamente que un formato agradable, intuitivo y organizado
evita los errores; as es que manos a la obra.
En cuanto al color, aunque pueda parecer totalmente irrelevante, nos puede
mostrar rpidamente donde estn las variables de decisin, las restricciones y la
funcin objetivo, as es que cada uno escoja los que les parezcan ms apropiados.
Por mi parte me quedo con el negro para el color de fondo, para que salga con el
fondo de mi pgina, que apropsito estuve escogiendo como durante tres horas
texturas, backgrounds de todos los tipos, pero por ltimo escog el ms sencillo, el
negro... bueno, si, si, ya s que el negro no es ningn color, sino precisamente la
ausencia de ellos, pero esos detalles los discutiremos en la seccin de
cromatologa de la pgina de fsica que estoy escribiendo, o como dicen ls
pginas gringas, "under construction".
Qu hubo del formato? ya? A m me quedo as:

Se debe dejar una celda que se corresponda con la funcin objetivo. En ella
se escribir la frmula de maximizacin o minimizacin, en funcin de las
variables de decisin. En este caso la celda para la funcin objetivo es la
B4 y las variables de decisin estn en el rango de las celdas B9:G13 (o
sea desde la fila 9 hasta la fila 13 y desde la columna B hasta la columna
G)
Se debe dejar una celda por cada restriccin que represente el lado
izquierdo de cada restriccin. La direccin (o sea si es <=, <=, o =) se
especificar ms adelante en el cuadro de dilogo de Solver. Adems el
lado derecho de la restriccin tambin se debe especificar all. En la figura
anterior, la del formato se ve que en la columna C filas 16 en adelante
aparece el smbolo '=' y a la derecha de l aparece el lado derecho de la
restriccin. Esto es slo por presentacin, y para que nos ayude a recordar
ms adelante al introducir los valores en el Solver. Observe que hay seis
celdas correspondientes al primer grupo de restricciones en el rango
B16:B21, de igual manera debe existir una celda por cada restriccin
existente.

Luego de tener el formato de la Hoja, ahora viene lo ms importante: Las frmulas.


Para indicar como introducir las frmulas, seguir la convencin siguiente:
CoordenadaCelda=Frmula. Ejemplo B4=B5+B6, esto significa que en la celda
B4 se debe escribir la frmula "=B5+B6".
Funcin Objetivo

Min Z = 800 Ti + 200 Ci +500 Di +0.06 ii + 7.5 Hi (i=1,2,3,4,5,6)


B4= 800 * SUMA(B9:G9)
+
500 * SUMA(B11:G11) +
7.5 * SUMA(B13:G13)

200 * SUMA(B10:G10)+
0.066 * SUMA(B12:G12)+

Notar que he escrito 800 * SUMA(B9:G9) en vez de escribir F2 * SUMA(B9:G9),


por que en F2 est el valor de 800. Bueno, lo que sucede es que me parece, que
es mejor pasarle constantes a Solver en vez de variables. Creo que se demora
menos en encontrar la solucin si lo hago as, tal vez da igual, pero como
desarrollador s que un bucle es ms rpido si trabaja con una constante que
sobre la propiedad de un control. As es que a menos que est totalmente seguro
de lo contrario le aconsejo que mientras pueda le pase a Solver constantes en vez
de variables.
Restricciones
Primer Grupo: No de Trabajadores.
Restriccin

Frmula en Excel

T1 - C1 +D1 = 70

B16 =B9-B10+B11

T2 - T1 -C2 +D2 = 0

B17=C9-B9-C10+C11

T3 - T2 -C3 +D3 = 0

B18=D9-C9-D10+D11

T4 - T3 -C4 +D4 = 0

B19=E9-D9-E10+E11

T5 - T4 -C5 +D5 = 0

B20=F9-E9-F10+F11

T6 - T5 -C6 +D6 = 0

B21=G9-F9-G10+G11

Segundo Grupo: Demanda


Restriccin
I1 - 100T1 - 0.625 H1

Frmula en Excel
= 1.000

B22=B12-100*B9-0.625*B13

I1 + 100T2 + 0.625 H2 - I2 = 10.000

B23=B12+100*C9+0.625*C13-C12

I2 + 100T3 + 0.625 H3 - I3 = 12.000

B24=C12+100*D9+0.625*D13-D12

I3 + 100T4 + 0.625 H4 - I4 =

8.000 B25=D12+100*E9+0.625*E13-E12

I4 + 100T5 + 0.625 H5 - I5 =

6.000 B26=E12+100*F9+0.625*F13-F12

I5 + 100T6 + 0.625 H6 - I6 =

5.000 B27=F12+100*G9+0.625*G13-F12

Tercer Grupo: Horas Extras

Restriccin
H1 - 32T1 <= 0
H2 - 32T2 <= 0

Frmula en Excel
B28=B13-32*B9
B29=C13-32*C9

H3 - 32T3 <= 0

B30=D13-32*D9

H4 - 32T4 <= 0

B31=E13-32*E9

H5 - 32T5 <= 0

B32=F13-32*F9

H6 - 32T6 <= 0

B33=G13-32*G9

Ahora, se debe invocar el cuadro de dilogo de Solver. Del men herramientas


escoger Solver (en caso que no est en el men hacer click en la opcin
"Complementos" y chulearlo en el listado), tal como se ve en figura:

El cuadro de dilogo luce as:

Donde dice "Celda Objetivo" se escribe la referencia de la celda que contiene la


funcin objetivo. Tambin puede seleccionarlo, haciendo click en la flecha roja que
se ve a la derecha del recuadro y luego sealandola con el mouse. Luego se
escoge la opcin "Mnimo", a contiuacin escriba el rango donde se encuentran
las variables de decisin, tal como se puede ver en la figura anterior.
Agregar las restriciones:
Se hace click en el botn agregar del cuadro de dilogo de Solver. En la parte
izquierda se escribir la referencia de la celda que contiene la parte izquierda de la
restriccin, luego se escoge la direccin, si es <=, >=, o =, a continuacin se
escribe el lado derecho de la restriccin que para nosotros es una constante. Por
ejemplo la primera restriccin:

Y se presiona aceptar. De igual manera se hace para las dems restricciones. Los
parmetros habrn quedado de la siguiente manera:

Antes de hacer click en "Resolver" es conveniente revizar las opciones por defecto
para el problema. Para esto hacer click en el botn "Opciones..." y seleccionar
"Adoptar modelo lineal" y "Asumir no negativos".

Presionar aceptar y luego "Resolver". Luego de haber hecho esto la solucin que
obtendermos es la siguiente:

El valor de la funcin objetivo es de 332.707, pero esta es del programa


matemtico continuo. como en el mes de enero no podemos tener 72 personas y
media, es mejor que escojamos el No de trabajadores como variables enteras.
Para hacer esto se le agrega una restriccin de ms en los parametros de solver,
donde le decimos que el rango B9:G9 es entera:

Volvemos a resolver y los resultados son ahora:

La solucin ahora con las variables enteras es de 333.037,20


A alguien quin no haya tomado un curso de Investigacin de Operaciones, el
ttulo de sta pgina le recordar los trancones de las seis, los huecos o cosas por
el estilo. A mi me pas, que buscando algo especfico sobre teora de cuerdas (lo
ms avanzado en fsica), llegue a la pgina de una ferretera donde vendan todo
tipo de ... cuerdas!!!
El mtodo de transporte es un problema clsico dentro de la programacin
matemtica; se analiza la manera de obtener el costo mnimo de transportar una

serie de productos desde n fabricas, hasta m almacenes; cada envo tiene un


costo particular que estar en funcin de la distancia, el tipo de carretera, la
cantidad y otras variables.
Como siempre, se entiende mejor con un ejemplo:
(Tomado de un libro, es que me da algo de locha inventarme uno)
La ms famosa empresa dentro de las aulas universitarias, la empresa
XXX, tiene tres fabricas donde manufactura su famossimo producto P, con
capacidades de produccin de 25 (unidades por micronanosegundo, por
segundo, hora, ao... no importa, es lo mismo para todos), 25,10 y debe
surtir a 4 almacenes con demandas de 20,15,20,5 (unidades por
micronanosegundo, segundos.. o lo que sea, siempre y cuando se maneje
la misma unidad temporal en todo el problema). Los costos de enviar desde
cualquier fabrica a cualquier almacn se pueden ver en la tabla abajo.

Capacidad de Produccin (u/t)


Fabrica 1

Fabrica 2

Fabrica 3

25

25

10

Demanda de los Almacenes (u/t)


Almacn 1

Almacn 2

Almacn 3

Almacn 4

20

15

20

Costo de Transporte desde la Fabrica i al


almacn j
$/unid

Almacn 1 Almacn 2 Almacn 3

Almacn 4

Fabrica 1

Fabrica 2

Fabrica 3

Okay, Ahora la pregunta del milln es cunto se debe enviar desde cada fabrica a
cada almacn con el fin de obtener el mnimo costo.
Min Z = 2X11 + 2X12 +0X13 +4X14 +5X21 +9X22 +8X23 +3X24 +6X31+4X32 + 3X33 +2X24
Sujeto a:
1. Satisfacer la demanda de los almacenes:
X11+X21+X31 >= 20
X12+X22+X32 >= 15
X13+X23+X33 >= 20
X14+X24+X34 >= 5
2. No sobrepasar la capacidad disponible de las fabricas
X11+X12+X13+X14 <= 25
X21+X22+X23+X24 <= 25
X31+X32+X33+X34 <= 10
3. Por supuesto la condicin de no negatividad y todas las variables enteras.
Bueno, aqu la formulacin es un poco diferente a como lo hicimos en los dos
ejemplos anteriores. La idea aqu es la de tener dos matrices y dos vectores; una
matriz se corresponder con las variables de decisin, y la otra matriz con los
costos. La primera la dejamos simplemente sealada, con algn formato para
distinguirla, y la otra la digitamos. La celda objetivo ser la suma del producto de
cada una de las posiciones de cada matriz con su correspondiente en la otra; esto
lo podemos hacer rpidamente con la funcin "sumaproducto" del Excel. Las
restricciones estarn en las columnas de "Consumo" y de "entregado". Primero
preparemos el formato del problema, as:

Las variables de decisin estn en el rango [B4-E6]. La celda objetivo sera algo
as como esto: = B4*B10+C4*C10+... pero eso sera muy largo. La manera corta
es:=SUMAPRODUCTO(B4:E6,B10:E12). La cantidad entregada a cada almacn se
ve en la fila 8. Por ejemplo para la celda B8, su frmula es:=B4+B5+B6. La
restriccin de la capacidad de las fabricas la escribiremos en funcin del consumo
en la columna G; por ejemplo para la celda G4:=B4+C4+D4+E4. Las restricciones
las escribiremos en el cuadro de dilogo como lo entregado debe ser mayor o

igual a lo requerido, y lo consumido debe ser menor igual que lo disponible, tal
como se puede ver en la captura siguiente:

Las variables de decisin deben ser enteras. Luego de introducir los datos en ste
cuadro de dilogo y de hacer click en resolver, se hallar la solucin.
Nota: Muy tal vez, obtendr que no encuentra una respuesta, esto depende de la
configuracin actual de su Solver, si es as, visite el apartado de Detalles del
Solver. Sino tendr la siguiente respuesta:

Mucho enrredo??? Baje el archivo


Utilizando el Solver del Excel
En la seccin de Algoritmos de IO, hablo del Problema de Localizacin. Ahi se
puede apreciar la cantidad de clculos aritmticos que hay que hacer siguiendo el

algoritmo iterativo para solucionar el problema de Fermat. Con el Solver del Excel
la cuestin es a otro precio. No slo se puede formular y solucionar de manera
tradicional el problema de la Localizacin de Instalaciones, sino que se pueden
hacer formulaciones "no tradicionales", como las que incluiran restricciones para
sitios (o reas) en las cuales es imposible realizar el emplazamiento.
A propsito, sino tiene ni forro de idea de que es eso del problema de localizacin
y quiere saberlo, le recomiendo pasar por la seccin de algoritmos, y ah si vuelva
ac.
Segn lo que se habla en la pgina del algoritmo de localizacin, se trata de hallar
las coordenadas X,Y de la instalacin que minimice los costos de transporte a una
serie dada de puntos (Ai,Bi) , con un costo por unidad de distancia Wi. La funcin
objetivo es entonces:

Un ejemplo: Sigamos el mismo que hay en la seccin de algoritmos:


Encontrar las coordenas de la instalacin de la planta de produccin que minimice
el costo total de transporte a los siguientes almacenes de distribucin:
Ai (Km) Bi (Km) Wi($/Km)
0

16

22

18

41

18

60

20

34

Para resolver en Excel:


Hagamos primero el formato:

Se puede notar que se ha adicionado dos columnas que es para la distancia y el


costo de transporte, esto es para facilitar la escritura de la funcin objetivo.
Escribamos primero la frmula que le corresponde a estas columnas...
Parntesis: Aqu debo mencionar algo: en el ejemplo que se desarrollo sobre
localizacin en la seccin de algoritmos, slo escrib las ecuaciones para una
distancia euclidiana, por la cantidad de clculos que hay que hacer, pero aqu se
puede definir muy fcilmente cualquier tipo de distancia, euclidiana, rectangular o
hasta una tetradimensional de Riemman, ;) Simplemente se cambia la frmula
para la columna Di.
En la celda D6: =((A6-$A$3)^2+(B6-$B$3)^2)^(1/2). La referencia a la celda A3 y
B3 correspondientes a X y Y se hizo de forma fija ( o sea que al arrastrar esta
frmula hacia otras celdas esta referencia no cambiar segn el sentido de
arrastre, si esto le suena como a chino le aconsejo buscar en la ayuda de Excel
"Referencias a Celdas y Rangos").
Ahora el contenido de la celda D6 se puede arrastrar hasta D10 (copiado y pegado
tambin se puede). Para la columna Costo, la celda E6 tendra la siguiente
frmula: =C6*D6. De nuevo se debe arrastrar la frmula hasta la celda E10. Ahora
la pinta de la hoja de clculo es la siguiente:

La frmula para la funcin objetivo es entonces en D3 =SUMA(E6:E10).


Ahora se debe invocar el cuadro de dilogo de Solver. Del men herramientas
escoger Solver (en caso que no est en el men hacer click en la opcin
"Complementos" y chulearlo en el listado, sino est en el listado habr que
instalar Excel de nuevo, pero de manera completa), tal como se ve en figura:

En el cuadro de dilogo dar los parmetros tal como se puede ver en la figura:

Ahora el resultado es el siguiente:

Las coordenadas ptimas del nuevo emplazamiento son entonces: X=9.79 y Y =


13.57
Como puede imaginar, se podra introducir restricciones para series de
coordenadas en las que el emplazamiento es imposible de realizar.

Me escribieron preguntndome cmo plantear las restricciones de los puntos en


los cuales no se puede llevar acabo el emplazamiento. La verdad, no lo haba
pensado (Qu pena con uds). Son una de esas cosas, que uno piensa que son
demasiado fciles para pensarlas. Y result no serlo tanto.
A ver, supongamos que slo tenemos un punto en el que no podemos llevar acabo
el emplazamiento (pero eso parece relato de Ciencia Ficcin, en la realidad serian
muchsimos puntos en los que no se puede llevar acabo la instalacin), por
ejemplo, que no se puede instalar en X=10, Y = 9, si eso fuera as tendramos que
decirle a Solver en las restricciones que cuando X debe ser diferente de 10
cuando Y = 9 y viceversa. Otra vez preguntamos, cmo?
Una posibilidad sera escribir en una celda la restriccin con funciones lgicas por
ejemplo:
A12=Si(Y(A3=10,B3=9),0,1)
Esta frmula dice que si X=10 y Y=9 coloque 0 en la celda, de lo contrario coloque
1. En el cuadro de dilogo de Solver, estableceramos una nueva restriccin que
A12 sea igual a 1. Funciona! Ya lo prob. Y me parece increble que funcione!
Cada vez me maravillo ms de Solver. El hecho que se puedan introducir
funciones lgicas dentro de las restricciones me parece magia negra. Lo digo a la
luz de mis poquiticos pero slidos conocimientos en teora de Optimizacin. Me
pregunto, cmo lo habrn hecho?

Sin embargo, razonando con base en la intuicin, me parece que se debera


utilizar lo menos posible las funciones lgicas: porque, despus de todo Cmo se
le aplica una diferencial a una funcin lgica?
Adems, no debera estar pensando en un nico punto para restringir el problema
sino en un rea. Eso si es evidente, cierto? Entonces deberamos establecer un
rea prohibida, por ejemplo, entre los puntos (10,9) y el (9,8). Debemos apelar a
la ecuacin de una figura cerrada, la que ms falta nos hara a nosotros sera la
ecuacin del rectngulo, pero creo que no existe. As es que tomemos una
aproximacin a otra, por ejemplo la del circulo. Digamos que no se puede realizar
el emplazamiento en un circulo que tiene por centro al punto (10,9) y que tiene un
radio de dos. La ecuacin que nos ayuda a esto es:

El centro esta en el punto (h,k).

El rea que est dentro del circulo est dado por la inecuacin asociada:

Ese es el conjunto de puntos que las variables independientes no pueden tomar.


As que la restriccin debe ser tomada con el sentido contrario: mayor o igual a 4.
En una celda se escribira el lado izquierdo de la inecuacin y en el cuadro de
dilogo de Solver se escribira que esa celda debe ser mayor o igual a 4. De
manera similar se puede reemplazar la ecuacin del circulo, por la de una elipse u
otra.
No s si esto haya sido claro, espero que si.

Potrebbero piacerti anche