Finding multiple solutions to general integer linear programs

Finding multiple solutions to general integer linear programs

European Journal of Operational Research 184 (2008) 802–809 www.elsevier.com/locate/ejor Short Communication Finding multiple solutions to general i...

154KB Sizes 1 Downloads 56 Views

European Journal of Operational Research 184 (2008) 802–809 www.elsevier.com/locate/ejor

Short Communication

Finding multiple solutions to general integer linear programs Jung-Fa Tsai a

a,*

, Ming-Hua Lin b, Yi-Chung Hu

c

Department of Business Management, National Taipei University of Technology, No. 1, Sec. 3, Chung-Hsiao E. Road, Taipei 10608, Taiwan b Department of Information Management, Shih Chien University, No. 70, Ta-Chih Street, Taipei 10462, Taiwan c Department of Business Administration, Chung Yuan Christian University, Chung-Li 320, Taiwan Received 5 January 2006; accepted 30 November 2006 Available online 17 January 2007

Abstract Integer linear programming (ILP) problems occur frequently in many applications. In practice, alternative optima are useful since they allow the decision maker to choose from multiple solutions without experiencing any deterioration in the objective function. This study proposes a general integer cut to exclude the previous solution and presents an algorithm to identify all alternative optimal solutions of an ILP problem. Numerical examples in real applications are presented to demonstrate the usefulness of the proposed method. Ó 2006 Elsevier B.V. All rights reserved. Keywords: Integer programming; Multiple solutions; General integer cut; Linearization

1. Introduction Integer Programming (IP) is an important technique for dealing with problems that arise frequently in diverse fields such as capital budgeting, production planning, capacity planning, scheduling and chemical engineering process. These applications are extensively surveyed in Djerdjour (1997), Salkin and Mathur (1989), Simons (1996) and Taha (2003). Biegler and Grossmann (2004) provided a retrospective article on mathematical programming models and optimization techniques that have been applied in process systems engineering. They indicated that operations problems give rise to mixed-integer linear programming (MILP) and mixedinteger non-linear programming (MINLP) models for scheduling and supply chain problems. Besides, the design and synthesis problems and the hybrid systems in the control problems have also been formulated as MILP and MINLP problems. Since the enterprise can achieve a cost advantage by reducing costs from the current solution, optimization techniques have received extensive attention from the practitioners and the researchers in the last few decades. A number of applications require to model discrete variables, such as number of units or batches, ‘‘yes or no’’ decision, sequences in scheduling, etc. Generally, a problem with integer variables, zero-one variables and *

Corresponding author. Tel.: +886 27712171x3420; fax: +886 2 27763964. E-mail address: [email protected] (J.-F. Tsai).

0377-2217/$ - see front matter Ó 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2006.11.024

J.-F. Tsai et al. / European Journal of Operational Research 184 (2008) 802–809

803

mixed variables are called IP problems. Because of their importance in formulating many practical problems, there has been a pronounced increase in the development of optimization approaches on IP models. These approaches can mainly be classified into stochastic and deterministic as follows: (i) Stochastic methods: The stochastic methods involve random elements in their search and converge to the global optimum depending on a statistical argument. For instance, Salcedo et al. (1990) proposed an improved random search algorithm for solving non-linear optimization problems. Cardoso et al. (1996) solved non-convex non-linear integer programming problems with simulated annealing. Rosen and Harmonosky (2005) improved the performance of simulated annealing for discrete variable simulation optimization by basing portion of the search procedure on inferred statistical knowledge of the system instead of using a strict random search. Wang and Liao (1998) developed methods for solving polynomial integer programs by the genetic algorithm. Xiong and Rao (2004) proposed a mixed-discrete fuzzy non-linear programming approach to solve fuzzy optimization problems with mixed-discrete design variables through hybrid genetic algorithm. Although these stochastic methods have the advantage of easy implementation and little prior knowledge of the optimization problem, they are suitable for problems where the function evaluations are cheap, and can not guarantee rigorous global optimality (Biegler and Grossmann, 2004). Moreover, the probability of finding the global solution decreases when the problem size increases. (ii) Deterministic methods: In a general survey of optimization techniques (Biegler and Grossmann, 2004; Grossmann and Biegler, 2004), many deterministic methods for IP problems have been reviewed. The most common algorithm for solving MILP problems is the LP-based branch and bound method (Dakin, 1965). Johnson et al. (2000) presented the progress in MILP methods through 1998. They discussed about modeling, preprocessing and the methodologies of branch-and-cut (Caprara and Fischetti, 1997) and branch-and-price (Barnhart et al., 1998). Grossmann (2002) provided a unified overview and derivation of MINLP techniques. Major methods for MINLP problems include Branch and Bound (BB) (Borchers and Mitchell, 1994; Leyffer, 2001; Stubbs and Mehrotra, 1999), Generalized Benders Decomposition (GBD) (Geoffrion, 1972), Outer-Approximation (OA) (Duran and Grossmann, 1986; Fletcher and Leyffer, 1994; Quesada and Grossmann, 1992), and Extended Cutting Plane Method (ECP) (Westerlund and Pettersson, 1995; Westerlund and Po¨rn, 2002). Biegler and Grossmann (2004) investigated the important extensions of MINLP methods for dealing with quadratic master problems, equalities and non-convexities. IP is a very powerful technique for treating problems involving continuous and discrete variables. In this study, we consider a pure Integer Linear Programming (ILP) problem where all the variables are integer. The mathematical formulation of an ILP problem can be expressed as follows: ILP: Minimize

