KR100405043B1 - Method for Determining Optimum Solution and Parameters Therefor for Model Having One or More Parameters - Google Patents

Method for Determining Optimum Solution and Parameters Therefor for Model Having One or More Parameters Download PDF

Info

Publication number
KR100405043B1
KR100405043B1 KR10-2000-0026416A KR20000026416A KR100405043B1 KR 100405043 B1 KR100405043 B1 KR 100405043B1 KR 20000026416 A KR20000026416 A KR 20000026416A KR 100405043 B1 KR100405043 B1 KR 100405043B1
Authority
KR
South Korea
Prior art keywords
vector
model
variable
value
solution
Prior art date
Application number
KR10-2000-0026416A
Other languages
Korean (ko)
Other versions
KR20010105701A (en
Inventor
김종우
Original Assignee
김종우
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김종우 filed Critical 김종우
Priority to KR10-2000-0026416A priority Critical patent/KR100405043B1/en
Publication of KR20010105701A publication Critical patent/KR20010105701A/en
Application granted granted Critical
Publication of KR100405043B1 publication Critical patent/KR100405043B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations

Abstract

본 발명은 최적해를 단시간에 효율적으로 구하는 방법에 관한 것으로, 다양한 기계공학적 모델이나 자연 현상 또는 사회 현상을 변수를 갖는 모델로 구성한 후 임의의 변수 값을 대입하여 얻어지는 해로 이루어지는 소정 개수의 벡터 그룹을 형성하고, 계속해서 임의의 변수 값을 대입해서 벡터 그룹과 비교함으로써 좋은 해를 갖는 벡터로 벡터 그룹을 갱신함으로써 정해에 가까운 최적해와 그 때의 변수 값을 결정할 수 있다. 본 발명의 방법은 종래 알려진 방법보다 짧은 시간에 더 좋은 해를 결정하며, 특히 순차적으로 구성된 벡터 그룹으로부터 원하는 벡터를 선택할 수 있다. 따라서 본 발명의 방법은 복잡한 모델의 해를 구하는 방법으로 유용하다.The present invention relates to a method for efficiently finding an optimal solution in a short time, and forms a predetermined number of vector groups consisting of solutions obtained by substituting arbitrary variable values after constructing various mechanical engineering models, natural phenomena, or social phenomena into models having variables. Then, by assigning an arbitrary variable value and comparing it with the vector group, the vector group is updated with a vector having a good solution to determine the optimal solution close to the fixed solution and the variable value at that time. The method of the present invention determines a better solution in a shorter time than conventionally known methods, and in particular it is possible to select the desired vector from a group of sequentially constructed vectors. Thus, the method of the present invention is useful as a method for solving complex models.

Description

1 이상의 변수를 갖는 모델의 최적 변수 값 및 해를 결정하는 방법{Method for Determining Optimum Solution and Parameters Therefor for Model Having One or More Parameters}Method for Determining Optimum Solution and Parameters Therefor for Model Having One or More Parameters}

본 발명은 1 이상의 변수를 갖는 모델의 최적 변수 값 및 해를 결정하는 방법에 관한 것으로, 더욱 상세하게는 복잡한 변수로 구성된 모델의 최적 변수 값과 해(solution)의 근사치를 효율적으로 구하는 방법에 관한 것이다.The present invention relates to a method for determining an optimal variable value and a solution of a model having one or more variables, and more particularly, to a method for efficiently approximating an optimal variable value and a solution of a model composed of complex variables. will be.

자연 현상이나 사회 현상 등을 설명하는 여러 가지 다양한 모델을 구성하고 그 모델에 의한 시뮬레이션에 의해 최적치를 구하는 방법이 널리 개발되어 적용되고 있다. 이러한 모델은 기술하고자 하는 현상에 따라 단순한 함수로 표현될 수도 있고 복잡한 변수를 갖는 비선형 함수로 표시될 수도 있다. 예컨대, 기상 예보를 위한 모델을 구성한 경우에, 변수가 되는 온도, 기압, 습도, 풍향, 풍속 등 많은 변수를 입력하고 시뮬레이션을 수행하여 특정 지역의 예보를 하게 된다. 또한, 최소 비용에 의한 최대 편익를 구하는 문제는 대표적인 최적화 문제의 전형이라 할 수 있다.A variety of models for explaining natural phenomena, social phenomena, etc., and the method of obtaining optimal values by simulations have been widely developed and applied. Such a model may be represented by a simple function or a nonlinear function having complex variables, depending on the phenomenon to be described. For example, when a model for weather forecast is constructed, a number of variables such as temperature, air pressure, humidity, wind direction, and wind speed, which are variables, are input and a simulation is performed to forecast a specific region. In addition, the problem of finding the maximum benefit by the minimum cost is typical of the optimization problem.

이와 같은 모델링 및 시뮬레이션에 의한 최적값을 구하는 과정은 경우에 대부분 복수개의 변수와 수많은 경우의 수를 갖기 때문에, 고성능 컴퓨터에 의해서도 매우 오랜 시간 컴퓨팅을 해야 하며, 어떤 경우에는 최적 해를 구하는 것이 실질적으로 불가능할 수도 있다. 예컨대 복수의 변수가 가질 수 있는 경우의 수가 2의 수십 또는 수백 제곱에 해당한다면, 아무리 성능이 우수한 수퍼 컴퓨터라 할지라도 수백년 이상 연산을 해도 부족할 수 있다.Since the process of finding the optimal values by modeling and simulation has many variables and many cases in many cases, it is necessary to perform computing for a very long time even by a high-performance computer. It may not be possible. For example, if the number of cases that a plurality of variables can have corresponds to tens or hundreds of squares of two, even a high performance supercomputer may be insufficient even if it operates for hundreds of years.

