1 Introduccion - Servidor de la Biblioteca de Ingeniería...

27
1 Introducci´ on Se tratan a continuaci´ on los antecedentes del proyecto, dedicando un apartado a cada una de las materias fundamentales del mismo. Por un lado, una introducci´on al lenguaje de programaci´ on con el que se ha modelado y simulado la librer´ ıa, por otro, una visi´ on actual del panorama de tecnolog´ ıas de simulaci´on, y por ´ ultimo una introducci´ on a la farmacocin´ etica ya que ´ esta impone las bases cient´ ıficas sobre las que se desarrolla la librer´ ıa. Dentro del primer apartado se destacan tres subapartados relacionados con los lenguajes de modelado orientado a objetos, tratamiento matem´atico del modelo y conexiones del programa con otros softwares. Dentro del segundo apartado se hace una distinci´ on entre los lenguajes de simulaci´on de sistemas continuos y discre- tos. En el apartado sobre farmacocin´ etica, se explican la evoluci´ on temporal de los armacos en el organismo (procesos LADME) y las premisas del modelado cin´ etico compartimental. 1.1. Programaci´ on en EcosimPro Ecosimpro es una herramienta de simulaci´ on de origen espa˜ nol, desarrollada por Empresarios Agrupados International S.A. para el modelado de procesos f´ ısicos sim- ples y complejos. Se trata de una herramienta reciente, la versi´ on draft 3.0.3 es de Junio de 1999, y la ´ ultima versi´ on 4.8 ha salido recientemente. EcosimPro corre en las distintas plataformas de Windows y usa su propio entorno gr´ afico para el dise˜ no de modelos. El modelado de componentes f´ ısicos se basa en el EcosimPro Language (EL), el cual es un lenguaje espec´ ıfico para modelado de sistemas. Tiene la ventaja de proporcionar un enfoque h´ ıbrido, de manera que est´ a orientado a sistemas continuos con la posibilidad de tratar las discontinuidades gobernadas por eventos discretos. EcosimPro presenta tres modos de vista para el modelador: Code view: permite introducir, leer, modificar, etc., el c´odigo de los componentes elaborados. Schematic view: permite crear componentes por agregaci´ on de otros m´ as b´ asicos, pero utilizando un entorno gr´ afico. 1

Transcript of 1 Introduccion - Servidor de la Biblioteca de Ingeniería...

1 Introduccion

Se tratan a continuacion los antecedentes del proyecto, dedicando un apartado acada una de las materias fundamentales del mismo. Por un lado, una introduccional lenguaje de programacion con el que se ha modelado y simulado la librerıa, porotro, una vision actual del panorama de tecnologıas de simulacion, y por ultimo unaintroduccion a la farmacocinetica ya que esta impone las bases cientıficas sobre lasque se desarrolla la librerıa.

Dentro del primer apartado se destacan tres subapartados relacionados con loslenguajes de modelado orientado a objetos, tratamiento matematico del modelo yconexiones del programa con otros softwares. Dentro del segundo apartado se haceuna distincion entre los lenguajes de simulacion de sistemas continuos y discre-tos. En el apartado sobre farmacocinetica, se explican la evolucion temporal de losfarmacos en el organismo (procesos LADME) y las premisas del modelado cineticocompartimental.

1.1. Programacion en EcosimPro

Ecosimpro es una herramienta de simulacion de origen espanol, desarrollada porEmpresarios Agrupados International S.A. para el modelado de procesos fısicos sim-ples y complejos. Se trata de una herramienta reciente, la version draft 3.0.3 es deJunio de 1999, y la ultima version 4.8 ha salido recientemente.

EcosimPro corre en las distintas plataformas de Windows y usa su propio entornografico para el diseno de modelos.

El modelado de componentes fısicos se basa en el EcosimPro Language (EL),el cual es un lenguaje especıfico para modelado de sistemas. Tiene la ventaja deproporcionar un enfoque hıbrido, de manera que esta orientado a sistemas continuoscon la posibilidad de tratar las discontinuidades gobernadas por eventos discretos.

EcosimPro presenta tres modos de vista para el modelador:

Code view: permite introducir, leer, modificar, etc., el codigo de los componenteselaborados.

Schematic view: permite crear componentes por agregacion de otros mas basicos,pero utilizando un entorno grafico.

1

1 Introduccion

Simulation view: se trata de la vista de simulacion, a la que se accede cuandoya se ha creado el componente mediante alguna de las opciones que el entornopermite (a partir de componentes textuales o a partir de componentes graficos).

De esta forma, EcosimPro distingue dos facetas del arte de la simulacion. Por unlado se crea el modelo, de la forma que sea, y por otra se realizan experimentos conel, o lo que es lo mismo, se simula.

1.1.1. Lenguajes de modelado orientado a objetos (MOO)

Los lenguajes de simulacion han evolucionado desde la emulacion de las calcu-ladoras analogicas hacia la simulacion digital, que dio comienzo con la resolucionnumerica de conjuntos de ecuaciones diferenciales, EDO1. La mayorıa de los algo-ritmos de integracion numerica se disenaron para resolver este tipo de problema devariables de estado.

Posteriormente se reconocio que la misma ecuacion podıa reaparecer en variasecuaciones de estado, y que serıa mas eficiente, desde un punto de vista compu-tacional, reasignar estas expresiones a variables algebraicas auxiliares. Surge ası unnuevo grupo de ecuaciones conocidas como EDA, 2 que definen la forma natural delos sistemas de parametros concentrados.

Ademas, se doto a algunos lenguajes de “ordenadores de ecuaciones”que permitıanal usuario especificar el conjunto de ecuaciones en una secuencia arbritraria. Estodio paso a una evolucion de los entornos de simulacion que trataron de incluircierta “inteligencia”de forma que se evitara tener que escribir el modelo medianteun conunto de ecuaciones con la causalidad asignada de antemano, y de formaque dichas ecuaciones sean lo mas parecidas posible al planteamiento natural delproblema. De esta forma surgio el paradigma del Modelado Orientado a Objetos(MOO). Esta metodologıa se apoyo en avances de diferentes materias: el tratamientosimbolico de ecuaciones, la resolucion numerica de EDA y, como no, en el desarrollode los lenguajes de programacion orientados a objetos.

El concepto del modelado orientado a objetos es relativamente reciente, surgiendopracticamente en la decada de los noventa. Las ventajas de utilizar esta metodologıaen la programacion clasica para resolver problemas de media y alta complejidad estanmas que demostradas. EcosimPro es un ejemplo de herramienta de programacionorientada a objetos.

Los entornos orientados a objetos presentan ciertas caracterısticas propias, debidasa su nueva filosofıa de trabajo que se resumen en la figura 1.1.

1Ecuaciones Diferenciales Ordinarias2Ecuaciones Diferenciales Algebraicas

2

1.1 Programacion en EcosimPro

En primer lugar, los MOO han heredado las caracterısticas propias de los lenguajesde programacion orientados a objetos (POO), en los cuales se basan, de forma queha impuesto una nueva vision en la creacion de modelos, con una sintaxis que lespermite ser mas estructurados, mas flexibles, estar basados en los principios deparametrizacion, reutilizacion, instanciacion, encapsulacion, etc.

Figura 1.1: Diagrama de bloques explicativo de la filosofıa del MOO.

Una vez escrito un modelo, utilizando componentes nuevos, de librerıas de texto,de librerıas graficas o heredando propiedades de otros ya implementados, es necesarioobtener un conjunto de ecuaciones que representen la dinamica del sistema.

