• Sonuç bulunamadı

A multi-objective genetic algorithm for a special type of 2D orthogonal packing problems

N/A
N/A
Protected

Academic year: 2021

Share "A multi-objective genetic algorithm for a special type of 2D orthogonal packing problems"

Copied!
16
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

journal homepage: www.elsevier.com/locate/apm

A

multi-objective

genetic

algorithm

for

a

special

type

of

2D

orthogonal

packing

problems

˙Ihsan

Erozan

,

Enes

Çalı ¸s

kan

Kütahya Dumlupınar University, Kütahya, Turkey

a

r

t

i

c

l

e

i

n

f

o

Article history:

Received 8 February 2019 Revised 26 June 2019 Accepted 2 July 2019 Available online 6 July 2019 Keywords:

Orthogonal packing problem Multi-objective genetic algorithm Defensive radius

Conic scalarisation

a

b

s

t

r

a

c

t

Inthisstudy,amulti-objectivemodelisproposedforaspecifictwo-dimensional orthog-onal packingproblem.The modelhasthree objectives,namely:(i)tominimisethe dis-tancesbetween thecentres ofrectangularitems, (ii) touse aminimisation functionto placetherelatedrectangularitemsclosetoeachother,and (iii)tominimisetheareaof eachrectangular itemthat fallsoutside oftheradius. In addition tothe weighted-sum method,themodelusestheconicscalarisationmethodforscalarisationofthenonlinear multi-objectiveoptimisationproblem. Theproposedmodel isahybridisationofa place-ment procedureand amulti-objectivegenetic algorithm,and introducesthe conceptof thedefensiveradiustotheliterature.Themodelistestedonarandomlygeneratedsetof instancesand sometestproblems. Thecomputationalresults validatethequality ofthe solutions and the effectivenessofthe proposed multi-objectivemodel comparedto the clusterboundaryalgorithm.Besides,theresultsshowthattheconicscalarisation outper-formstheweighted-summethodintermsofscalarresultsinmostcases.

© 2019ElsevierInc.Allrightsreserved.

1. Introduction

A two-dimensional orthogonal packing problem involves determining whether a set of rectangles can be allocated into a single rectangle of fixed size [1]. This problem class has many real-world applications, such as material cutting, packing, cutting problems in the lumber industry, facility layouts, and container loading problems. These applications are mainly concerned with the cutting of rectangular objects from a large rectangular piece of material or the allocation of rectangular objects into a larger rectangular region with a fixed size to minimise the unused area.

Two-dimensional orthogonal packing problems are generally multi-objective and multi-stage problems. However, when the literature is examined in detail, it can easily be seen that research into multi-objective two-dimensional orthogonal packing problems is relatively limited. Some applications of multi-objective algorithms to orthogonal packing problems are presented in the following.

De Armas et al. [2]investigated a two-dimensional strip packing problem and proposed a multi-objective evolutionary algorithm that considered both the length and the number of cuts. Tiwari and Chakraborti [3]described a method for optimising the layout of rectangular parts placed onto a rectangular sheet for various parts to be cut out. The optimisation problem is achieved with respect to two design objectives, involving the minimisation of (i) the length of the mother sheet required, and (ii) the total number of cuts required to obtain all the parts from the mother sheet. Illich et al. [4]described

Corresponding author.

E-mail address: ihsan.erozan@dpu.edu.tr ( ˙I. Erozan). https://doi.org/10.1016/j.apm.2019.07.010

(2)

posed a genetic algorithm approach for solving the problem of rectangular cutting stock, for which the performance measure was the minimisation of waste. Gonçalves [10]proposed a hybridised placement procedure involving a genetic algorithm for a two-dimensional orthogonal packing problem. Alvarez-Valdes et al. [11] studied a two-dimensional non-guillotine cut- ting problem and proposed a tabu search algorithm for this problem. Shoukun et al. [12]proposed an improved genetic algorithm for a non-guillotine rectangle packing problem. Bonnevay et al. [13]addressed a two-dimensional cutting stock problem and developed a genetic algorithm to automatically find the most suitable number of each image on patterns. Ono [14]dealt with a two-dimensional cutting stock problem and proposed a method consisting of a genetic algorithm and a layout algorithm to optimise the layout of rectangular parts.

The present study proposes a nonlinear model for a specific two-dimensional orthogonal packing problem that combines a multi-objective genetic algorithm with an analytical method that was proposed by Imam and Mir [15]. However, the model proposed here has certain key features that make it different from most approaches used in two-dimensional orthogonal packing problems. These include (i) the three objectives of minimising the distance between the centres of the rectangular blocks, keeping the related blocks close, and minimising the space outside of the defensive radius for each block with a defensive radius; (ii) the use of two scalarisation methods, conic scalarisation and the weighted-sum method; (iii) not being limited to a specific region of fixed size for the allocation rectangles; and (iv) introducing the concept of the defensive radius to the literature.

In a traditional two-dimensional orthogonal packing problem, a set of rectangular items are typically packed into a single rectangle of fixed size [16]. In the proposed model, however, unlike in the literature, an unlimited region can be used; the model tries to allocate rectangular items to this unlimited region to ensure that multiple objectives are reached. This type of model is especially suitable for use in games of strategy, the planning of military operations, and some facility layout problems. In addition, the model uses the new concept of a defensive radius. In this concept, some rectangular items can have a defensive radius, within which only certain other rectangular items are to be placed. The main aim of the radius is to place those rectangular items that are related to a particular rectangle with a defensive radius close to one another, and close to the rectangle with the radius. This is also one of the objectives of the model in this study. The other main difference from the studies in the literature is the scalarisation approach that is used here, namely conic scalarisation. This was proposed by Kasimbeyli [17] for the scalarisation of nonlinear multi-objective optimisation problems. In this method, by choosing a suitable scalarising parameter set, a decision maker can detect all efficient solutions without requiring assumptions to made about boundedness and convexity. One of the most important advantages of the conic scalarisation method is that it is suitable for both linear and nonlinear models.

The rest of the paper is organised as follows. Section 2 defines two-dimensional orthogonal packing problems. Section3describes the main problem in terms of its mathematical model, the proposed multi-objective genetic algorithm, and conic scalarisation. Section4discusses the experimental results, and Section5presents the conclusions.

2. Two-dimensionalorthogonalpackingproblems

