top of page
  • T9

Optimización

Actualizado: 9 ene 2020

En esta entrada te enseñaremos como resolver problemas de optimización que podremos encontrar en la vida real usando R.



Tenemos cuatro cultivos de bacterias distintas y calculamos la producción de una molécula antibiótica que secretan a lo largo de tres meses, conociendo cuánto secretarán al mes podemos calcular cuantos gramos de un fármaco antibiótico podremos producir con las moléculas antibióticas de los cultivos. Pero solo podemos producir, con los medios que tenemos, un máximo de 18 gramos de moléculas antibióticas al mes en total (es decir, sumando lo producido en los cultivos). Lo que queremos saber es cuales de los cuatro cultivos serían los mejores para producirle mayor número de gramos de fármaco antibiótico teniendo en cuenta las limitaciones que tenemos.

DATOS:

Del cultivo 1 el primer mes tendremos 5 gramos, el segundo 1g y el tercero 8g, se espera obtener 20 gramos de fármaco antibiótico.

En el segundo cultivo, el primer mes se espera obtener 4 g, el segundo mes 7 g y el tercero 10g, por lo que se espera poder sacar 40 gramos de fármaco.

Del tercer cultivo el primer mes se calcula que se obtendrán 3 g, el segundo 4g y el tercero 2g y se espera poder producir 20 gramos de fármaco.

Del cuarto cultivo se espera tener 7 g el primer mes, 9g el segundo y 1g el tercero y por tanto se espera producir 25 gramos de fármaco


Para poder resolver este problema habrá que instalar un pack en R y se puede encontrar en herramientas o en packages & Data. Ahí buscas el pack lpSolve y lo instalas, una vez hecho esto podremos resolver el problema.

Primero definiremos las variables Xj de manera que si el resultado es 1 el proyecto con el cultivo se acepta, mientras que si es 0 el proyecto no es viable y por tanto debemos descartarlo,


1º paso: Definiremos la ecuación que queremos maximizar que en este caso será:

20X1+ 40X2+ 20X3+ 25X4. De esta expresión sabemos que X1 pertenecerá al primer cultivo, X2 al segundo y así sucesivamente.


2º paso: Ahora debemos crear las restricciones para que se pueda calcular y determinar si la muestra es viable o no.

5X1+ 4X2+ 3X3+ 7X4 <=18

X1+ 7X2+ 4X3+ 9X4 <=18

8X1+ 10X2+ 2X3+ X4 <=18

X1+0+0+0<=1 ; 0+X2+0+0<=1 ; 0+0+X3+0<=1 ; 0+0+0+X4<=1


3º paso: Ahora procederemos a crear el programa en R. Para empezar tendremos que escribir Library(lpSolve) para que R sepa que tiene que usar este pack.

A continuación, escribiremos "coef= c(20, 40, 20, 15)" para crear nuestro vector con los datos finales y además construiremos una matriz "A" dónde pondremos las restricciones. La primera fila será (5, 1, 8, 1, 0, 0, 0) y hacemos lo mismo con las respectivas restricciones de cada muestra llegando a obtener 4 filas.

Una vez hecho esto creamos un vector "b" que tenga los valores de las restricciones que se encuentran al lado derecho de la igualdad.

Para poder continuar debemos escribir "dir= rep('<=', 7)" para que podamos resolver nuestro problema, que si nos fijamos el número que se pone en "rep" será el mismo que el número de columnas que contenga nuestra matriz "A".

4º paso: Obtener las soluciones. Para ello tendremos que poner lo siguiente:

solucion= lp('max', coef, A, dir, b)

solucion$objval (esta función nos permitirá saber cual es el valor optimo de los resultados)

solucion$solution # nos dará el resultado de lo planteado en : X1+0+0+0<=1; 0+X2+0+0<=1 ; 0+0+X3+0<=1; 0+0+0+X4<=1)

solucion= lp('max', coef, A, dir, b, all.int=TRUE)

solucion$objval

solucion$solution

Al hacer esto obtendremos unos valores en solucion$solution que serán 1011 que nos indicarán que los cultivos 1, 3 y 4 serán los mejores para nuestro experimento.

