# An Interactive Fuzzy Satisficing Method for Multiobjective Nonlinear Integer Programming Problems with Block-Angular Structures through Genetic Algorithms with Decomposition Procedures

Authors: Masatoshi Sakawa; Kosuke Kato
Journal: Advances in Operations Research
 (2009)

---

## Abstract

We focus on multiobjective nonlinear integer programming problems with block-angular structures which are often seen as a mathematical model of large-scale discrete systems optimization. By considering the vague nature of the decision maker's judgments, fuzzy goals of the decision maker are introduced, and the problem
is interpreted as maximizing an overall degree of satisfaction with the multiple fuzzy goals. For deriving a satisficing solution for the decision maker, we develop an interactive fuzzy satisficing method. Realizing the block-angular structures that can be exploited in solving problems, we also propose genetic algorithms with decomposition
procedures. Illustrative numerical examples are provided to demonstrate the feasibility and efficiency of the proposed method.


---

## Body

## 1. Introduction

Genetic algorithms (GAs) [1], initiated by Holland, his colleagues, and his students at the University of Michigan in the 1970s, as stochastic search techniques based on the mechanism of natural selection and natural genetics, have received a great deal of attention regarding their potential as optimization techniques for solving discrete optimization problems or other hard optimization problems. Although genetic algorithms were not much known at the beginning, after the publication of Goldberg's book [2], genetic algorithms have recently attracted considerable attention in a number of fields as a methodology for optimization, adaptation, and learning. As we look at recent applications of genetic algorithms to optimization problems, especially to various kinds of single-objective discrete optimization problems and/or to other hard optimization problems, we can see continuing advances [3–13].Sakawa et al. proposed genetic algorithms with double strings (GADS) [14] for obtaining an approximate optimal solution to multiobjective multidimensional 0-1 knapsack problems. They also proposed genetic algorithms with double strings based on reference solution updating (GADSRSU) [15] for multiobjective general 0-1 programming problems involving both positive coefficients and negative ones. Furthermore, they proposed genetic algorithms with double strings using linear programming relaxation (GADSLPR) [16] for multiobjective multidimensional integer knapsack problems and genetic algorithms with double strings using linear programming relaxation based on reference solution updating (GADSLPRRSU) for linear integer programming problems [17]. Observing that some solution methods for specialized types of nonlinear integer programming problems have been proposed [18–23], as an approximate solution method for general nonlinear integer programming problems, Sakawa et al. [24] proposed genetic algorithms with double strings using continuous relaxation based on reference solution updating (GADSCRRSU).In general, however, actual decision making problems formulated as mathematical programming problems involve very large numbers of variables and constraints. Most of such large-scale problems in the real world often have special structures that can be exploited in solving problems. One familiar special structure is the block-angular structure to the constraints and several kinds of decomposition methods for linear and nonlinear programming problems with block-angular structure have been proposed [25]. Unfortunately, however, for large-scale problems with discrete variables, it seems quite difficult to develop an efficient solution method for obtaining an exact optimal solution. For multidimensional 0-1 knapsack problems with block-angular structures, by utilizing the block-angular structures that can be exploited in solving problems, Sakawa et al. [9, 26] proposed genetic algorithms with decomposition procedures (GADPs). For dealing with multidimensional 0-1 knapsack problems with block angular structures, using triple string representation, Sakawa et al. [9, 26] presented genetic algorithms with decomposition procedures. Furthermore, by incorporating the fuzzy goals of the decision maker, they [9] also proposed an interactive fuzzy satisficing method for multiobjective multidimensional 0-1 knapsack problems with block angular structures.Under these circumstances, in this paper, as a typical mathematical model of large-scale multiobjective discrete systems optimization, we consider multiobjective nonlinear integer programming problems with block-angular structures. By considering the vague nature of the decision maker's judgments, fuzzy goals of the decision maker are introduced, and the problem is interpreted as maximizing an overall degree of satisfaction with the multiple fuzzy goals. For deriving a satisficing solution for the decision maker, we develop an interactive fuzzy satisficing method. Realizing the block-angular structures that can be exploited in solving problems, we also propose genetic algorithms with decomposition procedures for nonlinear integer programming problems with block-angular structures.The paper is organized as follows. Section2 formulates multiobjective nonlinear integer programming problems with block-angular structures. Section 3 develops an interactive fuzzy satisficing method for deriving a satisficing solution for the decision maker. Section 4 proposes GADPCRRSU as an approximate solution method for nonlinear integer programming problems with block-angular structures. Section 5 provides illustrative numerical examples to demonstrate the feasibility and efficiency of the proposed method. Finally the conclusions are considered in Section 6 and the references.


## 2. Problem Formulation

