domingo, 14 de abril de 2019

ECUACIONES


La ecuación de Duhem – Margules , llamada así por Pierre Duhem y Max Margules , es una declaración termodinámica de la relación entre los dos componentes de un solo líquido donde la mezcla de vapor se considera un gas ideal :
donde A y B son las presiones de vapor parciales de los dos constituyentes y x A y x B son las fracciones molares del líquido.
Derivación
La ecuación de Duhem - Margulus da la relación entre el cambio de la fracción molar con la presión parcial de un componente en una mezcla líquida.
Consideremos una mezcla líquida binaria de dos componentes en equilibrio con su vapor a temperatura y presión constantes. Entonces de Gibbs - la ecuación de Duhem es
A dμ A + n B dμ B = 0 ... (I)
Donde n A y n B son el número de moles del componente A y B, mientras que μ A y μ B es su potencial químico.
Dividiendo equ. (i) por n A + n B , entonces
(n A / n A + n B ) dμ A + (n B / n A + n B ) dμ B = 0
O
A dμ A + x B dμ B = 0. ... (ii)
Ahora, el potencial químico de cualquier componente en la mezcla depende de la temperatura, la presión y la composición de la mezcla. Por lo tanto, si la temperatura y la presión toman un potencial químico constante, entonces
dμ A = (dμ A / dx A ) T, P dx A ... (iii)
dμ B = (dμ B / dx B ) T, P dx B . ... (iv)
Poniendo estos valores en equ. (ii), entonces
A (dμ Α / dx A ) T, P dx A + x B (dμ B / dx B ) T, P dx B = 0 ... (v)
Debido a que la suma de la fracción molar de todos los componentes en la mezcla es la unidad, es decir,
1 + x 2 = 1
Por lo tanto
dx 1 + dx 2 = 0 o dx 1 = -dx 2
poniendo estos valores en equ. (v), entonces
A (dμ Α / dx A ) T, P = x B (dμ B / dx B ) T, P ... (vi)
Ahora el potencial químico de cualquier componente en la mezcla es tal que
μ = μ o + RT en P, donde P es la presión parcial del componente. Ahora diferenciando este equ.
dμ / dx = RT (d In P / dx)
Anteriormente, se puede escribir para el componente A y B es
dμ A / dx A = RT (d In P A / dx A )… (vii)
dμ B / dx B = RT (d En P B / dx B )… (viii)
Sustituyendo estos valores en la ecuación (vi), entonces
A (d In P A / dx A ) = x B (d In P B / dx B )
o
(d En P A / d lnx A ) = (d En P B / d lnx B )
esta es la ecuación final de la ecuación de Duhem-Margules.









De Wikipedia, la enciclopedia libre
Figura 1. Encontrar la ruta más corta en un gráfico utilizando una subestructura óptima; una línea recta indica un solo borde; una línea ondulada indica una ruta más corta entre los dos vértices que conecta (entre otras rutas, no mostradas, que comparten los mismos dos vértices); La línea en negrita es el camino más corto en general desde el inicio hasta la meta.
La programación dinámica es tanto un método de optimización matemática como un método de programación por computadora. El método fue desarrollado por Richard Bellman en la década de 1950 y ha encontrado aplicaciones en numerosos campos, desde la ingeniería aeroespacial hasta la economía . En ambos contextos, se refiere a simplificar un problema complicado dividiéndolo en subproblemas más simples en una recursivamanera. Si bien algunos problemas de decisión no se pueden separar de esta manera, las decisiones que abarcan varios puntos en el tiempo a menudo se dividen recursivamente. Del mismo modo, en ciencias de la computación, si un problema puede resolverse de manera óptima dividiéndolo en subproblemas y luego encontrando recursivamente las soluciones óptimas para los subproblemas, se dice que tiene subestructura óptima .
Si los subproblemas se pueden anidar recursivamente dentro de problemas mayores, de modo que los métodos de programación dinámica sean aplicables, entonces existe una relación entre el valor del problema mayor y los valores de los subproblemas. [1] En la literatura de optimización, esta relación se llama la ecuación de Bellman .

Descripción general editar ]

Optimización matemática editar ]