In a two-dimensional orthogonal packing problem, there are many small rectangles and a single large planar rectangle, and all rectangles have the two dimensions of width and a height. As a rule, each edge of each small rectangle is parallel to either the bottom edge or the vertical edges of the single large rectangle [18].

Since two-dimensional orthogonal packing problems arise in a variety of industrial applications [6], they have attracted considerable theoretical and practical interest. We now introduce this problem in a more formal way. Suppose that we are given a set of n rectangular items, each defined by its width wiand height hi. The traditional structure of the problem class is as follows:

– All items have a rectangular shape [19];

– The set of rectangular items must be placed completely inside a single large planar rectangle [10,20], which is defined by its width W and height H;

– The width and height of the single rectangle are typically fixed;

– The rectangular items that are smaller than the single rectangle may have different sizes;

– The edges of the small rectangles must be parallel to the coordinate axes [21], meaning that all of the small rectangles are orthogonally oriented;

– In the allocation process, the rectangular items may be rotated by 90 °, but the orthogonality for each rectangular item is still preserved; and

(3)

Fig. 1. Comparison of (a) the traditional single large planar rectangle with fixed size with (b) the concept of a defensive radius.

Fig. 2. Example of Objective 1.

– The rectangular items never overlap [20].

3. Formulationoftheproblem

The two-dimensional orthogonal packing problem proposed in this study has some key features that differentiate it from the traditional two-dimensional orthogonal packing problems mentioned above. Firstly, the proposed problem does not involve a single large rectangular region with a fixed size in which the small rectangles are to be placed. Thus, the packing of the rectangles can be achieved with unlimited boundaries. Another difference is the concept of the defensive radius, which is a property of some of the small rectangles. The main aim of this radius is to ensure that items that are related to a rectangle with a defensive radius are placed close to both one another and to the rectangle with the radius. The radius is measured from the centre of the rectangle. This radius is very useful especially for some problem types in games of strategy, planning military operations, and some facility layout problems. In these problem types, the objective is generally to minimise the regions that are left defenceless in a radius. In the facility layout problems, this radius can be used for the layout planning of some large industrial warehouses and some types of manufacturing cells. Unlike the single large planar rectangle with fixed size that is used in traditional orthogonal packing problems, rectangular items in this case do not need to lie entirely within the radius, and some of the related rectangles can partially extend beyond the bound of the radius (see Fig.1). In order to determine the relationships between the small rectangles, a relation matrix is constructed by the decision makers.

The proposed model has three objectives:

Objective1: To minimise the distances between the centres of rectangular items

Objective2: To use a minimisation function to place the related rectangular items close to each other

Objective3: To minimise the area of each rectangular item that falls outside of the radius

Objective 1 minimises the distances between the centres of the rectangular items in order to reduce the scattering of the rectangular items in the radius (see Fig.2). This objective means that the rectangular items are adjoined as far as possible.

Objective 1 can be expressed as shown below. In this equation, dijrepresents the Euclidean distance between the centres of rectangles i and j, and N represents the number of rectangles. ( Mx

i, M y i) and ( M x j, M y

j) are x and y co-ordinates of the bottom-left corners of rectangle i and rectangle j, respectively .

MinF1= N− 1 i=1 N  j=i+1 di j

(

Objective1

)

(4)

Fig. 3. The effects of (a) Objective 1 and (b) Objective 2 for a given radius.

Table 1

An example of a relation matrix for three rectangles.

Rectangles r ij j = 1 j = 2 j = 3 i = 1 0 2 1 i = 2 2 0 4 i = 3 1 4 0 di j=





MX i + Wi 2





MX j+ Wj 2



2 −



MY i + Li 2





MY j + Lj 2



2

While Objective 1 focuses on the distances between the centres of the rectangles in a radius, Objective 2 involves the placement of related rectangles close to one another within a given radius (see Fig.3).

In Objective 2, the relationships between the rectangles are determined by means of a symmetrical relation matrix, formed by a decision maker. An example of such a relation matrix is given in Table1. As shown in Table1, rectangles 2 and 3 are placed adjacent to or closer to each other than other pairs.

Objective 2 can be expressed as below. In the equation, rijrepresents the degree of the relation between rectangle i and rectangle j;N represents the number of rectangles; and sij is the shortest distance between rectangles i and j. In order to avoid possible division by zero, a value of one is added to sij.

MinF2= 1 N− 1 i=1 N j=i+1 ri j si j+1

(

Objective2

)

In Objective 2, the shortest distance between rectangles i and j is calculated as shown below, where

λ

Xi j and

λ

Yi j repre-

sent the overlap functions and M0

i, M0j, MiX, MXj, MYi, and MYj represent the decision variables of the objective. Liis the length of rectangle i, and Wiis its width .

λ

Xi j = 1 2

WiM0i +Li

1− M0 i

+

WjM0j+Lj

1− M0 j





MXi − MXj



λ

Yi j = 1 2

LiM0i +Wi

1− M0 i

+

LjM0j+Wj

1− M0 j





MY i − MYj



Si j=

0 ,

λ

Xi j =0 or

λ

Yi j=0







Mx i+ Wi 2





Mx j+ Wj 2







W i+Wj 2



,

λ

Xi j <0 and

λ

Yi j >0







MY i + Li 2





MY j+ Lj 2







L i+Lj 2



,

λ

Xi j >0 and

λ

Yi j <0









Mx i+ Wi 2





Mx j+ Wj 2







W i+Wj 2

 

2 +







MY i + Li 2





MY j+ Lj 2







L i+Lj 2

 

2 ,

λ

Xi j <0 and

λ

Yi j <0 Some examples of the calculation of the shortest distance between rectangles i and j are given in Fig.5.

(5)

Fig. 4. Examples of the overlap status between two rectangles.

Fig. 5. Shortest distances between rectangles i and j .

Objective 3 minimises the regions outside of the radius for the rectangular items. Objective 3 is expressed in the equation below, where N represents the number of rectangles, and Uirepresents the area outside of the radius for rectangle i.

MinF3=

N



i=1

Ui

(

Objective3

)

Ui=(thearea of rectangle i) − (theareainsideoftheradiusforrectanglei)

Ui=

(

WiLi

)

Wi−1 g=0 Li−1  h=0 Tigh Tigh=

1, Wi−1 g=0 Li−1 h=0 N k=1 Tighk>0 0, Otherwise Tighk=



1,



(

MX i +0.5+g

)

(

MXk+ Wk 2

)

