trabajo fin de gradobibing.us.es/proyectos/abreproy/90097/fichero... · programación por metas...
TRANSCRIPT
Trabajo Fin de Grado
Grado en Ingeniería de Tecnologías Industriales
Optimización Multiobjetivo aplicada a la
formulación de un fármaco de administración
oftálmica
Autor: Francisco José Fernández Fernández
Tutor: Pedro Luis González Rodríguez
Departamento de Organización Industrial y
Gestión de Empresas I
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2014
Trabajo Fin de Grado
Grado en Ingeniería de Tecnologías Industriales
Optimización Multiobjetivo aplicada a la
formulación de un fármaco de administración
oftálmica
Autor:
Francisco José Fernández Fernández
Tutor:
Pedro Luis González Rodríguez
Profesor Titular de la Universidad
Departamento de Organización Industrial y Gestión de Empresas I
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2014
Trabajo Fin de Grado: Optimización Multiobjetivo aplicada a la formulación de un fármaco de
administración oftálmica
Autor: Francisco José Fernández Fernández
30258073-D
Tutor: Pedro Luis González Rodríguez
El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes
miembros:
Presidente:
Vocales:
Secretario:
Acuerdan otorgarle la calificación de:
Sevilla, 2014
El Secretario del Tribunal
A mi familia y amigos
A mis maestros
i
Agradecimientos
Para comenzar, quiero agradecer a D. Pedro Luis González Rodríguez haberme dado la oportunidad
de realizar este proyecto, atenderme y ayudarme siempre que lo he necesitado. A los profesores de la
rama de Organización y Producción, por enseñarnos el lado bueno e interesante de esta dura carrera,
así como a todos los profesores en general que se han preocupado de transmitir y hacer que
aprendamos cosas útiles más allá de teoría y demostraciones.
A los compañeros de la escuela, sobre todo a los que han formado parte de la clase de Organización,
ya que en los dos últimos años hemos pasado mucho tiempo juntos, ayudándonos cuando hacía falta
y distrayéndonos en los momentos que podíamos.
A mi familia, especialmente a mis padres, por apoyarme en los malos momentos y por los buenos
consejos que me han dado, así como su paciencia e insistencia en que estudiase.
A todos mis amigos, por todos los buenos momentos que hacen distraerte y despejar la mente en
aquellas situaciones en las que hay más problemas y preocupaciones.
A Laura, pos su apoyo incondicional y por compartir su tiempo conmigo.
iii
Resumen
En nuestro Trabajo Fin de Grado se pretende abordar un problema de optimización multiobjetivo no
lineal con métodos vistos en varias asignaturas de la carrera, sobre todo en Herramienta para la toma
de decisiones.
El problema surge a través de la Facultad de Farmacia, resultado de unos estudios para la producción
de un nuevo fármaco, y necesitaban una alternativa en el estudio del mismo.
Para ello, vamos a estudiar el origen del problema, adaptándolo a la configuración conocida para
poder resolverlo. Al ser un problema no lineal, hemos decidido resolver los métodos empleados con
el solver LINGO. Los métodos que hemos usado en el estudio del mismo son la Programación por
Compromiso y la Programación por Metas, donde hacemos un estudio diferente entre la
Programación por Metas Ponderadas y la Programación Lexicográfica Secuencial.
Pretendemos buscar una solución que aporte unos valores en las variables de forma que cumpla en
mayor o menor medida los métodos estudiados. Aunque no sea imprescindible, puesto que nuestra
misión es estudiar el problema con los métodos que seleccionemos, sería de gran utilidad para la
gente de farmacia aportar una solución que aporte claridad para su estudio.
v
Abstract
In this final year dissertation I would like to solve a non-lineal Multiobjective Optimization Problem
with techniques that we have seen in classes during the degree.
The problem that we are going to study comes from Faculty of Pharmacy in Seville.
I have to adapt the original problem to one which we know how to solve. Due to our problem is non-
lineal, we need to use LINGO, because this solver works with non-lineal problems. We have chosen
three different techniques, the first one is Compromise Programming, and the other two are
relationed with Goal Programming.
I am going to search a solution that gives us the result of the problem with a good level of reality for
the different techniques. Although I am going to do my best to find it, this is not the principal
objective of the project, because we have to explain with lot of details the methods we have
mentioned.
Índice
Agradecimientos i
Resumen iii
Abstract v
Índice vi
Índice de Tablas ix
Índice de Figuras xi
Notación xiii
1 Objetivo del Proyecto 1
1.1. Introducción 2
1.2. Objeto del Proyecto 3
1.3. Estructura del Documento 5
2 Introducción del Problema 7
2.1. Introducción 8
2.1.1 Estructura de un proceso de decisión 8
2.1.2 Conceptos básicos 9
2.1.3 Formulación general de un problema 10
2.2. Datos de entrada, variables y salidas 12
2.2.1 Factores que intervienen 12
2.2.2 Respuestas del sistema 14
3 Descripción del Problema 17
3.1. Ecuaciones de partida 18
3.1.1 Antes de la extrusión 18
3.1.2 Después de la extrusión 19
3.2. Formulación del problema 22
3.3. LINGO 25
3.3.1 Características principales 25
3.3.2 Sintaxis de LINGO 26
3.3.3 Dominio de variables 26
3.3.4 Operadores Lógicos 27
3.3.5 Interpretación de la solución 28
4 Descripción de la Solución 31
4.1. Introducción 32
4.2. Optimización de las salidas de forma individual 33
4.2.1 Antes de la extrusión 33
4.2.2 Después de la extrusión 37
4.3. Programación Multiobjetivo 42
vii
4.3.1 Introducción 42
4.3.2 Conceptos introducidos por Pareto 42
4.3.3 Normalización y ponderación preferencial de los criterios 44
4.3.4 Tasa de intercambio de objetivos 52
5 Método de resolución de Programación por Compromiso 53
5.1. Explicación del método general 54
5.2. Aplicación y resolución del método 57
5.2.1 Resolución del problema con la métrica p = 1 58
5.2.2 Resolución del problema con la métrica p = 2 61
5.2.3 Resolución del problema con la métrica p = ∞ 64
6 Métodos de resolución de Programación por Metas 71
6.1. Introducción 72
6.2. Niveles de aspiración y variables de decisión 73
6.3. Programación por Metas Ponderadas 76
6.4. Programación lexicográfica 81
6.4.1 Prioridad Q1 83
6.4.2 Prioridad Q2 85
6.4.3 Prioridad Q3 88
7 Conclusiones 93
Referencias 95
Bibliografía 97
ix
ÍNDICE DE TABLAS
Tabla 2–1 Variables codificadas 14
Tabla 3–1. Valores del ajuste de las ecuaciones de salida 21
Tabla 3–2 Nombre de las salidas 24
Tabla 3–3. Lista de operadores lógicos de la herramienta LINGO 27
Tabla 3–4. Lista de operadores lógicos de la herramienta LINGO 28
Tabla 4–1. Solución de la herramienta Lingo a la función tamaño antes de la extrusión 33
Tabla 4–2. Solución de la herramienta Lingo a la función IP antes de la extrusión 34
Tabla 4–3. Solución de la herramienta Lingo a la función ZetaPot antes de la extrusión 35
Tabla 4–4. Solución de la herramienta Lingo a la función EE antes de la extrusión 36
Tabla 4–5. Solución de la herramienta Lingo a la función tamaño después de la extrusión 37
Tabla 4–6. Solución de la herramienta Lingo a la función IP después de la extrusión 38
Tabla 4–7. Solución de la herramienta Lingo a la función ZetaPot después de la extrusión 39
Tabla 4–8. Solución de la herramienta Lingo a la función EE después de la extrusión 40
Tabla 4–9. Resumen de los resultados de las ecuaciones 41
Tabla 4–10. Conjunto de soluciones eficientes 43
Tabla 4–11. Pesos (importancia) de las salidas del sistema (método básico). 49
Tabla 4–12. Matriz de comparación propuesta por Saaty. 50
Tabla 4–13. Pesos (importancia) del sistema (ambos métodos). 51
Tabla 5–1. Datos de los objetivos para la programación por compromiso 57
Tabla 5–2. Solución de la programación por compromiso con métrica p = 1 59
Tabla 5–3. Solución de la programación por compromiso con métrica p = 2 63
Tabla 5–4. Solución de la programación por compromiso con métrica p = ∞ 66
Tabla 5–5. Resultados de la programación por compromiso con pesos por el método básico. 68
Tabla 5–6. Resultados de la programación por compromiso con pesos método Saaty. 69
Tabla 6–1. Posibilidades en las variables de desviación 73
Tabla 6–2. Variables de desviación de nuestro problema 74
Tabla 6–3. Valores de las variables de desviación de nuestro problema 75
Tabla 6–4. Solución de la programación por metas ponderadas 78
Tabla 6–5. Resultados de la programación por metas ponderadas 80
Tabla 6–6. Solución del modelo lexicográfico secuencial para la prioridad Q1 84
Tabla 6–7. Solución del modelo lexicográfico secuencial para la prioridad Q2 87
Tabla 6–8. Solución del modelo lexicográfico secuencial para la prioridad Q3 89
Tabla 6–9. Solución final del modelo lexicográfico secuencial 91
xi
ÍNDICE DE FIGURAS
Figura 2-1. Esquema del sistema. 12
Figura 2-2. Esquema de las variables. 14
Figura 2-3. Esquema de las respuestas. 16
Figura 4-1. Código de Lingo optimizando la función tamaño antes de la extrusión. 33
Figura 4-2. Código de Lingo optimizando la función IP antes de la extrusión. 34
Figura 4-3. Código de Lingo optimizando la función ZetaPot antes de la extrusión. 35
Figura 4-4. Código de Lingo optimizando la función EE antes de la extrusión. 36
Figura 4-5. Código de Lingo optimizando la función tamaño después de la extrusión. 37
Figura 4-6. Código de Lingo optimizando la función IP después de la extrusión. 38
Figura 4-7. Código de Lingo optimizando la función ZetaPot después de la extrusión. 39
Figura 4-8. Código de Lingo optimizando la función EE después de la extrusión. 40
Figura 4-9. Preferencias en la salida del sistema. 48
xiii
Notación
A* Conjugado
c.t.p. En casi todos los puntos
c.q.d. Como queríamos demostrar
∎ Como queríamos demostrar
e.o.c. En cualquier otro caso
e número e
∞ Infinito
Ln(x) Logaritmo neperiano de x
∂x
∂y
Derivada parcial de x
Derivada parcial de y
: Tal que
< Menor que
> Mayor que
≤ Menor o igual que
≥ Mayor o igual que
\ Backslash
⇒ Si y entones
⇔ Si y sólo si
min Minimizar
Max Maximizar
s.a. Sujeto a
∈ Pertenencia de conjunto
⊆ Subconjunto
VDND Variable de desviación no deseada
1
1 OBJETIVO DEL PROYECTO
L presente proyecto se redacta con carácter de Trabajo de Fin de Grado, para la obtención por
parte de quien lo suscribe del título de Graduado en Ingeniería de las Tecnologías Industriales,
perteneciente a la Escuela Técnica Superior de Ingeniería de la Universidad de Sevilla.
E
Obra siempre de modo que tu conducta pudiera
servir de principio a una legislación universal.
-Immanuel Kant -
Objetivo del Proyecto
2
1.1. Introducción
Este proyecto surge gracias a la colaboración y aportación del tutor del mismo, el profesor D. Pedro
Luis González Rodríguez, ofreciendo la posibilidad de estudiar técnicas de decisión multicriterio en
un enfoque multiobjetivo, a través de un problema de optimización no lineal. Dicho problema es el
resultado de un Trabajo Fin de Máster, realizado en Julio del año 2013 por la licenciada Dª Carmen
Martina Arroyo García, titulado “Formulación y caracterización de transferomas para administración
oftálmica: Diseño Experimental”.
En este trabajo Fin de Máster se describe el proceso completo desde la introducción de conceptos,
causas, factores de riesgo, epidemiología y clasificación de diversos aspectos, como los materiales,
equipos e instrumentación, cuantificación y caracterización de las técnicas empleadas para realizar
los procesos en el laboratorio. Ambos campos no son de nuestra incumbencia, debido a la intrínseca
relación con el mundo de la farmacia y la biología.
Nuestro estudio comienza con el Diseño Experimental, momento en el que aparecen las ecuaciones y
variables con las que empezaremos a trabajar. Asimismo, es conveniente reseñar que en el Trabajo
Fin de Máster, los principales puntos sobre los que se llevó a cabo el trabajo fueron:
La evaluación de la influencia de factores variables de la formulación especificados en una
matriz experimental, sobre cada una de las respuestas, determinando las variables del
proceso que presenten significación estadística sobre la respuesta analizada.
Los porcentajes de contribución de cada uno de los factores y las interacciones entre ellos.
La optimización de todas las respuestas con el fin de conocer los niveles de los factores que
alcanzarían valores máximos o mínimos deseados.
En definitiva, el trabajo que estamos describiendo se centró, dentro del campo matemático y de la
optimización, en el análisis individual de las respuestas. Es especialmente destacable que en el
estudio sólo se incluyeron los factores aislados, no así las diversas interacciones entre ellos. En
contraposición, en nuestro Trabajo Fin de Grado pasaremos por alto el estudio de las respuestas de
forma individual, así como la interpretación física y farmacológica de los resultados. En el presente
trabajo fin de grado abordaremos el problema desde un punto de vista multiobjetivo, aplicando
técnicas de optimización matemática estudiadas durante la carrera, concretamente en la asignatura de
Herramientas para la toma de decisiones.
3 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
1.2. Objeto del Proyecto
El presente proyecto tiene como objetivo general definir distintos métodos para el estudio completo
de un problema de optimización multicriterio previamente definido, así como la interpretación de las
soluciones que obtengamos.
Comenzaremos estudiando el problema desde una perspectiva general, para pasar a estudiar cada una
de las funciones que actúan como salidas del sistema. Acto seguido, y con un peso mayor en la
importancia global del trabajo, nos centraremos en el estudio de la interrelación de las variables y la
forma con la que afecta al sistema global, para poder obtener de una forma clara y concisa qué
combinación o combinaciones de variables son las que resultan óptimas desde un punto de vista
multiobjetivo y diferente al análisis individual de las respuestas estudiado en el Trabajo Fin de
Máster de partida.
Como nuestro trabajo surge a través de los experimentos realizados en la Facultad de Farmacia
(Universidad de Sevilla), debemos sacar unas conclusiones realistas acerca del valor que deben
tomar las variables que intervienen en los experimentos para ver qué combinación de las mismas es
acertada para los resultados buscados. Por esta razón, nos han explicado la importancia relativa que
tienen las funciones objetivos que actúan como salidas del sistema, puesto que satisfacer todos los
objetivos, estando enfrentado entre ellos, se antoja imposible. Por esta razón, pretendemos sacar unas
conclusiones acertadas en cuánto al valor que tomarán algunas de las variables, indicando el valor
del factor de entrada para los experimentos, y no el valor que nos dé como resultado el valor de la
variable en el proceso de optimización.
Dicho de otra forma, y a modo de resumen, en los laboratorios de farmacia donde se realizaron los
experimentos, usaron unos factores con diversas posibilidades de elección para cada uno, y quieren
unos valores determinados al terminar el procedimiento para las salidas de manera conjunta, teniendo
en cuenta los objetivos, en muchos casos contrapuestos. Para estudiar el problema, y que no tuvieran
que hacer todas las combinaciones posibles en los experimentos, se codifican los factores que actúan
como variables de entrada para nosotros, de forma que podamos emplearlas en los métodos de
programación que vamos a usar. Cada una de las variables tendrá unas condiciones particulares en
función de los valores que puedan tomar en la vida real, unas serán continuas y otras discretas, pero
sin ningún patrón previamente establecido. Codificando las respuestas de salida para transformarlas
en funciones objetivo, y estudiando el problema con distintos métodos, pretendemos encontrar
alguna solución aceptable para todos los métodos que vamos a ver y que, además, cuando saquemos
los valores de las variables, y volvamos a transformarlos en valores reales de los factores, puedan
aportar información en los experimentos que antes hemos citado.
Asimismo, este documento ha de servir como explicación teórica y práctica de los distintos métodos
y técnicas empleadas sobre la programación multiobjetivo, en concreto, al tratarse de un problema no
lineal, no podremos abordar todos ellos de la forma más simple pues no es válido para nuestro caso.
Para la realización de los apartados donde necesitamos una herramienta para la formulación y
resolución de problemas no lineales hemos recurrido a la aplicación LINGO, debido a la simplicidad
del lenguaje y al gran parecido con el lenguaje de modelado matemático tradicional que usa.
Objetivo del Proyecto
4
El motivo principal que me ha llevado a la realización del presente trabajo es el tema de la
optimización. Hemos visto muchos aspectos relacionados con la optimización a lo largo de la
carrera. Normalmente, eran problemas y planteamientos lineales, y aunque este problema en
concreto no es así, consideraba un reto el enfrentarme a un tema tan interesante desde un punto de
vista no tan conocido.
Además, la optimización es una de las principales funciones de un ingeniero, así como la eficiencia.
Si el problema que se plantea se resuelve utilizando el menor número de recursos posibles, eso se
traduce en dinero, y es ahí donde radica la mayor diferencia entre unos y otros a la hora de
diferenciarse en la vida real.
Por último, destacar el interés en la generalidad de los métodos empleados. Esto es debido a la mayor
facilidad en el momento de realizar posibles cambios futuros en alguna de las formas de la sintaxis o
en cualquier parte del problema. En cambio, si lo hubiésemos hecho totalmente aplicado y centrado
en nuestro problema en cuestión, podríamos haber satisfecho el fin específico de resolver nuestras
funciones objetivos, pero no se podría decir lo mismo del objetivo general de generar una solución
válida para problemas de la misma índole.
Para abordar el objetivo general anteriormente mencionado, vamos a abordar diferentes objetivos
específicos (OE):
OE1.- Interpretar el problema de estudio, describiendo los aspectos y datos más importantes
de partida, adaptándolo a una formulación general de un problema multiobjetivo (Capítulo
2).
OE2.- Describir el problema de forma general y seleccionar la herramienta de resolución más
adecuada (Capítulo 3).
OE3.- Optimizar las respuestas de forma individual (Capítulo 4).
OE4.- Optimizar las respuestas desde el punto de vista multiobjetivo. Aspectos importantes
incluidos: ponderaciones y tasas de intercambio (Capítulo 4).
OE5.- Aplicar Método de Programación por Compromiso (Capítulo 5).
OE6.- Aplicar Método de Programación por Metas (Capítulo 6).
5 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
1.3. Estructura del Documento
El proyecto se estructura de la siguiente manera:
El primer Capítulo se dedica a realizar una introducción del objetivo general y justificación
del proyecto, detallando los objetivos específicos que intervienen en el mismo y la estructura
del documento.
En el Capítulo 2 se realiza una primera parte introductoria, donde explicamos la procedencia
del problema que vamos a estudiar, así como los objetivos que nos han llevado a realizarlo.
Con ello satisfacemos el objetivo específico 1.
El Capítulo 3 lo dedicamos a describir el problema que nos concierne propiamente dicho.
Explicamos las características del sistema completo, y se realiza una primera formulación del
procedimiento general. De esta forma abordamos el segundo objetivo específico.
En el cuarto Capítulo, describimos la solución general, introduciendo los conceptos que
intervienen en la programación multiobjetivo y el primer estudio de las funciones objetivo
que actúan como salidas del sistema, todo ello destinado a satisfacer el objetivo específico 3.
Los Capítulos 5 y 6 estudian el problema mediante la Programación por Compromiso y por
Metas respectivamente, abordando los dos últimos objetivos específicos.
Un último capítulo de Conclusiones donde trataremos de ver si hemos cumplido o no con el
objetivo planteado.
7
2 INTRODUCCIÓN DEL PROBLEMA
N problema es todo aquello que necesita ser resuelto. Se puede considerar de una forma
genérica como una pregunta o interrogante sobre cualquier tema que no se sabe o se
desconoce, y cuya solución es la respuesta o el nuevo conocimiento obtenido mediante el
desarrollo de la solución.
U
Nunca consideres el estudio como una obligación,
sino como una oportunidad para penetrar en el
bello y maravilloso mundo del saber.
-Albert Einstein -
Introducción del Problema
8
2.1. Introducción
Nuestro problema se centra en el estudio de un problema de decisión en el que tenemos una serie de
variables y funciones objetivo. En concreto, en nuestro proyecto intervienen cinco variables y ocho
funciones objetivo, pero no las vamos a presentar ahora porque hemos dedicado una sección
exclusivamente a ello.
Si tomamos como sistema el conjunto global de las variables y las funciones, debemos, pues,
estudiar el comportamiento de las salidas (funciones) ante las posibles combinaciones y cambios de
las entradas (variables). Presentaremos y describiremos los diferentes métodos empleados para este
estudio y sacaremos las conclusiones pertinentes.
2.1.1 Estructura de un proceso de decisión
Un proceso de toma de decisión se puede definir como la elección por parte de un individuo o un
grupo de ellos de lo mejor entre lo posible. Los problemas surgen cuando tenemos que definir qué es
lo mejor y qué es lo posible.
Si atendemos al enfoque más tradicional, hay unos recursos que no son infinitos, es decir, están
limitados, y esto supone una serie de restricciones para nuestro problema.
Ejemplo: Si tenemos una cesta con capacidad para cinco piezas de fruta que queremos llevar a la
playa, y tenemos en el frigorífico dos peras, dos manzanas y tres plátanos, tendremos que
seleccionar qué introduciremos en dicha cesta, pues todo no cabe.
Por tanto, las variables del problema tendrán que satisfacer estas restricciones para poder
proporcionar una solución que sea admisible. El conjunto de todas las soluciones admisibles se
denomina conjunto factible, alcanzable o admisible. Este conjunto puede ser continuo o discreto. Lo
llamamos continuo si el conjunto tiene infinitas soluciones y discreto si tiene un número finito de
soluciones admisibles.
Para esta primera parte del problema, en la que tenemos que seleccionar el conjunto admisible, sólo
necesitamos información que no depende de ningún criterio subjetivo, y aplicando algunas técnicas
conocidas, o simplemente atendiendo a la razón determinamos el conjunto de soluciones alcanzables.
Una vez que tenemos definido los componentes y la forma del conjunto factible, hay que seleccionar
de entre todas esas posibles combinaciones las mejores. En este momento, hay que definir unos
criterios que seleccionarán unas soluciones con preferencia a otras.
9 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
En este marco, siguiendo la estructura teórica, se encuadran tanto los problemas de decisión del
paradigma tradicional de la optimización como los que lo hacen por medio de la programación
matemática. De esta manera, encajamos las soluciones admisibles como aquellas que cumplen las
restricciones del problema. Las decisiones sobre las preferencias entre las soluciones se ordenan
según un criterio que representa las preferencias del centro decisor, llamado función objetivo. Si
recurrimos a técnicas matemáticas medianamente complejas, como puede ser el Simplex (válido
cuando tanto la estructura de las restricciones como la de la función objetivo son lineales) llegamos a
la solución óptima, siendo ésta la que alcanza un mejor valor de la función objetivo de entre todas las
que componen el conjunto admisible.
Esta estructura tiene una base sólida muy importante. Esto quiere decir que el método, desde un
punto de vista interno, roza la perfección. En contraposición, debemos reseñar que de forma externa,
aplicándolo a problemas reales, no es tan favorable.
En la vida real, la mayoría de los problemas no tienen un centro decisor que deba ordenar las
soluciones admisibles tomando como referencia un sólo criterio, sino que deben hacer esta tarea en
función de muchos y diversos puntos de vista. Por ello, investigadores de todo el mundo, han
centrado sus esfuerzos en los últimos cincuenta años acerca de centros decisores que barajen las
posibilidades de una forma más parecida a la que se hace en los problemas reales, y no tanto con la
formalidad matemática de un único objetivo. Se han desarrollado muchos métodos específicos en el
campo de la investigación operativa y la ingeniería de sistemas, algunos de ellos en los que nos
centraremos en el momento que debamos aportar una solución al problema.
En resumen, la teoría de decisión multicriterio ayuda a formalizar problemas complejos de decisión y
a tomar decisiones más coherentes que la teoría clásica.
2.1.2 Conceptos básicos
Para aportar mayor claridad a las explicaciones sobre los problemas de optimización y decisión
multicriterio, y en concreto del que abordaremos en este proyecto, comenzaremos explicando
algunos conceptos básicos relacionados con el tema. Son conceptos técnicos generales muy básicos,
aunque útiles a la hora de comenzar a estudiar el problema, pues en las explicaciones que se ilustren
en la sección de solución del presente proyecto aparecerán y hablaremos
2.1.2.1 Atributo
Valor observado (medido) de una decisión, independientemente de los deseos del decisor.
Introducción del Problema
10
2.1.2.2 Objetivo
Dirección de mejora de un atributo.
Será de maximizar o minimizar si es numérico, sino habrá que establecer previamente unas
preferencias. En general, los objetivos toman la forma Max f(x) o min f(x).
2.1.2.3 Nivel de aspiración
Nivel de logro aceptable para el correspondiente atributo.
2.1.2.4 Meta
Combinación de un atributo con su nivel de aspiración.
Es muy importante aclarar la diferencia entre meta y restricción. Una restricción (la ecuación que la
representa) ha de cumplirse siempre, sino la solución no será válida pues no pertenecerá al conjunto
de soluciones eficiente. Sin embargo, la ecuación de una meta puede no cumplirse, dicho en otras
palabras, lo ideal es que sí lo haga, pero no descartaremos una solución por no cumplir una de ellas,
pues la única información que esto nos aporta es que no se satisface el nivel de aspiración de la
misma, pero en ningún momento que esa solución no pertenezca al conjunto admisible.
2.1.2.5 Criterio
Término general que engloba los tres conceptos anteriores. Criterio es todo aquel objetivo, nivel de
aspiración o meta que se considera importante para un determinado problema.
2.1.3 Formulación general de un problema
Un problema genérico del tipo que vamos a estudiar en el proyecto que estamos presentando tiene la
siguiente forma:
𝐸𝑓min(𝑀𝑎𝑥)𝑓(𝑥) = [𝑓1(𝑥), 𝑓2(𝑥),… , 𝑓𝑞(𝑥)]
𝑠. 𝑎. 𝑥 ∈ �̌� ⊆ 𝑅𝑛;
�̌� 𝑒𝑠 𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛𝑒𝑠 𝑓𝑎𝑐𝑡𝑖𝑏𝑙𝑒𝑠 𝑞 𝑒𝑠 𝑒𝑙 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜𝑠 𝑑𝑒𝑙 𝑝𝑟𝑜𝑏𝑙𝑒𝑚𝑎
11 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Es independiente para el método de estudio que las funciones objetivo sean de minimizar o
maximizar, sólo lo tendremos en cuenta una vez que lleguemos a la solución, para poder interpretar
de una manera acertada los resultados. Asimismo, cada una de las funciones puede ser lineal o no
lineal. En nuestro caso, son todas no lineales, cosa que dificulta el problema pues los métodos para
resolver son más complejos.
Introducción del Problema
12
2.2. Datos de entrada, variables y salidas
En el presente proyecto, tenemos 5 factores de entrada al sistema y 8 funciones de salida, también
llamadas respuestas. A modo de ejemplo, presentamos un esquema.
Figura 2-1. Esquema del sistema.
En el proyecto realizado por la licenciada Dª Carmen Martina Arroyo García, el cual sirve de base
para realizar el presente documento, se desarrolló un estudio en el que se intentaba poner de
manifiesto la influencia que ejercen los distintos parámetros o factores (cantidad de colesterol,
cantidad y tipo de activador de borde, presencia o no de estearilamina e incorporación del fármaco en
fase acuosa o fase oleosa), sobre las respuestas (eficacia de encapsulación de los transfersomas,
tamaño, potencial zeta e índice de polidispersión) tanto antes como después de la extrusión.
2.2.1 Factores que intervienen
Los factores que intervienen en el estudio se detallan a continuación, y además, presentaremos la
codificación empleada en el proceso de optimización. Estos factores son las variables que usaremos
en los procesos de optimización. Son conceptos extraños de los que desconocemos prácticamente
todo pues no están en nuestro ámbito, pero los codificaremos de tal forma que no sea un problema y
podamos sacar conclusiones de una forma sencilla.
2.2.1.1 Cantidad de colesterol
Los experimentos se realizaron con cantidades comprendidas entre 20 y 27 ηmoles de colesterol. Al
ser una cantidad comprendida entre estos valores, esta variable es continua, pudiendo tomar
SISTEMA 5 factores 8 respuestas
13 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
cualquier valor intermedio entre los límites.
Nombre codificado: Ch
2.2.1.2 Tipo de activador de borde
Hay dos tipos, el primero es el desoxicolato sódico y el segundo Tween® 20. Esta variable es
discreta pues hay que seleccionar una de ellas.
Nombre codificado: TE
2.2.1.3 Cantidad de activador de borde
Los experimentos se realizan con una cantidad determinada del tipo de activador mencionado
anteriormente. Independientemente del elegido, oscila entre 10 y 12 mg. Tenemos pues, una variable
continua, pues tenemos que seleccionar un valor intermedio, a elegir por nosotros.
Nombre codificado: AEA
2.2.1.4 Estearilamina
Presencia o no de estearilamina. Variable discreta.
Nombre codificado: EA
2.2.1.5 Incorporación del principio activo
En fase acuosa (FA) o fase oleosa (FO). Variable discreta.
Nombre codificado: Dr
A modo de resumen, exponemos todas las variables en una tabla, adjuntando además, los valores
codificados que usaremos en la solución de las ecuaciones.
Introducción del Problema
14
Tabla 2–1 Variables codificadas
VARIABLE VALORES LÍMITE VALOR CODIFICADO
Ch 20 ηmoles 0
27 ηmoles 1
AEA 10 mg 0
12 mg 1
Dr FO (Fase oleosa) 0
FA (Fase acuosa) 1
EA Sí (Incorpora estearilamina) 0
No (No incorpora) 1
TE Tween® 20 0
Desoxicolato sódico 1
Figura 2-2. Esquema de las variables.
2.2.2 Respuestas del sistema
Como hemos señalado anteriormente, en nuestro proyecto intervienen ocho respuestas. Cuatro de
ellas pertenecen a antes y otras cuatro a después de la extrusión. La extrusión es un proceso que se
realizó en los laboratorios del proyecto de Dª Carmen Martina Arroyo García, y las respuestas
Ch
AEA
Dr
EA
TE
Continuas
Discretas
Variables
15 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
cambian completamente antes y después de la misma, por lo que hay que estudiarlas de forma
independiente.
Es importante señalar que el concepto de cada una de las salidas es el mismo, totalmente
independiente de la extrusión, que es lo que explicaremos a continuación, no así el comportamiento
de la función que lo representa, que es lo realmente importante y que estudiaremos en el siguiente
apartado.
2.2.2.1 Tamaño vesicular (Size)
El tamaño de las vesículas influye de forma notable en la estabilidad de los sistemas. Los lotes
estudiados están destinados a una administración oftálmica, la cual requiere tamaños de partículas
reducidos.
Nos interesa un tamaño reducido, es decir, tendremos que minimizar.
2.2.2.2 Índice de polidispersión (IP)
El índice de polidispersión es un parámetro que hace referencia a la homogeneidad / heterogeneidad
de la muestra analizada, con respecto a sus dimensiones. Representa una medida de la diferencia del
tamaño que suele tener la mayoría de los liposomas analizados en función de su diámetro medio. En
la práctica, cuanto mayor es el IP, mayor será la diferencia entre el tamaño medio de la población de
liposomas analizada y, por tanto, más heterogéneas serán las vesículas. Así, un valor elevado de IP
(0.8-1) es indicativo de una muestra heterogénea, mientras que un valor bajo de IP (< 0.2) indicará
una elevada homogeneidad de las vesículas en cuanto a sus dimensiones.
Debemos minimizar esta función.
2.2.2.3 Potencial zeta (ZetaPot)
El potencial zeta constituye un importante índice para la determinación de la estabilidad física de una
dispersión de liposomas.
También interesa minimizar.
2.2.2.4 Eficacia de encapsulación (EE)
Por lo general, los fármacos hidrofílicos se caracterizan por la penetración relativamente pobre a
través de las barreras biológicas, por lo que se pretende conseguir una eficacia de encapsulación lo
más elevada posible, que mantenga el mayor porcentaje de fármaco atrapado en el interior de las
vesículas.
Nos interesa maximizar.
Introducción del Problema
16
Figura 2-3. Esquema de las respuestas.
Size
IP
Zeta Pot
EE
Minimizar
Maximizar
Respuestas
17
3 DESCRIPCIÓN DEL PROBLEMA
N este capítulo vamos a empezar a trabajar con las ecuaciones pertenecientes a nuestro
problema, así como iremos introduciendo poco a poco conceptos relativos a la programación
multiobjetivo para poder resolver el problema final. Definiremos el problema completo y
nombraremos las funciones con las que vamos a trabajar.
E
El hombre nunca sabe de lo que es capaz hasta que
lo intenta.
- Charles Dickens -
Descripción del Problema
18
3.1. Ecuaciones de partida
En este apartado, vamos a definir las funciones que representan a las respuestas del sistema
explicadas anteriormente. Como hemos comentado, aquí sí tenemos que diferenciar las que se
refieren al momento antes de la extrusión de las que lo hacen después, pues aunque el concepto sea el
mismo, no se comportan de la misma forma. Los valores que proporcionen estas funciones con los
datos de las variables codificadas son los que usaremos en el proceso de optimización y toma de
decisiones.
Para determinar cuánto de buena es la aproximación de la ecuación con respecto al comportamiento
de la salida en términos reales, se tienen dos coeficientes. El primero de ellos es el coeficiente de
determinación (𝑅2), que mide cómo de bueno es el ajuste de la ecuación. Este valor oscila entre cero
y uno, pudiendo alcanzar los valores límites y siendo uno el valor que determina la perfección del
ajuste. El segundo es el MSE, segundo momento (sobre el origen) del error, incorporando tanto la
varianza del estimador como el sesgo. Al final del apartado, detallaremos en una tabla los valores de
cada uno de ellos en todas las ecuaciones, para tener la certeza de que el estudio lo realizamos con
datos fiables.
Nótese también, que de ahora en adelante emplearemos unos términos de siglas para referirnos a las
salidas para mayor comodidad. Usaremos indistintamente las siglas que mostraremos ahora y los
nombres tanto en español como en inglés.
3.1.1 Antes de la extrusión
3.1.1.1 Tamaño vesicular (Size o VS)
𝑉�̂�𝑙𝑜𝑔 = 3.02 + 0.077 × 𝐶ℎ + 0.0401 × 𝐴𝐸𝐴 − 0.0362 × 𝐷𝑟 − 0.136 × 𝐸𝐴
+ 0.0831 × 𝑇𝐸 − 0.105 × 𝐶ℎ × 𝐴𝐸𝐴 + 0.00995 × 𝐶ℎ × 𝐷𝑟+ 0.00905 × 𝐴𝐸𝐴 × 𝐷𝑟 + 0.0863 × 𝐷𝑟 × 𝐸𝐴 + 0.0398 × 𝐶ℎ × 𝑇𝐸+ 0.0144 × 𝐴𝐸𝐴 × 𝑇𝐸 − 0.104 × 𝐷𝑟 × 𝑇𝐸 − 0.121 × 𝐸𝐴 × 𝑇𝐸
𝑉�̂� = 10𝑉�̂�𝑙𝑜𝑔 (3–1)
Debemos tener en cuenta, que en un estudio previo se determinó que la respuesta de tamaño
vesicular se adaptaba mejor a su forma logarítmica, por lo que la ecuación de regresión viene
expresada según dicha transformación.
19 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
3.1.1.2 Índice de polidispersión (IP o PDI)
𝑃𝐷𝐼̂ = 0.103 + 0.411 × 𝐶ℎ − 0.201 × 𝐴𝐸𝐴 + 0.272 × 𝐷𝑟 + 0.39 × 𝐸𝐴 + 0.379× 𝑇𝐸 + 0.265 × 𝐶ℎ × 𝐷𝑟 + 0.172 × 𝐴𝐸𝐴 × 𝐸𝐴 − 0.462 × 𝐷𝑟 × 𝐸𝐴− 0.506 × 𝐶ℎ × 𝑇𝐸 + 0.24 × 𝐷𝑟 × 𝑇𝐸 − 0.564 × 𝐸𝐴 × 𝑇𝐸
(3–2)
3.1.1.3 Potencial Zeta (ZetaPot o ZP)
𝑍�̂� = 8.33 − 0.418 × 𝐶ℎ + 0.0624 × 𝐴𝐸𝐴 − 0.0856 × 𝐷𝑟 + 2.85 × 𝐸𝐴 + 0.499× 𝑇𝐸 − 0.727 × 𝐶ℎ × 𝐷𝑟 − 0.399 × 𝐴𝐸𝐴 × 𝐷𝑟 − 0.356 × 𝐴𝐸𝐴 × 𝐸𝐴− 0.516 × 𝐶ℎ × 𝑇𝐸 − 0.325 × 𝐴𝐸𝐴 × 𝑇𝐸 + 0.363 × 𝐷𝑟 × 𝑇𝐸 + 3.77× 𝐸𝐴 × 𝑇𝐸
(3–3)
3.1.1.4 Eficacia de encapsulación (EE o PDE)
𝑃𝐷�̂� = 37.9 + 12 × 𝐶ℎ + 4.72 × 𝐴𝐸𝐴 + 2.54 × 𝐷𝑟 + 7.75 × 𝐸𝐴 + 1.68 × 𝑇𝐸+ 3.32 × 𝐶ℎ × 𝐴𝐸𝐴 + 0.782 × 𝐶ℎ × 𝐷𝑟 − 2.97 × 𝐴𝐸𝐴 × 𝐷𝑟 + 7.73× 𝐶ℎ × 𝐸𝐴 − 1.15 × 𝐴𝐸𝐴 × 𝐸𝐴 + 8.79 × 𝐷𝑟 × 𝐸𝐴 − 3.45 × 𝐶ℎ × 𝑇𝐸− 6.79 × 𝐴𝐸𝐴 × 𝑇𝐸 + 2.28 × 𝐷𝑟 × 𝑇𝐸 + 1.3 × 𝐸𝐴 × 𝑇𝐸
(3–4)
3.1.2 Después de la extrusión
3.1.2.1 Tamaño vesicular (Size o VS)
𝑉�̂�𝑙𝑜𝑔 = 2.25 − 0.0179 × 𝐶ℎ − 0.00826 × 𝐴𝐸𝐴 + 0.00655 × 𝐷𝑟 − 0.0237 × 𝐸𝐴
− 0.00438 × 𝑇𝐸 + 0.0117 × 𝐶ℎ × 𝐴𝐸𝐴 − 0.00301 × 𝐶ℎ × 𝐷𝑟− 0.0167 × 𝐴𝐸𝐴 × 𝐷𝑟 + 0.0246 × 𝐶ℎ × 𝐸𝐴 + 0.00735 × 𝐴𝐸𝐴 × 𝐸𝐴− 0.0157 × 𝐷𝑟 × 𝐸𝐴 − 0.00889 × 𝐶ℎ × 𝑇𝐸 − 0.0119 × 𝐴𝐸𝐴 × 𝑇𝐸+ 0.0039 × 𝐷𝑟 × 𝑇𝐸 − 0.0294 × 𝐸𝐴 × 𝑇𝐸
𝑉�̂� = 10𝑉�̂�𝑙𝑜𝑔 (3–5)
Descripción del Problema
20
Igual que para el tamaño relativo a antes de la extrusión, en el mismo estudio se determinó
que la respuesta de tamaño vesicular se adaptaba mejor a su forma logarítmica, por lo que
la ecuación de regresión viene expresada según dicha transformación.
3.1.2.2 Índice de polidispersión (IP o PDI)
𝑃𝐷𝐼̂ = 0.189 − 0.00552 × 𝐶ℎ − 0.0039 × 𝐴𝐸𝐴 − 0.00102 × 𝐷𝑟 − 0.0214 × 𝐸𝐴+ 0.00281 × 𝑇𝐸 + 0.0111 × 𝐶ℎ × 𝐷𝑟 − 0.0094 × 𝐴𝐸𝐴 × 𝐷𝑟+ 0.0094 × 𝐶ℎ × 𝐸𝐴 + 0.00598 × 𝐶ℎ × 𝑇𝐸 − 0.0223 × 𝐸𝐴 × 𝑇𝐸
(3–6)
3.1.2.3 Potencial Zeta (ZetaPot o ZP)
𝑍�̂� = 7.38 + 0.332 × 𝐶ℎ + 2.12 × 𝐴𝐸𝐴 − 0.943 × 𝐷𝑟 + 0.33 × 𝐸𝐴 − 5.65 × 𝑇𝐸+ 3.97 × 𝐶ℎ × 𝐴𝐸𝐴 − 1.15 × 𝐶ℎ × 𝐷𝑟 − 3.09 × 𝐴𝐸𝐴 × 𝐷𝑟 − 1.58× 𝐶ℎ × 𝐸𝐴 − 1.66 × 𝐴𝐸𝐴 × 𝐸𝐴 − 1.23 × 𝐶ℎ × 𝑇𝐸 − 2.48 × 𝐴𝐸𝐴× 𝑇𝐸 + 1.7 × 𝐷𝑟 × 𝑇𝐸 + 13.9 × 𝐸𝐴 × 𝑇𝐸
(3–7)
3.1.2.4 Eficacia de encapsulación (EE o PDE)
𝑃𝐷�̂� = 4.21 − 0.279 × 𝐶ℎ + 0.311 × 𝐴𝐸𝐴 + 0.152 × 𝐷𝑟 − 0.595 × 𝐸𝐴 + 0.878× 𝑇𝐸 + 0.726 × 𝐶ℎ × 𝐴𝐸𝐴 + 0.417 × 𝐶ℎ × 𝐷𝑟 − 0.973 × 𝐴𝐸𝐴 × 𝐷𝑟+ 1.21 × 𝐶ℎ × 𝐸𝐴 − 0.543 × 𝐴𝐸𝐴 × 𝐸𝐴 + 0.169 × 𝐷𝑟 × 𝐸𝐴 − 0.898× 𝐶ℎ × 𝑇𝐸 − 0.269 × 𝐴𝐸𝐴 × 𝑇𝐸 + 0.682 × 𝐷𝑟 × 𝑇𝐸 − 1.22 × 𝐸𝐴× 𝑇𝐸
(3–8)
21 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Tabla 3–1. Valores del ajuste de las ecuaciones de salida
Ecuación MSE 𝑹𝒂𝒅𝒋𝟐
An
tes
de
la
extr
usi
ón
Tamaño (VS o Size) 0.001445 0.9833
Índice de polidispersión (IP o PDI) 0.01597 0.8705
Potencial Zeta (ZetaPot o ZP) 0.3713 0.9851
Eficacia de encapsulación (EE o PDE) 0.000 0.999
Des
pu
és d
e la
extr
usi
ón
Tamaño (VS o Size) 2.784e-5 0.9921
Índice de polidispersión (IP o PDI) 0.0003541 0.7968
Potencial Zeta (ZetaPot o ZP) 0.3896 0.9844
Eficacia de encapsulación (EE o PDE) 0.000 0.999
Descripción del Problema
22
3.2. Formulación del problema
Las respuestas tienen un subíndice antes o después en la formulación. Esto sirve para indicar si las
mismas se refieren a antes o después de la extrusión. Asimismo, la variable x perteneciente a 𝑓(𝑥) se
refiere al conjunto de todas las variables (entradas o factores del Sistema).
𝐸𝑓 𝑓(𝑥) = [min 𝑆𝑖𝑧𝑒𝑎𝑛𝑡𝑒𝑠 , min 𝐼𝑃𝑎𝑛𝑡𝑒𝑠 , min 𝑍𝑒𝑡𝑎𝑃𝑜𝑡𝑎𝑛𝑡𝑒𝑠 , Max𝐸𝐸𝑎𝑛𝑡𝑒𝑠 ,
min𝑆𝑖𝑧𝑒𝑑𝑒𝑠𝑝𝑢𝑒𝑠 , min 𝐼𝑃𝑑𝑒𝑠𝑝𝑢𝑒𝑠 , min 𝑍𝑒𝑡𝑎𝑃𝑜𝑡𝑑𝑒𝑠𝑝𝑢𝑒𝑠 , Max 𝐸𝐸𝑑𝑒𝑠𝑝𝑢𝑒𝑠]
𝑉�̂�log𝑎𝑛𝑡𝑒𝑠 = 3.02 + 0.077 × 𝐶ℎ + 0.0401 × 𝐴𝐸𝐴 − 0.0362 × 𝐷𝑟 − 0.136 × 𝐸𝐴
+ 0.0831 × 𝑇𝐸 − 0.105 × 𝐶ℎ × 𝐴𝐸𝐴 + 0.00995 × 𝐶ℎ × 𝐷𝑟+ 0.00905 × 𝐴𝐸𝐴 × 𝐷𝑟 + 0.0863 × 𝐷𝑟 × 𝐸𝐴 + 0.0398 × 𝐶ℎ × 𝑇𝐸+ 0.0144 × 𝐴𝐸𝐴 × 𝑇𝐸 − 0.104 × 𝐷𝑟 × 𝑇𝐸 − 0.121 × 𝐸𝐴 × 𝑇𝐸
𝑆𝑖𝑧𝑒𝑎𝑛𝑡𝑒𝑠 = 10𝑉�̂�log𝑎𝑛𝑡𝑒𝑠
𝐼𝑃𝑎𝑛𝑡𝑒𝑠 = 0.103 + 0.411 × 𝐶ℎ − 0.201 × 𝐴𝐸𝐴 + 0.272 × 𝐷𝑟 + 0.39 × 𝐸𝐴 + 0.379× 𝑇𝐸 + 0.265 × 𝐶ℎ × 𝐷𝑟 + 0.172 × 𝐴𝐸𝐴 × 𝐸𝐴 − 0.462 × 𝐷𝑟 × 𝐸𝐴− 0.506 × 𝐶ℎ × 𝑇𝐸 + 0.24 × 𝐷𝑟 × 𝑇𝐸 − 0.564 × 𝐸𝐴 × 𝑇𝐸
𝑍𝑒𝑡𝑎𝑃𝑜𝑡𝑎𝑛𝑡𝑒𝑠 = 8.33 − 0.418 × 𝐶ℎ + 0.0624 × 𝐴𝐸𝐴 − 0.0856 × 𝐷𝑟 + 2.85 × 𝐸𝐴+ 0.499 × 𝑇𝐸 − 0.727 × 𝐶ℎ × 𝐷𝑟 − 0.399 × 𝐴𝐸𝐴 × 𝐷𝑟 − 0.356× 𝐴𝐸𝐴 × 𝐸𝐴 − 0.516 × 𝐶ℎ × 𝑇𝐸 − 0.325 × 𝐴𝐸𝐴 × 𝑇𝐸 + 0.363× 𝐷𝑟 × 𝑇𝐸 + 3.77 × 𝐸𝐴 × 𝑇𝐸
𝐸𝐸𝑎𝑛𝑡𝑒𝑠 = 37.9 + 12 × 𝐶ℎ + 4.72 × 𝐴𝐸𝐴 + 2.54 × 𝐷𝑟 + 7.75 × 𝐸𝐴 + 1.68 × 𝑇𝐸+ 3.32 × 𝐶ℎ × 𝐴𝐸𝐴 + 0.782 × 𝐶ℎ × 𝐷𝑟 − 2.97 × 𝐴𝐸𝐴 × 𝐷𝑟 + 7.73× 𝐶ℎ × 𝐸𝐴 − 1.15 × 𝐴𝐸𝐴 × 𝐸𝐴 + 8.79 × 𝐷𝑟 × 𝐸𝐴 − 3.45 × 𝐶ℎ× 𝑇𝐸 − 6.79 × 𝐴𝐸𝐴 × 𝑇𝐸 + 2.28 × 𝐷𝑟 × 𝑇𝐸 + 1.3 × 𝐸𝐴 × 𝑇𝐸
23 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
𝑉�̂�log𝑑𝑒𝑠𝑝𝑢é𝑠 = 2.25 − 0.0179 × 𝐶ℎ − 0.00826 × 𝐴𝐸𝐴 + 0.00655 × 𝐷𝑟 − 0.0237
× 𝐸𝐴 − 0.00438 × 𝑇𝐸 + 0.0117 × 𝐶ℎ × 𝐴𝐸𝐴 − 0.00301 × 𝐶ℎ × 𝐷𝑟− 0.0167 × 𝐴𝐸𝐴 × 𝐷𝑟 + 0.0246 × 𝐶ℎ × 𝐸𝐴 + 0.00735 × 𝐴𝐸𝐴 × 𝐸𝐴− 0.0157 × 𝐷𝑟 × 𝐸𝐴 − 0.00889 × 𝐶ℎ × 𝑇𝐸 − 0.0119 × 𝐴𝐸𝐴 × 𝑇𝐸+ 0.0039 × 𝐷𝑟 × 𝑇𝐸 − 0.0294 × 𝐸𝐴 × 𝑇𝐸
𝑆𝑖𝑧𝑒𝑑𝑒𝑠𝑝𝑢𝑒𝑠 = 10𝑉�̂�log𝑑𝑒𝑠𝑝𝑢𝑒𝑠
𝐼𝑃𝑑𝑒𝑠𝑝𝑢𝑒𝑠 = 0.189 − 0.00552 × 𝐶ℎ − 0.0039 × 𝐴𝐸𝐴 − 0.00102 × 𝐷𝑟 − 0.0214 × 𝐸𝐴
+ 0.00281 × 𝑇𝐸 + 0.0111 × 𝐶ℎ × 𝐷𝑟 − 0.0094 × 𝐴𝐸𝐴 × 𝐷𝑟 + 0.0094× 𝐶ℎ × 𝐸𝐴 + 0.00598 × 𝐶ℎ × 𝑇𝐸 − 0.0223 × 𝐸𝐴 × 𝑇𝐸
𝑍𝑒𝑡𝑎𝑃𝑜𝑡𝑑𝑒𝑠𝑝𝑢𝑒𝑠= 7.38 + 0.332 × 𝐶ℎ + 2.12 × 𝐴𝐸𝐴 − 0.943 × 𝐷𝑟 + 0.33 × 𝐸𝐴 − 5.65× 𝑇𝐸 + 3.97 × 𝐶ℎ × 𝐴𝐸𝐴 − 1.15 × 𝐶ℎ × 𝐷𝑟 − 3.09 × 𝐴𝐸𝐴 × 𝐷𝑟 − 1.58× 𝐶ℎ × 𝐸𝐴 − 1.66 × 𝐴𝐸𝐴 × 𝐸𝐴 − 1.23 × 𝐶ℎ × 𝑇𝐸 − 2.48 × 𝐴𝐸𝐴 × 𝑇𝐸+ 1.7 × 𝐷𝑟 × 𝑇𝐸 + 13.9 × 𝐸𝐴 × 𝑇𝐸
𝐸𝐸𝑑𝑒𝑠𝑝𝑢𝑒𝑠 = 4.21 − 0.279 × 𝐶ℎ + 0.311 × 𝐴𝐸𝐴 + 0.152 × 𝐷𝑟 − 0.595 × 𝐸𝐴
+ 0.878 × 𝑇𝐸 + 0.726 × 𝐶ℎ × 𝐴𝐸𝐴 + 0.417 × 𝐶ℎ × 𝐷𝑟 − 0.973× 𝐴𝐸𝐴 × 𝐷𝑟 + 1.21 × 𝐶ℎ × 𝐸𝐴 − 0.543 × 𝐴𝐸𝐴 × 𝐸𝐴 + 0.169 × 𝐷𝑟× 𝐸𝐴 − 0.898 × 𝐶ℎ × 𝑇𝐸 − 0.269 × 𝐴𝐸𝐴 × 𝑇𝐸 + 0.682 × 𝐷𝑟 × 𝑇𝐸− 1.22 × 𝐸𝐴 × 𝑇𝐸
𝑥 = (𝐶ℎ, 𝐴𝐸𝐴, 𝐷𝑟, 𝐸𝐴, 𝑇𝐸)
𝐶ℎ ∈ [0,1]
𝐴𝐸𝐴 ∈ [0,1]
𝐷𝑟 = {0,1}
𝐸𝐴 = {0,1}
𝑇𝐸 = {0,1}
Descripción del Problema
24
Como vamos a utilizar varios nombres para referirnos a las salidas del sistema, presentamos una
tabla con todos los que vamos a emplear. Los usaremos indistintamente para unos métodos y otros.
Tabla 3–2 Nombre de las salidas
Salida Nombre 1 Nombre 2 Nombre 3
An
tes
de
la
extr
usi
ón
Tamaño Size_antes VS_antes f1
Índice de polidispersión IP_antes PDI_antes f2
Potencial Zeta ZetaPot_antes ZP_antes f3
Eficacia de encapsulación EE_antes PDE_antes f4
Des
pu
és d
e la
extr
usi
ón
Tamaño Size_después VS_después f5
Índice de polidispersión IP_después PDI_después f6
Potencial Zeta ZetaPot_después ZP_después f7
Eficacia de encapsulación EE_después PDE_después f8
25 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
3.3. LINGO
LINGO es una herramienta simple para formular problemas lineales y no lineales, resolverlos y
analizar los datos que proporciona como solución. Vamos a explicar por encima el uso de la
aplicación en sí y describir un poco el lenguaje que usa para su mayor comprensión, ya que es el
programa que hemos usado para ir resolviendo el problema por los distintos métodos que hemos
elegido en el presente proyecto.
La mayor ventaja de LINGO es el lenguaje matemático que utiliza, muy similar al lenguaje
tradicional ampliamente conocido por todos. Otro aspecto que lo hace recomendable es la posibilidad
de expresar las restricciones de una forma compacta, lo cual conlleva a modelos que son muy fáciles
de mantener. Además, LINGO permite aislar los datos de la formulación de los objetivos y las
restricciones, algo útil a la hora de cambiar factores o preferencias de las salidas, aspectos que
debemos tener en cuenta en nuestro problema.
Por último, LINGO es una aplicación capaz de resolver modelos de programación no lineal, y como
nosotros vamos a trabajar con ecuaciones no lineales, y esto no lo hacen todos los programas, fue el
motivo definitivo pare seleccionarlo entre el resto.
3.3.1 Características principales
Hay dos características principales que debemos tener en cuenta una vez que ejecutamos la
aplicación por primera vez relacionadas con el problema que vamos a estudiar. Hay muchas más,
pero no queremos extendernos porque no serán de gran utilidad para nosotros.
Global Solver (Solución Global). Esta opción hace que LINGO busque óptimos globales en
lugar de locales. Para problemas de amplia extensión, puede hacer que tarde en encontrar el
resultado, pero para problemas pequeños mejora considerablemente la solución.
Variables Assumed Non-Negative (Variables no negativas). Esta opción viene marcada por
defecto, y hace que las variables no puedan tomar valores negativos. Podemos desactivar la
opción desde el menú LINGO → Opciones → Pestaña General Solver, o bien declarar en el
código que las variables puedan tomar valores inferiores a cero. Esta segunda opción la
explicaremos a continuación en los rangos de variables, ya que tendremos que usarlo.
Descripción del Problema
26
3.3.2 Sintaxis de LINGO
La sintaxis es sencilla. Para nombrar las variables se utilizan hasta un máximo de 32 caracteres,
empezando con alguna letra, número o barra baja. Hay que señalar que LINGO no distingue entre
mayúsculas y minúsculas, aunque nosotros sí haremos la diferencia en el código para equiparar los
nombres anteriormente explicados tanto de salidas como de variables.
Con respecto a las sentencias para el correcto funcionamiento del programa:
Todas las sentencias deben terminar un punto y coma.
Para poner nombre a las restricciones, hay que escribirlo entre corchetes. Tiene dos ventajas
principales, aunque en nuestro problema las restricciones son escasas, pues dependen
fundamentalmente de una restricción en el dominio de las variables, no siendo del mismo
formato que las usuales en optimización. La primera es que en el informe de soluciones
aparecen los nombres, con lo que incremente la facilidad en la comprensión de la solución.
La segunda es que en el informe de errores, si es que aparece, normalmente vendrá referido a
alguna restricción y la llamara por el nombre que le hayamos puesto.
Los comentarios, para que LINGO no los tenga en cuenta a la hora de compilar, se escriben
precedidos del signo: ! (aparecerán escritos de color verde).
La función objetivo se declara como MAX o MIN seguidas del símbolo igual (=).
3.3.3 Dominio de variables
Como hemos comentado, LINGO trae por defecto la opción que impide a las variables tomar valores
negativos. Sin embargo, podemos dejar marcado esta opción y trabajar con restricciones a las
variables, predominando estas a las opciones por defecto que traiga la herramienta.
Vamos a presentar las más importantes. Muchas de ellas son compatibles, es decir, podríamos
escribir lo mismo de distinta forma, pero tampoco vamos a profundizar mucho en ese aspecto para
no complicar mucho la explicación del programa. Vamos a escribir de forma genérica una x para
llamar a una variable ficticia.
@GIN (x). Hace que una variable tome valores enteros (positivos o negativos, salvo que las
variables sean no negativas por defecto).
@BIN (x). La variable se convierte en binaria (sólo puede tomar valor cero o uno).
@FREE (x). Permite que la variable pueda tomar cualquier valor, bien sea positivo o
negativo, incluso cuando está activa la casilla de Variables Assumed Non-Negative.
Establece la cota inferior en un número muy negativo y la superior en uno muy grande.
@BND (valor límite inferior, x, valor límite superior). Limita la variable a ese rango
27 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
seleccionado. Por ejemplo, si escribimos @BND (5, x, 10); hace que la variable x varíe entre
5 y 10. Es el mismo efecto que si escribimos las restricciones x>5 y x<10. Sin embargo, si
queremos que esta variable oscile entre los valores -5 y 10, y tenemos marcada la casilla
Variables assumed non-negative, no se puede hacer incorporando las restricciones x>-5 y
x<10, pero sí es válido escribiendo @BND (-5, x, 10).
3.3.4 Operadores Lógicos
LINGO tiene a su disposición una lista de operadores lógicos, usados para construir una afirmación
que deba ser clasificada como verdadera o falsa de forma inmediata. De todas formas, vamos a
enumerarlos en una lista, aunque en nuestro proyecto no aparecerán.
Tabla 3–3. Lista de operadores lógicos de la herramienta LINGO
Operador Significado
#EQ# Igual
#NE# No igual
#GE# Mayor o igual
#GT# Mayor
#LT# Menor
#LE# Menor o igual
#AND# Y
#OR# O (inclusivo)
#NOT# No
Descripción del Problema
28
3.3.5 Interpretación de la solución
Vamos a presentar un ejemplo, para aclarar todos los conceptos y las formas de sintaxis que
acabamos de explicar, y además, aclarar sobre el mismo la interpretación de la solución que
proporciona LINGO.
Ejemplo: Supongamos que disponemos de una fábrica que realiza trofeos deportivos. Realizamos
trofeos de fútbol, baloncesto, atletismo y tenis. Cada trofeo necesita varios materiales para su
fabricación: madera para la base, acero para el resto y oro para los embellecedores. Además, se
conocen las horas de mano de obra que requiere cada trofeo. Los datos:
Tabla 3–4. Lista de operadores lógicos de la herramienta LINGO
Madera (kg) Acero (kg) Oro (kg) Mano de obra (horas)
Fútbol 0.4 0.6 0.2 2.2
Baloncesto 0.5 0.3 0.1 1.7
Atletismo 0.6 0.3 0.1 1.2
Tenis 0.4 0.45 0.15 1.3
Por otra parte, la empresa dispone de 55 kg de madera, 39 kg de acero, 23 kg de oro y 175 horas de
mano de obra, y los ingresos que obtiene son de 7.20€ por cada trofeo de fútbol, 4.50€ por cada
trofeo de baloncesto, 4.80€ por cada uno de atletismo y 6€ por cada uno de tenis.
Se necesita determinar la producción que maximiza los ingresos.
Primero, vamos a construir el modelo de forma matemática. Llamamos a las variables:
F número de trofeos de fútbol fabricados.
B número de trofeos de baloncesto fabricados.
A número de trofeos de atletismo fabricados.
T número de trofeos de tenis fabricados
Las restricciones que tenemos en el problema son:
Madera: 0.4F + 0.5B + 0.6A + 0.4T ≤ 55
Acero: 0.6F + 0.3B + 0.3A + 0.45T ≤ 39
Oro: 0.2F + 0.1B + 0.1A + 0.15T ≤ 23
29 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Mano de obra: 2.2F + 1.7B + 1.2A + 1.3T ≤ 175
No debemos olvidar que las variables no pueden tomar valores negativos: F, B, A, T ≥0
La función objetivo, que representa los ingresos, tiene la forma:
I = 7.20F + 4.50B + 4.80A + 6T
Escribiendo el modelo completo en LINGO (obviamos las restricciones de las variables mayores o
iguales que cero pues tenemos marcada la casilla de variables assumed non-negative)
[Ingresos] Max = 7.20*F+4.50*B+4.80*A+6*T;
[Madera] 0.4*F+0.5*B+0.6*A+0.4*T<55;
[Acero] 0.6*F+0.3*B+0.3*A+0.45*T<39;
[Oro] 0.2*F+0.1*B+0.1*A+0.15*T<23;
[Mano_de_obra] 2.2*F+1.7*B+1.2*A+1.3*T<175;
Resolviendo, LINGO nos proporciona:
Global optimal solution found.
Objective value: 568.8000
Total solver iterations: 2
Variable Value Reduced Cost
F 0.000000 0.4800000
B 0.000000 0.6000000E-01
A 61.00000 0.000000
T 46.00000 0.000000
Row Slack or Surplus Dual Price
INGRESOS 568.8000 1.000000
MADERA 0.000000 2.400000
ACERO 0.000000 11.20000
ORO 10.00000 0.000000
MANO_DE_OBRA 42.00000 0.000000
LINGO nos muestra dos tablas:
En la primera, la columna “value” contiene el valor óptimo de cada variable, mientras que
“reduced cost” indica lo que empeoraría la función objetivo (disminuiría si es de maximizar o
aumentaría si es de minimizar) si en vez de exigir que las variables fueran ≥ 0 hubiéramos indicado
que fueran ≥ 1. En este caso por ejemplo, vemos que no interesa hacer trofeos de fútbol, pero si
tuviéramos que hacer uno obligatoriamente, nuestra función objetivo disminuiría 0.48€. Ídem para
baloncesto. Las variables atletismo y tenis tienen 0 de coste reducido ya que a ellas no les influye
que A ≥ 1 y/o T ≥ 1.
En la segunda tabla, los ingresos (función objetivo) muestra el valor óptimo. Para las restricciones,
“slack or surprise” muestra la variable de holgura de la restricción correspondiente, es decir, la
diferencia entre el valor que toma la restricción y el valor máximo o mínimo que puede tomar.
Descripción del Problema
30
La columna “dual price” indica lo que mejoraría la función objetivo (aumentaría si es de maximizar
o disminuiría si es de minimizar) por cada unidad que pudiéramos aumentar el término
independiente de cada restricción correspondiente.
31
4 DESCRIPCIÓN DE LA SOLUCIÓN
n general, una solución es el hecho de resolver una duda o dificultad. Aplicando este concepto
al campo matemático, podemos afirmar que una solución es el resultado que satisface las
condiciones planteadas en un problema o en una ecuación. Centrando la definición en el campo
de la optimización, una solución es el valor seleccionado con respecto a unos criterios de entre un
grupo de elementos disponibles.
E
Yo soy yo y mi circunstancia, y si no la salvo a ella
no me salvo yo.
-José Ortega y Gasset -
Descripción de la Solución
32
4.1. Introducción
En este proyecto, vamos a partir de la hipótesis general que el individuo decisor, tiene ante sí un
problema en el que hay un conjunto de objetivos, y aunque sean incompatibles entre ellos, no es
recomendable ignorar ninguno. Esto se debe a que en menor o mayor medida, todos tienen un peso
importante en el balance final del problema. Sin embardo, conforme vamos avanzando en la
solución, nos vamos enfrentando a situaciones en las que debemos tomar una decisión, teniendo en
cuenta las consecuencias de la misma.
Además, por lo general, la solución final no podrá ser la óptima para cada una de las funciones
objetivo por separado, pues no es posible alcanzar este reto. De ahí principalmente surge el carácter
subjetivo de este tipo de problemas, en los que hay que acertar con la elección de las prioridades en
los objetivos. En consecuencia, se garantiza que estos problemas son mucho más realistas que los
problemas de decisión clásicos.
Para solucionar un problema de decisión multicriterio, existen varios enfoques.
Conjunto continuo de alternativas:
o Optimización
Programación multiobjetivo
Programación por compromiso
o Satisfacción
Programación por metas
Conjunto discreto de alternativas:
o Teoría de la utilidad multi-atributo
o Proceso analítico jerárquico
o Métodos de sobre-clasificación
Nosotros centraremos nuestros esfuerzos en aquellos métodos que más se ajustan a nuestro problema
y así, pretendemos abordar una solución de calidad notable, explicando los métodos de forma teórica
y aplicando los mismos de forma práctica al caso que nos concierne. Los métodos que vamos a
emplear son la Programación por Metas Ponderadas, la Programación por Compromiso y la
Programación por Metas. La elección de estos métodos se debe a la adecuación de los mismos para
los decisores. Tras entrevistarnos con ellos, se justificó que eran los que más se ajustan a sus
necesidades.
33 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
4.2. Optimización de las salidas de forma individual
Este apartado está dedicado a la presentación de los códigos de Lingo sobre cada una de las
funciones de salida, estudiándolas de forma individual, y las respectivas soluciones que proporciona
la herramienta para cada una de ellas. Para resolverlo, hemos usado el solver no lineal LINGO con
optimización global, lo cual supone un resultado bastante bueno a nuestros problemas.
4.2.1 Antes de la extrusión
4.2.1.1 Tamaño
Figura 4-1. Código de Lingo optimizando la función tamaño antes de la
extrusión.
Tabla 4–1. Solución de la herramienta Lingo a la función tamaño antes de la extrusión
Variable Value Reduced Cost
VSLOG 2.792200 0.000000
CH 0.000000 180.8688
AEA 0.000000 90.74120
DR 1.000000 -76.91383
EA 1.000000 -243.5843
TE 1.000000 -202.4874
Row Slack or Surplus Dual Price
1 619.7264 -1.000000
2 0.000000 -1426.973
Global optimal solution found.
Objective value: 619.7264
Extended solver steps: 1
Total solver iterations: 20
Descripción de la Solución
34
4.2.1.2 Índice de polidispersión
Figura 4-2. Código de Lingo optimizando la función IP antes de la extrusión.
Tabla 4–2. Solución de la herramienta Lingo a la función IP antes de la extrusión
Variable Value Reduced Cost
CH 0.000000 0.4110000
AEA 1.000000 -0.2010000
DR 0.000000 0.2720000
EA 0.000000 0.3900000
TE 0.000000 0.3790000
Row Slack or Surplus Dual Price
1 -0.9800000E-01 -1.000000
Global optimal solution found.
Objective value: -0.9800000E-01
Extended solver steps: 1
Total solver iterations: 32
35 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
4.2.1.3 Potencial Zeta
Figura 4-3. Código de Lingo optimizando la función ZetaPot antes de la extrusión.
Tabla 4–3. Solución de la herramienta Lingo a la función ZetaPot antes de la extrusión
Variable Value Reduced Cost
CH 1.000000 -1.145000
AEA 1.000000 -0.3366000
DR 1.000000 -1.211600
EA 0.000000 2.494000
TE 0.000000 0.2100000E-01
Row Slack or Surplus Dual Price
1 6.762800 -1.000000
Global optimal solution found.
Objective value: 6.762800
Extended solver steps: 1
Total solver iterations: 18
Descripción de la Solución
36
4.2.1.4 Eficacia de encapsulación
Figura 4-4. Código de Lingo optimizando la función EE antes de la extrusión.
Tabla 4–4. Solución de la herramienta Lingo a la función EE antes de la extrusión
Variable Value Reduced Cost
CH 1.000000 -23.83200
AEA 1.000000 -3.920000
DR 1.000000 -9.142000
EA 1.000000 -23.12000
TE 0.000000 4.980000
Row Slack or Surplus Dual Price
1 81.41200 1.000000
Global optimal solution found.
Objective value: 81.41200
Extended solver steps: 1
Total solver iterations: 23
37 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
4.2.2 Después de la extrusión
4.2.2.1 Tamaño
Figura 4-5. Código de Lingo optimizando la función tamaño después de la extrusión.
Tabla 4–5. Solución de la herramienta Lingo a la función tamaño después de la extrusión
Variable Value Reduced Cost
VSLOG 2.157760 0.000000
CH 0.000000 2.152232
AEA 1.000000 -9.771132
DR 1.000000 -7.267921
EA 1.000000 -20.34687
TE 1.000000 -13.83388
Row Slack or Surplus Dual Price
1 143.8004 -1.000000
2 0.000000 -331.1126
Global optimal solution found.
Objective value: 143.8004
Extended solver steps: 1
Total solver iterations: 15
Descripción de la Solución
38
4.2.2.2 Índice de polidispersión
Figura 4-6. Código de Lingo optimizando la función IP después de la extrusión.
Tabla 4–6. Solución de la herramienta Lingo a la función IP después de la extrusión
Variable Value Reduced Cost
CH 0.000000 0.2096000E-01
AEA 1.000000 -0.1330000E-01
DR 1.000000 -0.1042000E-01
EA 1.000000 -0.4370000E-01
TE 1.000000 -0.1949000E-01
Row Slack or Surplus Dual Price
1 0.1337900 -1.000000
Global optimal solution found.
Objective value: 0.1337900
Extended solver steps: 1
Total solver iterations: 17
39 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
4.2.2.3 Potencial Zeta
Figura 4-7. Código de Lingo optimizando la función ZetaPot después de la extrusión.
Tabla 4–7. Solución de la herramienta Lingo a la función ZetaPot después de la extrusión
Variable Value Reduced Cost
CH 0.000000 1.922000
AEA 1.000000 -3.450000
DR 1.000000 -2.333000
EA 0.000000 12.57000
TE 1.000000 -6.430000
Row Slack or Surplus Dual Price
1 -0.9630000 -1.000000
Global optimal solution found.
Objective value: -0.9630000
Extended solver steps: 1
Total solver iterations: 22
Descripción de la Solución
40
4.2.2.4 Eficacia de encapsulación
Figura 4-8. Código de Lingo optimizando la función EE después de la extrusión.
Tabla 4–8. Solución de la herramienta Lingo a la función EE después de la extrusión
Variable Value Reduced Cost
CH 0.000000 0.7600000
AEA 0.000000 0.9310000
DR 1.000000 -0.8340000
EA 0.000000 1.646000
TE 1.000000 -1.560000
Row Slack or Surplus Dual Price
1 5.922000 1.000000
Global optimal solution found.
Objective value: 5.922000
Extended solver steps: 2
Total solver iterations: 76
41 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
A modo de resumen, compilamos todos los resultados de las ecuaciones individuales. También
añadimos el valor de cada una de las funciones objetivo para esos puntos.
Tabla 4–9. Resumen de los resultados de las ecuaciones
ANTES DE LA EXTRUSIÓN DESPUÉS DE LA EXTRUSIÓN
Size antes (f1)
Ch = 0
AEA = 0
Dr = 1
EA = 1
TE = 1
Size_antes* = 619.7264
Size después
(f5)
Ch = 0
AEA = 1
Dr = 1
EA = 1
TE = 1
Size_después* = 143.8004
IP antes (f2)
Ch = 0
AEA = 1
Dr = 0
EA = 0
TE = 0
IP_antes* = -0.098
IP después (f6)
Ch = 0
AEA = 1
Dr = 1
EA = 1
TE = 1
IP_después* = 0.13379
ZetaPot antes
(f3)
Ch = 1
AEA = 1
Dr = 1
EA = 0
TE = 0
ZetaPot_antes* = 6.7628
ZetaPot
después (f7)
Ch = 0
AEA = 1
Dr = 1
EA = 0
TE = 1
ZetaPot_después* = -0.963
EE antes (f4)
Ch = 1
AEA = 1
Dr = 1
EA = 1
TE = 0
EE_antes* = 81.412
EE después
(f8)
Ch = 0
AEA = 0
Dr = 1
EA = 0
TE = 1
EE_después* = 5.922
Descripción de la Solución
42
4.3. Programación Multiobjetivo
4.3.1 Introducción
La programación multiobjetivo, como ya hemos explicado, se enfrenta al problema de optimizar
simultáneamente varios objetivos sujetos a un conjunto de restricciones. Desde un punto de vista
operativo, no podemos definir un óptimo para todos y cada uno de los objetivos, así que la
programación multiobjetivo establece el conjunto de soluciones eficientes, también llamadas de
Pareto óptimas.
4.3.2 Conceptos introducidos por Pareto
En el año 1896, Vilfredo Pareto introdujo un criterio de optimimalidad que con el tiempo recibió su
nombre y es considerado crucial en teoría de decisión, sobre todo económica. En su planteamiento
original, Pareto consideraba que un conjunto se encuentra en su estado óptimo si ninguna elemento
de ese conjunto puede mejorar su situación sin que empeore la de otro elemento perteneciente al
mismo grupo.
Este criterio se puede transferir de forma directa de la economía al análisis multicriterio, de forma
que el conjunto sea un grupo de objetivos, y los elementos pertenecientes al grupo sean los criterios
que formen el problema.
Con ello, el concepto de óptimo de Pareto dentro del campo multicriterio puede definirse afirmando
que un conjunto de soluciones es eficiente (de Pareto óptimas) cuando la componen soluciones
admisibles (factibles), tales que no existe otra solución admisible que proporcione una mejora en uno
de los objetivos sin producir un empeoramiento en al menos otro de ellos.
Ejemplo: Imaginemos que tenemos un problema de planificación financiera, donde intervienen tres
criterios: maximizar la expansión (E), maximizar el dividendo (D) y maximizar la solvencia (S).
Tenemos, además, tres posibles soluciones: A (250, 40, 1.5), B (150, 40, 1.5), C (150, 60, 1.25).
Si las analizamos, vemos que la solución A domina a la B (A es mejor o igual que B en todos los
criterios). A su vez, A no domina a C (la solución A no es mejor o igual que la C en todos los
criterios. Si hacemos este mismo análisis básico con todas las combinaciones, llegamos a la
siguiente conclusión:
Las soluciones A y C son soluciones eficientes, mientras que la B no lo es.
43 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Volviendo a nuestro problema, del conjunto de respuestas del sistema con datos reales, podemos
extraer un conjunto de soluciones eficiente tomando los puntos que determinan los óptimos de cada
uno de los objetivos por separado, ya que ninguno de ellos consigue mejorar (es imposible, pues son
los óptimos de las respuestas aisladas) sin empeorar ninguno de los otros objetivos.
Para poder asegurarlo, determinamos los valores del resto de salidas tomando como origen estos
puntos óptimos de las funciones aisladas, y comprobamos que en todos ellos se produce un
empeoramiento de los valores del resto. Para ello, adjuntamos la siguiente tabla, donde se colocan los
valores óptimos de las salidas separadas en la diagonal principal, tanto el valor de la función objetivo
como el valor de las variables de entrada, en el siguiente orden: Ch, AEA, Dr, EA, TE.
Tabla 4–10. Conjunto de soluciones eficientes
f1 f2 f3 f4 f5 f6 f7 f8
An
tes
de
la e
xtr
usi
ón
Size (f1)
min
619.73
0,0,1,1,1
0.358 15.73 62.24 153.91 0.147 16.717 4.276
IP (f2)
min
1148.42 -0.098
0,1,0,0,0
8.39 42.62 174.48 0.1851 9.5 4.521
ZetaPot
(f3) min
1034.9 0.85 6.763
1,1,1,0,0
58.29 166.87 0.18 8.619 4.564
EE (f4)
MAX
922.996 0.95 9.2568 81.412
1,1,1,1,0
164.03 0.1683 5.709 4.805
Des
pu
és d
e la
extr
usi
ón
Size (f5)
min
717.38 0.329 14.71 56.05 143.8
0,1,1,1,1
0.134 11.607 2.802
IP (f6)
min
717.38 0.329 14.71 56.05 143.8 0.134
0,1,1,1,1
11.607 2.802
ZetaPot
(f7) min
1062.8 0.793 8.44 39.36 165.66 0.177 -0.963
0,1,1,0,1
4.991
EE (f8)
MAX
918.12 0.994 9.106 44.4 180.33 0.19 2.487 5.922
0,0,1,0,1
Todos los enfoques multicriterio buscan obtener soluciones eficientes tal y como acabamos de ver.
Además, en cualquier enfoque de programación multiobjetivo, un primer paso consiste en obtener el
conjunto de soluciones factibles y eficientes. Esto es, el conjunto de soluciones posibles se divide
Descripción de la Solución
44
entre aquellas soluciones factibles no eficientes y las que son a la vez factibles y eficientes. Una vez
hecho esto, establecemos las preferencias del individuo decisor cuya finalidad no es otra que obtener
un compromiso entre lo factible y lo eficiente.
4.3.3 Normalización y ponderación preferencial de los criterios
Existe una amplia variedad de métodos multicriterio en los que normalizar los diferentes criterios es
fundamental para el desarrollo del problema. Al normalizar, satisfacemos tres necesidades
principalmente:
En la mayor parte de los problemas, los diferentes criterios no se miden en las mismas
unidades. Así, comparar dos criterios con unidades totalmente distintas carece por completo
de sentido.
Los valores que pueden alcanzar los distintos criterios pueden no tener en absoluto que ver
con el resto, por lo tanto, necesitamos equipararlos en cuanto a magnitud para poder ver
cuánto de bueno o de malo es el valor que analizamos. Además, en el desarrollo del
problema, la solución tenderá a aquellos criterios con un mayor valor.
En nuestro caso, se dan ambas circunstancias, por lo que es imprescindible esta normalización. Acto
seguido, pasaremos a explicar los pasos para poder realizarlo de una forma adecuada.
4.3.3.1 Normalización de los criterios
Un posible método para normalizar los objetivos, además de ser el más simple, consiste en dividir los
valores que alcanza el criterio por su mejor valor. El mejor valor es el más alto si el objetivo trata de
maximizar, y el más pequeño si trata de minimizar.
Una segunda posibilidad consiste en dividir los valores que alcanza el criterio por el recorrido,
entendiendo recorrido la diferencia entre el mejor valor y el peor de ese objetivo.
Sin embargo, en algunos métodos, lo ideal es que los valores normalizados estén acotados en el
intervalo [0, 1]. Para conseguirlo hacemos una distinción entre los objetivos que tenemos que
maximizar y los que debemos minimizar.
45 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
𝑀𝐴𝑋𝐼𝑀𝐼𝑍𝐴𝑅: 𝑉𝑎𝑙𝑜𝑟 𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑎𝑑𝑜 =𝑚𝑒𝑗𝑜𝑟 𝑣𝑎𝑙𝑜𝑟 − 𝑣𝑎𝑙𝑜𝑟 𝑒𝑠𝑡𝑢𝑑𝑖𝑎𝑑𝑜
𝑚𝑒𝑗𝑜𝑟 𝑣𝑎𝑙𝑜𝑟 − 𝑝𝑒𝑜𝑟 𝑣𝑎𝑙𝑜𝑟
(4–1)
𝑀𝐼𝑁𝐼𝑀𝐼𝑍𝐴𝑅: 𝑉𝑎𝑙𝑜𝑟 𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑎𝑑𝑜 =𝑣𝑎𝑙𝑜𝑟 𝑒𝑠𝑡𝑢𝑑𝑖𝑎𝑑𝑜 − 𝑚𝑒𝑗𝑜𝑟 𝑣𝑎𝑙𝑜𝑟
𝑝𝑒𝑜𝑟 𝑣𝑎𝑙𝑜𝑟 − 𝑚𝑒𝑗𝑜𝑟 𝑣𝑎𝑙𝑜𝑟
(4–2)
Conviene destacar que con este sistema, el valor normalizado es 0 cuando el objetivo alcanza el
mejor valor, y 1 cuando alcanza el peor. Mientras más cercano esté a 0, mejor será ese valor, y a su
vez, peor cuánto más cerca lo esté de 1. Aplicamos estos conceptos a nuestro conjunto de soluciones
eficientes.
𝑆𝑖𝑧𝑒_𝑎𝑛𝑡𝑒𝑠 =
(
619.73 − 619.73
1148.42 − 619.73= 0;
1148.42 − 619.73
1148.42 − 619.73= 1;
1034.9 − 619.73
1148.42 − 619.73= 0.79;
922.996 − 619.73
1148.42 − 619.73= 0.57;
717.38 − 619.73
1148.42 − 619.73= 0.18;
717.38 − 619.73
1148.42 − 619.73= 0.18;
1062.8 − 619.73
1148.42 − 619.73= 0.84;
918.12 − 619.73
1148.42 − 619.73= 0.56 )
(4–3)
𝐼𝑃_𝑎𝑛𝑡𝑒𝑠 =
(
0.358 − (−0.098)
0.994 − (−0.098)= 0.42;
−0.098 − (−0.098)
0.994 − (−0.098)= 0;
0.85 − (−0.098)
0.994 − (−0.098)= 0.87;
0.95 − (−0.098)
0.994 − (−0.098)= 0.96;
0.329 − (−0.098)
0.994 − (−0.098)= 0.39;
0.329 − (−0.098)
0.994 − (−0.098)= 0.39;
0.793 − (−0.098)
0.994 − (−0.098)= 0.82;
0.994 − (−0.098)
0.994 − (−0.098)= 1
)
(4–4)
Descripción de la Solución
46
𝑍𝑒𝑡𝑎𝑃𝑜𝑡_𝑎𝑛𝑡𝑒𝑠 =
(
15.73 − 6.763
15.73 − 6.763= 1;
8.39 − 6.763
15.73 − 6.763= 0.18;
6.763 − 6.763
15.73 − 6.763= 0;
9.26 − 6.763
15.73 − 6.763= 0.28;
14.71 − 6.763
15.73 − 6.763= 0.87;
14.71 − 6.763
15.73 − 6.763= 0.87;
8.44 − 6.763
15.73 − 6.763= 0.19;
9.106 − 6.763
15.73 − 6.763= 0.26 )
(4–5)
𝐸𝐸_𝑎𝑛𝑡𝑒𝑠 =
(
81.412 − 62.24
81.412 − 39.36= 0.46;
81.412 − 42.62
81.412 − 39.36= 0.92;
81.412 − 58.29
81.412 − 39.36= 0.55;
81.412 − 81.412
81.412 − 39.36= 0;
81.412 − 56.05
81.412 − 39.36= 0.6;
81.412 − 56.05
81.412 − 39.36= 0.6;
81.412 − 39.36
81.412 − 39.36= 1;
81.412 − 44.4
81.412 − 39.36= 0.88 )
(4–6)
𝑆𝑖𝑧𝑒_𝑑𝑒𝑠𝑝𝑢𝑒𝑠 =
(
153.91 − 143.8
180.33 − 143.8= 0.28;
174.48 − 143.8
180.33 − 143.8= 0.84;
166.87 − 143.8
180.33 − 143.8= 0.63;
164.03 − 143.8
180.33 − 143.8= 0.55;
143.8 − 143.8
180.33 − 143.8= 0;
143.8 − 143.8
180.33 − 143.8= 0;
165.66 − 143.8
180.33 − 143.8= 0.6;
180.33 − 143.8
180.33 − 143.8= 1 )
(4–7)
𝐼𝑃_𝑑𝑒𝑠𝑝𝑢𝑒𝑠 =
(
0.147 − 0.134
0.19 − 0.134= 0.23;
0.1851 − 0.134
0.19 − 0.134= 0.91;
0.18 − 0.134
0.19 − 0.134= 0.82;
0.1683 − 0.134
0.19 − 0.134= 0.61;
0.134 − 0.134
0.19 − 0.134= 0;
0.134 − 0.134
0.19 − 0.134= 0;
0.177 − 0.134
0.19 − 0.134= 0.77;
0.19 − 0.134
0.19 − 0.134= 1 )
(4–8)
47 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
𝑍𝑒𝑡𝑎𝑃𝑜𝑡𝑑𝑒𝑠𝑝𝑢𝑒𝑠 =
(
16.717 − (−0.963)
16.717 − (−0.963)= 1;
9.5 − (−0.963)
16.717 − (−0.963)= 0.59;
8.619 − (−0.963)
16.717 − (−0.963)= 0.54;
5.709 − (−0.963)
16.717 − (−0.963)= 0.38;
11.607 − (−0.963)
16.717 − (−0.963)= 0.71;
11.607 − (−0.963)
16.717 − (−0.963)= 0.71;
−0.963 − (−0.963)
16.717 − (−0.963)= 0;
2.487 − (−0.963)
16.717 − (−0.963)= 0.2
)
(4–9)
𝐸𝐸_𝑑𝑒𝑠𝑝𝑢𝑒𝑠 =
(
5.922 − 4.276
5.922 − 2.802= 0.53;
5.922 − 4.521
5.922 − 2.802= 0.45;
5.922 − 4.564
5.922 − 2.802= 0.44;
5.922 − 4.805
5.922 − 2.802= 0.36;
5.922 − 2.802
5.922 − 2.802= 1;
5.922 − 2.802
5.922 − 2.802= 1;
5.922 − 4.991
5.922 − 2.802= 0.3;
5.922 − 5.922
5.922 − 2.802= 0 )
(4–10)
4.3.3.2 Ponderación preferencial de los criterios
La primera acción que debemos realizar es clasificar los criterios por orden de importancia. En
nuestro caso, tenemos 8 criterios. Para este estudio, preguntamos en la facultad de farmacia a los
responsables de los experimentos sobre los que versa el proyecto y nos indicaron el orden de
importancia de las distintas salidas, así como la importancia relativa de las mismas. Para extraer unas
conclusiones y unos valores acertados sobre la ponderación de criterios, vamos a estudiar dos
métodos distintos. El primero de ellos es un método general, en el que hay que establecer un orden
de importancia, y en el segundo, propuesto por Saaty, ya intervienen las preferencias relativas entre
los criterios.
Para el general, si tenemos n criterios, hay que asignarle el número 1 al que consideremos más
importante, el 2 al siguiente criterio en importancia, y así hasta completar los n objetivos que
tengamos. Los pesos se obtienen con la siguiente fórmula [1]:
𝑊𝑗 =
1𝑟𝑗
∑1𝑟𝑗
𝑛𝑖=1
(4–11)
Descripción de la Solución
48
Siendo: 𝑟𝑗 el lugar o posición de importancia que ocupa el criterio j-ésimo.
𝑊𝑗 el peso final de ese criterio j-ésimo.
n el número de objetivos que intervienen.
Ordenamos por importancia los distintos objetivos:
Figura 4-9. Preferencias en la salida del sistema.
Hay que señalar que los números que aparecen en la figura son la importancia de cada uno de los
criterios en el sistema global, no teniendo nada que ver con el número de cada una de las funciones
objetivo que actúan como salidas. Aplicando la fórmula (3-11) a nuestro problema, y teniendo en
cuenta el esquema de importancia que acabamos de presentar, tenemos los siguientes valores:
𝑊1 =
14
11 +
11 +
12 +
12 +
12 +
13 +
14 +
14
= 0.058 (𝑆𝑖𝑧𝑒_𝑎𝑛𝑡𝑒𝑠)
𝑊2 =
14
11 +
11 +
12 +
12 +
12 +
13 +
14 +
14
= 0.058 (𝐼𝑃_𝑎𝑛𝑡𝑒𝑠)
𝑊3 =
12
11+11+12+12+12+13+14+14
= 0.115 (𝑍𝑒𝑡𝑎𝑃𝑜𝑡_𝑎𝑛𝑡𝑒𝑠)
𝑊4 =
13
11 +
11 +
12 +
12 +
12 +
13 +
14 +
14
= 0.077 (𝐸𝐸_𝑎𝑛𝑡𝑒𝑠)
𝑊5 =
12
11 +
11 +
12 +
12 +
12 +
13 +
14 +
14
= 0.115 (𝑆𝑖𝑧𝑒_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
1. EE después
1. ZetaPot
después
2. IP después
2. Size desp.
2. ZetaP antes
3. EE antes 4. Size antes
4. IP antes
49 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
𝑊6 =
12
11 +
11 +
12 +
12 +
12 +
13 +
14 +
14
= 0.115 (𝐼𝑃_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
𝑊7 =
11
11 +
11 +
12 +
12 +
12 +
13 +
14 +
14
= 0.231 (𝑍𝑒𝑡𝑎𝑃𝑜𝑡_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
𝑊7 =
11
11 +
11 +
12 +
12 +
12 +
13 +
14 +
14
= 0.231 (𝐸𝐸_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
Es de vital importancia reseñar que la suma de todos los pesos es igual a la unidad. Esto nos será de
gran utilidad para la interpretación de los pesos en el momento que necesitemos tomar decisiones.
Tabla 4–11. Pesos (importancia) de las salidas del sistema (método básico).
𝑊1 = 0.058 𝑊5 = 0.115
𝑊2 = 0.058 𝑊6 = 0.115
𝑊3 = 0.115 𝑊7 = 0.231
𝑊4 = 0.077 𝑊8 = 0.231
Si bien es cierto que este procedimiento, a la par de simple, es bastante válido, tiene un aspecto
negativo. Gracias a él sabemos que el criterio i-ésimo es preferido al criterio j-ésimo, pero no
tenemos en absoluto en cuenta la intensidad con la que ese criterio i-ésimo es preferido al j-ésimo.
Para superar esta dificultad, Saaty constituye otro método, que además sirve como base de los
métodos de elección discreta, métodos que no veremos en el presente proyecto. Para este
procedimiento, Saaty sugiere comparar los objetivos de dos en dos con los siguientes valores
numéricos [2]:
1: los criterios tienen la misma importancia.
3: moderada importancia de un criterio sobre otro.
5: fuerte importancia.
7: demostrada importancia.
9: extrema importancia.
Con esta configuración propuesta por Saaty, la matriz resultante tiene propiedades recíprocas, es
decir, el elemento de la matriz 𝑎𝑖𝑗 =1
𝑎𝑗𝑖.
Descripción de la Solución
50
Aplicamos a los datos de nuestro problema y nos queda:
Tabla 4–12. Matriz de comparación propuesta por Saaty.
Size
antes
IP
antes
ZetaPot
antes
EE
antes
Size
después
IP
después
ZetaPot
después
EE
después
Size
antes 1 1/5 1/7 1/7 1/9 1/9 1/9 1/9
IP
antes 5 1 1/5 1/7 1/9 1/9 1/7 1/9
ZetaPot
antes 7 5 1 1 1 1 1/9 1/3
EE
antes 7 7 1 1 1 1 1/7 1/9
Size
después 9 9 1 1 1 1 1 1/7
IP
después 9 9 1 1 1 1 1 1/3
ZetaPot
después 9 7 9 7 1 1 1 1
EE
después 9 9 3 9 7 3 1 1
A partir de esta matriz, necesitamos encontrar una combinación de pesos que resulte coherente con
estas preferencias que acabamos de describir. Para ello, podemos calcular la media geométrica de los
elementos de cada fila de la matriz de comparación, obteniendo:
𝑊1 = (1 ×1
5×1
7×1
7×1
9×1
9×1
9×1
9)1/8 = 0.168 (𝑆𝑖𝑧𝑒_𝑎𝑛𝑡𝑒𝑠)
𝑊2 = (5 × 1 ×1
5×1
7×1
9×1
9×1
7×1
9)1/8 = 0.270 (𝐼𝑃_𝑎𝑛𝑡𝑒𝑠)
𝑊3 = (7 × 5 × 1 × 1 × 1 × 1 ×1
9×1
3)1/8 = 1.033 (𝑍𝑒𝑡𝑎𝑃𝑜𝑡_𝑎𝑛𝑡𝑒𝑠)
𝑊4 = (7 × 7 × 1 × 1 × 1 × 1 ×1
7×1
9)1/8 = 0.969 (𝐸𝐸_𝑎𝑛𝑡𝑒𝑠)
51 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
𝑊5 = (9 × 9 × 1 × 1 × 1 × 1 × 1 ×1
7)1/8 = 1.358 (𝑆𝑖𝑧𝑒_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
𝑊6 = (9 × 9 × 1 × 1 × 1 × 1 × 1 ×1
3)1/8 = 1.510 (𝐼𝑃_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
𝑊7 = (9 × 7 × 9 × 7 × 1 × 1 × 1 × 1)1/8 = 2.817(𝑍𝑒𝑡𝑎𝑃𝑜𝑡_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
𝑊8 = (9 × 9 × 3 × 9 × 7 × 3 × 1 × 1)1/8 = 3.826 (𝐸𝐸_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
Normalizando, para que la suma de los datos finales sea uno, basta con dividir cada uno entre la
suma de todos ellos (11.951), resultado:
𝑊1 = 0.014 (𝑆𝑖𝑧𝑒_𝑎𝑛𝑡𝑒𝑠)
𝑊2 = 0.023 (𝐼𝑃_𝑎𝑛𝑡𝑒𝑠)
𝑊3 = 0.086 (𝑍𝑒𝑡𝑎𝑃𝑜𝑡_𝑎𝑛𝑡𝑒𝑠)
𝑊4 = 0.081 (𝐸𝐸_𝑎𝑛𝑡𝑒𝑠)
𝑊5 = 0.114 (𝑆𝑖𝑧𝑒_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
𝑊6 = 0.126 (𝐼𝑃_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
𝑊7 = 0.236 (𝑍𝑒𝑡𝑎𝑃𝑜𝑡_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
𝑊8 = 0.32 (𝐸𝐸_𝑑𝑒𝑠𝑝𝑢𝑒𝑠)
Para resumir toda la información y cálculos realizados en este apartado de ponderación de criterios,
tanto del procedimiento básico, como del sugerido por Saaty, presentamos una tabla final.
Tabla 4–13. Pesos (importancia) del sistema (ambos métodos).
Método Básico Sugerido por Saaty
Size_antes 𝑊1 = 0.058 𝑊1 = 0.014
IP_antes 𝑊2 = 0.058 𝑊2 = 0.023
ZetaPot_antes 𝑊3 = 0.115 𝑊3 = 0.086
EE_antes 𝑊4 = 0.077 𝑊4 = 0.081
Size_despues 𝑊5 = 0.115 𝑊5 = 0.114
IP_despues 𝑊6 = 0.115 𝑊6 = 0.126
ZetaPot_despues 𝑊7 = 0.231 𝑊7 = 0.236
EE_despues 𝑊8 = 0.231 𝑊8 = 0.32
Descripción de la Solución
52
4.3.4 Tasa de intercambio de objetivos
Antes de pasar a otros enfoques para la resolución del problema completo, vamos a explicar de
forma teórica el concepto de tasa de intercambio de objetivos, aspecto fundamental en la
programación multiobjetivo. También se le conoce como trade-off, nombre que toma en inglés.
La tasa de intercambio mide el coste de oportunidad de un recurso. También se puede definir como
el sacrificio necesario en un cierto objetivo para compensar un incremento unitario en la realización
de otro.
Si tenemos dos soluciones eficientes A y B, la tasa de intercambio 𝑇𝑖𝑗 entre los objetivos i-ésimo y j-
ésimo viene expresada por:
𝑇𝑖𝑗 =𝑓𝑖(𝐴) − 𝑓𝑖(𝐵)
𝑓𝑗(𝐴) − 𝑓𝑗(𝐵)
(4–12)
Si la aplicamos a nuestro problema, y tomamos por ejemplo las funciones Size_antes (𝑓1) y
ZetaPot_antes (𝑓3) y los puntos A (0, 1, 0, 0, 0) y B (1, 1, 1, 0, 0), tenemos:
𝑓1(𝐴) = 1148.42; 𝑓1(𝐵) = 1034.9;
𝑓3(𝐴) = 8.39; 𝑓3(𝐵) = 6.763;
𝑇𝑖𝑗 =𝑓𝑖(𝐴) − 𝑓𝑖(𝐵)
𝑓𝑗(𝐴) − 𝑓𝑗(𝐵)
𝑐𝑜𝑛 𝑛𝑢𝑒𝑠𝑡𝑟𝑜𝑠 𝑑𝑎𝑡𝑜𝑠⇒ 𝑇13 =
1148.42 − 1034.9
8.39 − 6.763= 69.77
53
5 MÉTODO DE RESOLUCIÓN DE
PROGRAMACIÓN POR COMPROMISO
n este quinto capítulo final vamos a proceder a resolver nuestro problema mediante la
Programación por Compromiso, método que explicaremos de forma teórica antes de resolverlo
aplicado a nuestro caso. Este método fue introducido por Zeleny en 1973, sirviendo de ayuda
al individuo decisor a elegir la solución óptima de entre un conjunto de soluciones eficientes.
La idea básica de este método es reducir la frontera de Pareto a una región más pequeña y asequible
para facilitar la tarea al decisor, basada en la idea de que cualquier sujeto elegirá aquella solución de
Pareto óptima que se encuentre más cerca del punto ideal.
E
No temáis a la grandeza; algunos nacen grandes,
algunos logran grandeza, a algunos la grandeza
les es impuesta y a otros la grandeza les queda
grande.
-William Shakespeare -
Método de resolución de Programación por Compromiso
54
5.1. Explicación del método general
Para empezar, Zeleny introduce el concepto de punto o alternativa ideal [3]. Las coordenadas de este
punto vienen dadas por los valores óptimos de los diferentes objetivos del problema, sirviendo como
punto de referencia para el individuo o conjunto de individuos decisores. Si fuera alcanzable, no
habría conflicto de objetivos y ya tendríamos la solución óptima que buscamos. Como no es lo
habitual, cuando no es posible alcanzar el punto ideal, el elemento óptimo o solución por
compromiso será aquella solución eficiente que se encuentre más próxima al punto ideal.
Dependiendo de la medida de distancia utilizada podremos establecer un conjunto de soluciones por
compromiso.
Aunque las coordenadas de la alternativa ideal vengan dadas por los valores óptimos de los distintos
objetivos, hay que obligar a la solución a cumplir las restricciones del problema. El punto ideal se
puede representar con el siguiente vector:
𝑓∗ = (𝑓1∗, … , 𝑓𝑖
∗, … , 𝑓𝑛∗)
𝑠𝑖𝑒𝑛𝑑𝑜 𝑓𝑖∗ 𝑒𝑙 ó𝑝𝑡𝑖𝑚𝑜 𝑑𝑒𝑙 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑖 − é𝑠𝑖𝑚𝑜
𝑠. 𝑎. 𝑥 ∈ �̌�
�̌� 𝑒𝑠 𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛𝑒𝑠 𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒𝑠
𝑛 𝑒𝑙 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜𝑠
Cuando el punto o alternativa ideal es inalcanzable (como ya hemos comentado, esto ocurrirá en la
gran mayoría de situaciones), la elección óptima o mejor solución por compromiso vendrá dada por
la solución eficiente más cercana al punto ideal, conociéndose esta regla como axioma de Zeleny.
Antes de pasar a describir el método, vamos a definir el grado de proximidad 𝑑𝑗, el cual se define
como la diferencia entre el objetivo j-ésimo y su ideal o valor ancla. De forma general, lo podemos
expresar como:
𝑑𝑗 = |𝑓𝑗∗ − 𝑓𝑗(x)| (5–1)
Si no queremos trabajar con valores absolutos (con esta fórmula general para el grado de proximidad,
es indiferente que las funciones objetivo sean de maximizar o minimizar), podemos descomponerla
en:
𝑑𝑗 = 𝑓𝑗
∗ − 𝑓𝑗(x) 𝑠𝑖 𝑒𝑙 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑒𝑠 𝑑𝑒 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟
𝑑𝑗 = 𝑓𝑗(x) − 𝑓𝑗∗ 𝑠𝑖 𝑒𝑙 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑒𝑠 𝑑𝑒 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟
𝑓𝑗∗ es 𝑒𝑙 ó𝑝𝑡𝑖𝑚𝑜 𝑑𝑒𝑙 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑗 − é𝑠𝑖𝑚𝑜
𝑓𝑗(x) es 𝑒𝑙 𝑣𝑎𝑙𝑜𝑟 𝑑𝑒 𝑙𝑎 𝑓𝑢𝑛𝑐𝑖ó𝑛 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑒𝑛 𝑐𝑎𝑑𝑎 𝑐𝑎𝑠𝑜
55 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Como en numerosas ocasiones los objetivos no se miden en las mismas unidades, y además los
valores absolutos pueden ser muy diferentes, es recomendable normalizar los grados de proximidad
para que tenga sentido la comparación de los mismos. Para ello, en vez de usar la fórmula general
anterior, una forma de normalizarlo es usar la siguiente expresión:
𝑑𝑗 =|𝑓𝑗∗ − 𝑓𝑗(x)|
|𝑓𝑗∗ − 𝑓∗𝑗|
𝑓∗𝑗 es 𝑒𝑙 anti − ideal 𝑑𝑒𝑙 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑗 − é𝑠𝑖𝑚𝑜 (𝑒𝑙 𝑝𝑒𝑜𝑟 𝑣𝑎𝑙𝑜𝑟 𝑑𝑒 𝑒𝑠𝑒 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜)
(5–2)
Igual que antes, si no queremos trabajar con valores absolutos, podemos descomponerla:
𝑑𝑗 =𝑓𝑗∗ − 𝑓𝑗(x)
𝑓𝑗∗ − 𝑓∗𝑗
𝑠𝑖 𝑒𝑙 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑒𝑠 𝑑𝑒 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟
𝑑𝑗 =𝑓𝑗(x) − 𝑓𝑗
∗
𝑓∗𝑗 − 𝑓𝑗∗ 𝑠𝑖 𝑒𝑙 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑒𝑠 𝑑𝑒 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟
Los valores del grado de proximidad normalizado están acotados entre 0 y 1. Cuando el objetivo
alcanza su valor ideal, el resultado es 0, así como cuando alcanza el peor es 1.
Una vez que tenemos definido el grado de proximidad 𝑑𝑗 debemos agregar todos los objetivos que
intervienen en nuestro problema. Para ello, representando por 𝑊𝑗 los pesos relativos a cada una de las
salidas del sistema (funciones objetivo), lo convertimos en el siguiente problema de optimización:
𝑀𝑖𝑛 𝐿𝑝 = [∑ 𝑊𝑗 [|𝑓𝑗∗ − 𝑓𝑗(x)|
|𝑓𝑗∗ − 𝑓∗𝑗|
]
𝑝𝑛
𝑗=1]
1/𝑝
𝑠. 𝑎. 𝑥 ∈ �̌�
𝑝 𝑟𝑒𝑝𝑟𝑒𝑠𝑒𝑛𝑡𝑎 𝑙𝑎 𝑚é𝑡𝑟𝑖𝑐𝑎 𝑞𝑢𝑒 𝑑𝑒𝑓𝑖𝑛𝑒 𝑙𝑎 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎
𝑝𝑟𝑜𝑏𝑙𝑒𝑚𝑎 𝑐𝑜𝑛 𝑛 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜𝑠
(5–3)
Para cada valor del parámetro p, tenemos una distancia en concreto. La distancia tradicional o
Euclídea se obtiene con el valor p = 2, así como la Manhattan con p = 1, correspondiendo siempre a
un punto extremo eficiente, dado el carácter lineal en los objetivos de la función 𝐿1.
Método de resolución de Programación por Compromiso
56
Para la métrica p = 1, el problema de optimización se simplifica bastante, obteniendo:
𝑀𝑖𝑛 𝐿1 =∑𝑊𝑗 |𝑓𝑗∗ − 𝑓𝑗(x)|
|𝑓𝑗∗ − 𝑓∗𝑗|
𝑛
𝑗=1
𝑠. 𝑎. 𝑥 ∈ �̌�
(5–4)
Para el valor p = ∞, minimizamos la máxima desviación de entre todas las individuales. Además,
para resolverlo, el modelo resultante es no lineal, pero convertimos las restricciones en lineales con
un pequeño truco, resultando:
𝑀𝑖𝑛 𝐿∞ = 𝑑
𝑊1 |𝑓1∗ − 𝑓1(x)|
|𝑓1∗ − 𝑓∗1|
≤ 𝑑
...
𝑊𝑗 |𝑓𝑗∗ − 𝑓𝑗(x)|
|𝑓𝑗∗ − 𝑓∗𝑗|
≤ 𝑑
...
𝑊𝑛 |𝑓𝑛∗ − 𝑓𝑛(x)|
|𝑓𝑛∗ − 𝑓∗𝑛|≤ 𝑑
𝑑 𝑟𝑒𝑝𝑟𝑒𝑠𝑒𝑛𝑡𝑎 𝑙𝑎 𝑑𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑚á𝑠 𝑔𝑟𝑎𝑛𝑑𝑒.
(5–5)
(5–6)
Para obtener soluciones con métricas distintas, basta con ir variando el valor que ha de tomar p,
aunque necesitamos recurrir a métodos de resolución no lineal. Sin embargo, este problema se reduce
bastante si recurrimos al teorema propuesto por Yu. Este teorema demuestra que para problemas de
dos objetivos, las métricas p = 1 y p = ∞ constituyen los límites del conjunto compromiso
perteneciendo el resto de soluciones al conjunto de puntos delimitado por estas soluciones [4].
Teorema: Si los objetivos considerados en un programa multiobjetivo lineal son dos, las soluciones
compromiso además de monótonas con respecto a p, están acotadas por las soluciones extremas
correspondientes a las métricas p = 1 y p = ∞. (Yu, 1973).
Por lo tanto, si podemos hallar las soluciones compromiso asociadas a las distancias de métricas
p=1 y p=∞, tendremos los límites del conjunto compromiso para la clase entera 1 ≤ p ≤ ∞.
57 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
5.2. Aplicación y resolución del método
Habiendo explicado la formulación general del problema para resolverlo por compromiso, vamos a
aplicar el procedimiento a nuestro problema, aunque no podremos llegar a la solución propuesta por
Yu ya que nuestro problema tiene más de 2 objetivos. Sin embargo, vamos a presentar la
formulación y pasaremos a ir resolviendo las distintas etapas. Para comenzar, nuestro problema,
escrito de forma general es el siguiente:
𝑀𝑖𝑛 𝐿𝑝 = [∑ 𝑊𝑗 [|𝑓𝑗∗ − 𝑓𝑗(x)|
|𝑓𝑗∗ − 𝑓∗𝑗|
]
𝑝8
𝑗=1]
1/𝑝
Lo primero que vamos a hacer es recordar los pesos de las funciones objetivo, así como señalar los
valores ideales y anti-ideales que nos harán falta para poder resolver el problema de optimización.
Como ya hemos presentado la tabla de matriz de pagos de Pareto, en el apartado 3.4.2. Conceptos
introducidos por Pareto, tabla 3-12. Conjunto de soluciones eficientes, donde vimos los valores
ideales (óptimos de las funciones objetivo de forma independiente) y los anti-ideales (peores valores
para las funciones), simplemente adjuntaremos una tabla con todos los datos. Nótese que se adjunta
en la tabla el valor de los pesos por los dos métodos que hemos visto, tanto el general como el
propuesto por Saaty.
Tabla 5–1. Datos de los objetivos para la programación por compromiso
Valor Ideal Valor anti-ideal Peso General Peso Saaty
f1: Size_antes 619.7264 1148.42 0.058 0.014
f2: IP_antes -0.098 0.994 0.058 0.023
f3: ZetaPot_antes 6.7628 15.73 0.115 0.086
f4: EE_antes 81.412 39.36 0.077 0.081
f5: Size_despues 143.8 180.33 0.115 0.114
f6: IP_despues 0.13379 0.19 0.115 0.126
f7: ZetaPot_despues -0.963 16.717 0.231 0.236
f8: EE_despues 5.922 2.802 0.231 0.32
Método de resolución de Programación por Compromiso
58
5.2.1 Resolución del problema con la métrica p = 1
Para resolver, recurrimos a LINGO igual que hicimos con las funciones objetivo de forma
individual. Vamos a presentar el modelo escrito en el programa y la solución que nos proporciona.
Código de LINGO del modelo de la programación por compromiso para métrica p = 1
min = L1;
L1 = w1*((z1 - z1ideal)/(z1antiideal - z1ideal))
+ w2*((z2 - z2ideal)/(z2antiideal - z2ideal))
+ w3*((z3 - z3ideal)/(z3antiideal - z3ideal))
+ w4*((z4ideal - z4)/(z4ideal - z4antiideal))
+ w5*((z5 - z5ideal)/(z5antiideal - z5ideal))
+ w6*((z6 - z6ideal)/(z6antiideal - z6ideal))
+ w7*((z7 - z7ideal)/(z7antiideal - z7ideal))
+ w8*((z8ideal - z8)/(z8ideal - z8antiideal));
w1 = 0.058;
w2 = 0.058;
w3 = 0.115;
w4 = 0.077;
w5 = 0.115;
w6 = 0.115;
w7 = 0.231;
w8 = 0.231;
z1ideal = 619.73;
z1antiideal = 1148.42;
z2ideal = -0.098;
z2antiideal = 0.994;
z3ideal = 6.76;
z3antiideal = 15.73;
z4ideal = 81.412;
z4antiideal = 39.36;
z5ideal = 143.8;
z5antiideal = 180.33;
z6ideal = 0.13379;
z6antiideal = 0.19;
z7ideal = -0.963;
z7antiideal = 16.717;
z8ideal = 5.922;
z8antiideal = 2.802;
z1 = 10^(VSlogantes);
VSlogantes = 3.02 + 0.077*Ch + 0.0401*AEA - 0.0362*Dr - 0.136*EA
+ 0.0831*TE - 0.105*Ch*AEA + 0.00995*Ch*Dr
+ 0.00905*AEA*Dr + 0.0863*Dr*EA + 0.0398*Ch*TE
+ 0.01444*AEA*TE - 0.104*Dr*TE - 0.121*EA*TE;
z2 = 0.103 + 0.411*Ch - 0.201*AEA + 0.272*Dr + 0.39*EA + 0.379*TE
+ 0.265*Ch*Dr + 0.172*AEA*EA - 0.462*Dr*EA
- 0.506*Ch*TE + 0.24*Dr*TE - 0.564*EA*TE;
z3 = 8.33 - 0.418*Ch + 0.0624*AEA - 0.0856*Dr + 2.85*EA + 0.499*TE
- 0.727*Ch*Dr - 0.399*AEA*Dr - 0.356*AEA*EA
- 0.516*Ch*TE - 0.325*AEA*TE + 0.363*Dr*TE + 3.77*EA*TE;
59 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
z4 = 37.9 + 12*Ch + 4.72*AEA + 2.54*Dr + 7.75*EA + 1.68*TE
+ 3.32*Ch*AEA + 0.782*Ch*Dr - 2.97*AEA*Dr + 7.73*Ch*EA
- 1.15*AEA*EA + 8.79*Dr*EA - 3.45*Ch*TE - 6.79*AEA*TE
+ 2.28*Dr*TE + 1.3*EA*TE;
z5 = 10^(VSlogdespues);
VSlogdespues = 2.25 - 0.0179*Ch - 0.00826*AEA + 0.00655*Dr - 0.0237*EA
- 0.00438*TE + 0.0117*Ch*AEA - 0.00301*Ch*Dr
- 0.0167*AEA*Dr + 0.0246*Ch*EA + 0.00735*AEA*EA
- 0.0157*Dr*EA - 0.00889*Ch*TE - 0.0119*AEA*TE
+ 0.0039*Dr*TE - 0.0294*EA*TE;
z6 = 0.189 - 0.00552*Ch - 0.0039*AEA - 0.00102*Dr - 0.0214*EA
+ 0.00281*TE + 0.0111*Ch*Dr - 0.0094*AEA*Dr
+0.0094*Ch*EA + 0.00598*Ch*TE - 0.0223*EA*TE;
z7 = 7.38 + 0.332*Ch + 2.12*AEA - 0.943*Dr + 0.33*EA - 5.65*TE
+ 3.97*Ch*AEA - 1.15*Ch*Dr - 3.09*AEA*Dr - 1.58*Ch*EA
- 1.66*AEA*EA - 1.23*Ch*TE - 2.48*AEA*TE
+ 1.7*Dr*TE + 13.9*EA*TE;
z8 = 4.21 - 0.279*Ch + 0.311*AEA + 0.152*Dr - 0.595*EA + 0.878*TE
+ 0.726*Ch*AEA + 0.417*Ch*Dr - 0.973*AEA*Dr
+ 1.21*Ch*EA - 0.543*AEA*EA + 0.169*Dr*EA
- 0.898*Ch*TE - 0.269*AEA*TE + 0.682*Dr*TE
- 1.22*EA*TE;
@Free (z1);
@Free (z2);
@Free (z3);
@Free (z4);
@Free (z5);
@Free (z6);
@Free (z7);
@Free (z8);
@Free (z2ideal);
@Free (z7ideal);
@BND (0,Ch,1);
@BND (0,AEA,1);
@BND (0,Dr,1);
@BND (0,EA,1);
@BND (0,TE,1);
@GIN (Dr);
@GIN (EA);
@GIN (TE);
Tabla 5–2. Solución de la programación por compromiso con métrica p = 1
Global optimal solution found.
Objective value: 0.4216844
Extended solver steps: 2
Total solver iterations: 228
Variable Value Reduced Cost
L1 0.4216844 0.000000
W1 0.5800000E-01 0.000000
Z1 1064.991 0.000000
Z1IDEAL 619.7300 0.000000
Método de resolución de Programación por Compromiso
60
Z1ANTIIDEAL 1148.420 0.000000
W2 0.5800000E-01 0.000000
Z2 0.7996891 0.000000
Z2IDEAL -0.9800000E-01 0.000000
Z2ANTIIDEAL 0.9940000 0.000000
W3 0.1150000 0.000000
Z3 8.379443 0.000000
Z3IDEAL 6.760000 0.000000
Z3ANTIIDEAL 15.73000 0.000000
W4 0.7700000E-01 0.000000
Z4IDEAL 81.41200 0.000000
Z4 39.85783 0.000000
Z4ANTIIDEAL 39.36000 0.000000
W5 0.1150000 0.000000
Z5 165.3856 0.000000
Z5IDEAL 143.8000 0.000000
Z5ANTIIDEAL 180.3300 0.000000
W6 0.1150000 0.000000
Z6 0.1779449 0.000000
Z6IDEAL 0.1337900 0.000000
Z6ANTIIDEAL 0.1900000 0.000000
W7 0.2310000 0.000000
Z7 -0.8873734 0.000000
Z7IDEAL -0.9630000 0.000000
Z7ANTIIDEAL 16.71700 0.000000
W8 0.2310000 0.000000
Z8IDEAL 5.922000 0.000000
Z8 4.989662 0.000000
Z8ANTIIDEAL 2.802000 0.000000
VSLOGANTES 3.027346 0.3228641E-08
CH 0.3934787E-01 0.000000
AEA 1.000000 -0.4124126E-01
DR 1.000000 -0.6285474E-01
EA 0.000000 0.1394336
TE 1.000000 -0.1440844
VSLOGDESPUES 2.218498 0.000000
Row Slack or Surplus Dual Price
1 0.4216844 -1.000000
2 0.000000 -1.000000
3 0.000000 -0.8421962
4 0.000000 -0.8220597
5 0.000000 -0.1805399
6 0.000000 -0.9881616
7 0.000000 -0.5909018
8 0.000000 -0.7855339
9 0.000000 -0.4277523E-02
10 0.000000 -0.2988262
11 0.000000 0.1731189E-04
12 0.000000 0.9239319E-04
13 0.000000 0.9453158E-02
14 0.000000 0.4365275E-01
15 0.000000 0.1050618E-01
16 0.000000 0.2314552E-02
17 0.000000 -0.2167681E-04
18 0.000000 -0.1809400E-02
19 0.000000 0.1287890E-02
20 0.000000 0.1860204E-02
21 0.000000 0.4406901
22 0.000000 1.600173
23 0.000000 0.1300990E-01
24 0.000000 0.5588768E-04
25 0.000000 -0.5190977E-01
61 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
26 0.000000 -0.2212637E-01
27 0.000000 -0.1097051E-03
28 0.000000 -0.2690224
29 0.000000 -0.5311355E-01
30 0.000000 -0.1282051E-01
31 0.000000 0.1831066E-02
32 0.000000 -0.3148097E-02
33 0.000000 -1.198841
34 0.000000 -2.045899
35 0.000000 -0.1306561E-01
36 0.000000 0.7403846E-01
5.2.2 Resolución del problema con la métrica p = 2
Código de LINGO del modelo de la programación por compromiso para métrica p = 2
min = L;
L = ((w1*((z1 - z1ideal)/(z1antiideal - z1ideal))^p)
+ (w2*((z2 - z2ideal)/(z2antiideal - z2ideal))^p)
+ (w3*((z3 - z3ideal)/(z3antiideal - z3ideal))^p)
+ (w4*((z4ideal - z4)/(z4ideal - z4antiideal))^p)
+ (w5*((z5 - z5ideal)/(z5antiideal - z5ideal))^p)
+ (w6*((z6 - z6ideal)/(z6antiideal - z6ideal))^p)
+ (w7*((z7 - z7ideal)/(z7antiideal - z7ideal))^p)
+ (w8*((z8ideal - z8)/(z8ideal - z8antiideal))^p))^(1/p);
p = 2;
w1 = 0.058;
w2 = 0.058;
w3 = 0.115;
w4 = 0.077;
w5 = 0.115;
w6 = 0.115;
w7 = 0.231;
w8 = 0.231;
z1ideal = 619.73;
z1antiideal = 1148.42;
z2ideal = -0.098;
z2antiideal = 0.994;
z3ideal = 6.76;
z3antiideal = 15.73;
z4ideal = 81.412;
z4antiideal = 39.36;
z5ideal = 143.8;
z5antiideal = 180.33;
z6ideal = 0.13379;
z6antiideal = 0.19;
z7ideal = -0.963;
z7antiideal = 16.717;
z8ideal = 5.922;
z8antiideal = 2.802;
z1 = 10^(VSlogantes);
VSlogantes = 3.02 + 0.077*Ch + 0.0401*AEA - 0.0362*Dr - 0.136*EA
+ 0.0831*TE - 0.105*Ch*AEA + 0.00995*Ch*Dr
Método de resolución de Programación por Compromiso
62
+ 0.00905*AEA*Dr + 0.0863*Dr*EA + 0.0398*Ch*TE
+ 0.01444*AEA*TE - 0.104*Dr*TE - 0.121*EA*TE;
z2 = 0.103 + 0.411*Ch - 0.201*AEA + 0.272*Dr + 0.39*EA + 0.379*TE
+ 0.265*Ch*Dr + 0.172*AEA*EA - 0.462*Dr*EA
- 0.506*Ch*TE + 0.24*Dr*TE - 0.564*EA*TE;
z3 = 8.33 - 0.418*Ch + 0.0624*AEA - 0.0856*Dr + 2.85*EA + 0.499*TE
- 0.727*Ch*Dr - 0.399*AEA*Dr - 0.356*AEA*EA
- 0.516*Ch*TE - 0.325*AEA*TE + 0.363*Dr*TE + 3.77*EA*TE;
z4 = 37.9 + 12*Ch + 4.72*AEA + 2.54*Dr + 7.75*EA + 1.68*TE
+ 3.32*Ch*AEA + 0.782*Ch*Dr - 2.97*AEA*Dr + 7.73*Ch*EA
- 1.15*AEA*EA + 8.79*Dr*EA - 3.45*Ch*TE - 6.79*AEA*TE
+ 2.28*Dr*TE + 1.3*EA*TE;
z5 = 10^(VSlogdespues);
VSlogdespues = 2.25 - 0.0179*Ch - 0.00826*AEA + 0.00655*Dr - 0.0237*EA
- 0.00438*TE + 0.0117*Ch*AEA - 0.00301*Ch*Dr
- 0.0167*AEA*Dr + 0.0246*Ch*EA + 0.00735*AEA*EA
- 0.0157*Dr*EA - 0.00889*Ch*TE - 0.0119*AEA*TE
+ 0.0039*Dr*TE - 0.0294*EA*TE;
z6 = 0.189 - 0.00552*Ch - 0.0039*AEA - 0.00102*Dr - 0.0214*EA
+ 0.00281*TE + 0.0111*Ch*Dr - 0.0094*AEA*Dr
+0.0094*Ch*EA + 0.00598*Ch*TE - 0.0223*EA*TE;
z7 = 7.38 + 0.332*Ch + 2.12*AEA - 0.943*Dr + 0.33*EA - 5.65*TE
+ 3.97*Ch*AEA - 1.15*Ch*Dr - 3.09*AEA*Dr - 1.58*Ch*EA
- 1.66*AEA*EA - 1.23*Ch*TE - 2.48*AEA*TE
+ 1.7*Dr*TE + 13.9*EA*TE;
z8 = 4.21 - 0.279*Ch + 0.311*AEA + 0.152*Dr - 0.595*EA + 0.878*TE
+ 0.726*Ch*AEA + 0.417*Ch*Dr - 0.973*AEA*Dr
+ 1.21*Ch*EA - 0.543*AEA*EA + 0.169*Dr*EA
- 0.898*Ch*TE - 0.269*AEA*TE + 0.682*Dr*TE
- 1.22*EA*TE;
@Free (z1);
@Free (z2);
@Free (z3);
@Free (z4);
@Free (z5);
@Free (z6);
@Free (z7);
@Free (z8);
@Free (z2ideal);
@Free (z7ideal);
@Free (L);
@BND (0,Ch,1);
@BND (0,AEA,1);
@BND (0,Dr,1);
@BND (0,EA,1);
@BND (0,TE,1);
@GIN (Dr);
@GIN (EA);
@GIN (TE);
63 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Tabla 5–3. Solución de la programación por compromiso con métrica p = 2
Global optimal solution found.
Objective value: 0.4710378
Extended solver steps: 2
Total solver iterations: 1309
Variable Value Reduced Cost
L 0.4710378 0.000000
W1 0.5800000E-01 0.000000
Z1 925.2517 0.000000
Z1IDEAL 619.7300 0.000000
Z1ANTIIDEAL 1148.420 0.000000
P 2.000000 0.000000
W2 0.5800000E-01 0.000000
Z2 0.9103055 0.000000
Z2IDEAL -0.9800000E-01 0.000000
Z2ANTIIDEAL 0.9940000 0.000000
W3 0.1150000 0.000000
Z3 9.324034 0.000000
Z3IDEAL 6.760000 0.000000
Z3ANTIIDEAL 15.73000 0.000000
W4 0.7700000E-01 0.000000
Z4IDEAL 81.41200 0.000000
Z4 80.01259 0.000000
Z4ANTIIDEAL 39.36000 0.000000
W5 0.1150000 0.000000
Z5 163.6916 0.000000
Z5IDEAL 143.8000 0.000000
Z5ANTIIDEAL 180.3300 0.000000
W6 0.1150000 0.000000
Z6 0.1673804 0.000000
Z6IDEAL 0.1337900 0.000000
Z6ANTIIDEAL 0.1900000 0.000000
W7 0.2310000 0.000000
Z7 5.616693 0.000000
Z7IDEAL -0.9630000 0.000000
Z7ANTIIDEAL 16.71700 0.000000
W8 0.2310000 0.000000
Z8IDEAL 5.922000 0.000000
Z8 4.683215 0.000000
Z8ANTIIDEAL 2.802000 0.000000
VSLOGANTES 2.966260 0.000000
CH 0.9412803 -0.1507585E-06
AEA 1.000000 -0.2272579E-01
DR 1.000000 -0.6031909E-01
EA 1.000000 -0.7183558E-01
TE 0.000000 -0.3060433E-01
VSLOGDESPUES 2.214026 0.000000
Row Slack or Surplus Dual Price
1 0.4710378 -1.000000
2 0.000000 -1.000000
3 0.000000 -0.3532440E-01
4 0.000000 -0.3544511
5 0.000000 -0.9047975
6 0.000000 -0.8672957E-01
7 0.000000 -0.1175518E-02
8 0.000000 -0.3147150
9 0.000000 -0.3790306
10 0.000000 -0.1470092
Método de resolución de Programación por Compromiso
64
11 0.000000 -0.1673316
12 0.000000 0.5681239E-04
13 0.000000 0.7777721E-04
14 0.000000 0.7981553E-02
15 0.000000 0.9610672E-01
16 0.000000 0.5556110E-02
17 0.000000 0.2223795E-02
18 0.000000 -0.1250667E-03
19 0.000000 -0.4305016E-05
20 0.000000 0.1657587E-02
21 0.000000 0.1981650E-02
22 0.000000 1.047783
23 0.000000 1.541638
24 0.000000 0.6481145E-02
25 0.000000 0.3841599E-02
26 0.000000 -0.3762828E-01
27 0.000000 -0.2478177E-01
28 0.000000 -0.1345897E-03
29 0.000000 -0.2867394
30 0.000000 -0.1041164
31 0.000000 -0.7780037E-02
32 0.000000 0.1293622E-03
33 0.000000 -0.3639245E-02
34 0.000000 -1.371681
35 0.000000 -2.595552
36 0.000000 -0.1032281E-01
37 0.000000 0.6240841E-01
El modelo, para distintas métricas hasta llegar a p=∞ es el mismo. Por esta razón no vamos a
presentar todas las alternativas, sino que al final incluiremos aquellas soluciones que hemos creído
conveniente, además de las que acabamos de mostrar, para ver cómo evolucionan las variables del
sistema.
5.2.3 Resolución del problema con la métrica p = ∞
Código de LINGO del modelo de la programación por compromiso para métrica p = ∞
min = d;
w1*((z1 - z1ideal)/(z1antiideal - z1ideal)) <= d;
w2*((z2 - z2ideal)/(z2antiideal - z2ideal)) <= d;
w3*((z3 - z3ideal)/(z3antiideal - z3ideal)) <= d;
w4*((z4ideal - z4)/(z4ideal - z4antiideal)) <= d;
w5*((z5 - z5ideal)/(z5antiideal - z5ideal)) <= d;
w6*((z6 - z6ideal)/(z6antiideal - z6ideal)) <= d;
w7*((z7 - z7ideal)/(z7antiideal - z7ideal)) <= d;
w8*((z8ideal - z8)/(z8ideal - z8antiideal)) <= d;
w1 = 0.058;
w2 = 0.058;
w3 = 0.115;
w4 = 0.077;
w5 = 0.115;
w6 = 0.115;
65 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
w7 = 0.231;
w8 = 0.231;
z1ideal = 619.73;
z1antiideal = 1148.42;
z2ideal = -0.098;
z2antiideal = 0.994;
z3ideal = 6.76;
z3antiideal = 15.73;
z4ideal = 81.412;
z4antiideal = 39.36;
z5ideal = 143.8;
z5antiideal = 180.33;
z6ideal = 0.13379;
z6antiideal = 0.19;
z7ideal = -0.963;
z7antiideal = 16.717;
z8ideal = 5.922;
z8antiideal = 2.802;
z1 = 10^(VSlogantes);
VSlogantes = 3.02 + 0.077*Ch + 0.0401*AEA - 0.0362*Dr - 0.136*EA
+ 0.0831*TE - 0.105*Ch*AEA + 0.00995*Ch*Dr
+ 0.00905*AEA*Dr + 0.0863*Dr*EA + 0.0398*Ch*TE
+ 0.01444*AEA*TE - 0.104*Dr*TE - 0.121*EA*TE;
z2 = 0.103 + 0.411*Ch - 0.201*AEA + 0.272*Dr + 0.39*EA + 0.379*TE
+ 0.265*Ch*Dr + 0.172*AEA*EA - 0.462*Dr*EA
- 0.506*Ch*TE + 0.24*Dr*TE - 0.564*EA*TE;
z3 = 8.33 - 0.418*Ch + 0.0624*AEA - 0.0856*Dr + 2.85*EA + 0.499*TE
- 0.727*Ch*Dr - 0.399*AEA*Dr - 0.356*AEA*EA
- 0.516*Ch*TE - 0.325*AEA*TE + 0.363*Dr*TE + 3.77*EA*TE;
z4 = 37.9 + 12*Ch + 4.72*AEA + 2.54*Dr + 7.75*EA + 1.68*TE
+ 3.32*Ch*AEA + 0.782*Ch*Dr - 2.97*AEA*Dr + 7.73*Ch*EA
- 1.15*AEA*EA + 8.79*Dr*EA - 3.45*Ch*TE - 6.79*AEA*TE
+ 2.28*Dr*TE + 1.3*EA*TE;
z5 = 10^(VSlogdespues);
VSlogdespues = 2.25 - 0.0179*Ch - 0.00826*AEA + 0.00655*Dr - 0.0237*EA
- 0.00438*TE + 0.0117*Ch*AEA - 0.00301*Ch*Dr
- 0.0167*AEA*Dr + 0.0246*Ch*EA + 0.00735*AEA*EA
- 0.0157*Dr*EA - 0.00889*Ch*TE - 0.0119*AEA*TE
+ 0.0039*Dr*TE - 0.0294*EA*TE;
z6 = 0.189 - 0.00552*Ch - 0.0039*AEA - 0.00102*Dr - 0.0214*EA
+ 0.00281*TE + 0.0111*Ch*Dr - 0.0094*AEA*Dr
+0.0094*Ch*EA + 0.00598*Ch*TE - 0.0223*EA*TE;
z7 = 7.38 + 0.332*Ch + 2.12*AEA - 0.943*Dr + 0.33*EA - 5.65*TE
+ 3.97*Ch*AEA - 1.15*Ch*Dr - 3.09*AEA*Dr - 1.58*Ch*EA
- 1.66*AEA*EA - 1.23*Ch*TE - 2.48*AEA*TE
+ 1.7*Dr*TE + 13.9*EA*TE;
z8 = 4.21 - 0.279*Ch + 0.311*AEA + 0.152*Dr - 0.595*EA + 0.878*TE
+ 0.726*Ch*AEA + 0.417*Ch*Dr - 0.973*AEA*Dr
+ 1.21*Ch*EA - 0.543*AEA*EA + 0.169*Dr*EA
- 0.898*Ch*TE - 0.269*AEA*TE + 0.682*Dr*TE
- 1.22*EA*TE;
@Free (z1);
@Free (z2);
@Free (z3);
Método de resolución de Programación por Compromiso
66
@Free (z4);
@Free (z5);
@Free (z6);
@Free (z7);
@Free (z8);
@Free (z2ideal);
@Free (z7ideal);
@BND (0,Ch,1);
@BND (0,AEA,1);
@BND (0,Dr,1);
@BND (0,EA,1);
@BND (0,TE,1);
@GIN (Dr);
@GIN (EA);
@GIN (TE);
Tabla 5–4. Solución de la programación por compromiso con métrica p = ∞
Global optimal solution found.
Objective value: 0.7962963E-01
Extended solver steps: 2
Total solver iterations: 229
Variable Value Reduced Cost
D 0.7962963E-01 0.000000
W1 0.5800000E-01 0.000000
Z1 971.0676 0.000000
Z1IDEAL 619.7300 0.000000
Z1ANTIIDEAL 1148.420 0.000000
W2 0.5800000E-01 0.000000
Z2 0.8965870 0.000000
Z2IDEAL -0.9800000E-01 0.000000
Z2ANTIIDEAL 0.9940000 0.000000
W3 0.1150000 0.000000
Z3 9.677492 0.000000
Z3IDEAL 6.760000 0.000000
Z3ANTIIDEAL 15.73000 0.000000
W4 0.7700000E-01 0.000000
Z4IDEAL 81.41200 0.000000
Z4 77.47357 0.000000
Z4ANTIIDEAL 39.36000 0.000000
W5 0.1150000 0.000000
Z5 164.6502 0.000000
Z5IDEAL 143.8000 0.000000
Z5ANTIIDEAL 180.3300 0.000000
W6 0.1150000 0.000000
Z6 0.1727116 0.000000
Z6IDEAL 0.1337900 0.000000
Z6ANTIIDEAL 0.1900000 0.000000
W7 0.2310000 0.000000
Z7 5.131597 0.000000
Z7IDEAL -0.9630000 0.000000
Z7ANTIIDEAL 16.71700 0.000000
W8 0.2310000 0.000000
Z8IDEAL 5.922000 0.000000
Z8 4.846483 0.000000
Z8ANTIIDEAL 2.802000 0.000000
VSLOGANTES 2.987249 0.000000
CH 0.9018874 0.000000
67 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
AEA 0.5547890 0.000000
DR 1.000000 -0.2490099E-01
EA 1.000000 -0.2642208E-01
TE 0.000000 0.4714351E-01
VSLOGDESPUES 2.216562 0.000000
Row Slack or Surplus Dual Price
1 0.7962963E-01 -1.000000
2 0.4108610E-01 0.000000
3 0.2680358E-01 0.000000
4 0.4222589E-01 0.000000
5 0.7241812E-01 0.000000
6 0.1399112E-01 0.000000
7 0.000000 0.3676582
8 0.000000 0.5563784
9 0.000000 0.7596344E-01
10 0.000000 0.000000
11 0.000000 0.000000
12 0.000000 0.000000
13 0.000000 0.000000
14 0.000000 0.000000
15 0.000000 -0.2545781
16 0.000000 -0.1917931
17 0.000000 -0.2618589E-01
18 0.000000 0.000000
19 0.000000 0.000000
20 0.000000 0.000000
21 0.000000 0.000000
22 0.000000 0.000000
23 0.000000 0.000000
24 0.000000 0.000000
25 0.000000 0.000000
26 0.000000 0.000000
27 0.000000 0.000000
28 0.000000 0.2323596
29 0.000000 0.5185888
30 0.000000 0.4763595E-02
31 0.000000 0.2505859E-02
32 0.000000 -0.3685165E-02
33 0.000000 -0.1938915E-02
34 0.000000 0.000000
35 0.000000 0.000000
36 0.000000 0.000000
37 0.000000 0.000000
38 0.000000 0.000000
39 0.000000 0.000000
40 0.000000 0.000000
41 0.000000 -0.7521916
42 0.000000 -0.7269424E-02
43 0.000000 0.5624216E-02
A modo de resumen, vamos a incluir todos los resultados vistos hasta ahora del modelo por
compromiso en una tabla, adjuntando además, resultados extras que han sido probados en la
aplicación LINGO para métricas distintas a las mostradas en el presente documento.
Nótese que los códigos, soluciones y resultados están todos referidos a la ponderación básica de
criterios por el método general. El procedimiento para realizarlos con los propuestos por Saaty es el
mismo, sólo hay que cambiar el valor de los pesos en el código que hemos presentado, por esta razón
hemos decidido no incluirlo en la memoria, y sólo adjuntar los resultados obtenidos.
Método de resolución de Programación por Compromiso
68
Tabla 5–5. Resultados de la programación por compromiso con pesos por el método básico.
Métrica Variables Métrica Variables
𝒑 = 𝟏 𝐿1 = 0.4217
𝐶ℎ = 0 𝐴𝐸𝐴 = 1 𝐷𝑟 = 1 𝐸𝐴 = 0 𝑇𝐸 = 1
𝒑 = 𝟐 𝐿2 = 0.471
𝐶ℎ = 1 𝐴𝐸𝐴 = 1 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟑 𝐿3 = 0.498
𝐶ℎ = 0.79 𝐴𝐸𝐴 = 1 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟓 𝐿5 = 0.527
𝐶ℎ = 0.392 𝐴𝐸𝐴 = 0.273 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟏𝟎 𝐿10 = 0.549
𝐶ℎ = 0.299 𝐴𝐸𝐴 = 0.188 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟐𝟎 𝐿20 = 0.567
𝐶ℎ = 0.327 𝐴𝐸𝐴 = 0.268 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟓𝟎 𝐿50 = 0.581
𝐶ℎ = 0.357 𝐴𝐸𝐴 = 0.341 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = ∞ 𝐿∞ = 0.0796
𝐶ℎ = 0.902 𝐴𝐸𝐴 = 0.55 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
69 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Tabla 5–6. Resultados de la programación por compromiso con pesos método Saaty.
Métrica Variables Métrica Variables
𝒑 = 𝟏 𝐿1 = 0.386
𝐶ℎ = 1 𝐴𝐸𝐴 = 0 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟐 𝐿2 = 0.435
𝐶ℎ = 1 𝐴𝐸𝐴 = 1 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟑 𝐿3 = 0.465
𝐶ℎ = 1 𝐴𝐸𝐴 = 1 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟓 𝐿5 = 0.504
𝐶ℎ = 0.81 𝐴𝐸𝐴 = 1 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟏𝟎 𝐿10 = 0.546
𝐶ℎ = 0.5 𝐴𝐸𝐴 = 0.5 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟐𝟎 𝐿20 = 0.566
𝐶ℎ =0.42 𝐴𝐸𝐴 = 0.39 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = 𝟓𝟎 𝐿50 = 0.581
𝐶ℎ = 0.39 𝐴𝐸𝐴 = 0.38 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
𝒑 = ∞ 𝐿∞ = 0.091
𝐶ℎ = 1 𝐴𝐸𝐴 = 0.53 𝐷𝑟 = 1 𝐸𝐴 = 1 𝑇𝐸 = 0
Para concluir este capítulo, vamos a comentar los resultados que hemos obtenido por el método de
Saaty, ya que son los pesos que nos han aportado desde la Facultad de Farmacia con la importancia
relativa que tienen los objetivos en el problema global para ellos.
Como puede observarse en los resultados, no se cumple el teorema de Yu, ya que el problema es no
lineal y contiene más de dos objetivos (El teorema de Yu sólo es válido para respuestas lineales en
problemas de dos respuestas). Sin embargo, puede observarse cierta tendencia monótona y la
distancia parece estar acotada para los casos entre 𝐿1 y 𝐿50, no cumpliéndose para 𝐿∞.
Las variables Dr y EA siempre están a 1 para cualquier valor de la métrica p. Ch cercano a 1 para
valores bajos de p, decreciendo conforme aumenta (con excepción de p=∞). La variable AEA toma
valores medios para valores de p superiores a 10. Para valores bajos, siempre es AEA=1 a excepción
de la métrica p=1 donde AEA=0. Parece que la combinación más repetida es la siguiente:
𝐶ℎ = 1 𝐴𝐸𝐴 = 1 𝐷𝑟 = 1 𝐸𝐴 = 1 TE = 0
71
6 MÉTODOS DE RESOLUCIÓN DE
PROGRAMACIÓN POR METAS
n este capítulo vamos a presentar varios métodos relativos a la programación por metas,
describiendo el procedimiento general y resolviendo los modelos, de forma que saquemos
conclusiones acerca del resulta que nos proporcione LINGO.
E
La libertad comienza allí donde acaba la
ignorancia.
-Victor Hugo -
Métodos de resolución de Programación por Metas
72
6.1. Introducción
Para situar la programación secuencial, el otro método con el que vamos a estudiar nuestro problema
en profundidad, debemos remontarnos hasta el principio del presente capítulo, donde habíamos
esquematizado diferentes enfoques con los que podemos abordar un problema de decisión
multicriterio.
En el esquema, se propuso una escisión en cuanto a la hora de estudiar el problema, separando
optimización de satisfacción. Los métodos que hemos visto hasta ahora pertenecen al grupo de
optimización, pero todos ellos ayudan poco a nivel práctico, debido a la dificultad que presentan en
el momento de aplicarlos a problemas de tamaño medio-grande. Podemos decir que son métodos con
un enfoque teórico predominante, aunque muy útiles cuando el problema no es demasiado grande.
Sin embargo, la programación por metas, también llamada goal programming, donde se incluye la
programación secuencial, incluye una lógica satisfaciente, en el que se intenta que un conjunto de
metas se aproxime lo más posible a unos niveles de aspiración que fijamos previamente [5].
En resumen, dentro del conjunto de métodos de satisfacción, está la programación por metas, y como
variante suya, la programación secuencial, que será el método que desarrollaremos con mayor
profundidad y más detalle.
73 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
6.2. Niveles de aspiración y variables de decisión
Antes de empezar a formular el modelo de programación por metas, igual que hacemos con otros
enfoques multicriterio, comenzamos fijando unos atributos que consideramos relevantes para el
problema que estamos estudiando. Definimos el nivel de aspiración 𝑎𝑖 como el nivel deseable que el
centro decisor quiere alcanzar para el objetivo i-ésimo.
𝑓𝑖(𝑥) + 𝑛𝑖 − 𝑝𝑖 = 𝑎𝑖
𝑓𝑖(𝑥) 𝑒𝑠 𝑒𝑙 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑖 − é𝑠𝑖𝑚𝑜 𝑛𝑖 𝑒𝑠 𝑒𝑙 𝑛𝑖𝑣𝑒𝑙 𝑝𝑜𝑟 𝑑𝑒𝑏𝑎𝑗𝑜 𝑑𝑒𝑙 𝑛𝑖𝑣𝑒𝑙 𝑑𝑒 𝑎𝑠𝑝𝑖𝑟𝑎𝑐𝑖ó𝑛 𝑝𝑖 𝑒𝑠 𝑒𝑙 𝑛𝑖𝑣𝑒𝑙 𝑝𝑜𝑟 𝑒𝑛𝑐𝑖𝑚𝑎 𝑑𝑒𝑙 𝑛𝑖𝑣𝑒𝑙 𝑑𝑒 𝑎𝑠𝑝𝑖𝑟𝑎𝑐𝑖ó𝑛 𝑎𝑖 𝑒𝑠 𝑒𝑙 𝑛𝑖𝑣𝑒𝑙 𝑑𝑒 𝑎𝑠𝑝𝑖𝑟𝑎𝑐𝑖ó𝑛
(6–1)
𝑛𝑖 y 𝑝𝑖 representan las variables de desviación negativa y positiva respectivamente, también
llamadas variables de desviación no deseada (VDND). La variable de desviación negativa cuantifica
la falta de logro de una meta con respecto a su nivel de aspiración, mientras que la variable de
desviación positiva cuantifica el exceso de logro de una meta con respecto a su nivel de aspiración.
Tanto 𝑛𝑖 como 𝑝𝑖 han de ser mayores que cero, resultando en general:
𝑓𝑖(𝑥) + 𝑛𝑖 − 𝑝𝑖 = 𝑎𝑖
𝑛𝑖, 𝑝𝑖 ≥ 0
En el caso que la función objetivo sea de maximizar, la variable de desviación no deseada es 𝑛𝑖, mientras que si es de minimizar, la VDND es 𝑝𝑖. Si nuestro objetivo alcanza un valor nominal, las
VDND son 𝑛𝑖 y 𝑝𝑖.
Tabla 6–1. Posibilidades en las variables de desviación
CASOS TIPO de F.O. EXPRESIÓN VDND
Caso 1 MAX 𝑓𝑖(𝑥) + 𝑛𝑖 − 𝑝𝑖 = 𝑎𝑖 𝑛𝑖
Caso 2 Min 𝑓𝑖(𝑥) + 𝑛𝑖 − 𝑝𝑖 = 𝑎𝑖 𝑝𝑖
Caso 3 Valor nominal 𝑓𝑖(𝑥) + 𝑛𝑖 − 𝑝𝑖 = 𝑎𝑖 𝑛𝑖 y 𝑝𝑖
Métodos de resolución de Programación por Metas
74
Para nuestro problema, tenemos los siguientes datos:
Tabla 6–2. Variables de desviación de nuestro problema
OBJETIVO DEL SISTEMA TIPO DE OBJETIVO VDND
f1: size_antes Min 𝑝1
f2: IP_antes Min 𝑝2
f3: ZetaPot_antes Min 𝑝3
f4: EE_antes MAX 𝑛4
f5: size_despues Min 𝑝5
f6: IP_despues Min 𝑝6
f7: ZetaPot_despues Min 𝑝7
f8: EE_despues MAX 𝑛8
En el modelo general vamos a tratar de minimizar las variables de desviación no deseadas, además
de satisfacer las restricciones del problema original y las nuevas asociadas a cada meta. Esto es el
propósito general de la programación por metas. Dependiendo del tipo de minimización, hay varios
casos en la programación por metas, entre ellos destacan:
Programación por metas ponderadas.
Programación por metas lexicográficas, donde se incluye el método secuencial, también
llamado programación por metas lexicográficas secuencial.
Programación por metas minimax.
Cada método proporciona una variante diferente del modelo general. En este proyecto nos vamos a
centrar en los dos primeros casos, aunque haremos mayor hincapié en el segundo de ellos.
Antes de pasar a ver el desarrollo de los métodos para resolver nuestro problema, tenemos que
establecer cuáles van a ser nuestros niveles de aspiración. Hemos decidido que sean un 30% mayores
que el valor del punto ideal para las funciones que debemos minimizar (𝑓1, 𝑓2, 𝑓3, 𝑓5, 𝑓6 𝑦 𝑓7) y un
30% menores para aquellas que hay que maximizar (𝑓4 𝑦 𝑓8).
75 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Tabla 6–3. Valores de las variables de desviación de nuestro problema
FUNCIÓN
OBJETIVO
VARIACIÓN VALOR DEL NIVEL DE ASPIRACIÓN (𝒂𝒊)
f1: size_antes 30% más 𝑎1 = 1.3 × 𝑓1𝑖𝑑𝑒𝑎𝑙 = 1.3 × 619.73 = 805.649
f2: IP_antes 30% más 𝑎2 = 1.3 × 𝑓2𝑖𝑑𝑒𝑎𝑙 = 1.3 × (−0.098) = −0.1274
f3: ZetaPot_antes 30% más 𝑎3 = 1.3 × 𝑓3𝑖𝑑𝑒𝑎𝑙 = 1.3 × 6.763 = 8.7919
f4: EE_antes 30% menos 𝑎4 = 0.7 × 𝑓4𝑖𝑑𝑒𝑎𝑙 = 0.7 × 81.412 = 56.9884
f5: size_despues 30% más 𝑎5 = 1.3 × 𝑓5𝑖𝑑𝑒𝑎𝑙 = 1.3 × 143.8 = 186.94
f6: IP_despues 30% más 𝑎6 = 1.3 × 𝑓6𝑖𝑑𝑒𝑎𝑙 = 1.3 × 0.134 = 0.1742
f7: ZetaPot_despues 30% más 𝑎7 = 1.3 × 𝑓7𝑖𝑑𝑒𝑎𝑙 = 1.3 × (−0.963) = −1.2519
f8: EE_despues 30% menos 𝑎8 = 0.7 × 𝑓8𝑖𝑑𝑒𝑎𝑙 = 0.7 × 5.922 = 4.1454
Métodos de resolución de Programación por Metas
76
6.3. Programación por Metas Ponderadas
Para la programación por metas ponderadas, debemos englobar en una función objetivo agregada
todas las variables de desviación no deseadas ponderadas con sus pesos correspondientes. La
estructura de un modelo de este tipo es la siguiente:
min∑𝑉𝐷𝑁𝐷 = min∑(𝛼𝑖𝑛𝑖 +
𝑛
𝑖=1
𝛽𝑖𝑝𝑖)
𝑠. 𝑎. 𝑓𝑖(𝑥) + 𝑛𝑖 − 𝑝𝑖 = 𝑎𝑖 𝑖 = 1…𝑛
𝑥 ∈ �̌� 𝑛𝑖 , 𝑝𝑖 ≥ 0
𝑛 𝑒𝑠 𝑒𝑙 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜𝑠 𝑑𝑒𝑙 𝑝𝑟𝑜𝑏𝑙𝑒𝑚𝑎 �̌� 𝑒𝑠 𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑠𝑜𝑙𝑢𝑐𝑖𝑜𝑛𝑒𝑠 𝑓𝑎𝑐𝑡𝑖𝑏𝑙𝑒𝑠
𝛼𝑖 𝑒𝑠 𝑒𝑙 𝑝𝑒𝑠𝑜 𝑑𝑒 𝑝𝑜𝑛𝑑𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑙𝑎 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑑𝑒 𝑑𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑎 𝛽𝑖 𝑒𝑠 𝑒𝑙 𝑝𝑒𝑠𝑜 𝑑𝑒 𝑝𝑜𝑛𝑑𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑙𝑎 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑑𝑒 𝑑𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑎
(6–2)
En realidad, 𝛼𝑖 𝑦 𝛽𝑖 son los mismos pesos que antes presentamos, representando la importancia que
adquiere la función objetivo a la que representan dentro del sistema global. Los pesos 𝛼𝑖 serán nulos
cuando el logro de la meta sea menor que nivel de aspiración establecido, esto es, cuando el objetivo
sea de minimizar. De igual forma, los pesos 𝛽𝑖 serán nulos cuando el logro de la meta sea mayor que
el nivel de aspiración (función objetivo de maximizar).
Aplicando estos conceptos a nuestro problema, tenemos:
Código de LINGO del modelo de programación por metas ponderadas
min = beta1*p1 + beta2*p2 + beta3*p3 + alfa4*n4
+ beta5*p5 + beta6*p6 + beta7*p7 + alfa8*n8;
z1 + n1 - p1 = 1.3*z1ideal;
z2 + n2 - p2 = 1.3*z2ideal;
z3 + n3 - p3 = 1.3*z3ideal;
z4 + n4 - p4 = 0.7*z4ideal;
z5 + n5 - p5 = 1.3*z5ideal;
z6 + n6 - p6 = 1.3*z6ideal;
z7 + n7 - p7 = 1.3*z7ideal;
z8 + n8 - p8 = 0.7*z8ideal;
w1 = 0.058;
w2 = 0.058;
w3 = 0.115;
w4 = 0.077;
77 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
w5 = 0.115;
w6 = 0.115;
w7 = 0.231;
w8 = 0.231;
beta1 = w1;
beta2 = w2;
beta3 = w3;
alfa4 = w4;
beta5 = w5;
beta6 = w6;
beta7 = w7;
alfa8 = w8;
z1ideal = 619.73;
z1antiideal = 1148.42;
z2ideal = -0.098;
z2antiideal = 0.994;
z3ideal = 6.76;
z3antiideal = 15.73;
z4ideal = 81.412;
z4antiideal = 39.36;
z5ideal = 143.8;
z5antiideal = 180.33;
z6ideal = 0.134;
z6antiideal = 0.19;
z7ideal = -0.963;
z7antiideal = 16.717;
z8ideal = 5.922;
z8antiideal = 2.802;
z1 = 10^(VSlogantes);
VSlogantes = 3.02 + 0.077*Ch + 0.0401*AEA - 0.0362*Dr - 0.136*EA
+ 0.0831*TE - 0.105*Ch*AEA + 0.00995*Ch*Dr
+ 0.00905*AEA*Dr + 0.0863*Dr*EA + 0.0398*Ch*TE
+ 0.01444*AEA*TE - 0.104*Dr*TE - 0.121*EA*TE;
z2 = 0.103 + 0.411*Ch - 0.201*AEA + 0.272*Dr + 0.39*EA + 0.379*TE
+ 0.265*Ch*Dr + 0.172*AEA*EA - 0.462*Dr*EA
- 0.506*Ch*TE + 0.24*Dr*TE - 0.564*EA*TE;
z3 = 8.33 - 0.418*Ch + 0.0624*AEA - 0.0856*Dr + 2.85*EA + 0.499*TE
- 0.727*Ch*Dr - 0.399*AEA*Dr - 0.356*AEA*EA
- 0.516*Ch*TE - 0.325*AEA*TE + 0.363*Dr*TE + 3.77*EA*TE;
z4 = 37.9 + 12*Ch + 4.72*AEA + 2.54*Dr + 7.75*EA + 1.68*TE
+ 3.32*Ch*AEA + 0.782*Ch*Dr - 2.97*AEA*Dr + 7.73*Ch*EA
- 1.15*AEA*EA + 8.79*Dr*EA - 3.45*Ch*TE - 6.79*AEA*TE
+ 2.28*Dr*TE + 1.3*EA*TE;
z5 = 10^(VSlogdespues);
VSlogdespues = 2.25 - 0.0179*Ch - 0.00826*AEA + 0.00655*Dr - 0.0237*EA
- 0.00438*TE + 0.0117*Ch*AEA - 0.00301*Ch*Dr
- 0.0167*AEA*Dr + 0.0246*Ch*EA + 0.00735*AEA*EA
- 0.0157*Dr*EA - 0.00889*Ch*TE - 0.0119*AEA*TE
+ 0.0039*Dr*TE - 0.0294*EA*TE;
z6 = 0.189 - 0.00552*Ch - 0.0039*AEA - 0.00102*Dr - 0.0214*EA
+ 0.00281*TE + 0.0111*Ch*Dr - 0.0094*AEA*Dr
+0.0094*Ch*EA + 0.00598*Ch*TE - 0.0223*EA*TE;
z7 = 7.38 + 0.332*Ch + 2.12*AEA - 0.943*Dr + 0.33*EA - 5.65*TE
+ 3.97*Ch*AEA - 1.15*Ch*Dr - 3.09*AEA*Dr - 1.58*Ch*EA
- 1.66*AEA*EA - 1.23*Ch*TE - 2.48*AEA*TE
Métodos de resolución de Programación por Metas
78
+ 1.7*Dr*TE + 13.9*EA*TE;
z8 = 4.21 - 0.279*Ch + 0.311*AEA + 0.152*Dr - 0.595*EA + 0.878*TE
+ 0.726*Ch*AEA + 0.417*Ch*Dr - 0.973*AEA*Dr
+ 1.21*Ch*EA - 0.543*AEA*EA + 0.169*Dr*EA
- 0.898*Ch*TE - 0.269*AEA*TE + 0.682*Dr*TE
- 1.22*EA*TE;
@Free (z1);
@Free (z2);
@Free (z3);
@Free (z4);
@Free (z5);
@Free (z6);
@Free (z7);
@Free (z8);
@Free (z2ideal);
@Free (z7ideal);
@BND (0,Ch,1);
@BND (0,AEA,1);
@BND (0,Dr,1);
@BND (0,EA,1);
@BND (0,TE,1);
@GIN (Dr);
@GIN (EA);
@GIN (TE);
Tabla 6–4. Solución de la programación por metas ponderadas
Global optimal solution found.
Objective value: 2.788158
Extended solver steps: 6
Total solver iterations: 778
Variable Value Reduced Cost
BETA1 0.5800000E-01 0.000000
P1 0.000000 0.4367083E-01
BETA2 0.5800000E-01 0.000000
P2 0.7386089 0.000000
BETA3 0.1150000 0.000000
P3 2.271778 0.000000
ALFA4 0.7700000E-01 0.000000
N4 5.663796 0.000000
BETA5 0.1150000 0.000000
P5 0.000000 0.1150000
BETA6 0.1150000 0.000000
P6 0.000000 0.1150000
BETA7 0.2310000 0.000000
P7 8.602959 0.000000
ALFA8 0.2310000 0.000000
N8 0.2626323 0.000000
Z1 805.6490 0.000000
N1 0.000000 0.1432917E-01
Z1IDEAL 619.7300 0.000000
Z2 0.6112089 0.000000
N2 0.000000 0.5800000E-01
Z2IDEAL -0.9800000E-01 0.000000
79 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Z3 11.05978 0.000000
N3 0.000000 0.1150000
Z3IDEAL 6.760000 0.000000
Z4 51.32460 0.000000
P4 0.000000 0.7700000E-01
Z4IDEAL 81.41200 0.000000
Z5 169.1325 0.000000
N5 17.80752 0.000000
Z5IDEAL 143.8000 0.000000
Z6 0.1687159 0.000000
N6 0.5484062E-02 0.000000
Z6IDEAL 0.1340000 0.000000
Z7 7.351059 0.000000
N7 0.000000 0.2310000
Z7IDEAL -0.9630000 0.000000
Z8 3.882768 0.000000
P8 0.000000 0.2310000
Z8IDEAL 5.922000 0.000000
W1 0.5800000E-01 0.000000
W2 0.5800000E-01 0.000000
W3 0.1150000 0.000000
W4 0.7700000E-01 0.000000
W5 0.1150000 0.000000
W6 0.1150000 0.000000
W7 0.2310000 0.000000
W8 0.2310000 0.000000
Z1ANTIIDEAL 1148.420 0.000000
Z2ANTIIDEAL 0.9940000 0.000000
Z3ANTIIDEAL 15.73000 0.000000
Z4ANTIIDEAL 39.36000 0.000000
Z5ANTIIDEAL 180.3300 0.000000
Z6ANTIIDEAL 0.1900000 0.000000
Z7ANTIIDEAL 16.71700 0.000000
Z8ANTIIDEAL 2.802000 0.000000
VSLOGANTES 2.906146 0.000000
CH 0.2876130 0.000000
AEA 0.000000 0.2546932
DR 0.000000 0.8150251E-01
EA 1.000000 -4.004370
TE 0.000000 1.561170
VSLOGDESPUES 2.228227 0.000000
Sin embargo, este modelo tiene algunos problemas, por falta de uniformidad en las unidades de las
variables, y esto provoca soluciones sesgadas a objetivos con mayor nivel de aspiración. Para
solucionarlo, se propone dividir las variables por el nivel de aspiración correspondiente a cada
objetivo, resultando el siguiente modelo corregido:
min∑(𝛼𝑖𝑛𝑖𝑎𝑖+
𝑛
𝑖=1
𝛽𝑖𝑝𝑖𝑎𝑖)
𝑠. 𝑎. 𝑓𝑖(𝑥) + 𝑛𝑖 − 𝑝𝑖 = 𝑎𝑖 𝑖 = 1…𝑛
𝑥 ∈ �̌� 𝑛𝑖 , 𝑝𝑖 ≥ 0
(6–3)
Métodos de resolución de Programación por Metas
80
Como se puede comprobar, los códigos de LINGO y las soluciones expuestas tanto para el método
de programación por metas ponderadas como para el homónimo corregido, los pesos que ponderan
las variables de desviación son el resultado del método general. El procedimiento es exactamente el
mismo para los de Saaty, sólo teniendo que cambiar dichos valores. Por esta razón, no se incluye en
la memoria y sólo se adjunta los resultados.
Tabla 6–5. Resultados de la programación por metas ponderadas
METAS
PONDERADAS
PESOS MÉTODO
GENERAL
METAS
PONDERADAS
PESOS MÉTODO
SAATY
𝑪𝒉 = 𝟎. 𝟐𝟗
𝑨𝑬𝑨 = 𝟎
𝑫𝒓 = 𝟎
𝑬𝑨 = 𝟏
𝑻𝑬 = 𝟎
𝑤1 = 0.058; 𝑤2 = 0.058 𝑤3 = 0.115; 𝑤4 = 0.077 𝑤5 = 0.115; 𝑤6 = 0.115 𝑤7 = 0.231; 𝑤8 = 0.231
𝑪𝒉 = 𝟎. 𝟓
𝑨𝑬𝑨 = 𝟎. 𝟑𝟏
𝑫𝒓 = 𝟎
𝑬𝑨 = 𝟏
𝑻𝑬 = 𝟎
𝑤1 = 0.014; 𝑤2 = 0.023 𝑤3 = 0.086; 𝑤4 = 0.081 𝑤5 = 0.114; 𝑤6 = 0.126 𝑤7 = 0.236; 𝑤8 = 0.32
Podemos observar que los valores son bastante parejos para los dos métodos de ponderación. Esto se
debe a que en este método lo que más influye son los niveles de aspiración, y en este caso, nosotros
hemos tomado los mismos valores para ambos casos. Pensamos que es la razón principal para la
homogeneidad de ambas soluciones.
Sin embargo, si comparamos estos resultados con los obtenidos por el Método de Programación por
Compromiso, vemos que hay bastante diferencia entre ellos. Esto se debe a la dificultad en la
búsqueda de unos niveles de aspiración adecuados, dependiendo mucho el resultado en el valor que
se tome de los mismos. En nuestro caso, pensamos que hemos sido un poco pesimistas a la hora de
ponderarlos con un 30% de desviación, pudiendo haber apretado un poco más los resultados, y
quizás hubieran salido valores diferentes.
81 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
6.4. Programación lexicográfica
La programación lexicográfica es el segundo método de la programación por metas que vamos a
estudiar. En este caso, se establecen distintas prioridades por objetivos, asignando importancias
relativas a las diferentes metas. Es decir, la meta 𝑄𝑖 será preferida a otras metas 𝑄𝑗 con menor
prioridad de forma que 𝑄𝑖 ≫ 𝑄𝑗 ∀𝑗 ≠ 𝑖, 𝑖 = 1…𝑛
Dentro de la programación lexicográfica, tenemos dos variantes claramente diferenciadas. La
primera es la programación lexicográfica gráfica, válida sólo cuando tenemos dos variables. Para este
método, el procedimiento es el siguiente:
Representamos las metas por rectas, de forma que la representación se realiza cuando
𝑛𝑖 = 𝑝𝑖 = 0.
Una vez dibujadas las rectas, añadimos flechas a cada meta indicando el efecto de las
variables de desviación, para ver el efecto y la dirección que tiene cada una de ellas en las
rectas que definen nuestro problema.
Señalamos o marcamos de alguna forma (por ejemplo rodeando con un círculo) la variable
de desviación no deseada, de forma que sabemos que nos interesa proceder por el lado
contrario para la resolución del problema
Sin embargo, no vamos a exponer ningún ejemplo de este método debido a la poca utilidad práctica
que tiene, además que sólo sirve cuando tenemos dos variables. No ocurre lo mismo con la segunda
variante del método lexicográfico, que si veremos en profundidad aplicado a nuestro problema,
llamada método lexicográfico secuencial.
El método lexicográfico secuencial surge como generalización del método gráfico, no estando
restringido el número de variables. El procedimiento que debemos seguir para la correcta aplicación
del método es:
Establecer las prioridades para los objetivos. En nuestro caso, seguiremos en la misma línea
que establecimos en los factores de ponderación para las salidas.
Una vez que tenemos ordenadas las funciones objetivo, resolvemos por orden de prioridad.
Fijamos los valores de las variables de desviación no deseadas que vamos obteniendo con los
objetivos resueltos y avanzamos en el proceso a los siguientes.
Continuamos con la siguiente función objetivo de salida del sistema que nos indique el
orden.
Este método, al contrario que otros que hemos presentado, tiene más carácter práctico que teórico,
razón por la cual quizás se entienda con mayor claridad en el momento que vayamos resolviendo el
problema y estableciendo las soluciones que nos proporcione para nuestro sistema. Por esta razón,
aplicamos directamente a nuestro problema, adjuntando los códigos de LINGO y las soluciones que
obtenemos:
Métodos de resolución de Programación por Metas
82
Para comenzar, hemos explicado que debemos establecer un orden de prioridades. Como este
método no dispone de ponderaciones sobre las distintas funciones objetivo, las prioridades las
estableceremos teniendo en cuenta las preferencias, al igual que hicimos en el momento de estudiar
los pesos en los dos métodos distintos. En nuestro caso, establecemos 3 prioridades distintas:
La primera de ella, englobará las salidas 𝑓7 𝑦 𝑓8 (ZetaPot_después y EE_después
respectivamente).
La segunda, comprende 𝑓3, 𝑓5 𝑦 𝑓6 (ZetaPot_antes, Size_después e IP_después).
La última, y por ello la menos importante, abarca 𝑓1, 𝑓2 𝑦 𝑓4 (Size_antes, IP_antes y
EE_antes).
Teniendo en cuenta estos conceptos y las prioridades que acabamos de presentar, el proceso a seguir
en nuestro modelo es el que mostramos a continuación. Primero, vamos a presentar las fórmulas paso
a paso del procedimiento, estableciendo los valores que han de quedar fijos, y más tarde,
introducimos los códigos de LINGO con las soluciones finales. Para el método lexicográfico
secuencial no hay distinción entre los pesos generales y los proporcionados por Saaty. Esto se debe a
que con este proceso sólo se tiene en cuenta el orden de importancia que le vamos dando a las
distintas funciones, y esto es idéntico para los dos métodos. Señalar además, que en este
procedimiento, la solución que proporciona la última prioridad, al tener incorporada las soluciones y
restricciones de todas las anteriores, será la solución final del problema.
Prioridad 𝑄1:
min𝑣1 = 𝑝7 + 𝑛8
𝑠. 𝑎. 𝑓7 + 𝑛7 − 𝑝7 = 𝑎7 𝑓8 + 𝑛8 − 𝑝8 = 𝑎8 𝑥 ∈ �̌�
Obtenemos unos valores para 𝑝7 𝑦 𝑛8, y los fijamos en la siguiente prioridad 𝑄2:
min𝑣2 = 𝑝3 + 𝑝5 + 𝑝6
𝑠. 𝑎. 𝑓3 + 𝑛3 − 𝑝3 = 𝑎3 𝑓5 + 𝑛5 − 𝑝5 = 𝑎5 𝑓6 + 𝑛6 − 𝑝6 = 𝑎6 𝑓7 + 𝑛7 − 𝑝7(𝑑𝑎𝑡𝑜) = 𝑎7 𝑓8 + 𝑛8(𝑑𝑎𝑡𝑜) − 𝑝8 = 𝑎8 𝑥 ∈ �̌�
83 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
Prioridad 𝑄3:
min 𝑣3 = 𝑝1 + 𝑝2 + 𝑛4
𝑠. 𝑎. 𝑓1 + 𝑛1 − 𝑝1 = 𝑎1 𝑓2 + 𝑛2 − 𝑝2 = 𝑎2 𝑓3 + 𝑛3 − 𝑝3(𝑑𝑎𝑡𝑜) = 𝑎3 𝑓4 + 𝑛4 − 𝑝4 = 𝑎4 𝑓5 + 𝑛5 − 𝑝5(𝑑𝑎𝑡𝑜) = 𝑎5 𝑓6 + 𝑛6 − 𝑝6(𝑑𝑎𝑡𝑜) = 𝑎6 𝑓7 + 𝑛7 − 𝑝7(𝑑𝑎𝑡𝑜) = 𝑎7 𝑓8 + 𝑛8(𝑑𝑎𝑡𝑜) − 𝑝8 = 𝑎8 𝑥 ∈ �̌�
Para los valores que vamos obteniendo (los que hemos señalado en la siguiente prioridad como
dato), podemos introducir el valor que corresponda en la restricción correspondiente o bien
establecer el valor como un dato en vez de como una variable en el código del programa que
vayamos a usar.
6.4.1 Prioridad 𝑸𝟏
Código de LINGO del modelo lexicográfico secuencial para la prioridad 𝑄1
min = v1;
v1 = n8 + p7;
z7 + n7 - p7 = 1.3*z7ideal;
z8 + n8 - p8 = 0.7*z8ideal;
w1 = 0.058;
w2 = 0.058;
w3 = 0.115;
w4 = 0.077;
w5 = 0.115;
w6 = 0.115;
w7 = 0.231;
w8 = 0.231;
z1ideal = 619.73;
z1antiideal = 1659.2;
z2ideal = -0.098;
z2antiideal = 1.164;
z3ideal = 6.76;
z3antiideal = 15.73;
z4ideal = 81.412;
z4antiideal = 37.51;
z5ideal = 143.8;
z5antiideal = 180.53;
Métodos de resolución de Programación por Metas
84
z6ideal = 0.13379;
z6antiideal = 0.202;
z7ideal = -0.963;
z7antiideal = 16.717;
z8ideal = 5.922;
z8antiideal = 2.731;
z7 = 7.38 + 0.332*Ch + 2.12*AEA - 0.943*Dr + 0.33*EA - 5.65*TE
+ 3.97*Ch*AEA - 1.15*Ch*Dr - 3.09*AEA*Dr - 1.58*Ch*EA
- 1.66*AEA*EA - 1.23*Ch*TE - 2.48*AEA*TE
+ 1.7*Dr*TE + 13.9*EA*TE;
z8 = 4.21 - 0.279*Ch + 0.311*AEA + 0.152*Dr - 0.595*EA + 0.878*TE
+ 0.726*Ch*AEA + 0.417*Ch*Dr - 0.973*AEA*Dr
+ 1.21*Ch*EA - 0.543*AEA*EA + 0.169*Dr*EA
- 0.898*Ch*TE - 0.269*AEA*TE + 0.682*Dr*TE
- 1.22*EA*TE;
@Free (z1);
@Free (z2);
@Free (z3);
@Free (z4);
@Free (z5);
@Free (z6);
@Free (z7);
@Free (z8);
@Free (z2ideal);
@Free (z7ideal);
@BND (0,Ch,1);
@BND (0,AEA,1);
@BND (0,Dr,1);
@BND (0,EA,1);
@BND (0,TE,1);
@GIN (Dr);
@GIN (EA);
@GIN (TE);
Tabla 6–6. Solución del modelo lexicográfico secuencial para la prioridad 𝑄1
Global optimal solution found.
Objective value: 0.2889000
Extended solver steps: 1
Total solver iterations: 17
Variable Value Reduced Cost
V1 0.2889000 0.000000
N8 0.000000 1.000000
P7 0.2889000 0.000000
Z7 -0.9630000 0.000000
N7 0.000000 1.000000
Z7IDEAL -0.9630000 0.000000
Z8 4.991000 0.000000
P8 0.8456000 0.000000
Z8IDEAL 5.922000 0.000000
W1 0.5800000E-01 0.000000
W2 0.5800000E-01 0.000000
W3 0.1150000 0.000000
85 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
W4 0.7700000E-01 0.000000
W5 0.1150000 0.000000
W6 0.1150000 0.000000
W7 0.2310000 0.000000
W8 0.2310000 0.000000
Z1IDEAL 619.7300 0.000000
Z1ANTIIDEAL 1659.200 0.000000
Z2IDEAL -0.9800000E-01 0.000000
Z2ANTIIDEAL 1.164000 0.000000
Z3IDEAL 6.760000 0.000000
Z3ANTIIDEAL 15.73000 0.000000
Z4IDEAL 81.41200 0.000000
Z4ANTIIDEAL 37.51000 0.000000
Z5IDEAL 143.8000 0.000000
Z5ANTIIDEAL 180.5300 0.000000
Z6IDEAL 0.1337900 0.000000
Z6ANTIIDEAL 0.2020000 0.000000
Z7ANTIIDEAL 16.71700 0.000000
Z8ANTIIDEAL 2.731000 0.000000
CH 0.000000 1.922000
AEA 1.000000 -3.450000
DR 1.000000 -2.333000
EA 0.000000 12.57000
TE 1.000000 -6.430000
Z1 0.000000 0.000000
Z2 0.000000 0.000000
Z3 0.000000 0.000000
Z4 0.000000 0.000000
Z5 0.000000 0.000000
Z6 0.000000 0.000000
6.4.2 Prioridad 𝑸𝟐
Código de LINGO del modelo lexicográfico secuencial para la prioridad 𝑄2
min = v2;
v2 = p6 + p5 + p3;
z7 + n7 - p7 = 1.3*z7ideal;
z8 + n8 - p8 = 0.7*z8ideal;
n8 = 0;
p7 = 0.29;
z3 + n3 - p3 = 1.3*z3ideal;
z5 + n5 - p5 = 1.3*z5ideal;
z6 + n6 - p6 = 1.3*z6ideal;
beta1 = w1;
beta2 = w2;
beta3 = w3;
alfa4 = w4;
beta5 = w5;
beta6 = w6;
beta7 = w7;
alfa8 = w8;
Métodos de resolución de Programación por Metas
86
z1ideal = 619.73;
z1antiideal = 1659.2;
z2ideal = -0.098;
z2antiideal = 1.164;
z3ideal = 6.76;
z3antiideal = 15.73;
z4ideal = 81.412;
z4antiideal = 37.51;
z5ideal = 143.8;
z5antiideal = 180.53;
z6ideal = 0.13379;
z6antiideal = 0.202;
z7ideal = -0.963;
z7antiideal = 16.717;
z8ideal = 5.922;
z8antiideal = 2.731;
z3 = 8.33 - 0.418*Ch + 0.0624*AEA - 0.0856*Dr + 2.85*EA + 0.499*TE
- 0.727*Ch*Dr - 0.399*AEA*Dr - 0.356*AEA*EA
- 0.516*Ch*TE - 0.325*AEA*TE + 0.363*Dr*TE + 3.77*EA*TE;
z5 = 10^(VSlogdespues);
VSlogdespues = 2.25 - 0.0179*Ch - 0.00826*AEA + 0.00655*Dr - 0.0237*EA
- 0.00438*TE + 0.0117*Ch*AEA - 0.00301*Ch*Dr
- 0.0167*AEA*Dr + 0.0246*Ch*EA + 0.00735*AEA*EA
- 0.0157*Dr*EA - 0.00889*Ch*TE - 0.0119*AEA*TE
+ 0.0039*Dr*TE - 0.0294*EA*TE;
z6 = 0.189 - 0.00552*Ch - 0.0039*AEA - 0.00102*Dr - 0.0214*EA
+ 0.00281*TE + 0.0111*Ch*Dr - 0.0094*AEA*Dr
+0.0094*Ch*EA + 0.00598*Ch*TE - 0.0223*EA*TE;
z7 = 7.38 + 0.332*Ch + 2.12*AEA - 0.943*Dr + 0.33*EA - 5.65*TE
+ 3.97*Ch*AEA - 1.15*Ch*Dr - 3.09*AEA*Dr - 1.58*Ch*EA
- 1.66*AEA*EA - 1.23*Ch*TE - 2.48*AEA*TE
+ 1.7*Dr*TE + 13.9*EA*TE;
z8 = 4.21 - 0.279*Ch + 0.311*AEA + 0.152*Dr - 0.595*EA + 0.878*TE
+ 0.726*Ch*AEA + 0.417*Ch*Dr - 0.973*AEA*Dr
+ 1.21*Ch*EA - 0.543*AEA*EA + 0.169*Dr*EA
- 0.898*Ch*TE - 0.269*AEA*TE + 0.682*Dr*TE
- 1.22*EA*TE;
@Free (z1);
@Free (z2);
@Free (z3);
@Free (z4);
@Free (z5);
@Free (z6);
@Free (z7);
@Free (z8);
@Free (z2ideal);
@Free (z7ideal);
@BND (0,Ch,1);
@BND (0,AEA,1);
@BND (0,Dr,1);
@BND (0,EA,1);
@BND (0,TE,1);
@GIN (Dr);
@GIN (EA);
87 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
@GIN (TE);
Tabla 6–7. Solución del modelo lexicográfico secuencial para la prioridad 𝑄2
Global optimal solution found.
Objective value: 0.3563000E-02
Extended solver steps: 1
Total solver iterations: 11
Variable Value Reduced Cost
V2 0.3563000E-02 0.000000
P6 0.3563000E-02 0.000000
P5 0.000000 1.000000
P3 0.000000 1.000000
Z7 -0.9630000 0.000000
N7 0.1100000E-02 0.000000
P7 0.2900000 0.000000
Z7IDEAL -0.9630000 0.000000
Z8 4.991000 0.000000
N8 0.000000 0.000000
P8 0.8456000 0.000000
Z8IDEAL 5.922000 0.000000
Z3 8.444800 0.000000
N3 0.3432000 0.000000
Z3IDEAL 6.760000 0.000000
Z5 165.6571 0.000000
N5 21.28292 0.000000
Z5IDEAL 143.8000 0.000000
Z6 0.1774900 0.000000
N6 0.000000 1.000000
Z6IDEAL 0.1337900 0.000000
BETA1 0.000000 0.000000
W1 0.000000 0.000000
BETA2 0.000000 0.000000
W2 0.000000 0.000000
BETA3 0.000000 0.000000
W3 0.000000 0.000000
ALFA4 0.000000 0.000000
W4 0.000000 0.000000
BETA5 0.000000 0.000000
W5 0.000000 0.000000
BETA6 0.000000 0.000000
W6 0.000000 0.000000
BETA7 0.000000 0.000000
W7 0.000000 0.000000
ALFA8 0.000000 0.000000
W8 0.000000 0.000000
Z1IDEAL 619.7300 0.000000
Z1ANTIIDEAL 1659.200 0.000000
Z2IDEAL -0.9800000E-01 0.000000
Z2ANTIIDEAL 1.164000 0.000000
Z3ANTIIDEAL 15.73000 0.000000
Z4IDEAL 81.41200 0.000000
Z4ANTIIDEAL 37.51000 0.000000
Z5ANTIIDEAL 180.5300 0.000000
Z6ANTIIDEAL 0.2020000 0.000000
Z7ANTIIDEAL 16.71700 0.000000
Z8ANTIIDEAL 2.731000 0.000000
CH 0.000000 0.1156000E-01
AEA 1.000000 -0.1330000E-01
Métodos de resolución de Programación por Metas
88
DR 1.000000 -0.1042000E-01
EA 0.000000 -0.4369998E-01
TE 1.000000 0.2809978E-02
VSLOGDESPUES 2.219210 0.000000
Z1 0.000000 0.000000
Z2 0.000000 0.000000
Z4 0.000000 0.000000
6.4.3 Prioridad 𝑸𝟑
Código de LINGO del modelo lexicográfico secuencial para la prioridad 𝑄3
min = v3;
v3 = n4 + p1 + p2;
n8 = 0;
p7 = 0.29;
p3 = 0;
p5 = 0;
p6 = 0.0036;
z1 + n1 - p1 = 1.3*z1ideal;
z2 + n2 - p2 = 1.3*z2ideal;
z3 + n3 - p3 = 1.3*z3ideal;
z4 + n4 - p4 = 0.7*z4ideal;
z5 + n5 - p5 = 1.3*z5ideal;
z6 + n6 - p6 = 1.3*z6ideal;
z7 + n7 - p7 = 1.3*z7ideal;
z8 + n8 - p8 = 0.7*z8ideal;
z1ideal = 619.73;
z1antiideal = 1659.2;
z2ideal = -0.098;
z2antiideal = 1.164;
z3ideal = 6.76;
z3antiideal = 15.73;
z4ideal = 81.412;
z4antiideal = 37.51;
z5ideal = 143.8;
z5antiideal = 180.53;
z6ideal = 0.13379;
z6antiideal = 0.202;
z7ideal = -0.963;
z7antiideal = 16.717;
z8ideal = 5.922;
z8antiideal = 2.731;
z1 = 10^(VSlogantes);
VSlogantes = 3.02 + 0.077*Ch + 0.0401*AEA - 0.0362*Dr - 0.136*EA
+ 0.0831*TE - 0.105*Ch*AEA + 0.00995*Ch*Dr
+ 0.00905*AEA*Dr + 0.0863*Dr*EA + 0.0398*Ch*TE
+ 0.01444*AEA*TE - 0.104*Dr*TE - 0.121*EA*TE;
89 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
z2 = 0.103 + 0.411*Ch - 0.201*AEA + 0.272*Dr + 0.39*EA + 0.379*TE
+ 0.265*Ch*Dr + 0.172*AEA*EA - 0.462*Dr*EA
- 0.506*Ch*TE + 0.24*Dr*TE - 0.564*EA*TE;
z3 = 8.33 - 0.418*Ch + 0.0624*AEA - 0.0856*Dr + 2.85*EA + 0.499*TE
- 0.727*Ch*Dr - 0.399*AEA*Dr - 0.356*AEA*EA
- 0.516*Ch*TE - 0.325*AEA*TE + 0.363*Dr*TE + 3.77*EA*TE;
z4 = 37.9 + 12*Ch + 4.72*AEA + 2.54*Dr + 7.75*EA + 1.68*TE
+ 3.32*Ch*AEA + 0.782*Ch*Dr - 2.97*AEA*Dr + 7.73*Ch*EA
- 1.15*AEA*EA + 8.79*Dr*EA - 3.45*Ch*TE - 6.79*AEA*TE
+ 2.28*Dr*TE + 1.3*EA*TE;
z5 = 10^(VSlogdespues);
VSlogdespues = 2.25 - 0.0179*Ch - 0.00826*AEA + 0.00655*Dr - 0.0237*EA
- 0.00438*TE + 0.0117*Ch*AEA - 0.00301*Ch*Dr
- 0.0167*AEA*Dr + 0.0246*Ch*EA + 0.00735*AEA*EA
- 0.0157*Dr*EA - 0.00889*Ch*TE - 0.0119*AEA*TE
+ 0.0039*Dr*TE - 0.0294*EA*TE;
z6 = 0.189 - 0.00552*Ch - 0.0039*AEA - 0.00102*Dr - 0.0214*EA
+ 0.00281*TE + 0.0111*Ch*Dr - 0.0094*AEA*Dr
+0.0094*Ch*EA + 0.00598*Ch*TE - 0.0223*EA*TE;
z7 = 7.38 + 0.332*Ch + 2.12*AEA - 0.943*Dr + 0.33*EA - 5.65*TE
+ 3.97*Ch*AEA - 1.15*Ch*Dr - 3.09*AEA*Dr - 1.58*Ch*EA
- 1.66*AEA*EA - 1.23*Ch*TE - 2.48*AEA*TE
+ 1.7*Dr*TE + 13.9*EA*TE;
z8 = 4.21 - 0.279*Ch + 0.311*AEA + 0.152*Dr - 0.595*EA + 0.878*TE
+ 0.726*Ch*AEA + 0.417*Ch*Dr - 0.973*AEA*Dr
+ 1.21*Ch*EA - 0.543*AEA*EA + 0.169*Dr*EA
- 0.898*Ch*TE - 0.269*AEA*TE + 0.682*Dr*TE
- 1.22*EA*TE;
@Free (z1);
@Free (z2);
@Free (z3);
@Free (z4);
@Free (z5);
@Free (z6);
@Free (z7);
@Free (z8);
@Free (z2ideal);
@Free (z7ideal);
@BND (0,Ch,1);
@BND (0,AEA,1);
@BND (0,Dr,1);
@BND (0,EA,1);
@BND (0,TE,1);
@GIN (Dr);
@GIN (EA);
@GIN (TE);
Tabla 6–8. Solución del modelo lexicográfico secuencial para la prioridad 𝑄3
Global optimal solution found.
Objective value: 275.7427
Extended solver steps: 1
Total solver iterations: 21
Métodos de resolución de Programación por Metas
90
Variable Value Reduced Cost
V3 275.7427 0.000000
N4 17.62679 0.000000
P1 257.1955 0.000000
P2 0.9204641 0.000000
N8 0.000000 0.000000
P7 0.2900000 0.000000
P3 0.000000 0.000000
P5 0.000000 0.000000
P6 0.3600000E-02 0.000000
Z1 1062.844 0.000000
N1 0.000000 1.000000
Z1IDEAL 619.7300 0.000000
Z2 0.7930641 0.000000
N2 0.000000 1.000000
Z2IDEAL -0.9800000E-01 0.000000
Z3 8.445011 0.000000
N3 0.3429891 0.000000
Z3IDEAL 6.760000 0.000000
Z4 39.36161 0.000000
P4 0.000000 1.000000
Z4IDEAL 81.41200 0.000000
Z5 165.6616 0.000000
N5 21.27844 0.000000
Z5IDEAL 143.8000 0.000000
Z6 0.1774942 0.000000
N6 0.3275942E-04 0.000000
Z6IDEAL 0.1337900 0.000000
Z7 -0.9619000 0.000000
N7 0.000000 46.51077
Z7IDEAL -0.9630000 0.000000
Z8 4.991297 0.000000
P8 0.8458968 0.000000
Z8IDEAL 5.922000 0.000000
Z1ANTIIDEAL 1659.200 0.000000
Z2ANTIIDEAL 1.164000 0.000000
Z3ANTIIDEAL 15.73000 0.000000
Z4ANTIIDEAL 37.51000 0.000000
Z5ANTIIDEAL 180.5300 0.000000
Z6ANTIIDEAL 0.2020000 0.000000
Z7ANTIIDEAL 16.71700 0.000000
Z8ANTIIDEAL 2.731000 0.000000
VSLOGANTES 3.026470 0.000000
CH 0.000000 130.1644
AEA 0.9996812 0.000000
DR 1.000000 -430.7719
EA 0.000000 149.7582
TE 1.000000 -311.4014
VSLOGDESPUES 2.219222 0.000000
91 Optimización Multiobjetivo aplicada a la formulación de un fármaco de administración oftálmica
La solución proporcionada por la tercera prioridad como hemos explicado anteriormente, es la
solución final para el método de programación por metas lexicográficas secuencial. Adjuntamos el
valor de la solución en la siguiente tabla para mayor claridad:
Tabla 6–9. Solución final del modelo lexicográfico secuencial
VARIABLES Valores de todas las variables de desviación que intervienen en
nuestro problema. 𝑪𝒉 = 𝟎
𝑨𝑬𝑨 = 𝟏 𝑛1 = 0; 𝑝1 = 257.2 𝑛2 = 0; 𝑝2 = 0.92
𝑫𝒓 = 𝟏 𝑛3 = 0.34; 𝑝3 = 0 𝑛4 = 17.63; 𝑝4 = 0
𝑬𝑨 = 𝟎 𝑛5 = 21.3; 𝑝5 = 0 𝑛6 = 0; 𝑝6 = 0
𝑻𝑬 = 𝟏 𝑛7 = 0; 𝑝7 = 0.29 𝑛8 = 0; 𝑝8 = 0.85
Al tratarse de un método de resolución en el que intervienen niveles de aspiración, uno cabría pensar
que se obtienen resultados similares al método de Programación por Metas Ponderadas. Sin
embargo, esta solución no se parece a ninguna de las obtenidas por métodos anteriores.
En general, tras haber estudiado los distintos métodos y ver las soluciones de cada uno, podemos
afirmar que el método por compromiso es el que ha demostrado tener una solución más robusta de
todos. Además, se mantiene prácticamente constante para todas las métricas, aportando consistencia
al modelo.
Los métodos de programación por metas, tanto el de Metas Ponderadas como el Lexicográfico
Secuencial, son muy interesantes cuando se tienen muy claro los valores para los niveles de
aspiración y los pesos que debemos asignar. Esta condición, que a la vez que lo hace interesante y
destacado entre métodos parecidos, es la que lo convierte en un método no tan fiable cuando no se
tiene certeza del valor de han de tomar los niveles de aspiración, a la par que muy sensible a las
modificaciones de estos.
Tras el intercambio de impresiones con gente de farmacia, han demostrado un severo interés en este
tipo de métodos, y piensan que se aplicación es un complemento ideal al análisis individual de todas
las respuestas que propusieron en la memoria Fin de Máster que comentamos. Además, piensan
seguir profundizando en la búsqueda de métodos adecuados para los intereses que buscan en la
optimización de fármacos.
Métodos de resolución de Programación por Metas
92
La última apreciación que nos han comentado es el especial interés que ha surgido en métodos
relacionados con la optimización secuencial, siempre que se tenga un conocimiento claro sobre los
niveles de aspiración. Aquí podemos pensar que tenemos un problema, pero no es así puesto que los
valores no los tenemos que imaginar nosotros, sino que la gran mayoría de veces vendrán impuestos
por estándares farmacéuticos o bien por la propia industria. Respecto al resto de métodos que se han
propuesto, el método de las Metas Ponderadas tiene el inconveniente en el establecimiento de los
pesos, ya que a priori no saben con certeza la importancia de cada una de las respuestas, debido a que
el resultado derivará del estudio y ensayos posteriores.
93
7 CONCLUSIONES
n este capítulo final vamos a recapitular de forma general lo que hemos obtenido en el presente
proyecto para comprobar si hemos logrado alcanzar las metas propuestas en el objetivo general.
E
Se puede admitir la fuerza bruta, pero la razón
bruta es insoportable.
-Oscar Wilde -
Conclusiones
94
El objetivo general de este proyecto fue evaluar y estudiar una serie de métodos para la resolución de
un problema no lineal multiobjetivo, intentando buscar alguna solución que sirva como posible
resultado en los distintos métodos empleados.
Entre los puntos que se han visto para cumplir con el objetivo general, además de ir satisfaciendo los
objetivos específicos, podemos concluir que:
Se apreciaron las generalidades que debe tener un problema de optimización multiobjetivo.
Se conocieron aspectos de optimización no lineal no vistos hasta ese momento.
Se han descrito todos los aspectos y datos relevantes del problema de partida, adaptándolo de
una forma satisfactoria a la formulación general de un problema multiobjetivo.
La herramienta LINGO ha servido en la resolución de los modelos, resultando acertada la
elección de este solver para el proyecto.
Las respuestas individuales, tras haberse comprobado con otros métodos, han reflejado un
comportamiento bastante aceptable para lo que buscábamos, de forma que la codificación de
las mismas ha sido buena.
La aplicación de los Métodos de Programación por Compromiso y Por Metas ha dado
resultados coherentes, a pesar que algunos de ellos estén sujetos a cambios bruscos en las
ponderaciones y niveles de aspiración.
La estructura que se ha seguido en el presente documento consideramos que era la más adecuada,
primero para presentar de forma general un problema multiobjetivo, los factores y conceptos que
intervienen en el mismo, así como una adaptación de nuestro problema a ellos.
Para resolverlo, la división se ha centrado primero en la aportación de unas nociones generales de
cómo resolver problemas relacionados de forma genérica, así como la adaptación paso a paso a los
métodos de resolución.
La selección por parte de quien suscribe este documento del Método de Programación por
Compromiso, así como de los Métodos de Programación por Metas es debido a la facilidad que
tienen a la hora de adaptarse a distintos y diversos problemas, y debido al carácter especial del
nuestro, consideramos que iban a sernos de gran utilidad, como pensamos que ha ocurrido.
Como resultado al punto de evaluación no hemos encontrado ninguna solución que sea el resultado
de todos los métodos y que podamos tomar como solución final para nuestro problema. Sin embargo,
el estudio ha sido de gran utilidad para los responsables de Farmacia (en concreto el Departamento
de Tecnología Farmacéutica de la Universidad de Sevilla), considerando el estudio muy interesante.
Además, han comentado que quieren estudiar en profundidad estas técnicas, aplicando los métodos
con resultados más fiables en los pesos, pero sobre todo, en los niveles de aspiración.
Por último, señalar que para futuros trabajos relacionados se propone realizar un estudio similar
ajustando de otra manera los pesos de las variables de entrada, así como el valor de los niveles de
aspiración que intervienen cuando tenemos que satisfacer las metas.
95
REFERENCIAS
[1] Stillwell, D.A. Seaver, y W. Edwards, A Comparison of Weight Approximation Techniques in
Multiattribute Utility Decision Making Organization Behaviour and Human Performance, 28: 62-77,
1981.
[2] El punto de partida de los procesos analíticos jerarquizados es el artículo de Saaty, A Scaling
Method for Priorities in Hierarchical Structures, Journal of Mathematical Psychology, 15: 234-281,
1977.
[3] El punto de partida de la programación por compromiso son los siguientes dos trabajos: Yu, A
Class of Solutions for Group Decision Problems, Management Science 19: 688-693, 1973 y Zeleny,
Multiple Criteria Decision Making, Columbia: 262-301, 1973.
[4] Freimer, M., y P.L. Yu, Some New Results on Compromise Solutions for Group Decision
Problems, Management Science 22: 688-693, 1976.
[5] Simon, A Behavioral Model of Rational Choice, Quaterly Journal of Economics 69: 99-118,
1955 y Models of Man, John Wiley and Sons, 1957.
97
BIBLIOGRAFÍA
Wayne L. Winston: Operations Research - Applications and Algorithms, Third Edition, 1994.
G.L. Nemhauser, A.H.G. Rinnooy Kan, M.J. Todd: Handbook in Operations Research and
Management Science, Volume 1, 1991.
Turgut M. Ozan: Applied Mathematical Programming for Production and Engineering Management,
1986.
Romero, Carlos: Análisis de las Decisiones Multicriterio, Primera Edición, 1996.
M. Méndez; B. Galvám; D. Greiner; G. Winter: Algoritmos Evolutivos y Punto de Funcionamiento
Aplicados a un Problema Real de Optimización Multiobjetivo en Diseño de Sistemas de Seguridad.
Pérez Gladish, Blanca; Arenas, Mar; Bilbao, Amelia; Rodríguez, M. Victoria; Jiménez, Mariano:
Aplicación de la Programación Compromiso al Análisis del Estado de las Listas de Espera
Quirúrgicas bajo diversas Hipótesis de Permanencia Máxima, 1999.
Carlos Romero; Tahir Rehman: La Programación Multiobjetivo y la Planificación Agraria: Algunas
Consideraciones Teóricas, 1986.
Valero López, Francisco José: La Programación Lineal Multicriterio, 1977.
Ivorra, Carlos: Optimización con LINGO.
Canizo, Erica; Lucero, Paola: Software Para Programación Lineal LINGO/LINDO.
González Rodríguez, Pedro Luis, Herramientas Para la Toma de Decisiones, 3º G.I.T.I. Escuela
Superior de Ingeniería de la Universidad de Sevilla, apuntes de clase.