KR102249151B1 - Method for arranging goods, computing system and program using the same - Google Patents

Method for arranging goods, computing system and program using the same Download PDF

Info

Publication number
KR102249151B1
KR102249151B1 KR1020180068150A KR20180068150A KR102249151B1 KR 102249151 B1 KR102249151 B1 KR 102249151B1 KR 1020180068150 A KR1020180068150 A KR 1020180068150A KR 20180068150 A KR20180068150 A KR 20180068150A KR 102249151 B1 KR102249151 B1 KR 102249151B1
Authority
KR
South Korea
Prior art keywords
sets
product
product placement
products
parent
Prior art date
Application number
KR1020180068150A
Other languages
Korean (ko)
Other versions
KR102249151B9 (en
KR20190141420A (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 KR1020180068150A priority Critical patent/KR102249151B1/en
Publication of KR20190141420A publication Critical patent/KR20190141420A/en
Application granted granted Critical
Publication of KR102249151B1 publication Critical patent/KR102249151B1/en
Publication of KR102249151B9 publication Critical patent/KR102249151B9/en

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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing

Abstract

본 발명의 실시 예에 따른 상품 배치 방법은 각각이 배치하고자 하는 상품들의 상품 배치 정보를 포함하는 복수의 부모세대 상품배치세트들에 유전자 알고리즘(genetic algorithm)을 적용하여 자식세대 상품배치세트들을 생성하는 단계, 상기 자식세대 상품배치세트들 각각에 포함된 상품들 중에서 인접한 상품 간의 배치를 순차적으로 교환하는 국소 탐색(local search)을 수행함으로써, 상기 상품들의 교차 판매율, 교차 판매의 빈도값, 및 교차 판매로 인한 이익값에 기초한 목적함수 값이 최대값을 가지는 지역 최적화 상품배치세트들 각각을 생성하는 단계 및 생성된 지역 최적화 상품배치세트들에 기초하여, 최적의 상품 배치를 결정하는 단계를 포함한다.The product placement method according to an embodiment of the present invention generates child generation product placement sets by applying a genetic algorithm to a plurality of parent generation product placement sets each including product placement information of products to be placed. Step, By performing a local search for sequentially exchanging arrangements between adjacent products among products included in each of the child generation product arrangement sets, the cross-selling rate of the products, the frequency value of cross-selling, and the cross-selling And generating each of the regionally optimized product arrangement sets having a maximum value of the objective function based on the profit value due to and determining an optimal product arrangement based on the generated regionally optimized product arrangement sets.

Description

상품 배치 방법, 이를 이용하는 컴퓨팅 시스템, 및 프로그램{METHOD FOR ARRANGING GOODS, COMPUTING SYSTEM AND PROGRAM USING THE SAME}Product arrangement method, computing system using the same, and program {METHOD FOR ARRANGING GOODS, COMPUTING SYSTEM AND PROGRAM USING THE SAME}

본 발명의 기술적 사상은 상품 배치 방법, 이를 이용하는 컴퓨팅 시스템, 및 프로그램에 관한 것으로, 보다 상세하게는 상품배치정보를 포함하는 상품배치세트들에 유전자 알고리즘(genetic algorithm)과 국소 탐색(local search)을 함께 적용하여 도출된 상품배치세트들의 목적함수 값에 따라 최적의 상품 배치를 결정하는 상품 배치 방법, 이를 이용하는 컴퓨팅 시스템, 및 프로그램에 관한 것이다.The technical idea of the present invention relates to a product arrangement method, a computing system using the same, and a program, and more particularly, a genetic algorithm and a local search are applied to product arrangement sets including product arrangement information. The present invention relates to a product arrangement method for determining an optimal product arrangement according to the objective function values of product arrangement sets derived by applying together, a computing system using the same, and a program.

온/오프라인 매장에는 다양한 상품들이 배치되어 판매된다. 구매자는 여러 상품들을 구매함에 있어서 특징적인 패턴을 보이며, 판매자는 이러한 패턴을 분석함으로써 상품판매를 극대화할 수 있는 상품 배치를 고민한다.Various products are arranged and sold in online/offline stores. The buyer shows a characteristic pattern when purchasing several products, and the seller considers product placement that can maximize product sales by analyzing these patterns.

교차판매율은 여러 상품들을 구매함에 있어서 보이는 상품간의 상관관계를 나타내는 하나의 지표이며, 두 상품이 함께 판매될 확률을 의미할 수도 있다.The cross-selling rate is an index representing the correlation between products seen in purchasing multiple products, and may also mean the probability that two products will be sold together.

교차판매율을 고려하여 상품을 배치하는 경우 구매자는 구매할 잠재적 의사는 있었으나 구매하지 않았던 상품들을 추가로 구매할 수 있으며, 이에 따라 상품판매가 극대화될 수 있다.
(특허문헌 1) JP2010-152504 A (2010.07.08)
In the case of arranging products in consideration of the cross-selling rate, the purchaser may additionally purchase products that were not purchased, although the purchaser had a potential intention to purchase, thereby maximizing product sales.
(Patent Document 1) JP2010-152504 A (2010.07.08)

본 발명의 기술적 사상이 이루고자 하는 과제는 상품배치정보를 포함하는 상품배치세트들에 유전자 알고리즘(genetic algorithm)과 국소 탐색(local search)을 함께 적용하여 도출된 상품배치세트들의 목적함수 값에 따라 최적의 상품 배치를 결정하는 상품 배치 방법, 이를 이용하는 컴퓨팅 시스템, 및 프로그램을 제공하는 것이다.The task to be achieved by the technical idea of the present invention is optimal according to the value of the objective function of the product placement sets derived by applying a genetic algorithm and a local search together to product placement sets including product placement information. It is to provide a product placement method, a computing system using the same, and a program for determining product placement of the product.

본 발명의 기술적 사상에 의한 일 양태에 따른 상품 배치 방법은 각각이 배치하고자 하는 상품들의 상품 배치 정보를 포함하는 복수의 부모세대 상품배치세트들에 유전자 알고리즘(genetic algorithm)을 적용하여 자식세대 상품배치세트들을 생성하는 단계, 상기 자식세대 상품배치세트들 각각에 포함된 상품들 중에서 인접한 상품 간의 배치를 순차적으로 교환하는 국소 탐색(local search)을 수행함으로써, 상기 상품들의 교차 판매율, 교차 판매의 빈도값, 및 교차 판매로 인한 이익값에 기초한 목적함수 값이 국소 탐색의 범위 내에서 최대값을 가지는 지역 최적화 상품배치세트들 각각을 생성하는 단계 및 생성된 지역 최적화 상품배치세트들에 기초하여, 최적의 상품 배치를 결정하는 단계를 포함할 수 있다According to the technical idea of the present invention, a product arrangement method according to an aspect of the present invention applies a genetic algorithm to a plurality of parent generation product arrangement sets including product arrangement information of each product to be arranged to place child generation products. Creating sets, by performing a local search for sequentially exchanging arrangements between adjacent products among products included in each of the child generation product arrangement sets, the cross-selling rate of the products, the frequency value of the cross-selling , And the step of generating each of the regionally optimized product arrangement sets, and the objective function value based on the profit value due to cross-selling has a maximum value within the range of the local search, and based on the generated regionally optimized product arrangement sets, the optimal It may include the step of determining product placement.

예시적인 실시 예에 따르면, 상기 상품 배치 방법은, 상기 유전자 알고리즘을 적용하여 자식세대 상품배치세트들을 생성하는 단계 이전에, 배치하고자 하는 상품들의 임의의 상품 배치 정보를 포함하는 복수의 초기 상품배치세트들을 생성하는 단계 및 생성된 상기 복수의 초기 상품배치세트들 각각에 대하여 상기 국소 탐색을 수행함으로써, 상기 복수의 초기 상품배치세트들 각각에 포함된 상품들의 상기 목적함수 값이 국소 탐색의 범위 내에서 최대값을 가지는 상기 부모세대 상품배치세트들 각각을 생성하는 단계를 포함할 수 있다.According to an exemplary embodiment, the product placement method includes a plurality of initial product placement sets including arbitrary product placement information of products to be placed before the step of generating child generation product placement sets by applying the genetic algorithm. By performing the local search for each of the plurality of initial product placement sets generated, the objective function values of the products included in each of the plurality of initial product placement sets are within the range of the local search. It may include the step of generating each of the parent-generation product arrangement sets having a maximum value.

예시적인 실시 예에 따르면, 상기 유전자 알고리즘을 적용하여 자식세대 상품배치세트들을 생성하는 단계는, 상기 복수의 부모세대 상품배치세트들을 상기 목적함수 값에 따라 배열하는 단계, 배열된 순서에 기초하여 상기 복수의 부모세대 상품배치세트들 중에서 상기 유전자 알고리즘을 적용할 부모세대 상품배치세트들을 선택하는 단계 및 선택된 상기 부모세대 상품배치세트들에 상기 유전자 알고리즘을 적용하여 상기 자식세대 상품배치세트들을 생성하는 단계를 포함할 수 있다.According to an exemplary embodiment, the generating of child generation product placement sets by applying the genetic algorithm comprises: arranging the plurality of parent generation product placement sets according to the objective function value, based on the arranged order. Selecting parent-generation product placement sets to which the genetic algorithm is applied from among a plurality of parent-generation product placement sets, and generating the child generation product placement sets by applying the genetic algorithm to the selected parent-generation product placement sets It may include.

예시적인 실시 예에 따르면, 상기 유전자 알고리즘을 적용할 부모세대 상품배치세트들을 선택하는 단계는, 배열된 순서에 기초하여 적어도 3개 이상의 부모세대 상품배치세트들을 임의로 선택하여 후보군들 각각에 포함시키는 단계, 상기 후보군 별로 상기 목적함수 값이 큰 상위 2개의 부모세대 상품배치세트들을 상기 유전자 알고리즘을 적용할 부모세대 상품배치세트들로 선택하는 단계를 포함할 수 있다.According to an exemplary embodiment, the selecting of the parent generation product placement sets to which the genetic algorithm is applied includes randomly selecting at least three parent generation product placement sets based on the arranged order and including them in each of the candidate groups. And selecting the top two parent-generation product placement sets for each of the candidate groups having the higher objective function value as parent-generation product placement sets to which the genetic algorithm is to be applied.

예시적인 실시 예에 따르면, 상기 유전자 알고리즘을 적용하여 자식세대 상품배치세트들을 생성하는 단계는, 상기 복수의 부모세대 상품배치세트들 중에서 상기 목적함수 값이 가장 큰 상위 2N(상기 N은 자연수)개의 부모세대 상품배치세트들은 상기 유전자 알고리즘의 적용 없이 상기 자식세대 상품배치세트들로 선택하는 단계를 포함할 수 있다.According to an exemplary embodiment, the step of generating child generation product placement sets by applying the genetic algorithm may include, among the plurality of parent generation product placement sets, the highest 2N (where N is a natural number) the highest objective function value. The parent generation product placement sets may include selecting the child generation product placement sets without applying the genetic algorithm.

예시적인 실시 예에 따르면, 상기 상품 배치 방법은, 상기 자식세대 상품배치세트들의 개수가 상기 복수의 초기 상품배치세트들의 개수와 동일해질 때까지 상기 자식세대 상품배치세트들을 생성하는 단계를 반복 수행할 수 있다.According to an exemplary embodiment, the product placement method repeats the step of generating the child generation product placement sets until the number of the child generation product placement sets becomes the same as the number of the plurality of initial product placement sets. I can.

예시적인 실시 예에 따르면, 상기 최적의 상품 배치를 결정하는 단계는, 상기 지역 최적화 상품배치세트들 중에서 상기 목적함수의 값이 가장 큰 지역 최적화 상품배치세트를 기초로 상기 최적의 상품 배치를 결정할 수 있다.According to an exemplary embodiment, the determining of the optimal product arrangement may include determining the optimal product arrangement based on a region optimized product arrangement set having the largest value of the objective function among the region optimized product arrangement sets. have.

예시적인 실시 예에 따르면, 상기 부모세대 상품배치세트들 각각은, 배치하고자 하는 상품들의 다차원 상품 배치 정보를 매트릭스 형태로 포함할 수 있다.According to an exemplary embodiment, each of the parent generation product arrangement sets may include multidimensional product arrangement information of products to be arranged in a matrix form.

예시적인 실시 예에 따르면, 상기 유전자 알고리즘을 적용하여 상기 자식세대 상품배치세트들을 생성하는 단계는, 선택된 상기 복수의 부모세대 상품배치세트들에 대하여 다차원 교차 연산을 수행하는 단계를 포함할 수 있다.According to an exemplary embodiment, generating the child generation product placement sets by applying the genetic algorithm may include performing a multidimensional cross operation on the selected plurality of parent generation product placement sets.

예시적인 실시 예에 따르면, 상기 다차원 교차 연산은, RPMX(Rectangular Partially Matched Crossover) 연산일 수 있다.According to an exemplary embodiment, the multidimensional crossover operation may be an RPMX (Rectangular Partially Matched Crossover) operation.

예시적인 실시 예에 따르면, 상기 RPMX 연산은, 사각형의 교차 영역을 기준으로 교차 연산을 수행할 수 있다.According to an exemplary embodiment, the RPMX operation may perform a cross operation based on a rectangular cross region.

예시적인 실시 예에 따르면, 상기 RPMX 연산에서의 교차비율은 상기 RPMX 연산에 사용되는 부모세대 상품배치세트들 각각의 상기 목적함수 값의 크기에 따라 결정될 수 있다.According to an exemplary embodiment, the crossing ratio in the RPMX operation may be determined according to the size of the objective function value of each of the parent generation product batch sets used in the RPMX operation.

예시적인 실시 예에 따르면, 상기 유전자 알고리즘을 적용하여 상기 자식세대 상품배치세트들을 생성하는 단계는, 상기 다차원 교차 연산이 수행된 이후에, 상기 다차원 교차 연산이 수행된 부모세대 상품배치세트들에 대하여 스크램블 변이(scramble mutation)를 수행하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the step of generating the child generation product batch sets by applying the genetic algorithm includes, after the multidimensional cross operation is performed, the parent generation product batch sets on which the multidimensional cross operation is performed. It may further include performing a scramble mutation (scramble mutation).

본 발명의 기술적 사상에 의한 일 양태에 따른 컴퓨팅 시스템은 각각이 배치하고자 하는 상품들의 상품 배치 정보를 포함하는 복수의 부모세대 상품배치세트들에 유전자 알고리즘(genetic algorithm)을 적용하여 자식세대 상품배치세트들을 생성하는 유전자 알고리즘 연산 모듈, 상기 자식세대 상품배치세트들 각각에 포함된 상품들 중에서 인접한 상품 간의 배치를 순차적으로 교환하는 국소 탐색(local search)을 수행함으로써, 상기 상품들의 교차 판매율, 교차 판매의 빈도값, 및 교차 판매로 인한 이익값에 기초한 목적함수 값이 국소 탐색의 범위 내에서 최대값을 가지는 지역 최적화 상품배치세트들 각각을 생성하는 국소 탐색 모듈 및 생성된 지역 최적화 상품배치세트들에 기초하여, 최적의 상품 배치를 결정하는 상품 배치 모듈을 포함할 수 있다.A computing system according to an aspect according to the technical idea of the present invention applies a genetic algorithm to a plurality of parent-generation product arrangement sets including product arrangement information of each product to be arranged to provide a child generation product arrangement set. Genetic algorithm operation module that generates the product, by performing a local search that sequentially exchanges the arrangements between adjacent products among products included in each of the child generation product arrangement sets, the cross-selling rate and cross-selling of the products The frequency value and the objective function value based on the profit value from cross-selling are based on a local search module that generates each of the regionally optimized product arrangement sets and the generated regionally optimized product arrangement sets having the maximum value within the range of the local search. Thus, it may include a product placement module that determines the optimal product placement.

본 발명의 기술적 사상에 의한 일 양태에 따른 프로세서(processor)와 결합되어 상품 배치 방법을 수행하기 위한 매체에 저장된 프로그램은 각각이 배치하고자 하는 상품들의 상품 배치 정보를 포함하는 복수의 부모세대 상품배치세트들에 유전자 알고리즘(genetic algorithm)을 적용하여 자식세대 상품배치세트들을 생성하는 단계, 상기 자식세대 상품배치세트들 각각에 포함된 상품들 중에서 인접한 상품 간의 배치를 순차적으로 교환하는 국소 탐색(local search)을 수행함으로써, 상기 상품들의 교차 판매율, 교차 판매의 빈도값, 및 교차 판매로 인한 이익값에 기초한 목적함수 값이 국소 탐색의 범위 내에서 최대값을 가지는 지역 최적화 상품배치세트들 각각을 생성하는 단계 및 생성된 지역 최적화 상품배치세트들에 기초하여, 최적의 상품 배치를 결정하는 단계를 수행하는 프로그램 코드를 포함할 수 있다.A program stored in a medium for performing a product placement method combined with a processor according to an aspect according to the technical idea of the present invention is a plurality of parent-generation product placement sets each including product placement information of the products to be placed. Generating child generation product placement sets by applying a genetic algorithm to each field, local search for sequentially exchanging placements between adjacent products among products included in each of the child generation product placement sets By performing the cross-selling rate of the products, the frequency value of the cross-selling, and the step of generating each of the regional optimized product placement sets having a maximum value within the range of the local search objective function value based on the profit value due to the cross-selling. And a program code for performing the step of determining an optimal product arrangement based on the generated regional optimized product arrangement sets.

본 발명의 실시 예에 따른 방법과 장치는 상품배치세트들에 유전자 알고리즘(genetic algorithm)과 국소 탐색(local search)을 함께 적용하여 도출된 상품배치세트들의 목적함수 값에 따라 최적의 상품 배치를 결정함으로써 상품판매를 극대화 할 수 있는 상품 배치를 찾아낼 수 있는 효과가 있다.The method and apparatus according to an embodiment of the present invention determine the optimal product arrangement according to the value of the objective function of the product arrangement sets derived by applying a genetic algorithm and a local search to the product arrangement sets together. By doing so, it has the effect of finding a product arrangement that can maximize product sales.

또한, 본 발명의 실시 예에 따른 방법과 장치는 교차 판매를 통한 이익과 교차 판매의 빈도를 고려한 목적함수를 사용함으로써, 상품판매의 극대화를 넘어서 상품판매에 따른 판매이익을 극대화할 수 있는 상품 배치를 찾아낼 수 있는 효과가 있다.In addition, the method and apparatus according to an embodiment of the present invention uses an objective function that considers the frequency of cross-selling and profit through cross-selling, thereby maximizing the sales profit of product sales beyond the maximization of product sales. There is an effect that can be found.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 컴퓨팅 시스템의 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 상품 배치 방법의 플로우차트이다.
도 3은 본 발명의 일 실시 예에 따른 초기 상품배치세트를 나타낸 도면이다.
도 4는 도 3의 초기 상품배치세트를 토대로 국소 탐색을 수행함으로써 생성된 부모세대 상품배치세트의 일 예시를 나타낸 도면이다.
도 5와 도 6은 도 4의 부모세대 상품배치세트들에 유전자 알고리즘을 적용하여 자식세대 상품배치세트들을 생성하는 과정을 나타낸 도면이다.
A brief description of each drawing is provided in order to more fully understand the drawings cited in the detailed description of the present invention.
1 is a block diagram of a computing system according to an embodiment of the present invention.
2 is a flowchart of a product arrangement method according to an embodiment of the present invention.
3 is a diagram showing an initial product arrangement set according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating an example of a parent generation product placement set generated by performing a local search based on the initial product placement set of FIG. 3.
5 and 6 are diagrams illustrating a process of generating child generation product placement sets by applying a genetic algorithm to the parent generation product placement sets of FIG. 4.

본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The technical idea of the present invention is that various changes may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and will be described in detail through a detailed description. However, this is not intended to limit the technical idea of the present invention to a specific embodiment, it should be understood to include all changes, equivalents, and substitutes included in the scope of the technical idea of the present invention.

본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the technical idea of the present invention, if it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, numbers (eg, first, second, etc.) used in the description of the present specification are merely identification symbols for distinguishing one component from other components.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in the present specification, when one component is referred to as "connected" or "connected" to another component, the one component may be directly connected or directly connected to the other component, but specially It should be understood that as long as there is no opposite substrate, it may be connected or may be connected via another component in the middle.

또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processer), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Drive Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있으며, 적어도 하나의 기능이나 동작의 처리에 필요한 데이터를 저장하는 메모리(memory)와 결합되는 형태로 구현될 수도 있다. In addition, terms such as "~ unit", "~ group", "~ character", and "~ module" described in the present specification mean a unit that processes at least one function or operation, which is a processor or a microcomputer. Processor (Micro Processer), Micro Controller, CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerate Processor Unit), DSP (Drive Signal Processor), ASIC (Application Specific Integrated Circuit), FPGA It may be implemented in hardware or software such as (Field Programmable Gate Array), or a combination of hardware and software, and may be implemented in a form combined with a memory that stores data necessary for processing at least one function or operation. .