2 −

(

MY i +0.5+h

)

(

MYk+ Lk 2

)

2 ≤ Rk 0, Otherwise Mx i and M y

i represent the coordinates of the bottom-left corners of the rectangles.

Fig.7shows an example of the areas of the rectangles that fall outside of the radius. The area of the shaded region in the figure is the region outside of the radius of the rectangles.

Notations

i,j,k rectangular items

(6)

Fig. 6. The status of point (g, h) in a rectangle.

Fig. 7. An example of the area of the rectangles that falls outside of the radius.

Wi width of rectangular item i Ri radius of rectangular item i

g a point on the short edge of a rectangular item

h a point on the long edge of a rectangular item

Tigh status of point (g,h) in the ith rectangular item inside any defensive radius. If the point is inside any defensive radius, the value of this quantity is 1; otherwise, it is 0.

Tighk status of point (g,h) in the ith rectangular item inside the defensive radius of the kth rectangular item. If the point is inside the defensive radius, then the value of this quantity is 1; otherwise, it is 0.

rij degree of the relation between rectangles i and j

dij Euclidean distance between the centres of rectangles i and j

Sij shortest Euclidean distance between rectangles i and j Ui area falling outside of the radius for rectangle i

N number of rectangular items

λ

Xi j,

λ

Yi j overlap functions

Decisionvariables Mx

i X coordinate of the bottom-left corner of rectangular item i

Myi Y coordinate of the bottom-left corner of rectangular item i Mo

i orientation of rectangular item i

Mo i=



If the short side of the i − th item is parallel to X − axis, 1

Otherwise , 0 Constraint N−1 i=1 N j=i+1

β

i j= 0

In the constraint,

β

ij represents the overlap status between rectangles i and j.

β

ij is a binary variable and is defined as follows:

β

i j=



1,

λ

Xi j>0and

λ

Yi j>0 0,

λ

Xi j≤ 0or

λ

Yi j≤ 0

λ

Xi j = 1 2

WiM0i +Li

1− M0 i

+

WjM0j+Lj

1− M0 j





MX i − MXj



λ

Yi j = 1 2

LiM0i +Wi

1− M0 i

+

LjM0j+Wj

1− M0 j





MY i − MYj



Mo i

{

0,1

}

,i=1,2,3,...,N

(7)

Fig. 8. An example of the proposed chromosome structure.

Mo

j

{

0,1

}

,j=1,2,3,...,N

β

i j

{

0,1

}

i,j=1,2,3,...,Nandj=i

The transformation of a multi-objective problem into a single-objective problem is known as scalarisation. By this means, a problem can be solved by standard optimisation methods [22]. Many scalarisation techniques exist, such as the weighted- sum method and the epsilon-constraint method. Two scalarisation methods were used for the multi-objective problem in this study: the weighted-sum method and the conic scalarisation method. Of these, the most popular and the fastest tech- nique is the weighted-sum method. However, optimal solutions in non-convex regions are not detected by the weighted-sum method [22,23]because its objectives are connected linearly.

The proposed model is scalarised using the weighted-sum method as shown below. Here, F1, F2, and F3 represent the values of the objective functions and w1, w2,and w3represent the weighting factors of the objective functions.

MinF=w1F1+w2F2+w3F3

Since conic scalarisation enables us to completely characterise the whole set of efficient and properly efficient solutions of multi-objective problems without convexity and boundedness conditions [24], it has an important advantage over the weighted-sum method. This method is also simpler than the epsilon-constraint method.

The proposed model is scalarised with the conic scalarisation method as shown below. It can be seen that the objective function of the scalar problem becomes an objective function of the weighted sum scalarisation method in case where

a= 0. In this case, certain minimal points that are not supported by a hyperplane cannot be detected in weighted sum scalarisation, especially in nonlinear optimisation problems.

MinF=[w1F1+w2F2+w3F3]+a[

|

F1− B1

|

+

|

F2− B2

|

+

|

F3− B3

|

]

In the scalar function shown above, F1, F2, and F3 represent the values of the objective functions, and w1, w2, and w3 represent the weighting factors of the objective functions. B1, B2and B3represent reference points that can be identified by a decision maker. The conic scalarisation method does not impose any restrictions on ways of determining reference points, and these points can be chosen arbitrarily [17]. Conic scalarisation forms a cone using a positive augmentation parameter

a. As the parameter increases, the hyperplane becomes a conic surface. If a=0, the cone becomes a hyperplane. In this approach, the augmentation parameter should meet the condition 0 ≤

α

< min { wi},

wi> 0.

Since different objective functions may have different magnitudes, normalisation of the objectives is required in order to obtain a Pareto optimal solution [25], and many normalisation schemas have therefore been developed. In this study, the upper/lower bound approach is used for the normalisation of the objectives, using the equation below [26]. In this equation,

FNorm

i represents the normalised objective value of the ith objective function, Iirepresents the ideal point of the ith objective function, and Nirepresents the nadir point of the ith objective function.

FNorm

i =

Fi−Ii

Ni−Ii (The upper/lower bound approach)

Finally, the objective function scalarised by the weighted-sum method is normalised as shown below:

MinF=



w1



F 1− I1 N1− I1



+w2



F 2− I2 N2− I2



+w3



F 3− I3 N3− I3



The objective function scalarised by conic scalarisation is normalised as shown below:

MinF=



w1



F 1− B1 N1− I1



+w2



F 2− B2 N2− I2



+w3



F 3− B3 N3− I3



+

α



|

F1− B1

|

N1− I1 +

|

F2− B2

|

N2− I2 +

|

F3− B3

|

N3− I3

3.1. Theproposedmulti-objectivegeneticalgorithm

A typical genetic algorithm starts with an initial set of random solutions known as a population. The individuals in this population are called chromosomes. The chromosome structure of the proposed genetic algorithm in this study consists of two parts: the placement sequence and the placement orientation (see Fig.8). In the first part of the chromosome, the placement sequence of the rectangles is determined, and the value of its genes represents each rectangle. In the second part, the placement orientation of the rectangles is determined; if the value of the gene is zero, then the short side of the ith rectangle is placed parallel to the x-axis, and if the value of the gene is one, then the long side of the ith rectangle is placed

(8)

Fig. 9. An example of elitism in the proposed genetic algorithm.

Fig. 10. An example of a crossover operation.

parallel to the x-axis. Finally, the number of genes in each part of the chromosome is equal to the number of rectangular items.

