Skip to main content
Log in

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

  • S.I.: MOPGP 2017
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

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 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
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  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. Note that the found ND faces may be (partially) ND for the TOMILP.

References

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  • Belotti, P., Soylu, B., & Wiecek, M. M. (2013). A branch-and-bound algorithm for biobjective mixed-integer programs. Optimization Online. http://www.optimization-online.org/DB_FILE/2013/01/3719.pdf. Accessed 1 Jan 2017.

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  • 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. https://doi.org/10.1155/2014/616107.

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  • 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 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  • 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 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  • 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 

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

    Google Scholar 

Download references

Acknowledgements

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

Authors and Affiliations

Authors

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.

Appendices

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}$$
(14)

and

$$\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}$$
(15)

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}$$
(16)

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}$$
(17)
$$\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}$$
(18)
$$\begin{aligned}&w_{iu}\in \{0,1\}, \ \forall i=1,\ldots ,q,\ u=0,\ldots ,U, \end{aligned}$$
(19)

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

Check for updates. 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 296, 841–876 (2021). https://doi.org/10.1007/s10479-019-03422-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-019-03422-9

Keywords

Navigation