그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.In addition, it is intended to clarify that the division of the constituent parts in the present specification is only divided by the main function that each constituent part is responsible for. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more for each more subdivided function. In addition, each of the constituent units to be described below may additionally perform some or all of the functions of other constituent units in addition to its own main function, and some of the main functions of each constituent unit are different. It goes without saying that it can also be performed exclusively by.

이하, 본 발명의 기술적 사상에 따른 실시 예들을 차례로 상세히 설명한다.Hereinafter, embodiments according to the technical idea of the present invention will be described in detail in order.

도 1은 본 발명의 일 실시 예에 따른 컴퓨팅 시스템의 블록도이다.1 is a block diagram of a computing system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 컴퓨팅 시스템(100)은 초기 상품배치세트 생성 모듈(110), 유전자 알고리즘 연산 모듈(120), 국소 탐색 모듈(130), 목적함수 계산 모듈(140), 및 메모리(150)를 포함할 수 있다.1, a computing system 100 according to an embodiment of the present invention includes an initial product placement set generation module 110, a genetic algorithm calculation module 120, a local search module 130, and an objective function calculation module ( 140), and a memory 150.

컴퓨팅 시스템(100)은 상품을 판매하기 위한 온/오프라인 매장에서 상품을 배치할 때 최적의 상품 배치를 결정하기 위한 연산을 수행할 수 있다.The computing system 100 may perform an operation to determine an optimal product arrangement when placing products in an on/offline store for selling products.