In the proposed genetic algorithm, the initial population is generated randomly, although the decision maker sets the number of chromosomes in the initial population. When the initial population has been generated, the fitness of each chro- mosome in the population is then measured. The fitness value of a chromosome is the value of the scalarised objective function. In the proposed genetic algorithm, while the fitness values of the chromosomes have been measured, an algo- rithm developed by Imam and Mir [15]called the cluster boundary search algorithm is used. A chromosome determines the sequence and orientation of all blocks. However, in order to determine their optimum positions, the authors’ algorithm is used. Then the placement is evaluated as a scalar objective function.

In the proposed genetic algorithm, a selection procedure called tournament selection is used, since this is one of the fastest selection methods and offers effective control over the selection pressure [27]. An elitism strategy was used to ensure that the GA converges rapidly; in this strategy, the fittest chromosome is never lost due to random selection. This strategy is illustrated in Fig.9.

An order-based two-point-crossover operation is also used, as illustrated in Fig.10. First, the operator determines whether or not a crossover operation will be performed on the selected parents, based on a random number (between zero and one) and a crossover rate; if the random number is lower than the crossover rate, then a crossover operation is performed on the selected parents. The first crossover point is selected randomly from the genes of the placement sequence, while the second is selected from the genes of the placement orientation, depending on the first crossover point. In this algorithm, a crossover operation deletes the genes after the crossover points. The deleted gene positions for each parent are then filled with genes from the other parent. When the deleted gene positions in the placement sequence have been filled, a new gene is selected differently from the genes of the chromosome. The second part of the chromosome is filled based on the crossing-over positions in the first part (see Fig.10C).

(9)

Fig. 11. An example of a mutation performed on the first part of a chromosome.

Fig. 12. An example of a mutation performed on the second part of a chromosome.

Table 2

The width, length and defensive radius of the rectangles in the test problem. No Width Length Radius No Width Length Radius

1 4 6 0 16 4 2 0 2 4 4 6 17 4 2 0 3 4 4 0 18 2 2 4 4 4 4 0 19 2 2 4 5 6 2 0 20 2 2 0 6 6 2 0 21 2 2 0 7 6 2 0 22 2 2 0 8 6 2 0 23 2 2 0 9 6 2 0 24 2 2 0 10 4 2 0 25 2 2 0 11 2 4 0 26 2 2 0 12 4 2 0 27 4 2 0 13 4 2 0 28 4 2 0 14 4 2 0 29 4 2 0 15 4 2 0 30 4 2 0

Genes are randomly selected for the mutation process. Each gene on the chromosome is evaluated using a random number and a mutation rate: if the random number is lower than the mutation rate, then a mutation operation is performed on the selected gene of the chromosome. The mutation operator in the proposed genetic algorithm works differently on each part of the chromosome. If a mutation operation is performed on the first part of a chromosome, then the second part also needs a mutation, as shown in Fig.11. If a mutation operation is performed on the second part of a chromosome, then only the value of the selected gene is changed (see Fig.12).

The steps in the proposed multi-objective genetic algorithm are presented below.

In Fig. 13, while the fitness values of the chromosomes have been measured, the cluster boundary search algorithm [15]is used. The algorithm maps the cluster boundary onto a straight line and then performs a piecewise one-dimensional search to obtain the optimum position of the block being placed. The search process is dynamic such that all boundary blocks are continually moved to their optimum positions until no more improvement is possible [15]. After this process, the placement is evaluated as a scalar objective function, and the genetic algorithm process continues.

(10)

Fig. 13. Steps in the proposed multi-objective genetic algorithm.

Table 3

The degrees of the relation of the rectangle pairs in the test problem.

1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 18 19 22 23 24 27 30 1 – 10 20 20 2 – 7 15 10 3 – 10 4 10 – 20 9 5 20 – 6 7 – 5 7 – 15 8 8 – 2 9 – 5 10 – 3 10 11 3 – 12 – 6 14 5 – 15 5 – 4 16 – 5 18 15 9 – 10 19 10 15 10 – 22 8 6 4 – 23 20 10 10 – 24 20 – 27 2 – 30 5 –

(11)

3214.78643 0.005128 50

Nadir points N 1 N 2 N 3

3781.50368 0.011369 176

Table 5

The genetic algorithm parameters for the test problem.

Problem No Population size Crossover rate Tournament selection size (%)

1–2 60 0.9 20 3–4 80 0.9 20 5–6 100 0.9 20 7–8 120 0.9 20 9–10 80 0.6 20 11–12 80 0.7 20 13–14 80 0.8 20 15–16 80 0.9 20 17–18 80 0.9 10 19–20 80 0.9 20 21–22 80 0.9 30 23–24 80 0.9 40 25–60 80 0.9 20 Table 6

The scalarisation parameters for the test problem.

Problem No Scalarisation method ∝ w1 w2 w3

1–30 Weighted sum – 0.3 0.3 0.3 Conic 0.290 0.3 0.3 0.3 31 Conic 0.05 0.3 0.3 0.3 32 Conic 0.075 0.3 0.3 0.3 33 Conic 0.1 0.3 0.3 0.3 34 Conic 0.125 0.3 0.3 0.3 35 Conic 0.15 0.3 0.3 0.3 36 Conic 0.175 0.3 0.3 0.3 37 Conic 0.2 0.3 0.3 0.3 38 Conic 0.225 0.3 0.3 0.3 39 Conic 0.25 0.3 0.3 0.3 40 Conic 0.275 0.3 0.3 0.3 41 Weighted sum – 0.45 0.15 0.4 42 Conic 0.14 0.45 0.15 0.4 43 Weighted sum – 0.4 0.15 0.45 44 Conic 0.14 0.4 0.15 0.45 45 Weighted sum – 0.15 0.45 0.4 46 Conic 0.14 0.15 0.45 0.4 47 Weighted sum – 0.45 0.4 0.15 48 Conic 0.14 0.45 0.4 0.15 49 Weighted sum – 0.5 0.1 0.4 50 Weighted sum – 0.5 0.1 0.4 51 Weighted sum – 0.5 0.1 0.4 52 Weighted sum – 0.5 0.1 0.4 53 Weighted sum – 0.5 0.1 0.4 54 Weighted sum – 0.5 0.1 0.4 55 Conic 0.09 0.5 0.1 0.4 56 Conic 0.09 0.5 0.1 0.4 57 Conic 0.09 0.5 0.1 0.4 58 Conic 0.09 0.5 0.1 0.4 59 Conic 0.09 0.5 0.1 0.4 60 Conic 0.09 0.5 0.1 0.4 4. Experimentalresults

