AMPL

RESOLUCIÓN DE PROBLEMAS EN “AMPL” Investigación Operativa Integrantes: Yosselyn Acero Muñoz Silvia Cuzcano Soriano Luce

Views 195 Downloads 73 File size 749KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

RESOLUCIÓN DE PROBLEMAS EN “AMPL” Investigación Operativa

Integrantes: Yosselyn Acero Muñoz Silvia Cuzcano Soriano Lucero Rosadio Alcantara

En este informe describiremos un poco sobre el lenguaje de modelado algebraico “AMPL” además de la implementación en la resolución de algunos ejercicios.

Introducción AMPL es un programa dirigido a la construcción y resolución de modelos de optimización, fundamentalmente modelos de Programación Lineal, Programación Entera y Programación No Lineal. A diferencia de otros programas parecidos, como LINGO, una vez definido un modelo en AMPL puede especificarse el cómo queremos resolverlo. Esto permite el diseño de muchas alternativas de ejecución del programa. Existe una variedad muy grande de solvers (“resolvedores”) que pueden ser llamados desde AMPL (algunos son de dominio público), lo que da una gran potencia y versatilidad al programa. Para una descripción completa de los elementos básicos 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 dirección 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, más cómodamente, 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 edición “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 limitación de hasta 300 variables y 300 restricciones. Además de la versión “Standar AMPL Student for Windows”, hay otras versiones como AMPL Plus para WINDOWS, o versiones para Linux, Unix y otras plataformas. La forma más 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 podrían ser ejecutados manualmente en la ventana de comandos, es más conveniente agruparlos en un archivo o script con extensión .run, donde además pueden ir todo tipo de opciones, bucles repetitivos, etc. Además de las tres ventanas de texto, es preciso tener activo el programa AMPL o bien en una ventana de MS.DOS o, más cómodamente, en una ventana del programa “scroll windows” (sw.exe).

De una manera informal: (i) con un fichero .mod indicamos al ordenador qué modelo queremos resolver. (ii) con un fichero .dat le señalamos los datos de ese modelo. (iii) con un fichero .run le decimos con que solvers queremos resolver el problema y que información queremos que nos muestre.

Instalación de AMPL Ampl ofrece una versión gratuita para estudiantes. Para instalar los ficheros necesarios pueden seguirse los siguientes pasos. Instalación 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 párrafo 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 (librería de cplex).  minos.exe (solver de PL y PNL).  sw.exe (ventana en la que puede ejecutar el procesador de AMPL de una forma cómoda).

En esta sección vamos a ver cómo se introducen en AMPL ejemplos sencillos de Programación Lineal de pocas variables, y cómo se ejecutan archivos de comandos para las sesiones iniciales de AMPL. En estos ejemplos los datos del problema (coeficientes de la función objetivo, de las restricciones y del lado derecho), están incluidos en el modelo, por lo que no es preciso crear un archivo con los datos, es decir, no necesitamos el archivo .dat. Les llamaremos modelos explícitos. Algunas ideas generales son:  Los comentarios pueden ser añadidos desde el símbolo # hasta el final de la línea.  Al final de cada declaración o comando debe ir un punto y coma (;).  Las mayúsculas son distintas de las minúsculas.  Se pueden insertar espacios en blanco o líneas en blanco sin afectar a la ejecución del programa.  La multiplicación debe indicarse con el signo *; por ejemplo, debe escribirse 3*x1 + 4*x2, y no 3x1 + 4x2. A continuación, seguiremos los siguientes pasos: 1. Creación de un fichero .mod para indicar el modelo a resolver. 2. Resolución del problema con AMPL desde la ventana de sw.exe.

Creación de un fichero .mod. Tendremos en cuenta las siguientes consideraciones: Cada variable debe ser declarada explícitamente (con la declaración var); además, si corresponde, podemos indicar su no negatividad, sus cotas, si es entera o si es binaria. La función objetivo debe ser declarada explícitamente después de maximize o minimize, y es conveniente darle un nombre seguido de dos puntos. En cada problema el nombre de la función objetivo puede ser distinto, aunque, por comodidad, podemos poner siempre el mismo nombre (por ejemplo, objetivo). Cada restricción debe ser declarada explícitamente (con la declaración subject to o, más brevemente, poniendo s.t.), y es conveniente darle un nombre seguido de dos puntos. La declaración de variables debe preceder a la declaración de restricciones y de la función objetivo. Entre las declaraciones de restricciones y de la función objetivo no hay precedencias obligatorias. Resumen Declaración Var Minimize Maximize Subject to