실시 예에 따라, 컴퓨팅 시스템(100) 내의 데이터 처리과정은 컴퓨팅 시스템(100)에 포함된 하드웨어(hardware), 예컨대, 메모리(150)와 프로세서(processor; 미도시)를 기반으로 수행될 수 있다. 이 때, 초기 상품배치세트 생성모듈(110), 유전자 알고리즘 연산 모듈(120), 국소 탐색 모듈(130), 및 목적함수 계산 모듈(140)은 상기 프로세서의 일부 기능으로 구현될 수 있다. 예컨대, 본 발명의 실시 예에 따른 상품 배치 방법은 프로그램 코드로 구현되어 메모리(150)에 저장될 수 있으며, 메모리(150)는 상기 프로세서와 결합되어 본 발명의 실시 예에 따른 상품 배치 방법을 수행시킬 수 있다.According to an embodiment, a data processing process in the computing system 100 may be performed based on hardware included in the computing system 100, for example, a memory 150 and a processor (not shown). In this case, the initial product placement set generation module 110, the genetic algorithm calculation module 120, the local search module 130, and the objective function calculation module 140 may be implemented as some functions of the processor. For example, the product arrangement method according to the embodiment of the present invention may be implemented as a program code and stored in the memory 150, and the memory 150 is combined with the processor to perform the product arrangement method according to an embodiment of the present invention. I can make it.

초기 상품배치세트 생성 모듈(110)은 배치하고자 하는 상품들의 임의의 상품 배치 정보를 포함하는 복수의 초기 상품배치세트들을 생성할 수 있다. The initial product arrangement set generation module 110 may generate a plurality of initial product arrangement sets including arbitrary product arrangement information of products to be arranged.

실시 예에 따라, 초기 상품배치세트 생성 모듈(110)은 배치하고자 하는 상품들에 대한 정보를 사용자 입력 또는 메모리(150)로부터 전달받을 수 있다. 이 경우, 초기 상품배치세트 생성 모듈(110)은 전달된 상품들에 대한 정보를 배치 하고자 하는 다차원 공간에 무작위로 배치함으로써, 복수의 초기 상품배치세트들을 생성할 수 있다. 생성된 복수의 초기 상품배치세트들은 부모세대 상품배치세트로서 유전자 알고리즘 연산 모듈(120)로 입력될 수 있다.According to an exemplary embodiment, the initial product placement set generation module 110 may receive information on products to be disposed from a user input or the memory 150. In this case, the initial product arrangement set generation module 110 may generate a plurality of initial product arrangement sets by randomly arranging information on the delivered products in a multidimensional space to be arranged. The generated plurality of initial product arrangement sets may be input to the genetic algorithm calculation module 120 as parent generation product arrangement sets.

다른 실시 예에 따라, 초기 상품배치세트 생성 모듈(110)은 복수의 초기 상품배치세트들을 국소 탐색 모듈(130)로 전달하고, 국소 탐색 모듈(130)은 유전자 알고리즘 연산 모듈(120)로 입력될 복수의 부모세대 상품배치세트들을 생성할 수 있다. 이 경우, 국소 탐색 모듈(130)은 복수의 초기 상품배치세트들 각각에 대하여 국소 탐색을 수행함으로써, 복수의 초기 상품 배치세트들 각각에 포함된 상품들의 목적함수 값이 국소 탐색 범위 내에서 최대값을 가지는 복수의 부모세대 상품배치세트들을 생성할 수 있다.According to another embodiment, the initial product placement set generation module 110 transfers a plurality of initial product placement sets to the local search module 130, and the local search module 130 is input to the genetic algorithm calculation module 120. A plurality of parent generation product placement sets can be created. In this case, the local search module 130 performs a local search for each of the plurality of initial product arrangement sets, so that the objective function values of the products included in each of the plurality of initial product arrangement sets are the maximum values within the local search range. It is possible to create a plurality of parent-generation product placement sets having a.

유전자 알고리즘 연산 모듈(120)은 각각이 배치하고자 하는 상품들의 상품 배치 정보를 포함하는 복수의 부모세대 상품배치세트들에 유전자 알고리즘(genetic algorithm)을 적용하여 자식세대 상품배치세트들을 생성할 수 있다.The genetic algorithm calculation module 120 may generate child generation product placement sets by applying a genetic algorithm to a plurality of parent generation product placement sets each including product placement information of products to be placed.

실시 예에 따라, 복수의 부모세대 상품배치세트들은 초기 상품배치세트 생성 모듈(110)에 의해 생성된 초기 상품배치세트들과 동일할 수 있다.According to an embodiment, the plurality of parent-generation product placement sets may be the same as the initial product placement sets generated by the initial product placement set generation module 110.

다른 실시 예에 따라, 복수의 부모세대 상품배치세트들은 국소 탐색 모듈(130)에 의해 초기 상품배치세트들 각각에 대하여 국소 탐색된 결과에 따른 상품배치세트들일 수 있다.According to another embodiment, the plurality of parent-generation product placement sets may be product placement sets based on a result of a local search for each of the initial product placement sets by the local search module 130.

유전자 알고리즘 연산 모듈(120)은 선택부(122), 교차 연산부(124), 및 변이 연산부(126)를 포함할 수 있다.The genetic algorithm operation module 120 may include a selection unit 122, a cross operation unit 124, and a mutation operation unit 126.

선택부(122)는 입력된 복수의 부모세대 상품배치세트들 중에 해당 회차에서 유전자 알고리즘을 적용할 부모세대 상품배치세트들을 선택할 수 있다.The selection unit 122 may select parent generation product placement sets to which the genetic algorithm is applied in a corresponding round from among the input plurality of parent generation product placement sets.

실시 예에 따라, 선택부(122)는 복수의 부모세대 상품배치세트들 중에서 해당 회차에서 유전자 알고리즘을 적용할 적어도 2개의 부모세대 상품배치세트들을 선택할 수 있다.According to an embodiment, the selection unit 122 may select at least two parent generation product placement sets to which a genetic algorithm is applied in a corresponding round from among a plurality of parent generation product placement sets.

실시 예에 따라, 선택부(122)는 복수의 부모세대 상품배치세트들을 목적함수 계산 모듈(140)에 의해 계산된 목적함수 값에 따라 배열하고, 배열된 순서에 기초하여 복수의 부모세대 상품배치세트들을 선택할 수 있다.According to an embodiment, the selection unit 122 arranges a plurality of parent household product placement sets according to an objective function value calculated by the objective function calculation module 140, and arranges a plurality of parent household products based on the arranged order. You can select sets.

다른 실시 예에 따라, 선택부(122)는 적어도 3개 이상의 부모세대 상품배치세트들을 임의로 선택하여 후보군들 각각에 포함시킬 수 있다. 선택부(122)는 상기 후보군 별로 목적함수 값이 큰 상위 2개의 부모세대 상품배치세트들을 해당 회차에서 유전자 알고리즘을 적용할 부모세대 상품배치세트들로 선택할 수 있다.According to another embodiment, the selection unit 122 may randomly select at least three or more parent-generation product placement sets and include them in each of the candidate groups. The selection unit 122 may select the parent generation product placement sets to which the genetic algorithm is applied in the corresponding round as the top two parent generation product placement sets having a large objective function value for each candidate group.

또 다른 실시 예에 따라, 선택부(122)는 복수의 부모세대 상품배치세트들 중에서 목적함수 계산 모듈(140)에 의해 계산된 목적함수 값이 큰 상위 2N(상기 N은 자연수)개의 부모세대 상품배치세트들은 유전자 알고리즘의 적용 없이 자식세대 상품배치세트들로 선택할 수 있다.According to another embodiment, the selection unit 122 is the top 2N (where N is a natural number) parent-generation products having a large objective function value calculated by the objective function calculation module 140 among a plurality of parent-generation product placement sets. Batch sets can be selected as child generation product batch sets without the application of genetic algorithms.

교차 연산부(124)는 선택부(122)에 의해 선택된 부모세대 상품배치세트들에 대하여 교차 연산을 수행할 수 있다.The cross operation unit 124 may perform a cross operation on the parent generation product placement sets selected by the selection unit 122.

실시 예에 따라, 부모세대 상품배치세트들 각각이 다차원 공간에 대한 상품 배치 정보를 포함하고 있는 경우, 교차 연산부(124)는 다차원 교차 연산을 수행할 수 있다.According to an embodiment, when each of the parent generation product placement sets includes product placement information for a multidimensional space, the cross operation unit 124 may perform a multidimensional cross operation.

예컨대, 부모세대 상품배치세트들 각각이 2차원 공간에 대한 상품 배치 정보를 포함하고, 부모세대 상품배치세트들 각각이 2차원 매트릭스 형태로 구성되는 경우, 다차원 교차 연산은 RPMX(Rectangular Partially Matched Crossover) 연산일 수 있다. 상기 RPMX 연산의 상세한 과정에 대해서는 도 5와 도 6을 참조하여 후술하도록 한다.For example, when each of the parent generation product placement sets includes product placement information in a two-dimensional space, and each of the parent generation product placement sets is configured in a 2D matrix form, the multidimensional crossover operation is RPMX (Rectangular Partially Matched Crossover). It can be an operation. A detailed process of the RPMX operation will be described later with reference to FIGS. 5 and 6.

변이 연산부(126)는 교차 연산부(124)에 의해 교차 연산된 부모세대 상품배치세트들 각각에 대하여 변이(mutation)를 수행할 수 있다.The mutation operation unit 126 may perform a mutation on each of the parent generation product batch sets cross-calculated by the cross operation unit 124.

