my_param.h
Go to the documentation of this file.
00001 namespace Optimization
00002 {
00007         namespace Ipopt
00008         {
00013                 enum InteriorPointMethodImplementation
00014                 {
00015                         IPOPT=0, /* Ipoptの通常実装 */
00016                         MPC, /* Mehrotra predictor-corrector method(S. Mehrotra, On the implementation of a primal-dual interior point method, SIAM J. Optimization 2(1992)575–601.)による実装.拡張目的関数の勾配方向の決定に一部の制約条件のみを考慮するため,LPや凸QPでは高速に解ける. */
00017                         NUM_INTERIOR_POINT_METHOD_IMPLEMENTATIONS
00018                 };
00023                 enum BarrierParameterUpdateStrategy
00024                 {
00025                         SUMT=0, /* Sequential Unconstrained Minimization Technique(Fiacco, A.V. and G.P. McCormick, Nonlinear Programming: Sequential Unconstrained Minimization Techniques, John Wiley & Sons, New York, 1968).徐々にバリア関数の係数を0にする.収束速度は遅いが非線形性の強い問題には適している. */
00026                         LOQO, /* LOQO(Vanderbei, R. (1999), ‘LOQO: An interior point code for quadratic programming’,Optimization Methods and Software 12, 451–484. 411)の実装.次の評価点が主双対問題の許容解空間の中心パス上に乗るようにバリア関数の係数を計算する.収束速度が早く,特に線形な制約条件の問題に適している. */
00027                         GSS, /* Golden section search(Kiefer, J. (1953), “Sequential minimax search for a maximum”, Proceedings of the American Mathematical Society 4 (3): 502–506)によって拡張目的関数が最小になるようなバリア関数の係数を計算する.収束速度が早く,拡張目的関数が凸な問題に適している. */
00028                         NUM_BARRIER_PARAMETER_UPDATE_STRATEGIES
00029                 };
00030         }
00035         namespace NLopt
00036         {
00041                 enum Algorithm
00042                 {
00043                         /* 大域最適化問題のアルゴリズム */
00044                         DIRECT=0, /* Didiving rectangle algorithm(D. R. Jones, C. D. Perttunen, and B. E. Stuckmann, "Lipschitzian optimization without the lipschitz constant," J. Optimization Theory and Applications, vol. 79, p. 157, 1993).評価値が低い部分空間の分割を進めることで大域的最適解を探索する.非凸,多数の局所最適解を持つような問題を解くことができる. */
00045                         G_DIRECT=1, /* DIRECTのGablonskyによる実装. */
00046                         DIRECT_L=2, /* DIRECT locally biased(J. M. Gablonsky and C. T. Kelley, "A locally-biased form of the DIRECT algorithm," J. Global Optimization, vol. 21 (1), p. 27-37, 2001).より局所的な分割を重視したDIRECT法.低次元で少数の局所最適解しか持たない問題に適する. */
00047                         G_DIRECT_L=3, /* DIRECT-lのGablonskyによる実装. */
00048                         CRS=4, /* Controlled random search with local mutation(P. Kaelo and M. M. Ali, "Some variants of the controlled random search algorithm for global optimization," J. Optim. Theory Appl. 130 (2), 253-264, 2006).探索空間にランダムサンプリングして,シンプレックス法と線形近似を用いて探索する. */
00049                         STOGO=5, /* StoGo(Madsen, K, Zertchaninov, S. and Zilinskas, A. Global Optimization using Branch-and-Bound, Submitted to the Journal of Global Optimization, 1998).分枝限定法の内部で準ニュートンを用いて探索する. */
00050                         ISRES=6, /* Improved Stochastic ranking evolution strategy(Thomas Philip Runarsson and Xin Yao, "Search biases in constrained evolutionary optimization," IEEE Trans. on Systems, Man, and Cybernetics Part C: Applications and Reviews, vol. 35 (no. 2), pp. 233-243, 2005).遺伝的アルゴリズムに制約条件をペナルティ関数として追加する. */
00051                         /* 勾配を用いた局所探索 */
00052                         CCSA=7, /* Conservative convec separate approximation(Krister Svanberg, "A class of globally convergent optimization methods based on conservative convex separable approximations," SIAM J. Optim. 12 (2), p. 555-573, 2002).評価関数と制約条件の勾配から保守側にローカルな二次関数近似をして探索する.規模が大きく(10^4~5),密な問題でも解くことができる. */
00053                         SLSQP=8, /* Sequential least squares quadratic programming(Dieter Kraft, "A software package for sequential quadratic programming", Technical Report DFVLR-FB 88-28, Institut für Dynamik der Flugsysteme, Oberpfaffenhofen, July 1988).評価関数を二次近似し,制約条件を一次近似することで得られる二次計画問題を解いて探索方向を決定する.小中規模(10^2~3)問題には特に有効なアルゴリズム. */
00054                         L_BFGS=9, /* Limited memory Broyden Fletcher Goldfarb Shanno(J. Nocedal, "Updating quasi-Newton matrices with limited storage," Math. Comput. 35, 773-782, 1980).ヘッセ行列の近似に省メモリ版BFGS公式を用いた準ニュートン法.大規模(>10^3)の問題には適している.最適解近傍を初期値としない場合は大域収束性は補償されない. */
00055                         TN=10, /* Truncated Newton(R. S. Dembo and T. Steihaug, "Truncated Newton algorithms for large-scale optimization," Math. Programming 26, p. 190-212, 1982).勾配方向を共役勾配法で近似的に求めるニュートン法.収束は遅いが各ステップの計算は速い.保持するメモリが少なく大規模な問題でも解くことができる. */
00056                         SL_VM=11, /* Shifted limited memory variable metric(J. Vlcek and L. Luksan, "Shifted limited-memory variable metric methods for large-scale unconstrained minimization," J. Computational Appl. Math. 186, p. 365-390, (2006).ヘッセ行列の省メモリな近似を用いた修正ニュートン法.大域収束性を補償している.大規模な問題でも解くことができる. */
00057                         // 勾配を使わないローカル探索 べーた
00058                         COBYLA=12,
00059                         BOBYQA=13,
00060                         NEWUOA=14,
00061                         PRAXIS=15,
00062                         NelderMeadSimplex=16,
00063                         Sbplx=17,
00064                         NUM_ALGORITHMS=18
00065                 };
00066         }
00071         enum Algorithm
00072         {
00073                 /* NLopt */
00074                 /* 大域最適化問題のアルゴリズム */
00075                 DIRECT          =0b0000000,
00076                 G_DIRECT        =0b0001000,
00077                 DIRECT_L        =0b0010000,
00078                 G_DIRECT_L      =0b0011000,
00079                 CRS             =0b0100000,
00080                 STOGO           =0b0101000,
00081                 ISRES           =0b0110000,
00082                 /* 勾配を用いた局所探索 */
00083                 CCSA            =0b0111000,
00084                 SLSQP           =0b1000000,
00085                 L_BFGS          =0b1001000,
00086                 TN              =0b1010000,
00087                 SL_VM           =0b1011000,
00088                 /* Ipopt */
00089                 IP_MPC          =0b1001001, /* InteriorPointMethodImplementation = MPC */
00090                 IP_SUMT         =0b0000001, /* InteriorPointMethodImplementation = IPOPT, BarrierParameterUpdateStrategy = SUMT, hessian_approximation = false */
00091                 IP_SUMT_BFGS    =0b1000001, /* InteriorPointMethodImplementation = IPOPT, BarrierParameterUpdateStrategy = SUMT, hessian_approximation = true (BFGS) */
00092                 IP_LOQO         =0b0010001, /* InteriorPointMethodImplementation = IPOPT, BarrierParameterUpdateStrategy = LOQO, hessian_approximation = false */
00093                 IP_LOQO_BFGS    =0b1010001, /* InteriorPointMethodImplementation = IPOPT, BarrierParameterUpdateStrategy = LOQO, hessian_approximation = true (BFGS) */
00094                 IP_GSS          =0b0100001, /* InteriorPointMethodImplementation = IPOPT, BarrierParameterUpdateStrategy = GSS, hessian_approximation = false */
00095                 IP_GSS_BFGS     =0b1100001 /* InteriorPointMethodImplementation = IPOPT, BarrierParameterUpdateStrategy = GSS, hessian_approximation = true (BFGS) */
00096         };
00097 }


eus_nlopt
Author(s):
autogenerated on Wed Jul 19 2017 02:54:15