The proposed multi-objective genetic algorithm was tested on a large problem containing 30 rectangles. The data for this problem are presented in Tables 2and 3. The problem was coded in the C# language and implemented on an Intel Core i7-7700HQ computer with 8.0 GB RAM.

(12)

4 44 6 min 36 s 3475.0272 0.005792 80 0.4592 0.1064 0.2381 0.2972 0.5281 0.4989 5 88 16 min 42 s 3377.6115 0.005128 75 0.2873 0.0000 0.1984 0.1457 0.3492 0.3032 6 62 11 min 45 s 3477.6418 0.005353 67 0.4638 0.0360 0.1349 0.2346 0.4844 0.4524 7 49 11 min 5 s 3388.6020 0.005353 73 0.3067 0.0360 0.1825 0.1576 0.3587 0.3141 8 48 10 min 53 s 3396.1688 0.005579 78 0.3201 0.0722 0.2222 0.2017 0.3963 0.3564 9 100 15 min 15 s 3366.8675 0.005128 89 0.2684 0.0000 0.3095 0.1734 0.4097 0.3712 10 33 5 min 11 s 3446.8320 0.005298 82 0.4095 0.0273 0.2540 0.2727 0.4826 0.4504 11 53 8 min 7 s 3402.9298 0.005374 71 0.3320 0.0394 0.1667 0.1614 0.3736 0.3310 12 79 12 min 3 s 3444.5904 0.005216 78 0.4055 0.0140 0.2222 0.2515 0.4626 0.4290 13 85 12 min 56 s 3432.9247 0.005128 79 0.3849 0.0000 0.2302 0.1845 0.4485 0.4137 14 100 15 min 12 s 3395.1785 0.005128 73 0.3183 0.0000 0.1825 0.1765 0.3669 0.3235 15 51 7 min 51 s 3444.8554 0.005128 72 0.4060 0.0000 0.1746 0.1742 0.4419 0.4066 16 62 9 min 19 s 3419.5002 0.005348 81 0.3612 0.0352 0.2460 0.2396 0.4385 0.4028 17 56 8 min 26 s 3414.9188 0.005549 71 0.3531 0.0674 0.1667 0.1762 0.3963 0.3564 18 100 15 min 15 s 3357.4387 0.005587 82 0.2517 0.0735 0.2540 0.1801 0.3650 0.3213 19 75 11 min 25 s 3417.6621 0.005128 76 0.3580 0.0000 0.2063 0.1693 0.4132 0.3751 20 41 6 min 20 s 3525.6797 0.005278 69 0.5486 0.0240 0.1508 0.2939 0.5694 0.5425 21 64 9 min 48 s 3393.4266 0.005128 77 0.3152 0.0000 0.2143 0.1589 0.3812 0.3395 22 80 12 min 1 s 3389.0926 0.005128 78 0.3076 0.0000 0.2222 0.1936 0.3795 0.3376 23 59 8 min 54 s 3347.0857 0.005128 82 0.2334 0.0000 0.2540 0.1462 0.3450 0.2983 24 56 8 min 28 s 3499.5960 0.005353 78 0.5026 0.0360 0.2222 0.3090 0.5507 0.5227 25 20 3 min 3 s 3437.6669 0.005128 82 0.3933 0.0000 0.2540 0.1942 0.4682 0.4349 26 16 2 min 31 s 3412.0316 0.005505 87 0.2602 0.0603 0.2937 0.2602 0.3970 0.3572 27 57 8 min 41 s 3417.8955 0.005128 82 0.3584 0.0000 0.2540 0.1837 0.4393 0.4037 28 38 5 min 47 s 3478.2291 0.005317 89 0.4649 0.0302 0.3095 0.3382 0.5593 0.5318 29 39 6 min 0 s 3378.7584 0.005128 83 0.2893 0.0000 0.2619 0.1654 0.3903 0.3497 30 32 4 min 58 s 3427.6383 0.005128 78 0.3756 0.0000 0.2222 0.2337 0.4364 0.4006 31 57 8 min 37 s 3508.6758 0.005219 75 0.5186 0.0146 0.1984 0.1596 0.5554 0.5277 32 34 5 min 11 s 3379.6851 0.005313 87 0.2910 0.0297 0.2937 0.1284 0.4145 0.3765 33 46 7 min 7 s 3441.8462 0.005128 74 0.4007 0.0000 0.1905 0.1365 0.4436 0.4084 34 52 7 min 52 s 3429.3698 0.005128 76 0.3786 0.0000 0.2063 0.1461 0.4312 0.3949 35 45 6 min 53 s 3461.6212 0.005278 67 0.4356 0.0240 0.1349 0.1553 0.4566 0.4225 36 61 9 min 20 s 3411.2428 0.005597 77 0.3467 0.0752 0.2143 0.1683 0.4144 0.3765 37 36 5 min 25 s 3442.7806 0.005128 74 0.4023 0.0000 0.1905 0.1864 0.4451 0.4100 38 70 10 min 31 s 3469.2896 0.005128 71 0.4491 0.0000 0.1667 0.2108 0.4790 0.4466 39 92 13 min 52 s 3330.2049 0.005325 74 0.2037 0.0315 0.1905 0.1034 0.2806 0.2208 40 37 5 min 40 s 3400.4512 0.005330 101 0.3276 0.0324 0.4048 0.3044 0.5217 0.4922 41 58 8 min 53 s 3418.9862 0.006122 71 0.3603 0.1592 0.1667 0.2527 0.4277 0.3911 42 34 5 min 18 s 3502.8344 0.005330 65 0.5083 0.0324 0.1190 0.2505 0.5230 0.4935 43 41 6 min 12 s 3350.1003 0.005622 73 0.2388 0.0792 0.1825 0.1895 0.3108 0.2581 44 39 6 min 6 s 3470.7445 0.005535 65 0.4517 0.0652 0.1190 0.2008 0.4716 0.4387 45 100 15 min 5 s 3405.0824 0.005128 73 0.3358 0.0000 0.1825 0.1234 0.3822 0.3407 46 80 12 min 13 s 3479.3898 0.005128 68 0.4669 0.0000 0.1429 0.0986 0.4883 0.4565 47 44 6 min 45 s 3331.8116 0.005128 102 0.2065 0.0000 0.4127 0.1548 0.4615 0.4277 48 67 10 min 16 s 3269.9756 0.005128 106 0.0974 0.0000 0.4444 0.0731 0.4550 0.4207 49 32 5 min 1 s 3414.6790 0.005322 87 0.3527 0.0311 0.2937 0.2969 0.4600 0.4262 50 70 10 min 43 s 3362.8940 0.005128 90 0.2613 0.0000 0.3175 0.2577 0.4112 0.3729 51 37 5 min 47 s 3350.1389 0.005764 86 0.2388 0.1019 0.2857 0.2439 0.3861 0.3450 52 40 6 min 9 s 3376.2433 0.005832 73 0.2849 0.1127 0.1825 0.2267 0.3567 0.3118 53 32 5 min 2 s 3399.2067 0.005353 66 0.3254 0.0360 0.1270 0.2171 0.3512 0.3055 54 41 6 min 18 s 3409.7978 0.005362 82 0.3441 0.0375 0.2540 0.2774 0.4293 0.3928 55 35 5 min 21 s 3401.4852 0.005349 77 0.3294 0.0354 0.2143 0.1907 0.3946 0.3545 56 100 15 min 1 s 3345.7211 0.005128 79 0.2310 0.0000 0.2302 0.1401 0.3261 0.2763 57 63 9 min 35 s 3337.8800 0.005597 77 0.2172 0.0752 0.2143 0.1249 0.3142 0.2622 58 60 9 min 5 s 3378.2079 0.005329 85 0.2884 0.0322 0.2778 0.1976 0.4017 0.3624 59 43 6 min 37 s 3376.1050 0.005627 88 0.2847 0.0800 0.3016 0.2075 0.4224 0.3852 60 33 5 min 4 s 3335.0403 0.005128 104 0.2122 0.0000 0.4286 0.2262 0.4782 0.4458