이러한 모델에 대해서는 최적 해를 구하는 것보다 다양한 접근 방법에 의해 최적해에 가까운 근사치를 구하는 것이 현실적인 대안이라는 전제하에, 여러 가지 방법이 제시되었다. 이러한 근사치를 구하는 방법은 첫째 가능하면 최적 해에 가까운 값을 구해야 하고, 둘째 빠른 시간에 그 값을 얻을 수 있어야 한다.For these models, a number of methods have been proposed under the premise that a realistic alternative is to approximate an optimal solution by various approaches rather than to find an optimal solution. This approximation must first be as close to the optimal solution as possible, and secondly to be able to obtain the value as quickly as possible.

종래에 최적화 방법으로는 선형 계획법(linear programming), 비선형 계획법(non-linear programming) 및 동적 계획법(dynamic programming) 등이 알려져 있다.Conventionally, as an optimization method, linear programming, non-linear programming, dynamic programming, and the like are known.

그러나 선형 계획법은 복잡한 현상을 지나치게 단순화하여 실제 현상을 반영하지 못한다는 단점이 있다. 동적 계획법은 변수의 수가 증가하면 연산의 횟수가 급증하여 단시간에 결과를 얻기 어려으며, 비선형 계획법에 의한 방법은 결과를 얻지 못하는 경우도 있다.However, linear programming has the disadvantage of oversimplifying complex phenomena and not reflecting the actual phenomena. In dynamic programming, if the number of variables increases, the number of operations increases rapidly, making it difficult to obtain the result in a short time. In some cases, the method using the nonlinear programming does not produce a result.

따라서 실제 세계의 미묘한 비선형적 특성을 유지하면서 현실적으로 수용할만한 시간 내에 적당한 컴퓨팅 파워에 의해 최적해에 가장 가까운 결과를 얻을 수 있는 최적화 방법을 개발하려는 다양한 노력이 시도되었다.Therefore, various efforts have been made to develop an optimization method that can achieve the closest result to the optimal solution by appropriate computing power within a practically acceptable time while maintaining the subtle nonlinear characteristics of the real world.

예컨대 1983년 Kirkpatrick 등이 제시한 어닐링 알고리즘(annealing algorithm)방법은 자연에서 담금질에 의한 결정화 현상을 응용한 것으로, 결정이 잘 이루어져 최적해에 접근하는 상태와 최적해를 얻지 못하는 결정이 잘 이루어지지 않는 상태를 적용한다.For example, the annealing algorithm proposed by Kirkpatrick et al. In 1983 applied crystallization by quenching in nature, and it is well determined that the decision is made to approach the optimal solution and the decision not to obtain the optimal solution. Apply.

다른 방법으로 자연 선택과 집단 유전의 메카니즘에 근거하는 유전 및 상속의 아이디어를 적용한 유전자 알고리즘도 실용화 되어 있다. 유전자 알고리즘은 재생산, 교배 및 돌연변이의 아이디어를 적용하는 것으로, 적자생존의 과정에 의한 재생산과 두 자손(벡터) 사이의 교배에 의해 변수를 교환하는 교배 및 임의의 돌발적 변수 입력에 의해 결과를 구하는 과정으로 이루어진다.Alternatively, genetic algorithms that apply the idea of inheritance and inheritance based on mechanisms of natural selection and collective heredity have also been put to practical use. Genetic algorithms apply the idea of reproduction, breeding, and mutation, the process of obtaining a variable by crossover and the random random variable input that exchanges variables by reproduction by the process of survival of the fittest and crosses between two offspring (vectors). Is done.

그러나, 이들 방법보다 더욱 최적해에 가까운 결과를 적은 컴퓨팅 파워로 더 짧은 시간에 얻을 수 있고자 하는 필요가 상존한다.However, there is a need to be able to obtain results that are more optimal than these methods in less time with less computing power.

따라서, 본 발명의 목적은 1 이상의 변수를 갖는 모델에서 종래 방법보다 더욱 최적 해에 가까운 결과를 얻을 수 있는 방법을 제공하는 것이다.Accordingly, it is an object of the present invention to provide a method which can achieve a more optimal solution than a conventional method in a model having one or more variables.

본 발명의 다른 방법은 적은 컴퓨팅 파워로 짧은 시간에 결과를 얻을 수 있는 방법을 제공하는 것이다.Another method of the present invention is to provide a method for obtaining a result in a short time with low computing power.

도 1은 본 발명에 따른 방법의 흐름을 보인 플로우챠트이고;1 is a flowchart showing the flow of a method according to the invention;

도 2는 관로 네트워크의 구성을 개략적으로 보인 도면이다.2 is a view schematically showing the configuration of a pipeline network.

