Journal Archive

Journal of the Korean Society of Marine Engineering - Vol. 42 , No. 1

[ Original Paper ]
Journal of the Korean Society of Marine Engineering - Vol. 42, No. 1, pp. 70-74
Abbreviation: J. Korean Soc. of Marine Engineering (JKOSME)
ISSN: 2234-7925 (Print) 2234-8352 (Online)
Print publication date 31 Jan 2018
Received 08 Jun 2017 Revised 06 Nov 2017 Accepted 05 Dec 2017
DOI: https://doi.org/10.5916/jkosme.2018.42.1.70

비정형 철판잔재 재고관리 지원 시스템
장휘성1 ; 정연언2 ; 이영록3 ; 김남수4 ; 김영기5 ; 최명숙6 ; 신옥근

Inventory management aid system for irregular iron plate remnants
Hwee-Sung Jang1 ; Yeon-Eon Jeong2 ; Young-Rok Lee3 ; Nam-Soo Kim4 ; Young-Gee Kim5 ; Myeong-Suk Choe6 ; Ok-Keun Shin
1Division of IT, Korea Maritime and Ocean University, Tel: 051-410-4928 (jang5676@gmail.com)
2Division of IT, Korea Maritime and Ocean University, Tel: 051-410-4928 (yeoneon0524@naver.com)
3Division of IT, Korea Maritime and Ocean University, Tel: 051-410-4928 (jang_um@naver.com)
4Division of IT, Korea Maritime and Ocean University, Tel: 051-410-4928 (silent8320@gmail.com)
5HanJin FAS, Tel: 051-412-8644 (hjfas@naver.com)
6HanJin FAS, Tel: 051-412-8644 (hjfas@naver.com)
Correspondence to : Division of IT, Korea Maritime and Ocean University, 727, Taejong-ro, Yeongdo-gu, Busan 49112, Korea, E-mail: okshin@kmou.ac.kr, Tel: 051-410-4572


Copyright © The Korean Society of Marine Engineering
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0), which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

비정형 다품종 철판부품들을 주문받아 생산하는 철판가공 공장에서는 쓰고 남은 철판잔재를 체계적으로 보관하고 재사용할 필요가 있다. 철판은 재질, 크기, 두께와 표면처리 등의 조합에 따라 그 종류가 많을 뿐 아니라 잔재의 모양은 비정형적이어서 이들의 재고 관리방법은 기존의 규격화된 자재와는 달라야 한다. 본 연구에서는 철판잔재의 재고를 기록하고 작업지시자가 생산하기 원하는 부품에 적합한 잔재를 추천하는 한편, 잔재에서 부품을 오려내는 방법을 제안하는 철판잔재 재고관리 지원 시스템을 제안한다. 이 시스템은 바코드 스캐너, 서버와 클라이언트 컴퓨터, 네트워크 시스템 등의 하드웨어와 DB 시스템, 조력자 프로그램 및 사용자 인터페이스 등의 소프트웨어로 구성되는 데, 본고에서는 이들의 설계와 구성, 그리고 조력자 프로그램의 시뮬레이션 결과에 대해 기술한다.

Abstract

In an iron plate batch production factory where irregular shaped plate parts are produced in small quantities, it is necessary to maintain and reuse plate remnants in a systematic manner. As iron plates are very diverse in their composition of material, size, thickness, surface treatment, and especially in the shape of the remnants, the inventory management of iron plate remnants cannot be the same as that of the existing standardized stocks. In this study, we propose an iron plate inventory management system that records and trace the stock of plate remnants, recommend remnants adequate for producing the required part to the operator, and suggests the position and orientation of the part to be clipped from the remnant. The proposed system consists of hardware such as server and client computers, network system and bar code scanner, and software such as database system, user interface, and an aid program that helps the operator to choose adequate remnant. In this paper, the design, implementation, and simulation results of the inventory management aid system for iron plate remnants are described.


Keywords: Iron plate, Remnant, Irregular shape, Inventory management, Aid program
키워드: 철판, 잔재, 비정형, 재고관리, 조력자 프로그램

1. 서 론