(13)

Fig. 14. The layout of the first three examples in Table 7 .

Fig. 15. Best solution based on the test results.

Fig. 16. The layout of the last eight examples in Table 8 .

According to Table3, the degree of the relation between rectangles 1 and 4 is 10. The null values in Table3mean that the degree of the relation between the rectangles is zero. Table4shows the reference points, ideal points and nadir points of the problem. The reference point of an objective was calculated by adding 10% of the difference between the ideal point and the nadir point to the ideal point.

The parameters for the genetic algorithm used in the test problem are presented in Table5, and the scalarisation pa- rameters are given in Table6. In Table 5, the mutation rate is 0.003, and the number of the generation is 100. In lines 1 to 30 of Table6, if the problem number is odd, then the weighted-sum method will be used for the scalarisation of the objectives; otherwise, the conic scalarisation method will be used. In lines 31 to 40 of Table 6, we investigated the ef- fect of the alpha parameter on the scalar results. Therefore, in the lines, we used different alpha values. In the other lines in Table 6, we chose the alpha values using min( wi) − 0.01. However, the formula is not a general rule to choose alpha values.

(14)

7 20 – 0.25 0.35 0.4 Weighted sum 3 min 6 s 0.3830 0.0829 0.0909 0.161106

8 20 0.240 0.25 0.35 0.4 Conic 4 min 7 s 0.2654 0.1059 0.2500 0.180526

9 30 – 0.3 0.3 0.3 Weighted sum 20 min 41 s 0.2045 0.0944 0.1842 0.144936

10 30 0.290 0.3 0.3 0.3 Conic 20 min 12 s 0.4213 0.0934 0.1316 0.208108

11 30 – 0.25 0.35 0.4 Weighted sum 22 min 25 s 0.1707 0.1846 0.0526 0.128344

12 30 0.240 0.25 0.35 0.4 Conic 23 min 25 s 0.4350 0.1220 0.1842 0.230999

13 40 – 0.3 0.3 0.3 Weighted sum 24 min 6 s 0.2026 0.0913 0.2321 0.157821

14 40 0.290 0.3 0.3 0.3 Conic 22 min 12 s 0.4568 0.0817 0.4643 0.425235

15 40 – 0.25 0.35 0.4 Weighted sum 23 min 25 s 0.3766 0.1047 0.3571 0.273637

16 40 0.240 0.25 0.35 0.4 Conic 25 min 14 s 0.2293 0.1599 0.5536 0.388959

17 50 – 0.3 0.3 0.3 Weighted sum 1 h 15 min 27 s 0.1613 0.0435 0.0337 0.071578

18 50 0.290 0.3 0.3 0.3 Conic 1 h 17 min 02 s 0.0941 0.0612 0.1236 0.013474

19 50 – 0.25 0.35 0.4 Weighted sum 1 h 32 min 16 s 0.0554 0.0183 0.0337 0.033725

20 50 0.240 0.25 0.35 0.4 Conic 1 h 22 min 12 s 0.7537 0.0605 0.2360 0.402973

21 9 – 0.3 0.3 0.3 Weighted sum 7 s 0.1291 0.0000 0.0833 0.063729

22 9 0.290 0.3 0.3 0.3 Conic 7 s 0.1291 0.0000 0.0833 0.016001

23 9 – 0.25 0.35 0.4 Weighted sum 7 s 0.1291 0.0000 0.0833 0.065608

24 9 0.240 0.25 0.35 0.4 Conic 7 s 0.1291 0.0000 0.0833 0.000592

25 20 – 0.3 0.3 0.3 Weighted sum 9 min 51 s 0.5013 0.1256 0.3333 0.288071

26 20 0.290 0.3 0.3 0.3 Conic 7 min 46 s 0.6877 0.1018 0.0784 0.347634

27 20 – 0.25 0.35 0.4 Weighted sum 7 min 3 s. 0.6589 0.1486 0.0392 0.232415

28 20 0.240 0.25 0.35 0.4 Conic 4 min 3 s. 0.5527 0.0864 0.5490 0.507698

The detailed results are presented in Table7. In this table, N-F1, N-F2 and N-F3 represent the values of the normalised objective functions. The values of the scalar objective functions are presented as scalar results. The distance to the origin is the Euclidean distance from the normalised objective functions to the point (0, 0, 0). The distance to the reference value is the Euclidean distance from the normalised objective functions to the reference value; this was determined as which is point (0.1, 0.1, 0.1) by us.