이와 같은 본 발명의 목적은, 1 이상의 변수를 갖는 모델의 최적 변수 값 및해를 결정하는 방법에 있어서, 1 이상의 변수를 가지며, 상기 모델에서 변수에 임의의 값을 대입함으로서 해를 구하는 모델을 구성하는 모델링 단계와; 상기 모델에 대하여 각각의 변수가 갖는 범위 내에서 소정의 값을 선택하여 대입함으로써 얻어지는 상기 모델의 값으로 이루어지는 벡터의 수를 결정하는 단계와; 각각의 변수가 갖는 범위 내에서 임의의 변수 값을 선택하여 대입함으로써 상기 결정된 수의 벡터를 구하는 단계와; 상기 얻어진 모델의 값을 비교하여 최적 값에 가까운 순서대로 벡터를 배열한 벡터 그룹을 형성하는 단계와; 상기 모델에서 변수에 대해 그 범위 내의 임의의 값을 대입하여 벡터를 형성하고 모델의 값을 구하여 상기 벡터 그룹의 최하위 값보다 우월한 경우에는 그 벡터를 상기 벡터 그룹의 해당 순위에 포함시키고 최하위 값의 벡터를 탈락시키고, 열등한 경우에는 그 벡터를 버리는 과정을 소정의 횟수만큼 반복하여 벡터 그룹을 얻는 단계와; 상기 벡터 그룹으로부터 최적 벡터를 선택하여 최적 변수 값을 결정하는 단계를 포함하는 방법에 의해 달성될 수 있다.An object of the present invention as described above, in the method for determining the optimal variable value and solution of a model having one or more variables, comprising a model having one or more variables, by substituting any value to the variable in the model to solve the solution A modeling step; Determining a number of vectors comprising values of the model obtained by selecting and substituting a predetermined value within the range of each variable with respect to the model; Obtaining the determined number of vectors by selecting and substituting arbitrary variable values within a range of each variable; Comparing the values of the obtained models to form a vector group in which vectors are arranged in order of being close to an optimal value; In the model, if a variable is substituted for an arbitrary value within the range to form a vector, and the value of the model is superior to the lowest value of the vector group, the vector is included in the corresponding rank of the vector group, and the vector of the lowest value is included. Dropping and, if inferior, repeating the process of discarding the vector a predetermined number of times to obtain a vector group; It can be achieved by a method comprising selecting an optimal vector from the group of vectors to determine the optimal variable value.

이하 도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 방법의 과정을 보인 플로우챠트이다.1 is a flowchart showing the process of the method according to the invention.

본 발명의 방법에 있어서, 먼저 변수를 포함하는 모델을 구성한다(10). 이와 같은 모델링은 기술하고자 하는 현상을 함수 형태로 표시하는 것으로 일반적으로 확립된 함수로 될 수도 있고, 경우에 따라서는 해당 현상을 반영하여 직접 구성하여야 한다.In the method of the present invention, a model is first constructed comprising variables (10). Such modeling may be a function that is generally established by expressing a phenomenon to be described in the form of a function, and in some cases, it should be directly configured to reflect the phenomenon.

모델링이 끝나면 초기에 변수 값으로 이루어진 벡터과 그 해로 구성되는 벡터 그룹을 형성하기 위해 그 벡터 그룹을 몇 개의 벡터로 할 것인지와 임의의 변수 값을 모델에 대입해서 얻어진 결과를 벡터 그룹과 비교하는 연산을 몇 회 반복할 것인지를 결정한다(12).After modeling, we first calculate the number of vectors to form a vector group consisting of a vector of variable values and the solution, and compare the result obtained by substituting arbitrary variable values into the model. Determine how many times to repeat (12).

여기서 변수 값은 일정한 범위로 제한되도록 그 범위를 정하고, 그 범위 내에서 변수 값마다 상호간에 어느 정도의 차이를 둘 것인지 그 간격(pitch)을 정한다(14).Here, the variable values are defined in such a range that they are limited to a certain range, and the pitch of each variable value within the range is determined (14).

이렇게 변수 값과 그 간격이 정해진 후에, 정해진 범위 내에서 임의의 변수 값을 모델에 대입하여 연산함으로써 벡터 그룹을 형성한다(16). 벡터 그룹에서 벡터들의 해를 순차로 배열하여 가장 좋은 벡터부터 최하위 벡터까지 그 순서를 정한다.After the variable values and the intervals are determined, a vector group is formed by substituting arbitrary variable values into the model within a predetermined range and calculating them (16). Arrange the solutions of the vectors in the vector group sequentially to determine the order from the best vector to the lowest vector.

계속해서 변수 값을 임의로 선택하여 해를 구한 후에(18), 그 해를 벡터 그룹 최하위의 해와 비교하여(20), 새로운 벡터의 해가 최하위 벡터의 해보다 더 좋으면 기존의 최하위 벡터를 탈락시키고 얻어진 새로운 벡터를 벡터 그룹에 포함시키되 그 해를 다른 벡터들과 비교하여 해당하는 순위로 삽입한다(24).Subsequently, after randomly selecting a variable value to find a solution (18), compare the solution with the vector group least significant solution (20), and if the solution of the new vector is better than the solution of the least significant vector, drop the existing least significant vector and The vector is included in the vector group, and the solution is inserted into the corresponding rank in comparison with other vectors (24).

