KR20020056787A - Auto nesting algorithm for creation of hull part - Google Patents

Auto nesting algorithm for creation of hull part Download PDF

Info

Publication number
KR20020056787A
KR20020056787A KR1020000086206A KR20000086206A KR20020056787A KR 20020056787 A KR20020056787 A KR 20020056787A KR 1020000086206 A KR1020000086206 A KR 1020000086206A KR 20000086206 A KR20000086206 A KR 20000086206A KR 20020056787 A KR20020056787 A KR 20020056787A
Authority
KR
South Korea
Prior art keywords
condition
steel
statement
block
group
Prior art date
Application number
KR1020000086206A
Other languages
Korean (ko)
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 KR1020000086206A priority Critical patent/KR20020056787A/en
Publication of KR20020056787A publication Critical patent/KR20020056787A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Factory Administration (AREA)

Abstract

PURPOSE: An automatic nesting algorithm for creating a ship body member is provided to make an optimum arrangement possible automatically by supplying an automatic nesting algorithm comprising a pre-nesting algorithm for allocating various kinds of members to various rigid bodies properly and a nesting algorithm for optimally arranging the members allocated by the pre-nesting algorithm to a corresponding rigid body. CONSTITUTION: A thickness and material of a rigid body are processed by a user input, a corresponding material is extracted thereto, an equivalent length and the total length by numbers according to materials, and corresponding blocks included in a nesting are obtained(S100). A priority according to blocks is set by other input of the user, a classification is performed according to corresponding blocks, a length sum according to widths is calculated, a length is converted based on a standard width, and a check table with respect to a width and a block is prepared(S110). The inputted and processed rigid body is converted into a length with respect to the standard width, a divided value of the corresponding width according to blocks, and the first block is selected in accordance with the set priority(S120). At this time, a block having the highest length is firstly selected out of the same blocks(S120). If the first block is set, a condition sentence for comparing and distinguishing a standard width conversion length of the selected block with/from a standard width conversion length of the rigid body is suggested, and the members are allocated to the rigid body properly(S130).

Description

선체 부재의 생성을 위한 자동 네스팅 알고리즘{Auto nesting algorithm for creation of hull part}Auto nesting algorithm for creation of hull part

본 발명은 선체 부재의 생성을 위한 자동 네스팅 알고리즘에 관한 것으로, 더욱 상세하게는 자동으로 부재들의 배치를 최적화한 알고리즘을 제공하여 잔재량 및 절단부분의 수를 최소화하고 절단된 부재들의 분류작업이 용이하게 이루어지도록 함으로써 원자재의 사용 효율성을 극대화시킴은 물론 작업공수를 줄여 생산성을 향상시키도록 한 선체 부재의 생성을 위한 자동 네스팅 알고리즘에 관한 것이다.The present invention relates to an automatic nesting algorithm for the generation of hull members, and more particularly, to provide an algorithm that automatically optimizes the arrangement of the members to minimize the amount of residual material and the number of cut parts, and to classify the cut members. The present invention relates to an automatic nesting algorithm for the production of a hull member that can be easily made to maximize the use efficiency of raw materials as well as to reduce productivity.

일반적으로 네스팅(nesting)이란 일정한 제약조건을 만족하면서 원자재의 잔재율을 최소화하기 위하여 원자재에 다양한 형상의 부재들을 적절하게 배치하는 작업으로 선박 및 플랜트산업분야의 부품생산에 필수적인 공정이다.In general, nesting is an essential process for the production of parts in the ship and plant industries by appropriately arranging members of various shapes in the raw materials in order to satisfy certain constraints and minimize the residual ratio of the raw materials.

선박을 제조하는 조선공업에 있어서 네스팅은 노동력이 많이 소요되는 작업이고 자재비와도 직결되며 설계정보를 생산정보로 변환시켜주는 역할을 하므로 생산성 향상을 위하여 부재의 배치, 자재관리, 생산계획, 절단공정 등 많은 사항이 함께 고려되어야 한다.Nesting is a labor-intensive work in the shipbuilding industry that manufactures ships. It is directly related to material costs and converts design information into production information. Therefore, nesting, material management, production planning, and cutting are required to improve productivity. Many things, including processes, must be considered together.

이러한 네스팅에 사용되는 네스팅 프로그램은 조선공업의 관심분야중의 하나로서 전산시스템 기반기술과 수치제어 절단기의 발달에 따라 계속적인 발전이 요구되고 있는데, 국내의 경우 네스팅 프로그램에 의한 절단은 주로 외국으로부터 시스템을 도입하여 활용하고 있다.The nesting program used for such nesting is one of the fields of interest in the shipbuilding industry, which requires continuous development with the development of computer-based technology and numerical control cutters. The system has been introduced and used from abroad.

그런데, 종래의 네스팅 프로그램은 임의 배치를 위한 네스팅이 그 목적이어서 특화된 작업규칙을 반영할 수 없음은 물론 부재형상의 복잡성과 다양함, 절단공정, 정도관리 등으로 인하여 그 적용이 어렵기 때문에 최소 잔재율, 최소 절단시간 등의 최적해를 효과적으로 구할 수 있는 알고리즘 개발이 요구되고 있는 실정이며, 절단된 부재의 형상에 의한 분류작업이 용이하게 이루어지지 못하는 문제점이 있었다.By the way, the conventional nesting program is not intended to reflect the specialized work rules because the nesting for arbitrary arrangements, as well as difficult to apply due to the complexity and variety of the member shape, cutting process, quality control, etc. It is a situation that the development of an algorithm that can effectively obtain the optimal solution, such as the minimum residual rate, the minimum cutting time is required, there is a problem that the classification work by the shape of the cut member is not easily performed.

