Skip to main content

DESDEO: An Open Framework for Interactive Multiobjective Optimization

  • Chapter
  • First Online:
Book cover Multiple Criteria Decision Making and Aiding

Part of the book series: International Series in Operations Research & Management Science ((ISOR,volume 274))

Abstract

We introduce a framework for interactive multiobjective optimization methods called DESDEO released under an open source license. With the framework, we want to make interactive methods easily accessible to be applied in solving real-world problems. The framework follows an object-oriented software design paradigm, where functionalities have been divided to modular, self-contained components. The framework contains implementations of some interactive methods, but also components which can be utilized to implement more interactive methods and, thus, increase the applicability of the framework. To demonstrate how the framework can be used, we consider an example problem where the pollution of a river is controlled. To solve this problem with four objectives, we apply two interactive methods called NAUTILUS and NIMBUS and show how the method can be switched during the solution process.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 89.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • Agrell, P. J., Lence, B. J., & Stam, A. (1998). An interactive multicriteria decision model for multipurpose reservoir management: The Shellmouth Reservoir. Journal of Multi-Criteria Decision Analysis, 7(2), 61–86.

    Article  Google Scholar 

  • Bechikh, S., Ben Said, L., & Ghedira, K. (2010). Estimating nadir point in multi-objective optimization using mobile reference points. In IEEE Congress on Evolutionary Computation (CEC) (pp. 1–9).

    Google Scholar 

  • Benayoun, R., de Montgolfier, J., Tergny, J., & Laritchev, O. (1971). Linear programming with multiple objective functions: Step method (STEM). Mathematical Programming, 1, 366–375.

    Article  Google Scholar 

  • Buchanan, J. T., & Corner, J. (1997). The effects of anchoring in interactive MCDM solution methods. Computers & Operations Research, 24(10), 907–918.

    Article  Google Scholar 

  • Chankong, V., & Haimes, Y. Y. (1983). Multiobjective decision making theory and methodology. New York: North-Holland.

    Google Scholar 

  • Deb, K., Miettinen, K., & Chaudhuri, S. (2010). Towards an estimation of nadir objective vector using a hybrid of evolutionary and local search approaches. IEEE Transactions on Evolutionary Computation, 14(6), 821–841.

    Article  Google Scholar 

  • Durillo, J. J., & Nebro, A. J. (2011). Jmetal: A java framework for multi-objective optimization. Advances in Engineering Software, 42, 760–771.

    Article  Google Scholar 

  • Fowler, M. (2004). UML distilled: A brief guide to the standard object modeling language. Boston: Addison-Wesley Professional.

    Google Scholar 

  • Hakanen, J., Sahlstedt, K., & Miettinen, K. (2013). Wastewater treatment plant design and operation under multiple conflicting objective functions. Environmental Modelling & Software, 46(1), 240–249.

    Article  Google Scholar 

  • Hwang, C. L., & Masud, A. S. M. (1979). Multiple objective decision making, methods and applications: A state-of-the-art survey. Berlin: Springer.

    Book  Google Scholar 

  • Kahneman, D., & Tversky, A. (1979). Prospect theory: An analysis of decision under risk. Econometrica, 47, 263–291.

    Article  Google Scholar 

  • Kaliszewski, I. (2004). Out of the mist–towards decision-maker-friendly multiple criteria decision making support. European Journal of Operational Research, 158(2), 293–307.

    Article  Google Scholar 

  • Korhonen, P., Salo, S., & Steuer, R. E. (1997). A heuristic for estimating nadir criterion values in multiple objective linear programming. Operations Research, 45(5), 751–757.

    Article  Google Scholar 

  • Li, L., Yevseyeva, I., Basto-Fernandes, V., Trautmann, H., Jing, N., & Emmerich, M. (2017). Building and using an ontology of preference-based multiobjective evolutionary algorithms. In H. Trautmann, G. Rudolph, K. Klamroth, O. Schütze, M. Wiecek, Y. Jin, & C. Grimme (Eds.), Proceedings of the 9th International Conference on Evolutionary Multi-Criterion Optimization (pp. 406–421). Cham: Springer.

    Chapter  Google Scholar 

  • López-Ibáñez, M., & Knowles, J. (2015). Machine decision makers as a laboratory for interactive EMO. In A. Gaspar-Cunha, C. Henggeler Antunes, & C. C. Coello (Eds.), Evolutionary multi-criterion optimization. Lecture notes in computer science (pp. 295–309). Cham: Springer.

    Google Scholar 

  • Miettinen, K. (1999). Nonlinear multiobjective optimization. Dordrecht: Kluwer Academic Publishers.

    Google Scholar 

  • Miettinen, K. (2006). IND-NIMBUS for demanding interactive multiobjective optimization. In T. Trzaskalik (Ed.), Multiple Criteria Decision Making ’05 (pp. 137–150). Katowice: The Karol Adamiecki University of Economics in Katowice.

    Google Scholar 

  • Miettinen, K. (2007). Using interactive multiobjective optimization in continuous casting of steel. Materials and Manufacturing Processes, 22(5), 585–593.

    Article  Google Scholar 

  • Miettinen, K., Eskelinen, P., Ruiz, F., & Luque, M. (2010). NAUTILUS method: An interactive technique in multiobjective optimization based on the nadir point. European Journal of Operational Research, 206(2), 426–434.

    Article  Google Scholar 

  • Miettinen, K., & Hakanen, J. (2008). Why use interactive multi-objective optimization in chemical process design. In G. P. Rangaiah (Ed.), Multi-objective optimization: Techniques and applications in chemical engineering (pp. 153–188). Singapore: World Scientific.

    Chapter  Google Scholar 

  • Miettinen, K., & Mäkelä, M. M. (2000). Interactive multiobjective optimization system WWW-NIMBUS on the Internet. Computers & Operations Research, 27(7–8), 709–723.

    Article  Google Scholar 

  • Miettinen, K., & Mäkelä, M. M. (2002). On scalarizing functions in multiobjective optimization. OR Spectrum, 24(2), 193–213.

    Article  Google Scholar 

  • Miettinen, K., & Mäkelä, M. M. (2006). Synchronous approach in interactive multiobjective optimization. European Journal of Operational Research, 170(3), 909–922.

    Article  Google Scholar 

  • Miettinen, K., Mäkelä, M. M., & Männikkö, T. (1998). Optimal control of continuous casting by nondifferentiable multiobjective optimization. Computational Optimization and Applications, 11, 177–194.

    Article  Google Scholar 

  • Miettinen, K., Podkopaev, D., Ruiz, F., & Luque, M. (2015). A new preference handling technique for interactive multiobjective optimization without trading-off. Journal of Global Optimization, 63(4), 633–652.

    Article  Google Scholar 

  • Miettinen, K., & Ruiz, F. (2016). NAUTILUS framework: Towards trade-off-free interaction in multiobjective optimization. Journal of Business Economics, 86(1), 5–21.

    Article  Google Scholar 

  • Miettinen, K., Ruiz, F., & Wierzbicki, A. P. (2008). Introduction to multiobjective optimization: Interactive approaches. In J. Branke, K. Deb, K. Miettinen, & R. Slowinski (Eds.), Multiobjective optimization: Interactive and evolutionary approaches (pp. 27–57). Berlin: Springer.

    Chapter  Google Scholar 

  • Nakayama, H., Kaneshige, K., Takemoto, S., & Watada, Y. (1995). Application of a multi-objective programming technique to construction accuracy control of cable-stayed bridges. European Journal of Operational Research, 87(3), 731–738.

    Article  Google Scholar 

  • Nakayama, H., & Sawaragi, Y. (1984). Satisficing trade-off method for multiobjective programming. In M. Grauer, & A. P. Wierzbicki (Eds.), Interactive decision analysis (pp. 113–122). Berlin: Springer.

    Chapter  Google Scholar 

  • Narula, S., & Weistroffer, H. (1989). A flexible method for nonlinear multicriteria decision-making problems. IEEE Transactions on Systems, Man and Cybernetics, 19(4), 883–887.

    Article  Google Scholar 

  • Ojalehto, V., Miettinen, K., & Laukkanen, T. (2014). Implementation aspects of interactive multiobjective optimization for modeling environments: The case of GAMS-NIMBUS. Computational Optimization and Applications, 58(3), 757–779.

    Article  Google Scholar 

  • Ojalehto, V., Podkopaev, D., & Miettinen, K. (2016). Towards automatic testing of reference point based interactive methods. In J. Handl, E. Hart, R. P. Lewis, M. López-Ibáñez, G. Ochoa, & B. Paechter (Eds.), Proceedings of the 14th International Conference on Parallel Problem Solving from Nature (pp. 483–492). Cham: Springer.

    Chapter  Google Scholar 

  • Oliphant, T. E. (2007). SciPy: Open source scientific tools for Python. Computing in Science and Engineering, 9, 10–20.

    Article  Google Scholar 

  • Ravaja, N., Korhonen, P., Köksalan, M., Lipsanen, J., Salminen, M., Somervuori, O., et al. (2016). Emotional–motivational responses predicting choices: The role of asymmetrical frontal cortical activity. Journal of Economic Psychology, 52, 56–70.

    Article  Google Scholar 

  • Ruiz, A. B., Sindhya, K., Miettinen, K., Ruiz, F., & Luque, M. (2015). E-NAUTILUS: A decision support system for complex multiobjective optimization problems based on the NAUTILUS method. European Journal of Operational Research, 246(1), 218–231.

    Article  Google Scholar 

  • Slee, M., Agarwal, A., & Kwiatkowski, M. (2007). Thrift: Scalable cross-language services implementation. Facebook White Paper, 5(8).

    Google Scholar 

  • Stam, A., Kuula, M., & Cesar, H. (1992). Transboundary air pollution in Europe: An interactive multicriteria tradeoff analysis. European Journal of Operational Research, 56(2), 263–277.

    Article  Google Scholar 

  • Storn, R., & Price, K. (1997). Differential evolution – a simple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimization, 11(4), 341–359.

    Article  Google Scholar 

  • Szczepański, M., & Wierzbicki, A. (2003). Application of multiple criteria evolutionary algorithms to vector optimisation, decision support and reference point approaches. Journal of Telecommunications and Information Technology, 3, 16–33.

    Google Scholar 

  • Tarkkanen, S., Miettinen, K., Hakanen, J., & Isomäki, H. (2013). Incremental user-interface development for interactive multiobjective optimization. Expert Systems with Applications, 40, 3220–3232.

    Article  Google Scholar 

  • van Rossum, G. (1995). Python tutorial. Technical report, Centrum voor Wiskunde en Informatica (CWI).

    Google Scholar 

  • Wierzbicki, A. (1982). A mathematical basis for satisficing decision making. Mathematical Modelling, 3, 391–405.

    Article  Google Scholar 

  • Wierzbicki, A. P. (1980). The use of reference objectives in multiobjective optimization. In G. Fandel & T. Gal (Eds.), Multiple criteria decision making theory and application (pp. 468–486). Berlin: Springer.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vesa Ojalehto .

Editor information

Editors and Affiliations

Appendix

Appendix

In what follows, we give source listings of the river pollution problem solved in Sect. 4.2. As mentioned earlier, we consider a river that is polluted by a city and a fishery. The aim of the DM is to improve the quality of water and to minimize the costs incurred. The problem has four objectives and two variables, three of the objectives to be maximized and the fourth one to be minimized.

To understand how the problem can be solved, we provide the source code listing in the examples directory of the DESDEO framework as a file named NarulaWeistroffer.py. Note that the framework is under an active development.

Listing 1 Problem initialization

The initialization of the River Pollution problem can be seen in Listing 1. As mentioned earlier, all concrete problems must be derived from some base class. As the problem is formulated with Python, we import the PythonProblem class from the problem module, from which a RiverPollution subclass is derived. In the RiverPollution class, we first provide a description of the problem (with the relevant reference as a documentation string). We then proceed with the problem formulation.

Problem dimensions, variables and other characteristics are defined in the __init__ method of the problem class. Of those, only the number of objective functions and the box constraints of the decision variables are required, other parameters are optional. For the river pollution problem, the number of objective (nobj) is four, and it does not have other constraints (nconst) besides box constraints. As the ideal and nadir objective vectors are known they can be provided, but if they are not known, the method calculates them if needed. Even though the DESDEO framework assumes that all objective functions are to be minimized, it is possible to provide a value for the parameter maximized in order the DESDEO framework to convert objective function values whenever communicating from and to the user interface. If this value is not set, such conversions cannot be made, and they must be handled by the user interface. The value True of the parameter indicates that the objective is to be maximized and with False, it is to be minimized. It is also possible to give names to objective functions as well as a name for the problem as shown in the listing.