철판 부품을 가공하여 공급하는 철판 가공공장에서는 철판의 원판을 절단하여 사용하고 남은 잔재를 효율적으로 관리함으로써 최대한 재활용할 필요가 있다. 철판잔재의 재활용 범위는 잔재의 재질, 표면처리와 두께는 물론, 잔재의 크기와 형태에 따라 달라지는 데, 다품종 주문부품을 생산하는 공장에서 생산되는 철판잔재는 그 모양이 비정형적이어서 규격화하기 어렵다. 따라서 단순히 수량, 또는 위치 추적 위주로 관리하는 통상의 상품, 또는 자재의 재고관리[1]와는 다른 방법의 재고관리가 필요하다. 이러한 종류의 재고를 효율적으로 관리하기 위해서는 먼저 생산코자하는 부품을 위해 사용될 수 있는 잔재가 얼마나 있는지 알아야하고, 이들 중 어떤 것을 선택해야 가장 효율적일지를 결정해야한다.

본 연구에서는 철판재고 창고에 있는 많은 잔재들 중에서 작업지시자가 가장 적합한 잔재를 선택할 수 있게 도와주는 재고관리 지원시스템을 설계한다. 이 시스템에서는 잔재에 바코드 태그를 부착하여 개별 잔재를 식별하고, 잔재의 재질, 규격 등의 자세한 정보와 보관위치를 DB에 저장하며, 바코드 스캐너를 이용하여 잔재들의 입출고를 DB에 기록한다. 또 이러한 작업환경을 이용하면 특정한 재질과 모양을 갖는 주문 부품을 생산하기 위해 사용될 수 있는 최적의 잔재를 작업지시자가 쉽게 선택할 수 있게 하는 조력자 프로그램 기능도 제공할 수 있다.

본 연구에서 이 프로그램은 먼저 주문부품을 생산하기 위해 사용될 수 있는 잔재후보들을 찾아서 작업지시자에게 제안한 다음, 작업지시자가 선택한 잔재에서 작업지시자가 대략적으로 지정한 위치를 기준으로 오려 낼 부품의 가장 알맞은 위치와 방향을 제안한다. 작업지시자의 개입없이 주어진 부품을 생산할 최종적인 잔재를 프로그램이 선택하도록 할 수도 있겠으나, 이 방법은 작업지시자의 경험, 주문되는 부품의 경향 등을 반영하기 어려울 뿐 아니라 알고리즘이 복잡해져서 프로그램 수행시간이 길어진다. 본 연구에서는 작업지시자의 know-how를 최대한 반영하는 동시에 실시간처리가 가능한 방법, 즉 작업지시자-컴퓨터 사이의 대화를 통한 선택방법을 택한다.

이 조력자 프로그램은 주어진 잔재에서 생산하고자하는 부품을 어떻게 잘라내는 것이 가장 효율적인지를 결정해야하데, 이 문제는 비정형 2차원 패킹 문제(2-D Irregular Bin Packing Problem)[2]-[5]와 유사하므로 이 분야의 연구결과를 이용하여 잔재의 도면에서 부품을 위치시켜보는 시뮬레이션을 통하여 해결한다. 본고의 구성은 다음과 같다. 제 2장에서는 철판 잔재를 관리하기 위한 컴퓨터 시스템과 네트워크, 또 개별 잔재의 위치, 모양, 크기 등의 정보를 보관하기 위한 데이터베이스의 설계에 대해 기술한다. 제 3장에서는 가장 적절한 잔재를 선택하기 위한 조력자 프로그램에 대해 설명한 다음, 제 4장에서는 H/W 시스템 및 조력자 프로그램의 시뮬레이션 결과에 대해 기술하고, 마지막 제 5장의 결론으로 끝맺는다.


2. 시스템의 구성
2.1 철판 잔재 관리 시스템의 H/W

제안하는 시스템은 Figure 1에 보인 것처럼 1대의 서버와 3대의 클라이언트 컴퓨터들로 이루어져 있으며 이들은 TCP/IP통신망으로 서로 연결된다[6]. 잔재서버(Remnant Server)는 재활용이 가능한 철판 잔재들에 대한 상세한 정보를 보관하는 데이터베이스를 포함한다.


Figure 1: 
H/W system configuration