실시 예에 따라, 변이 연산부(126)는 교차 연산부(124)에 의해 교차 연산된 부모세대 상품배치세트들 각각에 대하여 스크램블 변이(scramble mutation)를 수행할 수 있다.According to an embodiment, the mutation operation unit 126 may perform a scramble mutation on each of the parent generation product batch sets that are cross-calculated by the cross operation unit 124.

유전자 알고리즘 연산 모듈(120)은 선택부(122)의 선택 과정, 교차 연산부(124)의 교차 연산 과정, 및 변이 연산부(126)의 변이 연산 과정 중 적어도 어느 하나의 연산 과정을 포함하는 유전자 알고리즘을 부모세대 상품배치세트들에 적용할 수 있다.The genetic algorithm operation module 120 includes a genetic algorithm including at least one of a selection process of the selection unit 122, a cross operation process of the cross operation unit 124, and a mutation operation process of the mutation operation unit 126. Applicable to parent generation product placement sets.

유전자 알고리즘 연산 모듈(120)로 입력된 부모세대 상품배치세트들에는 유전자 알고리즘이 적용되며, 그 결과 자식세대 상품배치세트들이 생성될 수 있다. 생성된 자식세대 상품배치세트들은 국소 탐색 모듈(130)에 의한 국소 탐색 과정을 거친 뒤에 다시 유전자 알고리즘 연산 모듈(120)로 부모세대 상품배치세트들로서 입력될 수 있다. The genetic algorithm is applied to the product batch sets of the parent generation inputted to the genetic algorithm operation module 120, and as a result, product batch sets of the child generation may be generated. The generated child generation product placement sets may be input as parent generation product placement sets back to the genetic algorithm operation module 120 after undergoing a local search process by the local search module 130.

유전자 알고리즘 연산 모듈(120)에서의 유전자 알고리즘 적용 횟수에 따라 자식세대 상품배치세트들의 세대수가 증가할 수 있다. The number of generations of child generation product placement sets may increase according to the number of times the genetic algorithm is applied by the genetic algorithm calculation module 120.

예컨대, 최초의 부모세대 상품배치세트들의 세대수가 1세대라고 하였을 때, 이의 자식세대 상품배치세트들의 세대수는 2세대가 되며, 2세대의 상품배치세트들에 유전자 알고리즘이 다시 적용된 경우 세대수는 3세대가 될 수 있다.For example, if the number of generations of the first parent-generation product placement sets is 1 generation, the number of generations of its child generation product placement sets becomes 2 generations, and when the genetic algorithm is applied again to the product placement sets of the 2nd generation, the number of generations is 3 generations. Can be.

실시 예에 따라, 유전자 알고리즘 연산 모듈(120)은 사용자에 의해 미리 설정된 목표 세대수의 자식세대 상품배치세트들이 생성될 때까지 유전자 알고리즘의 적용을 반복 수행할 수 있다.According to an embodiment, the genetic algorithm operation module 120 may repeatedly apply the genetic algorithm until a product placement set of child generations having a target number of generations preset by the user is generated.

국소 탐색 모듈(130)은 입력된 초기 상품배치세트 또는 자식세대 상품배치세트에 포함된 상품들 중에서 인접한 상품 간의 배치를 순차적으로 교환하는 국소 탐색(local search)을 수행할 수 있다.The local search module 130 may perform a local search for sequentially exchanging arrangements between adjacent products among products included in an input initial product arrangement set or a child generation product arrangement set.

국소 탐색의 수행 과정에 대해서는 도 3을 참조하여 후술하도록 한다.A process of performing the local search will be described later with reference to FIG. 3.

국소 탐색 모듈(130)은 국소 탐색을 수행하는 과정에서 국소 탐색의 대상이 되는 상품배치세트에 포함된 상품들의 교차 판매율, 교차 판매의 빈도값 및 교차 판매로 인한 이익값에 기초한 목적함수 값이 국소 탐색 범위 내에서 최대값을 가지는 지역 최적화 상품배치세트를 생성할 수 있다.In the process of performing the local search, the local search module 130 determines the value of the objective function based on the cross-selling rate, the frequency of cross-selling, and the profit value due to the cross-selling of products included in the product placement set that is the target of the local search. It is possible to create a regional optimized product placement set having a maximum value within the search range.

실시 예에 따라, 국소 탐색 모듈(130)은 국소 탐색의 대상이 되는 상품배치세트에 포함된 상품들의 위치를 2개씩 교환하면서 목적함수 값이 증가하는지 여부를 판단할 수 있다. 판단 결과, 목적함수 값이 증가하면 교환을 확정하고 목적함수 값이 유지 또는 감소하면 원래의 상품들의 위치를 유지하는 것을 반복수행 하며, 이로써 목적함수 값이 국소 탐색 범위 내에서 최대값을 가지는 지역 최적화 상품배치세트들을 생성할 수 있다.According to an embodiment, the local search module 130 may determine whether an objective function value increases by exchanging two positions of products included in a product arrangement set to be a target of the local search. As a result of the judgment, when the value of the objective function increases, the exchange is confirmed, and when the value of the objective function is maintained or decreased, the location of the original products is repeatedly performed, thereby optimizing the region where the value of the objective function has the maximum value within the local search range. You can create product placement sets.

목적함수 계산 모듈(140)은 유전자 알고리즘 연산 모듈(120) 또는 국소 탐색 모듈(130)의 연산 과정에서 목적함수 값의 계산이 필요한 경우에 해당 상품배치세트에 대한 목적함수 값을 계산하여 제공할 수 있다.The objective function calculation module 140 may calculate and provide an objective function value for the product batch set when it is necessary to calculate the objective function value during the calculation of the genetic algorithm calculation module 120 or the local search module 130. have.

실시 예에 따라, 목적함수(f)의 값은 아래의 [수학식 1]에 따라 결정될 수 있다.Depending on the embodiment, the value of the objective function f may be determined according to the following [Equation 1].

[수학식 1][Equation 1]

f=

Figure 112018058161318-pat00001
f=
Figure 112018058161318-pat00001

Subject to

Figure 112018058161318-pat00002
i = 1, ..., nSubject to
Figure 112018058161318-pat00002
i = 1, ..., n

Figure 112018058161318-pat00003
k= 1, ..., n,
Figure 112018058161318-pat00003
k= 1, ..., n,

Figure 112018058161318-pat00004
Figure 112018058161318-pat00004

상기의 [수학식 1]에서, i와 j는 서로 다른 상품을 의미하며, k와 l은 서로 다른 위치를 의미하며, weight_profit(Ii,Ij)은 i상품과 j상품의 교차 판매로 인한 이익값에 기초한 가중치, weight_frequency(Ii,Ij)는 i상품과 j상품의 교차 판매의 빈도에 기초한 가중치, lift(Ii→Ij)는 i상품과 j상품의 교차판매율을 의미할 수 있다. In the above [Equation 1], i and j denote different products, k and l denote different locations, and weight_profit(Ii,Ij) is the profit value from cross-selling of i and j products The weight based on, weight_frequency(Ii,Ij) may be a weight based on the frequency of cross-selling of i-products and j-products, and lift(Ii→Ij) may mean the cross-selling rate of i-products and j-products.

xik는 i상품이 k번째 위치에 위치해 있으면 1의 값을 가지며, i상품이 k번째 위치에 존재하지 않으면 0의 값을 가지는 변수를 의미할 수 있다.xik may mean a variable having a value of 1 when product i is located at the k-th position, and having a value of 0 when product i is not located at the k-th position.

xjl은 j상품이 l번째 위치에 위치해 있으면 1의 값을 가지며, j상품이 l번째 위치에 존재하지 않으면 0의 값을 가지는 변수를 의미할 수 있다.xjl may mean a variable having a value of 1 if the j product is located in the l-th position, and may mean a variable having a value of 0 if the j product is not in the l-th position.

y는 두 위치가 인접해 있는지 여부를 나타내는 변수로, ykl은 k번째 위치와 l번째 위치가 인접해 있으면 1의 값을 가지며, 인접해 있지 않으면 0의 값을 가질 수 있다. 두 위치가 가로방향으로 인접해 있는 경우와 세로방향으로 인접해 있는 경우는 모두 인접한 것으로 판단될 수 있다.y is a variable indicating whether two positions are adjacent, and ykl has a value of 1 if the k-th position and the l-th position are adjacent, and may have a value of 0 if they are not. A case in which the two positions are adjacent in the horizontal direction and a case in which the two positions are adjacent in the vertical direction may be determined as adjacent.

lift(Ii→Ij)는 하기의 [수학식 2]에 따라 결정될 수 있다.lift(Ii→Ij) can be determined according to the following [Equation 2].

[수학식 2][Equation 2]

Figure 112018058161318-pat00005
Figure 112018058161318-pat00005

즉, 목적함수(f)의 값은 인접하게 배치된 상품들의 교차 판매율, 교차 판매의 빈도값, 및 교차 판매로 인한 이익값에 기초하여 결정될 수 있다.That is, the value of the objective function f may be determined based on a cross-selling rate of products arranged adjacently, a frequency value of cross-selling, and a profit value due to cross-selling.

실시 예에 따라, weight_profit(Ii,Ij)는 i상품과 j상품의 교차 판매로 인한 이익값 자체일 수 있다.According to an embodiment, weight_profit(Ii,Ij) may be a profit value itself due to cross-selling of product i and product j.

다른 실시 예에 따라, weight_profit(Ii,Ij)는 미리 정해진 가중치 구간에서 i상품과 j상품의 교차 판매로 인한 이익값에 기초하여 결정될 수 있다.According to another embodiment, weight_profit(Ii,Ij) may be determined based on a profit value resulting from cross-selling of product i and product j in a predetermined weight interval.

실시 예에 따라, weight_frequency(Ii,Ij)는 일정 기간 내에 i상품과 j상품의 교차 판매가 이루어지는 횟수 또는 i상품과 j상품의 교차 판매가 이루어지는 주기의 역수 자체일 수 있다.Depending on the embodiment, the weight_frequency(Ii,Ij) may be the number of times that product i and product j are cross-selled within a certain period of time or a reciprocal of a cycle in which product i and product j are cross-selled.

다른 실시 예에 따라, weight_frequency(Ii,Ij)는 미리 정해진 가중치 구간에서 일정 기간 내에 i상품과 j상품의 교차 판매가 이루어지는 횟수 또는 i상품과 j상품의 교차 판매가 이루어지는 주기의 역수에 기초하여 결정될 수 있다.According to another embodiment, the weight_frequency(Ii,Ij) may be determined based on the number of cross-selling of products i and j within a certain period in a predetermined weight interval or the reciprocal of a period in which cross-selling of products i and j is performed. .

메모리(150)는 컴퓨팅 시스템(100)의 초기 상품배치세트 생성 모듈(110), 유전자 알고리즘 연산 모듈(120), 국소 탐색 모듈(130), 및 목적함수 계산 모듈(140)의 연산에 필요한 데이터 또는 연산 결과에 따른 데이터를 저장할 수 있다.The memory 150 includes data required for calculation of the initial product placement set generation module 110, the genetic algorithm calculation module 120, the local search module 130, and the objective function calculation module 140 of the computing system 100, or Data according to the calculation result can be saved.