Con esta herramienta podemos evaluar que muestras nos puede interesar usar antes de realizar nuestro experimento.

A continuación encontrarás 2 enunciados de ejercicios donde se puede usar esta herramienta para ver si la has entendido y sabes usarla y luego se adjunta la solución para ver si lo has hecho correctamente y en caso de que no se haya hecho bien podrás comprobar en que paso te has equivocado.




Ejercico 1: Tenemos que evaluar cuanto cuestan las practicas de la universidad con el fin de que los alumnos puedan realizar el mayor número de prácticas en el primer cuatrimestre.

Se plantean 7 practicas y hay que evaluar el dinero que se va a gastar en tinciones, en materiales necesarios para las practicas (normalmente el mantenimiento consiste en germinar y mantener las plantas que se van a emplear en el experimento) y finalmente se va a tener en cuenta el mantenimiento de las máquinas que se emplearán como los microscopios, lupas etc. para todo ello dispondremos de 30 mil € en cada categoría de presupuesto.

TINCIONES MATERIALES MANTENIMIENTO

Práctica 1: 7 MIL € 4 MIL € 9 MIL €

Práctica 2. MIL € 5 MIL € 3 MIL €

Práctica 3: 5 MIL € 8 MIL € MIL €

Práctica 4: 2 MIL € 5 MIL € 9 MIL €

Práctica 5: 6 MIL € 12 MIL € 7 MIL €

Práctica 6: 14 MIL € 8 MIL € 8 MIL €

Práctica 7: 11 MIL € 2 MIL € 3 MIL €

Como siempre ocurre al final hay más gastos de los calculados previamente como pagar a los profesores, gente de limpieza, luz, calefacción etc. por lo que se calcula que cada practica costará 20 mil €/ 40 mil €/ 20 mil €/ 25 mil €/ 30 mil€/ 50 mil €/ 25 mil € (estos precios están ordenados).

SOLUCIÓN: Las prácticas que se podrán realizar en el primer cuatrimestre serán las prácticas 1, 2, 3, 4 y 6




EJERCICIO 2: Tenemos 5 subespecies de una misma planta y queremos saber cual será su producción de O2 si se le somete a diferentes situaciones en las que la planta se verá favorecida para la producción de O2. Al someterlas a las situaciones vemos como los niveles de CO2 también aumentan por lo que en cada situación el máximo de moles de CO2 que podemos producir será 14 moles, 20moles , 47 moles y 10 moles.

Las situaciones a las que se somete la planta serán las siguientes; con los datos ya adjuntos de la producción de moles de O2 por día (los datos se dan de manera que el primero corresponde a la primera subespecie, el segundo a la segunda y así sucesivamente).

TEMPERATURA DE 25º C CONSTANTES: 4,7 moles; 6,2 moles; 5,1 moles; 1,8 moles; 3 moles

HIDRATACIÓN DE LA TIERRA Y MINERALES OPTIMOS: 7,2 mol; 5,4 mol; 6 mol; 2,7 mol; 3,9 mol

12 HORAS DE LUZ Y 12 DE NOCHE: 14,6 mol; 17,2 mol; 13,9 mol; 10,5 mol; 9,3 mol

ATMÓSFERA CON UNA COMBINACIÓN OPTIMA DE GASES: 2 mol; 2,7 mol; 4mol; 0,9mol; 2,5 mol

Una vez sabemos estos datos queremos calcular cuales serán las subespecies que más nos interesen a la hora de replantar con bosque basándonos en su producción de O2 y limitando su producción de CO2. Debemos saber que se espera que en el bosque en el que los vamos a plantar la producción de moles de O2 por planta estimada sea: 30 mol; 32 mol; 31mol; 15 mol; 20 mol.

¿ Qué subespecies conviene plantar sabiendo que debemos repetar las restricciones dadas para obtener el mayor número de O2?

SOLUCIÓN: Emplearemos la subespecie 1, 2 y 5












23 visualizaciones0 comentarios

Entradas Recientes

Ver todo
bottom of page