이렇게 소정 횟수의 연산을 실행하여(22) 계속해서 벡터 그룹을 좋은 해를 갖는 그룹으로 갱신함으로써, 정해에 가까운 최적해와 그 때의 변수 값을 얻을 수 있다(26).By performing the predetermined number of operations (22) and subsequently updating the vector group to a group having a good solution, the optimum solution close to the fixed solution and the variable value at that time can be obtained (26).

본 발명의 방법을 더욱 상세히 설명하기 위해 구체적인 예를 들어 설명하기로 한다. 모델링의 예로서 예컨대, 간단한 함수Min f(x)=(x1-2)2+(x2-3)4+(x3-1)2+3에 대해서 본 발명을 적용하는 과정은 다음과 같다.Specific examples will be described in order to explain the method of the present invention in more detail. As an example of modeling, for example, the process of applying the present invention to a simple function Min f (x) = (x 1 -2) 2 + (x 2 -3) 4 + (x 3 -1) 2 +3 is as follows. same.

먼저, 상기 모델에 임의의 값을 대입하여 얻어진 해로 이루어지는 벡터를 몇 개로 할 것인지 그 수를 결정한다. 벡터 그룹을 3으로 결정하였다고 가정한다. 상기 함수에서 x1, x2, x3에 대해 각각 임의로 선택된 2, 2, 1을 대입하면 해가 4가 된다. 다음으로 다시 임의로 선택된 1, 3, 4를 대입하면 해가 13이 된다. 다시 5, 3, 3을 대입하면 해가 16이 된다.First, it determines the number of vectors which consist of the solution obtained by substituting arbitrary values to the said model. Suppose we decided that the vector group was three. In the above function, if 2, 2, and 1 are selected arbitrarily for x 1 , x 2 , and x 3 , respectively, the solution becomes 4. Next, substituting 1, 3, or 4 randomly selected again gives the solution 13. Substituting 5, 3, or 3 again gives us 16 solutions.

이렇게 3개의 벡터를 얻고 이 3개의 벡터로 이루어지는 벡터 그룹을 형성한다. 형성된 벡터 그룹의 각각의 벡터는 최적해인 3에 가까운 순서대로 배열되어 각각의 벡터마다 그 순위를 부여받게 된다.Thus, three vectors are obtained to form a vector group consisting of these three vectors. Each vector of the formed vector group is arranged in order close to the optimal solution 3 and is given a rank for each vector.

벡터 그룹은 다음 표 1과 같이 구성된다.The vector group is configured as shown in Table 1 below.

x1 x 1 x2 x 2 x3 x 3 FF 1 순위1 rank 22 22 1One 44 2 순위2 positions 1One 33 44 1313 3 순위3 Rank 55 33 33 1616

이렇게 벡터 그룹이 형성된 후에 계속해서 지정된 수의 벡터를 연산하고 얻어진 해를 상기 벡터 그룹과 비교한다.After the vector group is formed, the specified number of vectors are subsequently calculated and the obtained solution is compared with the vector group.

임의로 선택된 값으로서, 1, 2, 3을 각각 대입하면 F=9를 얻는다. 이 벡터의 해 9는 상기 벡터 그룹의 최하위의 해 16과 비교하면 새로 얻어진 벡터(1,2,3)의 9가 정해에 더 가까운 좋은 결과이므로, 상기 최하위 벡터(5,3,3)를 벡터 그룹에서 탈락시키고 새로 얻어진 벡터(1,2,3)를 상기 벡터 그룹에 추가하되, 그 해를 비교하여 2순위로 등록한다. 따라서, 새로 구성된 벡터 그룹은 다음 표 2와 같다.As a randomly selected value, 1, 2, and 3 are substituted to get F = 9. Since solution 9 of this vector is a good result when 9 of the newly obtained vectors (1,2,3) are closer to the solution compared to solution 16 of the lowest group of the vector group, vector 9 is the lowest vector (5,3,3). Drop out of the group and add the newly obtained vectors (1, 2, 3) to the vector group, but register the second order by comparing the solutions. Therefore, the newly formed vector group is shown in Table 2 below.

x1 x 1 x2 x 2 x3 x 3 FF 1 순위1 rank 22 22 1One 44 2 순위2 positions 1One 22 33 99 3 순위3 Rank 1One 33 44 1313

다시 임의의 값을 대입하여 벡터를 형성하고 그 해를 벡터 그룹과 비교하여 최하위보다 좋은 해는 추가하고 그보다 나쁜 해는 탈락시키는 과정을 소정 횟수만큼 반복한다. 이 반복에 의해서 최종적으로 최소의 해인 (2,3,1)을 구하고 그 해인 3을 얻게 된다.In addition, a random value is substituted to form a vector, and the solution is compared with the vector group, and the solution of adding a solution lower than the lowest and dropping a solution lower than that is repeated a predetermined number of times. This iteration finally yields the minimum solution (2,3,1) and obtains that solution of 3.

여기서 반복의 횟수는 사용자에 의해서 미리 정해지는 것으로, 그 횟수가 많으면 일반적으로 더 좋은 해를 구할 가능성이 높지만, 모델에 따라 일정 횟수를 넘으면 결과가 향상되지 않으므로, 모델의 성질과 변수의 개수 등을 고려하여 적절히 선택한다.The number of iterations is determined by the user. If the number of iterations is high, it is generally more likely to find a better solution. However, if the number of iterations exceeds a certain number of times, the result does not improve. Select appropriately in consideration.