본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로서, 그 목적으로 하는 바는 다양한 부재들을 여러개의 강재에 적절하게 할당하여주는 프리네스팅(pre-nesting) 알고리즘과 상기 프리네스팅 알고리즘에 의하여 할당된 부재를 해당하는 강재에 최적화하여 배치하는 네스팅 알고리즘으로 이루어진 자동 네스팅 알고리즘을 제공함으로써 자동으로 최적의 배치가 가능하도록 하여 생산성을 향상시키도록 하는데 있다.The present invention has been proposed to solve the above problems, and its object is to provide a pre-nesting algorithm and an appropriate pre-nesting algorithm for allocating various members to various steels. By providing an automatic nesting algorithm consisting of a nesting algorithm for optimizing and assigning the assigned members to the corresponding steel, it is possible to automatically optimize the placement, thereby improving productivity.

도 1은 본 발명에 따른 선체 부재의 생성을 위한 자동 네스팅 알고리즘을 설명하기 위한 개략 블럭도이다.1 is a schematic block diagram illustrating an automatic nesting algorithm for the generation of a hull member in accordance with the present invention.

도 2는 본 발명에 따른 프리네스팅 알고리즘을 나타내는 흐름도이다.2 is a flowchart illustrating a pre-nesting algorithm according to the present invention.

도 3은 본 발명에 따른 네스팅 알고리즘을 나타내는 흐름도이다.3 is a flowchart illustrating a nesting algorithm according to the present invention.

도 4는 본 발명에 따른 배치 개선 프로세스를 나타내는 흐름도이다.4 is a flow chart illustrating a batch improvement process according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

100: 프리네스팅 알고리즘 200: 네스팅 알고리즘100: pre-nesting algorithm 200: nesting algorithm

상기와 같은 목적을 달성하기 위하여 본 발명은 프리네스팅 알고리즘은 사용자 입력에 의하여 강재의 두께 및 재질을 처리하고 그에 따른 해당 부재를 추출하되 부재별로 등가길이 및 넘버별 총 길이를 구하여 네스팅에 포함되는 해당 블럭들을 얻어내는 제1 단계와; 상기 사용자의 또 다른 입력에 의하여 블럭별 우선순위를 설정하고 해당 블럭별로 분류하여 폭별 길이 합을 구한 후 기준폭으로 길이를 환산하되 폭과 블럭에 대한 체크표를 작성하는 제2 단계와; 상기 입력 처리된 강재를 기준폭에 대한 길이로 환산하고 블럭별로 해당 폭의 나눔값을 구한 후 설정된 우선순위대로 블럭을 선택하는 제3 단계와; 상기 선택블록의 기준폭 변환길이에 강재의 기준폭 변환길이를 비교하여 판별하도록 하는 조건문을 제시하여 강재에 네스팅될 스키드를 추출하고 부재들을 강재에 적절하게 할당하여주는 제4 단계로 구성되며, 네스팅 알고리즘은 상기 프리네스팅 알고리즘에 의하여 선택된 강재에 할당되어진 부재를 추출하는 현 강재 소속 부재추출단계와; 상기 부재를 해당하는 강재에 배치하기 위한 준비과정으로 반복 FOR문을 제시하여 플래그를 설정하고 부재의 마크로 집단을 생성하는 마크로 집단 생성단계와; 상기 생성작업 후 반복 WHILE문을 제시하여 각 블럭별 마크로 집단의 존재여부를 판별하여 부재를 강재에 최적 배치되도록 하는 부재 배치단계로 구성되는 것을 특징으로 한다.In order to achieve the above object, the present invention includes a pre-nesting algorithm, which processes the thickness and material of the steel by user input and extracts the corresponding members, and obtains the equivalent length and the total length by the number in the nesting. A first step of obtaining corresponding blocks; A second step of setting priorities for each block according to another input of the user, classifying the corresponding blocks, obtaining a sum of widths for each width, converting the lengths into reference widths, and creating a check table for widths and blocks; Converting the input processed steel into a length of a reference width, obtaining a division value of the corresponding width for each block, and then selecting blocks according to a set priority; A fourth step of extracting a skid to be nested in the steel and allocating members to the steel, by presenting a conditional statement for comparing and comparing the reference width conversion length of the steel to the reference width conversion length of the selection block. The nesting algorithm comprises: extracting a member belonging to a current steel material for extracting a member assigned to the steel selected by the pre-nesting algorithm; A macro group generation step of setting a flag and generating a macro group of members by presenting a repeating FOR statement in preparation for placing the member in a corresponding steel material; It is characterized by consisting of a member arrangement step to determine whether the presence of a macro group for each block by presenting a repeated WHILE statement after the generation operation so that the member is optimally placed on the steel.

이와 같은 본 발명의 바람직한 실시예를 도면을 참조하면서 상세히 설명하면 다음과 같다.When described in detail with reference to the drawings the preferred embodiment of the present invention as follows.

도 1은 본 발명에 따른 선체 부재의 생성을 위한 자동 네스팅 알고리즘을 설명하기 위한 개략 블럭도이고, 도 2는 본 발명에 따른 프리네스팅 알고리즘을 나타내는 흐름도이고, 도 3은 본 발명에 따른 네스팅 알고리즘을 나타내는 흐름도이고, 도 4는 본 발명에 따른 배치 개선 프로세스를 나타내는 흐름도이다.1 is a schematic block diagram illustrating an automatic nesting algorithm for generation of a hull member according to the present invention, FIG. 2 is a flow chart showing a pre-nesting algorithm according to the present invention, and FIG. 4 is a flowchart illustrating a Sting algorithm, and FIG. 4 is a flowchart illustrating a batch improvement process according to the present invention.