Consider multiobjective nonlinear integer programming problems with block-angular structures formulated as(2.1)minimizefl(x)=fl(x1,…,xP),l=1,2,…,ksubjecttog(x)=g(x1,…,xP)≤0ₙh1(x1)≤0⋱⋮hP(xP)≤0xjJ∈{0,1,…,VjJ},J=1,2,…,P,j=1,2,…,nJ,
where xJ, J=1,2,…,P, are nJ dimensional integer decision variable column vectors and x=((x1)T,…,(xP)T)T. The constraints g(x)=(g1(x),…,gm0(x))T≤0 are called as coupling constraints with m0 dimension, while each of constraints hJ(xJ)=(h1J(x1),…,hmJJ(xJ))T≤0, J=1,2,…,P, is  called as block constraints with mJ dimension. In (2.1), it is assumed that fl(·), gi(·), hiJ(·) are general nonlinear functions. The positive integers VjJ, J=1,2,…,P, j=1,2,…,nJ, represent upper bounds for xjJ. In the following, for notational convenience, the feasible region of (2.1) is denoted by X.As an example of nonlinear integer programming problems with block-angular structures in practical applications, Bretthauer et al. [27] formulated health care capacity planning, resource constrained production planning, and portfolio optimization with industry constraints.


## 3. An Interactive Fuzzy Satisficing Method

In order to consider the vague nature of the decision maker's judgments for each objective function in (2.1), if we introduce the fuzzy goals such as “fl(x) should be substantially less than or equal to a certain value," (2.1) can be rewritten as
(3.1)maximizex∈X(μ1(f1(x)),…,μk(fk(x))),
where μl(·) is the membership function to quantify the fuzzy goal for the lth objective function in (2.1). To be more specific, if the decision maker feels that fl(x) should be less than or equal to at least fl0 and fl(x)≤fl1(≤fl0) is satisfactory, the shape of a typical membership function is shown in Figure 1.Figure 1
An example of membership functions.Since (3.1) is regarded as a fuzzy multiobjective optimization problem, a complete optimal solution that simultaneously minimizes all of the multiple objective functions does not always exist when the objective functions conflict with each other. Thus, instead of a complete optimal solution, as a natural extension of the Pareto optimality concept for ordinary multiobjective programming problems, Sakawa et al. [28, 29] introduced the concept of M-Pareto optimal solutions which is defined in terms of membership functions instead of objective functions, where M refers to membership.Definition 3.1 (M-Pareto optimality).
A feasible solutionx*∈X is said to be M-Pareto optimal to a fuzzy multiobjective optimization problem if and only if there does not exist another feasible solution x∈X such as μl(fl(x))≥μl(fl(x*)), l=1,2,…,k, and μj(fj(x))>μj(fj(x*)) for at least one j∈{1,2,…,k}.Introducing an aggregation functionμD(x) for k membership functions in (3.1), the problem can be rewritten as
(3.2)maximizex∈XμD(x),
where the aggregation function μD(·) represents the degree of satisfaction or preference of the decision maker for the whole of k fuzzy goals. In the conventional fuzzy approaches, it has been implicitly assumed that the minimum operator is the proper representation of the decision maker's fuzzy preferences. However, it should be emphasized here that this approach is preferable only when the decision maker feels that the minimum operator is appropriate. In other words, in general decision situations, the decision maker does not always use the minimum operator when combining the fuzzy goals and/or constraints. Probably the most crucial problem in (3.2) is the identification of an appropriate aggregation function which well represents the decision maker's fuzzy preferences. If μD(·) can be explicitly identified, then (3.2) reduces to a standard mathematical programming problem. However, this rarely happens, and as an alternative, an interaction with the decision maker is necessary to find a satisficing solution for (3.1).In order to generate candidates of a satisficing solution which are M-Pareto optimal, the decision maker is asked to specify the aspiration levels of achievement for all membership functions, called reference membership levels. For reference membership levels given by the decision makerμ̅l, l=1,2,…,k, the corresponding M-Pareto optimal solution to μ̅, which is the nearest to the requirements in the minimax sense or better than that if the reference membership levels are attainable, is obtained by solving the following augmented minimax problem:
(3.3)minimizex∈Xmaxl=1,2,…,k{(μ̅l-μl(fl(x)))+ρ∑j=1k(μ̅j-μj(fj(x)))},
where ρ is a sufficiently small positive real number.We can now construct an interactive algorithm in order to derive a satisficing solution for the decision maker from among the M-Pareto optimal solution set. The procedure of the interactive fuzzy satisficing method is summarized as follows.


### 3.1. An Interactive Fuzzy Satisficing Method