상기 예에서 함수Min f(x)=(x1-2)2+(x2-3)4+(x3-1)2+3은 선형 함수로서 (2,3,1)이라는 변수 값과 3이라는 정해를 갖는 것으로 쉽게 그 해를 구할 수 있지만, 좀더 복잡한 경우를 예를 들어 설명하면 본 발명에 따른 방법의 이점을 명백히 이해할 수 있을 것이다.In the above example, the function Min f (x) = (x 1 -2) 2 + (x 2 -3) 4 + (x 3 -1) 2 +3 is a linear function with a variable value of (2,3,1) Although the solution can be easily obtained by having a solution of 3, the more complicated case will be explained by way of example, and the advantages of the method according to the present invention will be clearly understood.

함수Min f(x)=(x 1 -2) 2 +(x 2 -1) 2 Function Min f (x) = (x 1 -2) 2 + (x 2 -1) 2

단,g 1 (x)=0, g 2 (x)≥0이며,g 1 (x)=x 1 -2x 2 +1, g 2 (x)=-x 1 2 /4-x 2 2 +1 Provided that g 1 (x) = 0, g 2 (x) ≥0 , g 1 (x) = x 1 -2x 2 +1, g 2 (x) =-x 1 2 / 4-x 2 2 + One

이 모델에 대해서 상술한 유전자 알고리즘(GA), 일반화 구배감소법(GRG; Gabriele, G. A. and Ragsdell, K. M., "Large Scale Nonlinear Programming usingthe Generalized Reduced Gradient Method," ASME J. Mech. Des, 102, 566-573, 1980), 진화 프로그래밍(EP; Fogel, L. L., Owens, A. J., and Walsh, M. J., Artificial Intelligence Through Simulated Evolution, John Wiley, Chichester, UK, 1966)의 방법으로 얻어진 결과와 본 발명의 방법에 따라 구한 해 및 함수를 풀어서 얻은 정해를 비교하여 다음 표 3에 나타낸다. GRG, GA 및 EP의 결과는 상기 포겔의 문헌을 참조하였다.Genetic Algorithm (GA), Generalized Gradient Reduction (GRG; Gabriel, GA and Ragsdell, KM, "Large Scale Nonlinear Programming using the Generalized Reduced Gradient Method," ASME J. Mech. Des, 102, 566- 573, 1980), according to the results obtained by the method of evolutionary programming (EP; Fogel, LL, Owens, AJ, and Walsh, MJ, Artificial Intelligence Through Simulated Evolution, John Wiley, Chichester, UK, 1966) and the method of the present invention. The solution obtained and the solution obtained by solving the function are compared and shown in Table 3 below. For the results of GRG, GA and EP, see the above literature.

본 발명자는 반복 연산에 의해 조화를 찾아가는 본 발명의 방법을 하모니 서치(Harmony Search)라 명명하였으며, 상기 모델에 대한 HS 테스트에서 벡터 그룹의 수는 30개, 변수의 범위는 [-10.0, +10.0], 변수가 가질 수 있는 범위의 수를 3,000등분하여 변수 값으로 대입하였다. 또한, 새로운 벡터를 형성할 때 기존에 형성된 벡터 그룹이 갖고 있는 변수값을 선택할 확률을 50%, 벡터 그룹에 없고 상기 변수 범위에 있는 값 중에서 변수 값을 선택할 확률을 50%로 설정하였다. 연산의 반복 횟수는 최대 40,000회로 설정하였다.We named the method of the present invention, which finds harmony by iterative operation, called Harmony Search, and in the HS test for the model, the number of vector groups was 30 and the range of variables was [-10.0, +10.0. ], The number of ranges that a variable can have is divided into 3,000 and substituted as the variable value. In addition, when forming a new vector, the probability of selecting a variable value possessed by the previously formed vector group is set to 50%, and the probability of selecting a variable value among the values not included in the vector group and in the variable range is set to 50%. The number of repetitions of the calculation was set up to 40,000.

이와 같은 조건으로 펜티엄 100 CPU가 장착된 컴퓨터로 연산한 결과를 HM으로 하기 표에 제시한다.Under these conditions, the results calculated by the computer equipped with the Pentium 100 CPU are shown in the following table in HM.

정해Decide GRGGRG GAGA EPEP HSHS f(x)f (x) 1.39351.3935 1.39341.3934 1.43391.4339 1.37721.3772 1.39651.3965 %% 0.00000.0000 -0.0072-0.0072 +2.8992+2.8992 -1.1697-1.1697 +0.2153+0.2153 x1 x 1 0.822880.82288 0.82290.8229 0.80800.8080 0.83500.8350 0.82900.8290 x2 x 2 0.911440.91144 0.91150.9115 0.88540.8854 0.91250.9125 0.90800.9080 g1 g 1 7.05×10-9 7.05 × 10 -9 1.0×10-4 1.0 × 10 -4 3.7×10-2 3.7 × 10 -2 1.0×10-2 1.0 × 10 -2 1.3×10-2 1.3 × 10 -2 g2 g 2 1.73×10-8 1.73 × 10 -8 -5.2×10-8 -5.2 × 10 -8 5.2×10-2 5.2 × 10 -2 -7.0×10-3 -7.0 × 10 -3 3.7×10-3 3.7 × 10 -3