도 1에 나타낸 바와 같이, 본 발명에 따른 선체 부재의 생성을 위한 자동 네스팅 알고리즘은 다양한 부재들을 여러개의 강재에 적절하게 할당하여주는 프리네스팅 알고리즘(100)과 상기 프리네스팅 알고리즘(100)에 의하여 할당된 부재를 해당하는 강재에 최적 배치하는 네스팅 알고리즘(200)으로 이루어진다.As shown in FIG. 1, the automatic nesting algorithm for generating a hull member according to the present invention includes a pre-nesting algorithm 100 and a pre-nesting algorithm 100 for properly allocating various members to a plurality of steels. It consists of a nesting algorithm 200 for optimally placing the member assigned by the corresponding steel.

상기 프리네스팅 알고리즘(100)은 도 2에 나타낸 바와 같이, 사용자 입력에 의하여 강재의 두께 및 재질을 처리하고 그에 따른 해당 부재를 추출하되 부재별로 등가길이 및 넘버별 총 길이를 구하여 네스팅에 포함되는 해당 블럭들을 얻어낸다(S100).As shown in FIG. 2, the pre-nesting algorithm 100 processes the thickness and material of the steel according to a user input and extracts the corresponding member according to the user input, and obtains the equivalent length and the total length by the number and includes the nesting in the nesting. Obtain the corresponding blocks (S100).

상기 사용자의 또 다른 입력에 의하여 블럭별 우선순위를 설정하고 해당 블럭별로 분류하여 폭별 길이 합을 구한 후 기준폭으로 길이를 환산하되 폭과 블럭에 대한 체크표를 작성한다(S110).After setting the priority of each block by another input of the user and classifying by the corresponding block to obtain the sum of widths by width, the length is converted into a reference width, but a check table for width and block is prepared (S110).

이때, 상기 블럭별 우선순위 설정은 미처리블럭은 -1, 급처리블럭은 1∼5, 기타블럭은 999로 주고 차례대로 우선순위를 갖는다.In this case, the priority setting for each block is given as -1 for an unprocessed block, 1 to 5 for an expedited block, and 999 for another block, and have priority.

상기 입력 처리된 강재를 기준폭에 대한 길이로 환산하고 블럭별로 해당 폭의 나눔값을 구한 후 설정된 우선순위대로 1차 블럭을 선택하되 동일한 블럭이 여러개 있을 경우 길이가 큰 블럭을 먼저 선택한다(S120).The input processed steel is converted to the length of the reference width, the division value of the corresponding width is obtained for each block, and then the primary block is selected according to the set priority, but if there are several identical blocks, the block having the same length is first selected (S120). ).

여기에서, 강재의 크기를 3500(폭) * 16000(길이)으로 가정하고 150mm의 기준폭에 대한 길이로 환산하면,Here, assuming that the size of the steel is 3500 (width) * 16000 (length) in terms of the length of the reference width of 150mm,

16000 * (3500/150) = 368000mm가 되며,16000 * (3500/150) = 368000mm,

나눔값은The division value is

3500/150 = 23이 되며, 이것은 강재에 부재를 할당하기 위한 줄의 수를 의미한다.3500/150 = 23, which means the number of rows for assigning members to the steel.

또한, 블럭선택을 위한 설정은 선택이유에 의하여 차례대로 선택되는데, 첫번째 블럭이 원하는 기준에 만족이 되면 두 번째 블럭을 채우게 된다.Also, the setting for block selection is sequentially selected based on the reason for selection. When the first block satisfies the desired criteria, the second block is filled.

상기 1차 블록이 설정되면 선택블록의 기준폭 변환길이와 강재의 기준폭 변환길이를 비교 판별하는 조건문을 제시하여 부재들을 강재에 적절하게 할당한다(S130).When the primary block is set, a conditional statement for comparing and determining the reference width conversion length of the selection block and the reference width conversion length of the steel is presented, and the members are appropriately assigned to the steel (S130).

이때, 상기 조건문은 선택블럭의 기준폭 변환길이가 강재의 기준폭 변환길이보다 작은가를 판별하며 그 조건이 거짓이면 이번 강재에 네스팅될 적정 스키드(skid)를 추출한 후 강재번호 할당작업을 수행하는 제1 IF문 단계(S131)와; 상기 제1 IF문 단계(S131)의 조건이 참일 경우 흐름블럭넘버가 최대블럭넘버인가를 판별하며 그 조건이 참이면 우선순위가 가장 높은 블럭을 선택하되 동일한 블럭이 여러개 있을 경우 1차 블럭에 유사한 성질을 갖는 블럭을 선택하고, 그 조건이 거짓이면 강재번호 할당작업을 수행하는 제2 IF문 단계(S132)와; 상기 유사블럭 선택작업 후에 선택블럭의 기준폭 변환길이가 강재의 기준폭 변환길이보다 큰가를 판별하며 그 조건이 거짓이면 제2 IF문 단계로 피드백(feedback)시키는 제3 IF문 단계(S133)와; 상기 제3 IF문 단계(S133)의 조건이 참일 경우 플래그(flag) 분할 블럭이 사실인가를 판별하며 그 조건이 참이면 최종적으로 넘어서게 된 블럭으로부터 이번 강재에 네스팅될 필요 스키드만을 추출해내어 현재까지 선택된 부재에 현재의 강재번호를 할당하고, 그 조건이 거짓이면 바로 강재번호 할당작업이 수행되도록 하는 제4 IF문 단계(S134)와; 상기 강재번호 할당작업 후 현재의 강재번호가 총강재번호인가를 판단하며 그 조건이 거짓이면 제2 단계(S110)의 강재 기준폭 길이환산 과정으로 피드백시키고, 그 조건이 참이면 작업수행을 종료하는 제5 IF문단계(S135)로 구성된다.In this case, the conditional statement determines whether the reference width conversion length of the selection block is smaller than the reference width conversion length of the steel, and if the condition is false, extracting an appropriate skid to be nested in the steel and then assigning the steel number A first IF statement step S131; If the condition of the first IF statement step S131 is true, it is determined whether the flow block number is the maximum block number. If the condition is true, the block having the highest priority is selected, but similar to the primary block if there are several identical blocks. A second IF statement step S132 of selecting a block having a property and performing a steel number assignment operation if the condition is false; A third IF statement step S133 for determining whether the reference width conversion length of the selection block is greater than the reference width conversion length of the steel after the pseudo block selection operation, and if the condition is false, feeding back to the second IF statement step (S133); ; If the condition of the third IF statement step (S133) is true, it is determined whether the flag partition block is true. If the condition is true, only the skids required to be nested in the steel are extracted from the block which has been finally passed to the present time. A fourth IF statement step S134 for assigning the current steel number to the selected member, and if the condition is false, to immediately perform the steel number assignment operation; After the steel number assignment operation, it is determined whether the current steel number is the total steel number. If the condition is false, the feedback is returned to the steel reference width conversion process of the second step (S110), and if the condition is true, the work execution is terminated. The fifth IF statement step (S135).

