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 P A y P 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
n 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
x 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
x 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,
x 1 + x 2 = 1
Por lo tanto
dx 1 + dx 2 = 0 o dx 1 = -dx 2
poniendo estos valores en equ. (v), entonces
x 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
x 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.
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 V 1 , V 2 , ..., V n tomando y como un argumento que representa el estadodel sistema en los tiempos i de 1 a n . La definición de V n ( y ) es el valor obtenido en el estado y en la última vez que n . Los valores V 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 , V i −1 en cualquier estado y se calcula a partir de V 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 V i en el nuevo estado del sistema si se toma esta decisión. Dado que V i ya se ha calculado para los estados necesarios, la operación anterior produce V i−1 para esos estados. Finalmente, V 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, donde. DejarSer 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 y. Supongamos 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]
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:
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:fib(5)fib(4) + fib(3)(fib(3) + fib(2)) + (fib(2) + fib(1))((fib(2) + fib(1)) + (fib(1) + fib(0))) + ((fib(1) + fib(0)) + fib(1))(((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 fibo subproblemas , 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):
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.
En ambos ejemplos, solo calculamos
fib(2)una vez, y luego lo usamos para calcular ambos fib(4)y 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 º 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