Todos los apartados en que se descompone la tarea de modelado y simulacion enun entorno de MOO no son independientes, por lo que cada uno de ellos debe resolverla problematica propia y ademas “preparar el terreno”para resolver problemas defases posteriores.

La simulacion y el modelado orientados a objetos proporcionan las caracterısticassuficientes para aumentar la complejidad sin afectar al exteior (encapsulacion),

3

1 Introduccion

habilitan la reutilizacion de modelos (herencia y agregacion), y permiten crear mo-delos independientes que sean faciles de mantener. Ademas, el desarrollo modularpermite a un sistema ser modelado desde abajo hacia arriba (bottom-up), progra-mando primero los componentes mas basicos para, a partir de ellos, ir desarrollandootros mas complejos.

Las librerıas basicas de componentes se pueden combinar para crear componentescada vez mas complejos utilizando dos metodos:

Extension por herencia, a partir de componentes existentes.

Instanciacion y conexion de componentes existentes.

Estas ideas se aplican para crear componentes que representen un sistema com-pleto. Los componentes intermedios pueden ser tambien simulados. Esto reduce am-pliamente los tiempos de mantenimiento y desarrollo.

Uno de los objetivos del modelado es encapsular la complejidad. Dicha encapsu-lacion consiste en separar los aspectos externos de los objetos, a los cuales puedenacceder otros objetos, de los detalles internos de la implementacion del mismo, quequedan ocultos a los demas.

El modelado orientado a objetos hace mas facil la tarea del modelador graciasa la capacidad de abstraccion y encapsulacion de datos y comportamientos. Suselementos principales son los componentes y las librerıas. Estas encapsulan todoslos elementos implicados en una disciplina particular, y pueden ser utilizadas porotras librerıas. Entre la terminologıa habitual se encuentran los siguientes conceptos:

Una clase o componente, es una descripcion teorica de una estructura y un com-portamiento de un componente fısico. Un objeto es una instanciacion de un compo-nente. La interfaz de un componente esta compuesta por los puertos, o conexiones,los parametros y los datos. Estos elementos son unicos y son visibles desde fuera,reforzando ası la idea de la encapsulacion y favoreciendo la reutilizacion de los com-ponentes. La herencia es lo que le da a los lenguajes de modelado orientado a bloquessu capacidad para compartir interfaces y comportamientos. Los lenguajes de MOOpueden reunir datos y ecuaciones comunes en unos componentes padres, que seranheredadas por los componentes hijos. La herencia es un mecanismo de comparticionde informacion entre componentes mediante la especializacion (Fig. 1.2).

Generalmente los lenguajes de MOO consideran que si los valores de los atributosde un componente entran en contradiccion con los heredados de su supercompo-nente, prevalecen en la clase los valores locales. Esta propiedad es una forma deparametrizacion, ya que supone la modificacion de algunas de las propiedades pa-ra adaptar el modelo a sus diferentes aplicaciones. Para facilitar este mecanismoen algunos entornos existen las denominadas ecuaciones virtuales, que pueden sermodificadas por el subcomponente sin que se produzcan conflictos.

Cuando un componente solo puede tener un unico supercomponente se habla deherencia simple. En caso de que puedan heredar mas de uno, se denomina herencia

4

1.1 Programacion en EcosimPro

multiple. Para el caso de EcosimPro existe la herencia multiple, lo cual permite lacreacion de nuevos componentes reutilizando partes de otros previamente creados.

Figura 1.2: Diagrama explicativo del mecanismo de herencia.

El polimorfismo es un concepto ligado estrechamente a la reutilizacion de modelos.Modelos polimorficos son aquellos que tienen interfaces con estructuras equivalentesy que, ademas, tienen los mismos grados de libertad, con lo cual pueden ser usadosen el mismo contexto e intercambiados sin necesidad de alterar el resto del sistema.

Frecuentemente los modelos polimorficos poseen un mismo supercomponente comun:aquel en el que se define la interfaz.

La agregacion es una forma fuerte de asociacion en la cual el objeto esta forma-do por componentes. Un componente puede heredar de otro u otros y puede tenermultiples instancias o copias de otros internamente. Este hecho refuerza la carac-terıstica de la reutilizacion. Este paradigma se aplica de forma iterativa y sin lımitesde manera que la complejidad de un componente final puede estar oculta por estaagregacion de instancias internas a otros componentes ya comprobados.

La abstraccion consiste en centrarse en los aspectos esenciales inherentes a unaentidad e ignorar sus propiedades accidentales. En el desarrollo de un modelo estosignifica centrarse en sus caracterısticas, lo que es y lo que hace, antes de decidircomo deberıa implementarse. La abstraccion es un modo de afrontar el problema dela complejidad de los sistemas de grandes proporciones, posibilitando que varios es-pecialistas puedan trabajar sobre distintas partes de un mismo modelo sin tener que

5

1 Introduccion

conocer todos los detalles del resto del mismo. Una forma de facilitar la abstraccionconsiste en diferenciar, en cada parte del modelo, entre la interfaz y la descripcioninterna.

Las librerıas son los elementos basicos con los que los lenguajes de MOO organizanla informacion que manipulan. El proposito basico de una librerıa es almacenarun conjunto de elementos relacionados entre sı. EcosimPro incluye varias librerıasbasicas que pueden ser modificadas por el usuario. La potencia de un entorno esta enel numero y la calidad de sus librerıas. Ademas de mantener la tarea de modeladobien organizada, las librerıas proporcionan al entorno de modelado otros servicioscomo:

Comprobar elementos obsoletos (componentes, puertos, datos, etc.) que debenrecompilarse.

Encapsular los elementos, permitiendo a diferentes librerıas contener elementoscon el mismo nombre.

En referencia a las librerıas basicas de EcosimPro, se muestra en la siguiente figura1.3 un esquema de un circuito electrico basico creado a partir del modelado previo desus elementos individuales. En concreto el circuito esta compuesto por: una fuentede tension senoidal (VAC1), un condensador (C1), una resistencia (R1), un elementotierra (G1) y dos puertos del tipo electrico que permiten la conexion del modelo conotro, u otros, componentes.

Figura 1.3: Diagrama EcosimPro de un circuito electrico basico

6

1.1 Programacion en EcosimPro

Ası, en una primera fase deben modelarse y validarse los elementos individuales(fuente de tension, resistencia, condensador, etc.), hasta llegar a la elaboracion delcomponente final que serıa el circuito. Los componentes pueden ser modelados apartir de sus ecuaciones constitutivas o a partir de sus curvas de comportamiento.

Los lenguajes de modelado orientados a objetos deben proporcionar sentencias quepermitan modelar dos mundos: el continuo y el discreto. Con el modelado continuo,el usuario expresa el modelo fısico con unas ecuaciones matematicas concretas. Estasecuaciones pueden ser algebraicas o diferenciales con respecto al tiempo.

Pero los lenguajes de MOO no solo deben permitir una formulacion continua.Cualquier modelo fısico que se construya con ecuaciones continuas en algun ins-tante tendra un comportamiento discreto. Cada tipo de comportamiento continuoesta asociado a una serie de eventos que se estan comprobando continuamente. Cuan-do ocurre uno de ellos se ejecutan una serie de acciones asociadas. Esto significa quelos componentes se modelan utilizando ambos metodos de modelado: continuos ydiscretos. Es tarea del entorno el ocuparse de que ambas partes del modelo se eje-cuten de forma coordinada.

Figura 1.4: Algoritmo del tratamiento de eventos.

7

1 Introduccion