여기에서, 우선순위는 폭 종류 같음, 폭 종류 적음, 환산길이 긺의 순이며 가능한 매칭 체크(matching check)되도록 한다.Here, the priority is the same as the width kind, the width kind is small, the conversion length 긺 in order to make possible matching check.

한편, 강재를 기준폭에 대한 길이로 환산하는 작업을 수행하기 전에 신규강재를 할당하되 신규강재가 여러개일 경우 작은 강재부터 할당하게 한다(S140).On the other hand, before performing the task of converting the steel to the length of the reference width to allocate a new steel, but if there are a number of new steel to be assigned from the small steel (S140).

본 발명에 따른 선체 부재의 생성을 위한 자동 네스팅 알고리즘의 네스팅 알고리즘(200)은 도 3에 나타낸 바와 같이, 상기 프리네스팅 알고리즘(100)에 의하여 선택된 강재에 할당되어진 부재를 추출한다(S200).The nesting algorithm 200 of the automatic nesting algorithm for generating the hull member according to the present invention extracts the member assigned to the steel selected by the pre-nesting algorithm 100, as shown in FIG. ).

상기 부재를 해당하는 강재에 배치하기 위한 준비과정으로 반복 FOR문을 제시하여 마크로 집단을 생성한다(S210).A macro group is generated by presenting a repeating FOR statement in preparation for placing the member on the corresponding steel (S210).

이때, 마크로 집단 생성을 위한 반복문은 초기값(I=1) 및 증가값(I++) 내에서 추출된 부재가 최대 폭 형태인가를 판별하며 그 조건이 참이면 현재 I값에 해당되는 부재들을 추출하되 소속집단을 명시하는 플래그를 설정하고, 그 조건이 거짓이면 작업을 종료하는 제1 FOR문 단계(S211)와; 상기 플래그 설정 후 초기값(J=1) 및 증가값(J++) 내에서 부재가 최대 부재넘버인가를 판별하며 그 조건이 참이면 마크로 형태의 개수를 증가시키는 작업을 수행하되 반복 실행되도록 하고, 그 조건이 거짓이면 다음 단계로 이동하는 제2 FOR문 단계(S212)로 구성된다.At this time, the loop for creating a macro group determines whether the extracted members in the initial value (I = 1) and the increment value (I ++) are in the maximum width form. If the condition is true, the members corresponding to the current I value are extracted. A first FOR statement step S211 for setting a flag that specifies the belonging group, and ending the operation if the condition is false; After setting the flag, it is determined whether the member is the maximum member number within the initial value (J = 1) and the increment value (J ++), and if the condition is true, the operation of increasing the number of macro forms is performed, and is repeatedly executed. If the condition is false, a second FOR statement step S212 moves to the next step.

상기 마크로 집단 생성작업 후 반복 WHILE문을 제시하여 각 블럭별 마크로 집단의 존재여부를 판별하여 부재가 강재에 최적 배치되도록 한다(S220).After the macro group generation operation, a repeated WHILE statement is presented to determine the existence of the macro group for each block so that the member is optimally disposed on the steel (S220).

이때, 상기 반복문은 제2 FOR문 단계(S212)의 조건이 거짓일 경우 310번대마크로 집단이 존재하는가를 판별하며 그 조건이 참인 동안 310번대 마크로 집단중 우선 배치집단을 선택하여 배치하고 반복 실행되도록 하는 제1 WHILE문 단계(S221)와; 상기 제1 WHILE문 단계(S221)의 조건이 거짓일 경우 210번대 마크로 집단이 존재하는가를 판별하며 그 조건이 참인 동안 210번대 마크로 집단중 우선 배치집단을 선택하여 배치하고 반복 실행되도록 하는 제2 WHILE문 단계(S222)와; 상기 제2 WHILE문 단계(S222)의 조건이 거짓일 경우 320번대 마크로 집단이 존재하는가를 판별하며 그 조건이 참인 동안 320번대 마크로 집단중 우선 배치집단을 선택하여 배치하고 반복 실행되도록 하는 제3 WHILE문 단계(S223)와, 상기 제3 WHILE문 단계(S223)의 조건이 거짓일 경우 기타 마크로 집단이 존재하는가를 판별하며 그 조건이 참인 동안 기타 마크로 집단중 우선 배치집단을 선택하여 배치하고 반복 실행되도록 하고, 그 조건이 거짓이면 다음의 배치 개선 프로세스(S300)로 이동하는 제4 WHILE문 단계(S224)로 구성된다.In this case, if the condition of the second FOR statement step S212 is false, the loop statement determines whether the group 310 is present, and selects the batch group of the group 310 and selects and executes it repeatedly while the condition is true. A first WHILE statement step S221; If the condition of the first WHILE statement step (S221) is false, it is determined whether there is a macro group of 210, and while the condition is true, the second WHILE to select and place a priority group among the 210 group of macros and execute it repeatedly. A door step S222; If the condition of the second WHILE statement step (S222) is false, it is determined whether there is a macro group of 320, and while the condition is true, the third group of the group selected from the 320 macro group is placed and repeatedly executed. If the condition of the statement step (S223) and the third WHILE statement step (S223) is false, it is determined whether the other macro group exists. While the condition is true, it selects and places a priority batch group among other macro groups and repeats the execution. And if the condition is false, the fourth WHILE statement step S224 moves to the next batch improvement process S300.