CAD 클라이언트(CAD Client)는 작업공정을 결정하는 클라이언트로, UI를 통하여 Remnant Server의 데이터베이스를 열람하거나 사용할 잔재를 선택, 편집, 또는 새로운 잔재에 대한 등록을 요청할 수 있다.

스캐너 클라이언트(Scanner Client)는 바코드를 출력하는 동시에 스캐너를 이용하여 바코드를 읽어 들여서 Remnant Server에 잔재의 출납기록을 남기는 역할을 하는 클라이언트이며, 뷰어 클라이언트(Viewer Client)는 네트워크에 연결되어 어디서든지 Remnant Server로부터 현재의 잔재들을 열람하고 상태를 파악할 수 있게 하는 클라이언트이다.

2.2 데이터베이스

본 연구에서는 개별 잔재를 식별하고 추적하기 위하여 바코드를 부착하였으며, 각각의 잔재들에 대한 상세정보는 잔재 ID와 함께 데이터베이스에 저장된다. 데이터베이스는 Figure 2에 보이는 것처럼 모두 5개의 테이블로 구성된다. 플레이트 테이블은 잔재에 대한 기본정보를 담고 있는 테이블이며, 이 테이블의 도면경로는 잔재의 도면 파일이 있는 파일경로이다.


Figure 2: 
Database tables

새로운 잔재에 대한 기본정보를 입력하고 등록요청하는 작업은 CAD Client에서 이루어진다. 등록요청이 되면 새로 입력된 정보들은 플레이트 테이블에 기록되는 동시에 바코드가 부착되기 전의 잔재를 별도로 관리하는 바코드출력대기 테이블에 추가된다.

작업자가 잔재를 선택하여 해당 바코드를 출력하게 되면 그 잔재의 정보는 바코드출력대기 테이블에서 삭제되고 입고대기 테이블로 이동하게 된다. 입고대기 테이블은 보관창고에 입고되기 전 잔재들을 관리하는 테이블로, 잔재를 입고하면서 Scanner Client에서 바코드를 스캔하면 입고대기테이블에서 삭제되고 잔재등록이 완료된다.

부품 제작을 위해 선택된 잔재는 출고대기테이블에 추가되어 출고를 기다린다. 잔재를 출고하면서 바코드를 스캐너로 입력하면 출고대기테이블에서는 삭제되고, 폐기로 설정되지 않은 잔재는 다시 입고대기테이블로 이동하여 입고를 기다리게 된다.

이력 테이블은 잔재가 등록된 다음부터 이뤄지는 일련의 과정들을 모두 기록하는 테이블이다. 이력 테이블에 등록된 데이터는 잔재 폐기 후에도 작업지시자가 의도적으로 삭제하지 않는 한 삭제되지 않으며, 데이터양이 방대해질 수 있으므로 날짜 속성에 인덱스를 주어 검색 속도를 향상시키도록 하였다.


3. 잔재선택을 위한 조력자 프로그램

이 장에서는 주문자가 요구하는 철판 부품을 제작하기 위해 사용할 수 있는 가장 적절한 잔재를 선택할 수 있도록 돕는 조력자 프로그램을 설명한다.

전술한 바와 같이 본고에서 다루는 문제와 가장 유사한 연구는 bin packing problem, 또는 cutting problem으로 알려진 분야인데, 이는 크기가 정해진 2차원 상자(bin) 안에 미리 주어진 객체들을 겹치지 않게 최대한 많이 넣는 방법을 찾는 것을 목표로 한다. 본 연구에서 다루는 문제는 일반화된 bin packing problem과는 달리, 생산할 부품들이 미리 정해진 것이 아니라 주문자의 요구에 따라 그 때 그 때 정해지므로 최적의 packing을 정의하기 어렵고, 주문의 경향이나 추세 등을 고려해서 잔재를 선택하는 것이 필요하다. 이러한 환경을 고려하여 본 연구에서는 작업지시자가 적절한 잔재를 쉽고 효율적으로 선택할 수 있도록 도와주는 조력자 프로그램을 개발한다.