상기 표에서 보는 바와 같이 f(x) 값은 GRG가 가장 정해에 근사하지만 g2의 값이 마이너스(-)를 사용하였기 때문에, 제한 조건의 규칙을 위반한 것으로 채용될 수 없다. 마찬가지로 EP의 해가 본 발명의 HS의 해보다 좋은 결과를 보이지만 g2의 값이 마이너스(-)이므로, 제한 조건을 위반하고 있다.As shown in the above table, the value of f (x) is closest to GRG, but the value of g 2 uses negative (-), so it cannot be employed as a violation of the rule of constraint. Similarly, the solution of EP shows better results than the solution of HS of the present invention, but the value of g 2 is negative, thus violating the constraint.

따라서, 본 발명의 HS의 해가 모든 제한 조건을 수용하면서 가장 정해에 가까운 최적해를 제공하고 있음을 알 수 있다.Therefore, it can be seen that the solution of the HS of the present invention provides the optimum solution closest to the fixed solution while accommodating all the constraints.

한편, 도 1과 같은 지역에 파이프에 의한 관로을 설치함에 있어서 최소의 비용으로 적절한 유체(물)를 공급할 수 있는 네트워크를 구성하는 모델에 대해 본 발명의 HS 방법과 종래의 방법을 적용해 보기로 한다.On the other hand, in the installation of the pipeline by the pipe in the region as shown in Figure 1 will be applied to the HS method and the conventional method of the present invention to the model constituting the network that can supply the appropriate fluid (water) at a minimum cost. .

이 지역에 관로 네트워크를 구성하기 위해서 32개의 지점을 연결하는 34개의 파이프가 필요하고 3개의 순환로(loop)로 이루어져 있다. 이 네트워크 어디에도 수압을 상승시키기 위한 펌프장은 마련되지 아니하며 단 한 곳의 수원지에서 물이 공급된다. 가능한 관로는 상용화된 다음 표 4의 6종류가 있다.To construct the pipeline network in this area, 34 pipes connecting 32 points are required and consist of three loops. There is no pumping station to increase the pressure anywhere in this network, and water is supplied from only one source. Possible pipelines are 6 types of commercialized Table 4.

파이프의 직경Diameter of pipe 파이프의 단가(US$)Unit price of pipe (US $) 1212 45.72645.726 1616 70.40070.400 2020 98.37898.378 2424 129.333129.333 3030 180.748180.748 4040 278.280278.280

이 모델의 정해를 구하려면 634의 조합을 연산해야 한다. 따라서, 6=2.87×1026회의 연산을 하여야 하므로, 일반 컴퓨터로는 계산이 어렵고 수퍼 컴퓨터와 같은 고성능 컴퓨터에 의해서도 매우 오랜 시간 연산을 하여야 한다.To solve this model we need to compute a combination of 6 34 . Therefore, since 6 = 2.87 × 10 26 operations must be performed, the computation is difficult with a general computer and requires a long time operation by a high-performance computer such as a super computer.

이 문제를 NLPG 방법으로 해를 구한 결과 US$6,320,000이 얻어졌다.(Nonlinear Programming Gradient; Fujiwara, O. and Khang, D. B., "A Two-Phase Decomposition Method for Optimal Design of Looped Water Distribution Networks," Water Resources Research, 26:4, 539-549, 1990).Solving this problem using the NLPG method yielded US $ 6,320,000 (Nonlinear Programming Gradient; Fujiwara, O. and Khang, DB, "A Two-Phase Decomposition Method for Optimal Design of Looped Water Distribution Networks," Water Resources Research). , 26: 4, 539-549, 1990).

동일한 문제에 대해 GA로는 US$6,320,000으로 나타났다(Savic, D. A. and Walters, G. A., "Genetic Algorithms for Least-Cost Design of Water Distribution Networks," Journal of Water Resources Planning and Management, ASCE, 123:2, 67-77, 1997).For the same issue, GA was US $ 6,320,000 (Savic, DA and Walters, GA, "Genetic Algorithms for Least-Cost Design of Water Distribution Networks," Journal of Water Resources Planning and Management, ASCE, 123: 2, 67-77 , 1997).

한편 본 발명에 따른 HA를 실해하기 위해서 벡터 그룹의 크기는 50, 변수 값을 벡터 그룹에서 선택할 확률을 93%, 벡터 그룹 외에서 선택할 확률을 7%로 설정하였다. 이렇게 모델링을 한 후에, 펜티엄 333 CPU가 장착된 컴퓨터로 4.1시간 동안 162,636회 연산한 결과 최소 비용 US$6,056,000으로 나타났다.On the other hand, in order to implement the HA according to the present invention, the size of the vector group is set to 50, the probability of selecting a variable value from the vector group is 93%, and the probability of selecting outside the vector group is set to 7%. After modeling this, a computer with a Pentium 333 CPU performed 162,636 operations in 4.1 hours, resulting in a minimum cost of US $ 6,056,000.

결과를 다음 표 5로 제시한다.The results are shown in Table 5 below.