실시 예에 따라, 메모리(150)는 본 발명의 실시 예에 따른 상품 배치 방법을 수행하기 위한 프로그램을 저장할 수 있다.According to an embodiment, the memory 150 may store a program for performing a product arrangement method according to an embodiment of the present invention.

도 2는 본 발명의 일 실시 예에 따른 상품 배치 방법의 플로우차트이다. 도 3은 본 발명의 일 실시 예에 따른 초기 상품배치세트를 나타낸 도면이다. 도 4는 도 3의 초기 상품배치세트를 토대로 국소 탐색을 수행함으로써 생성된 부모세대 상품배치세트의 일 예시를 나타낸 도면이다. 도 5와 도 6은 도 4의 부모세대 상품배치세트들에 유전자 알고리즘을 적용하여 자식세대 상품배치세트들을 생성하는 과정을 나타낸 도면이다.2 is a flowchart of a product arrangement method according to an embodiment of the present invention. 3 is a diagram showing an initial product arrangement set according to an embodiment of the present invention. FIG. 4 is a diagram illustrating an example of a parent generation product placement set generated by performing a local search based on the initial product placement set of FIG. 3. 5 and 6 are diagrams illustrating a process of generating child generation product placement sets by applying a genetic algorithm to the parent generation product placement sets of FIG. 4.

도 2 내지 도 6을 참조하면, 컴퓨팅 시스템(100)의 초기 상품배치세트 생성 모듈(110)은 배치하고자 하는 상품들의 임의의 상품 배치 정보를 포함하는 복수의 초기 상품배치세트들을 생성할 수 있다(S10).2 to 6, the initial product arrangement set generation module 110 of the computing system 100 may generate a plurality of initial product arrangement sets including arbitrary product arrangement information of products to be placed ( S10).

도 3을 참조하면, 실시 예에 따라, 초기 상품배치세트들 각각은 배치하고자 하는 상품들을 다차원 공간에 무작위로 배치하고, 배치된 상품들에 대한 정보를 포함할 수 있다.Referring to FIG. 3, according to an embodiment, each of the initial product arrangement sets may randomly arrange products to be arranged in a multidimensional space, and may include information on the arranged products.

실시 예에 따라, 초기 상품배치세트들 각각은 2차원 공간에 무작위로 배치된 상품들에 대한 정보를 매트릭스 형태로 포함할 수 있다.According to an embodiment, each of the initial product arrangement sets may include information on products randomly arranged in a two-dimensional space in a matrix form.

도 3에 도시된 매트릭스에서 숫자는 배치하고자 하는 상품을 식별하기 위한 번호를 의미하고, 숫자가 기재된 위치는 해당 상품이 배치된 위치를 의미할 수 있다.In the matrix illustrated in FIG. 3, a number may mean a number for identifying a product to be disposed, and a location in which the number is written may mean a location where a corresponding product is disposed.

도 3에 도시된 초기 상품배치세트는 25개의 상품을 배치한 경우를 예시하고 있으며, 예컨대, 1번 상품은 상품을 배치하고자 하는 정사각형 2차원 공간에서 좌측 최상단에 배치되고, 5번 상품은 상품을 배치하고자 하는 정사각형 2차원 공간에서 우측 최상단에 배치된 것을 의미할 수 있다.The initial product placement set shown in FIG. 3 illustrates a case in which 25 products are arranged. For example, product 1 is placed at the top left in a square two-dimensional space in which the product is to be placed, and product 5 is a product. It may mean that it is arranged at the top right in the square two-dimensional space to be arranged.

컴퓨팅 시스템(100)의 초기 상품배치세트 생성 모듈(110)은 도 3에 도시된 것과 같은 초기 상품배치세트들을 사용자에 의해 미리 정해진 개수만큼 생성할 수 있다.The initial product arrangement set generation module 110 of the computing system 100 may generate an initial product arrangement set as shown in FIG. 3 by a predetermined number by the user.

컴퓨팅 시스템(100)은 초기 상품배치세트들에 기초하여, 부모세대 상품배치세트들을 생성할 수 있다(S20).The computing system 100 may generate parent-generation product placement sets based on the initial product placement sets (S20).

실시 예에 따라, 초기 상품배치세트 생성 모듈(110)은 복수의 초기 상품배치세트들을 국소 탐색 모듈(130)로 전달하고, 국소 탐색 모듈(130)은 유전자 알고리즘 연산 모듈(120)로 입력될 복수의 부모세대 상품배치세트들을 생성할 수 있다. 이 경우, 국소 탐색 모듈(130)은 복수의 초기 상품배치세트들 각각에 대하여 국소 탐색을 수행함으로써, 복수의 초기 상품 배치세트들 각각에 포함된 상품들의 목적함수 값이 국소 탐색 범위 내에서 최대값을 가지는 복수의 부모세대 상품배치세트들을 생성할 수 있다.According to an embodiment, the initial product placement set generation module 110 transfers a plurality of initial product placement sets to the local search module 130, and the local search module 130 is a plurality of items to be input to the genetic algorithm calculation module 120. You can create product placement sets of parent generation. In this case, the local search module 130 performs a local search for each of the plurality of initial product arrangement sets, so that the objective function values of the products included in each of the plurality of initial product arrangement sets are the maximum values within the local search range. It is possible to create a plurality of parent-generation product placement sets having a.

실시 예에 따라, S20 단계는 생략될 수 있으며 이 경우 복수의 초기 상품 배치세트들이 부모세대 상품배치세트로서 유전자 알고리즘 연산 모듈(120)로 입력될 수 있다.Depending on the embodiment, step S20 may be omitted, and in this case, a plurality of initial product batch sets may be input to the genetic algorithm calculation module 120 as parent generation product batch sets.

도 4를 참조하면, 도 3에 도시된 초기 상품배치세트에 대하여 국소 탐색을 수행함으로써 생성된 부모세대 상품배치세트의 예시가 나타나 있다.Referring to FIG. 4, there is shown an example of a parent generation product placement set generated by performing a local search on the initial product placement set shown in FIG. 3.

실시 예에 따라, 국소 탐색 모듈(130)은 도 3에 도시된 초기 상품 배치세트에서 상품 간의 위치를 바꾼 뒤 초기 상품 배치세트의 목적함수 값이 증가하는지 여부를 판단할 수 있다. 판단 결과 목적함수 값이 증가하는 경우 해당 상품 간의 위치를 바꾼 것을 확정하고, 목적함수 값이 유지되거나 감소하는 경우 해당 상품들의 위치를 원위치 시킬 수 있다.According to an embodiment, the local search module 130 may determine whether the objective function value of the initial product arrangement set increases after changing positions between products in the initial product arrangement set illustrated in FIG. 3. As a result of the determination, if the value of the objective function increases, it is determined that the positions between the products are changed, and if the value of the objective function is maintained or decreases, the positions of the products can be relocated.

예컨대, 첫번째 위치의 1번 상품과 두번째 위치의 18번 상품의 위치를 바꾼 뒤 목적함수 값이 증가한다면 바꾼 위치를 확정하여 첫번째 위치에 18번 상품을 배치하고 두번째 위치에 1번 상품을 배치할 수 있다. 다음으로 두번째 위치의 18번 상품과 세번째 위치의 6번 상품의 위치를 바꾼뒤 목적함수 값이 증가하는지 여부에 따라 위치를 바꿀 수 있으며, 같은 방식으로 24번째 위치의 상품과 25번째 위치의 상품의 위치를 교환할 때까지 국소 탐색을 반복 수행할 수 있다.For example, if the objective function value increases after changing the positions of product 1 in the first position and product 18 in the second position, the changed position can be determined, placing product 18 in the first position, and placing product 1 in the second position. have. Next, after changing the positions of the product No. 18 in the second position and the product No. 6 in the third position, you can change the position depending on whether the value of the objective function increases. In the same way, the product at the 24th position and the product at the 25th position can be changed. The local search can be repeated until the location is exchanged.

실시 예에 따라, 첫번째 위치의 상품과 나머지 위치의 상품에 대하여 순차적으로 국소 탐색을 수행하고, 그 뒤 두번째 위치의 상품과 나머지 위치의 상품에 대하여 순차적으로 국소 탐색을 수행하는 방식으로 국소 탐색을 수행할 수도 있으며, 국소 탐색의 방식과 순서는 다양하게 변형될 수 있다.Depending on the embodiment, a local search is performed sequentially for a product in the first location and a product in the remaining location, and then, a product in the second location and a product in the remaining location sequentially. Also, the method and order of the local search can be variously modified.

도 3의 초기 상품배치세트의 국소 탐색 결과, 도 4의 부모세대 상품배치세트가 생성될 수 있다.As a result of the local search of the initial product arrangement set of FIG. 3, the parent generation product arrangement set of FIG. 4 may be generated.

실시 예에 따라, 컴퓨팅 시스템(100)의 초기 상품배치세트 생성 모듈(110)에 의해 생성된 복수의 초기 상품배치세트들 각각에 대해서 국소 탐색을 수행함으로써 부모세대 상품배치세트들 각각을 생성할 수 있다.According to an embodiment, each of the parent generation product placement sets may be generated by performing a local search for each of a plurality of initial product placement sets generated by the initial product placement set generation module 110 of the computing system 100. have.

컴퓨팅 시스템(100)의 유전자 알고리즘 연산 모듈(120)은 부모세대 상품배치세트들에 유전자 알고리즘을 적용하여, 자식세대 상품배치세트들을 생성할 수 있다(S30).The genetic algorithm operation module 120 of the computing system 100 may apply a genetic algorithm to the product placement sets of the parent generation to generate the product placement sets of the child generation (S30).

실시 예에 따라, 유전자 알고리즘 연산 모듈(120)은 선택부(122)에 의한 선택 과정, 교차 연산부(124)에 의한 교차 연산 과정, 변이 연산부(126)에 의한 변이 연산 과정 중 적어도 어느 하나를 포함하는 유전자 알고리즘을 부모세대 상품배치세트들에 적용할 수 있다.According to an embodiment, the genetic algorithm operation module 120 includes at least one of a selection process by the selection unit 122, a cross operation process by the cross operation unit 124, and a mutation operation process by the mutation operation unit 126. The genetic algorithm can be applied to the product placement sets of the parent generation.

실시 예에 따라, 유전자 알고리즘에 포함된 교차 연산 과정은 도 5와 도 6에 도시된 RPMX(Rectangular Partially Matched Crossover) 연산에 의하여 수행될 수 있다.Depending on the embodiment, the cross operation process included in the genetic algorithm may be performed by the rectangular partially matched crossover (RPMX) operation shown in FIGS. 5 and 6.