Uso Declaración de variable Declaración de objetivo (minimizar) Declaración de objetivo (maximizar) Declaración de restricción

Resolución interactiva del problema anterior usando el procesador de comandos en la ventana sw.exe. Una sesión inicial para resolver el problema anterior puede conseguirse aplicando en modo secuencial e interactivo los siguientes comandos: El comando reset elimina de la memoria de AMPL el modelo y los datos de trabajos anteriores. El comando model envía al procesador de comandos el modelo que queremos resolver. Para ello es necesario señalar la ubicación exacta del correspondiente fichero .mod, mediante la indicación del camino o path. Con el comando option solver se elige el solver con el que queremos resolver el modelo actual; dependiendo del tipo de problema a resolver elegiremos el más adecuado. De momento, elegiremos la opción option solver cplex. El comando solve llama al solver elegido y aplica el algoritmo correspondiente, obteniéndose una solución óptima. Una vez obtenida una solución óptima, podemos elegir qué resultados queremos que el ordenador nos muestre. Para ello tenemos los comandos display, print y printf. Ellos nos permiten mostrar en pantalla datos, resultados o mensajes de texto preestablecidos. Por ejemplo, después de resolver el Ejemplo1, podemos escribir en la ventana sw.exe: display x1, x2; y después de leer en pantalla los valores de x1 y x2 podemos escribir: display objetivo; con lo que obtendremos en pantalla el valor de la función objetivo.

Solución de Problemas 61. Un fabricante de electrodomésticos produce cuatro modelos de lavadoras L1, L2, L3 y L4. Estos aparatos constan fundamentalmente de un tambor metálico recubierto con una carcasa, el cual gira por efecto de un motor eléctrico controlado por un microprocesador electrónico. Los modelos L1, y L3 son lavadoras con menor capacidad de carga (4 kg), necesitando 5 m2 de material metálico, mientras que los modelos L2, y L4 que cargan 10 kg, requieren 8,5 m2 de material metálico. La cantidad de material metálico 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 prácticamente sin limitación. 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 sección de la planta de montaje o se pueden encargar a un fabricante de material electrónico. En el primer caso, compiten con la fabricación de los motores M1 yM2 necesitando 0,3 horas la fabricación de P1, a un costo de 100000 unidades monetarias y 0,75 horas la fabricación 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 producción mínima de cada modelo sea de 300 unidades. Como dato adicional se conoce, según 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 producción combinada de los modelos L2 y L4 debe ser superior a la producción 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 programación lineal para la planificación de la producción de las lavadoras teniendo como objetivo la maximización de los beneficios. DEFINICIÓN DE VARIABLES:

X1: Número de lavadoras L1 a fabricar X2: Cantidad de lavadoras L2 producir X3: Número de lavadoras L3 a fabricar X4: Cantidad de lavadoras L4 a producir X5: Número de microprocesadores P1 a fabricar en la empresa X6: Cantidad de microprocesadores P1 a comprar

X7: Número de microprocesadores P2 a producir en la empresa X8: Cantidad de microprocesadores P2 a comprar X9: Número de motores M1 a fabricar X10: Cantidad de motores M2 producir Z: Función de utilidad correspondiente a la ganancia por la venta de lavadoras modelos L1, L2, L3 y L4. Modelo (primal): MAX Z = 160000 X1 + 170000 X2 + 180000 X3 + 200000 X4 - 100000 X5 180000 X6 - 180000 X7- 360000 X8 Restricciones: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

5X1 + 8,5 X2 + 5 X3+ 8,5 X4 < 10000 0,3 X5 +0,75 X7+ X9+ 1,5 X10 < 3000 1,5 X1 + 2,3 X2 + 3 X3 + 4,2 X4 < 5000 - X1 - X2 + X9 > 0 X3 - X4 + X10 > 0 X1 + X2 - X5 - X6 < 0 X3 + X4 - X7 - X8 < 0 - X1 + X2 - X3 + X4 > 0 X1 > 300 X2 > 300 X3 > 300 X4 > 300