Los lenguajes orientados a objetos permiten tres tipos de sentencias: las continuas,las discretas y las secuenciales. Las continuas son las que se repiten en cada instantede integracion y sufren la mayor parte del preprocesamiento, como la ordenacion delas ecuaciones, la deteccion de los lazos algebraicos, etc. Las discretas deberan estaren su propia seccion y se ejecutan ante determinados eventos. Las secuenciales sonaquellas que se ejecutan cada una a continuacion de la precedente. La sintaxis deEcosimPro permite secciones para cada una de este tipo de sentencias.

Finalmente se resumen a continuacion las ventajas principales de la metodologıade MOO:

El modelador encapsula los datos y el comportamiento en componentes indi-viduales.

Un componente oculta su complejidad haciendo publicas solo parte de suscaracterısticas.

La interfaz publica comprende parametros, puertos y datos. Las variables lo-cales, eventos discretos y ecuaciones son privadas.

Los componentes pueden reutilizarse.

Un componente puede contener ecuaciones que pueden insertarse en tiempo desimulacion o no, dependiendo de los parametros que se pasen al componente.

El formato de una ecuacion es declarativo: los algoritmos las transforman pararesolverlas de la mejor forma posible.

Ademas, se puede anadir una consideracion mas a la revolucion que supone el MOO:el modelado es no-causal, o acausal. En otras palabras, cuando se modela un com-ponente, la causalidad de las ecuaciones no esta dada. Esta causalidad tendra queser resuelta antes de pasar a la fase de simulacion. EcosimPro se encarga de estode forma automatica. Las librerıas contienen componentes reusables y genericos quepueden utilizarse en cualquier situacion.

1.1.2. Tratamiento matematico del modelo en EcosimPro

A la hora de realizar una simulacion, EcosimPro no codifica las ecuaciones taly como las escribe el usuario, sino que realiza una serie de transformaciones paraescribir el sistema de una forma mas conveniente.

Una vez generadas las ecuaciones, el siguiente paso es decidir en que orden seresuelven las variables del modelo. Aunque desde el punto de vista del usuario finalEcosimPro es un lenguaje acausal, esta claro que para realizar cualquier simulacion

8

1.1 Programacion en EcosimPro

con un modelo es necesario convertir el conjunto de ecuaciones escritas por el usua-rio en otro conjunto de ecuaciones escritas de forma secuencial, donde cada lıneacontenga variables que hayan sido previamente calculadas. EcosimPro implementaestas ecuaciones en un lenguaje causal, en este caso C++. Este proceso se denominaasignacion de la causalidad. En EcosimPro se describe el sistema por medio deecuaciones, posteriormente el compilador decide cual es el orden adecuado para cadaecuacion y la variable que resuelve.

En cuanto a las variables, existen los siguientes tipos:

Las variables tipo dato (DATA VAR) son aquellas que se han definido en laseccion DATA de los componentes, han sido inicializadas antes de crear laparticion y por tanto su valor no necesita ser calculado en tiempo de simulaciondebido a que permanecen constantes a lo largo del tiempo.

Las variables explıcitas (EXPLICIT) necesitan obtenerse a partir de las ecua-ciones de los componentes, y por tanto las ecuaciones deben ordenarse de talforma que todas ellas sean calculadas por una y solo una ecuacion.

Las variables de estado (DYNAMIC) son variables que en algun momentoaparecen derivadas en el modelo y su valor se obtiene integrando el mismo porun algoritmo de integracion.

Las variables derivadas (DERIVATIVE) son las complementarias de las va-riables de estado y expresan la derivada respecto a la variable independientedel sistema (normalmente el tiempo). Estas variables se calcularan de formaexplıcita.

Las variables algebraicas (ALGEBRAIC) son variables que no han podido sercalculadas por metodos explıcitos y se resuelven por un resolvedor implıcito deforma iterativa. Aparecen en todos los lazos algebraicos no lineales del modeloy se calculan de forma implıcita.

Las variables de contorno (BOUNDARY) son variables continuas (tipo REAL)que el usuario ha decidido que seran condiciones de contorno y no son calcu-ladas iternamente. La diferencia con los datos es que pueden ser dadas comovariables dependientes del tiempo y no solo como una constante.

Las variables discretas (DISCRETE) son todas las variables que no sean de ti-po REAL (es decir son INTEGER, BOOLEAN, STRING O FILEPATH) y lasetiquetadas como DISCR REAL. Son variables que EcosimPro no tratara decalcularlas nunca del sistema de ecuaciones y son responsabilidad del mode-lador cambiarlas de forma discreta en el modelo (tıpicamente en los bloquesINIT y DISCRETE).

9

1 Introduccion

Parametros de construccion. Son parametros usados en componentes y puertosen el momento de su instanciacion. Son usados para dimensionar arrays o con-juntos de ecuaciones y no pueden ser modificados en ningun momento despues.Los datos (DATA VAR) aunque permanecen constantes durante los calculos,pueden ser modificados entre dos calculos, los parametros de construccion no.

Los metodos numericos para integrar el modelo calculan los valores de las varia-bles de estado (DYNAMIC) y algebraicas. Para que la integracion numerica puedallevarse a cabo es necesario dar al integrador el valor inicial de las variables de esta-do y algebraicas. Las ecuaciones de residuos que guıan al integrador son generedasautomaticamente por EcosimPro en base a transformaciones simbolicas del bloquede ecuaciones global.

Cabe destacar el hecho de que no siempre se pueden despejar las variables de formaexplıcita. Cuando esto ocurre, se dice que en el sistema existe un lazo algebraicolineal o no lineal. Los lazos algebraicos no lineales son mas costosos en tiempo decomputo que los lineales y ademas necesitan procedimientos mas complejos.

A modo de resumen, se puede decir que el tratamiento matematico del modelode EcosimPro solo necesita despejar las variables que sean de alguno de estos dostipos: explıcitas o derivadas, mientras que las demas o no intenta calcularlas o secalculan con un resolvedor.

Por otra parte, y siguiendo con las variables en EL, estas tienen tres tipos dealcance que se explican a continuacion:

1. Alcance local: La variable se referencia usando como identificacdor su propionombre dentro de cada componente, puerto, funcion o experimento.

2. Alcance global: El identificador se declara como global dentro de la librerıa. Sereferencia usando el nombre de la variable, pero si el nombre se declara mas deuna vez (por ejemplo, si dos librerıas usan el mismo nombre para la variableglobal) se debe anadir el prefijo de la librerıa a la variable.

3. Alcance de expresion: Un identificador usado en expresiones SUM, EXPANDo bucles FOR solo tiene alcance en esa expresion. Una vez que la expresion hasido evaluada el nombre ya no es valido, esto permite a expresiones sucesivasusar el mismo identificador. Si un identificador interno entra en conflicto conotro con el mismo nombre en otro componente, se usa siempre el identificadorinterno.

Habitualmente los sistemas de simulacion presentan sistemas de ecuaciones quetienen que ser resueltos en poco tiempo. Otras veces, no es posible obtener la solucionexacta. La aplicacion de metodos numericos subsana estos dos problemas.

10

1.1 Programacion en EcosimPro

Para la resolucion de sistemas lineales se emplea el metodo de factorizacion LU.Para la resolucion de sistemas no lineales se emplea el metodo de Newton-Raphsonbasado en iteraciones que partiendo de un punto anterior calculan el siguiente. Elpunto de inicio debe darse cerca de la solucion para que esta converja.

Por su parte los metodos de integracion tienen como proposito, dado un problemade valor inicial, calcular una aproximacion de la solucion en una serie de puntos, detal forma que la funcion quede suficientemente determinada para el estudio que sepretende.