상기 배치 개선 프로세스(S300)는 일반적으로 사용되는 담금질방법을 사용하였으며 부재의 배치 개선을 통하여 더 좋은 배치가 이루어지도록 하는 작업으로 도 4에 나타낸 바와 같이, 프리네스팅 알고리즘(100) 및 네스팅 알고리즘(200)에 의하여 배치가 완료된 부재의 배치에 대하여 비용함수(C)를 계산하는 비용함수 계산단계(S310)와; 상기 전단계(S310)에 의하여 계산된 비용함수(C)가 지정된 루프 카운트 및 온도의 임계값에 근접하는가를 판별하고 그 조건이 참이면 작업을 종료하는 임계값 조정단계(S320)와; 상기 임계값 조정단계(S320)의 조건이 거짓일 경우 지정된 루프 횟수만큼 루프를 돌게 하고 성공 횟수가 임계값에 근접하는가를 판별하여그 조건이 참이면 루프를 벗어나게 하되 임계값의 미세 조정을 위한 온도냉각과정을 거쳐 다시 임계값 조정단계(S320)로 피드백되도록 하며, 그 조건이 거짓이면 수정된 배치형태를 구한 후 델타비용(ㅿC)을 계산하도록 하는 루프횟수 지정단계(S330)와; 상기 델타비용 계산에 의하여 계산된 델타비용(ㅿC)이 0보다 작은가를 판별하며 그 조건이 참이면 배치형태를 개선하여 루프횟수 지정단계(S330)로 피드백시키고 그 조건이 거짓이면 허용여부판단값을 계산하는 델타비용 판별단계(S340)와; 상기 허용여부판단값 계산 후 그 값에 대응하는 알파가 임의값 0 또는 1보다 큰가를 판별하며 그 조건이 참이면 배치형태 개선작업을 수행하도록 하고, 그 조건이 거짓이면 루프횟수 지정단계(S330)로 피드백되도록 하는 허용여부판단값 판별단계(S350)로 구성된다.The batch improvement process (S300) uses a quenching method that is generally used, and as shown in FIG. 4 in order to achieve a better layout by improving the arrangement of the members, the pre-nesting algorithm 100 and the nesting algorithm. A cost function calculating step (S310) for calculating a cost function (C) for the arrangement of the members in which arrangement is completed by 200; A threshold adjustment step (S320) of determining whether the cost function (C) calculated by the previous step (S) is close to a threshold of a specified loop count and temperature, and ending the task if the condition is true; If the condition of the threshold adjustment step (S320) is false, the loop is rotated as many times as the specified loop number and the success number is determined to be close to the threshold value. A loop frequency designation step S330 for cooling the process back to the threshold value adjusting step S320, and calculating a delta cost after calculating a modified batch form if the condition is false; It is determined whether the delta cost calculated by the delta cost calculation is less than zero, and if the condition is true, the batch type is improved to feed back to the loop count designation step (S330). Delta cost determination step (S340) for calculating the; After calculating the allowance determination value, it is determined whether the alpha corresponding to the value is greater than the random value 0 or 1, and if the condition is true, the batch type improvement operation is performed, and if the condition is false, the loop number designation step (S330). It is composed of a determination whether the determination whether the allowance value (S350).

이때, 상기 비용함수(C)는 잔재량에 대한 비용함수(C1), 배재에 대한 비용함수(C2) 및 절단부분에 대한 절단 비용함수(C3)가 존재하며 이들을 조합하면 된다.In this case, the cost function (C) is a cost function (C1) for the residual amount, the cost function (C2) for the exclusion and the cutting cost function (C3) for the cut portion may be combined.

그리고, 상기 허용여부판단값은 델타비용(ㅿC)과 온도(T)로서 구할 수 있으며, 알파는 허용여부판단값에 대응하는 값인데 식으로 나타내면,The allowable determination value can be obtained as a delta cost (C) and a temperature (T), and alpha is a value corresponding to the allowable determination value.

alpha = exp(-ㅿC/T)이다.alpha = exp (-ㅿ C / T).

이상에서 살펴본 바와 같이 본 발명에 따른 선체 부재의 생성을 위한 자동 네스팅 알고리즘에 의하면, 다양한 부재들을 여러개의 강재에 적절하게 할당하여주는 프리네스팅 알고리즘과 상기 프리네스팅 알고리즘에 의하여 할당된 부재를 해당하는 강재에 최적화하여 배치하는 네스팅 알고리즘으로 이루어진 자동 네스팅 알고리즘을 제공함으로써 잔재량 및 절단부분의 수가 최소화되고 절단된 부재들의 분류작업이 용이하게 이루어지므로 원자재의 사용 효율성이 극대화됨은 물론 작업공수가 감소되어 생산성이 향상되는 탁월한 효과가 있다.As described above, according to the automatic nesting algorithm for generating a hull member according to the present invention, a pre-nesting algorithm for appropriately allocating various members to a plurality of steels and a member assigned by the pre-nesting algorithm are provided. By providing an automatic nesting algorithm consisting of nesting algorithms that are optimized and placed for the steel, the amount of residual material and the number of cuts are minimized, and the sorting of cut parts is made easy, thus maximizing the use efficiency of raw materials There is an excellent effect that the productivity is improved by the reduction.