Step 1.
Calculate the individual minimum and maximum of each objective function under the given constraints by solving the following problems:(3.4)minimizex∈Xfl(x),l=1,2,…,k,maximizex∈Xfl(x),l=1,2,…,k.Step 2.
By considering the individual minimum and maximum of each objective function, the decision maker subjectively specifies membership functionsμl(fl(x)), l=1,2,…,k, to quantify fuzzy goals for objective functions.Step 3.
The decision maker sets initial reference membership levelsμ̅l, l=1,2,…,k.Step 4.
For the current reference membership levels, solve the augmented minimax problem (3.3) to obtain the M-Pareto optimal solution and the membership function value.Step 5.
If the decision maker is satisfied with the current levels of the M-Pareto optimal solution, stop. Then the current M-Pareto optimal solution is the satisficing solution of the decision maker. Otherwise, ask the decision maker to update the current reference membership levelsμ̅l, l=1,2,…,k, by considering the current values of the membership functions and return to Step 4.In the interactive fuzzy satisficing method, it is required to solve nonlinear integer programming problems with block-angular structures (3.3) together with (3.4). It is significant to note that these problems are single objective integer programming problems with block-angular structures. Realizing this difficulty, in the next section, we propose genetic algorithms with decomposition procedures using continuous relaxation based on reference solution updating (GADPCRRSU).


## 3.1. An Interactive Fuzzy Satisficing Method

Step 1.
Calculate the individual minimum and maximum of each objective function under the given constraints by solving the following problems:(3.4)minimizex∈Xfl(x),l=1,2,…,k,maximizex∈Xfl(x),l=1,2,…,k.Step 2.
By considering the individual minimum and maximum of each objective function, the decision maker subjectively specifies membership functionsμl(fl(x)), l=1,2,…,k, to quantify fuzzy goals for objective functions.Step 3.
The decision maker sets initial reference membership levelsμ̅l, l=1,2,…,k.Step 4.
For the current reference membership levels, solve the augmented minimax problem (3.3) to obtain the M-Pareto optimal solution and the membership function value.Step 5.
If the decision maker is satisfied with the current levels of the M-Pareto optimal solution, stop. Then the current M-Pareto optimal solution is the satisficing solution of the decision maker. Otherwise, ask the decision maker to update the current reference membership levelsμ̅l, l=1,2,…,k, by considering the current values of the membership functions and return to Step 4.In the interactive fuzzy satisficing method, it is required to solve nonlinear integer programming problems with block-angular structures (3.3) together with (3.4). It is significant to note that these problems are single objective integer programming problems with block-angular structures. Realizing this difficulty, in the next section, we propose genetic algorithms with decomposition procedures using continuous relaxation based on reference solution updating (GADPCRRSU).


## 4. Genetic Algorithms with Decomposition Procedures

As discussed above, in this section, we propose genetic algorithms with decomposition procedures using continuous relaxation based on reference solution updating (GADPCRRSU) as an approximate solution method for nonlinear integer programming problems with block-angular structures.Consider single-objective nonlinear integer programming problems with block-angular structures formulated as(4.1)minimizef(x)=f(x1,…,xP)subjecttog(x)=g(x1,…,xP)≤0h1(x1)≤0⋱⋮hP(xP)≤0xjJ∈{0,1,…,VjJ},J=1,2,…,P,j=1,2,…,nJ.
Observe that this problem can be viewed as a single-objective version of the original problem (2.1).Sakawa et al. [24] have already studied genetic algorithms with double strings using continuous relaxation based on reference solution updating (GADSCRRSU) for ordinary nonlinear integer programming problems formulated as
(4.2)minimizef(x)subjecttogi(x)≤0,i=1,2,…,m,xj∈{0,1,…,Vj},j=1,2,…,n,
where an individual is represented by a double string. In a double string as is shown in Figure 2, for a certain j, ν(j)∈{1,2,…,n} represents an index of a variable in the solution space, while yν(j), j=1,2,…,n, does the value among {0,1,…,Vν(j)} of the ν(j)th variable xν(j).Figure 2
Double string.In view of the block-angular structure of (4.1), it seems to be quite reasonable to define an individual S as an aggregation of Psubindividuals sJ, J=1,2,…,P, corresponding to the block constraint hJ(xJ)≤0 as shown in Figure 3.Figure 3
Division of an individual intoP subindividuals.If these subindividuals are represented by double strings, for each of subindividualssJ, J=1,2,…,P, a phenotype (subsolution) satisfying each of the block constraints can be obtained by the decoding algorithm in GADSCRRSU.Unfortunately, however, the simple combination of these subsolutions does not always satisfy the coupling constraintsg(x)≤0. To cope with this problem, a triple string representation as shown in Figure 4 and the corresponding decoding algorithm are presented as an extension of the double string representation and the corresponding decoding algorithm. By using the proposed representation and decoding algorithm, a phenotype (solution) satisfying both the block constraints and coupling constraints can be obtained for each individual S=(s1,s2,…,sP).Figure 4
Triple string.To be more specific, in a triple string which represents a subindividual corresponding to theJth block, rJ∈{1,2,…,P} represents the priority of the Jth block, each νJ(j)∈{1,2,…,nJ} is an index of a variable in phenotype and each yνJ(j)J takes an integer value among {0,1,…,VνJ(j)J}. As in GADSCRRSU, a feasible solution, called a reference solution, is necessary for decoding of triple strings. In our proposed GADPCRRSU, the reference solution is obtained as a solution x* to a minimization problem of constraint violation. In the following, we summarize the decoding algorithm for triple strings using a reference solution x*, where N is the number of individuals and I is a counter for the individual number.