f ðX Þ

Subject to

gk ðX Þ 6 0;

k ¼ 1; 2; . . . ; K;

X ¼ ðx1 ; . . . ; xn Þ;

xi 2 f0; 1g for 1 6 i 6 m;

0 6 xi 6 xi 6 xi ;

i ¼ m þ 1; m þ 2; . . . ; n;

ð1Þ xi 2 Z

for m þ 1 6 i 6 n;

ð2Þ ð3Þ

where X ¼ ðx1 ; . . . ; xn Þ is a vector of variables, f and gk are linear functions, and xi and xi are lower and upper bounds of the integer variable xi, respectively. The alternative optima of an ILP problem can be found if more than one solution can satisfy the same optimal value of the objective function. In practice, alternative optima are useful because they allow the decision maker to choose from many solutions without experiencing any deterioration in the objective function. For instance, if multiple product-mix situations are available to reach the maximum revenue, it may be advantageous from the standpoint of sales competition to produce two products rather than one (Taha, 2003). Therefore, finding all alternative solutions with the same optimal objective value of an ILP problem is prominent.

804

J.-F. Tsai et al. / European Journal of Operational Research 184 (2008) 802–809

For deriving all optimal solutions of an ILP problem, an integer cut is added to the original model to make the previous solution infeasible, and the model is solved again to find another optimum. For special case of 0– 1 variables, Balas and Jeroslow (1972) introduced the well-known binary cut involving no additional variables and only one constraint. Duran and Grossmann (1986) used this binary cut in their OA algorithm to exclude binary combinations. Tawarmalani and Sahinidis (2002) mentioned that BARON can identify the K best solutions for a mixed-integer non-linear program, where K is an option specified by the user. This paper proposes a global optimization approach on finding all solutions of a general ILP program. First, a general integer cut is presented to derive an alternative solution under the same optimal objective value. The original ILP problem with a general integer cut is reformulated into another MILP problem solvable by the conventional IP techniques to obtain a globally optimal solution. Then, we develop an algorithm to locate all alternative optimal solutions of the ILP problem. The rest of this paper is organized as follows. In Section 2, we discuss some theoretical propositions about employing a general integer cut to derive an alternative optimum of an ILP problem. Section 3 describes the proposed algorithm for finding all solutions of an ILP problem. Section 4 demonstrates some numerical examples. Finally, concluding remarks are made in Section 5. 2. Propositions This section presents several theoretical propositions for obtaining all optima of an ILP problem. For an ILP problem involving only binary variables ðxi 2 f0; 1g for all iÞ, Balas and Jeroslow (1972) have proposed the following binary cut to exclude an existing solution: X i2B

xi 

X

xi 6 jBj  1;

B ¼ fijxi ¼ 1g;

N ¼ fijxi ¼ 0g:

i2N

Herein we focus on finding all solutions of general ILP programs. For finding an alternative solution of an ILP problem containing binary variables and non-binary variables, an integer cut is added to the original model to make the previous solution infeasible. Consider an ILP problem with an optimal solutionðx01 ; x02 . . . ; x0n Þ and the objective value Q, we develop the following model to derive another optimum: Model 1 Minimize Subject to