본고에서 제안하는 조력자 프로그램은 크게 다음과 같은 두 가지 기능을 갖는다. 첫째, 많은 철판 잔재들 중에서 주문부품을 생산해 낼 수 있는 잔재를 골라 작업지시자에게 제안하는 기능이다. 이 기능을 통해 작업지시자는 적절한 잔재를 찾기 위해 모든 잔재들을 일일이 조사하는 수고를 들 수 있다. 두 번째 기능은 선택된 후보 잔재 위에서 사용자가 대략적으로 지정하는 위치를 중심으로 주문부품을 오려낼 가장 알맞은 위치와 방향을 찾아내는 기능이다. 이 기능을 이용하여 사용자는 부품의 주문추세와 경험을 바탕으로 몇 가지 위치를 시험해 보고 최적의 선택을 할 수 있게 된다.

첫 번째 기능을 수행하기 위해 조력자 프로그램은 먼저 재질과 규격, 절대면적 등을 만족하는 후보 잔재들을 1차로 선별한 다음, 각각의 잔재 위에 주문부품을 놓아보는 시뮬레이션을 행하여 최종후보를 선택한다. 여기서 이용하는 알고리즘은 E. Burke et al. [2]이 이용한 Bottom-Left-Fill Heuristic과 유사한 것으로, Figure 3에 이 알고리즘의 플로차트를 보인다. 이 첫 번째 단계에서는 플로차트의 ‘initial point’를 잔재의 오른쪽 위(Top-Right)의 꼭짓점에 위치시킨 다음 ‘회전’ 및 ‘왼쪽-바닥으로 이동’의 과정을 반복수행하여 코스트(cost)를 최소화하는 위치와 방향을 찾아낸다. 이 단계에서는 최적의 위치와 방향 보다 잔재가 주문부품을 수용할 수 있는 지를 판단하는 것이 중요하므로 처리시간에 중점을 두고 수행하며, Figure 3의 오른쪽 점선으로 표시된 프로세스는 생략한다.


Figure 3: 
Flowchart of aid program

두 번째 단계에서는 작업지시자가 지정한 위치에서 시작하여 플로차트에 보인 순서에 따라 최적의 방향과 위치를 세밀하게 조사하여 찾아 나간다. 이 때 작업지시자가 지정한 위치에서 시작하여 적절한 위치/방향을 찾지 못하면 플로차트의 오른 편에 점선으로 표시한 것처럼 위치를 조정해 가며 다시 찾는다.

이 알고리즘에서 ‘최적의 위치와 방향’의 기준은 잔재에서 주문부품을 오려 낸 다음 남는 잔재의 효용가치를 최대화하는 것인데, A. Albano et al. [3]Figure 4 (a)에 보인 것과 같이 객체들을 배치한 후에 남는 잔재의 윤곽선의 길이가 최소일 때 잔재의 효용가치가 최대가 된다고 보았다(윤곽선의 길이, Contour length criteria).


Figure 4: 
Two criteria of the effective value of remnant: (a) the total contour length of the remnant, (b) the sum of distances from COM to each grid of the remnant.