### 4.1. Decoding Algorithm for Triple String

Step 1.
LetI:=1.Step 2.
If1≤I≤⌊N/2⌋, go to Step 3. Otherwise, go to Step 11.Step 3.
Letx:=0, r:=1, L:=0.Step 4.
FindJ∈{1,2,…,P} such that rJ=r. Let j:=1, l:=0.Step 5.
LetxvJ(j)J:=yνJ(j)J.Step 6.
Ifg(x)≤0 and hJ(xJ)≤0, let L:=r, l:=j, j:=j+1 and go to Step 7. Otherwise, let j:=j+1 and go to Step 7.Step 7.
Ifj>nJ, let r:=r+1 and go to Step 8. Otherwise, go to Step 5.Step 8.
Ifr>P, go to Step 9. Otherwise, go to Step 4.Step 9.
IfL=0 and l=0, go to Step 11. Otherwise, go to Step 10.Step 10.
FindJ(r) such that rJ(r)=r for r=1,…,L-1. Then, let xνJ(r)(j)J(r):=yνJ(r)(j)J(r), j=1,2,…,nJ(r). Furthermore, find J(L) such that rJ(L)=L and let xνJ(L)(j)J(L):=yνJ(L)(j)J(L), j=1,2,…,l. The remainder elements of x are set to 0. Terminate the decoding process.Step 11.
Letx:=x*, r:=1 and go to Step 12.Step 12.
FindJ∈{1,2,…,P} such that rJ=r and let j:=1.Step 13.
LetxνJ(j)J:=yνJ(j)J. If yνJ(j)J=xνJ(j)*J, let j:=j+1 and go to Step 15. If yνJ(j)J≠xνJ(j)*J, go to Step 14.Step 14.
Ifg(x)≤0 and hJ(xJ)≤0, let j:=j+1 and go to Step 15. Otherwise, let xνJ(j)J:=xνJ(j)*J, j:=j+1 and go to Step 15.Step 15.
Ifj≤nJ, go to Step 13. Otherwise, let r:=r+1 and go to Step 16.Step 16.
Ifr≤P, go to Step 12. Otherwise, I:=I+1 and go to Step 17.Step 17.
IfI≤N, go to Step 2. Otherwise, terminate the decoding process.It is expected that an optimal solution to the continuous relaxation problem becomes a good approximate optimal solution of the original nonlinear integer programming problem. In the proposed method, after obtaining an (approximate) optimal solutionx̂jJ, J=1,2,…,P, j=1,2,…,nJ to the continuous relaxation problem, we suppose that each decision variable xjJ takes exactly or approximately the same value that x̂jJ does. In particular, decision variables xjJ such as x̂jJ=0 are very likely to be equal to 0.To be more specific, the information of the (approximate) optimal solutionx̂ to the continuous relaxation problem of (4.1) is used when generating the initial population and performing mutation. In order to generate the initial population, when we determine the value of each yνJ(j)J in the lowest row of a triple string, we use a Gaussian random variable with mean x̂νJ(j)J and variance σ. In mutation, when we change the value of yνJ(j)J for some (J,j), we also use a Gaussian random variable with mean x̂νJ(j)J and variance τ.Various kinds of reproduction methods have been proposed. Among them, Sakawa et al. [14] investigated the performance of each of six reproduction operators, that is, ranking selection, elitist ranking selection, expected value selection, elitist expected value selection, roulette wheel selection, and elitist roulette wheel selection, and as a result confirmed that elitist expected value selection is relatively efficient for multiobjective 0-1 programming problems incorporating the fuzzy goals of the decision maker. Thereby, the elitist expected value selection—elitism and expected value selection combined together—is adopted. Here, elitism and expected value selection are summarized as follows.Elitism
If the fitness of an individual in the past populations is larger than that of every individual in the current population, preserve this string into the current generation.Expected Value Selection
For a population consisting ofN individuals, the expected number of each snJ, J=1,2,…,P, each subindividual of the nth individual Sn, in the next population, is given by
(4.3)Nn=f(Sn)∑n=1Nf(Sn)×N.
Then, the integral part of Nn(=⌊Nn⌋) denotes the definite number of snJ preserved in the next population. While, using the decimal part of Nn(=Nn-⌊Nn⌋), the probability to preserve snJ, J=1,2,…,P, in the next population is determined by
(4.4)Nn-⌊Nn⌋∑n=1N(Nn-⌊Nn⌋).
If a single-point crossover or multipoint crossover is directly applied to upper or middle string of individuals of triple string type, the kth element of the string of an offspring may take the same number that the k′th element takes. The same violation occurs in solving the traveling salesman problems or scheduling problems through genetic algorithms. In order to avoid this violation, a crossover method called partially matched crossover (PMX) is modified to be suitable for triple strings. PMX is applied as usual for upper strings, whereas, for a couple of middle string and lower string, PMX for double strings [14] is applied to every subindividual.It is now appropriate to present the detailed procedures of the crossover method for triple strings.