X > 0 Todo i= 1,2, 3,4, 5, 6, 7, 8, 9, 10 Solución en AMPL:

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 Interpretación: La planificación óptima para la fabricación de lavadoras será la siguiente: 440 lavadoras tipo 1 y 300 lavadoras tipo 3 se fabricarán, 440 lavadoras tipo 2 y 300 lavadoras tipo 4 se producirán, los microprocesadores P1 a fabricar en la empresa serán 881, no se comprarán microprocesadores P1, se fabricarán 600 microprocesadores P2 y no se comprarán ninguno de ellos. Los motores M1 a fabricar serán 881 y motores M2 a producir será cero. Por último la ganancia por la venta de las lavadoras será 63296296.3. 62. Un país está atravesando una aguda crisis económica a raíz del enorme incremento de la deuda externa. Uno de los efectos más visibles de la crisis es el carácter 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 económicos (inflación, devaluación, 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 política de inversión a corto y muy corto plazo como mecanismo de defensa ante la inestabilidad del mercado. Uno de estos inversionistas está estudiando cómo 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 inversión, uno proporcionado por un organismo estatal y el otro proveniente de una fuente extranjera. Para la obtención de estos índices de calidad se tienen en cuenta conceptos tales como liquidez y riesgo, de difícil cuantificación; 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 Inversión 1 2 3 4 5 6

Tipo Bonos empresa privada Bonos estatales Deuda pública nacional Deuda pública regional Pagarés estatales Moneda Extranjera

Organismo Estatal C

Fuente Extranjera 95

Días

Neto

10

3,16

B A

85 92

15 21

3,99 6,30

B

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 máximos beneficios. No obstante, el asesor financiero le aconseja que diversifique su inversión 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 pública. c) La razón entre las inversiones en efectos de titularidad pública (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 más de un 60% en inversiones catalogadas por el organismo estatal con un índice inferior o igual a B. e) La calidad media de la inversión según el índice de fuente extranjera debe ser como mínimo 92. f) Debido a las disposiciones legales, la cantidad máxima que puede invertirse en pagarés estatales es de 4000000 unidades monetarias. g) La duración media de la inversión debe estar comprendida entre 14 y 21 días.

Plantear el anterior problema como un modelo de programación lineal. Modelo (Primal): MAX Z = 3,16X1 + 3,99X2 + 6,30X3 + 5,94X4 + 6,38X5+ 1,75X6 Definición de Variables: X1: Cantidad colocada en la inversión 1 (en millones de unidades monetarias) X2: Cantidad colocada en la inversión 2 (en millones de unidades monetarias) X3: Cantidad colocada en la inversión 3 (en millones de unidades monetarias) X4: Cantidad colocada en la inversión 4 (en millones de unidades monetarias) X5: Cantidad colocada en la inversión 5 (en millones de unidades monetarias) X6: Cantidad colocada en la inversión 6 (en millones de unidades monetarias) Z: Función de utilidad correspondiente a la ganancia obtenida de acuerdo con las inversiones realizadas 1, 2, 3,4, 5 y/o 6 Restricciones: 1. X1 + X2 + X3 + X4 + X5 + X6 < 10 2. X2 + X3 + X5< 7 3. X1 + X2 - X3 - X4 < 0 4. -3 X1 + X2 + X3 + X4 + X5 -3X6 < 0 5. X1 + X2 + X4 + X5 < 6 6. 3X1 -7X2 - 2X4 +5 X5 + X6 > 0 7. X5 < 4 8. 4X1 – X2 - 7 X3 -7X4 -16 X5 + 7X6 < 0 9. - 11X1 -6X2 + 9X5 - 14X6 < 0 10. 11 X1 + 6 X2 - 9 X5 + 14 X6 > 0 X. > O Vi = 1,2, 3, 4, 5, 6 Solución en AMPL:

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 Interpretación: 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 combinación de ambos) diariamente. El departamento de acabado puede trabajar sobre 1500 pantalones o sobre 2000 blusas (o una combinación de ambos) cada día; el departamento de mercadeo requiere que se produzcan diariamente al menos 400 pantalones. Si el beneficio de un pantalón es de 4000 unidades monetarias y la utilidad de una blusa es de 3000 unidades monetarias. ¿Cuántas unidades se deben de producir de cada uno para maximizar las utilidades? Plantear el anterior problema como un modelo de programación lineal. VARIABLES DE DECISIÓN: X1: Cantidad de pantalones a producir diariamente X2: Número de blusas a fabricar por día Z: Función 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 Solución en AMPL:

