KR102533258B1 - 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법, 장치 및 시스템 - Google Patents

인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR102533258B1
KR102533258B1 KR1020230025548A KR20230025548A KR102533258B1 KR 102533258 B1 KR102533258 B1 KR 102533258B1 KR 1020230025548 A KR1020230025548 A KR 1020230025548A KR 20230025548 A KR20230025548 A KR 20230025548A KR 102533258 B1 KR102533258 B1 KR 102533258B1
Authority
KR
South Korea
Prior art keywords
food
temperature
amount
warehouse
stock
Prior art date
Application number
KR1020230025548A
Other languages
English (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 KR1020230025548A priority Critical patent/KR102533258B1/ko
Application granted granted Critical
Publication of KR102533258B1 publication Critical patent/KR102533258B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0832Special goods or special handling procedures, e.g. handling of hazardous or fragile goods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Evolutionary Computation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Emergency Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

일실시예에 따르면, 장치에 의해 수행되는, 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법에 있어서, 제1 고객의 주문 정보에 기초하여, 상기 제1 고객이 제1 식품을 제1 수량 주문한 것을 확인하는 단계; 상기 제1 고객이 주문한 냉동식품에 대한 픽업 업무의 수행을 지시하는 알림 메시지를 관리자 단말로 전송하는 단계; 상기 제1 고객이 주문한 냉동식품이 제1 공간에 배치되면, 상기 제1 공간에 대한 촬영으로 생성된 제1 이미지를 획득하는 단계; 상기 제1 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계; 상기 제1 입력 신호를 제1 인공 신경망에 입력하고, 상기 제1 인공 신경망의 입력에 대한 결과에 기초하여, 제1 출력 신호를 획득하는 단계; 상기 제1 출력 신호를 기초로, 상기 제1 공간에 배치된 냉동식품의 종류 및 수량을 분석하는 단계; 상기 제1 공간에 배치된 냉동식품의 종류 및 수량을 분석한 결과와 상기 제1 고객의 주문 정보를 비교하여, 상기 제1 공간에 배치된 냉동식품의 종류 및 수량과 상기 제1 고객이 주문한 냉동식품의 종류 및 수량이 일치하는 것으로 확인되면, 상기 제1 고객이 주문한 냉동식품에 대한 픽업 업무가 정상적으로 수행된 것으로 판단하는 단계; 상기 제1 식품의 크기 및 상기 제1 수량을 고려하여, 상기 제1 공간에 배치된 냉동식품을 포장하기 위한 제1 박스의 크기를 설정하는 단계; 상기 제1 박스의 크기, 상기 제1 식품의 권장 보관 온도 및 상기 제1 고객이 요청한 배송지를 고려하여, 상기 제1 박스에 투입될 아이스팩의 수량을 설정하는 단계; 및 상기 설정된 제1 박스의 크기 및 상기 설정된 제1 박스에 투입될 아이스팩의 수량을 이용하여 상기 제1 고객이 주문한 냉동식품에 대한 포장 업무의 수행을 지시하는 알림 메시지를 상기 관리자 단말로 전송하는 단계를 포함하는, 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법이 제공된다.

Description

인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법, 장치 및 시스템 {METHOD, DEVICE AND SYSTEM FOR PROVIDING EFFICIENT LOGISTICS SERVICE OF FROZEN FOOD USING ARTIFICIAL NEURAL NETWORK}
아래 실시예들은 인공 신경망을 활용하여 냉동식품의 효율적인 물류 서비스를 제공하기 위한 기술에 관한 것이다.
최근 통신기기의 발달로 인해, 식품의 구매를 위하여, 오프라인 매장을 방문하기 보다는 온라인을 통해 구입하는 사례가 점차적으로 늘어가고 있는 실정이다. 온라인을 통한 식품 주문 시스템은 편리한 주문과 함께 신속한 배달이 이루어짐으로써, 주문자 사이에 널리 애용되고 있다.
식품 중에서 냉동 보관이 필요한 냉동식품은 일반 식품과는 달리, 온도 유지를 위한 포장이 매우 중요하며, 효율적인 물류 서비스를 통해 냉동식품의 품질 저하를 방지하고자 하는 요구가 증대되고 있다.
따라서, 냉동식품의 포장 및 배송이 효율적으로 처리되도록 업무를 지원하여, 냉동식품이 고객에게 배송될 때까지 과정에 대한 작업의 효율성을 증대시킬 수 있는 기술의 구현이 요구되고 있다.
한국등록특허 제10-2307970호 한국공개특허 제10-2022-0156365호 한국공개특허 제10-2017-0129538호 한국공개특허 제10-2012-0010765호
일실시예에 따르면, 인공 신경망을 활용하여 냉동식품의 효율적인 물류 서비스를 제공하는 방법, 장치 및 시스템을 제공하기 위한 것을 그 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
일실시예에 따르면, 장치에 의해 수행되는, 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법에 있어서, 제1 고객의 주문 정보에 기초하여, 상기 제1 고객이 제1 식품을 제1 수량 주문한 것을 확인하는 단계; 상기 제1 고객이 주문한 냉동식품에 대한 픽업 업무의 수행을 지시하는 알림 메시지를 관리자 단말로 전송하는 단계; 상기 제1 고객이 주문한 냉동식품이 제1 공간에 배치되면, 상기 제1 공간에 대한 촬영으로 생성된 제1 이미지를 획득하는 단계; 상기 제1 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계; 상기 제1 입력 신호를 제1 인공 신경망에 입력하고, 상기 제1 인공 신경망의 입력에 대한 결과에 기초하여, 제1 출력 신호를 획득하는 단계; 상기 제1 출력 신호를 기초로, 상기 제1 공간에 배치된 냉동식품의 종류 및 수량을 분석하는 단계; 상기 제1 공간에 배치된 냉동식품의 종류 및 수량을 분석한 결과와 상기 제1 고객의 주문 정보를 비교하여, 상기 제1 공간에 배치된 냉동식품의 종류 및 수량과 상기 제1 고객이 주문한 냉동식품의 종류 및 수량이 일치하는 것으로 확인되면, 상기 제1 고객이 주문한 냉동식품에 대한 픽업 업무가 정상적으로 수행된 것으로 판단하는 단계; 상기 제1 식품의 크기 및 상기 제1 수량을 고려하여, 상기 제1 공간에 배치된 냉동식품을 포장하기 위한 제1 박스의 크기를 설정하는 단계; 상기 제1 박스의 크기, 상기 제1 식품의 권장 보관 온도 및 상기 제1 고객이 요청한 배송지를 고려하여, 상기 제1 박스에 투입될 아이스팩의 수량을 설정하는 단계; 및 상기 설정된 제1 박스의 크기 및 상기 설정된 제1 박스에 투입될 아이스팩의 수량을 이용하여 상기 제1 고객이 주문한 냉동식품에 대한 포장 업무의 수행을 지시하는 알림 메시지를 상기 관리자 단말로 전송하는 단계를 포함하는, 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법이 제공된다.
상기 제1 박스의 크기를 설정하는 단계는, 상기 제1 식품의 크기가 제1 사이즈로 확인되면, 상기 제1 사이즈의 가로, 세로 및 높이 중 어느 하나와 상기 제1 수량을 곱한 값으로, 상기 제1 사이즈의 값을 변경하여 제2 사이즈를 설정하는 단계; 상기 제2 사이즈를 기준으로, 미리 정해진 포장 박스의 표준 사이즈 중 어느 사이즈에 가장 적합할 것인지 분석하여, 상기 제2 사이즈가 포장 박스의 표준 사이즈 중 제3 사이즈에 가장 적합한 것을 확인하는 단계; 및 상기 제3 사이즈를 상기 제1 박스의 크기로 설정하는 단계를 포함할 수 있다.
상기 제1 박스에 투입될 아이스팩의 수량을 설정하는 단계는, 상기 제1 박스의 크기가 상기 제3 사이즈로 설정되면, 상기 제1 사이즈의 박스에 대한 아이스팩 기본 투입량인 제2 수량을 확인하는 단계; 상기 제1 식품의 권장 보관 온도가 제1 온도로 확인되면, 0.5부터 1.5까지 범위 내에서 상기 제1 온도가 낮을수록 제1 가중치를 높은 값으로 설정하는 단계; 상기 제1 고객이 요청한 배송지가 제1 지역 내에 위치하는 경우, 상기 제1 지역의 평균 배송 기간이 제1 일자로 확인되면, 0.5부터 1.5까지 범위 내에서 상기 제1 일자가 길수록 제2 가중치를 높은 값으로 설정하는 단계; 상기 제2 수량, 상기 제1 가중치 및 상기 제2 가중치를 곱한 값으로 제3 수량을 산출하는 단계; 및 상기 제3 수량에서 소수점 이하를 올림한 값으로 상기 제1 박스에 투입될 아이스팩의 수량을 설정하는 단계를 포함할 수 있다.
상기 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법은, 제1 창고에 보관되어 있는 냉동식품이 고객들에게 배송되는 경우, 제1 창고의 배송 내역에 기초하여, 상기 제1 창고에 보관되어 있는 냉동식품을 포장한 박스들 중 제1 비율의 박스가 제1 택배사를 통해 배송되고 있고 제2 비율의 박스가 제2 택배사를 통해 배송되고 있는 것을 확인하는 단계; 복수의 택배사 각각의 근무 내역에 기초하여, 택배사 별로 파업 패턴을 분석하는 단계; 택배사 별로 파업 패턴을 분석한 결과를 기반으로, 상기 제1 택배사가 제1 기간 동안 파업할 것으로 예측되면, 상기 제1 기간에 상기 제1 택배사가 아닌 다른 택배사를 통해 상기 제1 비율의 박스에 대한 배송 처리가 필요한 것으로 판단하는 단계; 상기 제1 창고의 일일 평균 배송량이 제4 수량으로 확인되고, 상기 제2 택배사의 일일 최대 배송 처리량이 제5 수량으로 확인된 경우, 상기 제5 수량이 상기 제4 수량 보다 많은 것으로 확인되면, 상기 제1 기간에 상기 제1 창고에 보관되어 있는 박스들 중 100%의 박스가 상기 제2 택배사를 통해 배송되도록, 상기 제1 창고의 배송 조건을 설정하는 단계; 상기 제5 수량이 상기 제4 수량 보다 많지 않은 것으로 확인되면, 예비 택배사로 등록되어 있는 제3 택배사를 확인하고, 상기 제3 택배사의 일일 최대 배송 처리량이 제6 수량으로 확인된 경우, 상기 제5 수량 및 상기 제6 수량을 합산하여 제7 수량을 산출하는 단계; 상기 제7 수량이 상기 제4 수량 보다 많은 것으로 확인되면, 상기 제5 수량을 상기 제4 수량으로 나눈 값을 통해 제3 비율을 산출하고, 100%에서 상기 제3 비율을 뺀 값으로 제4 비율을 산출하고, 상기 제1 기간에 상기 제1 창고에 보관되어 있는 박스들 중 상기 제3 비율의 박스가 상기 제2 택배사를 통해 배송되고 상기 제4 비율의 박스가 상기 제3 택배사를 통해 배송되도록, 상기 제1 창고의 배송 조건을 설정하는 단계; 및 상기 제1 창고의 배송 조건에 대한 설정 정보를 상기 관리자 단말로 전송하는 단계를 더 포함할 수 있다.
일실시예에 따르면, 인공 신경망을 활용하여 냉동식품의 효율적인 물류 서비스를 제공함으로써, 냉동식품의 포장 및 배송이 효율적으로 처리되도록 업무를 지원하여, 냉동식품이 고객에게 배송될 때까지 과정에 대한 작업의 효율성을 증대시킬 수 있는 효과가 있다.
한편, 실시예들에 따른 효과들은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 해당 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 일실시예에 따른 인공 신경망을 활용하여 냉동식품의 효율적인 물류 서비스를 제공하는 과정을 설명하기 위한 순서도이다.
도 3은 일실시예에 따른 포장 박스의 크기를 설정하는 과정을 설명하기 위한 순서도이다.
도 4는 일실시예에 따른 포장 박스에 투입될 아이스팩의 수량을 설정하는 과정을 설명하기 위한 순서도이다.
도 5는 일실시예에 따른 냉동식품을 포장한 박스 중 일부에 대해 택배사를 변경하는 과정을 설명하기 위한 순서도이다.
도 6은 일실시예에 따른 냉동식품을 포장한 박스들에 대해 택배사를 분배하는 과정을 설명하기 위한 순서도이다.
도 7은 일실시예에 따른 냉동식품의 재고량에 따라 보관 구역을 설정하는 과정을 설명하기 위한 순서도이다.
도 8은 일실시예에 따른 냉동식품의 재고량에 따라 보관 구역을 분배하는 과정을 설명하기 위한 순서도이다.
도 9는 일실시예에 따른 식품 재고의 유통관리를 수행하는 과정을 설명하기 위한 순서도이다.
도 10은 일실시예에 따른 식품의 재고량이 배송되지 않고 남아있을 수 있는 확률을 예측하여 식품의 유통관리 상태를 설정하는 과정을 설명하기 위한 순서도이다.
도 11은 일실시예에 따른 제1 인공 신경망을 설명하기 위한 도면이다.
도 12는 일실시예에 따른 제2 인공 신경망의 학습을 설명하기 위한 도면이다.
도 13은 일실시예에 따른 제3 인공 신경망의 학습을 설명하기 위한 도면이다.
도 14는 일실시예에 따른 장치의 구성의 예시도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다.
실시예에서 인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙(Rule) 기반의 스마트 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 판매자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반의 스마트 시스템은 점차 심층 학습(Deep Learning) 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계 학습 및 기계 학습을 활용한 요소기술들로 구성된다. 기계 학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 심층 학습 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
일반적으로 기계 학습 알고리즘을 실생활에 적용하기 위해서는 기계 학습의 기본 방법론의 특성상 Trial and Error 방식으로 학습을 수행하게 된다. 특히, 심층 학습의 경우 수십만 번의 반복 실행을 필요로 한다. 이를 실제 물리적인 외부 환경에서 실행하기는 불가능하여 대신 실제 물리적인 외부 환경을 컴퓨터상에서 가상으로 구현하여 시뮬레이션을 통해 학습을 수행한다.
도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 일실시예에 따른 시스템은 관리자 단말(100) 및 장치(200)를 포함할 수 있다.
먼저, 관리자 단말(100)과 장치(200)는 통신망을 통해 연결될 수 있으며, 통신망은 유선 및 무선 등과 같이 그 통신 양태를 가리지 않고 구성되어, 서버와 서버 간의 통신과 서버와 단말 간의 통신이 수행되도록 다양한 형태로 구현될 수 있다.
관리자 단말(100)은 냉동식품을 보관하여 배송하는 업체의 관리자가 사용하는 단말로, 통신 기능을 갖춘 연산 장치로 구현될 수 있으며, 예를 들면, 휴대전화기, 데스크톱 PC, 랩탑 PC, 태블릿 PC, 스마트폰 등으로 구현될 수 있으나, 이에 제한되지는 않으며, 외부 서버와 연결될 수 있는 다양한 형태의 통신 장치로 구현될 수도 있다.
관리자 단말(100)은 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 관리자 단말(100)은 장치(200)와 유무선으로 통신하도록 구성될 수 있다.
관리자 단말(100)은 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 운영하는 웹 페이지에 접속되거나, 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 개발·배포한 애플리케이션이 설치될 수 있다. 관리자 단말(100)은 웹 페이지 또는 애플리케이션을 통해 장치(200)와 연동될 수 있다.
장치(200)는 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 보유한 자체 서버일수도 있고, 클라우드 서버일 수도 있고, 분산된 노드(node)들의 p2p(peer-to-peer) 집합일 수도 있다. 장치(200)는 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 장치(200)는 추론 기능을 수행하는 적어도 하나 이상의 인공 신경망을 구비할 수 있다.
장치(200)는 관리자 단말(100)과 유무선으로 통신하도록 구성될 수 있으며, 관리자 단말(100)의 동작을 제어하고, 관리자 단말(100)의 화면에 어느 정보를 표시할 것인지에 대해 제어할 수 있다.
장치(200)는 냉동식품의 효율적인 물류 서비스를 제공하는 서버로 구현되어, 물류 서비스의 제공을 위한 플랫폼을 제공할 수 있다.
한편, 설명의 편의를 위해 도 1에서는 관리자 단말(100) 만을 도시하였으나, 단말의 수는 실시예에 따라 얼마든지 달라질 수 있다. 예를 들어, 냉동식품을 보관하여 배송하는 업체의 관리자가 복수인 경우, 관리자 단말(100) 이외에, 다른 관리자 단말들이 추가될 수도 있다. 장치(200)의 처리 용량이 허용하는 한, 단말들의 수는 특별한 제한이 없다.
일실시예에 따르면, 장치(200)는 인공 신경망을 활용하여 냉동식품의 효율적인 물류 서비스를 제공할 수 있으며, 이를 위해, 인공지능을 기반으로 작업 공간에 배치된 냉동식품의 종류 및 수량을 분석하고, 냉동식품의 재고 업데이트 주기를 분석하고, 유통기한까지 남아있는 잔여 기간이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률을 예측할 수 있다. 이와 관련된 자세한 설명은 제1 인공 신경망, 제2 인공 신경망 및 제3 인공 신경망을 참조하여 후술하기로 한다.
본 발명에서, 인공지능(Artificial Intelligence, AI)은 인간의 학습능력, 추론능력, 지각능력 등을 모방하고, 이를 컴퓨터로 구현하는 기술을 의미하고, 기계 학습, 심볼릭 로직(Symbolic Logic) 등의 개념을 포함할 수 있다. 기계 학습(Machine Learning, ML)은 입력 데이터들의 특징을 스스로 분류 또는 학습하는 알고리즘 기술이다. 인공지능의 기술은 기계 학습의 알고리즘으로써 입력 데이터를 분석하고, 그 분석의 결과를 학습하며, 그 학습의 결과에 기초하여 판단이나 예측을 할 수 있다. 또한, 기계 학습의 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술들 역시 인공지능의 범주로 이해될 수 있다. 예를 들어, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야가 포함될 수 있다.
기계 학습은 데이터를 처리한 경험을 이용해 신경망 모델을 훈련시키는 처리를 의미할 수 있다. 기계 학습을 통해 컴퓨터 소프트웨어는 스스로 데이터 처리 능력을 향상시키는 것을 의미할 수 있다. 신경망 모델은 데이터 사이의 상관 관계를 모델링하여 구축된 것으로서, 그 상관 관계는 복수의 파라미터에 의해 표현될 수 있다. 신경망 모델은 주어진 데이터로부터 특징들을 추출하고 분석하여 데이터 간의 상관 관계를 도출하는데, 이러한 과정을 반복하여 신경망 모델의 파라미터를 최적화해 나가는 것이 기계 학습이라고 할 수 있다. 예를 들어, 신경망 모델은 입출력 쌍으로 주어지는 데이터에 대하여, 입력과 출력 사이의 매핑(상관 관계)을 학습할 수 있다. 또는, 신경망 모델은 입력 데이터만 주어지는 경우에도 주어진 데이터 사이의 규칙성을 도출하여 그 관계를 학습할 수도 있다.
인공지능 학습모델 또는 신경망 모델은 인간의 뇌 구조를 컴퓨터 상에서 구현하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하며 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하여, 서로 간의 연결 관계를 가질 수 있다. 인공지능 학습모델에서 복수의 네트워크 노드들은 서로 다른 깊이의 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 인공지능 학습모델은, 예를 들어, 인공 신경망 모델(Artificial Neural Network), 컨볼루션 신경망 모델(Convolution Neural Network: CNN) 등일 수 있다. 일 실시예로서, 인공지능 학습모델은, 지도학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 등의 방식에 따라 기계 학습될 수 있다. 기계 학습을 수행하기 위한 기계 학습 알고리즘에는, 의사결정트리(Decision Tree), 베이지안 망(Bayesian Network), 서포트 벡터 머신(Support Vector Machine), 인공 신경망(Artificial Neural Network), 에이다부스트(Ada-boost), 퍼셉트론(Perceptron), 유전자 프로그래밍(Genetic Programming), 군집화(Clustering) 등이 사용될 수 있다.
이중, CNN은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. CNN은 하나 또는 여러 개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 다른 딥러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다. CNN은 또한 표준 역전달을 통해 훈련될 수 있다. CNN은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.
컨볼루션 네트워크는 묶인 파라미터들을 가지는 노드들의 집합들을 포함하는 신경 네트워크들이다. 사용 가능한 트레이닝 데이터의 크기 증가와 연산 능력의 가용성이, 구분적 선형 단위 및 드롭아웃 트레이닝과 같은 알고리즘 발전과 결합되어, 많은 컴퓨터 비전 작업들이 크게 개선되었다. 오늘날 많은 작업에 사용할 수 있는 데이터 세트들과 같은 엄청난 양의 데이터 세트에서는 초과 맞춤(outfitting)이 중요하지 않으며, 네트워크의 크기를 늘리면 테스트 정확도가 향상된다. 컴퓨팅 리소스들의 최적 사용은 제한 요소가 된다. 이를 위해, 심층 신경 네트워크들의 분산된, 확장 가능한 구현예가 사용될 수 있다.
도 2는 일실시예에 따른 인공 신경망을 활용하여 냉동식품의 효율적인 물류 서비스를 제공하는 과정을 설명하기 위한 순서도이다.
도 2를 참조하면, 먼저, S201 단계에서, 장치(200)는 제1 고객의 주문 정보에 기초하여, 제1 고객이 제1 식품을 제1 수량 주문한 것을 확인할 수 있다. 여기서, 제1 고객의 주문 정보는 제1 고객이 냉동식품을 주문하여 생성된 주문 정보로, 제1 고객의 ID, 주문한 냉동식품, 주문량, 배송지 등에 대한 정보를 포함할 수 있다.
구체적으로, 제1 고객은 제1 고객 단말을 통해 냉동식품을 판매하는 판매 사이트에 접속하여, 제1 식품을 제1 수량 주문할 수 있으며, 판매 사이트를 운영하는 쇼핑몰 서버는 제1 고객의 ID, 제1 식품, 제1 수량, 제1 고객이 요청한 배송지 등에 대한 정보를 포함하는 제1 고객의 주문 정보를 생성할 수 있고, 장치(200)는 쇼핑몰 서버로부터 제1 고객의 주문 정보를 수신한 후, 제1 고객의 주문 정보에 기초하여, 제1 고객이 제1 식품을 제1 수량 주문한 것을 확인할 수 있다. 이를 위해, 장치(200)는 쇼핑몰 서버와 연결되어 데이터를 송수신할 수 있다.
S202 단계에서, 장치(200)는 제1 고객이 제1 식품을 제1 수량 주문한 것으로 확인되면, 제1 고객이 주문한 냉동식품에 대한 픽업 업무의 수행을 지시하는 알림 메시지를 관리자 단말(100)로 전송할 수 있다. 여기서, 알림 메시지는 제1 고객의 주문 정보를 포함할 수 있다.
S203 단계에서, 장치(200)는 제1 고객이 주문한 냉동식품이 제1 공간에 배치되면, 제1 공간에 대한 촬영으로 생성된 제1 이미지를 획득할 수 있다. 여기서, 제1 공간은 미리 정해진 작업 공간으로, 박스 포장 전에 창고에서 픽업된 식품이 배치되는 작업 공간을 의미할 수 있다.
구체적으로, 관리자는 관리자 단말(100)을 통해 제1 고객이 주문한 냉동식품에 대한 픽업 업무의 수행을 지시하는 알림 메시지를 확인하고, 제1 고객이 제1 식품을 제1 수량 주문한 경우, 제1 식품을 제1 수량 만큼 픽업하여 제1 공간에 배치시킬 수 있다.
이후, 관리자 단말(100) 또는 제1 공간에 설치된 카메라는 제1 공간에 배치된 식품을 촬영하여 제1 이미지를 생성할 수 있고, 장치(200)는 제1 공간에 대한 촬영으로 제1 이미지가 생성되면, 관리자 단말(100) 또는 제1 공간에 설치된 카메라로부터 제1 이미지를 획득할 수 있다. 이를 위해, 장치(200)는 제1 공간에 설치된 카메라와 유무선으로 통신하도록 구성될 수 있다.
S204 단계에서, 장치(200)는 제1 이미지를 인코딩 하여 제1 입력 신호를 생성할 수 있다.
구체적으로, 장치(200)는 제1 이미지의 픽셀을 색 정보로 인코딩 하여 제1 입력 신호를 생성할 수 있다. 색 정보는 RGB 색상 정보, 명도 정보, 채도 정보를 포함할 수 있으나, 이에 국한하지 않는다. 장치(200)는 색 정보를 수치화된 값으로 환산할 수 있으며, 이 값을 포함한 데이터 시트 형태로 이미지를 인코딩할 수 있다.
S205 단계에서, 장치(200)는 제1 입력 신호를 제1 인공 신경망에 입력할 수 있다.
일실시예에 따르면, 제1 인공 신경망은 컨볼루션 신경망으로 구현되어, 컨볼루션 신경망은 특징 추출 신경망과 분류 신경망으로 구성되어 있으며, 특징 추출 신경망은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다. 컨볼루션 계층은 컨볼루션 연산, 컨볼루션 필터 및 활성함수를 포함하고 있다. 컨볼루션 필터의 계산은 대상 입력의 행렬 크기에 따라 조절되나 일반적으로 9X9 행렬을 사용한다. 활성 함수는 일반적으로 ReLU 함수, 시그모이드 함수, 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 풀링 계층은 입력의 행렬 크기를 줄이는 역할을 하는 계층으로, 특정 영역의 픽셀을 묶어 대표값을 추출하는 방식을 사용한다. 풀링 계층의 연산에는 일반적으로 평균값이나 최대값을 많이 사용하나 이에 한정하지 않는다. 해당 연산은 정방 행렬을 사용하여 진행되는데, 일반적으로 9X9 행렬을 사용한다. 컨볼루션 계층과 풀링 계층은 해당 입력이 차이를 유지한 상태에서 충분히 작아질 때까지 번갈아 반복 진행된다.
일실시예에 따르면, 분류 신경망은 은닉층과 출력층을 가지고 있다. 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법을 위한 컨볼루션 신경망에서는 일반적으로 은닉층이 3개 이상 존재하며, 각 은닉층의 노드는 100개로 지정하나 경우에 따라 그 이상으로 정할 수 있다. 은닉층의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 컨볼루션 신경망의 출력층 노드는 총 50개로 할 수 있다. 컨볼루션 신경망에 대한 자세한 설명은 도 11을 참조하여 후술한다.
S206 단계에서, 장치(200)는 컨볼루션 신경망인 제1 인공 신경망의 입력의 대한 결과에 기초하여, 제1 인공 신경망의 출력값인 제1 출력 신호를 획득할 수 있다.
일실시예에 따르면, 컨볼루션 신경망의 50개 출력층 노드는 상위 25개의 출력층 노드와 하위 25개의 출력층 노드를 포함할 수 있다. 컨볼루션 신경망의 50개 출력층 노드 중 상위 25개의 출력층 노드는 식품의 종류를 지시할 수 있다. 하위 25개의 노드는 상위 25개의 노드에 대응하는 식품의 수량을 지시할 수 있다. 컨볼루션 신경망의 출력에 관한 자세한 설명은 도 11을 참조하여 후술한다.
S207 단계에서, 장치(200)는 제1 출력 신호를 기초로, 제1 공간에 배치된 냉동식품의 종류 및 수량을 분석할 수 있다. 즉, 장치(200)는 제1 공간에 배치되어 있는 냉동식품의 종류가 어느 것인지 분석하고, 냉동식품의 종류 별로 수량이 몇 개인지 분석할 수 있다.
S208 단계에서, 장치(200)는 제1 공간에 배치된 냉동식품의 종류 및 수량을 분석한 결과와 제1 고객의 주문 정보를 비교하여, 제1 공간에 배치된 냉동식품의 종류 및 수량과 제1 고객이 주문한 냉동식품의 종류 및 수량이 일치하는지 여부를 확인할 수 있다.
S208 단계에서 제1 공간에 배치된 냉동식품의 종류 및 수량과 제1 고객이 주문한 냉동식품의 종류 및 수량이 일치하지 않는 것으로 확인되면, 장치(200)는 제1 고객이 주문한 냉동식품에 대한 픽업 업무가 제대로 수행되지 않은 것으로 판단할 수 있으며, S202 단계로 되돌아가, 제1 고객이 주문한 냉동식품에 대한 픽업 업무의 수행을 지시하는 알림 메시지를 재전송하는 과정부터 다시 수행될 수 있다.
S208 단계에서 제1 공간에 배치된 냉동식품의 종류 및 수량과 제1 고객이 주문한 냉동식품의 종류 및 수량이 일치하는 것으로 확인되면, S209 단계에서, 장치(200)는 제1 고객이 주문한 냉동식품에 대한 픽업 업무가 정상적으로 수행된 것으로 판단할 수 있다.
S210 단계에서, 장치(200)는 제1 고객이 주문한 냉동식품에 대한 픽업 업무가 정상적으로 수행된 것으로 판단되면, 제1 식품의 크기 및 제1 수량을 고려하여, 제1 공간에 배치된 냉동식품을 포장하기 위한 제1 박스의 크기를 설정할 수 있다. 제1 박스의 크기를 설정하는 내용에 대한 자세한 설명은 도 3을 참조하여 후술하기로 한다.
S211 단계에서, 장치(200)는 제1 박스의 크기, 제1 식품의 권장 보관 온도 및 제1 고객이 요청한 배송지를 고려하여, 제1 박스에 투입될 아이스팩의 수량을 설정할 수 있다. 제1 박스에 투입될 아이스팩의 수량을 설정하는 내용에 대한 자세한 설명은 도 4를 참조하여 후술하기로 한다.
S212 단계에서, 장치(200)는 S210 단계를 통해 설정된 제1 박스의 크기 및 S211 단계를 통해 설정된 제1 박스에 투입될 아이스팩의 수량을 이용하여 제1 고객이 주문한 냉동식품에 대한 포장 업무의 수행을 지시하는 알림 메시지를 관리자 단말(100)로 전송할 수 있다.
예를 들어, 포장 박스가 크기에 따라 1호, 2호, 3호 등으로 구분되어 있는데, 제1 박스의 크기가 1호로 설정되고 제1 박스에 투입될 아이스팩의 수량이 5개로 설정되면, 장치(200)는 1호 박스에 아이스팩 5개를 투입하여 제1 고객이 주문한 냉동식품에 대한 포장 업무를 수행하는 것을 지시하는 알림 메시지를 관리자 단말(100)로 전송할 수 있다.
도 3은 일실시예에 따른 포장 박스의 크기를 설정하는 과정을 설명하기 위한 순서도이다.
도 3을 참조하면, 먼저, S301 단계에서, 장치(200)는 제1 식품의 크기가 제1 사이즈인 것을 확인할 수 있다. 여기서, 제1 사이즈는 제1 식품 하나의 크기를 나타내는 것으로, 제1 식품 하나의 가로, 세로 및 높이를 의미할 수 있다.
구체적으로, 장치(200)는 외부 서버 또는 데이터베이스로부터 제1 식품 정보를 획득할 수 있고, 제1 식품 정보에 기초하여, 제1 식품의 크기가 제1 사이즈인 것을 확인할 수 있다. 여기서, 제1 식품 정보는 제1 식품에 대한 정보로, 제1 식품의 크기, 무게, 권장 보관 온도, 유통기한, 가격 등에 대한 정보를 포함할 수 있다.
S302 단계에서, 장치(200)는 제1 식품의 크기가 제1 사이즈로 확인되면, 제1 사이즈의 가로, 세로 및 높이 중 어느 하나와 제1 수량을 곱한 값으로, 제1 사이즈의 값을 변경하여 제2 사이즈를 설정할 수 있다.
구체적으로, 장치(200)는 제1 사이즈의 가로와 제1 수량을 곱한 값으로, 제1 사이즈의 가로를 변경하여 제2-1 사이즈를 설정할 수 있고, 제1 사이즈의 세로와 제1 수량을 곱한 값으로, 제1 사이즈의 세로를 변경하여 제2-2 사이즈를 설정할 수 있고, 제1 사이즈의 높이와 제1 수량을 곱한 값으로, 제1 사이즈의 높이를 변경하여 제2-3 사이즈를 설정할 수 있다.
예를 들어, 제1 사이즈의 가로, 세로 및 높이가 5cm, 5cm, 5cm이고 제1 수량이 3개인 경우, 장치(200)는 “5 X 3”을 통해 제1 사이즈의 가로를 변경한 15cm, 5cm, 5cm를 제2-1 사이즈로 설정하고, “5 X 3”을 통해 제1 사이즈의 세로를 변경한 5cm, 15cm, 5cm를 제2-2 사이즈로 설정하고, “5 X 3”을 통해 제1 사이즈의 높이를 변경한 5cm, 5cm, 15cm를 제2-3 사이즈로 설정할 수 있다.
S303 단계에서, 장치(200)는 제2 사이즈를 기준으로, 포장 박스의 표준 사이즈 중 어느 사이즈에 가장 적합할 것인지 분석할 수 있다. 여기서, 표준 사이즈는 배송을 위해 미리 규격화되어 정해져 있어, 포장 박스의 크기에 따라 1호, 2호, 3호 등으로 구분될 수 있으며, 호수가 클수록 박스의 크기가 더 커질 수 있다. 예를 들어, 1호 사이즈는 가로, 세로 및 높이가 10cm, 10cm, 10cm로 설정되어 있고, 2호 사이즈는 가로, 세로 및 높이가 15cm, 15cm, 15cm로 설정되어 있고, 3호 사이즈는 가로, 세로 및 높이가 20cm, 20cm, 20cm로 설정되어 있을 수 있다.
구체적으로, 장치(200)는 제2-1 사이즈와 n호 사이즈의 가로, 세로 및 높이를 각각 비교하여, 제2-1 사이즈 보다 n호 사이즈의 가로, 세로 및 높이가 모두 큰 것으로 확인되면, 제2-1 사이즈가 n호 사이즈에 가장 적합한 것으로 분석할 수 있고, 제2-1 사이즈의 가로, 세로 및 높이 중 적어도 하나가 n호 사이즈 보다 큰 것으로 확인되면, 제2-1 사이즈와 n+1호 사이즈의 가로, 세로 및 높이를 각각 비교하여, 제2-1 사이즈 보다 n+1호 사이즈의 가로, 세로 및 높이가 모두 큰 것으로 확인되면, 제2-1 사이즈가 n+1호 사이즈에 가장 적합한 것으로 분석할 수 있다.
장치(200)는 상술한 제2-1 사이즈가 어느 호수의 사이즈에 가장 적합한지 분석하는 과정과 동일한 방식으로, 제2-2 사이즈 및 제2-3 사이즈 각각에 대해서도 어느 호수의 사이즈에 가장 적합한지 분석할 수 있으며, 제2-1 사이즈에 가장 적합한 사이즈, 제2-2 사이즈에 가장 적합한 사이즈 및 제2-3 사이즈에 가장 적합한 사이즈를 비교하여, 가장 작은 호수의 사이즈를 제2 사이즈에 가장 적합한 사이즈로 분석할 수 있다.
예를 들어, 제2-1 사이즈에 가장 적합한 사이즈가 1호 사이즈이고, 제2-2 사이즈에 가장 적합한 사이즈가 2호 사이즈이고, 제2-3 사이즈에 가장 적합한 사이즈가 3호 사이즈인 경우, 장치(200)는 1호 사이즈를 제2 사이즈에 가장 적합한 사이즈로 분석할 수 있다.
S304 단계에서, 장치(200)는 제2 사이즈가 포장 박스의 표준 사이즈 중 제3 사이즈에 가장 적합한 것을 확인할 수 있다.
S305 단계에서, 장치(200)는 제2 사이즈가 포장 박스의 표준 사이즈 중 제3 사이즈에 가장 적합한 것으로 확인되면, 제3 사이즈를 제1 박스의 크기로 설정할 수 있다.
도 4는 일실시예에 따른 포장 박스에 투입될 아이스팩의 수량을 설정하는 과정을 설명하기 위한 순서도이다.
도 4를 참조하면, 먼저, S401 단계에서, 장치(200)는 제1 박스의 크기가 제3 사이즈로 설정된 것을 확인할 수 있다.
S402 단계에서, 장치(200)는 제1 박스의 크기가 제3 사이즈로 설정되면, 제3 사이즈의 박스에 대한 아이스팩 기본 투입량인 제2 수량을 확인할 수 있다. 이를 위해, 포장 박스의 크기 별로 아이스팩 기본 투입량이 사전에 설정되어 있다.
예를 들어, 1호 박스에 대한 아이스팩 기본 투입량이 3개, 2호 박스에 대한 아이스팩 기본 투입량이 5개로 설정되어 있는 경우, 장치(200)는 제1 박스의 크기가 1호 사이즈로 설정되면, 3개를 제2 수량으로 확인할 수 있고, 제1 박스의 크기가 2호 사이즈로 설정되면, 5개를 제2 수량으로 확인할 수 있다.
S403 단계에서, 장치(200)는 제1 식품의 권장 보관 온도가 제1 온도인 것을 확인할 수 있다. 이때, 장치(200)는 제1 식품 정보에 기초하여, 제1 식품의 권장 보관 온도가 제1 온도인 것을 확인할 수 있다.
S404 단계에서, 장치(200)는 제1 식품의 권장 보관 온도가 제1 온도로 확인되면, 제1 온도가 낮을수록 제1 가중치를 높은 값으로 설정할 수 있다. 이때, 제1 가중치는 0.5부터 1.5까지 범위 내에서 설정될 수 있다.
예를 들어, 장치(200)는 제1 식품의 권장 보관 온도가 -5℃인 것으로 확인되면, 제1 가중치를 0.9로 설정할 수 있고, 제1 식품의 권장 보관 온도가 -10℃인 것으로 확인되면, 제1 가중치를 1로 설정할 수 있고, 제1 식품의 권장 보관 온도가 -15℃인 것으로 확인되면, 제1 가중치를 1.1로 설정할 수 있다.
S405 단계에서, 장치(200)는 제1 고객이 요청한 배송지가 제1 지역 내에 위치하는 것을 확인할 수 있다. 여기서, 제1 지역은 시, 구, 군, 동, 면, 읍 등 다양한 범위로 확인될 수 있다. 이때, 장치(200)는 제1 고객의 주문 정보에 기초하여, 제1 고객의 요청한 배송지를 확인한 후, 제1 고객이 요청한 배송지가 제1 지역 내에 위치하는 것을 확인할 수 있다.
S406 단계에서, 장치(200)는 제1 지역의 평균 배송 기간이 제1 일자인 것을 확인할 수 있다. 이때, 장치(200)는 쇼핑몰 서버로 제1 지역의 평균 배송 기간에 대한 정보 요청을 전송한 후, 쇼핑몰 서버로부터 제1 지역의 평균 배송 기간에 대한 정보를 수신하여, 제1 지역의 평균 배송 기간이 제1 일자인 것을 확인할 수 있다.
S407 단계에서, 장치(200)는 제1 지역의 평균 배송 기간이 제1 일자로 확인되면, 제1 일자가 길수록 제2 가중치를 높은 값으로 설정할 수 있다. 이때, 제2 가중치는 0.5부터 1.5까지 범위 내에서 설정될 수 있다.
예를 들어, 장치(200)는 제1 지역의 평균 배송 기간이 3일인 것으로 확인되면, 제2 가중치를 0.9로 설정할 수 있고, 제1 지역의 평균 배송 기간이 4일인 것으로 확인되면, 제2 가중치를 1로 설정할 수 있고, 제1 지역의 평균 배송 기간이 5일인 것으로 확인되면, 제2 가중치를 1.1로 설정할 수 있다.
S408 단계에서, 장치(200)는 제2 수량, 제1 가중치 및 제2 가중치를 곱한 값으로 제3 수량을 산출할 수 있다.
예를 들어, 제2 수량이 3개이고 제1 가중치가 1.1이고 제2 가중치가 1인 경우, 장치(200)는 “3 X 1.1 X 1”을 통해 산출된 3.3을 제3 수량으로 산출할 수 있다.
S409 단계에서, 장치(200)는 제3 수량에서 소수점 이하를 올림한 값으로 제1 박스에 투입될 아이스팩의 수량을 설정할 수 있다.
예를 들어, 제3 수량이 3.3인 경우, 장치(200)는 3.3에서 소수점 이하를 올림한 4를 제1 박스에 투입될 아이스팩의 수량으로 설정할 수 있다.
도 5는 일실시예에 따른 냉동식품을 포장한 박스 중 일부에 대해 택배사를 변경하는 과정을 설명하기 위한 순서도이다.
도 5를 참조하면, 먼저, S501 단계에서, 장치(200)는 제1 창고에 보관되어 있는 냉동식품이 고객들에게 배송되는 경우, 제1 창고의 배송 내역에 기초하여, 제1 창고에 보관되어 있는 냉동식품을 포장한 박스들 중 제1 비율의 박스가 제1 택배사를 통해 배송되고 있고 제2 비율의 박스가 제2 택배사를 통해 배송되고 있는 것을 확인할 수 있다. 여기서, 배송 내역은 창고에 보관된 냉동식품이 포장되어 고객들에게 배송한 배송 내역이 누적된 정보로, 어느 시점에 누구에게 어느 식품을 얼마나 많이 어느 택배사를 통해 배송하였는지 나타내는 리스트로 구성될 수 있고, 고객 ID, 식품명, 배송량, 배송일, 배송지, 택배사 등의 정보를 포함할 수 있다.
예를 들어, 장치(200)는 제1 창고의 배송 내역에 기초하여, 최근 1달 동안 제1 창고에 보관되어 있는 냉동식품을 포장한 박스들의 배송 현황을 일자 별로 분석한 결과, 하루에 평균적으로 100개의 박스들이 배송되고 있고, 100개의 박스들 중 60개의 박스가 제1 택배사를 통해 배송되고 있고 40개의 박스가 제2 택배사를 통해 배송되고 있는 것으로 확인되면, 제1 비율을 60%로 확인하고 제2 비율을 40%로 확인할 수 있다.
S502 단계에서, 장치(200)는 복수의 택배사 각각의 근무 내역에 기초하여, 택배사 별로 파업 패턴을 분석할 수 있다. 여기서, 근무 내역은 택배사의 배송 기사들이 언제부터 언제까지 근무하고 언제부터 언제까지 무슨 사유로 근무를 하지 않았는지 나타내는 리스트로 구성될 수 있고, 근무일, 휴무일, 휴무 사유 등의 정보를 포함할 수 있다.
구체적으로, 장치(200)는 외부 서버 또는 데이터베이스로부터 복수의 택배사 각각의 근무 내역을 획득할 수 있고, 복수의 택배사 각각의 근무 내역에 기초하여, 택배사 별로 정상적으로 근무한 기간과 파업으로 인해 근무를 수행하지 못한 기간을 분석할 수 있으며, 파업으로 인해 근무를 수행하지 못한 기간에 대한 패턴을 분석할 수 있다.
예를 들어, 장치(200)는 제1 택배사의 근무 내역을 통해 제1 택배사의 배송 기사들이 파업으로 인해 근무를 수행하지 못한 기간을 연도 별로 확인한 결과, 매년 2월1일부터 2월10일까지 기간 내에 파업이 자주 발생하여 근무를 수행하지 못한 경우가 많은 것으로 확인되면, 2월1일부터 2월10일까지 파업이 자주 발생하는 것으로 제1 택배사의 파업 패턴을 분석할 수 있다.
S503 단계에서, 장치(200)는 택배사 별로 파업 패턴을 분석한 결과를 기반으로, 제1 택배사가 제1 기간 동안 파업할 것으로 예측할 수 있다.
예를 들어, 장치(200)는 제1 택배사의 파업 패턴을 분석한 결과, 2월1일부터 2월10일까지 파업이 자주 발생하는 것으로 제1 택배사의 파업 패턴이 분석되면, 2월1일부터 2월10일까지를 제1 기간으로 설정하여, 제1 택배사가 2월1일부터 2월10일까지 파업할 것으로 예측할 수 있다.
S504 단계에서, 장치(200)는 제1 기간에 제1 택배사가 아닌 다른 택배사를 통해 제1 비율의 박스에 대한 배송 처리가 필요한 것으로 판단할 수 있다.
예를 들어, 제1 비율이 60%이고 제1 기간이 2월1일부터 2월10일까지로 설정되어 있는 경우, 장치(200)는 2월1일부터 2월10일까지 제1 창고에 보관되어 있는 냉동식품을 포장한 박스들 중 60%의 박스가 제1 택배사가 아닌 다른 택배사를 통해 배송을 처리해야 하는 것으로 판단할 수 있다.
S505 단계에서, 장치(200)는 제1 창고의 일일 평균 배송량이 제4 수량인 것을 확인할 수 있고, 제2 택배사의 일일 최대 배송 처리량이 제5 수량인 것을 확인할 수 있다.
예를 들어, 장치(200)는 제1 창고의 배송 내역에 기초하여, 제1 창고에 보관되어 있는 냉동식품을 포장한 박스들의 배송 현황을 일자 별로 분석한 결과, 제1 창고에서 하루에 평균적으로 100개의 박스들이 배송되고 있는 것으로 확인되면, 제4 수량을 100개로 확인할 수 있다.
또한, 장치(200)는 외부 서버 또는 데이터베이스로부터 제2 택배사 정보를 획득할 수 있고, 제2 택배사 정보에 기초하여, 제2 택배사에서 제1 창고가 위치하는 지역에 대해 하루 동안 최대로 얼마나 많은 박스에 대해 배송 처리가 가능한지를 확인한 결과, 제1 창고가 위치하는 지역에 대해 하루 동안 최대 80개의 박스에 대해 배송 처리가 가능한 것으로 확인되면, 제2 택배사의 일일 최대 배송 처리량을 80개로 확인할 수 있다. 여기서, 제2 택배사 정보는 지역 별로 설정된 일일 최대 배송 처리량, 지역 별로 산출된 일일 평균 배송량 등에 대한 정보를 포함할 수 있다.
S506 단계에서, 장치(200)는 제5 수량이 제4 수량 보다 많은지 여부를 확인할 수 있다.
S506 단계에서 제5 수량이 제4 수량 보다 많지 않은 것으로 확인되면, S601 단계가 수행될 수 있으며, 이와 관련된 자세한 설명은 도 6을 참조하여 후술하기로 한다.
S506 단계에서 제5 수량이 제4 수량 보다 많은 것으로 확인되면, S507 단계에서, 장치(200)는 제1 기간에 제1 창고에 보관되어 있는 박스들 중 100%의 박스가 제2 택배사를 통해 배송되도록, 제1 창고의 배송 조건을 설정할 수 있다.
즉, 평상시에는 제1 창고에 보관되어 있는 박스들 중 제1 비율의 박스가 제1 택배사를 통해 배송되고 있고 제2 비율의 박스가 제2 택배사를 통해 배송되고 있는데, 제1 기간 동안 제1 택배사가 파업을 진행할 것으로 예측되고, 제2 택배사의 일일 최대 배송 처리량이 제1 창고의 일일 평균 배송량 보다 많은 것으로 확인되면, 장치(200)는 제1 기간에 제1 창고에 보관되어 있는 박스들 중 100%의 박스가 제2 택배사를 통해 배송되도록, 제1 창고의 배송 조건을 설정할 수 있다.
S508 단계에서, 장치(200)는 제1 창고의 배송 조건에 대한 설정 정보를 관리자 단말(100)로 전송할 수 있다. 여기서, 제1 창고의 배송 조건에 대한 설정 정보는 제1 창고에 보관된 박스에 대한 배송 조건을 나타내는 정보로, 어느 기간에 어느 택배사를 통해 얼마나 많은 박스를 배송할 것인지가 설정된 배송 조건에 대한 설정 정보이고, 데이터베이스에 저장되어 관리될 수 있다.
도 6은 일실시예에 따른 냉동식품을 포장한 박스들에 대해 택배사를 분배하는 과정을 설명하기 위한 순서도이다.
도 6을 참조하면, 먼저, S601 단계에서, 장치(200)는 제5 수량이 제4 수량 보다 많지 않은 것으로 확인되면, 예비 택배사로 등록되어 있는 제3 택배사를 확인할 수 있다.
구체적으로, 장치(200)는 외부 서버 또는 데이터베이스로부터 제1 창고 정보를 획득할 수 있고, 제1 창고 정보에 기초하여, 제1 창고의 메인 택배사로 제1 택배사 및 제2 택배사가 등록되어 있고, 제1 창고의 예비 택배사로 제3 택배사가 등록되어 있는 것을 확인할 수 있다. 여기서, 제1 창고 정보는 제1 창고에 대한 정보로, 제1 창고의 메인 택배사, 예비 택배사 등에 대한 정보를 포함할 수 있다.
S602 단계에서, 장치(200)는 제3 택배사의 일일 최대 배송 처리량이 제6 수량인 것을 확인할 수 있다.
예를 들어, 장치(200)는 장치(200)는 외부 서버 또는 데이터베이스로부터 제3 택배사 정보를 획득할 수 있고, 제3 택배사 정보에 기초하여, 제3 택배사에서 제1 창고가 위치하는 지역에 대해 하루 동안 최대로 얼마나 많은 박스에 대해 배송 처리가 가능한지를 확인한 결과, 제1 창고가 위치하는 지역에 대해 하루 동안 최대 60개의 박스에 대해 배송 처리가 가능한 것으로 확인되면, 제3 택배사의 일일 최대 배송 처리량을 60개로 확인할 수 있다. 여기서, 제3 택배사 정보는 지역 별로 설정된 일일 최대 배송 처리량, 지역 별로 산출된 일일 평균 배송량 등에 대한 정보를 포함할 수 있다.
S603 단계에서, 장치(200)는 제5 수량 및 제6 수량을 합산하여 제7 수량을 산출할 수 있다.
즉, 장치(200)는 제2 택배사의 일일 최대 배송 처리량과 제3 택배사의 일일 최대 배송 처리량을 합산하여, 제2 택배사 및 제3 택배사를 통한 일일 최대 배송 처리량을 제7 수량으로 산출할 수 있다.
S604 단계에서, 장치(200)는 제7 수량이 제4 수량 보다 많은지 여부를 확인할 수 있다.
S604 단계에서 제7 수량이 제4 수량 보다 많지 않은 것으로 확인되면, S601 단계로 되돌아가, 장치(200)는 예비 택배사로 등록되어 있는 제4 택배사를 추가로 확인할 수 있고, 이를 통해, 제2 택배사, 제3 택배사 및 제4 택배사를 통한 일일 최대 배송 처리량을 제7 수량으로 산출하여, 제7 수량이 제4 수량 보다 많은지 여부를 확인하는 과정을 다시 수행할 수 있다.
S604 단계에서 제7 수량이 제4 수량 보다 많은 것으로 확인되면, S605 단계에서, 장치(200)는 제5 수량을 제4 수량으로 나눈 값을 통해 제3 비율을 산출할 수 있다.
예를 들어, 제4 수량이 100개이고 제5 수량이 70개인 경우, 장치(200)는 “70 / 100”을 통해 산출된 0.7에 100을 곱하여 산출된 70%를 제3 비율로 산출할 수 있다.
S606 단계에서, 장치(200)는 100%에서 제3 비율을 뺀 값으로 제4 비율을 산출할 수 있다.
예를 들어, 제3 비율이 70%인 경우, 장치(200)는 “100% - 70%”를 통해 산출된 30%를 제4 비율로 산출할 수 있다.
S607 단계에서, 장치(200)는 제1 기간에 제1 창고에 보관되어 있는 박스들 중 제3 비율의 박스가 제2 택배사를 통해 배송되고 제4 비율의 박스가 제3 택배사를 통해 배송되도록, 제1 창고의 배송 조건을 설정할 수 있다.
즉, 평상시에는 제1 창고에 보관되어 있는 박스들 중 제1 비율의 박스가 제1 택배사를 통해 배송되고 있고 제2 비율의 박스가 제2 택배사를 통해 배송되고 있는데, 제1 기간 동안 제1 택배사가 파업을 진행할 것으로 예측되고, 제2 택배사의 일일 최대 배송 처리량이 제1 창고의 일일 평균 배송량 보다 많지 않은 것으로 확인되고, 제2 택배사 및 제3 택배사를 통한 일일 최대 배송 처리량이 제1 창고의 일일 평균 배송량 보다 많은 것으로 확인되면, 장치(200)는 제1 기간에 제1 창고에 보관되어 있는 박스들 중 제3 비율의 박스가 제2 택배사를 통해 배송되고 제4 비율의 박스가 제3 택배사를 통해 배송되도록, 제1 창고의 배송 조건을 설정할 수 있다.
S608 단계에서, 장치(200)는 제1 창고의 배송 조건에 대한 설정 정보를 관리자 단말(100)로 전송할 수 있다.
도 7은 일실시예에 따른 냉동식품의 재고량에 따라 보관 구역을 설정하는 과정을 설명하기 위한 순서도이다.
도 7을 참조하면, 먼저, S701 단계에서, 장치(200)는 제1 창고에 제1 식품 및 제2 식품이 보관되어 있는 경우, 제1 식품의 권장 보관 온도가 제1 온도인 것을 확인하고 제2 식품의 권장 보관 온도가 제2 온도인 것을 확인할 수 있다.
구체적으로, 장치(200)는 제1 식품 정보에 기초하여, 제1 식품의 권장 보관 온도가 제1 온도인 것을 확인할 수 있고, 제2 식품 정보에 기초하여, 제2 식품의 권장 보관 온도가 제2 온도인 것을 확인할 수 있다.
S702 단계에서, 장치(200)는 제1 온도 및 제2 온도를 비교하여 제1 온도가 제2 온도 보다 더 낮은 온도인 것을 확인할 수 있다.
즉, 장치(200)는 제1 식품의 권장 보관 온도인 제1 온도와 제2 식품의 권장 보관 온도인 제2 온도를 확인하고, 제1 온도 및 제2 온도를 비교하여 제1 온도가 제2 온도 보다 더 낮은 온도인 것을 확인할 수 있다.
예를 들어, 장치(200)는 제1 식품의 권장 보관 온도가 -10℃인 것으로 확인되고 제2 식품의 권장 보관 온도가 -5℃인 것으로 확인되면, 제1 식품의 권장 보관 온도가 제2 식품의 권장 보관 온도 보다 더 낮은 온도인 것을 확인할 수 있다.
S703 단계에서, 장치(200)는 제1 창고에 보관된 제1 식품의 재고량이 제1 재고량인 것을 확인하고, 제1 창고에 보관된 제2 식품의 재고량이 제2 재고량인 것을 확인할 수 있다.
구체적으로, 장치(200)는 외부 서버 또는 데이터베이스로부터 제1 창고의 재고 정보를 획득할 수 있고, 제1 창고의 재고 정보에 기초하여, 제1 창고에 보관된 제1 식품의 재고량이 제1 재고량인 것을 확인하고, 제1 창고에 보관된 제2 식품의 재고량이 제2 재고량인 것을 확인할 수 있다. 여기서, 재고 정보는 창고에 보관되어 있는 식품들 각각의 재고 현황을 포함할 수 있다.
장치(200)는 제1 창고에 식품들이 새로 입고되거나, 제1 창고에서 식품들이 포장되어 출고되는 것을 추적하여 관리하기 위해, 제1 창고의 재고 정보를 실시간으로 업데이트 할 수 있다. 이를 위해, 제1 창고에 보관되는 식품에는 바코드가 부착되어 있어, 바코드의 인식을 통해 입고부터 출고까지 추적 관리될 수 있다.
즉, 장치(200)는 창고에 보관된 식품들에 부착된 바코드의 인식을 통해 식품들의 입고부터 출고까지 추적 관리되면, 바코드의 인식을 통해 실시간으로 변화되는 식품들의 재고 현황을 창고 별로 파악할 수 있다.
S704 단계에서, 장치(200)는 제1 재고량 및 제2 재고량을 더한 값으로 총합 재고량을 산출할 수 있다.
S705 단계에서, 장치(200)는 제1 창고가 복수의 구역으로 구분되어 있는 경우, 복수의 구역 중 어느 하나인 제1 구역의 최대 저장량이 제1 저장량인 것을 확인할 수 있다.
예를 들어, 제1 창고가 제1 구역, 제2 구역, 제3 구역 등의 복수의 구역으로 구분되어 있고, 각 구역은 식품 보관을 위해 별도의 공간으로 형성되어 있는 경우, 장치(200)는 제1 창고 정보에 기초하여, 제1 구역의 최대 저장량이 제1 저장량인 것을 확인할 수 있다. 여기서, 제1 창고 정보는 각 구역별 위치, 크기, 최대 저장량 등에 대한 정보를 더 포함할 수 있다.
S706 단계에서, 장치(200)는 제1 저장량이 총합 재고량 보다 많은지 여부를 확인할 수 있다.
S706 단계에서 제1 저장량이 총합 재고량 보다 많지 않은 것으로 확인되면, S801 단계가 수행될 수 있으며, 이와 관련된 자세한 설명은 도 8을 참조하여 후술하기로 한다.
S706 단계에서 제1 저장량이 총합 재고량 보다 많은 것으로 확인되면, S707 단계에서, 장치(200)는 제1 구역의 온도를 제1 온도로 설정하여 제1 재고량의 제1 식품과 제2 재고량의 제2 식품이 제1 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
즉, 제1 구역의 최대 저장량이 총합 재고량 보다 많은 것으로 확인되면, 장치(200)는 제1 구역에 제1 재고량의 제1 식품과 제2 재고량의 제2 식품을 전부 보관할 수 있는 것으로 파악할 수 있으며, 권장 보관 온도가 더 낮은 제1 온도로 제1 구역의 온도를 설정하여, 제1 재고량의 제1 식품과 제2 재고량의 제2 식품이 제1 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
예를 들어, 제1 저장량이 200개이고 제1 재고량이 100개이고 제2 재고량이 50개인 경우, 장치(200)는 100개의 제1 식품과 50개의 제2 식품이 제1 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
S708 단계에서, 장치(200)는 제1 창고의 보관 조건에 대한 설정 정보를 관리자 단말(100)로 전송할 수 있다. 여기서, 제1 창고의 보관 조건에 대한 설정 정보는 제1 창고에 보관될 식품들에 대한 보관 조건을 나타내는 정보로, 어느 구역에 어느 식품을 얼마나 많이 보관할 것인지가 설정된 보관 조건에 대한 설정 정보이고, 데이터베이스에 저장되어 관리될 수 있다.
도 8은 일실시예에 따른 냉동식품의 재고량에 따라 보관 구역을 분배하는 과정을 설명하기 위한 순서도이다.
도 8을 참조하면, 먼저, S801 단계에서, 장치(200)는 제1 저장량이 총합 재고량 보다 많지 않은 것으로 확인되면, 제1 창고가 복수의 구역으로 구분되어 있는 경우, 복수의 구역 중 다른 하나인 제2 구역의 최대 저장량이 제2 저장량인 것을 확인할 수 있다.
장치(200)는 제1 재고량 및 제2 재고량과 제1 저장량 및 제2 저장량이 각각 확인되면, 제1 저장량이 제1 재고량 보다 많은지 여부와 제2 저장량이 제2 재고량 보다 많은지 여부를 각각 확인할 수 있다.
S802 단계에서, 장치(200)는 제1 저장량이 제1 재고량 보다 많은지 여부를 확인할 수 있다.
S802 단계에서 제1 저장량이 제1 재고량 보다 많은 것으로 확인되면, S803 단계에서, 장치(200)는 제2 저장량이 제2 재고량 보다 많은지 여부를 확인할 수 있다.
S803 단계에서 제2 저장량이 제2 재고량 보다 많은 것으로 확인되면, S805 단계에서, 장치(200)는 제1 구역의 온도를 제1 온도로 설정하고 제2 구역의 온도를 제2 온도로 설정하여 제1 재고량의 제1 식품이 제1 구역에 보관되고 제2 재고량의 제2 식품이 제2 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
즉, 제1 저장량이 제1 재고량 보다 많으면서 제2 저장량이 제2 재고량 보다 많은 것으로 확인되면, 장치(200)는 제1 구역에 제1 재고량의 제1 식품을 보관할 수 있고 제2 구역에 제2 재고량의 제2 식품을 보관할 수 있는 것으로 파악할 수 있으며, 제1 구역의 온도를 제1 온도로 설정하여, 제1 재고량의 제1 식품이 제1 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있고, 제2 구역의 온도를 제2 온도로 설정하여, 제2 재고량의 제2 식품이 제2 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
예를 들어, 제1 저장량이 100개이고 제2 저장량이 100개이고 제1 재고량이 80개이고 제2 재고량이 70개인 경우, 장치(200)는 80개의 제1 식품이 제1 구역에 보관되고 70개의 제2 식품이 제2 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
S803 단계에서 제2 저장량이 제2 재고량 보다 많지 않은 것으로 확인되면, S806 단계에서, 장치(200)는 제2 재고량에서 제2 저장량을 뺀 값으로 제4 재고량을 산출하고, 제1 구역의 온도를 제1 온도로 설정하고 제2 구역의 온도를 제2 온도로 설정하고 복수의 구역 중 또 다른 하나인 제3 구역의 온도를 제2 온도로 설정하여 제1 재고량의 제1 식품이 제1 구역에 보관되고 제2 저장량의 제2 식품이 제2 구역에 보관되고 제4 재고량의 제2 식품이 제3 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
즉, 제1 저장량이 제1 재고량 보다 많으면서 제2 저장량이 제2 재고량 보다 많지 않은 것으로 확인되면, 장치(200)는 제1 구역에 제1 재고량의 제1 식품을 보관할 수 있으나 제2 구역에 제2 재고량의 제2 식품을 보관할 수 없는 것으로 파악할 수 있으며, 제1 구역의 온도를 제1 온도로 설정하여, 제1 재고량의 제1 식품이 제1 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있고, 제2 구역의 온도를 제2 온도로 설정하여, 제2 재고량 중에서 제2 저장량의 제2 식품이 제2 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있고, 제3 구역의 온도를 제2 온도로 설정하여, 제2 재고량 중에서 제2 구역에 보관하고 나머지인 제4 재고량의 제2 식품이 제3 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
예를 들어, 제1 저장량이 100개이고 제2 저장량이 100개이고 제1 재고량이 80개이고 제2 재고량이 150개인 경우, 장치(200)는 80개의 제1 식품이 제1 구역에 보관되고 100개의 제2 식품이 제2 구역에 보관되고 50개의 제2 식품이 제3 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
한편, S802 단계에서 제1 저장량이 제1 재고량 보다 많지 않은 것으로 확인되면, S804 단계에서, 장치(200)는 제2 저장량이 제2 재고량 보다 많은지 여부를 확인할 수 있다.
S804 단계에서 제2 저장량이 제2 재고량 보다 많은 것으로 확인되면, S807 단계에서, 장치(200)는 제1 재고량에서 제1 저장량을 뺀 값으로 제3 재고량을 산출하고, 제1 구역의 온도를 제1 온도로 설정하고 제2 구역의 온도를 제2 온도로 설정하고 제3 구역의 온도를 제1 온도로 설정하여 제1 저장량의 제1 식품이 제1 구역에 보관되고 제2 재고량의 제2 식품이 제2 구역에 보관되고 제3 재고량의 제1 식품이 제3 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
즉, 제1 저장량이 제1 재고량 보다 많지 않으면서 제2 저장량이 제2 재고량 보다 많은 것으로 확인되면, 장치(200)는 제1 구역에 제1 재고량의 제1 식품을 보관할 수 없으나 제2 구역에 제2 재고량의 제2 식품을 보관할 수 있는 것으로 파악할 수 있으며, 제1 구역의 온도를 제1 온도로 설정하여, 제1 재고량 중에서 제1 저장량의 제1 식품이 제1 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있고, 제2 구역의 온도를 제2 온도로 설정하여, 제2 재고량의 제2 식품이 제2 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있고, 제3 구역의 온도를 제1 온도로 설정하여, 제1 재고량 중에서 제1 구역에 보관하고 나머지인 제3 재고량의 제1 식품이 제3 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
예를 들어, 제1 저장량이 100개이고 제2 저장량이 100개이고 제1 재고량이 150개이고 제2 재고량이 70개인 경우, 장치(200)는 100개의 제1 식품이 제1 구역에 보관되고 70개의 제2 식품이 제2 구역에 보관되고 50개의 제1 식품이 제3 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
S804 단계에서 제2 저장량이 제2 재고량 보다 많지 않은 것으로 확인되면, S808 단계에서, 장치(200)는 제1 재고량에서 제1 저장량을 뺀 값으로 제3 재고량을 산출하고, 제2 재고량에서 제2 저장량을 뺀 값으로 제4 재고량을 산출하여, 제3 재고량 및 제4 재고량을 각각 산출하고, 제1 구역의 온도를 제1 온도로 설정하고 제2 구역의 온도를 제2 온도로 설정하고 제3 구역의 온도를 제1 온도로 설정하여 제1 저장량의 제1 식품이 상기 제1 구역에 보관되고 제2 저장량의 제2 식품이 제2 구역에 보관되고 제3 재고량의 제1 식품과 제4 재고량의 제2 식품이 제3 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
즉, 제1 저장량이 제1 재고량 보다 많지 않으면서 제2 저장량이 제2 재고량 보다 많지 않은 것으로 확인되면, 장치(200)는 제1 구역에 제1 재고량의 제1 식품을 보관할 수 없고 제2 구역에 제2 재고량의 제2 식품을 보관할 수 없는 것으로 파악할 수 있으며, 제1 구역의 온도를 제1 온도로 설정하여, 제1 재고량 중에서 제1 저장량의 제1 식품이 제1 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있고, 제2 구역의 온도를 제2 온도로 설정하여, 제2 재고량 중에서 제2 저장량의 제2 식품이 제2 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있고, 제3 구역의 온도를 제1 온도로 설정하여, 제1 재고량 중에서 제1 구역에 보관하고 나머지인 제3 재고량의 제1 식품과 제2 재고량 중에서 제2 구역에 보관하고 나머지인 제4 재고량의 제2 식품이 제3 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
예를 들어, 제1 저장량이 100개이고 제2 저장량이 100개이고 제1 재고량이 150개이고 제2 재고량이 140개인 경우, 장치(200)는 100개의 제1 식품이 제1 구역에 보관되고 100개의 제2 식품이 제2 구역에 보관되고 50개의 제1 식품과 40개의 제2 식품이 제3 구역에 보관되도록, 제1 창고의 보관 조건을 설정할 수 있다.
S805 단계, S806 단계, S807 단계 및 S808 단계 중 어느 하나의 단계를 통해 제1 창고의 보관 조건이 설정되면, S809 단계에서, 장치(200)는 제1 창고의 보관 조건에 대한 설정 정보를 관리자 단말(100)로 전송할 수 있다.
도 9는 일실시예에 따른 식품 재고의 유통관리를 수행하는 과정을 설명하기 위한 순서도이다.
도 9를 참조하면, 먼저, S901 단계에서, 장치(200)는 제1 창고의 입고 내역에 기초하여, 제1 창고에 제1 식품을 입고하는 입고 패턴을 분석할 수 있다. 여기서, 입고 내역은 창고에 식품이 입고된 입고 내역이 누적된 정보로, 어느 시점에 어느 식품을 얼마나 많이 입고하였는지 나타내는 리스트로 구성될 수 있고, 식품명, 입고일, 입고량 등의 정보를 포함할 수 있다.
장치(200)의 데이터베이스에는 창고 별로 구분되어 있는 입고 내역이 저장되어 있으며, 장치(200)는 데이터베이스에 저장된 정보를 조회하여 제1 창고의 입고 내역을 획득할 수 있다.
예를 들어, 제1 창고의 입고 내역을 통해 제1 창고에 제1 식품을 입고한 내역을 확인한 결과, 1월 1일에 20개, 1월 11일에 15개, 1월 21일에 25개 입고한 것이 확인되면, 장치(200)는 10일 간격으로 평균 20개씩 제1 식품에 대한 입고가 이루어지는 것을 파악하여, 제1 식품의 입고 패턴을 분석할 수 있다. 여기서, 제1 식품의 입고 패턴은 제1 창고에서 제1 식품을 얼마나 자주 어느 정도의 양으로 입고하였는지 나타내는 입고 패턴을 의미할 수 있다.
S902 단계에서, 장치(200)는 제1 식품의 입고 패턴에 대한 분석 결과를 미리 학습된 제2 인공 신경망에 적용할 수 있다.
일실시예에 따르면, 제2 인공 신경망은 식품의 입고 패턴에 대한 분석 결과를 입력 받은 후, 식품의 입고 패턴에 적합한 식품의 재고 업데이트 주기를 출력하는 알고리즘일 수 있다. 예를 들어, 제1 식품의 입고 패턴이 10일 간격으로 입고가 이루어지는 패턴으로 분석된 경우, 제2 인공 신경망은 10일 간격으로 입고가 이루어지는 것으로 분석된 제1 식품의 입고 패턴에 대한 분석 결과를 입력으로 받아, 10일 간격으로 이루어지는 입고 패턴에 적합한 식품의 재고 업데이트 주기를 10일로 출력할 수 있다.
S903 단계에서, 장치(200)는 제2 인공 신경망의 출력을 기초로, 제1 식품의 재고 업데이트 주기인 제1 주기를 설정할 수 있다. 즉, 제2 인공 신경망은 제1 창고에서 제1 식품을 입고하는 입고 패턴을 분석하여, 제1 식품의 입고 패턴에 적합한 제1 식품의 재고 업데이트 주기인 제1 주기에 대한 설정값을 출력할 수 있으며, 장치(200)는 제2 인공 신경망의 출력을 기초로, 제1 식품의 재고 업데이트 주기를 제1 주기로 설정할 수 있다.
이를 위해, 제2 인공 신경망은 식품의 입고 패턴에 대한 분석 결과를 통해 식품의 입고 패턴에 적합한 식품의 재고 업데이트 주기를 선정하여 추출하도록 학습될 수 있다. 이러한 제2 인공 신경망은 도 12를 참조하여 후술되는 방법을 통해 학습될 수 있다.
S904 단계에서, 장치(200)는 제1 주기마다 제1 창고에 보관되어 있는 제1 식품을 유통기한 별로 분류할 수 있다.
구체적으로, 장치(200)는 제1 창고의 재고 정보를 기반으로, 제1 주기마다 제1 창고에 보관되어 있는 제1 식품을 유통기한 별로 분류할 수 있다. 여기서, 제1 창고의 재고 정보는 제1 창고에 보관되어 있는 식품들 각각의 재고 현황을 포함할 수 있다.
일실시예에 따르면, 재고 정보는 식품명, 유통기한, 재고량, 가격 등의 정보를 포함할 수 있으며, 동일한 식품이더라도 유통기한이 상이한 경우, 유통기한 별로 구분되어 관리될 수 있다. 이를 통해, 장치(200)는 제1 창고의 재고 정보를 기반으로, 제1 식품을 유통기한 별로 구분하여 분류할 수 있다.
S905 단계에서, 장치(200)는 제1 창고에 보관되어 있는 제1 식품을 유통기한 별로 분류한 결과, 제1 식품 중에서 유통기한까지 남아있는 잔여 기간이 가장 짧은 식품들을 제1 그룹으로 분류할 수 있다.
예를 들어, 제1 창고의 재고 정보에 “제1 식품, 유통기한 1월 20일, 재고량 10개”, “제1 식품, 유통기한 1월 25일, 재고량 15개”, “제1 식품, 유통기한 1월 30일, 재고량 30개”라는 정보가 포함되어 있는 경우, 장치(200)는 제1 식품 중에서 1월 20일을 유통기한까지 남아있는 잔여기간이 가장 짧은 것으로 확인하여, 1월 20일이 유통기한인 10개의 제1 식품을 제1 그룹으로 분류할 수 있다.
S906 단계에서, 장치(200)는 제1 그룹으로 분류된 제1 식품의 재고량을 제5 재고량으로 확인하고, 제1 그룹으로 분류된 제1 식품의 유통기한까지 남아있는 잔여 기간을 제1 잔여 기간으로 확인할 수 있다.
예를 들어, 장치(200)는 1월 20일이 유통기한인 10개의 제1 식품을 제1 그룹으로 분류한 경우, 제5 재고량을 10개로 확인하고, 현재 일자가 1월 15일로 확인되면, 제1 잔여 기간을 5일로 확인할 수 있다.
S907 단계에서, 장치(200)는 제1 잔여 기간이 기준 기간 보다 짧은지 여부를 확인할 수 있다. 여기서, 기준 기간은 실시예에 따라 상이하게 설정될 수 있다.
S907 단계에서 제1 잔여 기간이 기준 기간 보다 짧지 않은 것으로 확인되면, 일정 기간이 지난 이후, S901 단계로 되돌아가, 장치(200)는 제1 식품의 입고 패턴을 분석하는 과정부터 다시 수행할 수 있다.
예를 들어, 기준 기간이 5일이고 제1 잔여 기간이 8일인 경우, 장치(200)는 제1 잔여 기간이 기준 기간 보다 긴 것으로 확인되기 때문에, 유통기한이 임박하지 않은 것으로 판단하여, 유통기한이 임박한 것을 알려주는 알림 서비스의 제공이 필요하지 않은 것으로 판단할 수 있다.
S907 단계에서 제1 잔여 기간이 기준 기간 보다 짧은 것으로 확인되면, S908 단계에서, 장치(200)는 제1 식품의 재고 중 제5 재고량에 대한 유통기한이 임박한 것을 알려주는 알림 메시지를 관리자 단말(100)로 전송할 수 있다. 여기서, 알림 메시지는 제1 식품의 식품명, 제5 재고량, 제1 그룹으로 분류된 제1 식품의 유통기한, 제1 잔여 기간 등에 대한 정보를 포함할 수 있다.
예를 들어, 기준 기간이 5일이고 제1 잔여 기간이 3일인 경우, 장치(200)는 제1 잔여 기간이 기준 기간 보다 짧은 것으로 확인되기 때문에, 유통기한이 임박한 것으로 판단하여, 유통기한이 임박한 것을 알려주는 알림 서비스의 제공이 필요한 것으로 판단할 수 있으며, 이를 통해, 제1 식품의 재고 중 제5 재고량에 대한 유통기한이 임박한 것을 알려주는 알림 메시지를 관리자 단말(100)로 전송할 수 있다.
장치(200)는 제1 식품의 재고 중 제5 재고량에 대한 유통기한이 임박한 것을 알려주는 알림 메시지를 관리자 단말(100)로 전송하면서, 제1 식품에 대한 할인, 판촉 또는 입고를 추천하는 알림 메시지를 관리자 단말(100)로 더 전송할 수 있으며, 이와 관련된 자세한 설명은 도 10을 참조하여 후술하기로 한다.
도 10은 일실시예에 따른 식품의 재고량이 배송되지 않고 남아있을 수 있는 확률을 예측하여 식품의 유통관리 상태를 설정하는 과정을 설명하기 위한 순서도이다.
도 10을 참조하면, 먼저, S1001 단계에서, 장치(200)는 제1 창고의 배송 내역에 기초하여, 제1 식품의 일일 평균 배송량을 제1 배송량으로 확인할 수 있다.
장치(200)의 데이터베이스에는 창고 별로 구분되어 있는 배송 내역이 저장되어 있으며, 장치(200)는 데이터베이스에 저장된 정보를 조회하여 제1 창고의 배송 내역을 획득할 수 있다.
예를 들어, 제1 창고의 배송 내역을 통해 제1 창고에서 제1 식품을 고객에게 배송한 내역을 확인한 결과, 1월 1일에 18개, 1월 2일에 20개, 1월 3일에 22개 배송한 것이 확인되면, 장치(200)는 제1 식품의 일일 평균 배송량을 20개로 산출할 수 있고, 20개를 제1 배송량으로 확인할 수 있다.
S1002 단계에서, 장치(200)는 제5 재고량, 제1 잔여 기간 및 제1 배송량을 매칭하여 제1 매칭 결과를 생성할 수 있다.
S1003 단계에서, 장치(200)는 제5 재고량, 제1 잔여 기간 및 제1 배송량을 매칭한 제1 매칭 결과를 미리 학습된 제3 인공 신경망에 적용할 수 있다. 여기서, 제3 인공 신경망은 재고량, 유통기한까지 남아있는 잔여 기간 및 일일 평균 배송량을 매칭한 매칭 결과를 입력으로 받아, 유통기한이 경과될 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률을 출력하는 알고리즘일 수 있다.
즉, 제3 인공 신경망은 재고량, 유통기한까지 남아있는 잔여 기간 및 일일 평균 배송량을 고려하여, 유통기한이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률을 예측하여 산정할 수 있다.
예를 들어, 제5 재고량, 제1 잔여 기간 및 제1 배송량을 매칭한 제1 매칭 결과가 (60개, 5일, 10개)인 경우, 제3 인공 신경망은 (60개, 5일, 10개)를 입력으로 받아, 5일이 경과한 후 60개의 재고량이 배송되지 않고 남아있을 수 있는 확률을 제1 발생률로 예측하여 산정할 수 있고, 제1 발생률을 지시하는 출력값을 출력할 수 있다.
S1004 단계에서, 장치(200)는 제3 인공 신경망의 출력을 기초로, 제1 잔여 기간이 경과할 때까지 제5 재고량이 배송되지 않고 남아있을 수 있는 확률을 제1 발생률로 예측할 수 있다.
일실시예에 따르면, 제3 인공 신경망은 재고량, 유통기한까지 남아있는 잔여 기간 및 일일 평균 배송량을 매칭한 매칭 결과를 통해, 유통기한이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률이 얼마나 되는지 분석하여 출력할 수 있다. 제3 인공 신경망은 도 13을 참조하여 후술되는 방법을 통해 학습될 수 있다.
S1005 단계에서, 장치(200)는 제1 발생률이 제1 기준치 이상인지 여부를 확인할 수 있다. 여기서, 제1 기준치는 실시예에 따라 상이하게 설정될 수 있다.
S1005 단계에서 제1 발생률이 제1 기준치 이상인 것으로 확인되면, S1006 단계에서, 장치(200)는 제5 재고량에 대한 유통관리 상태를 경고 상태로 설정할 수 있다.
예를 들어, 제1 기준치가 60%인 경우, 장치(200)는 제1 발생률이 70%로 확인되면, 제5 재고량이 배송되지 않고 남아있을 수 있는 확률이 매우 높은 것으로 판단하여, 제5 재고량에 대한 유통관리 상태를 경고 상태로 설정할 수 있다.
S1007 단계에서, 장치(200)는 제5 재고량에 대한 유통관리 상태가 경고 상태로 설정된 경우, 제1 식품에 대한 할인을 추천하는 알림 메시지를 관리자 단말(100)로 전송할 수 있다. 여기서, 알림 메시지는 할인가, 할인율, 할인 전 식품 가격, 할인 후 식품 가격 등에 대한 정보를 포함할 수 있다.
S1005 단계에서 제1 발생률이 제1 기준치 미만인 것으로 확인되면, S1008 단계에서, 장치(200)는 제1 발생률이 제2 기준치 이상인지 여부를 확인할 수 있다. 여기서, 제2 기준치는 제1 기준치 보다 작은 값으로 설정될 수 있다.
S1008 단계에서 제1 발생률이 제2 기준치 이상인 것으로 확인되면, S1009 단계에서, 장치(200)는 제5 재고량에 대한 유통관리 상태를 주의 상태로 설정할 수 있다.
예를 들어, 제1 기준치가 60%이고 제2 기준치가 30%인 경우, 장치(200)는 제1 발생률이 40%로 확인되면, 제5 재고량이 배송되지 않고 남아있을 수 있는 확률이 어느 정도 있는 것으로 판단하여, 제5 재고량에 대한 유통관리 상태를 주의 상태로 설정할 수 있다.
S1010 단계에서, 장치(200)는 제5 재고량에 대한 유통관리 상태가 주의 상태로 설정된 경우, 제1 식품에 대한 판촉을 추천하는 알림 메시지를 관리자 단말(100)로 전송할 수 있다. 여기서, 알림 메시지는 지면 광고에 사용될 이미지, 온라인 광고에 사용될 영상 콘텐츠 등에 대한 정보를 포함할 수 있다.
S1008 단계에서 제1 발생률이 제2 기준치 미만인 것으로 확인되면, S1011 단계에서, 장치(200)는 제5 재고량에 대한 유통관리 상태를 정상 상태로 설정할 수 있다.
예를 들어, 제1 기준치가 60%이고 제2 기준치가 30%인 경우, 장치(200)는 제1 발생률이 20%로 확인되면, 제5 재고량이 배송되지 않고 남아있을 수 있는 확률이 매우 낮은 것으로 판단하여, 제5 재고량에 대한 유통관리 상태를 정상 상태로 설정할 수 있다.
S1012 단계에서, 장치(200)는 제5 재고량에 대한 유통관리 상태가 정상 상태로 설정된 경우, 제1 식품에 대한 입고를 추천하는 알림 메시지를 관리자 단말(100)로 전송할 수 있다. 여기서, 알림 메시지는 입고량 등에 대한 정보를 포함할 수 있다.
도 11은 일실시예에 따른 제1 인공 신경망을 설명하기 위한 도면이다.
일실시예에 따르면, 장치(200)는 작업 공간에 배치된 냉동식품을 촬영하여 생성된 이미지를 인코딩 하여 제1 입력 신호를 생성할 수 있으며, 제1 인공 신경망(1101)은 제1 입력 신호를 입력으로 하고, 식품의 종류(1102) 및 식품의 수량(1103)을 출력으로 할 수 있다.
일실시예에 따른 인코딩은 이미지의 픽셀 별 색 정보를 수치화된 데이터 시트 형태로 저장하는 방식으로 이뤄질 수 있는데, 색 정보는 하나의 픽셀이 가지고 있는 RGB 색상, 명도 정보, 채도 정보를 포함할 수 있으나, 이에 국한하지 않는다.
일실시예에 따르면, 제1 인공 신경망(1101)은 컨볼루션 신경망으로 구현되어, 제1 인공 신경망(1101)은 특징 추출 신경망(1110)과 분류 신경망(1120)으로 구성될 수 있으며, 특징 추출 신경망(1110)은 식품을 찍은 이미지에서 식품과 배경을 분리하는 작업을 수행할 수 있으며, 분류 신경망(1120)은 그로부터 식품을 종류별로 분류하고, 식품의 종류별로 각각의 수량을 파악하는 작업을 수행하도록 할 수 있다. 특징 추출 신경망(1110)이 식품과 배경과 구분하는 방법은, 이미지를 인코딩한 제1 입력 신호의 데이터 시트로부터 색 정보의 각 값들의 변화가 한 픽셀을 포함하는 8개의 픽셀 중 6개 이상에서 30% 이상의 변화가 생긴 것으로 감지되는 픽셀들의 묶음을 식품과 배경의 경계로 삼을 수 있으나, 이에 국한하지 않는다.
일실시예에 따르면, 특징 추출 신경망(1110)은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다. 컨볼루션 계층은 컨볼루션 연산, 컨볼루션 필터 및 활성함수를 포함하고 있다. 컨볼루션 필터의 계산은 대상 입력의 행렬 크기에 따라 조절되나 일반적으로 9X9 행렬을 사용한다. 활성 함수는 일반적으로 ReLU 함수, 시그모이드 함수, 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 풀링 계층은 입력의 행렬 크기를 줄이는 역할을 하는 계층으로, 특정 영역의 픽셀을 묶어 대표값을 추출하는 방식을 사용한다. 풀링 계층의 연산에는 일반적으로 평균값이나 최대값을 많이 사용하나 이에 한정하지 않는다. 해당 연산은 정방 행렬을 사용하여 진행되는데, 일반적으로 9X9 행렬을 사용한다. 컨볼루션 계층과 풀링 계층은 해당 입력이 차이를 유지한 상태에서 충분히 작아질 때까지 번갈아 반복 진행된다.
일실시예에 따른 분류 신경망(1120)은 특징 추출 신경망(1110)을 통해 배경으로부터 구분된 식품을 그 형태 및 연속성에 따라 종류를 구분하고, 식품의 수량(1103)을 종류별로 파악할 수 있다. 식품의 비교를 위해 데이터베이스에 저장된 정보들을 활용할 수 있다. 분류 신경망(1120)은 식품의 종류(1102)를 파악하는 작업을 우선으로 하며, 파악된 식품의 형태 및 크기에 따라 식품의 수량(1103) 파악을 용이하도록 할 수 있다.
일실시예에 따르면, 분류 신경망(1120)은 은닉층과 출력층을 가지고 있다. 장치(200) 내의 제1 인공 신경망(1101)에서는 일반적으로 은닉층이 5개 이상 존재하며, 각 은닉층의 노드는 80개로 지정하나 경우에 따라 그 이상으로 정할 수 있다. 은닉층의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 제1 인공 신경망(1101)의 출력층 노드는 총 50개로 할 수 있다.
일실시예에 따른 제1 인공 신경망(1101)의 출력은 출력층의 50개 노드 중 상위 25개의 노드는 식품의 종류(1102)를 지시할 수 있고, 하위 25개의 노드는 상위 노드에 각각 대응하는 식품의 수량(1103)을 지시할 수 있다. 상위 25개의 노드와 하위 25개의 노드를 대응시키는 방식은 상위 n번 째 노드와 하위 n번 째 노드를 대응시키는 방식으로, 전체에서 n번 째 노드가 전체에서 25+n번 째 노드에 대응하는 방식으로 진행될 수 있다. 예를 들어, 1번 째 노드는 26번 째 노드에 대응하며, 2번 째 노드는 27번 째 노드에, 10번 째 노드는 35번 째 노드에, 25번 재 노드는 50번 째 노드에 대응하는 방식으로 진행될 수 있다. 식품의 종류(1102)는 식품에 대응하는 코드 정보로 출력될 수 있으나, 이에 국한하지 않는다. 제1 인공 신경망(1101)의 50개의 출력층 노드 중 출력값이 없는 출력층 노드는 숫자 0을 그 출력값으로 출력할 수 있다. 상위 25개의 노드 중에 이 숫자 0이 포함되는 노드들은 해당하는 식품이 없는 것으로 간주될 수 있다. 만약 분류된 식품의 종류가 25개 이상일 경우, 남은 식품은 미리 생성한 출력값이 모두 처리된 후 이어서 자동으로 처리될 수 있다.
일실시예에 따르면, 제1 인공 신경망(1101)은 사용자가 제1 인공 신경망(1101)에 따른 식품 파악의 문제점 발견 시 사용자에 의해 입력된 수정 정답에 의해 생성되는 제1 학습 신호를 전달받아 학습할 수 있다. 제1 인공 신경망(1101)에 따른 식품 파악의 문제점은 식품의 종류(1102) 및 식품의 수량(1103)에 문제가 있는 경우를 의미할 수 있다.
일실시예에 따른 제1 학습 신호는 정답과 출력값의 오차를 바탕으로 만들어지며, 경우에 따라 델타를 이용하는 SGD나 배치 방식 혹은 역전파 알고리즘을 따르는 방식을 사용할 수 있다. 본 제1 학습 신호에 의해 제1 인공 신경망(1101)은 기존의 가중치를 수정해 학습을 수행하며, 경우에 따라 모멘텀을 사용할 수 있다. 오차의 계산에는 비용함수가 사용될 수 있는데, 비용함수로 Cross entropy 함수를 사용할 수 있다.
도 12는 일실시예에 따른 제2 인공 신경망의 학습을 설명하기 위한 도면이다.
일실시예에 따르면, 제2 인공 신경망은 식품의 입고 패턴에 대한 분석 결과를 입력 받은 후, 식품의 입고 패턴에 적합한 식품의 재고 업데이트 주기를 출력하는 알고리즘일 수 있다.
제2 인공 신경망의 학습이 이루어지는 학습 장치는 학습된 제2 인공 신경망을 이용하여 식품의 입고 패턴에 적합한 식품의 재고 업데이트 주기를 분석하는 장치(200)와 동일한 장치일 수 있고, 별개의 장치일 수도 있다. 이하에서는 제2 인공 신경망이 학습되는 과정을 설명한다.
먼저, S1201 단계에서, 학습 장치는 식품의 입고 패턴에 대한 분석 결과를 기초로 입력을 생성할 수 있다.
구체적으로, 학습 장치는 식품의 입고 패턴에 대한 분석 결과를 전처리하는 과정을 수행할 수 있다. 전처리가 수행된 식품의 입고 패턴에 대한 분석 결과를 제2 인공 신경망의 입력으로 그대로 사용하거나, 불필요한 정보를 제거하는 통상의 처리를 거쳐 입력을 생성할 수 있다.
S1202 단계에서, 학습 장치는 제2 인공 신경망에 입력을 적용할 수 있다. 제2 인공 신경망은 강화 학습(reinforcement learning)에 따라 학습되는 인공 신경망일 수 있다. 제2 인공 신경망은 강화 학습을 통해 추상적 추론을 출력하는데 적합한 Q-Network, DQN(Depp Q-Network), 또는 관계형 네트워크(relation network, RL) 구조일 수 있다.
강화 학습에 따라 학습되는 제2 인공 신경망은 다양한 보상에 평가를 반영하여 갱신 및 최적화될 수 있다. 예를 들어, 제1 보상은 식품의 입고 패턴이 일정 이상 간격으로 입고가 이루어지면, 재고 업데이트 주기를 길게 선정할수록 보상값이 높아질 수 있고, 제2 보상은 식품의 입고 패턴이 일정 미만 간격으로 입고가 이루어지면, 재고 업데이트 주기를 짧게 선정할수록 보상값이 높아질 수 있다.
S1203 단계에서, 학습 장치는 제2 인공 신경망으로부터 출력을 획득할 수 있다. 제2 인공 신경망의 출력은 식품의 입고 패턴에 적합한 재고 업데이트 주기에 대한 정보를 포함할 수 있다. 이때, 제2 인공 신경망은 식품의 입고 패턴에 대한 분석을 통해, 식품의 입고 패턴에 적합한 재고 업데이트 주기를 선정하여, 선정된 재고 업데이트 주기에 대한 정보를 출력할 수 있다.
S1204 단계에서, 학습 장치는 제2 인공 신경망의 출력을 평가하여 보상을 지급할 수 있다. 이때, 출력의 평가는 제1 보상, 제2 보상 등으로 나뉠 수 있다.
구체적으로, 학습 장치는 식품의 입고 패턴이 일정 이상 간격으로 입고가 이루어진 경우, 재고 업데이트 주기를 길게 선정할수록 제1 보상을 많이 수여하고, 식품의 입고 패턴이 일정 미만 간격으로 입고가 이루어진 경우, 재고 업데이트 주기를 짧게 선정할수록 제2 보상을 많이 수여할 수 있다.
S1205 단계에서, 학습 장치는 평가를 기초로 제2 인공 신경망을 갱신할 수 있다.
구체적으로, 학습 장치는 제2 인공 신경망이 식품의 입고 패턴을 통해, 재고 업데이트 주기를 선정하여 추출하는 환경(environment)에서, 보상값(reward)들의 합의 기대값(expectation)이 최대화되도록, 특정한 상태(state)들에서 취할 행동(action)들을 결정하는 정책(policy)을 최적화하는 과정을 통해 제2 인공 신경망을 갱신할 수 있다.
예를 들어, 학습 장치는 제1 식품의 입고 패턴에 대한 분석 결과를 통해, 제1 식품의 재고 업데이트 주기가 제1 주기로 설정되면, 제1 주기의 분석 결과에 대해 문제가 없는지 여부를 확인할 수 있고, 제1 주기의 분석 결과에 대해 문제가 없는 경우, 식품의 재고 업데이트 주기의 분석에 대해 문제가 없음을 나타내는 정보를 포함하는 제1 학습 데이터를 생성하고, 제1 학습 데이터를 제2 인공 신경망에 적용하여, 제1 식품의 입고 패턴과 유사한 입고 패턴을 입력으로 하는 경우, 제1 주기와 유사한 주기를 선정하도록, 제2 인공 신경망을 학습시키는 과정을 통해, 제2 인공 신경망을 갱신할 수 있다.
한편, 정책을 최적화하는 과정은 보상들의 합의 기대값의 최대값 또는 Q-함수의 최대값을 추정하거나, Q-함수의 손실 함수(loss function)의 최소값을 추정하는 과정을 통해 이루어질 수 있다. 손실함수의 최소값의 추정은 확률적 경사하강법(stochastic gradient descent, SGD) 등을 통해 이루어질 수 있다. 정책을 최적화하는 과정은 이에 제한되는 것은 아니며, 강화 학습에서 사용하는 다양한 최적화 알고리즘들이 이용될 수 있다.
학습 장치는 상기와 같은 제2 인공 신경망의 학습 과정을 반복함으로써, 제2 인공 신경망을 점진적으로 갱신시킬 수 있다. 이를 통해, 학습 장치는 식품의 입고 패턴에 대한 분석 결과를 통해, 식품의 입고 패턴에 적합한 재고 업데이트 주기를 출력하는 제2 인공 신경망을 학습시킬 수 있다.
즉, 학습 장치는 식품의 입고 패턴에 대한 분석 결과를 통해 재고 업데이트 주기를 추출할 때, 제1 보상, 제2 보상 등을 통한 강화 학습을 반영하여, 분석 기준을 조정함으로써, 제2 인공 신경망을 학습시킬 수 있다.
도 13은 일실시예에 따른 제3 인공 신경망의 학습을 설명하기 위한 도면이다.
일실시예에 따르면, 제3 인공 신경망은 재고량, 유통기한까지 남아있는 잔여 기간 및 일일 평균 배송량을 매칭한 매칭 결과를 입력으로 받아, 유통기한이 경과될 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률을 출력하는 알고리즘일 수 있다.
제3 인공 신경망의 학습이 이루어지는 학습 장치는 학습된 제3 인공 신경망을 이용하여 유통기한이 경과될 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률을 분석하는 장치(200)와 동일한 장치일 수 있고, 별개의 장치일 수도 있다. 이하에서는 제3 인공 신경망이 학습되는 과정을 설명한다.
먼저, S1301 단계에서, 학습 장치는 재고량, 유통기한까지 남아있는 잔여 기간 및 일일 평균 배송량을 매칭한 매칭 결과를 기초로 입력을 생성할 수 있다.
구체적으로, 학습 장치는 재고량, 유통기한까지 남아있는 잔여 기간 및 일일 평균 배송량을 매칭한 매칭 결과에 대해 전처리하는 과정을 수행할 수 있다. 전처리가 수행된 매칭 결과를 제3 인공 신경망의 입력으로 그대로 사용하거나, 불필요한 정보를 제거하는 통상의 처리를 거쳐 입력을 생성할 수 있다.
S1302 단계에서, 학습 장치는 제3 인공 신경망에 입력을 적용할 수 있다. 제3 인공 신경망은 강화 학습(reinforcement learning)에 따라 학습되는 인공 신경망일 수 있다. 제3 인공 신경망은 강화 학습을 통해 추상적 추론을 출력하는데 적합한 Q-Network, DQN(Depp Q-Network), 또는 관계형 네트워크(relation network, RL) 구조일 수 있다.
강화 학습에 따라 학습되는 제3 인공 신경망은 다양한 보상에 평가를 반영하여 갱신 및 최적화될 수 있다. 예를 들어, 제3 보상은 재고량이 많을수록 유통기한이 경과될 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률이 높은 것으로 분석하면 보상값이 높아질 수 있고, 제4 보상은 유통기한까지 남아있는 잔여 기간이 짧을수록 유통기한이 경과될 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률이 높은 것으로 분석하면 보상값이 높아질 수 있고, 제5 보상은 일일 평균 배송량이 적을수록 유통기한이 경과될 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률이 높은 것으로 분석하면 보상값이 높아질 수 있다.
S1303 단계에서, 학습 장치는 제3 인공 신경망으로부터 출력을 획득할 수 있다. 제3 인공 신경망의 출력은, 유통기한이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률에 대한 정보일 수 있다. 이때, 제3 인공 신경망은 재고량, 유통기한까지 남아있는 잔여 기간 및 일일 평균 배송량을 고려하여, 유통기한이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률을 분석하고, 유통기한이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률에 대한 정보를 출력할 수 있다.
S1304 단계에서, 학습 장치는 제3 인공 신경망의 출력을 평가하여 보상을 지급할 수 있다. 이때, 출력의 평가는 제3 보상, 제4 보상, 제5 보상 등으로 나뉠 수 있다.
구체적으로, 학습 장치는 재고량이 많을수록 유통기한이 경과될 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률이 높은 것으로 분석하면 제3 보상을 많이 수여하고, 유통기한까지 남아있는 잔여 기간이 짧을수록 유통기한이 경과될 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률이 높은 것으로 분석하면 제4 보상을 많이 수여하고, 일일 평균 배송량이 적을수록 유통기한이 경과될 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률이 높은 것으로 분석하면 제5 보상을 많이 수여할 수 있다.
S1305 단계에서, 학습 장치는 평가를 기초로 제3 인공 신경망을 갱신할 수 있다.
구체적으로, 학습 장치는 제3 인공 신경망이, 유통기한이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률을 분석하는 환경(environment)에서, 보상값(reward)들의 합의 기대값(expectation)이 최대화되도록, 특정한 상태(state)들에서 취할 행동(action)들을 결정하는 정책(policy)을 최적화하는 과정을 통해 제3 인공 신경망을 갱신할 수 있다.
예를 들어, 학습 장치는 제5 재고량, 제1 잔여 기간 및 제1 배송량을 매칭한 제1 매칭 결과를 통해, 제1 잔여 기간이 경과할 때까지 상기 제5 재고량이 배송되지 않고 남아있을 수 있는 확률이 제1 발생률로 예측되면, 제1 발생률의 분석 결과에 대해 문제가 없는지 여부를 확인할 수 있고, 제1 발생률의 분석 결과에 대해 문제가 없는 경우, 유통기한이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률의 분석에 대해 문제가 없음을 나타내는 정보를 포함하는 제2 학습 데이터를 생성하고, 제2 학습 데이터를 제3 인공 신경망에 적용하여, 제5 재고량, 제1 잔여 기간 및 제1 배송량을 매칭한 제1 매칭 결과와 유사한 매칭 결과를 입력으로 하는 경우, 제1 발생률과 유사한 확률을 선정하도록, 제3 인공 신경망을 학습시키는 과정을 통해, 제3 인공 신경망을 갱신할 수 있다.
한편, 정책을 최적화하는 과정은 보상들의 합의 기대값의 최대값 또는 Q-함수의 최대값을 추정하거나, Q-함수의 손실 함수(loss function)의 최소값을 추정하는 과정을 통해 이루어질 수 있다. 손실함수의 최소값의 추정은 확률적 경사하강법(stochastic gradient descent, SGD) 등을 통해 이루어질 수 있다. 정책을 최적화하는 과정은 이에 제한되는 것은 아니며, 강화 학습에서 사용하는 다양한 최적화 알고리즘들이 이용될 수 있다.
학습 장치는 상술한 제3 인공 신경망의 학습 과정을 반복함으로써, 제3 인공 신경망을 점진적으로 갱신시킬 수 있다. 이를 통해, 학습 장치는 재고량, 유통기한까지 남아있는 잔여 기간 및 일일 평균 배송량을 고려하여, 유통기한이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률을 출력하는 제3 인공 신경망을 학습시킬 수 있다.
즉, 학습 장치는 재고량, 유통기한까지 남아있는 잔여 기간 및 일일 평균 배송량을 매칭한 매칭 결과를 통해, 유통기한이 경과할 때까지 재고량이 배송되지 않고 남아있을 수 있는 확률을 분석할 때, 제3 보상, 제4 보상, 제5 보상 등을 통한 강화 학습을 반영하여, 분석 기준을 조정함으로써, 제3 인공 신경망을 학습시킬 수 있다.
도 14는 일실시예에 따른 장치의 구성의 예시도이다.
일실시예에 따른 장치(200)는 프로세서(210) 및 메모리(220)를 포함한다. 프로세서(210)는 도 1 내지 도 13을 참조하여 전술된 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 13을 참조하여 전술된 적어도 하나의 방법을 수행할 수 있다. 장치(200)를 이용하는 자 또는 단체는 도 1 내지 도 13을 참조하여 전술된 방법들 일부 또는 전부와 관련된 서비스를 제공할 수 있다.
메모리(220)는 전술된 방법들과 관련된 정보를 저장하거나 후술되는 방법들이 구현된 프로그램을 저장할 수 있다. 메모리(220)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(210)는 프로그램을 실행하고, 장치(200)를 제어할 수 있다. 프로세서(210)에 의하여 실행되는 프로그램의 코드는 메모리(220)에 저장될 수 있다. 장치(200)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 유무선 통신을 통해 데이터를 교환할 수 있다.
장치(200)는 인공 신경망을 학습시키거나, 학습된 인공 신경망을 이용하는데 사용될 수 있다. 메모리(220)는 학습 중인 또는 학습된 인공 신경망을 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장된 인공 신경망 알고리즘을 학습시키거나 실행시킬 수 있다. 인공 신경망을 학습시키는 장치(200)와 학습된 인공 신경망을 이용하는 장치(200)는 동일할 수도 있고 개별적일 수도 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (3)

  1. 장치에 의해 수행되는, 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법에 있어서,
    제1 고객의 주문 정보에 기초하여, 상기 제1 고객이 제1 식품을 제1 수량 주문한 것을 확인하는 단계;
    상기 제1 고객이 주문한 냉동식품에 대한 픽업 업무의 수행을 지시하는 알림 메시지를 관리자 단말로 전송하는 단계;
    상기 제1 고객이 주문한 냉동식품이 제1 공간에 배치되면, 상기 제1 공간에 대한 촬영으로 생성된 제1 이미지를 획득하는 단계;
    상기 제1 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계;
    상기 제1 입력 신호를 제1 인공 신경망에 입력하고, 상기 제1 인공 신경망의 입력에 대한 결과에 기초하여, 제1 출력 신호를 획득하는 단계;
    상기 제1 출력 신호를 기초로, 상기 제1 공간에 배치된 냉동식품의 종류 및 수량을 분석하는 단계;
    상기 제1 공간에 배치된 냉동식품의 종류 및 수량을 분석한 결과와 상기 제1 고객의 주문 정보를 비교하여, 상기 제1 공간에 배치된 냉동식품의 종류 및 수량과 상기 제1 고객이 주문한 냉동식품의 종류 및 수량이 일치하는 것으로 확인되면, 상기 제1 고객이 주문한 냉동식품에 대한 픽업 업무가 정상적으로 수행된 것으로 판단하는 단계;
    상기 제1 식품의 크기 및 상기 제1 수량을 고려하여, 상기 제1 공간에 배치된 냉동식품을 포장하기 위한 제1 박스의 크기를 설정하는 단계;
    상기 제1 박스의 크기, 상기 제1 식품의 권장 보관 온도 및 상기 제1 고객이 요청한 배송지를 고려하여, 상기 제1 박스에 투입될 아이스팩의 수량을 설정하는 단계; 및
    상기 설정된 제1 박스의 크기 및 상기 설정된 제1 박스에 투입될 아이스팩의 수량을 이용하여 상기 제1 고객이 주문한 냉동식품에 대한 포장 업무의 수행을 지시하는 알림 메시지를 상기 관리자 단말로 전송하는 단계를 포함하고,
    제1 창고에 보관되어 있는 냉동식품이 고객들에게 배송되는 경우, 제1 창고의 배송 내역에 기초하여, 상기 제1 창고에 보관되어 있는 냉동식품을 포장한 박스들 중 제1 비율의 박스가 제1 택배사를 통해 배송되고 있고 제2 비율의 박스가 제2 택배사를 통해 배송되고 있는 것을 확인하는 단계;
    복수의 택배사 각각의 근무 내역에 기초하여, 택배사 별로 파업 패턴을 분석하는 단계;
    택배사 별로 파업 패턴을 분석한 결과를 기반으로, 상기 제1 택배사가 제1 기간 동안 파업할 것으로 예측되면, 상기 제1 기간에 상기 제1 택배사가 아닌 다른 택배사를 통해 상기 제1 비율의 박스에 대한 배송 처리가 필요한 것으로 판단하는 단계;
    상기 제1 창고의 일일 평균 배송량이 제4 수량으로 확인되고, 상기 제2 택배사의 일일 최대 배송 처리량이 제5 수량으로 확인된 경우, 상기 제5 수량이 상기 제4 수량 보다 많은 것으로 확인되면, 상기 제1 기간에 상기 제1 창고에 보관되어 있는 박스들 중 100%의 박스가 상기 제2 택배사를 통해 배송되도록, 상기 제1 창고의 배송 조건을 설정하는 단계;
    상기 제5 수량이 상기 제4 수량 보다 많지 않은 것으로 확인되면, 예비 택배사로 등록되어 있는 제3 택배사를 확인하고, 상기 제3 택배사의 일일 최대 배송 처리량이 제6 수량으로 확인된 경우, 상기 제5 수량 및 상기 제6 수량을 합산하여 제7 수량을 산출하는 단계;
    상기 제7 수량이 상기 제4 수량 보다 많은 것으로 확인되면, 상기 제5 수량을 상기 제4 수량으로 나눈 값을 통해 제3 비율을 산출하고, 100%에서 상기 제3 비율을 뺀 값으로 제4 비율을 산출하고, 상기 제1 기간에 상기 제1 창고에 보관되어 있는 박스들 중 상기 제3 비율의 박스가 상기 제2 택배사를 통해 배송되고 상기 제4 비율의 박스가 상기 제3 택배사를 통해 배송되도록, 상기 제1 창고의 배송 조건을 설정하는 단계; 및
    상기 제1 창고의 배송 조건에 대한 설정 정보를 상기 관리자 단말로 전송하는 단계를 더 포함하고,
    상기 제1 창고에 상기 제1 식품 및 제2 식품이 보관되어 있는 경우, 상기 제1 식품의 권장 보관 온도인 제1 온도와 상기 제2 식품의 권장 보관 온도인 제2 온도를 확인하고, 상기 제1 온도 및 상기 제2 온도를 비교하여 상기 제1 온도가 상기 제2 온도 보다 더 낮은 온도인 것을 확인하는 단계;
    상기 제1 창고에 보관된 상기 제1 식품의 재고량이 제1 재고량으로 확인되고 상기 제1 창고에 보관된 상기 제2 식품의 재고량이 제2 재고량으로 확인되면, 상기 제1 재고량 및 상기 제2 재고량을 더한 값으로 총합 재고량을 산출하는 단계;
    상기 제1 창고가 복수의 구역으로 구분되어 있는 경우, 복수의 구역 중 어느 하나인 제1 구역의 최대 저장량이 제1 저장량으로 확인된 경우, 상기 제1 저장량이 상기 총합 재고량 보다 많은 것으로 확인되면, 상기 제1 구역의 온도를 상기 제1 온도로 설정하여 상기 제1 재고량의 상기 제1 식품과 상기 제2 재고량의 상기 제2 식품이 상기 제1 구역에 보관되도록, 상기 제1 창고의 보관 조건을 설정하는 단계;
    상기 제1 저장량이 상기 총합 재고량 보다 많지 않은 것으로 확인되면, 복수의 구역 중 다른 하나인 제2 구역의 최대 저장량이 제2 저장량으로 확인된 경우, 상기 제1 저장량이 상기 제1 재고량 보다 많은지 여부와 상기 제2 저장량이 상기 제2 재고량 보다 많은지 여부를 각각 확인하는 단계;
    상기 제1 저장량이 상기 제1 재고량 보다 많으면서 상기 제2 저장량이 상기 제2 재고량 보다 많은 것으로 확인되면, 상기 제1 구역의 온도를 상기 제1 온도로 설정하고 상기 제2 구역의 온도를 상기 제2 온도로 설정하여 상기 제1 재고량의 상기 제1 식품이 상기 제1 구역에 보관되고 상기 제2 재고량의 상기 제2 식품이 상기 제2 구역에 보관되도록, 상기 제1 창고의 보관 조건을 설정하는 단계;
    상기 제1 저장량이 상기 제1 재고량 보다 많지 않으면서 상기 제2 저장량이 상기 제2 재고량 보다 많은 것으로 확인되면, 상기 제1 재고량에서 상기 제1 저장량을 뺀 값으로 제3 재고량을 산출하고, 상기 제1 구역의 온도를 상기 제1 온도로 설정하고 상기 제2 구역의 온도를 상기 제2 온도로 설정하고 복수의 구역 중 또 다른 하나인 제3 구역의 온도를 상기 제1 온도로 설정하여 상기 제1 저장량의 상기 제1 식품이 상기 제1 구역에 보관되고 상기 제2 재고량의 상기 제2 식품이 상기 제2 구역에 보관되고 상기 제3 재고량의 상기 제1 식품이 상기 제3 구역에 보관되도록, 상기 제1 창고의 보관 조건을 설정하는 단계;
    상기 제1 저장량이 상기 제1 재고량 보다 많으면서 상기 제2 저장량이 상기 제2 재고량 보다 많지 않은 것으로 확인되면, 상기 제2 재고량에서 상기 제2 저장량을 뺀 값으로 제4 재고량을 산출하고, 상기 제1 구역의 온도를 상기 제1 온도로 설정하고 상기 제2 구역의 온도를 상기 제2 온도로 설정하고 상기 제3 구역의 온도를 상기 제2 온도로 설정하여 상기 제1 재고량의 상기 제1 식품이 상기 제1 구역에 보관되고 상기 제2 저장량의 상기 제2 식품이 상기 제2 구역에 보관되고 상기 제4 재고량의 상기 제2 식품이 상기 제3 구역에 보관되도록, 상기 제1 창고의 보관 조건을 설정하는 단계;
    상기 제1 저장량이 상기 제1 재고량 보다 많지 않으면서 상기 제2 저장량이 상기 제2 재고량 보다 많지 않은 것으로 확인되면, 상기 제3 재고량 및 상기 제4 재고량을 각각 산출하고, 상기 제1 구역의 온도를 상기 제1 온도로 설정하고 상기 제2 구역의 온도를 상기 제2 온도로 설정하고 상기 제3 구역의 온도를 상기 제1 온도로 설정하여 상기 제1 저장량의 상기 제1 식품이 상기 제1 구역에 보관되고 상기 제2 저장량의 상기 제2 식품이 상기 제2 구역에 보관되고 상기 제3 재고량의 상기 제1 식품과 상기 제4 재고량의 상기 제2 식품이 상기 제3 구역에 보관되도록, 상기 제1 창고의 보관 조건을 설정하는 단계; 및
    상기 제1 창고의 보관 조건에 대한 설정 정보를 상기 관리자 단말로 전송하는 단계를 더 포함하고,
    상기 제1 창고의 입고 내역에 기초하여, 상기 제1 창고에 상기 제1 식품을 입고하는 입고 패턴을 분석하는 단계;
    상기 제1 식품의 입고 패턴에 대한 분석 결과를 제2 인공 신경망에 적용하여, 상기 제2 인공 신경망의 출력을 기초로, 상기 제1 식품의 재고 업데이트 주기인 제1 주기를 설정하는 단계;
    상기 제1 주기마다 상기 제1 창고에 보관되어 있는 상기 제1 식품을 유통기한 별로 분류하여, 상기 제1 식품 중에서 유통기한까지 남아있는 잔여 기간이 가장 짧은 식품들을 제1 그룹으로 분류하는 단계;
    상기 제1 그룹으로 분류된 상기 제1 식품의 재고량을 제5 재고량으로 확인하고, 상기 제1 그룹으로 분류된 상기 제1 식품의 유통기한까지 남아있는 잔여 기간을 제1 잔여 기간으로 확인하는 단계; 및
    상기 제1 잔여 기간이 미리 설정된 기준 기간 보다 짧은 것으로 확인되면, 상기 제1 식품의 재고 중 상기 제5 재고량에 대한 유통기한이 임박한 것을 알려주는 알림 메시지를 상기 관리자 단말로 전송하는 단계를 더 포함하는,
    인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 제1 박스의 크기를 설정하는 단계는,
    상기 제1 식품의 크기가 제1 사이즈로 확인되면, 상기 제1 사이즈의 가로, 세로 및 높이 중 어느 하나와 상기 제1 수량을 곱한 값으로, 상기 제1 사이즈의 값을 변경하여 제2 사이즈를 설정하는 단계;
    상기 제2 사이즈를 기준으로, 미리 정해진 포장 박스의 표준 사이즈 중 어느 사이즈에 가장 적합할 것인지 분석하여, 상기 제2 사이즈가 포장 박스의 표준 사이즈 중 제3 사이즈에 가장 적합한 것을 확인하는 단계; 및
    상기 제3 사이즈를 상기 제1 박스의 크기로 설정하는 단계를 포함하고,
    상기 제1 박스에 투입될 아이스팩의 수량을 설정하는 단계는,
    상기 제1 박스의 크기가 상기 제3 사이즈로 설정되면, 상기 제1 사이즈의 박스에 대한 아이스팩 기본 투입량인 제2 수량을 확인하는 단계;
    상기 제1 식품의 권장 보관 온도가 제1 온도로 확인되면, 0.5부터 1.5까지 범위 내에서 상기 제1 온도가 낮을수록 제1 가중치를 높은 값으로 설정하는 단계;
    상기 제1 고객이 요청한 배송지가 제1 지역 내에 위치하는 경우, 상기 제1 지역의 평균 배송 기간이 제1 일자로 확인되면, 0.5부터 1.5까지 범위 내에서 상기 제1 일자가 길수록 제2 가중치를 높은 값으로 설정하는 단계;
    상기 제2 수량, 상기 제1 가중치 및 상기 제2 가중치를 곱한 값으로 제3 수량을 산출하는 단계; 및
    상기 제3 수량에서 소수점 이하를 올림한 값으로 상기 제1 박스에 투입될 아이스팩의 수량을 설정하는 단계를 포함하는,
    인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법.
  3. 삭제
KR1020230025548A 2023-02-27 2023-02-27 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법, 장치 및 시스템 KR102533258B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230025548A KR102533258B1 (ko) 2023-02-27 2023-02-27 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법, 장치 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230025548A KR102533258B1 (ko) 2023-02-27 2023-02-27 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법, 장치 및 시스템

Publications (1)

Publication Number Publication Date
KR102533258B1 true KR102533258B1 (ko) 2023-05-16

Family

ID=86545764

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230025548A KR102533258B1 (ko) 2023-02-27 2023-02-27 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법, 장치 및 시스템

Country Status (1)

Country Link
KR (1) KR102533258B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102686003B1 (ko) * 2024-01-29 2024-07-17 주식회사 넘버제로 인공지능 기반 신선 식품 물류를 위한 자동 분류 방법, 장치 및 시스템

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005247581A (ja) * 2004-02-03 2005-09-15 Matsushita Electric Ind Co Ltd 冷凍商品の配送方法
KR20120010765A (ko) 2010-07-27 2012-02-06 삼광정보통신(주) 식품 및 온도 이력관리가 가능한 냉장이력 관리 시스템
KR20170129538A (ko) 2016-05-17 2017-11-27 백종만 신선식품 및 냉동식품 보관이 가능한 가맹점 형태의 택배 보관소 운영 시스템
JP2019102071A (ja) * 2017-12-07 2019-06-24 Line株式会社 宅配統合管理のための方法とシステム、非−一時的なコンピュータで読み取り可能な記録媒体
KR102240806B1 (ko) * 2020-11-25 2021-04-15 (주)에이치엔에스커뮤니케이션 송장 정보 인식을 이용한 출고 패킹 관리 방법 및 시스템
KR102307970B1 (ko) 2019-12-17 2021-10-05 문예현 공유냉장고를 이용한 식품 배송 시스템
KR102328081B1 (ko) * 2021-08-26 2021-11-17 (주)보해물류 물류 서비스 관리 시스템 및 방법
KR102411587B1 (ko) * 2021-11-12 2022-06-22 주식회사 파스토 포장박스 추천 방법 및 그 장치
KR20220156365A (ko) 2021-05-18 2022-11-25 박기선 콜드 체인 트래킹 시스템

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005247581A (ja) * 2004-02-03 2005-09-15 Matsushita Electric Ind Co Ltd 冷凍商品の配送方法
KR20120010765A (ko) 2010-07-27 2012-02-06 삼광정보통신(주) 식품 및 온도 이력관리가 가능한 냉장이력 관리 시스템
KR20170129538A (ko) 2016-05-17 2017-11-27 백종만 신선식품 및 냉동식품 보관이 가능한 가맹점 형태의 택배 보관소 운영 시스템
JP2019102071A (ja) * 2017-12-07 2019-06-24 Line株式会社 宅配統合管理のための方法とシステム、非−一時的なコンピュータで読み取り可能な記録媒体
KR102307970B1 (ko) 2019-12-17 2021-10-05 문예현 공유냉장고를 이용한 식품 배송 시스템
KR102240806B1 (ko) * 2020-11-25 2021-04-15 (주)에이치엔에스커뮤니케이션 송장 정보 인식을 이용한 출고 패킹 관리 방법 및 시스템
KR20220156365A (ko) 2021-05-18 2022-11-25 박기선 콜드 체인 트래킹 시스템
KR102328081B1 (ko) * 2021-08-26 2021-11-17 (주)보해물류 물류 서비스 관리 시스템 및 방법
KR102411587B1 (ko) * 2021-11-12 2022-06-22 주식회사 파스토 포장박스 추천 방법 및 그 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102686003B1 (ko) * 2024-01-29 2024-07-17 주식회사 넘버제로 인공지능 기반 신선 식품 물류를 위한 자동 분류 방법, 장치 및 시스템

Similar Documents

Publication Publication Date Title
KR102404511B1 (ko) 인공지능 기반 사용자 맞춤형 상품 정보 추천 방법, 장치 및 시스템
KR102554580B1 (ko) 인공지능 모델 기반 식자재 및 부자재의 유통 주문 히스토리의 패턴 분석을 통한 물류 창고의 안전 재고량의 추정 및 주문 알람 서비스 제공 방법, 장치 및 시스템
KR102546871B1 (ko) 인공지능 모델 기반 b2b 식자재 및 부자재의 유통의 주문 히스토리의 패턴 분석을 통한 주문 정보 추천 방법, 장치 및 시스템
KR102551997B1 (ko) 콘텐츠 시청 성향 분석 기반 광고 콘텐츠 기획 자동화 및 커머스 플랫폼 서비스 제공 방법, 장치 및 시스템
KR102531879B1 (ko) 인공지능 기반 기업용 전자 장비의 유지 보수를 위한 이벤트 발생 예측 및 모니터링 방법, 장치 및 시스템
KR102508232B1 (ko) 인공지능 기반 마트 운영을 위한 재고의 유통관리 방법, 장치 및 시스템
KR102553041B1 (ko) 인공지능 모델 기반 사용자 및 인테리어 공급자 매칭 플랫폼 서비스 제공 방법, 장치 및 시스템
KR102499234B1 (ko) 인공지능 기반 배달기사 배차 방법, 장치 및 시스템
Caicedo-Torres et al. A machine learning model for occupancy rates and demand forecasting in the hospitality industry
Bousqaoui et al. Machine learning applications in supply chains: Long short-term memory for demand forecasting
KR102533442B1 (ko) 인공지능 모델을 기반으로 온라인 판매를 위한 제품 기획 및 마케팅 전략 도출 방법, 장치 및 시스템
Hicham et al. Comparative study of neural networks algorithms for cloud computing CPU scheduling
KR102601446B1 (ko) 인공지능 모델을 활용한 인플루언서 기반 판매 제품매칭 플랫폼 서비스 제공 방법, 장치 및 시스템
KR102552856B1 (ko) 커머스 연계 콘텐츠 제공 플랫폼 서비스를 위한 키워드 추출 및 콘텐츠 템플릿 생성 자동화 방법, 장치 및 시스템
KR102615605B1 (ko) 사용자 상호 작용 기반 스타일링 추천 및 라이프스타일아이템 판매 플랫폼 서비스 제공 방법, 장치 및 시스템
KR102447426B1 (ko) 초개인화를 위한 퍼스널 컬러와 타임라인 기반 행동 데이터를 분석하여 라이프스타일 가이드 정보를 추천하는 방법, 장치 및 시스템
KR102612058B1 (ko) 인공지능 모델 기반 불량률 예측을 통한 스마트 팩토리 운용 방법, 장치 및 시스템
KR102536063B1 (ko) 인공지능 기반 기업용 매출 및 매입 정산 솔루션 제공 방법, 장치 및 시스템
KR102426803B1 (ko) 인공지능 기반 제품의 해외 판매 페이지 자동 업로드 방법, 장치 및 시스템
KR102530527B1 (ko) 건강 정보 기반 식당 추천 서비스 제공 방법, 장치 및 시스템
KR102474974B1 (ko) 인공지능 기반 브랜드 분석 방법, 장치 및 시스템
KR102551298B1 (ko) 건물 관리를 위한 인력 배정 자동화 및 평가 방법, 장치 및 시스템
KR102498780B1 (ko) 인공지능 모델을 활용한 수출입 항공 물류를 위한 자동 주문 처리 방법, 장치 및 시스템
KR102533258B1 (ko) 인공 신경망을 활용한 냉동식품의 효율적인 물류 서비스 제공 방법, 장치 및 시스템
KR102508648B1 (ko) 전기 및 소방 설비의 오동작 판단을 기반으로 한 비상상황 모니터링 방법, 장치 및 시스템

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant