SASS: slicing with adaptive steps search method for finding the non-dominated points of tri-objective mixed-integer linear programming problems


Multi-objective optimization problems (MOOP) reflect the complexity of many real-world decision problems where objectives are conflicting. The presence of more than one criterion makes finding the non-dominated (ND) points a crucial issue in the decision making process. Tri-objective mixed-integer linear programs (TOMILP) are an important subclass of MOOPs that are applicable to many problems in economics, business, science, and engineering including sustainable systems that must consider economic, environmental, and social concerns simultaneously. The literature on finding the ND points of TOMILPs is limited; there are only a few algorithms published in the literature that do not guarantee generating the entire ND points of TOMILPs. We present a new method, the Slicing with Adaptive Steps Search (SASS), to generate the ND points of TOMILPs. The result of SASS is primarily a superset of the set of ND points in the form of (partially) ND faces. We then perform a post-processing to eliminate the dominated parts of the partially ND faces. We provide a theoretical analysis of SASS and illustrate its effectiveness on a large set of instances.

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

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12


  1. 1.

    Note that since the sub-slice \(SSL(z^A_3,y^A)\) has been previously examined and there is no ND point in this sub-slice; the constraint \(z_3(x,y^A) \le z_3^A\) is in fact equivalent to \(z_3(x,y^A) < z_3^A\).

  2. 2.

    Note that the found ND faces may be (partially) ND for the TOMILP.


  1. Alves, M. J., & Clımaco, J. (2000). An interactive reference point approach for multiobjective mixed-integer programming using branch-and-bound. European Journal of Operational Research, 124(3), 478–494.

    Article  Google Scholar 

  2. Alves, M. J., & Costa, J. P. (2016). Graphical exploration of the weight space in three-objective mixed integer linear programs. European Journal of Operational Research, 248(1), 72–83.

    Article  Google Scholar 

  3. Anvari, S., & Turkay, M. (2017). The facility location problem from the perspective of triple bottom line accounting of sustainability. International Journal of Production Research, 55(21), 6266–6287.

    Article  Google Scholar 

  4. Belotti, P., Soylu, B., & Wiecek, M. M. (2013). A branch-and-bound algorithm for biobjective mixed-integer programs. Optimization Online. Accessed 1 Jan 2017.

  5. Bhinge, R., Moser, R., Moser, E., Lanza, G., & Dornfeld, D. (2015). Sustainability optimization for global supply chain decision-making. Procedia CIRP, 26, 323–328.

    Article  Google Scholar 

  6. Boland, N., Charkhgard, H., & Savelsbergh, M. (2015a). A criterion space search algorithm for biobjective integer programming: The balanced box method. INFORMS Journal on Computing, 27(4), 735–754.

    Article  Google Scholar 

  7. Boland, N., Charkhgard, H., & Savelsbergh, M. (2015b). A criterion space search algorithm for biobjective mixed integer programming: The triangle splitting method. INFORMS Journal on Computing, 27(4), 597–618.

    Article  Google Scholar 

  8. Boland, N., Charkhgard, H., & Savelsbergh, M. (2016). The l-shape search method for triobjective integer programming. Mathematical Programming Computation, 8(2), 217–251.

    Article  Google Scholar 

  9. Boland, N., Charkhgard, H., & Savelsbergh, M. (2017). The quadrant shrinking method: A simple and efficient algorithm for solving tri-objective integer programs. European Journal of Operational Research, 260(3), 873–885.

    Article  Google Scholar 

  10. Branke, J., Deb, K., & Miettinen, K. (2008). Multiobjective optimization: Interactive and evolutionary approaches (Vol. 5252). Berlin: Springer.

    Google Scholar 

  11. Chen, Z., & Andresen, S. (2014). A multiobjective optimization model of production-sourcing for sustainable supply chain with consideration of social, environmental, and economic factors. Mathematical Problems in Engineering.

    Google Scholar 

  12. Chinchuluun, A., & Pardalos, P. M. (2007). A survey of recent developments in multiobjective optimization. Annals of Operations Research, 154(1), 29–50.

    Article  Google Scholar 

  13. Ehrgott, M. (2000). Multicriteria optimization. Lecture Notes in Economics and Mathematical Systems (Vol. 491). Berlin: Springer.

    Google Scholar 

  14. Ehrgott, M. (2006). A discussion of scalarization techniques for multiple objective integer programming. Annals of Operations Research, 147(1), 343–360.

    Article  Google Scholar 

  15. Ehrgott, M., Gandibleux, X., & Przybylski, A. (2016). Exact methods for multi-objective combinatorial optimisation. In S. Greco, M. Ehrgott, & J. R. Figueira (Eds.), Multiple criteria analysis: Decision state of the art surveys (pp. 817–850). Berlin: Springer.

    Google Scholar 

  16. Elkington, J. (1999). Triple bottom-line reporting: Looking for balance. AUSTRALIAN CPA, 69, 18–21.

    Google Scholar 

  17. Evans, J. P., & Steuer, R. (1973). A revised simplex method for linear multiple objective programs. Mathematical Programming, 5(1), 54–72.

    Article  Google Scholar 

  18. Fattahi, A., & Turkay, M. (2015). \(\epsilon \)-OA for the solution of bi-objective generalized disjunctive programming problems in the synthesis of nonlinear process networks. Computers & Chemical Engineering, 72, 199–209.

    Article  Google Scholar 

  19. Fattahi, A., & Turkay, M. (2018). A one direction search method to find the exact nondominated frontier of biobjective mixed-binary linear programming problems. European Journal of Operational Research, 266(2), 415–425.

    Article  Google Scholar 

  20. Fruhwirth, B., & Mekelburg, K. (1994). On the efficient point set of tricriteria linear programs. European Journal of Operational Research, 72(1), 192–199.

    Article  Google Scholar 

  21. Hassine, H., Barkallah, M., Bellacicco, A., Louati, J., Riviere, A., & Haddar, M. (2015). Multi objective optimization for sustainable manufacturing, application in turning. International Journal of Simulation Modelling, 14(1), 98–109.

    Article  Google Scholar 

  22. Hooker, J. (2011) The logic of discrete variables. In R. L. Graham, & J. K. Lenstra (Eds.), Logic-based methods for optimization: combining optimization and constraint satisfaction (vol. 2, pp. 61–68). Wiley.

  23. Jorge, J. M. (2009). An algorithm for optimizing a linear function over an integer efficient set. European Journal of Operational Research, 195(1), 98–103.

    Article  Google Scholar 

  24. Lokman, B., & Köksalan, M. (2013). Finding all nondominated points of multi-objective integer programs. Journal of Global Optimization, 57(2), 347–365.

    Article  Google Scholar 

  25. Mavrotas, G., & Diakoulaki, D. (2005). Multi-criteria branch and bound: A vector maximization algorithm for mixed 0–1 multiple objective linear programming. Applied Mathematics and Computation, 171(1), 53–71.

    Article  Google Scholar 

  26. Mavrotas, G., & Florios, K. (2013). An improved version of the augmented \(\varepsilon \)-constraint method (augmecon2) for finding the exact pareto set in multi-objective integer programming problems. Applied Mathematics and Computation, 219(18), 9652–9669.

    Article  Google Scholar 

  27. Miettinen, K., Hakanen, J., & Podkopaev, D. (2016). Interactive nonlinear multiobjective optimization methods. In S. Greco, M. Ehrgott, & J. R. Figueira (Eds.), Multiple criteria decision analysis: State of the art surveys (pp. 927–976). Berlin: Springer.

    Google Scholar 

  28. Özlen, M., & Azizoğlu, M. (2009). Multi-objective integer programming: A general approach for generating all non-dominated solutions. European Journal of Operational Research, 199(1), 25–35.

    Article  Google Scholar 

  29. Ozlen, M., Burton, B. A., & MacRae, C. A. (2014). Multi-objective integer programming: An improved recursive algorithm. Journal of Optimization Theory and Applications, 160(2), 470–482.

    Article  Google Scholar 

  30. Özpeynirci, Ö., & Köksalan, M. (2010). An exact algorithm for finding extreme supported nondominated points of multiobjective mixed integer programs. Management Science, 56(12), 2302–2315.

    Article  Google Scholar 

  31. Przybylski, A., Gandibleux, X., & Ehrgott, M. (2010a). A recursive algorithm for finding all nondominated extreme points in the outcome set of a multiobjective integer programme. INFORMS Journal on Computing, 22(3), 371–386.

    Article  Google Scholar 

  32. Przybylski, A., Gandibleux, X., & Ehrgott, M. (2010b). A two phase method for multi-objective integer programming and its application to the assignment problem with three objectives. Discrete Optimization, 7(3), 149–165.

    Article  Google Scholar 

  33. Rasmi, S. A. B., & Türkay, M. (2019). Gondef: an exact method to generate all non-dominated points of multi-objective mixed-integer linear programs. Optimization and Engineering, 20(1), 89–117.

    Article  Google Scholar 

  34. Rasmi, S. A. B., Kazan, C., & Türkay, M. (2019). A multi-criteria decision analysis to include environmental, social, and cultural issues in the sustainable aggregate production plans. Computers & Industrial Engineering, 132, 348–360.

    Article  Google Scholar 

  35. Soylu, B., & Yıldız, G. B. (2016). An exact algorithm for biobjective mixed integer linear programming problems. Computers & Operations Research, 72, 204–213.

    Article  Google Scholar 

  36. Steuer, R. E., & Choo, E. U. (1983). An interactive weighted tchebycheff procedure for multiple objective programming. Mathematical Programming, 26(3), 326–344.

    Article  Google Scholar 

  37. Stidsen, T., Andersen, K. A., & Dammann, B. (2014). A branch and bound algorithm for a class of biobjective mixed integer programs. Management Science, 60(4), 1009–1032.

    Article  Google Scholar 

  38. Sylva, J., & Crema, A. (2004). A method for finding the set of non-dominated vectors for multiple objective integer linear programs. European Journal of Operational Research, 158(1), 46–55.

    Article  Google Scholar 

  39. Vincent, T., Seipp, F., Ruzika, S., Przybylski, A., & Gandibleux, X. (2013). Multiple objective branch and bound for mixed 0–1 linear programming: Corrections and improvements for the biobjective case. Computers & Operations Research, 40(1), 498–509.

    Article  Google Scholar 

  40. Wiecek, M. M., Ehrgott, M., & Engau, A. (2016). Continuous multiobjective programming. In S. Greco, M. Ehrgott, & J. R. Figueira (Eds.), Multiple criteria decision analysis: State of the art surveys (pp. 739–815). Berlin: Springer.

    Google Scholar 

  41. Yu, P., & Zeleny, M. (1975). The set of all nondominated solutions in linear cases and a multicriteria simplex method. Journal of Mathematical Analysis and Applications, 49(2), 430–468.

    Article  Google Scholar 

Download references


We gratefully acknowledge the computational infrastructure support provided by the IBM Corporation through the IBM SUR award. We also acknowledge valuable comments and suggestions provided by Emre Alper Yıldırım, Emre Mengi, Matthias Ehrgott, Annals of OR and MOPGP 2017 conference referees. Funding was provided by TUPRAS (OS.00054).

Author information



Corresponding author

Correspondence to Metin Türkay.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.


The formulation of the illustrative instance given in Fig. 1

We provide the mathematical formulation for Fig. 1 (note that there can be other formulations that correspond to the same feasible region shown in Fig. 1). Let M be a sufficiently large number (e.g. we use \(M=1000\)), \(x=(x_1,x_2,x_3) \ge 0\), and \(y=(y_1,y_2,y_3) \in \{0, 1\}^3\).

$$\begin{aligned}&\hbox {max }z(x,y)=(x_1,x_2,x_3)\\&\hbox {s.t.}\\&5x_1+5x_2+2x_3 \le 66+M(1-y_1),\\&-6-M(1-y_1) \le -x_1+x_2 \le 8+M(1-y_1),\\&x_1+x_2 - x_3 \ge 2-M(1-y_1),\\&-3x_1-3x_2 -4x_3 \le -48+M(1-y_1),\\&1-M(1-y_2) \le x_1 \le 5+M(1-y_2),\\&4-M(1-y_2) \le x_2 \le 7+M(1-y_2),\\&3-M(1-y_2) \le x_3 \le 9+M(1-y_2),\\&5-M(1-y_3) \le x_1+x_2 \le 11+M(1-y_3),\\&-5-M(1-y_3) \le -x_1+x_2 \le -4+M(1-y_3),\\&1-M(1-y_3) \le x_3 \le 5+M(1-y_3),\\&y_1+y_2+y_3 = 1,\\&x_i \ge 0, \; \forall i=1,2,3,\\&y_i \in \{0,1\}, \; \forall i=1,2,3. \end{aligned}$$

The value of \(\delta _j\), \(j=1,2\)

These values are supposed to be very small positive numbers. Their function is to exclude some regions in the objective space which do not include ND points. We set the values of \(\delta _j\)’s based on the ranges of objective function values. Let \(\Delta \) be a sufficiently small positive value between 0 and 1. Then, we set \(\delta _j:=\Delta \times \)a value derived from the range of the\(j^{th}\)objective function” for \(j=1,2\). These ranges differ in different sections of the algorithm. We provide the value of \(\delta _j\), \(j=1,2\), for constraints EC given in (4), the LOP given in (5), DM2 given in (7), and \(\mathrm {LOP}_{sy}\) given in (10).

In (4) and the LOP given in (5), \(\delta _j:=\Delta \times \Omega _j\), where \(\Omega _j:=max\{z_j(x,y) \; | \; x\in S(y), y \in \mathbb {Z}^q, z_3(x,y)=z_3^{cr}\}-min\{z_j(x,y) \; | \; x\in S(y), y \in \mathbb {Z}^q, z_3(x,y)=z_3^{cr}\}\), for \(j=1,2\). Note that \(\Omega _j\) is the range of \(z_j(x,y)\) in the slice \(SL(z_3^{cr})\).

Regarding \(\delta _1\)-value used in DM2 given in (7), we solve the following problems:

$$\begin{aligned} z^U_2:=\mathrm {max}&z_2(x,y^A) \\ \mathrm {s.t.}&x \in S(y^A), \; z_3(x,y^A)=z_3^A, \nonumber \\ z^L_1:=\mathrm {max}&z_1(x,y^A) \nonumber \\ \mathrm {s.t.}&x \in S(y^A), \; z_3(x,y^A)=z_3^A, \; z_2(x,y^A)=z_2^U\nonumber \end{aligned}$$


$$\begin{aligned} z^U_1:=\mathrm {max}&z_1(x,y^A) \\ \mathrm {s.t.}&x \in S(y^A), \; z_3(x,y^A)=z_3^A.\nonumber \end{aligned}$$

Then, \(\delta _1:=\Delta \times (z_1^U-z_1^L)\). Note that \((z_1^U-z_1^L)\) is equal to the range of \(z_1\)-value in \(NDSSL(z_3^A,y^A)\).

In the \(\mathrm {LOP}_{sy}\) given in (10), \(\delta _j:=\Delta \times \Omega _j\), where \(\Omega _j:=max\{z_j(x,y^A) \; | \; x\in S(y^A)\}-min\{z_j(x,y^A) \; | \; x\in S(y^A)\}\), for \(j=1,2\). Note that \(\Omega _j\) is the range of \(z_j(x,y^A)\) in \(x \in S(y^A)\).

No-good constraints

If y is a binary vector, we add constraint (16) to exclude \(\bar{y}\) from the feasible region.

$$\begin{aligned} \sum _{i:\bar{y}_i=1} y_i - \sum _{i:\bar{y}_i=0} y_i \le \sum _{i} \bar{y}_i -1. \end{aligned}$$

Note that if we add (16) to a problem, \(\bar{y}\) does not satisfy (16), and then \(\bar{y}\) is excluded from the feasible region. However, all binary vectors other than \(\bar{y}\) satisfy (16).

Now, suppose that \(y_i\)’s are general integer such that \(1-2^U \le y_i \le 2^U\), for all \(i=1,\ldots ,q\), where \((1-2^U)\) and \(2^U\) are known lower and upper bounds on the values of \(y_i\)’s. For example, if \(U=3\), then we know \(-7\le y_i\le 8\), for all i (note that we can set U such that \(1-2^U \le y_i \le 2^U\) is valid for all i). We define binary variables \(w_{iu} \in \{0,1\}\), for all \(i=1,\ldots ,q\), \(u=0,\ldots ,U\). Assume that we want to exclude \(\bar{y}\). Consider equations:

$$\begin{aligned} \bar{y}_i = (1-2^U) + \sum _{u=0}^{U}2^{u} \bar{w}_{iu}, \ \forall i, \end{aligned}$$

where \(\bar{y}_i\)’s are given and \(\bar{w}_{iu}\)’s are determined based on \(\bar{y}_i\)’s. We note that these equations map \(\bar{y}\) to a unique \(\bar{w}\). Hence, we add the following constraints to exclude \(\bar{y}\).

$$\begin{aligned}&y_i = (1-2^U)+\sum _{u=0}^{U}2^{u}w_{iu}, \ \forall i, \end{aligned}$$
$$\begin{aligned}&\sum _{i,u:\bar{w}_{iu}=1}w_{iu}-\sum _{i,u:\bar{w}_{iu}=0}w_{iu}\le \sum _{i,u}\bar{w}_{iu}-1, \end{aligned}$$
$$\begin{aligned}&w_{iu}\in \{0,1\}, \ \forall i=1,\ldots ,q,\ u=0,\ldots ,U, \end{aligned}$$

where (17) assigns values to \(w_{ui}\)’s and (18) excludes \(\bar{w}\) (and consequently \(\bar{y}\)). We acknowledge that there are other types of no-good constraints to exclude integer variables (Soylu and Yıldız 2016).

Generating our instances

In the mathematical formulation of our instances, we have m constraints, q integer variables, and n continuous variables. Moreover, \(m=q+n\). \(U_I\) is the upper bound on the values of integer variables. Moreover, CF is a real number to enlarge or tighten the feasible region. Boland et al. (2015b) present these instances with \(CF=1\). However, to change the size of the feasible regions, we also consider \(CF=0.5\) and \(CF=2\).

$$\begin{aligned}&max \; \; z_1(x,y)=\sum _{i=1}^{n} c_i^1 x_i + \sum _{j=1}^{q} f_j^1 y_j\\&max \; \; z_2(x,y)=\sum _{i=1}^{n} c_i^2 x_i + \sum _{j=1}^{q} f_j^2 y_j\\&max \; \; z_3(x,y)=\sum _{i=1}^{n} c_i^3 x_i + \sum _{j=1}^{q} f_j^3 y_j\\&\hbox {s.t.}\\&\sum _{i=1}^{n} a_{ij} x_i + a'_j y_j \le b_j, \; \forall j=1, \ldots , q,\\&\sum _{i=1}^{n} a_{ij} x_i \le b_j, \; \forall j=q + 1, \ldots , m-1,\\&\sum _{j=1}^{q} y_j \le \frac{q}{3}CF,\\&x_i \in \mathbb {R}^{+}, \; \forall \; i=1, \ldots , n,\\&y_j \in \{0,1, \ldots , U_I\}, \; \forall \; j=1, \ldots , q,\\ \end{aligned}$$

where in the described benchmarks, the objective function coefficients of the continuous and integer variables, right-hand-side values of the constraints, and the coefficients in the left-hand sides of the constraints (for both continuous and integer variables) are generated using a uniform distribution with domains \([-10, 10], [-200, 200], [50, 100]\), and \([-1, 20]\), respectively.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Rasmi, S.A.B., Fattahi, A. & Türkay, M. SASS: slicing with adaptive steps search method for finding the non-dominated points of tri-objective mixed-integer linear programming problems. Ann Oper Res (2019).

Download citation


  • Tri-objective programming
  • Mixed-integer linear programming
  • Non-dominated points
  • Lexicographic optimization
  • Exact method
  • Non-dominated faces