도 5와 도 6을 참조하면, 두 개의 부모세대 상품배치세트들(PR1, PR2)에 유전자 알고리즘이 적용되어 두 개의 자식세대 상품배치세트들(OR1, OR2)이 생성되는 경우를 예시하고 있다.5 and 6, it is exemplified a case in which a genetic algorithm is applied to two parent generation product placement sets PR1 and PR2 to generate two child generation product placement sets OR1 and OR2.

두 개의 부모세대 상품배치세트들(PR1, PR2) 각각에는 RPMX 연산을 수행하기 위해 설정된 교차 영역(RG1, RG2)이 존재한다. 교차 영역(RG1, RG2)은 RPMX 연산이 수행됨에 따라 서로 교환되는 영역을 의미할 수 있다. In each of the two parent-generation product placement sets PR1 and PR2, there are cross-sections RG1 and RG2 that are set to perform RPMX operation. The crossing regions RG1 and RG2 may mean regions that are exchanged with each other as the RPMX operation is performed.

도 5를 참조하면, 제1부모세대 상품배치세트(PR1)의 교차 영역(RG1) 전체는 제2부모세대 상품배치세트(PR2)의 교차 영역(RG2) 전체와 서로 교환될 수 있다.Referring to FIG. 5, the entire cross-region RG1 of the first parent-generation product arrangement set PR1 may be exchanged with the entire cross-region RG2 of the second parent-generation product arrangement set PR2.

교차 영역(RG1, RG2)이 서로 교환된 이후의 제1부모세대 상품배치세트(PR1')와 제2부모세대 상품배치세트(PR2')를 살펴보면, 교차 영역(RG1, RG2)의 교환으로 인하여 상품이 중복하여 배치되는 경우가 발생한다, 예컨대, 교차 영역(RG1, RG2)이 서로 교환된 제1부모세대 상품배치세트(PR1')의 경우에 23번, 3번, 14번, 및 25번 상품이 교환된 교차 영역(RG2) 내의 상품과 중복된다. 또한, 교차 영역(RG1, RG2)이 서로 교환된 제2부모세대 상품배치세트(PR2')의 경우에 4번, 7번, 12번, 및 9번 상품이 교환된 교차 영역(RG1) 내의 상품과 중복된다.Looking at the first parent-generation product placement set (PR1') and the second parent-generation product placement set (PR2') after the cross-regions (RG1, RG2) are exchanged with each other, due to the exchange of the cross-regions (RG1, RG2) There are cases where products are arranged overlapping, for example, 23, 3, 14, and 25 in the case of the first parent-generation product placement set PR1' in which the cross-regions RG1 and RG2 are exchanged with each other. The product overlaps with the product in the exchange area RG2 in which the product was exchanged. In addition, in the case of the second parent-generation product placement set (PR2') in which the crossing areas (RG1, RG2) are exchanged with each other, the products in the crossing area (RG1) in which the 4, 7, 12, and 9 products are exchanged. Overlaps with

본 발명의 일 실시 예에 따른 상품 배치 방법에서 상품배치세트 내에서 동일 상품은 하나의 위치에 배치되는 경우를 가정하고 있기 때문에, 중복되는 상품은 다른 상품으로 치환하는 과정을 거칠 수 있다.In the product arrangement method according to an embodiment of the present invention, since it is assumed that the same product is arranged at one location in the product arrangement set, the overlapping product may be replaced with another product.

도 6을 참조하면, 부모세대 상품배치세트들(PR1, PR2)의 교차 영역(RG1, RG2)을 제외한 나머지 영역의 상품들 중에서 교차 영역(RG1, RG2)의 교환 후에도 중복되지 않는 상품들은 위치를 유지할 수 있다. 예컨대, 15번, 2번, 20번, 22번, 24번, 21번, 19번, 11번, 13번, 16번, 6번, 및 17번 상품은 제1교차 영역(RG1)이 제2교차 영역(RG2)과 교환된 후에 14번, 10번, 18번, 3번, 8번, 1번, 23번, 5번, 및 25번 상품과 중복되지 않으므로 위치가 유지될 수 있다.Referring to FIG. 6, among products in the remaining areas except for the intersection areas RG1 and RG2 of the parent-generation product placement sets PR1 and PR2, the products that do not overlap even after the exchange of the cross areas RG1 and RG2 are located. I can keep it. For example, for products #15, #2, #20, #22, #24, #21, #19, #11, #13, #16, #6, and #17, the first intersection area (RG1) is the second After being exchanged with the cross-region RG2, the position can be maintained since it does not overlap with the products 14, 10, 18, 3, 8, 1, 23, 5, and 25.

부모세대 상품배치세트들(PR1, PR2)의 교차 영역(RG1, RG2)을 제외한 나머지 부분의 상품들 중에서 교차 영역(RG1, RG2)의 교환 후에 교환된 교차 영역 내의 상품과 중복되는 상품들의 위치는 다른 상품으로 치환될 수 있다.Among the products in the rest of the products except for the intersection areas (RG1, RG2) of the parent-generation product placement sets (PR1, PR2), the locations of products that overlap with the products in the exchange area after the exchange of the intersection areas (RG1, RG2) are It can be replaced with another product.

도 6을 참조하면, 교차 영역(RG1, RG2)의 교환에 따라 중복되는 14번 상품의 경우, ①단계로 중복되는 상품(예컨대, 또 다른 14번 상품)의 위치를 찾고 ②단계로 타 부모세대 상품배치세트(PR2')에서 중복되는 상품의 위치와 상응하는 위치(예컨대, 3행 2열)의 상품을 검색한 뒤 ③단계로 검색된 상품(예컨대, 4번 상품)으로 최초 중복되는 상품(예컨대, 14번 상품)을 치환할 수 있다.Referring to FIG. 6, in the case of product No. 14 overlapping according to the exchange of the cross-area (RG1, RG2), find the location of the product that is duplicated in step ① (for example, another product No. 14) and step ② to another parent household. After searching for the product in the location corresponding to the location of the duplicated product in the product placement set (PR2') (e.g., row 3, column 2), the product that was first duplicated as the product searched in step ③ (e.g., product 4) , Product 14) can be substituted.

이 경우, 치환된 상품이 또다시 교환된 교차 영역 내의 상품과 중복되는 경우, 상기 ①단계 내지 상기 ③단계의 치환 과정을 반복 수행할 수 있다.In this case, when the replaced product overlaps with the product in the exchanged area again, the replacement process of steps ① to ③ may be repeatedly performed.

이와 같은 과정을 통하여, 교차 영역(RG1, RG2)과 교차 영역(RG1, RG2)을 제외한 나머지 영역의 상품의 위치 치환 과정이 완료되고 나면, 2개의 자식세대 상품배치세트들(OR1, OR2)가 생성될 수 있다.Through this process, after the product location replacement process in the remaining areas except for the intersection areas RG1 and RG2 and the intersection areas RG1 and RG2 is completed, the two child generation product placement sets OR1 and OR2 Can be created.

상기에서는 RPMX 연산에서 교차 영역(RG1, RG2) 전부가 서로 교환되는 경우를 예시하고 있으나, 교차 영역(RG1, RG2)의 교차 비율은 실시 예에 따라 달라질 수 있다.The above illustrates a case in which all of the crossing regions RG1 and RG2 are exchanged with each other in the RPMX operation, but the cross ratio of the crossing regions RG1 and RG2 may vary according to embodiments.

실시 예에 따라, 교차 영역(RG1, RG2)의 교차 비율은 해당 교차 영역(RG1, RG2)이 포함된 상품배치세트의 목적함수 값에 기초하여 결정될 수 있다. According to an embodiment, the intersection ratio of the intersection regions RG1 and RG2 may be determined based on the objective function value of the product arrangement set including the corresponding intersection regions RG1 and RG2.

예컨대, 제1부모세대 상품배치세트(PR1)의 목적함수 값이 '100'이고, 제2부모세대 상품배치세트(PR2)의 목적함수 값이 '50'이라면, 제1교차 영역(RG1)과 제2교차 영역(RG2)은 2:1의 교차 비율로 교환될 수 있다.For example, if the objective function value of the first parent-generation product arrangement set PR1 is '100' and the objective function value of the second parent-generation product arrangement set PR2 is '50', the first intersection area RG1 and The second intersection region RG2 may be exchanged at an intersection ratio of 2:1.

도 2로 돌아와서, 컴퓨팅 시스템(100)의 국소 탐색 모듈(130)은 생성된 자식세대 상품배치세트들 각각에 대해서 국소 탐색을 수행하여, 지역 최적화 상품배치세트들을 생성할 수 있다(S40).Returning to FIG. 2, the local search module 130 of the computing system 100 may perform a local search on each of the generated child generation product arrangement sets to generate regional optimized product arrangement sets (S40).

실시 예에 따라, 국소 탐색 모듈(130)은 생성된 자식 세대 상품배치세트들 각각에서 상품의 위치를 교환하면서 상품들의 교차 판매율, 교차 판매의 빈도값, 및 교차 판매로 인한 이익값에 기초한 목적함수 값이 국소 탐색 범위 내에서 최대값을 갖는 상품 배치를 갖는 지역 최적화 상품배치세트들을 생성할 수 있다.According to an embodiment, the local search module 130 exchanges the location of products in each of the generated child generation product placement sets, and an objective function based on the cross-selling rate of products, the frequency of cross-selling, and the profit value due to cross-selling. It is possible to create regionally optimized product placement sets having product placements whose values have a maximum value within the local search range.

컴퓨팅 시스템(100)의 유전자 알고리즘 연산 모듈(120) 또는 국소 탐색 모듈(130)은 생성된 지역 최적화 상품배치세트들의 세대수가 목표 세대수에 도달하였는지 여부를 판단할 수 있다(S50).The genetic algorithm calculation module 120 or the local search module 130 of the computing system 100 may determine whether the number of generations of the generated regional optimized product placement sets has reached the target number of generations (S50).

실시 예에 따라, 유전자 알고리즘 연산 모듈(120)에 의하여 유전자 알고리즘이 적용된 횟수에 따라 세대수가 결정될 수 있으며, 미리 설정된 목표 세대수에 도달할 때까지 유전자 알고리즘을 적용하는 S30단계와 국소 탐색을 수행하는 S40단계가 반복 수행될 수 있다.Depending on the embodiment, the number of generations may be determined according to the number of times the genetic algorithm is applied by the genetic algorithm calculation module 120, and step S30 of applying the genetic algorithm until a predetermined target number of generations is reached and step S40 of performing a local search The steps can be performed repeatedly.

S40 단계에서 생성된 지역 최적화 상품배치세트들의 세대수가 목표 세대수에 도달한 경우, 목표 세대수의 지역 최적화 상품배치세트들에 기초하여, 최적의 상품배치를 결정할 수 있다(S60).When the number of households of the regional optimized product arrangement sets generated in step S40 reaches the target number of households, the optimal product arrangement may be determined based on the regional optimized product arrangement sets of the target number of households (S60).