The results in Table7were evaluated in terms of the scalarisation method used, the scalar results, the distance to the origin, and the distance to the reference value. The conic and weighted-sum scalarisation methods were compared using the same parameters in lines 1 to 30 of Table7. Fourteen of the binary comparisons show that the weighted-sum method was better than conic scalarisation in terms of the scalar results, while only one shows that conic scalarisation was better than the weighted-sum scalarisation. Based on the distance to the origin, which is a utopian solution, 10 of the binary com- parisons show that weighted-sum scalarisation was better than conic scalarisation, while five comparisons show that conic scalarisation was better. A comparison of the distances to the reference value obtained the same results as a comparison of the distance to the origin. It can be seen from Table7(between lines 31 and 40) that as the parameter a changes, the performance of the conic scalarisation also changes, and this method outperforms the weighted-sum method in terms of scalar results in most cases. It is very important to determine a suitable value of a for the performance of conic scalarisation. Line 39 in Table7found the best scalar result in all test problems while the alpha is 0.25. In terms of the number of the completed iterations and the time to completion, 10 of the binary comparisons show that conic scalarisation outperforms weighted-sum scalarisation, and only one shows that weighted-sum scalarisation outperforms conic scalarisation.

The layouts for the first three examples in Table7are shown below (see Fig.14). It can be seen that unlike in traditional orthogonal packing problems, some of the related rectangles within the radius partially extend beyond the bound of the radius.

Based on the test results in Table7, the best solution is shown in Fig.15. It should be noted that when the parame- ters change, the quality of the solution also changes. However, when all the layouts defined by the results in Table7 are examined, it can be seen that the proposed multi-objective model gives acceptable results.

Table 8 presents some examples for demonstrating the capabilities of the proposed model as well as its limitations. Table 8 compares these examples in terms of the number of rectangles, the scalarisation method used, the time to completion, and the scalar results. The data in Table 8indicates that as the number of rectangles increases, the solution time increases. Nine of the binary comparisons show that the weighted-sum method was better than conic scalarisation in terms of the scalar results, while only five shows that conic scalarisation was better than the weighted-sum scalarisation. Some special examples are presented in lines 21 to 28 of Table8. It can be seen from Table8(between lines 21 and 24) that the proposed model can explore the special layouts that were designed by us. In addition, it can be seen from Table8(be-

(15)

(Imam and Mir’s algorithm) Problem 1 (20 blocks) Conic scalarisation The weights: 0.33, 0.33, 0.33 The alpha: 0.29 5497 131 ∗ Weighted-sum method The weights: 0.33, 0.33, 0.33 5559 Conic scalarisation The weights: 0.65, 0.25, 0.10 The alpha: 0.09 5488 ∗ Weighted-sum method The weights: 0.65, 0.25, 0.10 5567 Problem 2

(50 blocks) Conic scalarisation The weights: 0.33, 0.33, 0.33 The alpha: 0.29 13,658 25,923 ∗ Weighted-sum method The weights: 0.33, 0.33, 0.33 13,016 ∗ Conic scalarisation The weights: 0.65, 0.25, 0.10 The alpha: 0.09 13,342 Weighted-sum method The weights: 0.65, 0.25, 0.10 13,449 Note: Asterisk ( ∗) shows the best value.

Fig. 17. A comparison for Problem 1.

tween lines 25 and 28) that the proposed multi-objective model gives acceptable results in some exceptional circumstances. The layout of the last eight examples in Table8is presented in Fig.16.

In addition to the test problems presented above, two test problems were chosen for comparing the performance of the proposed method [28,29] (see Table 9). The coordinates of the blocks for both problems are presented in [15]. For a consistent comparison, the proposed model will use a quite large radius in the comparisons. As shown in Table 9, the proposed model and the cluster boundary algorithm obtained different scalar objective values for Problem 1 and 2. It should be noted that the two approaches have different objectives, and the proposed model uses the defensive radius and relation matrix concepts. Therefore, it is very difficult to make a quality comparison. However, when examined Fig.17, it can be seen that the proposed model can form a compact set of blocks, which is similar to the cluster boundary algorithm’s result although the result is not exactly the same as this algorithm’s result. Because the proposed model uses the defensive radius concept, it tries to form a compact set in a radius. Therefore, it can be acceptable that the optimum design in Fig.17(a) is slightly different from the optimum design in Fig.17(b).

5. Conclusion

This paper presents a multi-objective model for a specific two-dimensional orthogonal packing problem. This model introduces the concept of a defensive radius to the literature. The model was solved with a genetic algorithm using two scalarisation methods, the weighted-sum method and conic scalarisation. The model was tested on a large problem involving

(16)

two-dimensional orthogonal packing problem does not have those advantages.

In future work, further objectives or constraints can be added to the model. For example, a single large rectangular region can be limited to a fixed size, as in the traditional two-dimensional orthogonal packing problem. A new objective can also be added to the model in order to place all small rectangles inside the area defined by the defensive radius, i.e. without exceeding the bounds of the radius. Besides, the minimization of the placement costs can be used as an objective, or the proposed model can indicate the placement costs. The inclusion of such objectives and constraints can increase the utility of this work.

References

[1] F. Clautiaux , A. Jouglet , J. Carlier , A. Moukrim , A new constraint programming approach for the orthogonal packing problem, Comput. Oper. Res. 35 (2008) 944–959 .

[2] J. De Armas , C. Leon , G. Miranda , C. Segura , Optimisation of a multi-objective two-dimensional strip packing problem based on evolutionary algorithms, Int. J. of Prod. Res. 48 (7) (2010) 2011–2028 .

[3] S. Tiwari , N. Chakraborti , Multi-objective optimization of a two-dimensional cutting problem using genetic algorithms, J. Mater. Process. Technol. 173 (2006) 384–393 .

[4] S. Illich , L. While , L. Barone , Multi-objective strip packing using an evolutionary algorithm, in: Proceedings of the IEEE Congress on Evolutionary on Computation IEEE Computer Society, 2017, pp. 4207–4224 .

[5] C.C. Lin , A genetic algorithm for solving the two-dimensional assortment problem, Comput. Ind. Eng. 50 (1-2) (2006) 175–184 .

[6] G. Costa , M. Delorme , M. Iori , E. Malaguti , S. Martello , Training software for orthogonal packing problems, Comput. Ind. Eng. 111 (2017) 139–147 . [7] S. Grandcolas , C. Pinto , A new search procedure for the two-dimensional orthogonal packing problem, J. Math. Model. Algorithms Oper. Res. 14 (3)