상기 표 5에서 보는 바와 같이, 본 발명의 HS 방법에 의한 결과(6,056,000)가 다른 NLPG(6,320,000) 및 GA(6,073,000)보다 적은 비용으로 관로 네트워크를 구성할 수 있기 때문에, 더 우월함을 알 수 있다.As shown in Table 5, it can be seen that the result (6,056,000) by the HS method of the present invention is more superior because it can configure the pipeline network at a lower cost than other NLPG (6,320,000) and GA (6,073,000).

이상 설명으로부터 알 수 있는 바와 같이, 본 발명의 방법은 복잡한 모델의최적해를 짧은 시간에 간단히 구할 수 있다. 또한, 본 발명은 단지 하나의 최적해를 구하는 것이 아니라 최적해와 그 다음 순위를 포함하는 일정 개수의 변수값과 해를 제공하기 때문에, 경우에 따라 최종적으로 얻어진 벡터 그룹 중에서 최적해가 아닌 다른 벡터를 선택할 수 있다는 장점이 있다. 따라서, 자연 현상 또는 사회 현상의 어떤 것에 대해서도 그것의 모델링이 구성되면 본 발명의 방법을 적용하여 용이하게 최적해를 구할 수 있으며, 본 발명의 방법으로 구성된 알고리즘은 소프트웨어 프로그램으로 구현되어 하나의 연산 모듈로서 장착될 수 있다.As can be seen from the above description, the method of the present invention can easily obtain an optimal solution of a complex model in a short time. In addition, the present invention provides a certain number of variable values and solutions including the optimal solution and the next rank, instead of finding only one optimal solution. In some cases, a vector other than the optimal solution may be selected from the finally obtained group of vectors. There is an advantage. Therefore, if its modeling is configured for any of natural or social phenomena, the optimal solution can be easily obtained by applying the method of the present invention, and the algorithm constructed by the method of the present invention is implemented as a software program, Can be mounted.

Claims (5)

1 이상의 변수를 갖는 모델의 최적 변수 값 및 해를 결정하는 방법에 있어서,In the method of determining an optimal variable value and a solution of a model having one or more variables, 1 이상의 변수를 가지며, 상기 모델에서 변수에 임의의 값을 대입함으로서 해를 구하는 모델을 구성하는 모델링 단계와;A modeling step of constructing a model having one or more variables and obtaining a solution by assigning arbitrary values to the variables in the model; 상기 모델에 대하여 각각의 변수가 갖는 범위 내에서 소정의 값을 선택하여 대입함으로써 얻어지는 상기 모델의 값으로 이루어지는 벡터의 수를 결정하는 단계와;Determining a number of vectors comprising values of the model obtained by selecting and substituting a predetermined value within the range of each variable with respect to the model; 각각의 변수가 갖는 범위 내에서 임의의 변수 값을 선택하여 대입함으로써 상기 결정된 수의 벡터를 구하는 단계와;Obtaining the determined number of vectors by selecting and substituting arbitrary variable values within a range of each variable; 상기 얻어진 모델의 값을 비교하여 최적 값에 가까운 순서대로 벡터를 배열한 벡터 그룹을 형성하는 단계와;Comparing the values of the obtained models to form a vector group in which vectors are arranged in order of being close to an optimal value; 상기 모델에서 변수에 대해 그 범위 내의 임의의 값을 대입하여 벡터를 형성하고 모델의 값을 구하여 상기 벡터 그룹의 최하위 값보다 우월한 경우에는 그 벡터를 상기 벡터 그룹의 해당 순위에 포함시키고 최하위 값의 벡터를 탈락시키고, 열등한 경우에는 그 벡터를 버리는 과정을 소정의 횟수만큼 반복하여 벡터 그룹을 얻는 단계와;In the model, if a variable is substituted for an arbitrary value within the range to form a vector, and the value of the model is superior to the lowest value of the vector group, the vector is included in the corresponding rank of the vector group, and the vector of the lowest value is included. Dropping and, if inferior, repeating the process of discarding the vector a predetermined number of times to obtain a vector group; 상기 벡터 그룹으로부터 최적 벡터를 선택하여 최적 변수 값을 결정하는 단계를 포함하는 방법.Selecting an optimal vector from the group of vectors to determine an optimal variable value. 제 1 항에 있어서, 상기 모델에서 변수가 가질 수 있는 범위를 설정하고, 그 범위에서 변수 값이 취할 수 있는 간격을 설정하여, 그 한도에서 임의로 선택된 변수 값을 모델에 대입하는 것을 특징으로 하는 방법.The method of claim 1, wherein a range of variables can be set in the model, an interval that variable values can take in the range, and a variable value arbitrarily selected in the limit is substituted into the model. . 제 1 항에 있어서, 상기 모델의 변수에 대해 그 범위 내의 임의의 값을 대입하여 벡터를 형성할 때 그 모델의 변수를 상기 벡터 그룹에 포함된 변수 값에서 50 내지 99%를 선택하고, 1 내지 50%는 상기 벡터 그룹에 포함되지 않은 변수 값에서 선택하는 것을 특징으로 하는 방법.The method of claim 1, wherein when assigning an arbitrary value within a range to a variable of the model to form a vector, the variable of the model is selected from 50 to 99% from a variable value included in the vector group, 50% is selected from variable values not included in the vector group. 제 3 항에 있어서, 상기 모델의 변수에 대해 그 범위 내의 임의의 값을 대입하여 벡터를 형성할 때 상기 벡터 그룹의 높은 순위의 벡터에서 사용된 변수 값에 높은 비중을 두어 더 높은 빈도로 선택되도록 하는 것을 특징으로 하는 방법.4. The method of claim 3, wherein when assigning an arbitrary value within a range to a variable of the model to form a vector, a higher weight is placed on the variable value used in the high ranking vector of the vector group so that the frequency is selected more frequently. Characterized in that. 제 1 항에 있어서, 상기 벡터 그룹에 포함되는 벡터에 대해 제한 조건을 설정하고, 제한 조건을 만족시키지 못하는 벡터는 상기 벡터 그룹에서 탈락시키는 것을 특징으로 하는 방법.The method of claim 1, wherein a constraint is set for the vectors included in the vector group, and a vector not satisfying the constraint is dropped from the vector group.
KR10-2000-0026416A 2000-05-17 2000-05-17 Method for Determining Optimum Solution and Parameters Therefor for Model Having One or More Parameters KR100405043B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0026416A KR100405043B1 (en) 2000-05-17 2000-05-17 Method for Determining Optimum Solution and Parameters Therefor for Model Having One or More Parameters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0026416A KR100405043B1 (en) 2000-05-17 2000-05-17 Method for Determining Optimum Solution and Parameters Therefor for Model Having One or More Parameters