실시 예에 따라, S40 단계를 통하여 생성되는 지역 최적화 상품배치세트들의 개수는 복수 개일 수 있으며, S60 단계에서는 목표 세대수에 도달한 복수의 지역 최적화 상품배치세트들 각각의 목적함수 값을 계산하고 최대의 목적함수 값을 가지는 지역 최적화 상품배치세트를 최적의 상품 배치로 결정할 수 있다.Depending on the embodiment, the number of regional optimized product placement sets generated through step S40 may be plural, and in step S60, the objective function value of each of the plurality of regional optimized product placement sets reaching the target number of households is calculated and the maximum A regional optimized product arrangement set having an objective function value can be determined as an optimal product arrangement.

이상, 본 발명의 기술적 사상을 다양한 실시 예들을 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시 예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.In the above, the technical idea of the present invention has been described in detail with reference to various embodiments, but the technical idea of the present invention is not limited to the above embodiments, and those of ordinary skill in the art within the scope of the technical idea of the present invention Various modifications and changes are possible by this.

100 : 컴퓨팅 시스템
110 : 초기 상품배치세트 생성 모듈
120 : 유전자 알고리즘 연산 모듈
130 : 국소 탐색 모듈
140 : 목적함수 계산 모듈
150 : 메모리
100: computing system
110: Initial product placement set creation module
120: genetic algorithm operation module
130: local search module
140: objective function calculation module
150: memory

Claims (15)

컴퓨팅 시스템이, 각각이 배치하고자 하는 상품들의 상품 배치 정보를 포함하는 복수의 부모세대 상품배치세트들에 유전자 알고리즘(genetic algorithm)을 적용하여 자식세대 상품배치세트들을 생성하는 단계;
상기 컴퓨팅 시스템이, 상기 자식세대 상품배치세트들 각각에 포함된 상품들 중에서 인접한 상품 간의 배치를 순차적으로 교환하는 국소 탐색(local search)을 수행함으로써, 상기 상품들 중에서 인접한 상품들 간의 교차 판매율, 교차 판매의 빈도값, 및 교차 판매로 인한 이익값에 기초한 목적함수 값이 국소 탐색의 범위 내에서 최대값을 가지는 지역 최적화 상품배치세트들 각각을 생성하는 단계; 및
상기 컴퓨팅 시스템이, 생성된 지역 최적화 상품배치세트들에 기초하여, 최적의 상품 배치를 결정하는 단계를 포함하며,
상기 컴퓨팅 시스템이, 상기 지역 최적화 상품배치세트들이 목표 세대수에 도달하지 못한 경우, 상기 지역 최적화 상품배치세트들을 상기 부모세대 상품배치세트들로서 입력하는 단계를 포함하며,
상기 교차 판매율은 상기 인접한 상품들이 함께 판매될 확률이고, 상기 교차 판매의 빈도값은 상기 인접한 상품들에 대하여 일정 기간 내에 교차 판매가 이루어지는 횟수이며,
상기 국소 탐색은, 상기 자식세대 상품배치세트들 중에서 상기 국소 탐색의 대상이 되는 자식세대 상품배치세트에 포함된 상품들의 위치를 상기 자식세대 상품배치세트 내에서 교환하는, 상품 배치 방법.
Generating, by the computing system, a genetic algorithm to a plurality of parent-generation product arrangement sets including product arrangement information of products to be arranged by the computing system to generate child generation product arrangement sets;
The computing system performs a local search for sequentially exchanging arrangements between adjacent products among products included in each of the child generation product arrangement sets, thereby cross-selling rates and crossovers between adjacent products among the products. Generating each of the regionally optimized product arrangement sets in which an objective function value based on a frequency value of sales and a profit value due to cross-selling has a maximum value within a range of a local search; And
Determining, by the computing system, an optimal product arrangement based on the generated regional optimized product arrangement sets,
The computing system, when the regional optimized product arrangement sets do not reach a target number of households, inputting the regional optimized product arrangement sets as the parent generation product arrangement sets,
The cross-selling rate is a probability that the adjacent products will be sold together, and the frequency value of the cross-selling is the number of cross-selling of the adjacent products within a certain period,
The local search, in the child generation product placement set, exchanges the positions of products included in the child generation product placement set that is the target of the local discovery among the child generation product placement sets.
제1항에 있어서,
상기 상품 배치 방법은,
상기 유전자 알고리즘을 적용하여 자식세대 상품배치세트들을 생성하는 단계 이전에,
상기 컴퓨팅 시스템이, 배치하고자 하는 상품들의 임의의 상품 배치 정보를 포함하는 복수의 초기 상품배치세트들을 생성하는 단계; 및
상기 컴퓨팅 시스템이, 생성된 상기 복수의 초기 상품배치세트들 각각에 대하여 상기 국소 탐색을 수행함으로써, 상기 복수의 초기 상품배치세트들 각각에 포함된 상품들의 상기 목적함수 값이 국소 탐색의 범위 내에서 최대값을 가지는 상기 부모세대 상품배치세트들 각각을 생성하는 단계를 포함하는, 상품 배치 방법.
The method of claim 1,
The above product placement method,
Before the step of generating child generation product placement sets by applying the genetic algorithm,
Generating, by the computing system, a plurality of initial product arrangement sets including arbitrary product arrangement information of products to be placed; And
The computing system performs the local search for each of the generated initial product arrangement sets, so that the objective function values of the products included in each of the plurality of initial product arrangement sets are within the range of the local search. And generating each of the parent-generation product placement sets having a maximum value.
제2항에 있어서,
상기 유전자 알고리즘을 적용하여 자식세대 상품배치세트들을 생성하는 단계는,
상기 컴퓨팅 시스템이, 상기 복수의 부모세대 상품배치세트들을 상기 목적함수 값에 따라 배열하는 단계;
상기 컴퓨팅 시스템이, 배열된 순서에 기초하여 상기 복수의 부모세대 상품배치세트들 중에서 상기 유전자 알고리즘을 적용할 부모세대 상품배치세트들을 선택하는 단계; 및
상기 컴퓨팅 시스템이, 선택된 상기 부모세대 상품배치세트들에 상기 유전자 알고리즘을 적용하여 상기 자식세대 상품배치세트들을 생성하는 단계를 포함하는, 상품 배치 방법.
The method of claim 2,
The step of generating child generation product placement sets by applying the genetic algorithm,
Arranging, by the computing system, the plurality of parent-generation product placement sets according to the objective function value;
Selecting, by the computing system, from among the plurality of parent generation product placement sets to which the genetic algorithm is applied, based on the arranged order; And
And generating, by the computing system, the child generation product placement sets by applying the genetic algorithm to the selected parent generation product placement sets.
제3항에 있어서,
상기 유전자 알고리즘을 적용할 부모세대 상품배치세트들을 선택하는 단계는,
상기 컴퓨팅 시스템이, 배열된 순서에 기초하여 적어도 3개 이상의 부모세대 상품배치세트들을 임의로 선택하여 후보군들 각각에 포함시키는 단계;
상기 컴퓨팅 시스템이, 상기 후보군 별로 상기 목적함수 값이 큰 상위 2개의 부모세대 상품배치세트들을 상기 유전자 알고리즘을 적용할 부모세대 상품배치세트들로 선택하는 단계를 포함하는, 상품 배치 방법.
The method of claim 3,
The step of selecting the product placement sets of the parent generation to which the genetic algorithm is applied,
Randomly selecting at least three or more parent-generation product placement sets based on the arranged order and including them in each of the candidate groups;
And selecting, by the computing system, top two parent generation product placement sets for each of the candidate groups, with the higher objective function value as parent generation product placement sets to which the genetic algorithm is to be applied.
제4항에 있어서,
상기 유전자 알고리즘을 적용하여 자식세대 상품배치세트들을 생성하는 단계는,
상기 컴퓨팅 시스템이, 상기 복수의 부모세대 상품배치세트들 중에서 상기 목적함수 값이 가장 큰 상위 2N(상기 N은 자연수)개의 부모세대 상품배치세트들은 상기 유전자 알고리즘의 적용 없이 상기 자식세대 상품배치세트들로 선택하는 단계를 포함하는, 상품 배치 방법.
The method of claim 4,
The step of generating child generation product placement sets by applying the genetic algorithm,
In the computing system, among the plurality of parent-generation product placement sets, the top 2N (the N is a natural number) parent-generation product placement sets having the largest objective function values are the child-generation product placement sets without the application of the genetic algorithm. Including the step of selecting, the product placement method.
제5항에 있어서,
상기 상품 배치 방법은,
상기 컴퓨팅 시스템이, 상기 자식세대 상품배치세트들의 개수가 상기 복수의 초기 상품배치세트들의 개수와 동일해질 때까지 상기 자식세대 상품배치세트들을 생성하는 단계를 반복 수행하는, 상품 배치 방법.
The method of claim 5,
The above product placement method,
The computing system repeats the step of generating the child generation product placement sets until the number of the child generation product placement sets becomes the same as the number of the plurality of initial product placement sets.
제6항에 있어서,
상기 최적의 상품 배치를 결정하는 단계는,
상기 지역 최적화 상품배치세트들 중에서 상기 목적함수의 값이 가장 큰 지역 최적화 상품배치세트를 기초로 상기 최적의 상품 배치를 결정하는, 상품 배치 방법.
The method of claim 6,
The step of determining the optimal product arrangement,
And determining the optimal product arrangement based on a region optimized product arrangement set having the largest value of the objective function among the region optimized product arrangement sets.
제7항에 있어서,
상기 부모세대 상품배치세트들 각각은,
배치하고자 하는 상품들의 다차원 상품 배치 정보를 매트릭스 형태로 포함하는, 상품 배치 방법.
The method of claim 7,
Each of the parent generation product placement sets,
A product arrangement method including multidimensional product arrangement information of products to be arranged in a matrix form.
제8항에 있어서,
상기 유전자 알고리즘을 적용하여 상기 자식세대 상품배치세트들을 생성하는 단계는,
선택된 상기 복수의 부모세대 상품배치세트들에 대하여 다차원 교차 연산을 수행하는 단계를 포함하는, 상품 배치 방법.
The method of claim 8,
Generating the child generation product placement sets by applying the genetic algorithm,
And performing a multidimensional cross operation on the selected plurality of parent-generation product placement sets.
제9항에 있어서,
상기 다차원 교차 연산은,
RPMX(Rectangular Partially Matched Crossover) 연산인, 상품 배치 방법.
The method of claim 9,
The multidimensional crossover operation,
RPMX (Rectangular Partially Matched Crossover) operation, a product placement method.
제10항에 있어서,
상기 RPMX 연산은,
사각형의 교차 영역을 기준으로 교차 연산을 수행하는, 상품 배치 방법.
The method of claim 10,
The RPMX calculation,
A product placement method that performs an intersection operation based on the intersection area of a rectangle.
제11항에 있어서,
상기 RPMX 연산에서의 교차비율은 상기 RPMX 연산에 사용되는 부모세대 상품배치세트들 각각의 상기 목적함수 값의 크기에 따라 결정되는, 상품 배치 방법.
The method of claim 11,
The crossing ratio in the RPMX calculation is determined according to the size of the objective function value of each of the parent generation product placement sets used in the RPMX calculation.
제12항에 있어서,
상기 유전자 알고리즘을 적용하여 상기 자식세대 상품배치세트들을 생성하는 단계는,
상기 다차원 교차 연산이 수행된 이후에, 상기 다차원 교차 연산이 수행된 부모세대 상품배치세트들에 대하여 스크램블 변이(scramble mutation)를 수행하는 단계를 더 포함하는, 상품 배치 방법.
The method of claim 12,
Generating the child generation product placement sets by applying the genetic algorithm,
After the multi-dimensional cross operation is performed, the step of performing a scramble mutation (scramble mutation) on the parent-generation product batch sets in which the multi-dimensional cross operation has been performed.
각각이 배치하고자 하는 상품들의 상품 배치 정보를 포함하는 복수의 부모세대 상품배치세트들에 유전자 알고리즘(genetic algorithm)을 적용하여 자식세대 상품배치세트들을 생성하는 유전자 알고리즘 연산 모듈;
상기 자식세대 상품배치세트들 각각에 포함된 상품들 중에서 인접한 상품 간의 배치를 순차적으로 교환하는 국소 탐색(local search)을 수행함으로써, 상기 상품들 중에서 인접한 상품들 간의 교차 판매율, 교차 판매의 빈도값, 및 교차 판매로 인한 이익값에 기초한 목적함수 값이 국소 탐색의 범위 내에서 최대값을 가지는 지역 최적화 상품배치세트들 각각을 생성하는 국소 탐색 모듈; 및
상기 지역 최적화 상품배치세트들이 목표 세대수에 도달하지 못한 경우, 상기 지역 최적화 상품배치세트들을 상기 유전자 알고리즘 연산 모듈에 상기 부모세대 상품배치세트들로서 입력하며,
생성된 지역 최적화 상품배치세트들에 기초하여, 최적의 상품 배치를 결정하는 상품 배치 모듈을 포함하며,
상기 교차 판매율은 상기 인접한 상품들이 함께 판매될 확률이고, 상기 교차 판매의 빈도값은 상기 인접한 상품들에 대하여 일정 기간 내에 교차 판매가 이루어지는 횟수이며,
상기 국소 탐색은, 상기 자식세대 상품배치세트들 중에서 상기 국소 탐색의 대상이 되는 자식세대 상품배치세트에 포함된 상품들의 위치를 상기 자식세대 상품배치세트 내에서 교환하는, 컴퓨팅 시스템.
A genetic algorithm calculation module for generating child generation product placement sets by applying a genetic algorithm to a plurality of parent generation product placement sets each including product placement information of products to be placed;
By performing a local search for sequentially exchanging arrangements between adjacent products among products included in each of the child generation product arrangement sets, the cross-selling rate between adjacent products among the products, the frequency value of cross-selling, And a local search module for generating each of the local optimized product arrangement sets in which an objective function value based on a profit value due to cross-selling has a maximum value within a range of the local search. And
When the local optimized product placement sets do not reach the target number of households, inputting the local optimized product placement sets to the genetic algorithm calculation module as the parent household product placement sets,
Based on the generated regional optimized product placement sets, comprising a product placement module for determining an optimal product placement,
The cross-selling rate is a probability that the adjacent products will be sold together, and the frequency value of the cross-selling is the number of cross-selling of the adjacent products within a certain period,
The local search, in the child generation product arrangement set, exchanges the positions of products included in the child generation product arrangement set that is the target of the local search among the child generation product arrangement sets.
프로세서(processor)와 결합되어 상품 배치 방법을 수행하기 위한 매체에 저장된 프로그램으로서,
각각이 배치하고자 하는 상품들의 상품 배치 정보를 포함하는 복수의 부모세대 상품배치세트들에 유전자 알고리즘(genetic algorithm)을 적용하여 자식세대 상품배치세트들을 생성하는 단계;
상기 자식세대 상품배치세트들 각각에 포함된 상품들 중에서 인접한 상품 간의 배치를 순차적으로 교환하는 국소 탐색(local search)을 수행함으로써, 상기 상품들 중에서 인접한 상품들 간의 교차 판매율, 교차 판매의 빈도값, 및 교차 판매로 인한 이익값에 기초한 목적함수 값이 국소 탐색의 범위 내에서 최대값을 가지는 지역 최적화 상품배치세트들 각각을 생성하는 단계;
상기 지역 최적화 상품배치세트들이 목표 세대수에 도달하지 못한 경우, 상기 지역 최적화 상품배치세트들을 상기 부모세대 상품배치세트들로서 입력하는 단계; 및
생성된 지역 최적화 상품배치세트들에 기초하여, 최적의 상품 배치를 결정하는 단계를 수행하는 프로그램 코드를 포함하며,
상기 교차 판매율은 상기 인접한 상품들이 함께 판매될 확률이고, 상기 교차 판매의 빈도값은 상기 인접한 상품들에 대하여 일정 기간 내에 교차 판매가 이루어지는 횟수이며,
상기 국소 탐색은, 상기 자식세대 상품배치세트들 중에서 상기 국소 탐색의 대상이 되는 자식세대 상품배치세트에 포함된 상품들의 위치를 상기 자식세대 상품배치세트 내에서 교환하는, 프로그램.
As a program stored in a medium for performing a product placement method combined with a processor,
Generating child generation product placement sets by applying a genetic algorithm to a plurality of parent generation product placement sets each including product placement information of products to be placed;
By performing a local search for sequentially exchanging arrangements between adjacent products among products included in each of the child generation product arrangement sets, the cross-selling rate between adjacent products among the products, the frequency value of cross-selling, And generating each of the regional optimized product arrangement sets in which an objective function value based on a profit value due to cross-selling has a maximum value within a range of the local search.
When the regional optimized product arrangement sets do not reach a target number of households, inputting the regional optimized product arrangement sets as the parent generation product arrangement sets; And
Based on the generated regional optimized product arrangement sets, comprising a program code for performing the step of determining an optimal product arrangement,
The cross-selling rate is a probability that the adjacent products will be sold together, and the frequency value of the cross-selling is the number of cross-selling of the adjacent products within a certain period,
The local search, a program for exchanging the positions of products included in the product arrangement set of the child generation that is the target of the local search among the product arrangement sets of the child generation within the product arrangement set of the child generation.
KR1020180068150A 2018-06-14 2018-06-14 Method for arranging goods, computing system and program using the same KR102249151B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180068150A KR102249151B1 (en) 2018-06-14 2018-06-14 Method for arranging goods, computing system and program using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180068150A KR102249151B1 (en) 2018-06-14 2018-06-14 Method for arranging goods, computing system and program using the same