(2015) 343–361 .

[8] S. Jakobs , Theory and methodology on genetic algorithms for the packing of polygons, Eur. J. Oper. Res. 88 (1996) 165–181 . [9] G.C. Onwubolu , M. Mutingi , A genetic algorithm approach for the cutting stock problem, J. Intell. Manuf. 14 (2) (2003) 209–218 .

[10] J.F. Gonçalves , A hybrid genetic algorithm-heuristic for a two-dimensional orthogonal packing problem, Eur. J. Oper. Res. 183 (2007) 1212–1229 . [11] R. Alvarez-Valdes , F. Parreño , J.M. Tamarit , A tabu search algorithm for a two-dimensional non-guillotine cutting problem, Eur. J. Oper. Res. 183 (3)

(2007) 1167–1182 .

[12] W. Shoukun , W. Jingchun , J. Yihui ,An improved genetic algorithm for rectangles cutting & packing problem, in: Proceedings of the Fifteenth Triennial World Congress, Barcelona, Spain, 2002 .

[13] S. Bonnevay , P. Aubertin , G. Gavin , A genetic algorithm to solve a real 2-D cutting stock problem with setup cost in the paper industry, in: Proceedings of the Annual Conference on Genetic and Evolutionary Computation GECCO ’15, 2015, pp. 807–814 .

[14] T. Ono , Optimizing Two-dimensional guillotine cut by genetic algorithms, in: Proceedings of the Ninth AJOU-FIT-NUST Joint Seminar, 1999, pp. 40–47 . [15] M.H. Imam , M. Mir , Cluster boundary search algorithm for building-block layout optimization, Adv. Eng. Softw. 29 (2) (1998) 165–173 .

[16] F. Clautiaux , J. Carlier , A. Moukrim ,A new exact method for the two-dimensional orthogonal packing problem, Eur. J. Oper. Res. 183 (2007) 1196–1211 . [17] R. Kasimbeyli , A conic scalarization method in multi-objective optimization, J. Global Optim. 56 (2) (2013) 279–297 .

[18] B.S. Baker , E. Coffman , R.L. Rivest , Orthogonal packings in two dimensions, SIAM J. Comput. 9 (4) (1980) 846–855 .

[19] E. Hopper , B.C.H. Turton , An empirical investigation of meta-heuristic and heuristic algorithms for a 2D packing problem, Eur. J. Oper. Res. 128 (2001) 34–57 .

[20] G. Wascher , H. Hausner , H. Schumann , An improved typology of cutting and packing problems, Eur. J. Oper. Res. 183 (2007) 1109–1130 .

[21] M. Chlebík , J. Chlebíková, Hardness of approximation for orthogonal rectangle packing and covering problems, J. Discrete Algorithms 7 (2009) 291–305 . [22] R.S. Burachik , C.Y. Kaya , M.M. Rizvi , A new scalarization technique and new algorithms to generate pareto fronts, SIAM J. Optim. 27 (2) (2017)

1010–1034 .

[23] I.Y. Kim , O.L. de Weck , Adaptive weighted sum method for multiobjective optimization: a new method for pareto front generation, Struct. Multidiscip. Optim. 31 (2) (2006) 105–116 .

[24] R. Kasimbeyli, Z.K. Ozturk, N. Kasimbeyli, G.D. Yalcin and B. Icmen, Conic scalarization method in multiobjective optimization and relations with other scalarization methods modelling, In: Le Thi H., Pham Dinh T., Nguyen N. (eds) Modelling, Computation and Optimization in Information Systems and Management Sciences. Advances in Intelligent Systems and Computing, Vol 359. Springer, Cham.

[25] O. Grodzevich , O. Romanko , Normalization and other topics in multi objective optimization, in: Proceedings of the Fields–MITACS Industrial Problems Workshop, 2006, pp. 89–101 .

[26] R.T. Marler , J.S. Arora , Function-transformation methods for multi-objective optimization, Eng. Optim. 37 (6) (2005) 551–570 . [27] F. Kharbat , L. Bull , M. Odeh , Revisiting genetic selection in the XCS learning classifier system, Evol. Comput. 3 (2005) 2061–2068 .

[28] A. De Gloria , P. Faraboschi , M. Olivieri , Block placement with a boltzmann machine, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 13 (6) (1994) 694–701 .

[29] J.P. Cohoon , S.U. Hegde , W.N. Martin , D.S. Richards , Distributed genetic algorithms for the floorplan design problem, IEEE Trans. Comput. Aided Des. 10 (4) (1991) 4 83–4 92 .

Şekil

Fig.  2. Example of Objective 1.
Fig.  3. The effects of (a) Objective 1 and (b) Objective 2 for a given radius.
Fig.  5. Shortest distances between rectangles i and j .
Fig.  7. An example of the area of the rectangles that falls outside of the radius.
+7

Referanslar

Benzer Belgeler

In the experiments, warehouses were tested for different pick density values that generate the number of items to be picked (size of order). The locations of the items to be picked

İnsan arama motoru olarak adlandırılan sistem bal peteği yaklaşımına göre dijital soy ağacı ve Hastalık risk formları olarak adlandırılan sistemlerin doğal bir sonucu

Laparoskopik cerrahiyi uzman olduktan sonra kursiyer olarak öğrenen ve kliniğinde laparoskopi deneyimi olmayan bir ürolog basit ve orta zorlukta sayılan operasyonları yaptıktan

yfihutta(idarei hususiyelerin teadül cetveli) gibi ömrümde bir defa bir yaprağına göz atmiyacağua ciltlerden başliyarak bütün bir kısmından ayrılmak zarurî,

圖書館應評估 M 化後確有實質效益,再進行 M 化,為 M 化而 M 化,在在 都是要讓即將投入的我們深思的!

Selected miRNAs with differential expression value more than 1.5 fold between NL and HCC samples were further analysed to test their prognostic efficiencies

Yılın ilk çeyreğinde, bankaya ibraz edilen çek sayısı içeri- sinde karşılıksız işlemi yapılan çek oranlarını incelediğimiz- de 2014 yılında %2,77, 2015 yılında %3,16

Sanatçı, altm ış yıl öncesine ait hâtıraları­ nı şöyle anlatm aktadır:. «Babam h a