8 votos

Cómo resolver entero mixto no lineal de los programas?

Yo no soy un experto en matemáticas así que lo siento por las posibles preguntas triviales.

He escrito este no lineal entero mixto de programa (MINLP): $$ \begin{align} \min & \sum_{i \in \mathcal{I}}{\left(\alpha_i+\beta_i\sum_{j \in \mathcal{J}}{z_{ij}^{-1}}+\eta_i\left(\sum_{j \in \mathcal{J}}{z_{ij}^{-1}}\right)^{\gamma_i}\right)x_i} + \sum_{i \in \mathcal{I}}{\sum_{j \in \mathcal{J}}{\delta_{ji}y_{ij}}} + \sum_{i \in \mathcal{I}}{\sum_{j \in \mathcal{J}}{\left(\frac{z_{ij}}{\zeta_i}-1\right)}y_{ij}}\\ \text{subject to} & \notag \\ & \sum_{j \in \mathcal{J}} z_{ij} \le Z_i,\quad i \in \mathcal{I} \\ & \sum_{i \in \mathcal{I}} y_{ij} = 1,\quad j \in \mathcal{J} \\ & y_{ij} \le x_i,\quad i \in \mathcal{I},j \in \mathcal{J} \\ & x_i \in \left\{0,1\right\},\quad i \in \mathcal{I} \\ & y_{ij} \in \left\{0,1\right\},\quad i \in \mathcal{I},j \in \mathcal{J} \\ & z_{ij} \in [0,1]\quad i \in \mathcal{I},j \in \mathcal{J} \\ \text{where} & \notag \\ & \alpha_i,\beta_i,\eta_i \in \mathbb{R},\quad i \in \mathcal{I} \\ & \zeta_i \in \mathbb{R}\setminus\{0\},\quad i \in \mathcal{I} \\ & \delta_{ji} \in \mathbb{R},\quad i \in \mathcal{I},j \in \mathcal{J} \\ & \gamma_i \ge 0\quad i \in \mathcal{I} \\ \end{align} $$

y ahora quiero resolver. A mi las variables de decisión son $x_i$, $y_{ij}$, y $z_{ij}$. Los otros términos son constantes.

Realmente agradezco si alguien me puede orientar en la solución de la misma. He leido en algún sitio que el primer paso que debe realizar es una prueba de convexidad sobre el objetivo y la restricción de las funciones. Tengo que calcular la Hessiana de la función, pero ¿cómo hacerlo? Entonces, ¿qué es lo siguiente?

Hay alguna (posiblemente libre) de la herramienta que es capaz de resolver este problema para mí?

Es un buen introductorio del libro de donde puedo empezar?

Muchas gracias de antemano!

3voto

Henrik N Puntos 576

Hay varias técnicas para resolver numéricamente MINLP problemas (MINLP = números Enteros Mixtos No Lineales de Programación).

Estoy más familiarizado con la investigación realizada por Grossmann, et. al. en la Universidad de Carnegie Mellon - tienen una importante herramienta computacional llamada Dicopt (que está disponible a través de la herramienta de optimización GAMS). Se utiliza una técnica llamada "Exterior Aproximación", el cual procede de la siguiente manera: tomar una solución a la "relajado" problema (es decir, uno donde el entero restricciones están autorizados a tomar valores continuos). Si la solución para el problema relajado, se obtiene un número entero solución, está hecho. De lo contrario, la solución para el problema relajado proporciona una menor obligados a cumplir con el problema original; agregar una restricción con que el límite inferior; relajarse de nuevo; y así sucesivamente.

En concreto, se puede ver en las siguientes referencias:

http://egon.cheme.cmu.edu/software.html Carnegie Mellon Sitio http://www.minlp.org/resources/index.php#solvers IBM sitio con enlaces a MINLP solucionadores http://egon.cheme.cmu.edu/papers.html Grossmann documentos

1voto

Jim Salter Puntos 2940

Hay muchos buenos solucionadores de MINLP disponibles, tales como Bonmin, APOPT, Dicopt, Barón, etc. Actualmente estoy trabajando en el APOPT y APMonitor software. Una manera fácil de resolver modelos utilizando APOPT es a través de esta interfaz web. Para declarar binario o variables de tipo integer, deberá anteponer el nombre de la variable con los caracteres int. También hay MATLAB y Python interfaces disponibles si se siente más cómodo con los idiomas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X