Finally, the problem requires decision variables provided with the add_variable method of the class with an instance of the Variable class. The Variable class is initialized with three parameters, namely box constraints giving upper and lower bound value for the decision variables, starting point to be used when solving the problem and name of the variable. Of these, only the first, box constraints, is required and the others are optional. If the starting point is not given but the single objective optimization method used requires a starting point, the lower bounds of the variables are used as the starting point. It should be noted that when the DESDEO framework is extended to handle problems with discontinuous variables, the variable handling must be changed.

Listing 2 Problem initialization

In Listing 2, we show how objective functions are given by overloading the evaluate method of the PythonProblem class. As an input parameter, the evaluate method takes a population, which is a set of decision variable vectors each representing a new objective vector to be calculated. This means that when called, the evaluate method evaluates objective function values for each decision variable vector in the population. If objective function values of a single decision vector are to be evaluated, the population should have only this single decision variable vector. As a return value, the evaluate method gives the objective vector as a list of objective function values.

Listing 3 Solving the problem with NAUTILUS

As mentioned, the DESDEO framework does not include a graphical user interface for solving problems. It does include a text-based framework for building iterative solution processes called tui. In Listing 3, we give an example on how the framework can be used with the tui module to solve a problem via a text-based interface using the first variant of the NAUTILUS method family (which was the first method used in the interactive solution process reported in Sect. 4.2).