Valores de las variables: X1 = 400 X2 = 1466.67 Z = 6e+06 Interpretación: Para maximizar las utilidades se deberá producir diariamente 400 pantalones, 1466 blusas, y la máxima utilidad será de 6e+06 unidades monetarias. 64. La Granja Manizales tiene como actividad principal la cría y engorde de cerdos destinados al consumo humano, como también a la fabricación de embutidos. La tarea principal encargada por medio del veterinario es supervisar la preparación de un alimento (salvado) especial, reconstituyente para alimentar una carnada que se encuentra convaleciente de una leve enfermedad. Se precisan 1000 kg del alimento cuya composición debe cumplir las siguientes especificaciones: a) La cantidad de peso de hidratos de carbono (H) debe estar comprendida entre un 40% y un 70%. b) La cantidad en peso de proteínas (P) debe estar entre un 15% y un 50%. c) La cantidad de peso en grasas (G) debe estar comprendida entre un 10% y un 30%. d) La cantidad en peso de minerales (M) debe ser superior al 3%. Para la preparación del alimento se puede recurrir a tres tipos de concentrado proporcionados por la compañía Finca, dos tipos de harina de pescado suministrados por la empresa Purina o bien comprar directamente en el almacén paquetes de minerales con la composición adecuada. La siguiente tabla muestra la composición porcentual en peso de cada uno de estos productos, así como su costo por kilogramo:

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 debería repartirse de manera equitativa entre ambas empresas Finca y Purina. En este sentido, lo más que podría tolerarse es una diferencia entre los dos pedidos de hasta un 20% de la cantidad total pedida a ambos proveedores. Por otra parte, la compañía Finca ha avisado que las existencias de su concentrado más barato el A, son un tanto escasas, por lo que solo podrá suministrar a tiempo máximo 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. DEFINICIÓN DE VARIABLES: Xa: Cantidad de kg de concentrado A para incluir en los 1000 kg de alimento Xg: Número 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: Número 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: Función 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 Solución en AMPL:

Valores de las variables: Xa = 336.728 Xb = 0 Xc = 57.1803 X1 = 0 X2 = 590.863 Xm = 15.2284 W = 20747.6 Interpretación: La cantidad de kg del elemento A será de 336.728, no se usará nada de salvado de trigo ni de harina del tipo 1, del elemento C se tomará 57 kg aproximadamente, de harina tipo 2 será de 590 kg, los minerales a mezclar serán de 15 kg y por último para reducir el costo de alimentación del ganado porcino será de 20747.6 65. Una empresa produce bobinas de papel de 500 metros de longitud y un metro de ancho; se ha estimado que la demanda para el mes próximo es de: 500 bobinas de 20 cm de ancho, 400 bobinas de 30 cm de ancho, 250 bobinas de 40 cm de ancho y 300 bobinas de 70 cm de ancho (todas las bobinas son de 500 metros de longitud). El fabricante debe cortar las bobinas de un metro de ancho con el tamaño de las peticiones para satisfacer la demanda, pero también desea que el desperdicio en el corte (sobrantes iguales o superiores a 10 cm) sea tal que el número de bobinas que fabrique de un metro sea mínimo y reducir con ello el costo de producción

Patrones

20

30

40

70

1

5

0

0

0

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

Definición de Variables: Xi: Número de bobinas a cortar de 500 metros según el patrón i, i = 1, 2, 3, 4, 5, 6, 7, 8, 10 W: Función 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.

5 X1 + 3 X2 + 3X3 + X4 + X6 + X9 + 2X10 > 500 X3 + X5 + X6 + 2 X7 + 3 X8 +2X10 > 400 X2 + X6 + X7 +2X9 > 250 X4+ X5 > 300 Xi > 0 V i= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Solución en AMPL: Número 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 máximo apoyo para que se apruebe en el congreso el plan de desarrollo propuesto para el próximo año. A través de sus consejeros ha sabido que hay 35 congresistas de un grupo de coalición y 27 de otro partido que aun no han definido su voto. El presidente decide entonces concertar por teléfono con estos congresistas indecisos para convencerlos de que lo apoyen, sabiendo que tiene una probabilidad 0.9 de éxito con los miembros de la coalición y 0.6 de otro partido. ¿Cuántos congresistas de cada partido deberán telefonear para maximizar su probabilidad de éxito si no puede realizar un número total de llamadas superior a 30 en el actual régimen de austeridad?

Definición de Variables: Xc: Cantidad de congresistas de la coalición Xo: Numero de congresistas de otro partido Z: Función de maximización del éxito Modelo (primal): MAX Z= 0.9Xc+0.6Xo Restricciones: 1. Xc + Xo