### 4.2. Partially Matched Crossover (PMX) for Upper String

Let(4.5)X=rX1,rX2,…,rXP
be the upper string of an individual and let
(4.6)Y=rY1,rY2,…,rYP
be the upper string of another individual. Prepare copies X′ and Y′ of X and Y, respectively.Step 1.
Choose two crossover points at random on these strings, say,h and k(h<k).Step 2.
Seti:=h and repeat the following procedures.          (a)
FindJ such that rX′J=rYi. Then, interchange rX′i with rX′J and set i:=i+1.(b)
Ifi>k, stop and let X′ be the offspring of X. Otherwise, return to (a). Step 2 is carried out for Y′ in the same manner, as shown in Figure 5.Figure 5
An example of PMX for upper string.


### 4.3. Partially Matched Crossover (PMX) for Double String

Let(4.7)X=νXJ(1),νXJ(2),…,νXJ(nJ)yνXJ(1)J,yνXJ(2)J,…,yνXJ(nJ)J
be the middle and lower part of a subindividual in the Jth subpopulation, and(4.8)Y=νYJ(1),νYJ(2),…,νYJ(nJ)yνYJ(1)J,yνYJ(2)J,…,yνYJ(nJ)J
be the middle and lower parts of another subindividual in the Jth subpopulation. First, prepare copies X′ and Y′ of X and Y, respectively.Step 1.
Choose two crossover points at random on these strings, say,h and k(h<k).Step 2.
Seti:=h and repeat the following procedures.          (a)
Findi′ such that νX′J(i′)=νYJ(i). Then, interchange (νX′J(i),yνX′J(i)J)T with (νX′J(i′),yνX′J(i′)J)T and set i:=i+1.(b)
Ifi>k, stop. Otherwise, return to (a).Step 3.
Replace the part fromh to k of X′ with that of Y and let X′ be the offspring of X.This procedure is carried out forY′ and X in the same manner, as shown in Figure 6.Figure 6
An example of PMX for double string.It is considered that mutation plays the role of local random search in genetic algorithms. Only for the lower string of a triple string, mutation of bit-reverse type is adopted and applied to every subindividual.For the upper string and for the middle and lower string of the triple string, inversion defined by the following algorithm is adoptedStep 1.
After determining two inversion pointsh and k(h<k), pick out the part of the string from h to k.Step 2.
Arrange the substring in reverse order.Step 3.
Put the arranged substring back in the string.Figure7 illustrates examples of mutation.Figure 7
Examples of mutation.Now we are ready to introduce the genetic algorithm with decomposition procedures as an approximate solution method for nonlinear integer programming problems with block angular structures. The outline of procedures is shown in Figure8.Figure 8
The outline of procedures.


### 4.4. Computational Procedures

Step 1.
Set an iteration index (generation)t=0 and determine the parameter values for the population size N, the probability of crossover pc, the probability of mutation pm, the probability of inversion pi, variances σ, τ, the minimal search generation Imin and the maximal search generation Imax.Step 2.
GenerateN individuals whose subindividuals are of triple string type at random.Step 3.
Evaluate each individual (subindividual) on the basis of phenotype obtained by the decoding algorithm and calculate the mean fitnessfmean and the maximal fitness fmax of the population. If t>Imin and (fmax-fmean)/fmax<ε, or, if t>Imax, regard an individual with the maximal fitness as an optimal individual and terminate this program. Otherwise, set t=t+1 and proceed to Step 4.Step 4.
Apply the reproduction operator to all subpopulations{snJ∣n=1,2,…,N}, J=1,2,…,P.Step 5.
Apply the PMX for double strings to the middle and lower part of every subindividual according to the probability of crossoverpc.Step 6.
Apply the mutation operator of the bit-reverse type to the lower part of every subindividual according to the probability of mutationpm and apply the inversion operator for the middle and lower parts of every subindividual according to the probability of inversion pi.Step 7.
Apply the PMX for upper strings according topc.Step 8.
Apply the inversion operator for upper strings according topi and return to Step 3.It should be noted here that, in the algorithm, the operations in the Steps 4, 5, and 6 can be applied to every subindividual of all individuals independently. As a result, it is theoretically possible to reduce the amount of working memory needed to solve the problem and carry out parallel processing.