En términos de optimización matemática, la programación dinámica generalmente se refiere a simplificar una decisión dividiéndola en una secuencia de pasos de decisión a lo largo del tiempo. Esto se hace definiendo una secuencia de funciones de valores 1 , 2 , ..., n tomando y como un argumento que representa el estadodel sistema en los tiempos i de 1 a n . La definición de n ( y ) es el valor obtenido en el estado y en la última vez que n . Los valores i en tiempos anteriores i =  n  −1,  n  - 2, ..., 2, 1 se puede encontrar trabajando hacia atrás, usando una relación recursiva llamada ecuación de Bellman . Para i  = 2, ...,  n , i −1 en cualquier estado y se calcula a partir de i maximizando una función simple (generalmente la suma) de la ganancia de una decisión en el tiempo i  - 1 y la función i en el nuevo estado del sistema si se toma esta decisión. Dado que i ya se ha calculado para los estados necesarios, la operación anterior produce i−1 para esos estados. Finalmente, 1 en el estado inicial del sistema es el valor de la solución óptima. Los valores óptimos de las variables de decisión se pueden recuperar, uno por uno, haciendo un seguimiento de los cálculos ya realizados.

Teoría de control editar ]

En teoría del control , un problema típico es encontrar un control admisible lo que hace que el sistema  seguir una trayectoria admisible  en un intervalo de tiempo continuo que minimiza una función de costo
La solución a este problema es una ley o política de control óptimo. , lo que produce una trayectoria óptima.  y una función de pérdida optimizada Este último obedece a la ecuación fundamental de la programación dinámica:
una ecuación diferencial parcial conocida como la ecuación de Hamilton-Jacobi-Bellman , en la cual y Uno encuentra la minimización. en términos de , y la función desconocida  y luego sustituye el resultado en la ecuación de Hamilton-Jacobi-Bellman para obtener la ecuación diferencial parcial que se resolverá con la condición de contorno [2]En la práctica, esto generalmente requiere técnicas numéricas para alguna aproximación discreta a la relación de optimización exacta.
Alternativamente, el proceso continuo se puede aproximar mediante un sistema discreto, que conduce a una relación de recurrencia siguiente análoga a la ecuación de Hamilton-Jacobi-Bellman:
en el -th etapa de  intervalos de tiempo discretos igualmente espaciados, y donde  y  denotar aproximaciones discretas a  y Esta ecuación funcional se conoce como la ecuación de Bellman , que se puede resolver para obtener una solución exacta de la aproximación discreta de la ecuación de optimización. [3]

Ejemplo de economía: el problema de ahorro óptimo de Ramsey editar ]

En economía, el objetivo generalmente es maximizar (en lugar de minimizar) alguna función dinámica de bienestar social . En el problema de Ramsey, esta función relaciona las cantidades de consumo con los niveles de utilidad . En términos generales, el planificador se enfrenta a la compensación entre el consumo contemporáneo y el consumo futuro (a través de la inversión en el capital social que se utiliza en la producción), conocida como elección intertemporal . El consumo futuro se descuenta a una tasa constante.Una aproximación discreta a la ecuación de transición del capital está dada por
dónde  es el consumo,  es capital, y Es una función de producción que satisface las condiciones de Inada . Un capital social inicial se supone.
Dejar Se consumirá en el periodo t , y se asumirá que el consumo genera utilidad. Mientras el consumidor viva. Supongamos que el consumidor es impaciente, por lo que descuenta la utilidad futura en un factor b en cada período, dondeDejarSer capital en el periodo t . Supongamos que el capital inicial es una cantidad daday supongamos que el capital y el consumo de este período determinan el capital del próximo período como , donde A es una constante positiva ySupongamos que el capital no puede ser negativo. Entonces el problema de decisión del consumidor se puede escribir de la siguiente manera:
 sujeto a  para todos 
Escrito de esta manera, el problema parece complicado, porque implica resolver todas las variables de elección (Tenga en cuenta que no es una variable de elección: el capital inicial del consumidor se toma como se indica.)
El enfoque de programación dinámica para resolver este problema implica dividirlo en una secuencia de decisiones más pequeñas. Para ello, definimos una secuencia de funciones de valor. , para que representan el valor de tener cualquier cantidad de capital k en cada momento t . Tenga en cuenta que, es decir, no hay (por supuesto) ninguna utilidad de tener capital después de la muerte.
El valor de cualquier cantidad de capital en cualquier momento anterior se puede calcular por inducción hacia atrás utilizando la ecuación de Bellman . En este problema, para cada, la ecuación de Bellman es
 sujeto a 
Este problema es mucho más simple que el que anotamos antes, porque involucra solo dos variables de decisión,  y Intuitivamente, en lugar de elegir su plan de toda la vida al nacer, el consumidor puede tomar las cosas paso a paso. En el momento t , su capital actual. Se da, y solo necesita elegir consumo actual.  y ahorrando .
Para resolver realmente este problema, trabajamos hacia atrás. Por simplicidad, el nivel actual de capital se denota como k . Ya se conoce, así que usando la ecuación de Bellman una vez que podamos calcular , y así sucesivamente hasta que lleguemos a , que es el valor del problema de decisión inicial para toda la vida. En otras palabras, una vez que sepamos, podemos calcular , que es el máximo de , dónde  es la variable de elección y .
Trabajando hacia atrás, se puede mostrar que el valor funciona en el momento  es
donde cada  Es una constante, y la cantidad óptima para consumir en el tiempo.  es
que se puede simplificar a
Vemos que es óptimo consumir una fracción más grande de la riqueza actual a medida que uno envejece, finalmente consumiendo toda la riqueza restante en el período T , el último período de la vida.