Un metodo de integracion numerico devuelve una serie de tuplas que son unaaproximacion a la solucion real de la ecuacion diferencial en t= ti. A la diferenciati+1 - ti se le denomina paso de integracion y se suele representar como hi+1. Losmetodos de integracion se pueden clasificar como:

De paso constante, si hi siempre toma el mismo valor, en cuyo caso ti = i·h+t0.

De paso variable, si hi no es constante.

El metodo de integracion mas clasico para resolver ecuaciones diferenciales ordina-rias (EDO) es el Runge-Kutta. El metodo DASSL es mas moderno y esta orientado ala resolucion de sistemas de ecuaciones algebraico-diferenciales (EDA). A diferenciadel Runge-Kutta, en el que la derivada tenıa que estar de forma explıcita, en estemetodo no es necesario. El sistema puede estar escrito de forma mas general.

Los metodos de integracion mas utilizados en EcosimPro son: Runge-Kutta deorden 4 y DASSL. Por defecto el metodo de integracion es DASSL, pero se puedeseleccionar cualquier otro por medio de la variable IMETHOD asignandole el nombredel metodo de integracion.

Los pasos en el procesado matematico de EcosimPro son:

1. Solucion simbolica de ecuaciones lineales de coeficientes constantes.

2. Deteccion y correccion de problemas de alto ındice. Estos problemas surjencuando aparecen variables de estado (DYNAMIC) emparejadas o relacionadasentre sı. El resolvedor matematico esta disenado, normalmente, para calcularel valor de las variables de estado integrando su derivada, asumiendo que estasvariables son independientes unas de otras.

Existen distintas tecnicas para resolver problemas de alto ındice que van desdela manipulacion simbolica hasta el uso de resolvedores especiales. EcosimProusa dos tipos diferentes de algoritmos de manipulacion simbolica: solucion poreliminacion de los impedimentos lineales o solucion por derivacion de ecuacio-nes.

3. Seleccion de las variables de contorno. Para ello se clasifican primero las varia-bles en conocidas y no conocidas.

11

1 Introduccion

4. Aplicacion del maximo algoritmo transversal y clasificacion de las ecuaciones.El proposito de este algoritmo consiste en encontrar una variable que puedaser calculada en cada ecuacion. En el campo de las matrices, el problema esconocido como “encuentra el maximo numero de no-nulos en la diagonal de lamatriz”, mientras que en la teorıa de grafos bipartitos se conoce como “perfectmatching.”

El objetivo de la clasificacion de ecuaciones es permitir a EcosimPro calcularlas variables de forma secuencial.

5. Solucion de lazos algebraicos, lineales y no lineales.

6. Resolucion numerica de sistemas diferenciales y algebraicos. Finalmente, des-pues de todos los pasos preliminares, el problema se formula como un sistemade ecuaciones algebrico-diferenciales o EDA. La mayorıa de las aplicaciones desimulacion formulan el problema como un sistema de ecuaciones diferencialesordinarias o EDO. La ventajas de usar EDAs es que las ecuaciones originadasde forma natural cuando se modela un sistema fısico son EDAs y no EDOs.Las ecuaciones diferenciales ordinarias y los sistemas de ecuaciones algebraicospueden ser considerados como casos especiales de EDAs. Por lo tanto una EDOpuede ser escrita de forma explıcita como una EDA de la siguiente forma:

y′(t)–f [t, y(t)] = 0

Como ya se ha mencionado, EcosimPro utiliza el metodo DASSL para estaresolucion.

1.1.3. Conexion con otro software

Se describen a continuacion las posibilidades que EcosimPro pone al alcance delusuario para su conexion con lenguajes de programacion de proposito general o apli-caciones externas. Esto permite que pueda usarse toda la potencia que proporcionala herramienta sin necesidad de emplear el entorno de simulacion y que pueda in-cluirse su funcionalidad en aplicaciones independientes desarrolladas por el usuario.

Se detallan los siguientes ejemplos:

Aplicaciones DECK. Un DECK es una aplicacion ejecutable independiente quepuede ser lanzada fuera del entorno de simulacion y que puede disponer o node entorno grafico (Fig.1.5). Se trata de un programa que permite al disenadordistribuir simulaciones a clientes de forma rapida e independiente del entornoprincipal.

12

1.1 Programacion en EcosimPro

Conexion con C++. Dado que el entorno de simulacion de EcosimPro traducede lenguaje EL a lenguaje C++, es evidente que la integracion con este lenguajese lleve a cabo de forma natural. De este modo, el usuario puede disenar unaaplicacion a medida usando toda la potencia que proporciona EcosimPro.

Las aplicaciones de esta posibilidad son numerosas, por resaltar algunas:

- Creacion de un interfaz grafico para visualizar las variables de simulacion.

- Reduccion de fallos de los modelos C++.

- Conexion con otras clases C++.

- Conexion con un entorno de simulacion en tiempo real.

- Conexion del modelo con programas de ordenador escritos por el usuario.

- Conexion con otras herramientas de simulacion.

Figura 1.5: DECK generation wizard que basado en un experimento dado ayuda aldesarrollador a crear una aplicacion independiente.

Conexion con Microsoft Excel. EcosimPro proporciona dos maneras diferentesde Interactuar con Microsoft Excel: usando VBA (Visual Basic for Applica-tions) o empleando una barra de herramientas especıficamente disenada parala conexion con esta aplicacion (SimulationAddIn Toolbar). La primera de lasalternativas se explicara en el siguiente punto. La segunda requiere la adicionde una nueva barra de herramientas a Excel. Esta barra permite ejecutar lasimulacion de un experimento (con la posibilidad de crear una representaciongrafica del modelo) cargando los valores de las variables en una nueva hoja de

13

1 Introduccion

calculo dentro del mismo libro. A partir de esta hoja se puede obtener unarepresentacion grafica de las variables que se consideren oportunas.

Conexion con Microsoft Visual Basic. El procedimiento de conexion es validopara cualquier aplicacion que soporte VBA, como puede ser Microsoft Excel.De este modo , supone un procedimiento alternativo a la barra de herramientasSimulationAddIn.

Conexion con Matlab/Simulink. EcosimPro proporciona una librerıa de funcio-nes para interactuar con Matlab y Simulink (llamada ecoToolBox ). Los unicosrequisitos de partida son que exista la DLL ya compilada del experimento quese desea simular y que la version de Matlab que se emplee sea posterior a laR13 con el Service Pack 1 instalado.

1.2. Estado del Arte de las tecnologıas de simulacion

A continuacion se describen los entornos de simulacion de sistemas (simples ocomplejos) mas relevantes en la actualidad.

Se puede hacer una primera division de estos entornos segun su capacidad desimulacion de sistemas continuos y discretos, aunque la mayorıa de entornos desimulacion continua tambien tiene capacidad de simulacion de eventos discretos.

1.2.1. Simulacion de sistemas continuos

Dentro de este aparatado se explican algunas de las tecnologıas de simulacion desistemas continuos mas significativas en la actualidad.

EcosimPro

Se trata de un entorno de simulacion multidisciplinar, con una metodologıa mode-lado orientado a objetos. Permite un desarrollo modular de sistemas, lo que facilitala reusabilidad, garantizando a la vez el mantenimiento de la dinamica propia delsistema completo. Ademas, permite cierta abstraccion en la descripcion del modelo,por ejemplo, no se requiere establecer cuales son las entradas y cuales las salidas.