Claims (5)

프리네스팅 알고리즘(100)은 사용자 입력에 의하여 강재의 두께 및 재질을 처리하고 그에 따른 해당 부재를 추출하되 부재별로 등가길이 및 넘버별 총 길이를 구하여 네스팅에 포함되는 해당 블럭들을 얻어내는 제1 단계(S100)와; 상기 사용자의 또 다른 입력에 의하여 블럭별 우선순위를 설정하고 해당 블럭별로 분류하여 폭별 길이 합을 구한 후 기준폭으로 길이를 환산하되 폭과 블럭에 대한 체크표를 작성하는 제2 단계(S110)와; 상기 입력 처리된 강재를 기준폭에 대한 길이로 환산하고 블럭별로 해당 폭의 나눔값을 구한 후 설정된 우선순위대로 블럭을 선택하는 제3 단계(S120)와; 상기 선택블럭의 기준폭 변환길이에 강재의 기준폭 변환길이를 비교하여 판별하도록 하는 조건문을 제시하여 강재에 네스팅될 스키드를 추출하고 부재들을 강재에 적절하게 할당하여주는 제4 단계(S130)로 구성되며,The pre-nesting algorithm 100 processes the thickness and material of the steel according to a user input, extracts the corresponding member, and obtains corresponding blocks included in the nesting by obtaining the equivalent length and the total length by the number of members. Step S100; A second step (S110) of setting priorities for each block according to another input of the user, classifying the corresponding blocks, obtaining a sum of widths for each width, converting the lengths into reference widths, and creating a check table for widths and blocks; ; A third step (S120) of converting the input processed steel into a length for a reference width, obtaining a division value of the corresponding width for each block, and then selecting blocks according to a set priority; The fourth step (S130) of presenting a conditional statement for comparing the reference width conversion length of the selection block to the reference width conversion length of the selection block to extract the skid to be nested in the steel and to assign the members to the steel accordingly. Is composed, 네스팅 알고리즘(200)은 상기 프리네스팅 알고리즘(100)에 의하여 선택된 강재에 할당되어진 부재를 추출하는 현 강재 소속 부재추출단계(S200)와; 상기 부재를 해당하는 강재에 배치하기 위한 준비과정으로 반복 FOR문을 제시하여 플래그를 설정하고 부재의 마크로 집단을 생성하는 마크로 집단 생성단계(S210)와; 상기 마크로 생성작업 후 반복 WHILE문을 제시하여 각 블럭별 마크로 집단의 존재여부를 판별하여 부재를 강재에 최적 배치되도록 하는 부재 배치단계(S220)로 구성되는 것을 특징으로 하는 선체 부재의 생성을 위한 자동 네스팅 알고리즘.The nesting algorithm 200 includes a current steel member extraction step (S200) for extracting a member assigned to the steel selected by the pre-nesting algorithm 100; A macro group generation step (S210) of setting a flag and generating a macro group of members by presenting a repeating FOR statement in preparation for placing the member in a corresponding steel material; Automatically for the generation of a hull member, characterized in that consisting of a member arrangement step (S220) to present the repeated group WHILE statement after the macro generation operation to determine whether there is a macro group for each block to optimally arrange the member in steel. Nesting algorithm. 제 1항에 있어서,The method of claim 1, 상기 프리네스팅 알고리즘(100)의 제3 단계(S120)는 강재를 기준폭에 대한 길이로 환산하는 작업을 수행하기 전에 신규강재를 할당하되 신규강재가 여러개일 경우 작은 강재부터 할당하는 신규강재 할당단계(S140)를 포함하는 것을 특징으로 하는 선체 부재의 생성을 위한 자동 네스팅 알고리즘.The third step (S120) of the pre-nesting algorithm 100 allocates a new steel before performing the task of converting the steel to the length of the reference width, but if there are several new steels, new steels are allocated from small steels. Automatic nesting algorithm for the generation of the hull member, characterized in that it comprises a step (S140). 제 1항에 있어서,The method of claim 1, 상기 프리네스팅 알고리즘(100)의 제4 단계(S130)는 선택블럭의 기준폭 변환길이가 강재의 기준폭 변환길이보다 작은가를 판별하며 그 조건이 거짓이면 이번 강재에 네스팅될 적정 스키드를 추출한 후 강재번호 할당작업을 수행하는 제1 IF문 단계(S131)와; 상기 제1 IF문 단계(S131)의 조건이 참일 경우 흐름블럭넘버가 최대블럭넘버인가를 판별하며 그 조건이 참이면 우선순위가 가장 높은 유사블럭을 선택하고, 그 조건이 거짓이면 강재번호 할당작업을 수행하는 제2 IF문 단계(S132)와; 상기 유사블럭 선택작업 후에 선택블럭의 기준폭 변환길이가 강재의 기준폭 변환길이보다 큰가를 판별하며 그 조건이 거짓이면 제2 IF문 단계(S132)로 피드백시키는 제3 IF문 단계(S133)와; 상기 제3 IF문 단계(S133)의 조건이 참일 경우 플래그 분할 블럭이 사실인가를 판별하며 그 조건이 참이면 최종적으로 넘어서게 된 블럭으로부터 이번 강재에 네스팅될 필요 스키드만을 추출해내어 현재까지 선택된 부재에현재의 강재번호를 할당하고, 그 조건이 거짓이면 바로 강재번호 할당작업이 수행되도록 하는 제4 IF문 단계(S134)와; 상기 강재번호 할당작업 후 현재의 강재번호가 총강재번호인가를 판단하며 그 조건이 거짓이면 제2 단계의 강재 기준폭 길이환산 과정으로 피드백시키고, 그 조건이 참이면 작업을 종료하는 제5 IF문 단계(S135)로 구성되는 것을 특징으로 하는 선체 부재의 생성을 위한 자동 네스팅 알고리즘.The fourth step S130 of the pre-nesting algorithm 100 determines whether the reference width conversion length of the selection block is smaller than the reference width conversion length of the steel, and if the condition is false, extracts an appropriate skid to be nested in this steel. A first IF statement step S131 for performing steel number assignment afterwards; If the condition of the first IF statement step S131 is true, it is determined whether the flow block number is the maximum block number. If the condition is true, the pseudo block having the highest priority is selected. If the condition is false, the steel number assignment operation is performed. A second IF statement step S132 for performing the step S132; A third IF statement step S133 for determining whether the reference width conversion length of the selection block is larger than the reference width conversion length of the steel material after the pseudo block selection operation, and feeding back to the second IF statement step S132 if the condition is false; ; If the condition of the third IF statement step (S133) is true, it is determined whether the flag division block is true, and if the condition is true, only the skids required to be nested in the steel are extracted from the block that has been finally passed to the selected member so far. A fourth IF statement step S134 of allocating the current steel number and allowing the steel number number assignment operation to be immediately performed if the condition is false; A fifth IF statement for determining whether the current steel number is the total steel number after the steel number assignment operation; if the condition is false, feeding back to the process of converting the length of the steel reference width in the second step; Automatic nesting algorithm for the generation of the hull member, characterized in that step (S135). 제 1항에 있어서,The method of claim 1, 상기 네스팅 알고리즘(200)의 마크로 집단 생성단계(S210)는 초기값(I=1) 및 증가값(I++) 내에서 추출된 부재가 최대 폭 형태인가를 판별하며 그 조건이 참이면 현재 I값에 해당되는 부재들을 추출하되 소속집단을 명시하는 플래그를 설정하고, 그 조건이 거짓이면 작업을 종료하는 제1 FOR문 단계(S211)와; 상기 플래그 설정 후 초기값(J=1) 및 증가값(J++) 내에서 부재가 최대 부재넘버인가를 판별하며 그 조건이 참이면 마크로 형태의 개수를 증가시키는 작업을 수행하되 반복 실행되도록 하고, 그 조건이 거짓이면 다음의 제1 WHILE문 단계(S221)로 이동하는 제2 FOR문 단계(S212)로 구성되는 것을 특징으로 하는 선체 부재의 생성을 위한 자동 네스팅 알고리즘.The macro group generation step S210 of the nesting algorithm 200 determines whether the member extracted in the initial value (I = 1) and the increment value (I ++) is in the maximum width form, and if the condition is true, the current I value A first FOR statement step S211 of extracting the members corresponding to the group and setting a flag indicating the belonging group, and ending the work if the condition is false; After setting the flag, it is determined whether the member is the maximum member number within the initial value (J = 1) and the increment value (J ++), and if the condition is true, the operation of increasing the number of macro forms is performed, and is repeatedly executed. And a second FOR statement step (S212) for moving to the next first WHILE statement step (S221) if the condition is false. 제 1항에 있어서,The method of claim 1, 상기 네스팅 알고리즘(200)의 부재 배치단계(S220)는 제2 FOR문 단계(S212)의 조건이 거짓일 경우 310번대 마크로 집단이 존재하는가를 판별하며 그 조건이 참인 동안 310번대 마크로 집단중 우선 배치집단을 선택하여 배치하고 반복 실행되도록 하는 제1 WHILE문 단계(S221)와; 상기 제1 WHILE문 단계(S221)의 조건이 거짓일 경우 210번대 마크로 집단이 존재하는가를 판별하며 그 조건이 참인 동안 210번대 마크로 집단중 우선 배치집단을 선택하여 배치하고 반복 실행되도록 하는 제2 WHILE문 단계(S222)와; 상기 제2 WHILE문 단계(S222)의 조건이 거짓일 경우 320번대 마크로 집단이 존재하는가를 판별하며 그 조건이 참인 동안 320번대 마크로 집단중 우선 배치집단을 선택하여 배치하고 반복 실행되도록 하는 제3 WHILE문 단계(S223)와; 상기 제3 WHILE문 단계(S223)의 조건이 거짓일 경우 기타 마크로 집단이 존재하는가를 판별하되 그 조건이 참인 동안 기타 마크로 집단중 우선 배치집단을 선택하여 배치하고 반복 실행되도록 하며, 그 조건이 거짓이면 배치 개선 프로세스(S300)로 이동하는 제4 WHILE문 단계(S224)로 구성되는 것을 특징으로 하는 선체 부재의 생성을 위한 자동 네스팅 알고리즘.The member disposition step S220 of the nesting algorithm 200 determines whether the 310th macro group exists when the condition of the second FOR statement step S212 is false, and gives priority to the 310th macro group while the condition is true. A first WHILE statement step S221 for selecting and arranging a batch group and repeatedly executing the batch group; If the condition of the first WHILE statement step (S221) is false, it is determined whether there is a macro group of 210, and while the condition is true, the second WHILE to select and place a priority group among the 210 group of macros and execute it repeatedly. A door step S222; If the condition of the second WHILE statement step (S222) is false, it is determined whether there is a macro group of 320, and while the condition is true, the third group of the group selected from the 320 macro group is placed and repeatedly executed. A door step S223; If the condition of the third WHILE statement step S223 is false, it is determined whether the other macro group exists, and while the condition is true, the first batch group among the other macro groups is selected and arranged to be executed repeatedly, and the condition is false. An automatic nesting algorithm for the generation of the hull member, characterized in that it comprises a fourth WHILE statement step (S224) to move to the rear placement improvement process (S300).
KR1020000086206A 2000-12-29 2000-12-29 Auto nesting algorithm for creation of hull part KR20020056787A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000086206A KR20020056787A (en) 2000-12-29 2000-12-29 Auto nesting algorithm for creation of hull part

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000086206A KR20020056787A (en) 2000-12-29 2000-12-29 Auto nesting algorithm for creation of hull part