f ðX Þ ¼ Q n  X  xz  x0  P 1; z

ð4Þ

z¼1

ð1Þ–ð3Þ; where all the variables are defined the same as before. The aim of constraint (4) is to search for an alternative solution. However, the absolute terms in constraint (4) must be linearized so that Model 1 can be transferred into an MILP problem. Consider the following propositions for linearizing constraint (4): Proposition 1. Let az 2 f0; 1g; W z P 0; 0 6 h 6 1 and M is a large constant, then: 8 ðiÞ 0 6 W z  xz þ x0z 6 Mð1  az Þ; z ¼ m þ 1; m þ 2; . . . ; n; > > > > > > ðiiÞ 0 6 W z  x0z þ xz 6 Maz ; z ¼ m þ 1; m þ 2; . . . ; n; > > n  < X  n xz  x0  P 1 () P z W z þ h P 1; ðiiiÞ > > z¼1 > z¼mþ1 > > > P P > > : ðivÞ xi  xi 6 jBj  h; B ¼ fijxi ¼ 1; 1 6 i 6 mg; N ¼ fijxi ¼ 0; 1 6 i 6 mg: i2B

i2N

J.-F. Tsai et al. / European Journal of Operational Research 184 (2008) 802–809

805

Proof 1 (a) If xz  x0z > 0 for some z, m þ 1 6 z 6 n, then az ¼ 1 based on (i) and (ii), which results in jxz  x0z j ¼ W z . (b) If xz  x0z < 0 for some z, mP þ 1 6 z 6 n, then az ¼ 0 based on (i) and (ii), which results in jxz  x0z j ¼ W z .  P n 0  According to (a) and (b), z¼mþ1 xz  xz ¼ nz¼mþ1 W z .    P  P P (c) If mz¼1 xz  x0z  ¼ 0, then h ¼ 0 based on (iv), which results in nz¼mþ1 W z ¼ nz¼mþ1 xz  x0z  P 1 by (a) and (b) without violating with (iii).   Pn Pn (d) If z¼mþ1 xz  x0z  ¼ 0, then z¼mþ1 W z ¼ 0 by (a) and (b), and h ¼ 1 based on (iii), which results in  Pm  0 z¼1 xz  xz P 1 without violating  Pn  with (iv). The above demonstrates that z¼1 xz  x0z  P 1 can be replaced by (i), (ii), (iii) and (iv). h By Proposition 1, Model 1 is equivalently converted into another program as below. Model 2 Minimize Subject to

f ðX Þ ¼ Q 0 6 W z  xz þ x0z 6 Mð1  az Þ; z ¼ m þ 1; m þ 2; . . . ; n; 0 6 W z  x0z þ xz 6 Maz ; z ¼ m þ 1; m þ 2; . . . ; n; n X W z þ h P 1; z¼mþ1 X X xi  xi 6 jBj  h; B ¼ fijxi ¼ 1; 1 6 i 6 mg; N ¼ fijxi ¼ 0; 1 6 i 6 mg; i2B

ð5Þ ð6Þ ð7Þ ð8Þ

i2N