Ecosim es una herramienta de simulacion general y flexible directamente aplicablea la simulacion de Environment Control and Life Support Systems (ECLSS) andThermal Control Systems (TCS), los cuales han sido desarrollados por la AgenciaEspacial Europea (ESA.

Tiene una serie de ventajas sobre otros sistemas, tales como soporte para si-mulaciones multidisciplinares de TCS y ECLSS, extensas librerıas de componentesreusables para construccion de modelos que pueden ser ampliadas por los usuarios

14

1.2 Estado del Arte de las tecnologıas de simulacion

y un potente motor de simulacion basado en una mezcla de procesado simbolico yanalisis numerico.

Estas caracterısticas ponen de manifiesto la gran potencia de EcosimPro, por lacual, esta ha sido escogida como la herramienta para el desarrollo de la librerıafarmacocinetica.

ACSL

ACSL es el predecesor del actual acslX, el cual, es un lenguaje de modelado ysimulacion de sistemas y procesos dinamicos continuos, basado en el estandar CSSL.Ha sido mejorado mediante el desarrollo de paquetes auxiliares, que se explicaran acontinuacion, que lo convierten en un verdadero entorno de simulacion.

Es un lenguaje facil de aprender y de usar, que ofrece un entorno intuitivo parausuarios de todos los niveles lo suficientemente potente como para resolver problemasde determinada complejidad.

Se trata de un lenguaje de modelado no orientado a objetos, en el que las seccionesde descripcion del modelo y de experimentacion estan claramente separadas. Laseccion de descripcion del modelo se divide en varias zonas principales, encabezadaspor las palabras claves: INITIAL, DYNAMIC, DERIVATIVE y DISCRETE.

El resolvedor de ACSL es capaz de ordenar las ecuaciones del modelo de maneraque permite su correcta resolucion. El compilador, traduce el modelo a Fortran, loque permite enlazar tanto con Fortran como con otros lenguajes de simulacion.

Es importante destacar los siguientes paquetes adicionales:

1. Graphic Modeller. Interfaz grafico para la construccion de modelos medianteFlowChart.

2. API. Se desarrolla un interfaz de programa que permite acceder al nucleo de lasimulacion a traves de un programa externo desarrollado por el usuario. Paraello, el modelo es convertido en una librerıa dinamica (DLL) a la que se puedeacceder de distintas maneras.

3. Conversor a lenguaje C.

4. Real Time. Incluido para dotar al sistema de posibilidad de ejecucion en tiemporeal.

5. acslX-PK/PK. Paquete farmaceutico que permite llevar a cabo un modeladofarmacocinetico clasico (PK), con base fisiologica (PBPK) y farmacodinami-co (PD), ofreciendo la herramienta adecuada en cada etapa del proceso deevolucion del farmaco.

15

1 Introduccion

Por la relacion del punto cinco con este proyecto, parece relevante explicar de for-ma mas detallada el alcance del paquete farmaceutico. Este ofrece una herramientade modelado farmacocinetico flexible que predice la dispersion del farmaco y losniveles residuales del mismo para analisis de toxicidad y de umbral terapeutico.

acslX se basa tanto en modelos clasicos como compartimentales de manera queno hay lımite en la simplicidad o complejidad del mismo. Los estudios son rapidos yfiables porque la herramienta ofrece un interfaz intuitivo para el usuario junto con undesarrollo robusto del modelo y capacidades de analisis y ejecucion. Ademas permitea los usuarios anadir o aplicar continuamente nueva informacion para reestablecermodelos o crear otros nuevos para nuevos productos farmaceuticos.

El software acslX’s Optimum, permite a los investigadores llevar el modelado ysimulacion a un nivel superior. Optimum esta completamente integrado con acslX yproporciona potentes capacidades analıticas que incluyen: estimacion de parametros,optimizacion de modelos, analisis de sensibilidad y analisis Montecarlo. Tambienexisten wizards que simplifican la programacion y eliminan la necesidad de declararcomandos.

Un ejemplo del modelado con esta herramienta se muestra en la figura 1.6.

Figura 1.6: Apariencia grafica del modelado con el paquete PK/PD.

El alcance del paquete acslX PK/PD comprende:

1. Modelos PBPK lineales y no lineales de varios organos.

16

1.2 Estado del Arte de las tecnologıas de simulacion

2. Modelos estandar de flujo sanguıneo basados en el peso corporal y la respuestacardıaca.

3. Modelos de exposicion por inhalacion ası como exposicion oral y dermica.

4. Funciones matematicas para estudios de sensibilidad de parametros.

5. Modelos PD para una respuesta de tejidos debida a una exposicion quımicaconcentrada.

6. Ejemplos de modelos: modelos con uno y dos compartimentos y multicompar-timentales; clasico PBPK de cloroformo en humanos; modelo PBPK/PBPD dedioxina en hembras de rata.

Modelica

Modelica es un lenguaje para el modelado de sistemas fısicos orientado a objetos,con estructura jerarquica, capacidad de reuso y evolucion. Las ecuaciones en Mo-delica no describen una asignacion a las variables, sino una igualdad. Se trata portanto de un lenguaje de modelado libre de causalidad matematica.

Existen gran cantidad de publicaciones y documentacion disponibles sobre estelenguaje. Un ejemplo de ello es [?] en el que se hace referencia al gran problemade la interoperabilidad entre modelos y entornos de simulacion, aclarando que losentornos graficos, aun cuando facilitan la labor, no son precisamente la solucion aeste problema y en la practica suelen especializarse cada vez mas a un determinadoentorno.

Se destacan dos conceptos importantes en relacion al problema de la interopera-bilidad:

1. Lenguajes de modelado orientados a objetos, los cuales han dado resultadosmuy satisfactorios en la implementacion de estructuras jerarquicas y evolucion,independientemente de su dominio de aplicacion.

2. Modelado acausal, demuestra que la tradicional abstraccion empleada en si-mulacion (el bloque con entradas/salidas) puede ser generalizada relajando lasrestricciones de causalidad, es decir, no dando a cada puerto una definicion deentrada o salida.

En terminos estrictos Modelica es una especificacion que arranca en el proyectoESPRIT : Simulation in Europe Basic Research Working Group SiE-WG, el cualoperaba en 1999 como el comite tecnico 1 de EuroSim y un area tecnica de Modelicaen la SCS International.

17

1 Introduccion

El lenguaje esta orientado para trabajar en multiples dominios (electrico, hidrauli-co, termodinamico, multi-body, etc) y con varios formalismos, por ejemplo, para tra-bajar con sistemas representados por ODE, DAE, bond graphs (diagramas causales),automata de estados finitos y redes de Petri.

La version 1.1 de Modelica (Diciembre 1998) corresponde a un lenguaje de mo-delado de proposito general, multidominio y multi-formalismo, con capacidad paramodelar sistemas continuos y que incluye ademas el tratamiento de eventos discretos,como las discontinuidades.

Modelica aprovecha la experiencia obtenida con muchos lenguajes de simulacionanteriores. La gran mayorıa de los lenguajes previos, estan orientados a bloquescon entradas y salidas. De esta forma, los modelos matematicos hay que orientarlosa algoritmos preparados para su computo (necesitan de la transformacion de lasecuaciones fısicas, en este sentido). Normalmente los lenguajes han considerado laexistencia de conectores entre modelos, pero a un nivel de jerarquıa mayor.

Ejemplos representativos de herramientas que soportan Modelica son: MathMo-delica (de MathCore); Scicos, cuya version 4.4.1 ha sido lanzada en abril de 2011o Dymola, el cual es un entorno de modelado y simulacion basado en el lengua-je de modelado Modelica que esta disponible como producto autonomo, ası comointegrado en CATIA Systems V6.

Matlab/ Simulink

Matlab3 es un entorno de computacion integrado para calculo numerico y unlenguaje de programacion de cuarta generacion 4. Tuvo su origen como softwarede acceso a las librerıas de calculo numerico y matricial: LINPACK y ESIPACK(actualmente muy importantes), de ello, que el elemento basico de trabajo sean lasmatrices.

Basicamente se puede entender Matlab como un entorno de computacion numericaprocedimental e interactivo, con un lenguaje de programacion propio. Con el sepueden crear scripts y funciones (ficheros .M) que pueden ser llamados desde laventana de Matlab. Este esquema de trabajo ha permitido el desarrollo de toolboxesespecializados en diferentes areas.

Matlab se compone de 5 partes:

1. Lenguaje de programacion, orientado a objetos.

2. Entorno de trabajo, con debugger y profiler. En la version 6 (noviembre del2000) se mejora el entorno, pasando al estilo de entornos de desarrollo tales

3Matrix Laboratory.4Lenguaje de programacion disenado con un proposito especıfico siguiendo al 3GL en una ten-

dencia hacia una mayor abstraccion.

18

1.2 Estado del Arte de las tecnologıas de simulacion

como Visual Basic o Delphi. El lenguaje Matlab se ejecuta mediante interpretede manera natural, aunque puede compilarse para producir un Matlab Execu-table (MEX), conocido normalmente como fichero MEX, para incrementar lavelocidad. Las rutinas C y Fortran se pueden acoplar con Matlab en runtime,mediante los ficheros MEX.

3. Sistema grafico, para visualizacion 2D y 3D, permitiendo la programacion deun GUI5.

4. Librerıa de funciones matematicas. Se incorpora en la version 6 la librerıaLAPACK (que reenplaza a LINPACK Y EISPACK).

5. API que permite llamar a rutinas C y Fortran desde codigo Matlab y usarMatlab como un motor de computacion

Simulink es un entorno grafico de simulacion basado en Matlab. Un modelo enSimulink se describe mediante blocks caracterizados basicamente por unas entradas,unas salidas y unas variables de estado (continuas y discretas). Es decir un modelose describe mediante diagramas de bloques.

Entre sus ventajas:

Definicion de subsistemas para poder ser usados como nuevos bloques, permi-tiendo una descripcion jerarquica sin lımites.

Librerıas de bloques built-in.

Bloques personalizables, no solo en su comportamiento, sino tambien en suscuadros de dialogo, de parametrizacion, etc. Estos pueden ser anadidos a laslibrerıas.

S-Functions o funciones del sistema. Codigo creado para describir el compor-tamiento de un bloque Simulink. Puede desarrollarse en Fortran, C, Ada oMatlab. Simulink suministra modelos de funciones para su preparacion. SobreC y Matlab es posible que estos bloques creados sean multipuerto y multi-muestreo (multirate) o intervalos de muestreo diferentes en diferentes bloquesdiscretos. El editor de mascaras permite preparar un dialogo para cualquierbloque de S-function.

La fundamental limitacion de Simulink es su orientacion a la simulacion de siste-mas de control, lo que le lleva a la descripcion de los modelos solo como diagramasde bloques que son ejecutados segun un modelo secuencial. Esta estructura secuen-cial sigue el paradigma de modelado causal, vigente en la mayorıa de los sistemascomerciales y academicos, y ha obtenido muy buenos resultados. Sin embargo el

5Graphic User Interface.

19

1 Introduccion

modelado no causal que rige la nueva especificacion en Modelica, aporta ventajasa la hora de modelar sistemas fısicos permitiendo una discretizacion del espacio desimulacion que realmente consigue los objetivos de reusabilidad e interoperabilidad.Una buena descripcion de la forma de trabajo de Simulink se puede ver en [?].

1.2.2. Simulacion de eventos discretos

Al igual que el apartado anterior, muchos de los entornos de simulacion discretatienen ciertas capacidades para modelar sistemas continuos, aunque su objetivo nosea ese.

Como se puede comprobar a continuacion, el area de simulacion de eventos discre-tos sı ha desarrollado una gran cantidad de entornos basados en Web, especialmentesobre Java. Asimismo, las arquitecturas distribuidas, como HLA6, parecen mejorpreparadas para este tipo de sistemas.

Esto puede ser debido en principio, al tipo de simulaciones en las que el DoD7

esta interesado, lo que ha supuesto un ”tiron” en las tecnologıas en ese campo, perono en los simuladores basados en modelos de sistemas continuos.

JSIM

Es un entorno de simulacion y animacion de sistemas de eventos discretos (Colas)basado en Java. Es un entorno de simulacion para pruebas e investigacion de accesolibre (incluyendo a su fuente, etc).

Los aspectos principales en los que se centra JSim son fisiologıa y biomedicina,aunque su motor computacional es bastante general y aplicable a un amplio rango dedominios cientıficos. Los modelos de Jsim mezclan ODEs, PDEs, ecuaciones implıci-tas, integrales, sumatorios, eventos discretos y codigo de procedimiento apropiado.

Permite la construccion de un modelo mediante:

Un paquete de eventos: paradigma de conduccion por eventos.

Un paquete de procesos: paradigma de interaccion entre procesos.

Ademas cuenta con un paquete jmodel que permite construir de manera graficamodelos basados en procesos. El paquete qds (query driven simulation) permitecontrolar la ejecucion de modelos de simulacion como Java beans.

Es importante comentar que en las lıneas de investigacion futura sobre entornosde simulacion basados en componentes, se encuentra el uso de los nuevos API deJava, Java 3D y Enterprise Java Beans (EJB), Java IDL (CORBA).

Ha sido considerado en el Proyecto de investigacion de Mitre-DoD y en el proyectoPhysiome.

6High Level Assembly, ensambladores de alto nivel.7Departamento de defensa de los Estados Unidos.

20

1.3 Introduccion a la Farmacocinetica

1.3. Introduccion a la Farmacocinetica

A lo largo de muchos siglos, la terapeutica se baso en la prescripcion de medica-mentos a dosis empıricas hasta que, a principios del Positivismo8, toma cuerpo elconcepto de interaccion farmaco-organismo.

Si la interaccion del farmaco sobre el organismo constituıa el objetivo de la Far-macodinamica, ciencia ya antigua, precursora de la Farmacologıa actual, su referentepasivo, es decir, la accion del organismo sobre el farmaco, ha constituido en epo-ca mucho mas reciente el objetivo de la Farmacocinetica, que surge hace alrededorde 75 anos, pero cuya aplicacion practica data de algo menos de 50. Esta nuevadisciplina podrıa definirse, en terminos generales, como el estudio de la evoluciontemporal de los niveles de farmaco en el organismo tras la admisnistracion de unadosis determinada, lo que incluye su absorcion o entrada en el torrente circulato-rio, su distribucion a los diferentes tejidos y organos -en algun punto de los cualesse encuentra en biofase o lugar de accion- y su eliminacion del organismo, sea porexcrecion directa o por metabolismo, que da origen a derivados mas polares y masfacilmente excretables que su precursor. Las relaciones entre ambas disciplinas sonobvias: todos los procesos farmacocineticos influyen en el comienzo, la intensidady la duracion de las respuestas farmacodinamicas e incluso pueden actuar comofactores limitantes de las mismas.

Hoy en dıa la Farmacocinetica constituye una herramienta imprescindible para eluso eficaz y seguro de los farmacos en determinados grupos de pacientes a traves dela Farmacocinetica Clınica9. La monitorizacion de farmacos con escaso margen deseguridad constituye un magnıfico ejemplo de la aplicacion de los principios farmaco-cineticos a la practica rutinaria de la terapeutica. Paralelamente la Farmacocineticase proyecta con fuerza sobre el diseno de farmacos y profarmacos, ası como en eldesarrollo de nuevas formulaciones tecnologicas a traves de la Biofarmacia, lo quepermite asegurar a nivel basico, fisicoquımico o, mas frecuentemente, tecnologico, labiodisponibilidad optima de un farmaco en sus respectivas formas farmaceuticas o, sise quiere, obtener de el el maximo rendimiento terapeutico. Las bases farmacocineti-cas aplicables a los campos de la Farmacocinetica Clınica y de la Biofarmacia sonanalogas, pero la forma en que se aplican es muy distinta. De los nuevos contextoscientıficos, la Biofarmacia podrıa considerarse como el motivador, la Farmacocineti-ca como el dinamizador, y la moderna Tecnologıa Farmaceutica como la concrecionpractica.

8El Positivismo es una corriente o escuela filosofica que afirma que el unico conocimiento autenticoes el conocimiento cientıfico. Deriva de la epistemologıa que surge en Francia a principios delsiglo XIX.

9La Farmacocinetica Clınica se ocupa principalmente del ajustado individual de la posologıa endistintos grupos poblacionales.

21

1 Introduccion

Los conceptos de “biodisponibilidad” y “bioequivalencia” dieron origen al naci-miento y desarrollo de la nueva ciencia farmaceutica que se conoce con el nombre deBiofarmacia. Dicha ciencia ha sido definida como la ciencia que estudia la biodis-ponibilidad de los farmacos en sus formas farmaceuticas y el modo de alcanzar suoptimo a traves del estudio de las interacciones farmaco-forma farmaceutica-sustratobiologico.

Para el desarrollo de la Biofarmacia, es necesario un conocimiento profundo de laspropiedades fisicoquımicas y biologicas del farmaco objeto de estudio y de las carac-terısticas de la forma farmaceutica que constituye su soporte. Todos estos factoresdeberıan encauzarse hacia la liberacion del farmaco en el lugar preciso para su opti-mo aprovechamiento, garantizando ası su correcta absorcion, tras la cual, el farmacosufrira el proceso de distribucion a los diferentes fluidos, tejidos y organos (en algunpunto de los cuales accedera a su biofase o lugar de accion) y, simultaneamente,sera eliminado por metabolismo y/o excrecion directa.

El problema de la liberacion del farmaco y de su modulacion puede resolverse anivel fısico, quımico o tecnologico. Los restantes procesos constituyen, en cambio,el objeto de la Farmacocinetica general o basica, que se define como el estudio ycaracterizacion de la evolucion temporal de los farmacos y de sus metabolitos enel organismo, a traves del analisis cinetico de las curvas concentracion/tiempo ocantidad/tiempo obtenidas a partir de muestras de fluidos organicos. La Farmaco-cinetica, que habıa iniciado su andadura a finales del primer cuarto de nuestro siglo,se consideraba poco menos que una curiosidad de labortorio hasta la irrupcion enescena de la Biofarmacia. A partir de ese momento deja de ser pura especulacion yencuentra su primera aplicacion practica importante al resolver, matematicamente,el problema de la evaluacion de la biodisponibilidad mediante la integracion de todoslos procesos de evolucion temporal del farmaco en una magnitud concreta que seidentifica, en muchos casos, con el area bajo las curvas concentracion/tiempo y consu velocidad de incorporacion expresada por una constante cinetica fundamental.

1.3.1. Evolucion temporal de los farmacos en el organismo

La administracion de un farmaco en una forma farmaceutica a un organismohumano o animal somete a las moleculas del farmaco a una serie de procesos que sepueden sintetizar en: liberacion (L), absorcion (A), distribucion (D), metabolismo(M) y excrecion (E). Esta evolucion temporal de los farmacos en el organismo seconoce como procesos LADME y se muestra en la figura 1.7.

Tomando como ejemplo la administracion por vıa oral de una forma agregada,la liberacion es el primer proceso que debe sufrir el farmaco o principio activo,finalizando dicho proceso con la disolucion del mismo. En el caso de la administracionde una solucion, este proceso no existe.

Posteriormente a la liberacion, tiene lugar la absorcion, proceso mediante el cuallas moleculas del farmaco alcanzan la circulacion sanguınea. Este proceso no existe

22

1.3 Introduccion a la Farmacocinetica

Figura 1.7: Secuencia de procesos LADME, [?]

en el caso de la admininistracion parenteral intravenosa, aunque sı cuando se tratade una administracion parenteral extravasal, como la intramuscular o la subcutanea.

Una vez que las moleculas del farmaco han alcanzado la circulacion sanguıneatiene lugar su distribucion por el organismo, llegando a un estado de equilibrio en ladistribucion. El tiempo necesario para que se logre dicho equilibrio es muy variablepara los distintos farmacos, de modo que su mayor o menor rapidez va a condicionarel modelo cinetico.

Desde el momento de su llegada a la circulacion sanguınea, y al mismo tiempoque la distribucion, tiene lugar la eliminacion del farmaco, que puede ser mediantemetabolismo y/o excrecion como farmaco inalterado por orina o bilis mayoritaria-mente.

Como ya se ha indicado, el metabolismo y la excrecion constituyen la elimina-cion. Por otra parte, la distribucion y la eliminacion componen, en su conjunto, ladisposicion del farmaco.

Los procesos LADME se pueden describir mediante tres posibles cineticas carac-terizadas por el orden de reaccion: orden uno, orden cero y orden mixto, tambienconocida como cinetica de Michaelis-Menten.

La cinetica de orden uno (o primer orden) presenta la siguiente ecuacion develocidad:

dQ

dt= −k ·Q (1.1)

23

1 Introduccion

donde Q representa la cantidad (en unidades de masa) de farmaco en un momentodeterminado, k es la constante de primer orden (tiempo) y dQ/dt representa lavelocidad de desaparicion del farmaco desde el lugar considerado.

Resolviendo la ecuacion diferencial anterior se obtiene una expresion de Q enfuncion del tiempo:

Q = Q0 · e−k·t (1.2)

expresion en la que Q0 es la cantidad inicial de farmaco (a tiempo cero) y t es eltiempo transcurrido.

La ecuacion 1.2 puede transformarse en la ecuacion de una recta si se tomanlogaritmos neperianos en ambos miembros de la igualdad:

lnQ = lnQ0 − k · t (1.3)

De esta forma, para procesos con cinetica de primer orden la representacion de lacurva cantidad de farmaco (en logaritmo neperiano) frente al tiempo da lugar a unarecta.

La cinetica de orden cero tiene ecuaciones equivalente a las anteriores, tal ycomo se muestra a continuacion:

dQ

dt= −k0 (1.4)

Q = Q0 − k0 · t (1.5)

en las que k0 es la constante de orden cero, en unidades de masa/tiempo. En estecaso, a diferencia de la cinetica de orden 1, la representacion de la ecuacion 1.5 dacomo resultado una recta sin necesidad de transformacion alguna de la ecuacion.

La cinetica de Michaelis-Menten, o de orden mixto, presenta la siguiente ecua-cion de velocidad:

dQ

dt= − Vm ·Q

Km + Q(1.6)

en la que Vm representa la velocidad maxima del proceso y Km se correspondecon la cantidad de farmaco relativa a una velocidad que es la mitad de la velocidadmaxima (Vm/2).

La forma integrada de la ecuacion 1.6 se corresponde con:

t =1

Vm

(Q0 −Q + Km · lnQ0

Q) (1.7)

24

1.3 Introduccion a la Farmacocinetica

No se ha encontrado una solucion integrada de la ecuacion de Michaelis-Mentenen la que Q aparezca de forma explıcita. Se toman por tanto dos situaciones lımiteque permiten la simplificacion y resolucion de la ecuacion anterior.

Situacion 1: Cantidad de farmaco muy inferior al valor de Km.

Q � Km

En este caso puede despreciarse Q frente a Km en la ecuacion 1.6, con lo que seobtiene:

dQ

dt≈ −Vm ·Q

Km

= −k ·Q (1.8)

Esta ecuacion se asemeja a una cinetica de primer orden en la que k es igual alcociente de Vm y Km.

Situacion 2: Cantidad de farmaco muy superior al valor de Km.

Q � Km

En este caso puede despreciarse Km frente a Q en la ecuacion 1.6, con lo que seobtiene:

dQ

dt≈ −Vm ·Q

Q= −k0 (1.9)

Esta ecuacion se asemeja a una cinetica de orden cero, siendo el valor de k0 igualal valor de Vm.

Los procesos de liberacion-absorcion suelen presentarse, en su conjunto comoun proceso de orden uno o pseudoorden uno, por lo que la cinetica con la que elfarmaco accede a la sangre puede representarse mediante la ecuacion 1.8. Aunqueesta ecuacion puede emplearse para describir la velocidad de absorcion de la mayorıade los farmacos, en ocasiones la absorcion propiamente dicha puede tener lugar deacuerdo con una cinetica de Michaelis- Menten, ecuacion 1.6.

Por otra parte, las caracterısticas de la forma farmaceutica pueden ocasionar quela desaparicion del farmaco desde el lugar de absorcion discurra segun una cineticaaparente de orden cero, como sucede frecuentemente cuando se utilizan sistemas deliberacion sostenida, ecuacion 1.9.

La distribucion de los farmacos responde, en general, a una cinetica de primerorden.

El metabolismo es un proceso que intrınsicamente se corresponde a una cineticade Michaelis-Menten. No obstante, si las concentraciones de farmaco en plasma no

25

1 Introduccion

son muy elevadas, dicho proceso puede aproximarse mediante una cinetica de ordenuno, como se ha indicado anteriormente.

La excrecion por vıa renal puede tener lugar a traves de diversos mecanismos.Ası, la filtracion glomerular y reabsorcion tubular son procesos de primer orden,mientras que la secrecion tubular activa es un proceso con cinetica de Michaelis-Menten, aunque al igual que se ha indicado para el metabolismo, si la concentraciondel farmaco no es muy elevada, puede presentarse como un proceso de primer ordenaparente.

En los procesos del LADME se aprecia la existencia de una interdependencia entreellos, presentandose algunos de estos procesos de modo consecutivo. En el caso deprocesos consecutivos, como pueden ser los de liberacion y absorcion, si el primero(liberacion) es mas lento que el segundo (absorcion), la velocidad, e incluso el ordendel segundo, quedan supeditados a los del primero. Se dice, en este caso, que laliberacion es factor limitativo de la absorcion.

El estudio del LADME en humanos, mas limitado que en animales de experimen-tacion, se lleva a cabo mediante muestras de orina y sangre. Por ello, dicho estudiose aborda mediante dos tipos de datos: las concentraciones plasmaticas y las can-tidades excretadas en la orina de farmaco inalterado, obtenidas a distintos tiempostras la administracion.

La representacion frente al tiempo de los datos anteriores configura:

Las curvas de nivel plasmatico.

Las curvas de excrecion urinaria: distributivas o acumulativas.

1.3.2. Modelado farmacocinetico compartimental

La Farmacocinetica posee una base matematica clara, ya que describe los fenome-nos de transferencia de las concentraciones de farmaco, regidos por constantes cineti-cas de velocidad, sea desde el lugar de absorcion hacia el plasma, de intercambioentre los distintos sectores o compartimentos organicos, o de eliminacion y acumu-lacion en los lugares de excrecion del farmaco. Esencialmente, para instaurar unaterapeutica racional, es tan importante conocer las caracterısticas farmacodinamicasde un medicamento como su comportamiento farmacocinetico.

Un sistema farmacocinetico esta orientado a la descripcion de los procesos LAD-ME en los organismos y no considera la biofase o lugar y mecanismos fisicoquımicosque provocan el efecto terapeutico.

Con el fin de lograr una adecuada descripcion de la evolucion temporal de los ni-veles del farmaco, se recurre a modelos en los que se expresan matematicamente lasvelocidades de los procesos de absorcion, distribucion y eliminacion, que finalmentellevan a ecuaciones que permiten describir y predecir las cantidades o concentraciones

26

1.3 Introduccion a la Farmacocinetica

del farmaco en el cuerpo en funcion del tiempo. La comparacion de las prediccionesdel modelo con los datos que pueden obtenerse experimentalmente permite constras-tar las hipotesis de partida utilizadas en la elaboracion del mismo, ası como nuevashipotesis.

Una de las caracterısticas mas interesantes de los sistemas farmacocineticos es quepueden ser considerados modelos fisiologicos simplificados. La adicion de caracterısti-cas anatomicas y de transporte mecanico (presiones hidraulicas, rutas metabolicas,etc.) permite su extension para considerar dominios fisiologicos, aprovechando lasventajas y exito demostrado de la farmacocinetica.

Este exito parte de los principales componentes que describen un modelo farma-cocinetico compartimental: pools bien agitados y membranas. Ambos componentesestan distribuidos siguiendo una primera division anatomica, para sustituir en unafase posterior varios de los subsistemas farmacocineticos por modelos fisiologicosacoplados, con niveles de descripcion diferentes.

Los modelos compartimentales son los mas utilizados en farmacocinetica. Un com-partimento representa una fraccion de material biologico en el que el farmaco se supo-ne uniformemente distribuido y en el que presenta las mismas propiedades cineticas.

Ası pues, un compartimento tiende a agrupar zonas organicas afines, pero enrealidad se trata de un concepto meramente cinetico, cuya entidad no es necesaria-mente fisiologica en sentido estricto, aunque sı abarca zonas con constantes cineticassemejantes.

Un compartimento viene definido por sectores acuosos que ocupan un volumendeterminado (V) y que contienen una cantidad determinada de farmaco (Q). Portanto, la concentracion de farmaco (C) en el compartimento vendra dada por elcociente entre Q y V.

El organismo es muy complejo y teoricamente podrıa dividirse en un gran numerode compartimentos (uno por cada tejido diferente, por ejemplo). Sin embargo, ellollevarıa a un tratamiento matematico muy complejo de los procesos cineticos a losque se hallarıa sometido el farmaco en cada uno de dichos compartimentos.

En la practica se recurre a una simplificacion drastica y se considera al organismoconstituido por el mınimo numero posible de compartimentos, siempre que con ellose pueda lograr una adecuada descripcion farmacocinetica.

Otro aspecto importante a tener en cuenta en la elaboracion de un modelo far-macocinetico es si se trata de un modelo cinetico lineal o no lineal. Definiendose lalinealidad cinetica como una proporcionalidad directa entre velocidades de transfe-rencia y concentraciones. Por tanto, un modelo farmacocinetico lineal es aquel enel que los procesos responden a una cinetica de primer orden (proporcionalidad di-recta entre velocidad y concentracion, o velocidad y cantidad si no hay variacion devolumen).

27