Publications (1)

Publication Number Publication Date
KR20020056787A true KR20020056787A (en) 2002-07-10

Family

ID=27689288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000086206A KR20020056787A (en) 2000-12-29 2000-12-29 Auto nesting algorithm for creation of hull part

Country Status (1)

Country Link
KR (1) KR20020056787A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117151307A (en) * 2023-10-30 2023-12-01 中国人民解放军战略支援部队航天工程大学 Layout optimization method based on hybrid linear programming
KR20240045847A (en) 2022-09-30 2024-04-08 한화오션 주식회사 Ship hull part nesting algorithm based on geometry and computer-readable storage medium recorded with program for executing the same
KR20240045846A (en) 2022-09-30 2024-04-08 한화오션 주식회사 Method for nesting ship hull part and computer-readable storage medium recorded with program for executing the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61112208A (en) * 1984-11-06 1986-05-30 Toshiba Corp Automatic nesting method of cut pattern
JPS6434644A (en) * 1987-07-29 1989-02-06 Toyota Motor Corp Control device for production rate
US5351195A (en) * 1989-07-24 1994-09-27 The George Group Method for improving manufacturing processes
JPH06328351A (en) * 1993-05-20 1994-11-29 Toyota Motor Corp Control method for production ratio and its device
JPH08137533A (en) * 1994-11-14 1996-05-31 Kurashiki Laser Kk Nc nesting working method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61112208A (en) * 1984-11-06 1986-05-30 Toshiba Corp Automatic nesting method of cut pattern
JPS6434644A (en) * 1987-07-29 1989-02-06 Toyota Motor Corp Control device for production rate
US5351195A (en) * 1989-07-24 1994-09-27 The George Group Method for improving manufacturing processes
JPH06328351A (en) * 1993-05-20 1994-11-29 Toyota Motor Corp Control method for production ratio and its device
JPH08137533A (en) * 1994-11-14 1996-05-31 Kurashiki Laser Kk Nc nesting working method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240045847A (en) 2022-09-30 2024-04-08 한화오션 주식회사 Ship hull part nesting algorithm based on geometry and computer-readable storage medium recorded with program for executing the same
KR20240045846A (en) 2022-09-30 2024-04-08 한화오션 주식회사 Method for nesting ship hull part and computer-readable storage medium recorded with program for executing the same
CN117151307A (en) * 2023-10-30 2023-12-01 中国人民解放军战略支援部队航天工程大学 Layout optimization method based on hybrid linear programming
CN117151307B (en) * 2023-10-30 2024-02-06 中国人民解放军战略支援部队航天工程大学 Layout optimization method based on hybrid linear programming

