Professional Documents
Culture Documents
PROBLEMAS EN
AMPL
Investigacin Operativa
Integrantes:
Yosselyn Acero Muoz
Silvia Cuzcano Soriano
Lucero Rosadio Alcantara
Introduccin
AMPL es un programa dirigido a la construccin y resolucin de modelos de optimizacin,
fundamentalmente modelos de Programacin Lineal, Programacin Entera y
Programacin No Lineal.
A diferencia de otros programas parecidos, como LINGO, una vez definido un modelo en
AMPL puede especificarse el cmo queremos resolverlo. Esto permite el diseo de muchas
alternativas de ejecucin del programa.
Existe una variedad muy grande de solvers (resolvedores) que pueden ser llamados desde
AMPL (algunos son de dominio pblico), lo que da una gran potencia y versatilidad al
programa.
Para una descripcin completa de los elementos bsicos del lenguaje la mejor fuente es el
libro de
R. FOURER, D. M. GAY & B. W. KERNIGHAN AMPL, A Modeling Language For
Mathematical Programming, The Scientific Press (1993, 2002).
Para acceder a los servicios de AMPL consultar la direccin http://www.ampl.com.
Elementos fundamentales.
Para poder trabajar con el programa AMPL necesitamos lo siguiente:
A. El modelizador AMPL, que corresponde al programa ampl.exe. Este programa
puede ser ejecutado en modo comando en una ventana de MS.DOS, o, ms
cmodamente, desde una ventana Windows por medio del programa sw.exe (scroll
windows).
B. Los solvers (resolvedores), que son los programas que tienen implementados los
algoritmos para resolver diferentes tipos de problemas. La edicin Standard AMPL
Student for Windows puede ejecutarse con diferentes solvers, entre los que
destacan CPLEX (para problemas de PL, PE y Redes) y MINOS (para problemas
de PL y PNL), y tiene la limitacin de hasta 300 variables y 300 restricciones.
Adems de la versin Standar AMPL Student for Windows, hay otras versiones
como AMPL Plus para WINDOWS, o versiones para Linux, Unix y otras
plataformas.
La forma ms habitual de trabajar con AMPL es editar primero tres ficheros, con
extensiones.mod, .dat y .run conteniendo, respectivamente, las componentes del modelo,
los datos en el formato AMPL, y los comandos que se van a ejecutar. Estos ficheros de
texto pueden editarse y mantenerse con cualquier editor de textos (p.e. con el bloc de
notas). Aunque muchos de los comandos que aparecen en el archivo .run podran ser
ejecutados manualmente en la ventana de comandos, es ms conveniente agruparlos en un
archivo o script con extensin .run, donde adems pueden ir todo tipo de opciones, bucles
repetitivos, etc.
Adems de las tres ventanas de texto, es preciso tener activo el programa AMPL o bien en
una ventana de MS.DOS o, ms cmodamente, en una ventana del programa scroll
windows
(sw.exe).
Instalacin de AMPL
Ampl ofrece una versin gratuita para estudiantes. Para instalar los ficheros necesarios
pueden seguirse los siguientes pasos.
Instalacin de ficheros del entorno de AMPL.
1. Usando internet, entrar en www.ampl.com.
2. Pinchar en la palabra download, situada en la columna izquierda, en el prrafo que sigue
a TryAMPL!
3. Pinchar en CPLEX8.0 Student Edition.
4. Pinchar en For Windows user new to AMPL.
5. Pinchar en amplcml.zip y guardar en la carpeta elegida el fichero .zip correspondiente
(amplcml).
6. Descomprimir el fichero amplcml.zip antes bajado.
7. Entre otros, al final debemos tener los siguientes ficheros:
ampl.exe (procesador de AMPL).
cplex.exe (solver de PL, PE y redes).
cplex80.dll (librera de cplex).
minos.exe (solver de PL y PNL).
sw.exe (ventana en la que puede ejecutar el procesador de AMPL de una forma
cmoda).
Uso
Declaracin de variable
Declaracin de objetivo (minimizar)
Declaracin de objetivo (maximizar)
Declaracin de restriccin
Solucin de Problemas
61. Un fabricante de electrodomsticos produce cuatro modelos de lavadoras L1, L2, L3 y
L4.
Estos aparatos constan fundamentalmente de un tambor metlico recubierto con una
carcasa, el cual gira por efecto de un motor elctrico controlado por un microprocesador
electrnico.
Los modelos L1, y L3 son lavadoras con menor capacidad de carga (4 kg), necesitando 5
m2 de material metlico, mientras que los modelos L2, y L4 que cargan 10 kg, requieren
8,5 m2 de material metlico. La cantidad de material metlico disponible es de 10000 m2.
Los modelos L1 y L2 llevan un motor denominado M1, y un microprocesador P1; los
modelos L3 y L4 tienen un motor M2, y un microprocesador P2. El primer motor es menos
potente que el segundo y el microprocesador P1 tiene menos programas que el
microprocesador P2; el material necesario para fabricar los motores puede obtener
prcticamente sin limitacin.
Los motores se ensamblan en una nave de montaje con una capacidad de trabajo de 3000
horas, y se requiere una hora para montar un motor M1, y 1,5 horas para ensamblar un
motor M2. En cuanto a los microprocesadores, se pueden fabricar en la propia empresa en
una seccin de la planta de montaje o se pueden encargar a un fabricante de material
electrnico. En el primer caso, compiten con la fabricacin de los motores M1 yM2
necesitando 0,3 horas la fabricacin de P1, a un costo de 100000 unidades monetarias y
0,75 horas la fabricacin de P2 con un costo de 180000 unidades monetarias. En el segundo
caso, el vendedor puede suministrar cualquier cantidad de P1 y P2 a un precio de 180000
unidades monetarias y 360000 unidades monetarias respectivamente.
Finalmente, las lavadoras se montan en otra nave de acabado con capacidad de 5000 horas,
siendo preciso un tiempo de 1,5 horas para el modelo L1, 2,3 horas para el modelo L2, 3
horas para el modelo L3 y 4,2 horas para el modelo L4. Para satisfacer a todos los
segmentos, el fabricante decide que la produccin mnima de cada modelo sea de 300
unidades. Como dato adicional se conoce, segn informe del departamento de mercadeo,
que la demanda de modelos de mayor capacidad es siempre superior a la demanda de los
modelos de menor capacidad, por lo que la produccin combinada de los modelos L2 y L4
debe ser superior a la produccin combinada de los modelos L1 y L3
La utilidad proporcionada es de 160000 unidades monetarias para el modelo L1, 170000
unidades monetarias para el modelo L2, 180000 unidades monetarias para el modelo L3 y
200000 unidades monetarias para el modelo L4. Plantear un modelo de programacin lineal
para la planificacin de la produccin de las lavadoras teniendo como objetivo la
maximizacin de los beneficios.
DEFINICIN DE VARIABLES:
Cantidad de iteraciones: 1
Valores de las variables:
Xa = 440.741
Xb = 440.741
Xc = 300
Xd = 300
Xe = 881.481
Xf = 0
Xg = 600
Xh = 0
Xi = 881.481
Xj = 0
Z = 63296296.3
Interpretacin:
La planificacin ptima para la fabricacin de lavadoras ser la siguiente:
440 lavadoras tipo 1 y 300 lavadoras tipo 3 se fabricarn, 440 lavadoras tipo 2 y 300
lavadoras tipo 4 se producirn, los microprocesadores P1 a fabricar en la empresa
sern 881, no se comprarn microprocesadores P1, se fabricarn 600
microprocesadores P2 y no se comprarn ninguno de ellos.
Los motores M1 a fabricar sern 881 y motores M2 a producir ser cero.
Por ltimo la ganancia por la venta de las lavadoras ser 63296296.3.
62. Un pas est atravesando una aguda crisis econmica a raz del enorme incremento de la
deuda externa. Uno de los efectos ms visibles de la crisis es el carcter especulativo que
est adquiriendo el mercado de capitales; la influencia de diversos agentes: gobierno,
Fondo Monetario Internacional, Banca Nacional y Banca Extranjera, etc; hace que los
indicadores econmicos (inflacin, devaluacin, entre otros) experimenten constantes
modificaciones haciendo muy poco fiables las previsiones a medio y a largo plazo. En este
contexto, los inversionistas se han decantado por una poltica de inversin a corto y muy
corto plazo como mecanismo de defensa ante la inestabilidad del mercado.
Uno de estos inversionistas est estudiando cmo invertir 100000000 de unidades
monetarias, producto de una herencia; un asesor financiero le proporciona el siguiente
cuadro en el que se recogen las posibles inversiones, su rendimiento y plazo, as como dos
ndices de calidad de la inversin, uno proporcionado por un organismo estatal y el otro
proveniente de una fuente extranjera.
Para la obtencin de estos ndices de calidad se tienen en cuenta conceptos tales como
liquidez y riesgo, de difcil cuantificacin; el ndice estatal recorre una escala de la A a la Z,
siendo A la mejor calidad, mientras que el ndice extranjero califica a las inversiones en una
escala de 0 a 100, siendo 100 la mejor calidad.
INDICE DE CALIDAD
Inversin
1
2
3
4
5
6
Tipo
Bonos empresa
privada
Bonos estatales
Deuda pblica
nacional
Deuda pblica
regional
Pagars estatales
Moneda Extranjera
Organismo
Estatal
C
Fuente
Extranjera
95
Das
Neto
10
3,16
B
A
85
92
15
21
3,99
6,30
90
21
5,94
A
D
97
93
30
7
6,38
1,75
El inversionista pretende elegir su cartera de modo que alcance los mximos beneficios. No
obstante, el asesor financiero le aconseja que diversifique su inversin de acuerdo con los
siguientes criterios:
a) La cantidad colocada en inversiones estatales no debe ser superior al 70% del total
invertido.
b) La cantidad invertida en bonos debe ser superior a lo invertido en deuda pblica.
c) La razn entre las inversiones en efectos de titularidad pblica (inversiones 2, 3,4 y 5) y
las inversiones en efectos de titularidad privada (inversiones 1 y 6) deben ser a lo sumo de
tres a uno.
d) No se debe colocar ms de un 60% en inversiones catalogadas por el organismo estatal
con un ndice inferior o igual a B.
e) La calidad media de la inversin segn el ndice de fuente extranjera debe ser como
mnimo 92.
f) Debido a las disposiciones legales, la cantidad mxima que puede invertirse en pagars
estatales es de 4000000 unidades monetarias.
g) La duracin media de la inversin debe estar comprendida entre 14 y 21 das.
Cantidad de iteraciones: 9
Valores de las variables:
X1 = 2.5
X2 = 0
X3 = 4
X4 = 0.5
X5 = 3
X6 = 0
Z = 55.21
Interpretacin:
Las inversiones colocadas fueron de 2.5, 0, 4, 0.5, 3 y 0 en las inversiones 1, 2, 3, 4,
5, 6 respectivamente y la utilidad obtenida por las inversiones colocadas fue de
55.21 millones de unidades monetarias.
63. Una empresa de confecciones puede producir 1000 pantalones o 3000 blusas (o una
combinacin de ambos) diariamente. El departamento de acabado puede trabajar sobre
1500 pantalones o sobre 2000 blusas (o una combinacin de ambos) cada da; el
departamento de mercadeo requiere que se produzcan diariamente al menos 400 pantalones.
Si el beneficio de un pantaln es de 4000 unidades monetarias y la utilidad de una blusa es
de 3000 unidades monetarias. Cuntas unidades se deben de producir de cada uno para
maximizar las utilidades?
Plantear el anterior problema como un modelo de programacin lineal.
VARIABLES DE DECISIN:
X1: Cantidad de pantalones a producir diariamente
X2: Nmero de blusas a fabricar por da
Z: Funcin de utilidad correspondiente a la ganancia por la venta de pantalones y
blusas
Modelo Primal:
MAX Z = 4000 X1 + 3000 X2
Restricciones:
1.
3X1 + X2 < 3000
2.
4X1 + 3 X2 < 6000
3.
X1 > 400
X1, X2 > 0
Solucin en AMPL:
El gerente desea evitar una excesiva dependencia de un nico proveedor, al tiempo que
desea mantener buenas relaciones comerciales con ambos proveedores; por ello, piensa que
el pedido debera repartirse de manera equitativa entre ambas empresas Finca y Purina. En
este sentido, lo ms que podra tolerarse es una diferencia entre los dos pedidos de hasta un
20% de la cantidad total pedida a ambos proveedores. Por otra parte, la compaa Finca ha
avisado que las existencias de su concentrado ms barato el A, son un tanto escasas, por lo
que solo podr suministrar a tiempo mximo 300 kg. El problema que debe resolver la
gerencia es determinar qu cantidades compra de cada producto para fabricar el alimento
necesario para el ganado porcino al menor costo posible.
DEFINICIN DE VARIABLES:
Xa: Cantidad de kg de concentrado A para incluir en los 1000 kg de alimento
Xg: Nmero de kg de salvado B a mezclar en los 1000 kg de alimento
Xc: kg de alimento C para incluir en los 1000 kg de alimento
X1: Cantidad de kg de harina tipo 1 para mezclar en los 1000 kg de alimento
X2: Nmero de kg de harina tipo 2 para incluir en los 1000 kg de alimento
Xm: kg de minerales a mezclar en los 1000 kg de alimento
W: Funcin de costo del alimento
Modelo Primal:
MIN W = 22 Xa + 31 Xb+ 45 Xc + 17 X1 + 15 X2 + 125 Xm
Restricciones:
1. Xa + Xb + Xc + X1 + X2 + Xm > 1000
2. 0,36 Xa + 0,24 Xb + 0,05 Xc + 0,31 X1 + 0,29 X2 > 0
3. - 0,06 Xa + 0,06 Xb + 0,25 Xc - 0,01 X1 + 0,01 X2 > 0
4. 0,06 Xa + 0,09 Xb + 0,22 Xc - 0,13 X1 + 0,135 X2 > 0
5. 0,29 Xa + 0,26 Xb + 0,13 Xc + 0,48 X1 + 0,485 X2 > 0
6. - 0,07 Xa + 0,02 Xb + 0,08 Xc + 0,16 X1 + 0,19X2 > 0
7. 0,27 Xa + 0,18 Xb + 0,12 Xc + 0,04 X1 + 0,11X2 > 0
8. - 0,02 X1 - 0,025 X2 + 0,97 Xm > 0
9. - 0,8 Xa - 0,8 Xb - 0,8 Xc + 1.2X1 + 1,2 X2 > 0
10. 1,2 Xa +1,2 Xb + 1,2Xc - 0,8 X1 - 0,8 X2 > 0
X > O Vi = A, B, C, 1, 2, M
Solucin en AMPL:
Patrones
20
30
40
70
Sobrantes
(cm)
0
2
3
4
5
6
7
8
9
10
3
3
1
0
1
0
0
1
2
0
1
0
1
1
2
3
0
2
1
0
0
0
1
1
0
2
0
0
0
1
1
0
0
0
0
0
0
10
10
0
10
0
10
0
0
Definicin de Variables:
Xi: Nmero de bobinas a cortar de 500 metros segn el patrn i, i = 1, 2, 3, 4, 5, 6,
7, 8, 10
W: Funcin de costo del desperdicio en el corte de las bobinas.
Modelo (Primal):
MIN W = 10 X3 + 10 X4 + 10 X6+ 10 X8
Sujeto a:
1.
2.
3.
4.
Solucin en AMPL:
Nmero de iteraciones: 3
Valores de las variables:
X1: 0
X2: 159.7
X3: 0
X4: 0
X5: 300
X6: 0
X7: 48.5
X8: 0
X9: 20.9
X10: 0
W: -1.111811216e-12
67. El gobierno actual requiere el mximo apoyo para que se apruebe en el congreso el plan
de desarrollo propuesto para el prximo ao. A travs de sus consejeros ha sabido que hay
35 congresistas de un grupo de coalicin y 27 de otro partido que aun no han definido su
voto. El presidente decide entonces concertar por telfono con estos congresistas indecisos
para convencerlos de que lo apoyen, sabiendo que tiene una probabilidad 0.9 de xito con
los miembros de la coalicin y 0.6 de otro partido. Cuntos congresistas de cada partido
debern telefonear para maximizar su probabilidad de xito si no puede realizar un nmero
total de llamadas superior a 30 en el actual rgimen de austeridad?
Definicin de Variables:
Xc: Cantidad de congresistas de la coalicin
Xo: Numero de congresistas de otro partido
Z: Funcin de maximizacin del xito
Modelo (primal):
MAX Z= 0.9Xc+0.6Xo
Restricciones:
1. Xc + Xo <=30 (Por cantidad de llamadas)
2. Xc
3.
Xc ,Xo >=0
Solucin en AMPL:
Cantidad de iteraciones: 1
Valores de las variables:
Xc: 30
Xo: 0
Z: 27
Interpretacin
Para maximizar la probabilidad de xito, se deber llamar a 30 congresistas que
forman parte de un grupo de coalicin y a ninguno de los congresistas que sean del
otro partido ya que de esta manera se podr optimizar la probabilidad de conseguir el
apoyo de los congresistas.