## 4.1. Decoding Algorithm for Triple String

Step 1.
LetI:=1.Step 2.
If1≤I≤⌊N/2⌋, go to Step 3. Otherwise, go to Step 11.Step 3.
Letx:=0, r:=1, L:=0.Step 4.
FindJ∈{1,2,…,P} such that rJ=r. Let j:=1, l:=0.Step 5.
LetxvJ(j)J:=yνJ(j)J.Step 6.
Ifg(x)≤0 and hJ(xJ)≤0, let L:=r, l:=j, j:=j+1 and go to Step 7. Otherwise, let j:=j+1 and go to Step 7.Step 7.
Ifj>nJ, let r:=r+1 and go to Step 8. Otherwise, go to Step 5.Step 8.
Ifr>P, go to Step 9. Otherwise, go to Step 4.Step 9.
IfL=0 and l=0, go to Step 11. Otherwise, go to Step 10.Step 10.
FindJ(r) such that rJ(r)=r for r=1,…,L-1. Then, let xνJ(r)(j)J(r):=yνJ(r)(j)J(r), j=1,2,…,nJ(r). Furthermore, find J(L) such that rJ(L)=L and let xνJ(L)(j)J(L):=yνJ(L)(j)J(L), j=1,2,…,l. The remainder elements of x are set to 0. Terminate the decoding process.Step 11.
Letx:=x*, r:=1 and go to Step 12.Step 12.
FindJ∈{1,2,…,P} such that rJ=r and let j:=1.Step 13.
LetxνJ(j)J:=yνJ(j)J. If yνJ(j)J=xνJ(j)*J, let j:=j+1 and go to Step 15. If yνJ(j)J≠xνJ(j)*J, go to Step 14.Step 14.
Ifg(x)≤0 and hJ(xJ)≤0, let j:=j+1 and go to Step 15. Otherwise, let xνJ(j)J:=xνJ(j)*J, j:=j+1 and go to Step 15.Step 15.
Ifj≤nJ, go to Step 13. Otherwise, let r:=r+1 and go to Step 16.Step 16.
Ifr≤P, go to Step 12. Otherwise, I:=I+1 and go to Step 17.Step 17.
IfI≤N, go to Step 2. Otherwise, terminate the decoding process.It is expected that an optimal solution to the continuous relaxation problem becomes a good approximate optimal solution of the original nonlinear integer programming problem. In the proposed method, after obtaining an (approximate) optimal solutionx̂jJ, J=1,2,…,P, j=1,2,…,nJ to the continuous relaxation problem, we suppose that each decision variable xjJ takes exactly or approximately the same value that x̂jJ does. In particular, decision variables xjJ such as x̂jJ=0 are very likely to be equal to 0.To be more specific, the information of the (approximate) optimal solutionx̂ to the continuous relaxation problem of (4.1) is used when generating the initial population and performing mutation. In order to generate the initial population, when we determine the value of each yνJ(j)J in the lowest row of a triple string, we use a Gaussian random variable with mean x̂νJ(j)J and variance σ. In mutation, when we change the value of yνJ(j)J for some (J,j), we also use a Gaussian random variable with mean x̂νJ(j)J and variance τ.Various kinds of reproduction methods have been proposed. Among them, Sakawa et al. [14] investigated the performance of each of six reproduction operators, that is, ranking selection, elitist ranking selection, expected value selection, elitist expected value selection, roulette wheel selection, and elitist roulette wheel selection, and as a result confirmed that elitist expected value selection is relatively efficient for multiobjective 0-1 programming problems incorporating the fuzzy goals of the decision maker. Thereby, the elitist expected value selection—elitism and expected value selection combined together—is adopted. Here, elitism and expected value selection are summarized as follows.Elitism
If the fitness of an individual in the past populations is larger than that of every individual in the current population, preserve this string into the current generation.Expected Value Selection
For a population consisting ofN individuals, the expected number of each snJ, J=1,2,…,P, each subindividual of the nth individual Sn, in the next population, is given by
(4.3)Nn=f(Sn)∑n=1Nf(Sn)×N.
Then, the integral part of Nn(=⌊Nn⌋) denotes the definite number of snJ preserved in the next population. While, using the decimal part of Nn(=Nn-⌊Nn⌋), the probability to preserve snJ, J=1,2,…,P, in the next population is determined by
(4.4)Nn-⌊Nn⌋∑n=1N(Nn-⌊Nn⌋).
If a single-point crossover or multipoint crossover is directly applied to upper or middle string of individuals of triple string type, the kth element of the string of an offspring may take the same number that the k′th element takes. The same violation occurs in solving the traveling salesman problems or scheduling problems through genetic algorithms. In order to avoid this violation, a crossover method called partially matched crossover (PMX) is modified to be suitable for triple strings. PMX is applied as usual for upper strings, whereas, for a couple of middle string and lower string, PMX for double strings [14] is applied to every subindividual.It is now appropriate to present the detailed procedures of the crossover method for triple strings.


