Skip to main content
Log in

Optimization of algorithms with OPAL

  • Full Length Paper
  • Published:
Mathematical Programming Computation Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. OPtimization of ALgorithms.

References

  1. 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

    Article  MATH  MathSciNet  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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

  4. 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

    Article  MATH  Google Scholar 

  5. 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

    Google Scholar 

  6. 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

    Article  MATH  MathSciNet  Google Scholar 

  7. 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

  8. Audet, C., Dennis, J.E Jr.: Analysis of generalized pattern searches. SIAM J. Optimization 13(3), 889–903 (2003). doi:10.1137/S1052623400378742

    Google Scholar 

  9. 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

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. Audet, C., Orban, D.: Finding optimal algorithmic parameters using derivative-free optimization. SIAM J. Optimization 17(3), 642–664 (2006). doi:10.1137/040620886

    Article  MATH  MathSciNet  Google Scholar 

  13. 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

    Article  MATH  MathSciNet  Google Scholar 

  14. 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)

  15. 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

    Google Scholar 

  16. Box, G.E.P.: Evolutionary operation: a method for increasing industrial productivity. Appl. Stat. 6(2), 81–101 (1957)

    Article  Google Scholar 

  17. 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)

  18. 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

    Article  MATH  Google Scholar 

  19. Conn, A.R., Scheinberg, K., Vicente, L.N.: Introduction to Derivative-Free Optimization. MPS/SIAM Book Series on Optimization. SIAM, Philadelphia (2009)

    Book  Google Scholar 

  20. Dang, C.K.: Optimization of algorithms with the OPAL framework. Ph.D. Thesis, École Polytechnique de Montréal, Montréal, Québec, Canada (2012)

  21. Dolan, E.D., Moré, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91(2), 201–213 (2002). doi:10.1007/s101070100263

    Article  MATH  MathSciNet  Google Scholar 

  22. Fermi, E., Metropolis, N.: Numerical solution of a minimum problem. Los Alamos Unclassified Report LA-1492. Los Alamos National Laboratory, Los Alamos (1952)

    Google Scholar 

  23. Fletcher, R., Leyffer, S.: Nonlinear programming without a penalty function. Math. Program. Ser. A 91, 239–269 (2002). doi:10.1007/s101070100244

    Article  MATH  MathSciNet  Google Scholar 

  24. 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

    Article  MATH  MathSciNet  Google Scholar 

  25. 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

    MATH  MathSciNet  Google Scholar 

  26. 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)

  27. 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

    Article  MATH  Google Scholar 

  28. Kohonen, T.: The self-organizing map. Neurocomputing 21(1–3), 1–6 (1998). doi:10.1016/S0925-2312(98)00030-7

    Article  MATH  Google Scholar 

  29. 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

    Article  Google Scholar 

  30. 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

    Google Scholar 

  31. 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

    Article  Google Scholar 

  32. Mladenović, N., Hansen, P.: Variable neighborhood search. Comput. Oper. Res. 24(11), 1097–1100 (1997). doi:10.1016/S0305-0548(97)00031-2

    Article  MATH  MathSciNet  Google Scholar 

  33. Orban, D.: Templating and automatic code generation for performance with python. Tech. Rep. G-2011-30, Les cahiers du GERAD (2011)

  34. 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)

  35. 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

  36. Torczon, V.: On the convergence of pattern search algorithms. SIAM J. Optimization 7(1), 1–25 (1997). doi:10.1137/S1052623493250780

    Article  MATH  MathSciNet  Google Scholar 

  37. 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

    Article  MATH  MathSciNet  Google Scholar 

  38. 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

  39. 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

    Article  MATH  MathSciNet  Google Scholar 

  40. 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

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dominique Orban.

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12532-014-0067-x

Keywords

Mathematics Subject Classification

Navigation