Abstract
Opal is a general-purpose system for modeling and solving algorithm optimization problems. Opal takes an algorithm as input, and as output it suggests parameter values that maximize some user-defined performance measure. In order to achieve this, the user provides a Python script describing how to launch the target algorithm, and defining the performance measure. Opal then models this question as a blackbox optimization problem which is then solved by a state-of-the-art direct search solver. Opal handles a wide variety of parameter types, it can exploit multiple processors in parallel at different levels, and can take advantage of a surrogate blackbox. Several features of Opal are illustrated on a problem consisting in the design of a hybrid sort strategy.





Similar content being viewed by others
Notes
OPtimization of ALgorithms.
References
Abramson, M.A., Audet, C.: Convergence of mesh adaptive direct search to second-order stationary points. SIAM J. Optimization 17(2), 606–619 (2006). doi:10.1137/050638382
Abramson, M.A., Audet, C., Dennis, J.E Jr.: Filter pattern search algorithms for mixed variable constrained optimization problems. Pac. J. Optimization 3(3), 477–500 (2007)
Ansel, J., Chan, C., Wong, Y.L., Olszewski, M., Zhao, Q., Edelman, A., Amarasinghe, S.: Petabricks: A Language and Compiler for Algorithmic Choice. In: ACM SIGPLAN Conference on Programming Language Design and Implementation. Dublin, Ireland (2009). doi:10.1145/1542476.1542481
Audet, C., Béchard, V., Le Digabel, S.: Nonsmooth optimization through mesh adaptive direct search and variable neighborhood search. J. Glob. Optimization 41(2), 299–318 (2008). doi:10.1007/s10898-007-9234-1
Audet, C., Dang, C.K., Orban, D.: Algorithmic parameter optimization of the DFO method with the OPAL framework. In: Naono, J.C.K., Teranishi, K., Suda, R. (eds.) Software Automatic Tuning: From Concepts to State-of-the-Art Results, pp. 255–274. Springer, New York (2010). doi:10.1007/978-1-4419-6935-4_15
Audet, C., Dang, C.K., Orban, D.: Efficient use of parallelism in algorithmic parameter optimization applications. Optimization Lett. 7(3), 421–433 (2013). doi:10.1007/s11590-011-0428-6
Audet, C., Dennis, J. Jr.: Le Digabel, S.: Trade-off studies in blackbox optimization. Optimization Methods Softw. 27(4–5), 613–624 (2012). doi:10.1080/10556788.2011.571687
Audet, C., Dennis, J.E Jr.: Analysis of generalized pattern searches. SIAM J. Optimization 13(3), 889–903 (2003). doi:10.1137/S1052623400378742
Audet, C., Dennis, J.E Jr.: Mesh adaptive direct search algorithms for constrained optimization. SIAM J. Optimization 17(1), 188–217 (2006). doi:10.1137/040603371
Audet, C., Dennis, J.E Jr.: A progressive barrier for derivative-free nonlinear programming. SIAM J. Optimization 20(1), 445–472 (2009). doi:10.1137/070692662
Audet, C., Dennis, J.E Jr.: Digabel, S.L.: Globalization strategies for mesh adaptive direct search. Comput. Optimization Appl. 46(2), 193–215 (2010). doi:10.1007/s10589-009-9266-1
Audet, C., Orban, D.: Finding optimal algorithmic parameters using derivative-free optimization. SIAM J. Optimization 17(3), 642–664 (2006). doi:10.1137/040620886
Audet, C., Savard, G., Zghal, W.: Multiobjective optimization through a series of single-objective formulations. SIAM J. Optimization 19(1), 188–210 (2008). doi:10.1137/060677513
Bilmes, J., Asanović, K., Chin, C.W., Demmel, J.: The PHiPAC v1.0 matrix-multiply distribution. Technical Report TR-98-35, International Computer Science Institute, CS Division, University of California, Berkeley (1998)
Booker, A.J., Dennis, J.E Jr.: Frank, P.D., Serafini, D.B., Torczon, V., Trosset, M.W.: A rigorous framework for optimization of expensive functions by surrogates. Struct. Optimization 17(1), 1–13 (1999). doi:10.1007/BF01197708
Box, G.E.P.: Evolutionary operation: a method for increasing industrial productivity. Appl. Stat. 6(2), 81–101 (1957)
Clarke, F.H.: Optimization and Nonsmooth Analysis. Reissued in 1990 by SIAM Publications, Philadelphia, as, Vol. 5 in the series Classics in Applied Mathematics. Wiley, New York (1983)
Conn, A.R., Le Digabel, S.: Use of quadratic models with mesh-adaptive direct search for constrained black box optimization. Optimization Methods Softw. 28(1), 139–158 (2013). doi:10.1080/10556788.2011.623162
Conn, A.R., Scheinberg, K., Vicente, L.N.: Introduction to Derivative-Free Optimization. MPS/SIAM Book Series on Optimization. SIAM, Philadelphia (2009)
Dang, C.K.: Optimization of algorithms with the OPAL framework. Ph.D. Thesis, École Polytechnique de Montréal, Montréal, Québec, Canada (2012)
Dolan, E.D., Moré, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91(2), 201–213 (2002). doi:10.1007/s101070100263
Fermi, E., Metropolis, N.: Numerical solution of a minimum problem. Los Alamos Unclassified Report LA-1492. Los Alamos National Laboratory, Los Alamos (1952)
Fletcher, R., Leyffer, S.: Nonlinear programming without a penalty function. Math. Program. Ser. A 91, 239–269 (2002). doi:10.1007/s101070100244
Gould, N., Orban, D., Toint, P.: CUTEr (and SifDec): a constrained and unconstrained testing environment, revisited. ACM Trans. Math. Softw. 29(4), 373–394 (2003). doi:10.1145/962437.962439
Gould, N.I.M., Orban, D., Sartenaer, A., Toint, P.L.: Sensitivity of trust-region algorithms on their parameters. 40R 3(3), 227–241 (2005). doi:10.1007/s10288-005-0065-y
Gramacy, R.B., Le Digabel, S.: The Mesh Adaptive Direct Search Algorithm with Treed Gaussian Process Surrogates. Tech. Rep. G-2011-37, Les cahiers du GERAD (2011)
Hooke, R., Jeeves, T.A.: Direct search solution of numerical and statistical problems. J. Assoc. Comput. Mach. 8(2), 212–229 (1961). doi:10.1145/321062.321069
Kohonen, T.: The self-organizing map. Neurocomputing 21(1–3), 1–6 (1998). doi:10.1016/S0925-2312(98)00030-7
Kohonen, T., Somervuo, P.: How to make large self-organizing maps for nonvectorial data. Neural Netw. 15(8–9), 945–952 (2002). doi:10.1016/S0893-6080(02)00069-2
Kokkolaras, M., Audet, C., Dennis, J.E Jr.: Mixed variable optimization of the number and composition of heat intercepts in a thermal insulation system. Optimization Eng. 2(1), 5–29 (2001). doi:10.1023/A:1011860702585
Le Digabel, S.: Algorithm 909: NOMAD: nonlinear optimization with the MADS algorithm. ACM Trans. Math. Softw. 37(4), 44:1–44:15 (2011). doi:10.1145/1916461.1916468
Mladenović, N., Hansen, P.: Variable neighborhood search. Comput. Oper. Res. 24(11), 1097–1100 (1997). doi:10.1016/S0305-0548(97)00031-2
Orban, D.: Templating and automatic code generation for performance with python. Tech. Rep. G-2011-30, Les cahiers du GERAD (2011)
Pantazi, S., Kagolovsky, Y., Moehr, J.R.: Cluster analysis of wisconsin breast cancer dataset using self-organizing maps. In: Surjàn, G., Engelbrecht, R., Mcnair, P. (eds.) ealth Data in the Information Society, no. 90 in Technology and Informatics. International Congress on Medical Informatics, pp. 431–436. IOS Press, Amsterdam (2002)
Seymour, K., You, H., Dongarra, J.J.: A comparison of search heuristics for empirical code optimization. In: Proceedings of the 2008 IEEE International Conference on Cluster Computing, Third international Workshop on Automatic Performance Tuning (iWAPT 2008), pp. 421–429. Tsukuba International Congress Center, EPOCHAL TSUKUBA, Japan (2008). doi: 10.1109/CLUSTR.2008.4663803
Torczon, V.: On the convergence of pattern search algorithms. SIAM J. Optimization 7(1), 1–25 (1997). doi:10.1137/S1052623493250780
Vicente, L.N., Custódio, A.L.: Analysis of direct searches for discontinuous functions. Math. Program. 133(1–2), 299–325 (2012). doi:10.1007/s10107-010-0429-8
Vuduc, R., Demmel, J.W., Yelick, K.A.: OSKI: a library of automatically tuned sparse matrix kernels. In: Proceedings of SciDAC 2005, Journal of Physics: Conference Series. Institute of Physics Publishing, San Francisco (2005). doi:10.1088/1742-6596/16/1/071
Wächter, A., Biegler, L.T.: On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Math. Program. 106(1), 25–57 (2006). doi:10.1007/s10107-004-0559-y
Whaley, R.C., Petitet, A., Dongarra, J.J.: Automated empirical optimization of software and the ATLAS project. Parallel Comput. 27(1–2), 3–35 (2001). doi:10.1016/S0167-8191(00)00087-9
Author information
Authors and Affiliations
Corresponding author
Additional information
Research partially supported by NSERC Discovery Grant 239436, Afosr FA9550-09-1-0160, and ExxonMobil Upstream Research Company EM02562.
Research partially supported by NSERC Discovery Grant 299010-04.
Rights and permissions
About this article
Cite this article
Audet, C., Dang, KC. & Orban, D. Optimization of algorithms with OPAL. Math. Prog. Comp. 6, 233–254 (2014). https://doi.org/10.1007/s12532-014-0067-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12532-014-0067-x