Publications (3)

Publication Number Publication Date
KR20190141420A KR20190141420A (en) 2019-12-24
KR102249151B1 true KR102249151B1 (en) 2021-05-07
KR102249151B9 KR102249151B9 (en) 2023-02-27

Family

ID=69022200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180068150A KR102249151B1 (en) 2018-06-14 2018-06-14 Method for arranging goods, computing system and program using the same

Country Status (1)

Country Link
KR (1) KR102249151B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11948162B2 (en) * 2021-12-30 2024-04-02 Content Square SAS Presenting cross-sell products for a given product

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173692B1 (en) 2020-02-17 2020-11-03 쿠팡 주식회사 Appratus for conveying product and operating method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152504A (en) * 2008-12-24 2010-07-08 Osaka Prefecture Univ Commodity shelf arrangement device
WO2016199405A1 (en) * 2015-06-09 2016-12-15 日本電気株式会社 Shelf allocation assistance device, shelf allocation assistance system, shelf allocation assistance method, and recording medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152504A (en) * 2008-12-24 2010-07-08 Osaka Prefecture Univ Commodity shelf arrangement device
WO2016199405A1 (en) * 2015-06-09 2016-12-15 日本電気株式会社 Shelf allocation assistance device, shelf allocation assistance system, shelf allocation assistance method, and recording medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Garcia-Martinez 외 1인, Local Search Based on Genetic Algorithms(2007.6.)*
웹 블로그. 유전자 알고리즘 N-queen 문제 프로그래밍(2013.09.27.)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11948162B2 (en) * 2021-12-30 2024-04-02 Content Square SAS Presenting cross-sell products for a given product

Also Published As

Publication number Publication date
KR102249151B9 (en) 2023-02-27
KR20190141420A (en) 2019-12-24

Similar Documents

Publication Publication Date Title
JP7205565B2 (en) Planogram support device, planogram support system, planogram support method, and recording medium
US9021501B2 (en) Combinatorial computing
Suliman A two-phase heuristic approach to the permutation flow-shop scheduling problem
KR102249151B1 (en) Method for arranging goods, computing system and program using the same
US11367113B2 (en) Selecting diverse product titles to display on a website
Saeed Jabal Ameli et al. Cell formation with alternative process routings and machine reliability consideration
CN106547767A (en) Determine the method and device of video front cover picture
Ji et al. A genetic algorithm of determining cycle time for printed circuit board assembly lines
Taleizadeh et al. Multi-product multi-chance-constraint stochastic inventory control problem with dynamic demand and partial back-ordering: A harmony search algorithm
Gale Linear programming and the simplex method
CN108090659A (en) Source of houses distribution method and device
Amaya et al. Solving the tool switching problem with memetic algorithms
JP2014055037A (en) Loading operation method, system and computer program
Park et al. Integration of production and distribution planning using a genetic algorithm in supply chain management
Dash et al. Next-generation retailing in India: An empirical study using factor analysis
CN105593876B (en) Validation in serialized streams
Demirci et al. Cartesian partitioning models for 2d and 3d parallel spgemm algorithms
WO2017218283A1 (en) Retail space management
CN104246778A (en) Information processing device, program, and method for identifying result of joining plurality of elements
US20150193847A1 (en) Merchandise sales processing system
Nguyen et al. Strategic capacity portfolio planning under demand uncertainty and technological change
CN101571812B (en) Visualization method and device for dynamic transition of objects
Gupta et al. Part family formation for reconfigurable manufacturing system using K-means algorithm
CN108920624A (en) Recommended method based on evolution multi-objective Algorithm extraction system key user
Ashlock et al. Evolving diverse cellular automata based level maps

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
G170 Re-publication after modification of scope of protection [patent]