## 4.2. Partially Matched Crossover (PMX) for Upper String

Let(4.5)X=rX1,rX2,…,rXP
be the upper string of an individual and let
(4.6)Y=rY1,rY2,…,rYP
be the upper string of another individual. Prepare copies X′ and Y′ of X and Y, respectively.Step 1.
Choose two crossover points at random on these strings, say,h and k(h<k).Step 2.
Seti:=h and repeat the following procedures.          (a)
FindJ such that rX′J=rYi. Then, interchange rX′i with rX′J and set i:=i+1.(b)
Ifi>k, stop and let X′ be the offspring of X. Otherwise, return to (a). Step 2 is carried out for Y′ in the same manner, as shown in Figure 5.Figure 5
An example of PMX for upper string.


## 4.3. Partially Matched Crossover (PMX) for Double String

Let(4.7)X=νXJ(1),νXJ(2),…,νXJ(nJ)yνXJ(1)J,yνXJ(2)J,…,yνXJ(nJ)J
be the middle and lower part of a subindividual in the Jth subpopulation, and(4.8)Y=νYJ(1),νYJ(2),…,νYJ(nJ)yνYJ(1)J,yνYJ(2)J,…,yνYJ(nJ)J
be the middle and lower parts of another subindividual in the Jth subpopulation. First, prepare copies X′ and Y′ of X and Y, respectively.Step 1.
Choose two crossover points at random on these strings, say,h and k(h<k).Step 2.
Seti:=h and repeat the following procedures.          (a)
Findi′ such that νX′J(i′)=νYJ(i). Then, interchange (νX′J(i),yνX′J(i)J)T with (νX′J(i′),yνX′J(i′)J)T and set i:=i+1.(b)
Ifi>k, stop. Otherwise, return to (a).Step 3.
Replace the part fromh to k of X′ with that of Y and let X′ be the offspring of X.This procedure is carried out forY′ and X in the same manner, as shown in Figure 6.Figure 6
An example of PMX for double string.It is considered that mutation plays the role of local random search in genetic algorithms. Only for the lower string of a triple string, mutation of bit-reverse type is adopted and applied to every subindividual.For the upper string and for the middle and lower string of the triple string, inversion defined by the following algorithm is adoptedStep 1.
After determining two inversion pointsh and k(h<k), pick out the part of the string from h to k.Step 2.
Arrange the substring in reverse order.Step 3.
Put the arranged substring back in the string.Figure7 illustrates examples of mutation.Figure 7
Examples of mutation.Now we are ready to introduce the genetic algorithm with decomposition procedures as an approximate solution method for nonlinear integer programming problems with block angular structures. The outline of procedures is shown in Figure8.Figure 8
The outline of procedures.


## 4.4. Computational Procedures

Step 1.
Set an iteration index (generation)t=0 and determine the parameter values for the population size N, the probability of crossover pc, the probability of mutation pm, the probability of inversion pi, variances σ, τ, the minimal search generation Imin and the maximal search generation Imax.Step 2.
GenerateN individuals whose subindividuals are of triple string type at random.Step 3.
Evaluate each individual (subindividual) on the basis of phenotype obtained by the decoding algorithm and calculate the mean fitnessfmean and the maximal fitness fmax of the population. If t>Imin and (fmax-fmean)/fmax<ε, or, if t>Imax, regard an individual with the maximal fitness as an optimal individual and terminate this program. Otherwise, set t=t+1 and proceed to Step 4.Step 4.
Apply the reproduction operator to all subpopulations{snJ∣n=1,2,…,N}, J=1,2,…,P.Step 5.
Apply the PMX for double strings to the middle and lower part of every subindividual according to the probability of crossoverpc.Step 6.
Apply the mutation operator of the bit-reverse type to the lower part of every subindividual according to the probability of mutationpm and apply the inversion operator for the middle and lower parts of every subindividual according to the probability of inversion pi.Step 7.
Apply the PMX for upper strings according topc.Step 8.
Apply the inversion operator for upper strings according topi and return to Step 3.It should be noted here that, in the algorithm, the operations in the Steps 4, 5, and 6 can be applied to every subindividual of all individuals independently. As a result, it is theoretically possible to reduce the amount of working memory needed to solve the problem and carry out parallel processing.


## 5. Numerical Examples