Similar Documents

Publication Publication Date Title
CN107590603B (en) Based on the dispatching method and system for improving change neighborhood search and differential evolution algorithm
CN113805545B (en) Flexible flow shop combined scheduling rule generation method considering batch processing
CN112668789A (en) Self-adaptive batch scheduling method for flexible operation workshop preparation process
CN110147933B (en) Numerical control cutting blanking workshop scheduling and scheduling method based on improved wolf algorithm
CN111783254B (en) Steel cutting control method and device based on multi-target mixed integer programming
CN113953685B (en) Planning method for laser cutting path of planar plate
CN112947319B (en) Batch collection and scheduling optimization method and system for multiple production lines of cold rolling area of iron and steel enterprise
JPWO2009038196A1 (en) Precut material assignment method, computer program for precut material assignment method, and computer-readable recording medium
CN110750079A (en) Hybrid flow shop scheduling optimization method allowing process jump
Delgoshaei et al. A new method for decreasing cell-load variation in dynamic cellular manufacturing systems
KR20020056787A (en) Auto nesting algorithm for creation of hull part
CN108983719A (en) The Optimization Scheduling of panel beating process in a kind of manufacture of computer cabinet
CN113705978A (en) Static and dynamic integrated decision-making method and system for multi-machine task cutter
CN111665799A (en) Time constraint type parallel machine energy-saving scheduling method based on collaborative algorithm
JPH1139358A (en) Method for reserving plate like article
CN116579541A (en) Genetic algorithm chromosome adjustment method applied to factory intelligent scheduling
Roy et al. A heuristic approach to n/m job shop scheduling: fuzzy dynamic scheduling algorithms
CN114239958B (en) Laser cutting method and system for special-shaped part based on machine vision
CN115619200A (en) Production scheduling and multi-functional scheduling combined optimization method and device for split type Seru
CN115700647A (en) Workshop flexible operation scheduling method based on tabu search genetic algorithm
Zhang et al. An effective coding approach for multiobjective integrated resource selection and operation sequences problem
CN115167294A (en) Multi-target parallel machine scheduling method for differentiated order complete delivery
CN114676987A (en) Intelligent flexible job shop active scheduling method based on hyper-heuristic algorithm
Lamousin et al. Nesting of complex 2-D parts within irregular boundaries
CN116468137A (en) Distributed process planning and workshop scheduling integrated optimization method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application