In the first three lines of the Listing 3, we import additional classes and modules needed. That is, the tui module containing the text-based user interface, the class NAUTILUSv1 corresponding to the method and finally SciPyDE as the single objective optimization method to be used when solving the scalarized subproblems.

On the last three lines, we first initialize the method class by providing it with an instance of a multiobjective optimization problem formulated earlier and with the single objective optimization method SciPyDE to be used. The call to tui.iter_nautilus function in the line 7 starts the interactive solution process asking the DM to specify the preference information and returning the final solution obtained. On the last line, we print out the obtained solution which are converted from the minimized values to maximized using method problem.to_ui.

Listing 4 Interactive solution process with the NIMBUS method

In Listing 4, we give more details on how an interactive solution process can be implemented using the NIMBUS method as an example. The basic idea is same for all interactive methods currently implemented in the framework. As with the NAUTILUS example, we first import new classes needed when using the NIMBUS method, namely the NIMBUS class itself, and the NIMBUSClassification class to store the preference information obtained from the DM. We use the same RiverPollution and SciPyDE classes to initialize the method used on line 4. In contrast to the NAUTILUS example, here we do not use the tui module to get the DM’s preferences and to show solutions. Instead, they are given directly to show how the interactive solutions process is constructed.

On line 6, we set the previously obtained NAUTILUS_solution as the current, selected solution. On lines 8–12 new preference information is given as a NIMBUS classification and initialized as the class1 object of NIMBUSClassification. The preference information is the same as the information given be the DM in Table 2. New solutions are generated on line 13 with the nextIteration method of the NIMBUS object and printed out in line 14. This can then be continued until the final solution is found.

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Ojalehto, V., Miettinen, K. (2019). DESDEO: An Open Framework for Interactive Multiobjective Optimization. In: Huber, S., Geiger, M., de Almeida, A. (eds) Multiple Criteria Decision Making and Aiding. International Series in Operations Research & Management Science, vol 274. Springer, Cham. https://doi.org/10.1007/978-3-319-99304-1_3

Download citation

Publish with us

Policies and ethics