In order to demonstrate the feasibility and efficiency of the proposed method, consider the following multiobjective quadratic integer programming problem with block-angular structures:(5.1)minimizefl(x)=∑J=1P(clJxJ+(12)(xJ)TClJxJ),l=1,2,…,k,subjecttogi(x)=-∑J=1P(aiJxJ+(12)(xJ)TAiJxJ)+bi0≤0,i=1,2,…,m0,hiJ(xJ)=-(diJxJ+(12)(xJ)TDiJxJ)+biJ≤0,J=1,2,…,P,i=1,2,…,mJ,xjJ∈{0,1,…,VjJ},J=1,2,…,P,j=1,2,…,nJ,
For comparison, genetic algorithms with double strings using continuous relaxation based on reference solution updating (GADSCRRSU) [24] are also adopted. It is significant to note here that decomposition procedures are not involved in GADSCRRSU.For this problem, we setk=3, P=5, n1=n2=⋯=n5=10, m0=2 and m1=m2=⋯=m5=5, VjJ=30, J=1,2,…,5, j=1,2,…,10. Elements of clJ,ClJ,aiJ,AiJ,diJ and DiJ in objectives and constraints of the above problem are determined by uniform random number on [-100,100], and those of bJ in constraints are determined so that the feasible region is not empty.Numerical experiments are performed on a personal computer (CPU: Intel Celeron Processor, 900 MHz, Memory: 256 MB, C_Compiler: Microsoft Visual C++ 6.0).Parameter values of GADPCRRSU are set as: population sizeN=100, crossover rate pc=0.9, mutation rate pm=0.05, inversion rate pi=0.05, variances σ=2.0, τ=3.0, minimal search generation number Imin=500, and maximal search generation number Imax=1000.In this numerical example, for the sake of simplicity, the linear membership function(5.2)μl(fl(x))={1,fl(x)<fl,1,fl(x)-fl,0fl,1-fl,0,fl,1≤fl(x)≤fl,0,0,fl(x)>fl,0
is adopted, and the parameter values are determined as [30]
(5.3)fl,1=fl,min=fl(xminl)=minx∈Xfl(x),l=1,2,…,k,fl,0=max{fl(xmin1),…,fl(xminl-1),fl(xminl+1),…,fl(xmink)},l=1,2,…,k.
For the initial reference levels (1,1,1), the augmented minimax problem (3.3) is solved. The obtained solutions are shown at the second column in Table 1. Assume that the hypothetical decision maker is not satisfied with the current solution and he feels that μ1(f1(x)) and μ3(f3(x)) should be improved at the expense of μ2(f2(x)). Then, the decision maker updates the reference membership levels to (1,0.9000,1). The result for the updated reference membership levels is shown at the third column in Table 1. Since the decision maker is not satisfied with the current solution, he updates the reference membership levels to (1,0.900,0.900) for obtaining better value of μ1(f1(x)). A similar procedure continues in this way and, in this example, a satisficing solution for the decision maker is derived at the third interaction.Table 1
The whole process of interaction.
Interaction1st2nd3rdμ̅1111μ̅210.9000.900μ̅3110.900μ1(f1(x))0.4960.5520.554μ2(f2(x))0.4970.4500.474μ3(f3(x))0.4910.5580.524f1(x)150005013354231326906f2(x)-1629427-1475077-1553513f3(x)15822686012123127Computation time (sec)GADPCRRSU (proposed method)26.732.824.2GADSCRRSU (no decomposition)539.6584.7503.3Table1 shows that the proposed interactive method using GADPCRRSU with decomposition procedures can find an (approximate) optimal solution at each interaction in shorter time than that using GADSCRRSU without decomposition procedures.Furthermore, in order to see how the computation time changes with the increased size of block-angular nonlinear integer programming problems, typical problems with 10, 20, 30, 40, and 50 variables are solved by GADPCRRSU and GADSCRRSU. As depicted in Figure9, it can be seen that the computation time of the proposed GADPCRRSU increases almost linearly with the size of the problem while that of GADSCRRSU increases rapidly and nonlinearly.Figure 9
The comparison of computation time.


## 6. Conclusions

In this paper, as a typical mathematical model of large-scale discrete systems optimization, we considered multiobjective nonlinear integer programming with block-angular structures. Taking into account vagueness of judgments of the decision makers, fuzzy goals of the decision maker were introduced, and the problem was interpreted as maximizing an overall degree of satisfaction with the multiple fuzzy goals. An interactive fuzzy satisficing method was developed for deriving a satisficing solution for the decision maker. Realizing the block-angular structures that can be exploited, we also propose genetic algorithms with decomposition procedures for solving nonlinear integer programming problems with block-angular structures. Illustrative numerical examples were provided to demonstrate the feasibility and efficiency of the proposed method. Extensions to multiobjective two-level integer programming problems with block-angular structures will be considered elsewhere. Also extensions to stochastic multiobjective two-level integer programming problems with block-angular structures will be required in the near future.



---

*Source: 372548-2009-08-16.xml*