Ejemplos: algoritmos informáticos editar ]

El algoritmo de Dijkstra para el problema de la ruta más corta editar ]

Desde el punto de vista de la programación dinámica, el algoritmo de Dijkstra para el problema de la ruta más corta es un esquema de aproximación sucesiva que resuelve la ecuación funcional de la programación dinámica para el problema de la ruta más corta mediante el método Reaching . [7] [8] [9]
De hecho, la explicación de Dijkstra de la lógica detrás del algoritmo, [10] a saber
Problema 2. Encuentre la ruta de la longitud total mínima entre dos nodos dados y .
Utilizamos el hecho de que, si  es un nodo en el camino mínimo desde  a , el conocimiento de este último implica el conocimiento del camino mínimo desde  a .
es una paráfrasis del famoso Principio de Optimalidad de Bellman en el contexto del problema del camino más corto .

Secuencia de Fibonacci editar ]

Aquí es una aplicación ingenua de una función de búsqueda de la n º miembro de la sucesión de Fibonacci , basado directamente en la definición matemática:
   función fib (n)
        si n <= 1 retorno n
        retorno fib (n - 1) + fib (n - 2)
Tenga en cuenta que si llamamos, digamos, fib(5)producimos un árbol de llamadas que llama a la función en el mismo valor muchas veces:
  1. fib(5)
  2. fib(4) + fib(3)
  3. (fib(3) + fib(2)) + (fib(2) + fib(1))
  4. ((fib(2) + fib(1)) + (fib(1) + fib(0))) + ((fib(1) + fib(0)) + fib(1))
  5. (((fib(1) + fib(0)) + fib(1)) + (fib(1) + fib(0))) + ((fib(1) + fib(0)) + fib(1))
En particular, fib(2)se calculó tres veces desde cero. En ejemplos más grandes , se recalculan muchos más valores fibsubproblemas , lo que lleva a un algoritmo de tiempo exponencial.
Ahora, supongamos que tenemos un objeto de mapa simple m , que asigna cada valor de fibese ya calculado a su resultado, y modificamos nuestra función para usarlo y actualizarlo. La función resultante requiere solo O ( n ) tiempo en lugar de tiempo exponencial (pero requiere O ( n ) espacio):
   var m: = mapa (0 → 0, 1 → 1)
    función fib (n)
        si la tecla n no está en el mapa m
           m [n]: = fib (n - 1) + fib (n - 2)
       devolver m [n]
Esta técnica de guardar valores que ya se han calculado se denomina memorización ; Este es el enfoque de arriba hacia abajo, ya que primero dividimos el problema en subproblemas y luego calculamos y almacenamos los valores.
En el enfoque de abajo hacia arriba , calculamos los valores más pequeños del fibprimero, luego construimos valores más grandes a partir de ellos. Este método también usa el tiempo O ( n ) ya que contiene un bucle que se repite n - 1 veces, pero solo ocupa espacio constante (O (1)), en contraste con el enfoque de arriba hacia abajo que requiere espacio O ( n ) para almacenar el mapa.
   función fib (n)
        si n = 0
            devuelve 0
        o 
           var var FIB anterior: = 0, currentFib: = 1
            repetición n - 1 veces  // el bucle se omite si n = 1 
               var newFib: = previousFib + currentFib
               previousFib: = currentFib
               currentFib: = newFib
       volver currentFib
En ambos ejemplos, solo calculamos fib(2)una vez, y luego lo usamos para calcular ambos fib(4)fib(3), en lugar de calcularlos cada vez que se evalúa uno de ellos.
Tenga en cuenta que el método anterior realmente toma  tiempo para n grande porque la suma de dos enteros con  bits cada uno toma hora. (El º número de fibonacci tienebits.) Además, existe una forma cerrada para la secuencia de Fibonacci, conocida como fórmula de Binet , de la cual-el término se puede calcular en aproximadamenteTiempo, que es más eficiente que la técnica de programación dinámica anterior. Sin embargo, la simple recurrencia da directamente la forma de matriz que conduce a unaAlgoritmo por exponencia rápida de matrices .

No hay comentarios:

Publicar un comentario