ð1Þ–ð3Þ; where az are 0–1 variables, W z P 0, 0 6 h 6 1, M is a large constant and the other variables are defined the same as before. After reformulating the absolute terms in constraint (4) by the proposed method, the original problem becomes another MILP problem solvable by conventional IP techniques. Pn Remark 1. For linearizing an inequality constraint with a sum of absolute terms z¼1 jxz  x0z j P 1 where xi 2 f0; 1g for 1 6 i 6 m, xi 2 Z for m þ 1 6 i 6 n, the proposed method introduced in Proposition 1 requires n  m additional 0–1 variables, n  m þ 1 additional continuous variables and 4ðn  mÞ þ 2 additional constraints. For finding an alternative solution of an ILP problem with only non-binary variables (xi 2 Z for all iÞ, Proposition 1 can be reduced to Proposition 2 as follows: Proposition 2. Let az 2 f0; 1g, W z P 0 and M is a large constant, then: 8 ðiÞ 0 6 W z  xz þ x0z 6 Mð1  az Þ; z ¼ 1; 2; . . . ; n; > > < n X ðiiÞ 0 6 W z  x0z þ xz 6 Maz ; z ¼ 1; 2; . . . ; n; jxz  x0z j P 1 () n P > > z¼1 : ðiiiÞ W z P 1: z¼1

3. Proposed algorithm The solution algorithm of finding all alternative optima of an ILP problem by the proposed method is described in the following steps. Step 1. Determine an optimal solution. Let j ¼ 0. Solve the ILP problem to obtain the optimal solution ðx1 ; x2 ; . . . ; xn Þ ¼ ðxj1 ; xj2 ; . . . ; xjn Þ and the objective value Q.

806

J.-F. Tsai et al. / European Journal of Operational Research 184 (2008) 802–809

Step 2. Locate all alternative optima. P   n  P 1 to the ILP problem as below to locate an alterLet j ¼ j þ 1, add the constraint z¼1 xz  xj1 z native solution ðx1 ; x2 ; . . . ; xn Þ ¼ ðxj1 ; xj2 ; . . . ; xjn Þ. Minimize Subject to

f ðX Þ ¼ Q n X

jxz  xj1 z j P 1;

for all jðj P 1Þ;

ð9Þ

z¼1

ð1Þ–ð3Þ: The constraint (9) must be transformed by the proposed method in Section 2 so that it can be solved by conventional IP techniques. If f ðX Þ 6¼ Q, then j ¼ j  1 and go to Step 3. Otherwise, reiterate Step 2. Step 3. List all global solutions. List all alternative optimal solutions ðxp1 ; xp2 ; . . . ; xpn Þ, p ¼ 0; 1; . . . ; j. In addition to locating alternative optimal solutions, the proposed integer cuts can be used to find the K best solutions by modifying the termination criterion in the solution algorithm. 4. Numerical examples According to the proposed approach, three examples are presented in the following to illustrate its usefulness in real applications. Example 1. Consider the following fixed-charge problem from Zionts (1974). Maximize

z ¼ x1 þ x2 þ x3

Subject to

20y 1 þ 30y 2 þ x1 þ 2x2 þ 2x3 6 180; 30y 1 þ 20y 2 þ 2x1 þ x2 þ 2x3 6 150;  60y 1 þ x1 6 0;  75y 2 þ x2 6 0; x1 ; x2 ; x3 P 0; x1 ; x2 ; x3 2 Z; y 1 ; y 2 2 f0; 1g:

Solving this problem by LINGO (2004), we can obtain the globally optimal solution ðx1 ; x2 ; x3 ; y 1 ; y 2 Þ ¼ ð23; 53; 0; 1; 1Þ and the objective value 76. Then, we add the following constraint into the problem: jx1  23j þ jx2  53j þ jx3  0j þ jy 1  1j þ jy 2  1j P 1: After reformulating the sum of absolute terms by Proposition 1, another optimal solution ðx1 ; x2 ; x3 ; y 1 ; y 2 Þ ¼ ð22; 53; 1; 1; 1Þ can be derived under the same objective value. Continuing to solve the problem according to the proposed algorithm, we can obtain another four alternative optimal solutions. The solution process is terminated until the objective value obtained is 75. Table 1 lists the number of integer variables, the number of continuous variables, the number of constraints, the number of branch and bound nodes and the number of iterations for solving each alternative optimal solution in Example 1. Example 2. Consider an engineering application: mixing substances. A chemical company is producing two types of substances (A and B) consisting of three types of raw materials (I, II and III). The two substances have different profits and requirements on the compositions of the three materials. The company must also consider the available amount and treatment costs of each material (I, II and III). The problem is formulated below:

J.-F. Tsai et al. / European Journal of Operational Research 184 (2008) 802–809

807

Table 1 Six global solutions of Example 1 Solution

x1

x2

x3

y1

y2

Number of integer variables

Number of continuous variables

Number of constraints

Number of B&B nodes

Number of iterations

1 2 3 4 5 6

23 22 22 24 23 22

53 53 54 52 52 52

0 1 0 0 1 2

1 1 1 1 1 1

1 1 1 1 1 1

5 8 11 14 17 20

0 4 8 12 16 20

4 18 32 46 60 74

2 0 1 0 1 7

50 40 120 59 148 460

Maximize

z ¼ 10ðx1 þ x2 þ x3 Þ þ 8ðy 1 þ y 2 þ y 3 Þ  4ðx1 þ y 1 Þ  5ðx2 þ y 2 Þ  6ðx3 þ y 3 Þ

Subject to

x1 þ y 1 6 400; x2 þ y 2 6 500; x3 þ y 3 6 300; 0:2ðx1 þ x2 þ x3 Þ P x1 ; 0:1ðx1 þ x2 þ x3 Þ P x2 ; 0:2ðx1 þ x2 þ x3 Þ 6 x3 ; 0:4ðy 1 þ y 2 þ y 3 Þ P y 1 ; 0:5ðy 1 þ y 2 þ y 3 Þ P y 3 ; x1 ; x2 ; x3 ; y 1 ; y 2 ; y 3 P 0; x1 ; x2 ; x3 ; y 1 ; y 2 ; y 3 2 Z:

Solving this problem by LINGO (2004), we can obtain the globally optimal solution ðx1 ; x2 ; x3 ; y 1 ; y 2 ; y 3 Þ ¼ ð85; 41; 300; 306; 459; 0Þ and the objective value 4516. Then, we add the following constraint into the problem: jx1  85j þ jx2  41j þ jx3  300j þ jy 1  306j þ jy 2  459j þ jy 3  0j P 1: After reformulating the sum of absolute terms by Proposition 2, another optimal solution ðx1 ; x2 ; x3 ; y 1 ; y 2 ; y 3 Þ ¼ ð85; 42; 299; 306; 458; 1Þ can be derived. Continuing to solve the problem according to the proposed algorithm, the objective value obtained is 4514 and the solution process is terminated. Consequently, we find that this problem has only two global solutions. Table 2 lists the number of integer variables, the number of continuous variables, the number of constraints, the number of branch and bound nodes and the number of iterations for solving two alternative optimal solutions in Example 2. Example 3. In order to evaluate the efficiency of the proposed method on larger ILP poblems, we solve Problem gt2 from the MIPLIB-3.0 library (Bixby et al., 1998). The model gt2 is an ILP problem on truck routing with 29 constraints and 188 integer variables including 24 binary variables. For locating multiple solutions of Problem gt2, a general integer cut is applied to exclude the previous solution and the educational version of Table 2 Two global solutions of Example 2 Solution

x1

x2

x3

y1

y2

y3

Number of integer variables

Number of continuous variables

Number of constraints

Number of B&B nodes

Number of iterations

1 2

85 85

41 42

300 299

306 306

459 458

0 1

6 12

0 6

8 34

0 0

7 40

808

J.-F. Tsai et al. / European Journal of Operational Research 184 (2008) 802–809

LINGO (2004) is used to solve the reformulated problem on a PC with Intel Pentium IV 3.0 GHz CPU and 256MB RAM. Since the capacity of the educational version software is limited to 3200 integer variables, we can only identify 19 optimal solutions with the objective value 21,166 within 2 minutes. There should be other optimal solutions based on the report of locating these 19 optimal solutions. 5. Conclusions This study proposes a mathematical model to obtain all alternative optimal solutions of a general integer linear problem. The original ILP problem with a general integer cut is reformulated into another MILP problem solvable by conventional integer techniques. Then an algorithm is developed for identifying all solutions of an ILP problem. In practical applications, multiple solutions can significantly increase the flexibility for making a decision. Numerical examples are illustrated to support the contributions of the proposed method. Acknowledgements The authors would like to thank the anonymous referees for contributing their valuable comments regarding this paper, and thus significantly improving the quality of this paper. This research was supported by the National Science Council, Taiwan R.O.C. (Grant no. NSC 95-2416-H-027-006, NSC 95-2416-H-158-006). References Balas, E., Jeroslow, R., 1972. Canonical cuts on the unit hypercube. SIAM Journal of Applied Mathematics 23 (1), 61–69. Barnhart, C., Johnson, E.L., Nemhauser, G.L., Savelsbergh, M.W.P., Vance, P.H., 1998. Branch-and-price: Column generation for solving huge integer programs. Operations Research 46 (3), 316–329. Biegler, L.T., Grossmann, I.E., 2004. Retrospective on optimization. Computers and Chemical Engineering 28, 1169–1192. Bixby, R.E., Ceria, S., McZeal C,M., Savelsbergh, M.W.P. 1998. An updated mixed integer programming library: MIPLIB 3.0. Technical Report TR98-03, The Department of Computational and Applied Mathematics, Rice University, Houston, TX. Borchers, B., Mitchell, J.E., 1994. An improved branch and bound algorithm for mixed integer nonlinear programs. Computers and Operations Research 21 (4), 359–367. Caprara, A., Fischetti, M., 1997. Branch-and-cut algorithms. In: Dell’Amico, M., Maffioli, F., Martello, S. (Eds.), Annotated Bibliographies in Combinatorial Optimization. J. Wiley & Sons, Chichester, pp. 45–64. Cardoso, M.F., Salcedo, R.L., Feyo de Azevedo, S., 1996. The simplex-simulated annealing approach to continuous nonlinear optimization. Computer and Chemical Engineering 20, 1065–1080. Dakin, R.J., 1965. A tree search algorithm for mixed integer programming problems. The Computer Journal 8, 250–255. Djerdjour, M., 1997. An enumerative algorithm framework for a class of nonlinear integer programming problems. European Journal of Operational Research 101, 104–121. Duran, M., Grossmann, I.E., 1986. An outer-approximation algorithm for a class of mixed integer nonlinear programs. Mathematical Programming 36, 307–339. Fletcher, R., Leyffer, S., 1994. Solving mixed integer nonlinear programs by outer approximation. Mathematical Programming 66, 327–349. Geoffrion, A.M., 1972. Generalized Benders decomposition. Journal of Optimization Theory and Applications 10, 237–260. Grossmann, I.E., 2002. Review of nonlinear mixed-integer and disjunctive programming techniques. Optimization and Engineering 3, 227–252. Grossmann, I.E., Biegler, L.T., 2004. Future perspective on optimization. Computers and Chemical Engineering 28, 1193–1218. Johnson, E.L., Nemhauser, G.L., Savelsbergh, M.W.P., 2000. Progress in linear programming based branch-and-bound algorithms: An exposition. INFORMS Journal on Computing 12, 1–23. Leyffer, S., 2001. Integrating SQP and branch-and-bound for mixed integer nonlinear programming. Computational Optimization and Applications 18, 295–309. LINGO, 2004. Release 9.0. LINDO System Inc., Chicago. Quesada, I., Grossmann, I.E., 1992. An LP/NLP based branch and bound algorithm for convex minlp optimization problems. Computer and Chemical Engineering 16, 937–947. Rosen, S.L., Harmonosky, C.M., 2005. An improved simulated annealing simulation optimization method for discrete parameter stochastic systems. Computers and Operations Research 21 (4), 359–367. Salcedo, R.L., Goncalves, M.J., Feyo de Azevedo, S., 1990. An improved random-search algorithm for nonlinear optimization. Computer and Chemical Engineering 14, 1111–1126. Salkin, H.M., Mathur, K., 1989. Foundations of Integer Programming. North-Holland, Amsterdam. Simons, R. 1996. How OR Improved Smelter Performance. MP in Action. The Newsletter of Mathematical Programming in Industry and Commerce, United Kingdom, February.

J.-F. Tsai et al. / European Journal of Operational Research 184 (2008) 802–809

809

Stubbs, R.A., Mehrotra, S., 1999. A branch-and-cut method for 0–1 mixed convex programming. Mathematical Programming 86, 515– 532. Taha, H.A., 2003. Operations Research. Seventh ed. Macmillan, New York. Tawarmalani, M., Sahinidis, N.V., 2002. Convexification and Global Optimization in Continuous and Mixed-integer Nonlinear Programming: Theory, Algorithms, Software, and Applications. Kluwer Academic Publishers, Dordrecht. Wang, H.F., Liao, Y.C., 1998. A hybrid approach to resolving a differentiable integer program. Computers and Operations Research 25 (6), 505–517. Westerlund, T., Pettersson, F., 1995. An extended cutting plane method for solving convex MINLP problems. Computer and Chemical Engineering 19, S131–S136. Westerlund, T., Po¨rn, R., 2002. Solving pseudo-convex mixed integer optimization problems by cutting plane techniques. Optimization and Engineering 3, 235–280. Xiong, Y., Rao, S.S., 2004. Fuzzy nonlinear programming for mixed-discrete design optimization through hybrid genetic algorithm. Fuzzy Sets and Systems 146, 167–186. Zionts, S., 1974. Linear and Integer Programming. Prentice-Hall, New Jersey.