잔재의 효용가치를 정의하는 또 다른 한 가지 기준은 잔재를 작은 격자로 나눈 다음 잔재의 무게 중심(center of mass, COM)에서부터 잔재의 모든 격자까지의 거리의 합을 최소화하는 방법(격자 거리의 합, Distance from COM criteria, Figure 4 (b)인데 이 방법은 잔재의 분포모양이 현재 사용할 수 있는 잔재의 무게 중심을 중심으로 모여 있을 때 효용가치가 크다고 보는 방법이다. 본 연구에서는 이두가지 방법을 구현하고 그 결과를 비교한다.


4. 구 현

시스템의 모든 서버와 클라이언트는 windows 8 OS환경에서 작동하는 산업용 컴퓨터이다. DB 서버는 MS-SQL[7], 서버와 클라이언트 사이의 통신은 TCP/IP 기반 UDP 네트워크를 기반으로 하였으며, 사용자 인터페이스는 산업용 HMI 개발툴인 Cimon SCADA[8]를 이용하여 구현하였다. 아래에 사용자 인터페이스와 조력자 프로그램의 시뮬레이션에 대해 설명한다.

4.1 사용자 인터페이스

사용자 인터페이스는 크게 CAD Client에서 구동되는 작업지시자 인터페이스와 Scanner Client에서 구동되는 작업자 인터페이스로 구성된다. Viwer Client에서는 잔재의 현황과 잔재의 이력을 조회할 수 있다.

작업지시자 인터페이스는 잔재등록, 잔재조회, 잔재활용 등 모두 3개의 화면으로 구성되어 있으며 각각 데이터베이스에 정보를 입력하고, 데이터베이스로부터 정보를 받아 화면에 출력하며, 데이터베이스에 이미 등록된 정보를 갱신하기 위해 사용한다. Figure 5 (a)에 잔재등록화면이 선택된 작업지시자 인터페이스를 보인다.


Figure 5: 
Example of user interfaces

작업자 인터페이스는 Scanner client의 screen으로 작업지시자로부터 받은 작업내역을 한 눈에 볼 수 있도록 구성하였다. 크게 바코드를 출력 후 부착하여 창고에 입고해야 하는 잔재, 창고에서 출고할 잔재로 나뉘고 출고 할 잔재는 또다시 가공 후 창고에 재입고 할 잔재와 가공 후 폐기 할 잔재로 나뉘어 표시된다.

4.2 조력자 프로그램의 구현

잔재에서 주문부품을 효율적으로 오려내기 위해서는 잔재에 대한 주문부품의의 상대적인 위치와 방향을 잘 결정해야한다. 이 절에서는 주문부품의 위치와 방향을 찾는 과정(positioning)을 시뮬레이션한 결과를 기술하는데, 시뮬레이션 환경은 다음과 같다: 철판 원판의 크기를 500x500의 격자로 표현하고 이 원판에 다섯 가지 형태의 부품(직사각형, 원형, 삼각형, 요철모양, Z모양)들을 위치시키되, 이 부품들이 미리 주어진 것이 아니라 임의의 순서로 차례로 주어진다고 가정한다. 또 잔재에 대한 부품의 최적의 위치와 방향의 기준은 제 3장에서 언급한 것처럼 ‘윤곽선의 길이’와 ‘격자 거리의 합’을 기준으로 하는 2가지 방법을 고려하였으며, 이들 각각을 시뮬레이션하였다.

먼저, 이 2가지 기준을 간단히 비교해 보기 위해 새 원판에 요철모양(T-shape)을 위치시켰을 때 각각의 기준에 따라 삽입된 결과를 Figure 6에 나타내었다. 일반적으로 ‘윤곽선의 길이’ 기준은 좋은 성능을 갖는 것으로 알려져 있고 많이 쓰이고 있으나[3] 이 특별한 경우 Figure 6 (a)에는 ‘격자 거리의 합’ 기준 Figure 6 (b)에 비해 버려지는 면적이 많아 비효율적인 것으로 보인다. 이 같은 결과는 요철모양 도형이 연속적으로 삽입된다면 철판의 낭비를 초래할 수 있다.


Figure 6: 
Insertion Simulation of T-Shape component: (a) Contour length criteria, (b) Distance from COM criteria

아래 Figure 7Figure 6 (b)와 같이 첫 번째 요철도형이 삽입된 상황에서 또 다른 요철도형을 삽입하기 위해 사용자가 대략적인 위치(화살 표의 시작 점)를 마우스로 입력했을 때의 결과를 보인 것이다. ‘격자 거리의 합’ 방법을 이용한 것으로, 기대했던 결과를 얻었음을 알 수 있다.


Figure 7: 
Insertion of T-shape in Figure 6 (b)

다음 Figure 8은 두 개의 방법으로 같은 순서의 도형 10개를 차례로 삽입했을 때의 결과이다. 도형들은 그림에 표시된 번호 순서대로 삽입 되었으며, 전술한 것처럼 각각의 도형을 삽입할 때 마다 사용자가 가장 적절할 것으로 생각되는 대략적인 지점을 마우스로 클릭하여 지정해 주었다. 두 방법 모두 삽입코자하는 도형의 초기 위치에서 시작하여 위치와 방향을 바꾸어가며 최적기준을 만족시키는 곳에 위치시킨다. 각각의 도형을 삽입할 때마다 사용자가 개입하여 초기위치를 설정하였기 때문에 어떤 기준을 이용하는 것이 더 좋다고 단정하기는 어려우며, 전체적으로 둘 다 만족할 만한 결과를 얻었다고 할 수 있다. 그러나 Figure 6 (b)의 경우처럼 윤곽선의 길이 기준은 경우에 따라 철판잔재의 낭비를 가져올 수도 있으므로 본 연구에서 제안하는 격자거리의 합을 기준으로 하는 방법을 최종적인 방안으로 선택한다.


Figure 8: 
The result of inserting 10 figures (a) Contour length criteria, (b) Distance from COM criteria


5. 결 론

다품종 소량의 철판부품을 주문 받아 가공하는 공장에서는 원판에서 주문품을 가공한 후에 남는 잔재들을 효율적으로 관리해야 한다. 이런 종류의 잔재는 그 형태가 비정형적이기 때문에 종래의 규격화된 제품의 재고관리 방식과는 달라야 한다. 본 본문에서는 이러한 철판 부품가공공장의 재고관리를 위한 하드웨어와 소프트웨어 시스템의 구조를 제안하고 구현한 결과를 기술하였다. 철판잔재의 재질과 물리적인 규격은 물론 저장위치, 잔재의 형태까지 나타내는 정보를 체계적으로 관리하기 위해 DB를 설계, 구현하였으며, 잔재의 입출고 관리를 자동화하기 위해 바코드 스캐너를 장착함으로써 개별 잔재에 바코드를 부착할 수 있게 하였다. 특히, 주어진 부품을 생산하기 위해 가장 적절한 잔재를 찾는 한편, 선택된 잔재에서 작업지시자가 가장 효율적인 방법으로 부품을 오려내는데 도움을 주는 조력자 프로그램을 설계하고 시뮬레이션하였다. 이 조력자 프로그램은 부품의 주문 추세, 작업지시자의 경험 등, 정형화할 수 없는 환경을 최대한 반영할 수 있도록 작업지시자의결정과정을 돕는 데 그 목적이 있다. 이 조력자 프로그램을 구현하기 위해 잔재에서 부품을 오려낼 때 최적화시킬 기준을 정하는 것이 필요한 데, 본 연구에서는 잔재의 효용가치판단에 ‘격자 거리의 합’을 기준으로 하는 방법을 제안하고, 이것을 기존의 bin-packing- problem 분야에서 쓰이고 있는 ‘윤곽선의 길이’ 방법과 시뮬레이션을 수행하여 비교하였다. 주문부품이 주어졌을 때 부품을 오려내는 방법에 작업지시자가 개입하게 되므로 이 두 가지 방법의 성능을 객관적으로 평가하기는 어려우나 시뮬레이션 결과, 본고에서 제안하는 ‘격자 거리의 합’의 기준이 여러 가지 경우에 적합한 것으로 보인다.

본 연구 결과는 철판뿐 만이 아니라 의류나 가구 등, 원자재를 사용하고 남는 비정형잔재를 관리해야하는 여러 산업분야에 응용할 수 있을 것이다.


References
1. N. G. Jeong, TOC Inventory Management, Sigma Press, (2013).
2. E. Burke, R. Hellier, G. Kendall, and G. Whitwell, “A new bottom-left-fill heuristic algorithm for the two-dimensional irregular packing problem”, Operations Research, 54(3), p587-601, (2006).
3. A. Albano, and G. Sapuppo, “Optimal allocation of two-dimentional irregular shapes using heuristic search methods”, IEEE Transactions on Systems, Man, and Cybernetics, 10(5), (1980).
4. P. Chen, Z. Fu, A. Lim, and B. Rodrigues, “Two-dimensional packing for irregular shaped objects”, Proceedings of the 36th Hawaii International Conference on System Sciences (HICSS’03), p10-19, (2002).
5. G. Dósa, and J. Sgall, “First fit bin packing: A tight analysis”, 30th International Symposium on Theoretical Aspects of Computer Science (STACS 2013), p538-549, (2013).
6. O. K. Shin, N. S. Kim, H. S. Jang, and M. S. Choe, “A structure of steel plate remnant management system”, Proceedings of the 41th Korean Society of Marine Engineering Spring Conference, p381, (2017), (in Korean).
7. H. J. Jeong, MS SQL Server 2008, daerimbook, (2009).
8. SIMON Co. Ltd., The Perfect HMI SCADA Solution, (2015).