close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 3 and Version 4 of OfficialTolArchiveNetworkNonLinGloOpt


Ignore:
Timestamp:
Dec 1, 2010, 10:59:57 AM (14 years ago)
Author:
Víctor de Buen Remiro
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OfficialTolArchiveNetworkNonLinGloOpt

    v3 v4  
    11[[PageOutline]]
     2
    23= Package NonLinGloOpt =
    3 
    4 
    5 == Introducción ==
    64
    75Este paquete TOL una API para usuario final al sistema de optimización global
    86no lineal [http://ab-initio.mit.edu/nlopt NLopt] de Steven G. Johnson.
    97
    10 Contiene 17 algoritmos principales con 41 variantes que intentan abarcar la mayor
    11 parte de los tipos de problemas tipo de la programación matemática no lineal y cuya
    12 descripción puede verse [http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms#Augmented_Lagrangian_algorithm aquí] de forma detallada.
     8== Definición del problema ==
     9
     10El tipo de problemas que resuelve este sistema se puede formular matemáticamente del siguiente modo generalizado:
     11
     12Se quiere maximizar una función objetivo arbitraria:[[BR]] [[BR]]
     13[[LatexEquation( \underset{x\in\Omega}{\min}f\left(x\right)\wedge f:\Omega\subset\mathbb{R}^{n}\longrightarrow\mathbb{R} \wedge n\geq1 )]] [[BR]] [[BR]]
     14
     15Sujeta a las
     16 * restricciones opcionales de intervalo: [[BR]] [[BR]]
     17   [[LatexEquation( -\infty\leq l_{i}\leq x\leq u_{i}\leq\infty\wedge i=1\ldots n_{B} )]] [[BR]] [[BR]]
     18   Si una variable no tuviera cota inferior entonces sería [[LatexEquation( l_{i} = -\infty  )]] y si no tuviera cota superior entonces sería [[LatexEquation( u_{i} = \infty  )]]
     19 * restricciones opcionales de desigualdad arbitrarias: [[BR]] [[BR]]
     20   [[LatexEquation( g_{j}\left(x\right)\leq0 \wedge g_j:\Omega\subset\mathbb{R}^{n}\longrightarrow\mathbb{R} \forall j=1\ldots n_{D} \wedge n_{D} \ge 0)]]  [[BR]] [[BR]]
     21 * restricciones opcionales de igualdad arbitrarias: [[BR]] [[BR]]
     22   [[LatexEquation( h_{k}\left(x\right)=0 \wedge h_k:\Omega\subset\mathbb{R}^{n}\longrightarrow\mathbb{R} \forall k=1\ldots n_{I} \wedge n_{I} \ge 0)]]  [[BR]] [[BR]]
     23
     24Hay una condición añadida que se suele sobreentender por su obviedad, pero que es a veces la causa de que no funcionen los algoritmos: un punto que cumpla todas las restricciones del problema, si las hay, debe pertenecer al dominio [[LatexEquation( \Omega )]] de la función objetivo. Evidenetemente, si no hay restricciones el dominio debe ser todo el espacio [[LatexEquation( \mathbb{R}^{n} )]]. Por ejemplo, si en la función objetivo aparece el logaritmo de una variable se debe incluir alguna restricción o conjunto de ellas que obligue a que dicha variable sea positiva.
     25 
     26Obsérvese que si lo que se quiere es minimizar la función objetivo basta con tomar la función opuesta [[LatexEquation( -f(x) )]].
     27
     28
     29
     30== Guia del usuario ==
     31
     32
     33== Tutorial ==
     34
     35La mejor forma de aprender a usar cualquier cosa es empezar a usarla de forma
     36controlada, para lo cual se dispone de una batería de ejemplos a disposición de
     37los usuairos.
     38
     39=== Función objetivo bivariante no lineal con restricciones de desigualdad no lineal ===
     40
     41En el test se describe la solución TOL del sencillo [http://ab-initio.mit.edu/wiki/index.php/NLopt_Tutorial ejemplo] proporcionado por el propio NLopt.
     42 
     43
     44== Guía del programador y del usuario avanzado ==
     45
     46El sistema NLopt contiene 17 algoritmos principales con 41 variantes que intentan
     47abarcar la mayor parte de los tipos de problemas tipo de la programación matemática
     48no lineal y cuya descripción puede verse
     49[http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms#Augmented_Lagrangian_algorithm aquí]
     50de forma detallada.
    1351
    1452Existen métodos para optimización local y global, para funciones no lineales
     
    3270En la hoja de cálculo [https://www.tol-project.org/export/HEAD/tolp/OfficialTolArchiveNetwork/NonLinGloOpt/doc/NLopt_algorithms.xls NLopt_algorithms] se muestra un cuadro resumen de las características asociadas a cada variante algorítmica del paquete NLopt.
    3371
    34 == Guía del programador y del usuario avanzado ==
    35 
    3672Se aconseja a los programadores y usuarios avanzados visitar de forma somera el [source:/tolp/OfficialTolArchiveNetwork/NonLinGloOpt código fuente] del paquete que a veces es la mejor forma de familiarizarse con un sistema. Estos son los archivos principales del sistema:
    3773
     
    4177 * [source:/tolp/OfficialTolArchiveNetwork/NonLinGloOpt/opt.tol opt.tol]: Clase @Opt para la optimización de problemas mediante la API con NLOpt.
    4278 * [source:/tolp/OfficialTolArchiveNetwork/NonLinGloOpt/CppTools/source/CppTools.cpp CppTools.cpp]: API C++ con NLOpt.
     79
     80 
     81
     82
     83