Publications (2)

Publication Number Publication Date
KR20010105701A KR20010105701A (en) 2001-11-29
KR100405043B1 true KR100405043B1 (en) 2003-11-07

Family

ID=19668938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0026416A KR100405043B1 (en) 2000-05-17 2000-05-17 Method for Determining Optimum Solution and Parameters Therefor for Model Having One or More Parameters

Country Status (1)

Country Link
KR (1) KR100405043B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990008140A (en) * 1995-04-28 1999-01-25 엑손케미칼패턴츠인코포레이티드 Feedback method for nonlinear process control
KR19990087555A (en) * 1996-03-06 1999-12-27 디. 크레이그 노룬드 How to identify patterns that are difficult to distinguish by optimizing a recognition dictionary
WO2000010109A1 (en) * 1998-08-11 2000-02-24 I2 Technologies, Inc. Data structure and operations for time-varying variable in an enterprise model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990008140A (en) * 1995-04-28 1999-01-25 엑손케미칼패턴츠인코포레이티드 Feedback method for nonlinear process control
KR19990087555A (en) * 1996-03-06 1999-12-27 디. 크레이그 노룬드 How to identify patterns that are difficult to distinguish by optimizing a recognition dictionary
WO2000010109A1 (en) * 1998-08-11 2000-02-24 I2 Technologies, Inc. Data structure and operations for time-varying variable in an enterprise model

Also Published As

Publication number Publication date
KR20010105701A (en) 2001-11-29

Similar Documents

Publication Publication Date Title
Kohler et al. PSO+: A new particle swarm optimization algorithm for constrained problems
Wortmann Genetic evolution vs. function approximation: Benchmarking algorithms for architectural design optimization
Chowdhury et al. A mixed-discrete particle swarm optimization algorithm with explicit diversity-preservation
KR101190330B1 (en) Pipeline optimizer system
Ezzeldin et al. Optimal design of water distribution networks using whale optimization algorithm
Liong et al. Optimal design of water distribution network using shuffled complex evolution
Cisty Hybrid genetic algorithm and linear programming method for least-cost design of water distribution systems
CN104866904A (en) Parallelization method of BP neural network optimized by genetic algorithm based on spark
De Paola et al. A jazz-based approach for optimal setting of pressure reducing valves in water distribution networks
CN111080483A (en) DMA automatic partitioning method for water supply network based on graph division
CN114154412A (en) Optimized chip layout system and method based on deep reinforcement learning
CN112187554A (en) Operation and maintenance system fault positioning method and system based on Monte Carlo tree search
Noilublao et al. Simultaneous topology, shape, and sizing optimisation of plane trusses with adaptive ground finite elements using MOEAs
Moosavian et al. Hydraulic analysis of water distribution network using shuffled complex evolution
CN111366291A (en) Water supply pipeline pressure prediction and roughness calibration method based on entropy and artificial neural network
CN112507030B (en) Graph management system based on block chain technology
KR100405043B1 (en) Method for Determining Optimum Solution and Parameters Therefor for Model Having One or More Parameters
Ping et al. A mixed isomorphism approach for kinematic structure enumeration graphs based on intelligent design and manufacturing
Zácik Optimization of the gas transport in pipeline systems
Liu et al. A multi-leader Harris Hawks optimizer with adaptive mutation and its application for modeling of silicon content in liquid iron of blast furnace
Suribabu et al. Particle Swarm Optimization Compared to Other Heuristic Search Techniques for Pipe Sizing.
CN115270686A (en) Chip layout method based on graph neural network
US20040044503A1 (en) Smooth operators in optimization of structures
CN113627673B (en) Method for formulating joint optimization regulation and control scheme of multiple hydraulic facilities in water diversion engineering
CN116882692B (en) Alcohol-based new energy filling point setting optimization method and system based on generation formula

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20081028

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee